Skip to main content

#plc #modbusmodbus中,client向server发起请求

  1. #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访问。