1.概念
①Coil和Register
Modbus中定義的兩種數據類型。Coil是位(bit)變量;Register是整型(Word,即16-bit)變量。
②Slave和Master與Server和Client
同一種設備在不同領域的不同叫法。
Slave: 工業自動化用語;響應請求;
Master:工業自動化用語;發送請求;
Server:IT用語;響應請求;
Client:IT用語;發送請求;
在Modbus中,Slave和Server意思相同,Master和Client意思相同。
2.Modbus數據模型
Modbus中,數據可以分為兩大類,分別為Coil和Register,每一種數據,根據讀寫方式的不同,又可細分為兩種(只讀,讀寫)。
Modbus四種數據類型:
Discretes Input 位變量 只讀
Coils 位變量 讀寫
Input Registers 16-bit整型 只讀
Holding Registers 16-bit整型 讀寫
通常,在Slave端中,定義四張表來實現四種數據。
3.Modbus地址范圍對應表
設備地址 Modbus地址 描述 功能 R/W
1~10000 address-1 Coils(Output) 0 R/W
10001~20000 address-10001 Discrete Inputs 01 R
30001~40000 address-30001 Input Registers 04 R
40001~50000 address-40001 Holding Registers 03 R/W
4.Modbus變量地址
映射地址 Function Code 地址類型 R/W 描述
0xxxx 01,05,15 Coil R/W -
1xxxx 02 離散輸入 R -
2xxxx 03,04,06,16 浮點寄存器 R/W 兩個連續16-bit寄存器表示一個浮點數(IEEE754)
3xxxx 04 輸入寄存器 R 每個寄存器表示一個16-bit無符號整數(0~65535)
4xxxx 03,06,16 保持寄存器 R/W -
5xxxx 03,04,06,16 ASCII字符 R/W 每個寄存器表示兩個ASCII字符