Communication
ILX69-PBM ♦ CompactLogix™ or MicroLogix™ Platform
User Manual
PROFIBUS Master Communication Module
Page 62 of 113
ProSoft Technology, Inc.
BTO - Block Transfer Out
The Logix program copies its output data into the output data area and writes the
corresponding block number to OutBlock.Req (Block number 0 to n, with n = max.
number of OUT blocks). The Logix program then checks if the requested block has been
received by the module firmware by comparing OutBlock.Cnf and OutBlock.Req. If
OutBlock.Cnf equals OutBlock.Req, the module firmware is ready to receive the next
block. The procedure continues with a different block number.
If all blocks are transferred to the module, the Logix program will set the OutBlock.Req to
0 again. A transition from n to 0 in OutBlock.Req will trigger the module firmware to send
all output data to the PROFIBUS network. This transition trigger ensures that all blocks
are sent to the network consistently. The next block transfer of output data will be started
over if the module detects a transition from 0 to n.
In order to send valid data, the Logix program must write all output data blocks and send
it to the module firmware before the "Bus On" flag is set. In this case, the module
firmware will send valid data to the slaves with the first network cycle. Therefore, the
method "Controlled start of communication" must be selected in ProSoft fdt
Configuration Manager.
A description of the option
Controlled by Application
can be found in the
online help of the ILX69-PBM.
Respectively in the ILX69-PBM manual, ProSoft fdt Configuration Manager for
CompactLogix or ControlLogix Platform, PROFIBUS DP Master DTM in
chapter Configuration in the section Master Setting > Start of Bus
Communication.
The module firmware copies the entire header portion (16 bytes) of the output data
image in front of the data portion. The maximum size of the output data is 480 bytes for
the first block and 480 for each of the following blocks. The Logix program would have to
transfer 12 blocks in order to transfer 5760 bytes.
BTI - Block Transfer In
The module firmware starts sending network data to the Logix program as soon as the
Logix program increments the block number in InBlock.Req (block number 0 … m, with
m = max number of IN blocks). The Logix program checks if the requested block was
received by the module firmware by comparing if InBlock.Cnf equals InBlock.Req.
The Logix program then writes the next block number to InBlock.Req and the procedure
starts over. If all blocks are transferred from the module firmware, the Logix program will
set the InBlock.Req to 0. A transition from m to 0 is the trigger for the module firmware to
refresh all input data from the PROFIBUS network. The trigger from 0 to 1 of
InBlock.Req ensures that all transferred blocks are received consistently from the
network.
The module firmware copies the entire header portion (88 byte) of the input data image
in front of the data portion. The maximum size of the input data is 408 byte for the first
block and 408 for each of the following blocks. The Logix program would have to transfer
15 blocks in order to transfer 5712 bytes.