Modbus vs PLC Memory Structure

Data Type Read/Write Property Meaning Modbus Address Range Expression in PLC
Analog
Input Registers Read-Only Analog Input 30001-39999 %IW0 – %IW9998
Holding Registers Read-Write Analog Output 40001-49999 %MW0 – %MW9998
Digital
Discrete Input Read-Only Digital Input 10001-19999 %I0 – %I9998
Coils Read-Write Digital Output 00001-09999 %M0 – %M9998

Modbus Analog Signal

Data Type Read/Write Property Meaning Modbus Address Range Expression in PLC
Input Registers Read-OnlyAnalog Input30001-39999%IW0 – %IW9998
Holding RegistersRead-WriteAnalog Output 40001-49999 %MW0 – %MW9998

Modbus Digital Signal

Data Type Read/Write Property Meaning Modbus Address Range Expression in PLC
Discrete InputRead-OnlyDigital Input10001-19999%I0 – %I9998
CoilsRead-WriteDigital Output00001-09999%M0 – %M9998

Function Codes

FC 01 (Read Coils)
FC 02 (Read Discrete Inputs)
FC 03 (Read Holding Registers)
FC 04 (Read Input Registers)
FC 05 (Write Single Coil)
FC 06 (Write Single Register)
FC 15 (Write Multiple Coils)
FC 16 (Write Multiple Registers)
FC 23 (Read/Write Multiple Registers)

Example of Holding Registers

SCADA- (4 0, 001-49, 9 9 9) to PLC- (%MW0 – %MW9,998)

SLModbus Address in PLCModbus Address in SCADA
1%MW040001
2%MW140002
3%MW240003
4%MW840009
5%MW940010
6%MW1040011
7%MW9840099
8%MW9940100
9%MW10040101
10%MW99840999
11%MW99941000
12%MW100041001
%MW100641107