咨询电话:

18642698067

 

新闻动态 / NEWS

 

联系我们 / contact us


地址:大连市甘井子区华北路293号

销售热线:0411-39563370  / 18642698067

传真:0411-62635881

QQ:944617842

邮箱:dlzyzk@126.com

新闻中心 

当前位置: 首页 > 新闻中心

关于MODBUS通讯方面问题的问答

发布时间:2015-04-20

 

问:为什么连接不上流量计?,接上后它不做任何反应?

答:A. 检查串口参数是否匹配;位于M63窗口的协议选择是否正确

    B.检查物理连线是否接好

    D.位于M46窗口的地址是否设置正确

      C.把流量计重新上电,应该能接收到字符“AT”,否则AB步存在问题

       D.检查命令是否正确。在使用扩展协议时命令后面要紧跟者一个回车符号

问:为什么MODBUS读出的量值乱七八糟的,和显示值完全不一致?

答:一般来说如果MODBUS协议能够读出数据就表明协议本身没有问题了。乱七八糟的数据是因为存在如下错误:

   A.数据格式错误; B.寄存器地址有误,导致数据发生了位移而产生错误。

比如REAL4这种实型变量(IEEE754格式的单精度浮点数),按照字和字节共有4种不同的排列方式,TDS100使用的是**常规的一种,即低word和高byte在前格式。您可以修改您的软件的数据存放格式解决这个问题。如果使用通用的组态软件,则组态软件一般具有一个选择格式的方法。

问:我的系统要求每次1小时只发出一次命令然后要求同时收到多个变量,应该使用     那个协议?

答:一条MODBUS命令可以一次读出很多变量。如果MODBUS-RTU不能解决问题,可以使用使用“&”连接符号连接起来的海峰扩展协议。还可以使用简易兼容协议,或者Meter-BUS协议。

问:为什么通过协议读出的量值和流量计显示的不一致?

答:A. 确认变量地址是否就是您要求的那个变量?因为流量计内部的变量太多,是否混淆了? 注意在读取数据时,REG 0001在命令字符串中表示为0000,而不是00010001在命令字符串中表示读出REG 0002的内容。

    B.对于累积量只能显示710进制数字,而通过MODBUS协议可以读出810进制数字。这种情况下,读出来的数值的后7位是一样的。

问:我的系统不能支持长整数以及实型变量格式,应该怎么办?

答:需要采用数值转换方式,或查找新驱动程序解决。

问:MODBUS有测试程序吗?

答:有!推荐使用MODSCAN这个软件,可以在网上搜到。这个程序很是方便,有助于方便检查读出的数据,理解各种类型数据的含义。

问:流量计是否具有模拟运行状态以方便测试,怎样设置?

答:有!在M11窗口中输入0值即启动模拟运行状态。模拟运行状态下总是设置流速为1.2345678m/s,瞬时流量等于0,并且显示“R”状态。如果要求瞬时流量为设定值,则可以通过在M44窗口中输入一个负的设定值实现。例如在M44窗口中输入-3600立方米/秒。瞬时流量就会显示为3600立方米/秒。这时所有累积器也会做相应的累积。因此就得到了变化的累积量输出。使用这个功能,能在不接传感器的条件下,特别方便与联网软件的调试以及流量计功能的测试。

问:使用C时,浮点数存放顺序是怎样的?

答:例如3F 9E 06 51四个字节为1.2345678IEEE754格式单精度浮点形式。在MODBUS数据流中的顺序是06 51 3F 9E1号地址数据流应该是01 03 04 06 51 3F 9E 3B 32(十六进制数字)。在X86计算机中使用C语言时,按照内存从低到高存放顺序51 06 9E 3F

          再例如读取净累积寄存器REG25REG26两个寄存器命令如下:

          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为效验和)

 
 
 

版权所有:大连中阳自控技术有限公司  销售热线:0411-39563370  / 18642698067 真:0411-62635881  辽ICP备09001985号-3


大连中阳自控技术有限公司

大连中阳自控技术有限公司