1.概念
①Coil和Register
Modbus中定義(yi) 的兩(liang) 種數據類型。Coil是位(bit)變量;Register是整型(Word,即16-bit)變量。
②Slave和Master與(yu) Server和Client
同一種設備在不同領域的不同叫法。
Slave: 工業(ye) 自動化用語;響應請求;
Master:工業(ye) 自動化用語;發送請求;
Server:IT用語;響應請求;
Client:IT用語;發送請求;
在Modbus中,Slave和Server意思相同,Master和Client意思相同。
2.Modbus數據模型
Modbus中,數據可以分為(wei) 兩(liang) 大類,分別為(wei) Coil和Register,每一種數據,根據讀寫(xie) 方式的不同,又可細分為(wei) 兩(liang) 種(隻讀,讀寫(xie) )。
Modbus四種數據類型:
Discretes Input 位變量 隻讀
Coils 位變量 讀寫(xie)
Input Registers 16-bit整型 隻讀
Holding Registers 16-bit整型 讀寫(xie)
通常,在Slave端中,定義(yi) 四張表來實現四種數據。
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 兩(liang) 個(ge) 連續16-bit寄存器表示一個(ge) 浮點數(IEEE754)
3xxxx 04 輸入寄存器 R 每個(ge) 寄存器表示一個(ge) 16-bit無符號整數(0~65535)
4xxxx 03,06,16 保持寄存器 R/W -
5xxxx 03,04,06,16 ASCII字符 R/W 每個(ge) 寄存器表示兩(liang) 個(ge) ASCII字符