SIMATIC S7-1200,模拟输入, SM 1231 TC,8 AI 热电偶
SIMATIC S7-1200 SM 1231,AI 8x16 bit TC
订货号: 6ES7231-5QF32-0XB0
以 Modbus_Master 指令为例,当通信出现错误时,Modbus_Master 指令的 “ERROR” 输出位将变为 TRUE 但是只保持一个扫描周期,所以通过 TIA Portal 软件程序监控时无法查询到错误。 Modbus_Master 指令 “STATUS” 参数中的错误代码仅在 “ERROR” = TRUE 的扫描周期内有效,为了获取了 Modbus RTU 通信错误的错误代码可以采用如图 17 所示方式编程。
图 17. 获取 STATUS
5. 对于分布式 IO 上的串口模块,如果出现从站掉站或者模块拔出应该怎么办?对于分布式 IO 的串口模块,一旦出现故障以及故障恢复,系统会自动执行相关 OB,拔出插入会执行 OB83,掉站与恢复会执行 OB86。所以需要在相应 OB 中重新触发 Modbus_Comm_Load 指令,方法如下:
1. 插入"Pull or plug of modules" 中断 OB83。
分布式 IO 站点中插出、拔入模块时,操作系统都会调用一次 OB83。通过 OB83 接口区的输入变量 “Event_Class” 判断故障的模块和类型:事件类型16#39表示模块被拔出,事件类型16#38表示模块被插入。
CM PtP 模块被重新插入的时候,需要在中断 OB83 中调用 Modbus_Comm_Load 指令对通信模块进行重新组态,如图 18 所示。
图 18. OB83 中再次调用 Modbus_Comm_Load 指令
注意:
① OB83 中调用 Modbus_Comm_Load 指令的背景数据块需要与 OB1 中调用的 Modbus_Comm_Load 指令的背景数据块相同。
② CM PtP 模块的硬件标识符需要在"PLC 变量"--->"系统常数"中查询,参考图 12 所示。
2. 插入"Rack or Station failure" 中断 OB86。
分布式 IO 站点故障和恢复时,操作系统都会调用一次 OB86。通过 OB86 接口区的输入变量 “#Event_Class” 判断故障的模块和类型:事件类型 16#39 表示站点故障,事件类型 16#38 表示站点恢复。
CM PtP 模块所在的 IO 站点恢复时,需要在中断 OB86 中调用 Modbus_Comm_Load 指令对通信模块进行重新组态,如图 19 所示。
图 19. OB86 中调用 Modbus_Comm_Load 指令
注意:
① OB86 中调用 Modbus_Comm_Load 指令的背景数据块需要与 OB1 中调用的 Modbus_Comm_Load 指令的背景数据块相同。
② 分布式 IO 站点的硬件标识符需要在"PLC 变量"--->"系统常数"中查询,参考图 12 所示。
6. CM 1241 RS422/485 如何与 CM PtP 连接?对于 CM1241 RS422/485 模块,RS485 模式接线是 3+ 8-,而对于 CM PtP,RS485 模式接线是 14+ 12-,所以本例中连接是将 CM1241 的 3 和 CM PtP 的 14 连接,CM1241 的 8 和 CM PtP 的 12 连接,如图 20 所示。