SetTag..,gettag..SetTag..wait (),gettag..wait()函数
使用过WINCC 的人知道,读写外部变量用到SetTag..,gettag..SetTag..wait (),gettag..wait()函数,就不知道WINCC是怎么判定的,只要这些函数有一次执行不成功,便记录一次,总共累积次数到5000左右,WINCC就会爆发异常错误然后死机或死程序,特别是用OPC驱动接非西门子产品时,这个问题更加明显。
其实通讯过程中,由于通讯延迟或设备有时解释协议出错,需要下一次从新通讯的这种情况很多,一般通讯软件都有重复测试这个功能。一般组太软件是用一个服务器程序同硬件通讯,画面再读写服务器数据,这样就是有几次通讯不正常或干扰,都不影响画面操作。即使通讯真的不正常,画面也只会显示短断线状态,而不会死机。
WINCC正好相反,表面上看也有SQL服务器,可是通讯错误都累积,所有只要有点干扰最后必然导致死机,只是死机时候不确定。