能读取,但读取时间太长,要三、五秒才有反应,望解答,程序哪里错了
问题补充:
波特率19200,程序在图片里,帮忙看下哪里错了,谢谢
图片说明:
最佳答案
1、能读取,程序通讯功能上差不多是对的。
2、是用定时做的还是利用DONE位来循环读取的?
建议用 DONE 位做。
Modbus RTU 主站 (最下面有MODBUS RTU 轮循实例)
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/Master/Master.htm
3、在程序中用DONE的沿捕捉错误代码,查一下有没有错误代码。看一下有没有偶尔非0的错误码
4、通讯线路上有多少MODBUS RTU 从站?从站多了轮循确实是有延时的。
5、通讯线路不是太长,布线规范,系统接地良好,条件合适的话提高一下通讯双方的波特率。
6、适当调整一下主站初始化指令的延时时间,再看看效果。
S7-200 SMART Modbus RTU通信常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
补充:
程序结构是完整的,最后一个读完成位M6.2,直接做为下一个轮循的开始,不要再增加一个置位 M6.3,按这个思路调整一下。
提问者对于答案的评价:
PLC读取程序MSG中会跳出错误3,但是用电脑打开绝对值编码器的软件读取时实时的,不存在延时。还有200SMART的波特率是不是只有9600,19200,187500三种,感觉是程序有问题,大神这边有读取1个编码器单个地址的程序没,可以分享下吗
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc344059.html