表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
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc323501.html