Programming
BC8050 und BC8150
51
Version: 3.0.0
Due to the fact that another variable type (INT) follows the first byte, in the BX/BCxx50 it was assigned the
next free even address. In order to achieve the same data structure on both systems, a dummy byte has to
be inserted in the PC project (see example 2).
Example 2: A structure on the BX/BCxx50 and on the PC with the same memory allocation
Variable
BX/BCxx50 memory
PC memory (TwinCAT)
Byte
%..B0
%..B0
Byte
(dummy)
%..B1 (not necessarily required, since the system
deals with this itself if the variable does not exist)
%..B1
INT (1)
%..B2
%..B2
INT (2)
%..B4
%..B4
Data structure
Type PB_Data
STRUCT
wVar_1:WORD;
iValue_1:INT;
iValue_2:INT;
iValue_3:INT;
END_STRUCT
END_TYPE
Creating a variable structure
VAR_Global
strData_Out AT %QB1000:PB_Data; (*PLC Variables *)
bInput_01 AT %IX0.0:BOOL; (* Input from a terminal *)
END_VAR
Small programming example
strData_Out.wVar_1.0:=bInput_01;
Note
Do not use real values in a mixed data structure
A mixed data structure should not contain real values. If this is nevertheless the case, the
high and low words must be swapped in the BX/BCxx50 or in the TwinCAT master project.
It is better to use an array of Real values or to transfer the Real values individually.
Note
Larger fieldbus data blocks
You can transfer larger fieldbus data blocks, in order to have a reserve for your structure.
Disadvantage: These reserves are then transferred with each fieldbus telegram, resulting in
overload of the fieldbus communication.
Summary of Contents for BC8050
Page 2: ......
Page 44: ...Programming BC8050 und BC8150 44 Version 3 0 0 Fig 45 Build...