Which OMRON PLCs can perform Modbus Communications
Introduction
Modbus is a relatively easy protocol to write, even from scratch, and as such has been prolific in industrial communications. Modbus comes in a few variations. In OMRON PLCs and Machine Controllers, Modbus is easily implemented. Often it is a Function block is used to perform the Modbus transactions.
Modbus RTU and Modbus ASCII
Modbus RTU is the most common form of the protocol and is used on any serial communications layer such as RS232, RS485 and RS422. It is a binary protocol.
Modbus ASCII is similar to RTU in that it also is used on serial networks, however all values are encoded in ASCII characters. Rather than a value of say 12345 (integer) which on a binary protocol would require 2 bytes, in ASCII the ASCII characters "1", "2", "3", "4" & "5" would be sent, each using one byte. This is obviously less efficient. As such it is not a very commonly used variant of the Modbus protocol.
Modbus TCP
Modbus TCP is simply the same simple protocol, but embedded into a TCP Ethernet frame. In order to perform TCP communications from the user program, the PLC unit must support Socket Services. Some Ethernet units do not support this, such as the CJ2M-CPU3x CPU built in Ethernet/IP port or the CP1W-CIF41 ethernet unit.
The following table gives a summary of the PLCs and what units and software is used for Modbus TCP and RTU. Click on the links to download the required function blocks and documentation.
Modbus TCP | |||
PLC | Master Hardware | Slave Hardware | Function Blocks |
CP1L | CP1W-MODTCP61 | CP1W-MODTCP61 | Not required |
CP1L-E | Built in Ethernet Port | Built in Ethernet Port |
MTCP_CP1L_Server.zipMTCP_CP1L_Client.zip |
CP1H | CP1W-MODTCP61 | CP1W-MODTCP61 | Not required |
CJ1 / CJ2 / CS1 | CJ1W-ETN21 CS1W-ETN21 |
CJ1W-ETN21 CS1W-ETN21 |
MTCP_ETN_Server.zipMTCP_ETN_Client.zip MTCP_ETN any Unit no CLIENT.zip |
NX & NJ | Built in Ethernet Port | Built in Ethernet Port |
MTCP_NJNX.slrMTCP_NJ_Server_E.pdfMTCP_NJ_Client_E.pdf |
Modbus RTU | |||
PLC | Master Hardware | Slave Hardware | Function Blocks |
CP1L / CP1L-E / CP1H |
CP1W-CIF serial port | CP1W-CIFxx serial port |
MRTU_CPU_Master.zipMRTU_CPU_Slave.zip |
CJ1/CJ2/CS1 | CJ1W-SCU unit CS1W-SCU unit |
CJ1W-SCU unit CS1W-SCU unit |
Slave function is built into unit. MRTU_SCU_Master.zip |
CJ1/CJ2/CS1 | Serial port on CPU |
Serial port on CPU |
MRTU_CPU_Master.zip M RTU_CPU_Slave.zip |
NJ | CJ1W-SCU |
CJ1W-SCU |
Protocol Macro loaded using CX-Protocol: Modbus_New_V5_1 Prptocol Macro Package.zip |
NJ |
NX-CIF |
NX-CIF |
System function blocks |
NX | NX1W-CIFxx board or NX-CIF unit | NX1W-CIFxx board or NX-CIF unit | System Function Blocks |