IPI, Bus Controller, Firmware version 4.6, GFK-0363U
notice.
BSMs and Bus Error Rate Configuration:
If the bus includes any Bus Switching Module(s), the Bus Error Rate
must be set to zero. This keeps the Bus Controller from dropping off the bus while the BSMs are switching.
Input Defaults:
If the Bus Controller loses communications with a device on the bus, the Bus Controller contin-
ues supplying input data for that device to the PLC. The content of that data depends on the device type:
A. Discrete block, PowerTRAC block or Remote I/O Scanner: Inputs may either default or hold last state, as configured.
B. Analog block or Highspeed Counter: Inputs automatically hold last state.
C. Global data: Automatically defaults to off.
Impact on PLC Sweep Time when Adding or Losing Genius Devices:
If a number of devices located on busses in the
system are lost or added during the same PLC sweep, it can cause the PLCs watchdog timer to expire, shutting down
the PLC. For example, I/O blocks that do not use the same power source as the PLC might all lose power during the
same CPU sweep, while the PLC kept operating. When power was restored, the blocks might all return to the system
during the same CPU sweep. When calculating CPU sweep time, include the following steps:
1.
Determine the maximum number of devices on all busses in the system that might possibly be lost or added in the same PLC
sweep period.
2.
Refer to the table in appendix A of the PLC Reference Manual. Find the Asynchronous Events Fault Message time listed for the
type of CPU in the system. Multiply this number by the number of devices that might be added or lost together.
3.
Add the total to the worst case PLC sweep time. Set the PLC sweep timeout period above this value.
Major New Features
Support for the new IC670 series of distributed I/O products.
Configuration support for these products is pro-
vided by the Generic I/O selection of programming software. Configuration details are given in the Processor
Users Manual.
Ability to Read the Serial Bus Address of Bus Controllers
. This ability is provided with a new COMREQ (#18
)
Ability to Identify the Devices that are Presently Active on the Bus or Read the Status of the Bus Controllers
Internal Datagram Queue
using a VMERD instructon in the program.
Do Output COMREQ:
This new COMREQ can be used to send output data to discrete devices that require immedi-
ate output updates. It can also be used to immediately update up to 2 words of Global Data being sent by the Bus
Controller. Add the description of the new COMREQ included here to your Bus Controller Users Manual.
PLC/I/O Bus Redundancy:
This Bus Controller supports PLC/I/O bus redundancy configurations. This also requires
release 4.0 or later of both the programming software and the PLC CPU. For information about using I/O bus redun-
dancy with the PLC, please see the Bus Controller Users Manual.
Read/Write Device Rejection:
This Bus Controller will ignore any incoming Read or Write Device datagrams sent us-
ing the routing parameter FE (hex) in byte 0. This byte is designated as reserved in the datagram descriptions in the
I/O System Users Manual. For a Bus Controller to use this capability, datagrams must be sent with the Send Datagram
command. Please refer to the Bus Controller Users Manual for instructions.
Errata
Description:
In some versions of the Bus Controller Users Manual, there are mistakes in the programming exam-
ple that illustrates the use of COMREQs. The Status Pointer Offset given in the example would cause the Status
Block to overlap the start of the Command Block.
Recommendation:
If necessary, correct the Status Pointer Offset example in your manual. In two logic illustrations,
and in the table showing the Command Block contents, change the value in %R0103 to 97. The twoword Status Block
would then use %R0098 and %R0099, avoiding conflict with the Command Block which begins at %R0100.
Important Product Information
2
GFK0363U
COMREQ #17: Do Output Command
To immediately send a total of up to 128 bytes (64 words) of output data to selected discrete devices on the bus (2 words
per device), use the Do Output command. The output data is transferred immediately to the Bus Controller, which trans-
mits it to the specified devices during its next turn on the bus. The user should also place the same data in the output
table, to insure that the same data will be transferred to the Bus Controller as part of the normal output update.
To use the command, set flags of all bus addresses that are to receive output data, then enter the data into the COM-
REQ addresses that correspond to those devices (for example, you would enter output data into locations [ad-
dress+11] and [address+12] to update a block at serial bus address #1). To minimize the impact on bus scan time.
Devices to be updated using this method should be configured to have the lowest possible serial bus addresses, and
the overall message length should be kept as short as possible.
Caution:
none of the outputs on a targetted device should be updated in any other way during the PLC sweep.
Command Block for the Do Output Command
Address +0:
Command Length
5 to 64. Enter the number of words from Address +6 to the end of the
output data to be transferred to the Bus Controller.
Address +1:
No Wait
0
Address +2:
Status Block memory type
70 (%I), 72 (%Q), 8 (%R), 10 (%AI), or 12 (%AQ)
Address +3:
Status Block offset
Beginning address for the COMREQ status.
Address +4:
Idle timeout value
0
Address +5:
Max. communications time
0
Address +6:
Command number
17
Address +7,
Address +8:
Flags for Device Numbers 015
Flags for Device Numbers 1631
Each bit represents a potential target bus address. In Address +7, LSB is
Device Number 0. MSB is Device Number 15. In Address +8, LSB is
Device Number 16. MSB is Device Number 31.
Set to 1 any bit that corresponds to a block that will receive output data
from the Do Output command.
Address +9,
Address +10
Outputs for Device Number 0
Each bit represents an output, with output 1 in the LSB.
Bits that correspond to circuits that are used as inputs, or are unused, or
are not present on the block are ignored.
Address +11
Address +12
Outputs for Device Number 1
Use command length to determine the last serial bus address serviced.
Registers past that point will not be used in the command.
to
Address +72
Outputs for Device Number 31
LSB
MSB
Device Numbers (SBAs)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LSB
MSB
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17
Circuit Numbers
Important Product Information
3
GFK0363U
Example
In this example, there are two blocks on the bus that should be updated using Do Outputs. The first is a 16cir-
cuit block located at Device Number 1. All 16 of its circuits are used as outputs. The second device is a 32circuit
block located at Device Number 2. On this block, circuits 17 to 32 are used as outputs. ( In this application, Device
Number 0 is used by the Handheld Monitor).
Address +0:
Command Length
(number of words from Address
+6 to the end of the data.)
For this example, the length is 9 (the number of words from Address +6
to Address +14). This limits the number of registers used, and only seri-
al bus addresses 0, 1 and 2 will be affected.
Address +1:
No Wait
0
Address +2:
Status Block memory type
8 (%R)
Address +3:
Status Block offset
Beginning address for the COMREQ status.
Address +4:
Idle timeout value
0
Address +5:
Max. communications time
0
Address +6:
Command number
17
Address +7:
Flags for Device Numbers 015
This marks serial bus addresses 1 and 2 as the targets.
Address +8
Flags for Device Numbers 1631
Address +9,
Address +10
Outputs for Device Number 0
32 bits: dont care in this example, because the flag for serial bus ad-
dress 0 is set to 0.
Address +11
Address +12
Outputs for Device Number 1
32 bits. In this example, Device Number 1 is a 16circuit block. All 16
circuits (shown below as 1s for clarity) are outputs.
The result will be to turn all 16 outputs on. The remaining 16 bits are
ignored, because the block has only 16 points.
Address +13
Address +14
Outputs for Device Number 2
32 bits. In this example, Device Number 2 is a 32circuit block. Circuits
1732 (shown below as 1s) are outputs.
The result will be to turn points 17 32 on. To turn any of these points
off, place a zero in the corresponding bit (for example, to turn output
#32 off, put a zero in the MSB).
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
LSB
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MSB
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
LSB
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MSB
LSB
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MSB
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Important Product Information
4
GFK0363U
Using the Do Output Command for Global Data
The Do Output command can also be used to immediately change the content of the first 2 words of Global Data be-
ing sent by a Bus Controller in the same PLC. Program COMREQ #17 with the contents listed below. The 2 data
words are transferred immediately to the Bus Controller, overwriting the first 2 words of that Bus Controllers usual
Global Data. During that Bus Controllers next turn on the bus, the Global Data it transmits will begin with these 2
words, followed by its remaining Global Data. The changed data is sent only once following receipt of the COMREQ.
During its next turn on the bus, the Bus Controller will again send the entire contents of its assigned Global Data
memory references. If the new data should be sent more than once, the application program should also copy the
data into those memory references.
To use the command, in [address+7] and [address+8