DeviceNet communication via DNI to ControlLogix PLC's.

It is possible to exchange status and variables between  a combination of Genetix GCM and MC³  controllers and DeviceNet scanners, using a 1761-NET-DNI (DNI) module from Allen-Bradley (A-B). 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  and Common Interface Table (CIT) for details.

The DNI has a DeviceNet interface one side and an Allen-Bradley DF-1 interface on the other. A controller can be connected to the DNI using the existing RS-232 interface on the DNI and the existing RS-232 interface on the MC³ or Genetix GCM controller.

For performance reasons, data exchange takes place in block mode. The read segment of the CIT is transferred to the PLC in one read operation, and a part of the write segment is transferred in one write operation. 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 controller register database and the Common Interface Table (CIT). Some of this mapping is fixed, and some is configurable.

·         Between the CIT and the corresponding tables in the DNI. This is done by configuring the DNI, either via the DNI Serial port or via DeviceNet configuration software.

·         Between the DNI tables exposed to DeviceNet and the scanner table in the PLC. This is done with DeviceNet configuration software.

·         Between the scanner table in the PLC and the final data structures in the PLC. This is done with PLC programming methods.

This example connects two Merrick  GCM or MC³ controllers 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.

The cable between the ENI and the GCM is an Allen-Bradley 1761-CBL-PM02, cut near the DB9 connector. Peel and connect the wires to the GCM’s 9 pos Phoenix connector, brown to pos 2, red to pos 3 and green to pos 4. Set the ENI serial port baud rate to 38.4K.

For MC³, use the same cable and add a male – male adapter where pins 2 and 3 are crossed (null modem). Set the ENI serial port baud rate to 19200.

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

RSNetworx configuration file (V 10.01.00) for two DNI's (Nodes 3 and 4) and one 1756-DNB scanner (Node 1). Here is an older V3.21.00 configuration file

DNI utility configuration files for DNI 1 (Node 3) and DNI 2 (Node 4). The DNI utility is an alternate way to configure the DNI using the Serial Port rather than RSNetworks. It is available (1761-NET-DNI DeviceNet Interface DNI Configuration Utility (Replaces dniutil1.exe) in the MicroLogix download area.

RSLogix 5000 program (V 15.02.00) for MC³ and for Genetix GCM for extracting useful data and verify network integrity. In this example, all CIT data is transferred in and out of an array of a user defined datatype, called CIT. The array has two elements, since there are two controllers connected. Extraction and insertion take place in the CIT_SCH scheduled program. You can cut and paste both the data definitions and the ladder logic, after setting up the Devicenet scanner in I/O configuration. The descriptions in tag CIT are very useful. 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 routines CIT_MAIN, CIT_1_Comm and CIT_2_Comm with it.

You probably will have to edit CIT_1_Comm and CIT_2_Comm with regards to the DNB tag names ( Local:2 in this example).

 

The DF-1 Specification is useful for troubleshooting.

This Babbage site is useful to resolve IEEE floating point problems.


2014-05-13/Lars