当前位置: 主页 > PLC控制

winn tcp/ip

目标:我想用wincc作为上位机通过MODBUS-RTu向下位机读数;下位机和wincc之间有一个485转以太网模块。
出现的问题:wincc上位机读取是设备ID号为1;寄存器地址为0000;寄存器个数为0005,得到CRC为85C9.
这样wincc发送的数据就为01030000000585C9。我用了modbusslave模拟下位机软件,这时候下位机的数据能够传到wincc,没错。
然后下一步我接上了我的下位机,里面的一段代码是匹配01030000000585C9,按理说也能够返回数据了,但是上位机没有反应。然后我在线调试后发现,下位机收到的数据不是上面这些而是01031A810001D33A。为了确定我又用串口调试助手接wincc发来的数据,发现也是01031A810001D33A。
最后就感觉好晕啊。1、为什么模拟下位机modbusslave返回数据,真实的下位机就不可以。
2、为什么wincc发送的数据变化了,不是期待的010300000585C9

最佳答案

问题出在了wincc编程这边了,先把wincc的脚本编辑好了,能够正确发送数据了。
可以简化一下wincc,创建一个按钮,固定发送01030000000585C9,看看数据是否正常发送出去了;

wincc发送的数据变化了,说明wincc内部的变量或者脚本出错了,有重复赋值之类的情况,或者变量引用错误

问题肯定出在了wincc编程这边了,需要一步步调试wincc。

提问者对于答案的评价:
谢谢

  • 关注微信

猜你喜欢

微信公众号