自助解决组态王6.55 ModbusTCPserver 通讯BUG

    前两天受朋友之托,帮助某热电厂调试组态王程序,需求是要组态王充当ModbusTCP从站设备来接受对方主站设备传来的12组浮点型数值并将其显示出来,听起来蛮简单的对吧,可是实现的时候却并不简单。

  • 下面我演示下组态过程:
  1. 先创建设备及创建变量
  2. 关联画面

按正常情况的话到这就结束了,直接运行就能显示正常结果,可事情没那么简单,运行结果如下:

 感觉有蹊跷,难道是对方发送数据有问题? 用modsim仿真看一下对方发过来的数据,一切正常。

我郁闷了明明是正常的,可组态王显示无论如何都不正确。

用modscan扫描一下看组态王到底接收到了些什么数据,仔细分析发现数据到40013就结束了,感觉像是地址重叠了,

  手动写入寄存器测试,显示一切正常。

扫描二维码关注公众号,回复: 11367760 查看本文章

这是什么鬼,modsim分明能完整的接受到数据而到了组态王却变成了一半,modscan手动写入组态王显示结果又一切正常?

怀疑有没有可能是软件的问题呢?遂换新版本的软件测试。

结果不言而喻组态王升级到7.5sp2后一切正常。这也太坑了吧,竟然有这样的事情。

故事到这里就结束了?并没有。

组态王6.55用起来这么方便,升级到7.5sp2后加密狗不通用啊,得想想办法。

深入测试发现只需要到官网更新最新版官网驱动即可,具体安装方法可以自己百度。

至此问题圆满结束。

BUG的具体细节:

路径为C:\Program Files (x86)\kingview\DRIVER\ModbusTcpServerCP.dll 版本60.2.12.10的驱动有BUG,只支持单寄存器写入。

我前面用modscan写入时使用的是单寄存器方式遂一切正常,而多寄存器写入(modbus功能码16)时就会出现上述故障。

总结   

    遇到这种问题的时候真的要各凭本事了,也许打电话给组态王技术支持可以很快的解决问题。但我养成了习惯,遇到问题不喜欢去问别人,总喜欢自己去找问题感觉那样比较爽但及其的浪费时间,不推荐效仿。

最后

    如果你有什么有意思的想法可以给我留言,就这样吧,拜了个拜。

猜你喜欢

转载自blog.csdn.net/gongjian0684/article/details/100182553
今日推荐