Modbus is an open communications protocol that commonly used on serial networks, Modbus RTU, and Ethernet networks, Modbus TCP.

While originally developed for Schneider Electric’s Modicon PLC, many brands including Allen Bradley can communicate over Modbus making it a universal protocol.

The most difficult part when configuring your PLC is determining whether you need a Modbus server or client. If you already have address locations such as 30001 that you are trying to read or write to, then you need to configure a Modbus client. If you must create the address numbers, then you need to configure a Modbus server to store the data in. You may see the terms Master/Slave used. These are older terms, Master is now call Server and Slave is now called Client.

Standard Modbus Addresses

  • Discrete Output Coil addresses are 1-9999 and are READ/WRITE.

  • Discrete Input Contact addresses are 10001-19999 and are READ only.

  • Analog Input Register addresses are 30001-39999 and are READ only.

  • Analog Output Holding Register addresses are 40001-49999 and are READ/WRITE.


Both Studio 5000 for the Controllogix/Compactlogix PLC and Connected Components Workbench for the Micro800 PLC have Modbus capabilities. Here is how to configure it.