各位老师,
我现在要实现的是上位机(组态王)做主站,从站有226,同时226又作为主站,从站有一个modbus采集设备(因需要226读取采集值做计算处理)。现在上位机和226能够通讯,但上位机没有读出modbus采集设备的模拟量值。不清楚是226没读上来还是怎么情况,我用一个modbus调试程序单独读采集器是读得出的。各位老师,请问是什么原因?上位机的com口是9600,226的port0 地址3,9600;port1 地址2 19200;采集器的地址4 19200。
226里的程序请见下图,只写了个读30001~30008
是用的485组网的
问题补充:
各位老师,我就卡在无法确定226是否将数据从采集器上读取过来,因为用了modbus,编程电缆无法在run模式下在mircowin中监控...各位老师有什么办法吗?请指教,谢谢!
程序图片顺序是7134562
图片说明:
最佳答案
上位机与226能够通讯,226又能够读到modbus数据,但上位机无法读取modbus数据的可能原因是地址区问题了。
你检查图4中读取modbus数据VB1020的8个字节数据是如何与上位机通讯的。
补充问题回复:
由于端口被占用的问题在实际工作中都会面临的,解决的办法是增加通讯模块或一个项目一个项目的调试。如你调试modbus RTU通讯时,先将上位机的那个通讯口作为监控,反之,modbus RTU调试完毕后,将此通讯口暂时复原到PPI通讯模式做监控,再调试与上位机通讯,完成后,再将此口改为modbus RTU,虽然感觉麻烦,但也是一种“无奈”的办法。
提问者对于答案的评价:
谢谢老师的回答,是地址错了
专家置评
已阅,最佳答案正确。
当出现这个问题时,可以先让226做modbus主站,去读下位设备参数,另一个口采用编程电缆监控,如果这时数据读上来了,但是再激活modbus从站后数据不过来,那么可怀疑地址错误。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc192132.html