表 1是产品及其相应的Modbus块。
产品
Modbus 块
SIMATIC Modbus/TCP CP
FB 108
SIMATIC Modbus/TCP PN Red
FB 915, FB 917
SIMATIC Modbus/TCP CP Red
FB 909, FB 907
SIMATIC Modbus/TCP PN-CPU
FB 102
表 1
在 CPU 的用户程序调用相关的Modbus 块。
对 Modbus 块的 ENQ_ENR 输入管脚设置为 true,则其输出管脚 STATUS 则保持为 A083( 十六进制)。
当有输入参数 ENQ 或 ENQ_ENR 为 true 触发则输出管脚 STATUS 的值为 A083(十六进制)表示有新的 Modbus 消息,尽管上一个任务还在运行。
状态值 A083(十六进制)的产生原因和补救如下:
- Modbus 块参数化为客户端时,A083(十六进制)的值只出现在输出参数 STATUS 。如果 S7 CPU 应工作在服务器时其状态值输出了 A083(十六进制),则必须在 OB100 中正确参数化 Modbus 块。
- 触发 Modbus 消息总是终止与 DONE / DONE_NDR 或 ERROR。一个消息正在处理时不能处理新消息。
- 如果当一个Modbus 工作运行时 S7 CPU 作为服务器不能访问,在重连后可能呈现状态值 A083(十六进制)。这种情况下,设置ENQ_ENR 时插入下面的条件:
O "CONTROL DAT".DONE_NDR
O "CONTROL DAT".ERROR
AN "CONTROL DAT".BUSY
S "CONTROL DAT".ENQ_ENR