现在程序里已经写好INIT和SLAVE程序,地址为2,偶校验,&VB0起始地址,没有报错,采用的是DCS上位机,但串口调试通讯不上,不知道有没有别的要设置的?还有一个就是,如果通讯上了,我的aiw0的值是转换到了VD2068,DCS那边modbus地址对应的应该是多少啊?
问题补充:
现在的情况是都通讯上了,具体是他们接线没锁紧,目前主要是如NSWDN所说的模拟量读取上,VD是双字而且还是浮点数,现在读上来的值不知如何理,希望各位高手指导,图片前面6个字就是三个模拟量。
图片说明:
最佳答案
是41034和41035.对方DCS的modbus的地址可能要在前面的基础上加1或减1,因为有的定义地址从0开始,有的从1开始。还有你的数据是VD应该是浮点数占2个字,但modbus传送是1个字。要想把浮点数传过去估计沟通比较费事,不如直接传字过去再告诉其标定范围让其像运算模拟量一样得出浮点数还更好一点。还有通不上那modbus从站功能程序块会有出错信息的,到时看看可能会有帮助。
提问者对于答案的评价:
谢谢大家的帮助,问题现在已经都解决了,MODBUS调试精灵还不错,MODSCAN32可以自动将两个字的浮点数转换并显示,谢谢。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc218411.html