200PLC和斯菲尔电表用modbus-rtu通讯,程序什么的都正常,就是读出来的电压值显示的有问题,电表显示的225V,可我读出来的只有8,附图,请各位工控大神们指点小弟迷津,究竟是为啥,我就想读出来一个A相电压 这么难- -
问题补充:
那我是不是对应的应该监控vw1006这个数据啊,为啥我监控完了这个数是+549呢,可以加下微信联系么,或者电话也行
电话18940456964
微信han02699
图片说明:
最佳答案
1、一定要按照你上传的第一张图的数据格式进行数据转换。
2、第一张图的数据格式中的数据均为浮点数(实数),浮点数(实数)为32位的双字长,即等价为两个字,或等价为四个字节。
3、如果需要将读取的数据转换为双整数(32位整数型),程序中可应用ROUND指令(四舍五入,将一个实数转换为一个双整数)或TRUNC指令(取整,将一个实数转换为一个双整数)。
4、注意!本人在应用PLC通过通讯才采集智能仪表数据时所遇到过实际问题。
、如果通过通讯所读取数据与指针指示表显示的数据不一致,该如何处理?
在确认通讯没有问题,则是数据转换问题了。特别要注意,有的智能仪表传送到PLC的数据会有高字与低字,或高字节与低字节颠倒的现象!首先要将采集的数据按字或字节的重新编排顺序,再进行数据类型转换,才能得到正确的读取数据。
、要结合应用指针或数字显示表的数据来核对通过通讯采集的数据,是否一致。如不一致,其中传送到PLC的数据会有高字与低字,或高字节与低字节颠倒的现象了。遇到这种情况,就有按照指针或数字显示表的数字来找数据高字与低字,或高字节与低字节颠倒的规律了。
提问者对于答案的评价:
电表传过来的是2#0000_0101
我要通过什么方式才能转换成2#1100_0100呢
跪求大神指点
最佳答案作者回复:
1、听一位朋友讲,用MODSCAN(串口测试工具)读斯菲尔PD194Z-2S4内的电压数据,读B相的电压,显示的是237.5V,用MODSCAN32在线监测地址为0040H的地址它的值为2296也就是229.6V。建议先你应用串口测试工具MODSCAN32(网上可下载)连接仪表,打通通讯,清楚了解了斯菲尔仪表的数据格式,再连接PLC。2、注意接收数据是双字DW,不是单字W!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc365333.html