一共调用了10个master命令,会出现8200error,下面图只有其二个master,有三种状态,7000 7002 8200 请问,这个问题出现在什么地方?
图片说明:
钻石用户推荐最佳答案
参考文档
1、8200:端口正忙于处理传送请求
上一个的 DONE 位还没有为1,又激活了一个读写请求,就会造成这种情况,参考下面链接中的错误代码表。
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/11-Comm/03-Serial/02-Modbus/03-Modbus_Master.htm#status
轮循一般用到主站指令的 DONE 位,请参考链接中《图14.Modbus_Master轮询调用方式》的轮循机制,如图
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/11-Comm/03-Serial/02-Modbus/02-Modbus_RTU.htm
2、当Modbus RTU网络中存在多个modbus RTU从站或一个modbus RTU从站同时需要读操作和写操作,则需要调用多个Modbus_Master指令,Modbus_Master指令之间需要采用轮询方式调用。
《1200 Modbus RTU 通信》
http://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/smartsms/016.html
图片说明:
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc360901.html