#plc #modbus

modbus中,client向server发起请求。中文行话中,client是主站,server是从站,因为client发起请求。

modbus的寄存器都是word长度的,所以只要绑定的db中都是存储的word类型变量。那么modbus的寄存器编号和db就能对起来。但是,modbus寄存器编号从1开始,dbx地址是从0开始。所以,40001,就代表的p#db1.dbx0.0 word 1

4xxxx代表的是寄存器类型,不是功能码为4。功能码可以不了解,tia portal的块会帮忙handle

### Modbus寄存器类型

1. **保持寄存器(Holding Registers, 4xxxx)**:
- 读写寄存器。
- 通常用于存储设备的配置参数、输出值等。
- 通过功能码03(读取)和06/16(写入)访问。

2. **输入寄存器[DI](Input Registers, 3xxxx)**:
- 只读寄存器。
- 存储设备的输入数据或传感器数据。
- 通过功能码04访问。

3. **线圈[DO](Coils, 0xxxx)**:
- 读写位。
- 表示数字输出的状态(开/关)。
- 通过功能码01(读取)和05/15(写入)访问。

4. **离散输入(Discrete Inputs, 1xxxx)**:
- 只读位。
- 表示数字输入的状态。
- 通过功能码02访问。
 
 
Back to Top