由于硬件和软件兼容性的问题,导致施耐德PLC+OPC+WinCC 6.0的控制构架出现了严重的数据传递问题,给用户造成了巨大损失。
尽管事故现象极具欺骗性,但是也并非毫无破绽,比如在PLC死机后,所有信号都停止刷新,由于OPC的中介作用,WinCC接收到了最后的正确信号信息,并一直保持显示出来,让控制画面保持了设备正常工作的状态显示,这就是给操作者造成误导的原因。
但是,数字量信号停止刷新后将保持一个状态,或为1或为0,而模拟量信号停止刷新后将保持一个固定的值,不会像正常工作时不断在跳变。
实际工作中,无论是流量值还是压力值,即便是静态时,也不可能永远保持一个固定的值,会随着PLC的刷新频率在一定范围内进行跳变。
所以当发现模拟量值长时间固定不变时,基本可以判定通讯已断或PLC已经无法刷新数据了,那就要及时进行排查了。
但是由于不是主要生产设备,加上操作员经验不足,所以没有及时观察到数据异常的问题。
尽管这一隐患非常罕见,但是已经造成了事故,需要采取措施进行补救。
展开全文
经过技术人员的分析讨论,给出了几个改进方案:
首先由于硬件和软件的不兼容问题,可以尝试统一软硬件,也就是更换PLC,使用西门子品牌PLC替换施耐德PLC,这样可以一劳永逸消除隐患,但是改进成本太高,相当于推倒重建,性价比太低。
其次就是升级WinCC到7.0版本,这样就可以使用Modbus通讯,直接连接施耐德PLC和WinCC,省去了OPC的中间环节,让通讯的安全性、快速性和稳定性都大为提高。但是重新建立通讯协议,几百个变量都需要重新链接并不是一个小工程,况且,通过OPC链接的数字量地址需要加位,比如PLC地址是M1024,那么在OPC中建立的相应地址则是M1025。而Modbus通讯却不需要加位,这样就需要重新建立所有变量。
另外,之前之所以使用WinCC6.0版本,是为了和主线控制画面整合,节省软、硬件配置,如果换成WinCC7.0版本,就需要另外增加高配电脑,操作室空间有限摆放是一个问题。
第三个方案是将施耐德PLC状态信号引到主线PLC中,用主线西门子PLC来监控施耐德PLC的状态,这一方案极具操作性,但是由于主线PLC和辅助设备PLC隶属于不同设备管理作业区,一旦交融在权责上要重新明确。另外,主线PLC担负生产重任,也不建议随便添加额外信号。
第四个方案就是容忍隐患的存在,但是制定定时检查制度,依靠人员的检查来及时发现事故。这一方案也极具操作性,但是由于生产任务紧,岗位人员配置紧张,加上所需检查设备安置地方偏僻,定时检查会牵扯人员精力,不利于生产任务的完成。
尽管四个方案都有实施的可能性,但是从性价比和复杂程度来看,前两种方案自然被拒绝了。而后两种方案尽管实施起来相对简单,但是也有一定缺陷。最终经过技术人员的再次研究,终于找到了一种非常巧妙的实施方案。