Modbus总结

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字符

原文地址:https://www.cnblogs.com/iluzhiyong/p/4301192.html