DF-1 Ch0 direct communication to ControlLogix PLC's.

It is possible to exchange status and variables between one Genetix GCM or MC³ controllers and a ControlLogix PLC using the standard serial port (Channel 0) on the PLC. It replaces both analog and digital I/O. Full Floating Point accuracy is maintained for variables. Up to 10 variables and 80 I/O points can be configured.

See Genetix GCM Configuration and Troubleshooting for DF-1, or MC3 Configuration and Troubleshooting for DF-1 for details.

The Common Interface Table (CIT) in the Genetix GCM and the MC³, is transferred to and from the A-B “Common Interface File” (CIF). PCCC functions 1 (PLC2 Unprotected Read, 485CIF Read), and 8 (PLC2 Unprotected Write, 485CIF Write) and 6 (PLC-2 Diagnostic Status) are supported.

For performance reasons, data exchange takes place in block mode. The read segment of the CIT is transferred to the PLC in with one MSG read instruction, and a part of the write segment is transferred in one MSG write instruction. The positioning and content of the data elements in the tables must be tracked all the way from the internal controller's register database to the data structures in the PLC. This is done in several steps:

·         Between the GCM or MC³ register database and the CIT. Some of this mapping is fixed, and some is configurable within the GCM or MC³.

·         Between the CIT and the target data tables in the PLC. This is defined in the MSG instructions.

·         Between the target data tables in the PLC and the final, formatted data tables in the PLC. This is done with PLC programming methods, using COP instructions.

Control/Status bits and Integer numbers are organized in 16 bit words. Parameters are organized as IEEE 32 bit floating point numbers.

Use a standard straight DB9-S (Female) to DB9-P (Male) serial cable for MC³. Set the baudrate to 19200. For the GCM, we used an 18 GA one pair shielded, where we used the shield drain line for connecting communications common. Set the baudrate to 38400. Max cable length is 50 ft. The PLC end has a 9 pin DB9-S (Female) connector. The Genetix GCM end has a 9 position mini Phoenix connector. Connect according to the following table:






Data to GCM/MC³



Data to PLC



Ground. Use drain wire


This solution is fully supported by Merrick, meaning that we have equipment on hand to furnish tested configurations.

This example connects one Merrick  GCM or MC³ controller to the PLC. Controller data will be available in a global PLC tag named CIT. This tag is based on a user defined data type CIT_UDT, which is structured so that you can easily see data according to the CIT specification. Here is a detailed map.

RSLogix5000 ACD files V15 for GCM and for MC³. Note that symbols and comments are based on the configuration example described in GCMDF1.pdf and MC3DF1.pdf. There is a user defined datatype named CIT_UDT. The only instance of it is tag CIT[0], in the Controller Scope, containing all GCM or MC³ related data. You can cut and paste both the data definitions and the ladder logic. The descriptions in CIT are very helpful. Cut and paste in the following order:

1 User-Defined Data Type CIT_UDT

2 Global tag CIT

3 Task CIT_SCH

4 Program CIT_TOP. This should bring Program Tags and routine CIT_MAIN with it.

Here is a ladder listing of CIT_TOP - CIT_MAIN and in PDF format. This ladder maintains the communication with the controller, checks communications integrity and transfers CIT related data in and out of usable variables inside CIT[0]. CIT_SCH is a task scheduled on 25 ms, with a priority of 10.

The set up screens for the MSG instructions: Read Configuration, Read Communication, Write Configuration, Write Communication.

Channel 0 setup in controller properties: Serial Port and System Protocol. Use 19200 baud for MC³ instead of 38400.

The DF-1 Specification is useful for troubleshooting.

This Queens College site is useful to resolve IEEE floating point problems.