签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
wincc7.5,与第三方的小PLC进行通讯,小PLC仅有485接口,modbus规约,买了一个串口服务器做网关,modbusTCP转modbusRTU。小PLC中的modbusRTU的寄存器地址为0x0080~0x008D,而且要求一次性读取。
目前测试的问题是:wincc启动后,首先一直读取寄存器0的数据,从串口处监视的报文为01 03 00 00 00 01 84 0a;而PLC中寄存器0中无数据,则没有回复,wincc就一直这样,而不去读取0x0080~0x008D的数据。
我在串口服务器的485口直接连一台电脑,通过电脑的(Modbus Slave)模拟软件,模拟从站0x0000~0x008D所有的数据,则wincc第一次读取了0寄存器的地址后,就开始一直读取后面变量做好的数据了,01 03 00 80 00 0e c5 e6,数据显示就没有问题了。
而且测试wincc只有在运行界面显示数据包含了这些变量,才会去读取这些寄存器的数据,如果切换到其他界面,就又一直读取0寄存器地址了。
这种情况,wincc可不可以通过什么方法,不读取0寄存器地址,而是一直读取变量里面做好的地址;不然现场设备就通不上。
wincc变量配置,3x400001代表寄存器地址0;
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1764992&b_id=65&s_id=0&num=3
楼主用kepware中转一下
测试了一下,可以采用这个办法解决之前的问题了,感谢。不过有个新问题,就是wincc切换画面再次切回来的时候,数据全部归0,需要过1~3秒才能把数据刷新出来,不知道为什么
引用1楼详细内容:
这个问题处理了,把显示的变量做一个周期归档就可以了。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录