关于超声波流量计通讯方面问题的问答
1.问:为什么连接不上流量计?,接上后它不做任何反应?
答a. 检查串口参数是否匹配。
b.检查物理连线是否接好
c.网络地址是否设置正确
2.问:为什么凯发彩票-凯发k8ag旗舰厅真人平台modbus读出的量值乱七八糟的,和显示值完全不一致?
答:一般来说如果modbus协议能够读出数据就表明协议本身没有问题了。乱七八糟的数据是因为存在如下错误:
a.数据格式错误; b.寄存器地址有误,导致数据发生了位移而产生错误。
比如real4这种实型变量(ieee754格式的单精度浮点数),按照字和字节共有4种不同的排列方式,tds100使用的是一种,即低word和高byte在前格式。您可以修改您的软件的数据存放格式解决这个问题。如果使用通用的组态软件,则组态软件一般具有一个选择格式的方法。
3.问:超声波流量计我的系统要求每次1小时只发出一次命令然后要求同时收到多个变量,应该使用 那个协议?
答:一条modbus命令可以一次读出很多变量。
4.问:为什么超声波流量计通过协议读出的量值和流量计显示的不一致?
答:a. 确认变量地址是否就是您要求的那个变量?因为流量计内部的变量太多,是否混淆了? 注意在读取数据时,reg 0001在命令字符串中表示为0000,而不是0001。0001在命令字符串中表示读出reg 0002的内容。
b.对于累积量只能显示7位10进制数字,而通过modbus协议可以读出8位10进制数字。这种情况下,读出来的数值的后7位是一样的。
5.问:我的超声波流量计系统不能支持长整数以及实型变量格式,应该怎么办?
答:需要采用数值转换方式,或查找新驱动程序解决。
6.问:modbus超声波流量计有测试程序吗?
答:有!推荐使用modscan这个软件,可以在网上搜到。这个程序很是方便,有助于方便检查读出的数据,理解各种类型数据的含义。
7.问:流量计是否具有模拟运行状态以方便测试,怎样设置?
答:有!m1111进入液晶显示分组,ent键切换至输入输出分组,m307选择模拟运行,m308设置瞬时流量,即启动模拟运行状态。
8.问:使用c时,浮点数存放顺序是怎样的?
答:例如3f 9e 06 51四个字节为1.2345678的ieee754格式单精度浮点形式。在modbus数据流中的顺序是06 51 3f 9e,1号地址数据流应该是01 03 04 06 51 3f 9e 3b 32(十六进制数字)。在x86计算机中使用c语言时,按照内存从低到高存放顺序51 06 9e 3f。
再例如读取净累积寄存器reg25,reg26两个寄存器命令如下:01 03 00 18 00 02 44 0c(十六进制数字)
返回数据应该为(设净累积器=802609,其4字节16进制表示为 00 0c 3f 31)01 03 04 3f 31 00 0c a7 ed(十六进制数字,a7 ed为效验和)