9.3 Allen Bradley CSP (PCCC)
9.3.1 Overview
Ethernet-enabled Allen-Bradley legacy PLCs (such as the PLC5E, SLC-5/05, and MicroLogix series) use
a protocol called CSP (Client Server Protocol) to communicate over the Ethernet network. The flavor of
CSP used by these PLCs is also known as “PCCC” (Programmable Controller Communication
Commands) and “AB Ethernet”. The interface card supports CSP for direct connectivity to these PLCs.
Note that CSP runs under EtherNet/IP and is enabled by default when EtherNet/IP is added to the
configuration.
If a connection timeout or socket-level error occurs, the driver can be configured to perform a timeout
action as described in section 9.2.3.
9.3.2 Explicit Messaging Via Read/Write Services
Register (function code) contents are read from and written to the interface card via CSP by reference to
an integer “file/section number” and an “offset/element” within that file. The supported read and write
servic es are listed in Table 25. To read and write data, the client must reference a “target address” and
the “size of elements”. The target address is constructed according to the conventions shown in section
9.3.3.
Table 25: CSP (PCCC) Read/Write Services
9.3.3 Inverter Function Code File Number Offset Format
The formula to calculate which register (function code) is targeted in the interface card is provided in
Equation 7.
( )
offset10010- number fileregister target +×=
Equation 7
Refer to section 4.1 for converting function codes to register numbers. In Equation 7, “target register”
∈[1…1899], “file number” ∈[10…146] (which means N10…N146), and “offset” is restricted only by the
limitations of the programming software (but is a value of 13668 max). Refer to section 4.1 for the
function code to register mapping. Table 26 provides some examples of various combinations of
file/section numbers and offsets/elements which can be used to access inverter function codes. Note
that there are multiple different combinations of file/section numbers and offsets/elements that will result
in the same inverter function code being accessed.
Table 26: CSP Target Register Examples
Function
Code
Target
Register
File/Section
Number
Offset/Element
Address
Format
In addition to providing access to the inverter function codes in their “standard” numerical locations as
mentioned above, the function codes can also be accessed in a special “assembly object” type format by
targeting integer file N50. What this means is that when N50 is targeted for reading, what is actually
returned by the interface card is the user-defined function code data as ordered by the EtherNet/IP
produced data word configuration (refer to section 9.2.4). Similarly, when N50 is targeted for writing, the
written data is disseminated to the inverter’s function codes according to the definition contained in the
EtherNet/IP consumed data word configuration. By appropriate configuration of the EtherNet/IP
consumed and produced data word configuration, therefore, bulk access to non-contiguous but
frequently-used inverter function codes can be conveniently provided by performing only one read
and/or write instruction targeting file N50.
Service Code