概述
前两天受朋友之托,帮助某热电厂调试组态王程序,需求是要组态王充当ModbusTCP从站设备来接受对方主站设备传来的12组浮点型数值并将其显示出来,听起来蛮简单的对吧,可是实现的时候却并不简单。
- 下面我演示下组态过程:
- 先创建设备及创建变量
- 关联画面
按正常情况的话到这就结束了,直接运行就能显示正常结果,可事情没那么简单,运行结果如下:
感觉有蹊跷,难道是对方发送数据有问题? 用modsim仿真看一下对方发过来的数据,一切正常。
我郁闷了明明是正常的,可组态王显示无论如何都不正确。
用modscan扫描一下看组态王到底接收到了些什么数据,仔细分析发现数据到40013就结束了,感觉像是地址重叠了,
手动写入寄存器测试,显示一切正常。
这是什么鬼,modsim分明能完整的接受到数据而到了组态王却变成了一半,modscan手动写入组态王显示结果又一切正常?
怀疑有没有可能是软件的问题呢?遂换新版本的软件测试。
结果不言而喻组态王升级到7.5sp2后一切正常。这也太坑了吧,竟然有这样的事情。
故事到这里就结束了?并没有。
组态王6.55用起来这么方便,升级到7.5sp2后加密狗不通用啊,得想想办法。
深入测试发现只需要到官网更新最新版官网驱动即可,具体安装方法可以自己百度。
至此问题圆满结束。
BUG的具体细节:
路径为C:Program Files (x86)kingviewDRIVERModbusTcpServerCP.dll 版本60.2.12.10的驱动有BUG,只支持单寄存器写入。
我前面用modscan写入时使用的是单寄存器方式遂一切正常,而多寄存器写入(modbus功能码16)时就会出现上述故障。
总结
遇到这种问题的时候真的要各凭本事了,也许打电话给组态王技术支持可以很快的解决问题。但我养成了习惯,遇到问题不喜欢去问别人,总喜欢自己去找问题感觉那样比较爽但及其的浪费时间,不推荐效仿。
最后
如果你有什么有意思的想法可以给我留言,就这样吧,拜了个拜。
最后
以上就是如意网络为你收集整理的自助解决组态王6.55 ModbusTCPserver 通讯BUG的全部内容,希望文章能够帮你解决自助解决组态王6.55 ModbusTCPserver 通讯BUG所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复