NX/NJ to CompactLogix using CIP Explicit Messages
Introduction
This document shows the basic steps to connect the Omron NJ/NX controller to Rockwell CompactLogix /ControlLogix controllers via explicit messages. The guide will assume that the hardware installation is complete. This guide covers the connection to the Rockwell CompactLogix PLC specifically and for more information on CIP please see this article.
Set the IP address of both devices as shown below:
Parameter Adjustment | NJ/NX Series | CompactLogix |
IP address | 192.168.250.1 | 192.168.250.2 |
Subnet Mask | 255.255.255.0 | 255.255.255.0 |
Configure NX/NJ
- Open a new project and specify the type of driver to use, it is advisable to add comments that allow us to clearly identify the operation of that program.
- As a second step, set the IP and subnet mask in the "Built in EtherNet/IP Port settings" found in the Multiview Explorer.
Configure CompactLogix
- Open a new project and specify the type of driver to use, check the revision number of the device to be connected.
- Set the IP address of the device.Using the option with RSlogix 5000,look in the"Controller Organizer"window for the option "1769-L35EEthernetPortLocalENB",from here you can set the IP address and the Subnet mask, as shown in the following figure:
UCMM Read
The CIPUCMMRead statement uses an explicit UCMM message to read the value of a variable from another controller in the specified CIP network.
Parameter | Description |
Execute | A preferably diff-up trigger signal used to execute the CIPUCMMRead command. |
Timeout | Specifies the timeout. If a response does not return within the timeout, it is assumed that communications have failed. The timeout increments with a 0.1 second resolution, and it uses variables of unsigned integer type (UINT), example: UINT#20 = 2 seconds of timeout. |
RoutePath | This is the network path used to reach the CompactLogix/ControlLogix CPU. It must be a String value, either as a constant or as a Tag, example: '02\192.168.250.2\01\#00' |
SrcDat | The name of the tag that will be read from the CompactLogix/ControlLogix CPU. This parameter uses constants or variables of type String to contain the name. |
Size | If "SrcDat" is an array, you must specify the number of items to read. If "SrcDat" is not an array, always specify 1 in this parameter. If the value of "Size" is 0, nothing is read regardless of whether "SrcDat" is an array or not. "Size" uses variables of unsigned integer type (UINT ), example: UINT#1 = 1 data to read. |
DstDat | Name of the Omron tag or tag, where the read data will be stored, including the initial index number (when arrays are used), the type of data used for this parameter is "ANY", that is, any type of data, including enumerations, arrays, structures, members of structures or unions. |
RcvSize | When the read operation is complete , the number of bytes read in this parameter is saved. A maximum of 496 bytes of data can be read. |
UCMM Write
The CIPUCMMWrite statement uses an explicit UCMM message to write the value of a variable to another controller in the specified CIP network.
Parameter | Description |
Execute | A preferably diff-up trigger signal used to execute the CIPUCMMRead command. |
TimeOut | Specifies the timeout. If a response does not return within the timeout, it is assumed that communications have failed. The timeout increments with a 0.1 second resolution, and it uses variables of unsigned integer type (UINT), example: UINT#20 = 2 seconds of timeout. |
RoutePath | This is the network path used to reach the CompactLogix/ControlLogix CPU. It must be a String value, either as a constant or as a Tag, example: '02\192.168.250.2\01\#00' |
DstDat | Name of the tag or tag of the CPU CompactLogix/ControlLogix, where the read data will be saved, including the initial index number (when using arrays), the data type used for this parameter is "ANY", i.e. any type of data, including enumerations, arrays, structures, members of structures, or unions. |
Size | If "SrcDat" is an array, you must specify the number of items to read. If "SrcDat" is not an array, always specify 1 in this parameter. If the value of "Size" is 0, nothing is read regardless of whether "SrcDat" is an array or not. "Size" uses variables of unsigned integer type (UINT ), example: UINT#1 = 1 data to read. |
SrcDat | Name of the tag that will be read from the Omron NJ/NX CPU and sent to the CompactLogix /ControlLogix CPU. This parameter uses constants or variables of type String to contain the name. |