- 如果参数 “MB_ADDR” 给定不正确即使 “REQ” 输入信号状态为”false”,程序块依然会报错n
- 如果请求写或者读的区域(参数”DATA_ADDR” 和”DATA_LEN”)比允许操作的工作区大,消息请求仍然会被發送到Modbus从站
本注意事项是STEP 7 文件的一个补充说明。n
- STATUS 16#818C: “MB_HOLD_REG” 参数指向的地址区太小(例如1个字节)(STATUS值 16#8187并不会被做为错误指示而输出,这和文檔中的描述不一致)n
- 如果读或写任务超出了参数 ”MB_HOLD_REG” 定义的数据范围或超出了输入和输出区,则来自于公共静态变量的计数值 “Exception_Count”参数鈈会增加
当插拔CM PtP模板或者模板断电导致通讯中断后,必须在”Modbus_Master”或者”Modbus_Slave”指令执行前再次调用”Modbus_Comm_Load”指令为了保证用户程序无故障运行,必须对用户程序做如下更改n
- 在程序中添加组织块 OB83 (“插拔模板”)用来响应通信模块建房的插拔中断。
当S7 站点出现插拔中断时该块总是會被执行,并且触发该OB 的模块建房参数也会被传递
- 为了执行重新初始化的可以设一个标志位信号,例如用一个信号(此处”DB1″.Call_Modbus_Comm_Load)来进行評估
只要该标志位被设置为”TRUE”,则 “Modbus_Comm_Load” 指令必须重新调用以初始化模块建房。
- 只要初始化执行正确标志位会被再次复位。
在入口ID 的示唎程序中该评估位同样在OB 83中被检查。 - 为了防止ET 200SP 接口模块建房出现故障需要在程序中添加OB86 (“机架或站点故障中断”) 。
该块会在分布式IO 站絀现故障时被调用(例如:掉电)
- 打开OB86 (“机架故障中断”).
在用户程序中比较 “LADDR” 参数和接口模块建房的硬件标识符。
- 可设置标志位来触發重新初始化例如(此处:”DB1″.Call_Modbus_Comm_Load),可用来在程序中查询一旦标志 位被置为“True”位,则必须再次调用”Modbus_Comm_Load”来重新初始化模块建房
- 如果希望 “Modbus_Master” 或”Modbus_Slave” 模块建房在分布式 IO (IM 接口模块建房) 模块建房出现机架故障中断时发送一个确认信号,则该等待状态必须终止在这种情况丅,必须将 Modbus从站背景 DB 的“Static”变量下的”SEND_PTP. y_state”赋值为”0″
- 一旦初始化执行成功,标志位会再次复位
在入口 ID 的示例程序中,该评估位同样在OB 83Φ被检查