The Allen Bradley ControlLogix programmable controllers are programmed with the Rockwell RSLogix5000 ladder code toolkit programming.
Two control network options were under consideration, Ethernet/IP and ControlNet protocols. ControlNet is an open real time deterministic control of standard network. The Ethernet/IP (Industrial Protocol) is an adaptation of ControlNet onto Ethernet TCP/IP.
The network of Ethernet/IP was selected. The SNS Linac Controls group developed the device driver to use this technology in the IOC (Input/Output Controller). The drawbacks to this configuration stem from the foundations of Ethernet; peer to peer, non deterministic, a multi node, collision detection, and back off scheme network. This is not suitable exactly for real time control, but it is acceptable when the traffic on a segment is limited and well known and the loop constants are slow.
The problems with ControlNet were that there is only one vendor or manufacturer, the interface board required programming which would result in programming the PLC, interface IOC and board all with the same information. The programming of the ControlNet board also requires a PC that is running Windows which would add yet other architecture to support.
ControlLogix manages the locations of memory as named variables called tags allowing for arrays and mixed type data structures as well. Optimum tag to PV transfers requires packing data into 500 byte arrays as often as possible.
PLC handling of the values of binary command from the IOC is another issue. The PLC receives IOC commands as the inputs of pulsed to be latched and tested as ladder logic inputs.
To avoid duplication of alarm checking and alarm limit parameter sets, the IOC was chosen as the location for this function. The PLC will do limit checking if related directly to the controlled process and for equipment protection. PLC data is sent to the IOC where they are checked the alarm and flagged if determined to be in alarm condition.