关于200PLC的modbus通讯程序

下面截图的程序,要表达的控制思想是,只有当VW0的大小状态发生改变时,才会写操作一次。控制的结果是,我用Modsim查看,确实是这样的,当我30001由原来的16#8C,变为16#00时,才会写一次,如果30001一直为16#8C的话,将只写一次,还有都是读操作。这是我想要的结果,只有在有需要时才写
   但是我发现QB0的Q0.1和Q0.2会输出,说明错误位有错误啊,但是说明错误,我也看不出来啊

图片说明:

关于200PLC的modbus通讯程序    关于200PLC的modbus通讯程序    关于200PLC的modbus通讯程序    关于200PLC的modbus通讯程序    关于200PLC的modbus通讯程序    关于200PLC的modbus通讯程序   

最佳答案

1、QB0的Q0.1和Q0.2会输出:
Q0.1和Q0.2都有输出,即为6(二进制0000 0110),6号错误表示 modbus正在忙于其它请求 。
2、常见的错误:如果多个 MBUS_MSG 指令同时使能(激活)会造成 6 号错误 。一次只能激活一条MBUS_MSG指令 。即,如果有多个 MBUS_MSG 指令不要同时都被使能,要一个一个地轮询。
3、Error 错误代码: 只有在 Done 位为1时,错误代码才有效 :
0 = 无错误 
1 = 响应校验错误 
2 = 未用 
3 = 接收超时(从站无响应) 
4 = 请求参数错误(slave address, modbus address, count, RW) 
5 = modbus/自由口未使能  
6 = modbus正在忙于其它请求 
7 = 响应错误(响应不是请求的操作) 
8 = 响应CRC校验和错误 
101 = 从站不支持请求的功能 
102 = 从站不支持数据地址 
103 = 从站不支持此种数据类型 
104 = 从站设备故障 
105 = 从站接受了信息,但是响应被延迟 
106 = 从站忙,拒绝了该信息 
107 = 从站拒绝了信息 
108 = 从站存储器奇偶错误

提问者对于答案的评价:
谢谢

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc221305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月9日 下午11:24
下一篇 2017年12月9日

相关推荐