一些 Modbus TCP 设备可能要求 MB_UNIT_ID 参数在限制范围内。该参数所在位置,如图4.所示
mModbusUnitID默认值为255(16#FF),如果从站设备有多个,可以S7-200 SMART 和网关模块建立一个连接,在这个连接上通过修改UnitID的值进行UnitID的轮询。
6、对于一些服务器不支持写单个数字量输出位(功能码5)/单个保持寄存器(功能码6),S7-200 SMART如何实现写单个位/字。
答:一些 Modbus 服务器设备不支持 Modbus 功能写入单个离散输出位(Modbus 功能 5)或写入单个保持寄存器(Modbus 功能 6)。相反,这些设备只支持多位写入(Modbus 功能 15)或多寄存器写入(Modbus 功能 16)。如果服务器设备不支持单个位/字Modbus 功能,则MBUS_CLIENT 指令将返回错误代码 1。Modbus 客户端协议允许强制 MBUS_CLIENT 指令使用多个位/字Modbus 功能,而非使用单个位/字Modbus 功能。可通过在 Modbus 客户端符号表中查找符号 mModbusForceMulti,并在程序执行 MBUS_CLIENT 之前 更改此值,来强制多个位/字指令。将mModbusForceMulti 设置为 TRUE,可在写入单个位或寄存器时强制使用多个位/字功能。如图5.所示。