用的是modbus RTU协议,但指令modbus MSG输出错误代码为6 不知道为什么。。
Network 1
LD SM0.1
MOVW 0, T49
Network 2
LD SM0.0
TON T49, 20
Network 3
LD T49
EU
S M22.1, 1
Network 4
LD SM0.0
= L60.0
LD SM0.0
= L63.7
LD L60.0
CALL SBR3, L63.7, 9600, 0, 1000, M22.0, MB23
Network 5
LD M22.1
= L60.0
LD M22.1
EU
= L63.7
LD L60.0
CALL SBR1, L63.7, 3, 0, 48455, 1, &VB136, M25.0, MB23
Network 6
LD M25.0
S M22.2, 1
R M22.1, 1
Network 7
LD M22.2
= L60.0
LD M22.2
EU
= L63.7
LD L60.0
CALL SBR1, L63.7, 3, 0, 48453, 1, &VB138, M25.1, MB23
Network 8
LD M25.1
S M22.3, 1
R M22.2, 1
Network 9
LD M22.3
= L60.0
LD M22.3
EU
= L63.7
LD L60.0
CALL SBR1, L63.7, 3, 0, 48449, 1, &VB142, M25.2, MB23
Network 10
LD M25.2
S M22.4, 1
R M22.3, 1
Network 11
LD M22.4
= L60.0
LD M22.4
EU
= L63.7
LD L60.0
CALL SBR1, L63.7, 3, 0, 48452, 1, &VB140, M25.3, MB23
Network 12
LD M25.3
R M22.4, 1
S M22.1, 1
问题补充:
为什么老是通讯不上? 如果答题 能对题吗 不是回答 无关的好吗
最佳答案
没看程序,6#错误,一般都是 MSG 指令多次调用的问题。同一时刻 MSG 指令只能执行一条指令,多个 MSG 指令的执行需要使用轮询。
参考 下载中 A0136 文档,modbus RTU 主站章节,该章节有程序例子(3个 MSG 指令的调用)可以直接下载到 PLC中。
提问者对于答案的评价:
谢谢建议
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc178479.html