Rockwell Automation 6008-SI IBM PC I/O SCNNR 6008-SI User Manual
Page 105

Chapter 8
Block Transfer
8-15
Block Transfer
For the scanner to issue a block transfer to a PLC5 in adapter mode, it must
pretend it is sending data to an intelligent I/O module located in slot 0 of
the rack number the PLC is emulating. Remember, the PLC5 is not
emulating Rack 3, it is emulating the rack number (0–7) that was set with
switches on the PLC5. When the scanner issues the block transfer, the
Length of Data Block entry must be 0, because the PLC5 must decide how
many words will be transferred.
In order for the block transfer to happen, the PLC5 must have a block
transfer ready to be transferred in the opposite direction so it can satisfy the
request of the scanner. The PLC5 must constantly be trying to send a
block transfer, even though most of the time it will fail, since the scanner
has not asked for a block transfer. Because the PLC5 will never know
when a block transfer request is coming, the block transfer ladder logic
instruction should be set for continuous. This will provide a constant block
transfer request to the scanner, so that when the scanner initiates a request,
there will be one waiting for it.
Note: Whenever a block transfer instruction in a PLC5 is set for
“continuous”, there must be a separate line of ladder logic that will reset
the enable bit in case the block transfer fails due to communication errors
or protocol errors.
The parameters for the ladder logic block transfer instructions will be set
so that the PLC5 thinks it is trying to do a block transfer to an intelligent
I/O module in rack 3, module group 0, and slot 0. The length parameter
value will be the number of 16–bit words that will be transferred to the
scanner. The length value should not be 0, because the scanner is letting
the PLC5 decide how many words are to be transferred.
As described earlier, the instruction should be continuous, along with a
separate line that examines the block transfer fault bit from the block
transfer control word and unlatches the enable bit if it ever does fault.
A good idea would be to count the fault bits and if they ever get excessive,
alert an operator that there is a problem.