技术论坛

 分享一个WINCC OPC通讯罕见故障

返回主题列表
作者 主题
冰纱
游侠

经验值:351
发帖数:16
精华帖:1
楼主    2021-02-04 11:30:02
主题:分享一个WINCC OPC通讯罕见故障 精华帖 

RT,前几天客户反映一个问题,他在使用WINCC和繁易盒子进行OPC通讯时出现了写入延迟卡死的问题,故障表现为:WINCC更改变量后只在WINCC上有变化,实际PLC变量没有变化;如果在PLC或者繁易盒子软件上进行修改,WINCC上立马有变化。

按照自己多年经验,第一反应就是客户OPC通道建立有问题,因为他时多个同样的设备链接一个WINCC,采用了变量加了前缀区分的方式,后续拿到了客户OPC平台账号密码进行测试,单个站点和多个站点通讯都没有延迟,证明默认的OPC通道是没有问题的,问题再客户源程序上。

后面拿到了客户源程序,发现客户建立了很多OPC的通道,而不是在一个通道下进行分组,开始怀疑时这方面问题,于是删除了原来的所有通道,按照通常的单通道多分组的方式建立了几个设备的链接,测试正常后跟客户反馈,叫客户自己测试下。

结果过了一天,客户还在反映有这个问题,于是我叫他联系西门子,看下西门子工程师那边怎么说。结果西门子工程师回复也是没遇到过这种事,又想把问题推到繁易OPC这边,可是繁易那边技术回复也是没问题。既然两边都说自己没问题,那就是项目的问题了。

开始我推测是不是项目文件有损坏导致写入出现故障,于是我自己复制了源项目,按照顺序添加了变量测试,发现问题居然真的存在,那很明显不是偶然的问题,属于可复制的故障。于是我新建项目,通道一样建立,故障一致。

这个时候,我发现了两次测试时不一样的地方,那就是客户盒子并不是都在线,加上客户盒子的变量名是重复的,为了WINCC上能够读取,都是采用了批量增加前缀的方式,会不会是因为这个导致该故障的出现。

随后我根据个人推测,进行了两个项目的对照测试,同时测试了多个繁易账号的OPC,得出结论,该故障就是我推测的原因导致。


结论:通过OPC访问时,如果OPC端分组下的变量名一致,且采用了前缀或者后缀的重命名方式,那么在某一点掉线后,WINCC的写入将会卡死,即一直在访问掉线的那个点,导致其他正常的变量无法写入值;如果不采用前后缀的方式,在OPC端口就把变量名区分,那么不管导入的变量有没有掉线,都不会影响正常设备的通讯。

低调路过
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。