Programming
BC3150
64
Version: 2.1.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.
5.11
Up- and downloading of programs
The Bus Terminal Controller has a memory for the source code. It can be used for storing the program, the
task configuration, and the libraries. Should the memory be insufficient, the source code may be stored
without task configuration and libraries. This takes up significant less memory space!
General settings
The timing of the source code download to the target system can be specified via Edit/Options. Open the
options menu.