这个项目差点把我劝退
今年二三月份接了个活——给一个化工罐区做安全控制系统升级。光看名字就知道不简单:罐区里面存着甲醇、甲苯、丙酮,都是易燃易爆的玩意儿。甲方要求原来单纯靠PLC控制的联锁系统,必须升级到PLC+SIS双重架构,满足SIL2等级的安全要求。
说实话,做了十年自动化,PLC项目我做过不少,但正儿八经的SIS安全仪表系统我还是第一次完整地跟下来。接之前我已经做好了掉层皮的准备,结果干完后发现——掉的皮比我想象的还多两层。
先说说SIS是啥,跟普通PLC有啥区别
很多搞PLC的兄弟可能跟我之前一样,知道SIS(安全仪表系统)这个词,但没真正碰过。简单说,PLC管的是”生产”,SIS管的是”保命”。
正常生产时,PLC控制阀门开度、调节流量压力,一切都安安稳稳。但如果某台罐的压力突然飙升,或者阀门该开没开——这时候PLC的反应速度就不够看了,得靠专门的SIS系统来执行安全联锁:迅速切断相关阀门、打开泄压阀、启动紧急停车。
SIS跟普通PLC最核心的区别:
1. 冗余架构不一样。普通的PLC控制系统可能CPU是冗余的,但I/O模块不一定。SIS要求从传感器到控制器到执行器,全链路冗余——两个独立的压力变送器、两路独立的AI模块、两个电磁阀串联,任何一个环节坏了都不影响安全功能。
2. 诊断覆盖率不一样。SIS系统每隔几百毫秒就会对自己做一次”体检”——检查CPU、内存、I/O通道、通讯链路是否正常。发现异常马上报警,而且默认往”安全侧”跑(也就是该关的阀全关,该停的泵全停)。
3. 软件逻辑的写法不一样。SIS里的程序必须简洁、可预测、易验证。不能用复杂的功能块和指针,不能用动态变量。很多安全标准甚至规定SIS程序只能用有限的几种指令——基本就是与或非、计时器、SR触发器。
4. 认证级别。普通的PLC不需要经过功能安全认证。但SIS系统的硬件和软件都得通过TÜV的SIL认证,这是根本区别。
这个项目的具体架构
罐区一共12个储罐,每个罐都有液位、压力、温度检测,进出口有切断阀。此外还有一套紧急泄压系统。
我们的方案是:
控制层——用西门子S7-1500做常规的过程控制(开泵、关阀、PID调节等)
安全层——用西门子S7-1200F(Fail-Safe版本)来做SIS功能。为什么没用更贵的S7-1500F?因为这个项目的安全联锁逻辑不算太复杂,主要是液位高高联锁关进口阀、压力高高联锁打开泄压阀、可燃气体检测超限联锁切断全厂进料,1200F足够覆盖SIL2了。
检测层——每个罐的关键参数用双传感器冗余配置。比如液位,一个雷达液位计进PLC做控制,一个差压液位计单独进SIS做联锁。两个传感器来自不同厂家,避免共因失效。
执行层——关键的切断阀配双电磁阀串联结构。一个电磁阀动作就能关阀,但两个必须都断电阀门才会完全关闭。这样单个电磁阀故障也不会造成误停车。
操作界面——PLC和SIS各有一台独立的HMI。PLC的HMI管日常操作、参数设置、趋势查看。SIS的HMI只管安全相关信息的显示和复位——而且复位有权限管理,不是谁都能点的。
调试过程中印象最深的三个坑
坑一:SIS和PLC之间的通讯隔离。
一开始我没想太多,觉得SIS和PLC之间走Profinet传几个布尔量就行。结果安全评估的时候被专家怼了:SIS和普通PLC之间必须有硬线连接做安全数据交换,不能用网络通讯。因为万一交换机挂了、网线断了,SIS收不到PLC的信号怎么办?最终方案是SIS的DO直接接到PLC的DI上做硬接线,PLC的急停信号也硬线接到SIS的DI上。两边各有一块专用的I/O模块专门负责”跨系统握手”。
坑二:联锁逻辑的”旁路”管理。
在化工行业,有些联锁在特定工况下需要暂时旁路——比如储罐清洗的时候液位高高联锁肯定不能生效。但这个”旁路”怎么设计很有讲究。甲方刚开始说”做个软按钮,在HMI上点一下就行”。我直接否了——软旁路太容易误操作了。最后方案是:旁路开关用带钥匙的硬件选择开关,装在控制柜面板上。旁路状态实时传到SIS记录。每次旁路操作都要在日志里留下记录,谁旁路的、什么时间、因为什么原因。而且旁路时间超过8小时自动报警。
坑三:SIS程序的”离线测试”。
SIS程序写好了不能直接上线跑——要先在实验室搭一套完整的仿真环境跑通。我把12个罐的工艺参数用仿真软件模拟出来,SIS读仿真数据,逻辑触发后看执行器动作是否符合预期。这个测试花了一周时间,前前后后总共跑了三百多个测试用例。一开始只跑了正常工况和故障工况,但安全评估还要求跑”部分故障工况”——比如一个传感器坏了、另一个正常的情况下,系统怎么反应?又要保证安全,又不能因为一个传感器坏了就全线停车。这个平衡调了好几次。
最让我意外的事
项目验收之后,甲方负责安全的工程师跟我说了一句话,让我印象特别深:”这套系统装上去之后,我第一个感觉不是安全了,而是终于能睡个安稳觉了。”
他说以前靠PLC做联锁,他心里一直没底——万一PLC死机了、通讯断了、程序跑飞了,联锁还能不能执行?现在SIS跟PLC是独立的,PLC就算挂了,SIS照样能保护罐区。而且SIS的诊断功能一直在后台跑着,硬件出问题之前提前报警,不像以前等到出事了才发现设备早就有隐患。
说实话,做了这个项目之后,我对”安全”两个字有了新的理解。不是多装几个传感器、多在程序里写几段联锁就是安全了。真正的安全系统设计,核心是想清楚”如果这个设备坏了,系统该怎么反应”。不是防故障,而是容故障。
干这活需要的资料和工具
如果兄弟们也想做类似的项目,建议先看这几份东西:
· IEC 61511(过程工业安全仪表系统的功能安全标准)——这是SIS设计的圣经,先翻一遍心里有个框架
· GB/T 20438(对应的国标)——IEC 61511的中文等效标准,评审的时候专家主要参照这个
· 各品牌的安全PLC编程手册——西门子的Safety Matrix、罗克韦尔的Safety Modules,都有自己的一套安全编程方法论
· HAZOP分析报告——这是项目前期甲方必须提供的,SIS的联锁逻辑完全基于HAZOP分析结果来设计
另外提醒一点:做SIS项目千万别自己闷头干。一定要跟甲方的工艺工程师、安全工程师、仪表工程师开联合评审会。我自己闷头写了三天程序,结果一评审发现有一半逻辑跟工艺需求对不上。后来改成每写完一个罐的联锁逻辑就评审一次,效率反而高了很多。
最后
这个项目做完已经有两三个月了。前两天甲方给我发消息,说运行一切正常,期间有一次仪表故障被SIS诊断出来了,提前更换了,避免了潜在的停车事故。说实话听到这个消息我还是挺有成就感的。
安全仪表系统这块在国内化工行业这两年推得越来越严,很多老厂都在从纯PLC往PLC+SIS升级。有搞PLC的兄弟如果想往这个方向转,我觉得是个不错的方向——竞争没普通PLC那么大,门槛也高一些,做得好口碑传开了项目不愁。
你们做过SIS项目吗?有没有什么有意思的联锁逻辑或者调试经历?欢迎分享,我也学习学习。