两台PLC做了个冗余系统,一台挂了另一台3秒接管

去年接了一个化工厂反应釜控制系统的项目,甲方提了个硬性要求:控制系统必须做冗余,单点故障不能导致停产。

原因很简单:一锅料值两千多万,反应过程不能中断超过几分钟,否则整锅报废。甲方原话是”宁可备着不用,不能用时没有”。

什么是PLC冗余?就是两台PLC一起干活,一台是主机(Master),一台是备机(Slave)。正常情况下主机控制一切,备机在旁边看着、同步着程序和数据。一旦主机挂了、通讯断了、或者心跳丢了,备机在几秒内接管全部控制权。产线不停,操作工甚至感觉不到已经切换了。

冗余方案主要分两种:硬冗余和软冗余。硬冗余用西门子S7-1500R/H系列,专门为冗余设计的硬件,切换时间100ms以内,但贵,一套下来多花五六万。软冗余用两台标准S7-1500(比如1513),通过Profinet同步数据和程序。切换时间1-3秒,成本只多了台PLC。化工厂这个项目用软冗余就够了。

项目实施中几个关键点:第一,ET200SP分布式IO必须选支持冗余的接口模块,两台PLC都能通过Profinet读写同一组IO。第二,数据同步通过PUT/GET通讯,每500ms同步一次关键数据(阀门状态、温度、压力、配方参数)。第三,心跳检测用PLC自带的”监控定时器”,备机如果在5秒内收不到主机的”活着”信号,就认为主机挂了,自动切换。

项目投运后第三个月赶上一次雷击,主PLC的电源模块被浪涌打坏了。操作工甚至没注意到,因为备机在3秒内接管了全部控制。直到第二天巡检才发现主PLC的Power LED不亮了。这就是冗余的意义。

上一篇 搞PLC的该不该学Python?一个干了十年的老工程师说点实话
下一篇 AI帮我把三菱程序翻译成西门子,省了一个半月时间