ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

冷站通讯中断引发联锁停机?PLC控制逻辑优化与故障排查实践

冷站通讯中断引发联锁停机?PLC控制逻辑优化与故障排查实践 1. 场景还原凌晨两点的那通电话做冷站自控的同行应该都有过这种经历——大半夜手机响一看是运维值班室打来的心里就是咯噔一下。我接起电话对面声音很急“3号主机通讯断了整个冷站联锁跳机了现在A区AHU送风温度已经超过26度领导已经在问情况了。”赶去现场的路上我把最近几个月的巡检记录在脑子里过了一遍。这个项目的冷站其实不算大三台离心式冷水主机、四台冷冻水泵、四台冷却水泵、三台冷却塔配置上走的是常规的三用一备逻辑。整个冷站由一套PLC做主控通过Modbus TCP与各主机自带的控制面板通讯上位机再做监控和记录。按理说这种规模的项目通讯拓扑并不复杂不至于闹到全站停机的地步。到了现场先做两件事看报警记录、查主机本体状态。报警记录上写着23:47A组通讯总线第2节点超时主机通讯中断23:47:12控制器下发联锁停机指令23:47:182号、3号主机相继停运23:48冷冻水泵和冷却水泵跟着停冷却塔风机全部降至低速。整个过程不到40秒冷站就完成了从正常运行到全部停机的“切换”。这就是典型的由主机通讯中断引发的冷站联锁停机事故。这篇内容我会从头到尾把这个案例拆开讲清楚为什么通讯断了会引发联锁停机、联锁逻辑里哪些设计是合理的哪些埋了雷、现场排查的时候该按什么顺序查、以及后续怎么通过软硬件优化让系统在通讯故障时不会再“一刀切停机”。对运营冷站、做BA系统调试、或者写控制策略的工程师来说这类问题几乎必然会碰到搞明白一次后面遇到类似项目就有底了。2. 冷站联锁停机机制拆解为什么会“断通讯就停空调”2.1 冷站系统联动控制关系梳理冷站不是一台设备独立运行而是一套需要紧密配合的系统。主机负责制冷但制冷产生的热量要通过冷却水泵和冷却塔带走冷冻水侧要有冷冻水泵把冷水送到末端还要靠电动阀门调节各支路流量。任何一环出问题主机都无法正常运转。自控系统做的事就是把这几环穿成一条联动逻辑启动顺序必须是冷却塔→冷却水泵→冷冻水泵→主机停机顺序则相反。这个顺序靠的就是各级状态反馈冷却塔风机运行确认、冷却水泵运行状态与水流开关信号、冷冻水泵运行状态与水流开关信号、冷冻水供回水压差、主机自身的报警与运行状态全部满足才允许主机点启动。联锁停机也同理当运行条件不再满足系统就要按安全优先级执行保护动作。所谓“联锁”本质就是把多台设备的状态统一纳入一个判定逻辑里任何关键信号异常则触发对应设备的保护动作甚至整站停机。设计这套逻辑的初衷是保护设备安全——防止水泵跳了主机却还在运转造成蒸发器冻裂或冷凝器超压那是几百万元的损失。2.2 主机通讯中断为什么会被视为“故障信号”但这个项目的关键问题在于主机的“通讯状态”也被纳入联锁判定而且权重很高。系统怎么知道主机活着主要靠两部分一是主机的硬IO点包括运行状态、故障状态、水流信号等二是通讯交互的数据包括实际负荷率、蒸发器进出水温度、冷凝器压力、导叶开度等。在多数冷站项目里主机的启停指令是硬接线干接点而状态读取和参数监控靠通讯。但这个项目的控制器和主机之间走的是纯通讯控制——启动、停机指令通过Modbus TCP下发运行状态、报警状态也依赖通讯回传。这样做节省了IO模块和电缆价格上确实有优势但把“安全”也押在了通讯可靠性上。主机通讯中断意味着控制器对主机的状态判定瞬间变成“未知”。而控制器的逻辑里有一条任何主机在没有运行状态反馈而且通讯超时的情况下视为设备故障进入联锁停机流程。这就解释了为什么通讯中断40秒内整个冷站全部停了——不是主机坏了而是控制系统认为主机“状态不明且无法控制”按照安全逻辑执行了保护。这里把联锁停机和设备本身故障的保护混在了一起是设计层面值得商榷的地方。用一个生活类比你家里的门锁如果指纹模块失灵系统就自动把所有门窗全部反锁防止有人进来。听起来安全但更合理的设计应该是指纹失灵时保持当前状态、切换到钥匙开锁模式、同时发出提醒而不是把全屋门窗锁死。2.3 通讯中断后的故障传播路径故障传播路径值得仔细复盘一遍。23:47通讯超时首先触发的是“主机通讯故障”这个软报警。接着控制逻辑判断当前主机处于运行状态但无状态反馈同时存在通讯超时自动将主机标记为“故障停机”。这个动作一旦执行联锁逻辑里“主机运行正常”这个条件就不成立了下游的冷冻水泵、冷却水泵、冷却塔依次被连锁关停末端供冷中断。整个过程没有一个环节在“保护设备”完全是在“保护逻辑”。设备本身没有过流、没有超压、没有低温纯粹因为通讯链路抖动就被按故障处理。从影响范围看这一停导致整个A区供冷中断将近3小时直到第二天重新启动系统并确认一切正常才恢复供冷。被影响的包括办公区、实验室和一个对温度敏感的机房。算下来损失比一次主机故障换压缩机还要大。我在现场和同事复盘时说过一句话这根本不是什么设备故障是我们的控制系统在通讯异常时没有选择“保守但可用”的策略而是选择了“绝对安全但全停”的策略。这类设计在工厂里可能说得通——你宁可让产线停下来也不能烧设备但冷站不一样冷站全停并不会保护主机反而会因为水流停滞、温度骤升造成更麻烦的后果。3. 主机通讯中断的现场排查全流程实录3.1 第一步区分“主机故障”和“通讯故障”应急处理的第一件事不是急着重启而是先搞清楚主机本身到底有没有故障。当时我人还没到中控室就在电话里让值班员先做两个操作一是看3号主机的本地控制面板面板上有没有故障代码二是看另外两台主机的本地面板按“远程模式”观察通讯指示灯的状态。这个动作很关键它能把问题一分为二如果本地面板显示正常说明主机本体没问题如果三台主机同时显示“通讯丢失”说明问题大概率出在通讯链路或者控制器侧。值班员反馈3号主机本地面板没有报警但显示通讯超时2号主机本地面板正常也在报通讯超时1号主机因为控制器已经完全和它失去联系本地面板还在坚持运行直到联锁停机指令从硬接线送过去才跳掉。这就基本确诊了不是三台主机坏了而是控制器到主机之间的通讯总线出了问题。到这一步处理方向就从“抢修设备”变成了“排查通讯链路”。3.2 第二步从物理层开始逐段排查通讯链路通讯链路排查有一个铁律先物理、再链路、最后应用。物理层主要查介质和接口链路层查协议和超时参数应用层查数据解析和轮询逻辑。这次排查从控制器侧开始顺序如下先查控制器到交换机的网线插拔确认可靠水晶头弹性正常。再查交换机的端口指示灯看当前端口是亮绿色还是橙色闪烁——绿色代表链路正常橙色闪烁代表有数据但错误多。当时交换机的第5、6、7三个端口指示灯都在闪烁但第7端口的橙色灯占比明显偏高说明物理链路有但质量不好。接着查交换机到主机通讯模块的线路。这个项目因为距离主机房比较远从控制柜到机组用的是光纤两端有光电转换器。检查光电转换器时发现一个容易被忽略的问题A端转换器的光纤收发指示灯忽明忽暗而且用手摸外壳时明显偏烫。工业级光电转换器的工作温度上限一般是60到70度当时控制柜内温度已经在55度左右长期烤下来收发模块性能已经开始衰减。再往下查主机侧通讯模块。打开3号主机的电气柜通讯扩展模块的RUN灯正常但RX/TX灯基本不亮说明数据到了一半就断了。用万用表量通讯模块供电端DC 24V实际只有21.8V波动幅度超过15%。通讯模块对供电质量非常敏感电压偏低或者纹波过大都会导致收发电路工作异常重载时直接丢包。综合来看这次通讯中断实际是一场慢慢积累的“慢性故障”光纤链路老化导致信号衰减、光电转换器过热导致误码率上升、通讯模块供电不足导致丢包率变大三种因素叠加最终在某一次数据传输中超过了超时阈值触发了联锁停机。没有单一雷点全是边缘压力叠加后的结果。3.3 第三步解析报警时序还原停机逻辑链排查到物理层之后还得把报警记录完整调出来看一遍。不能只看控制器侧报警记录主机的运行记录、通讯网关的日志、上层SCADA的SOE事件顺序记录都要对齐看。这样才能搞清楚“谁先谁后”“谁触发谁”。现场调到的时序是这样23:46:583号主机通讯模块最后一次正常回应控制器轮询数据包正常。23:47:02通讯网关连续两次未收到3号主机应答按配置标记“第2节点超时”。23:47:05网关再发一次读请求仍然无应答确认通讯中断。23:47:09控制器将3号主机状态改为“通讯故障”并按预设逻辑触发联锁停机。23:47:12控制器同时向三台主机下发停机指令开始停冷冻水泵、冷却水泵。23:47:18全部主机停止运行。有个细节值得注意1号主机在主控器下发停机指令前已经失联按照逻辑它也应该被判定为“通讯故障”。但因为三台主机共用一条总线总线上一旦出现链路问题往往就是“跳闸一大片”而不是单点故障。也就是说这个项目的通讯拓扑存在单点故障风险——一条总线坏了三台主机一起被拉进故障状态联锁逻辑又被设计成“任何一台主机故障就全站停机”两个因素叠加放大效应非常明显。3.4 几种常见的通讯中断根因对照这次是链路老化叠加供电问题。我在其他项目里还碰到过不同根因放在一起对照着看比较直观根因类型表现特征出现频次排查手段物理线路老化/断纤光纤收发衰耗增大、数据丢包高OTDR光时域反射仪测试、替换短接法通讯模块供电异常电压偏低、纹波大、模块发热高万用表测电压、示波器看纹波交换机端口故障/拥塞端口指示灯异常、广播风暴中抓包分析、更换端口测试主机侧通讯模块损坏模块RUN灯正常但RX/TX不动作中替换模块、观察指示灯接地干扰/浪涌偶发丢包、通讯时序错乱高检查屏蔽层接地、加装信号隔离器控制器程序跑飞/资源耗尽轮询停止、网关无数据输出低查看程序扫描周期、CPU负荷、重启恢复这次故障属于第一类加第三类的高频组合。很多项目做完验收之后就不再关注通讯质量线缆老化、模块超温、端口误码都在慢慢发展直到某一次触发阈值才爆发。平时运维如果只看设备温度、压力这些过程量很难发现通讯正在恶化。4. 整改方案让通讯中断不再“一刀切全停”4.1 硬件链路改造的四个优先方向恢复运行以后我们要面对的核心命题是怎么改才能让系统在下次通讯中断时不会全站停机先从硬件上动手。这个项目最明显的单点风险就是“一条总线带全部主机”所以首选项是把单总线改为每台主机独立通讯链路或者拆成两组总线每组挂一到两台主机。这样即使某一台主机的通讯链路出问题也只影响那一台不会波及其它设备。第二方向是加通讯链路冗余。主用链路走光纤备用链路走硬接线IO点包括主机的运行状态、故障状态、远程/本地状态全部硬接线送回控制器。哪怕通讯全断控制器至少能通过硬接点掌握主机关键状态不至于盲判“通讯故障设备故障”。第三方向是升级通讯介质与转换设备。光纤用单模替代多模、光电转换器选宽温型、通讯模块供电改成独立DC 24V电源回路并加装电容滤波。成本不高但能显著提升链路稳定性。第四方向是所有通讯端口加浪涌保护器同时确保控制柜与主机之间的等电位连接良好减少共模干扰对通讯的影响。硬件改造的意义不只是提升稳定性还有一个更重要的作用让联锁逻辑有可靠的“降级方案”。通讯再不稳定控制系统的判断基础依然存在。4.2 控制逻辑上的关键调整分级报警别一刀切停机硬件改造解决了单点问题但控制策略如果还是老样子遇到单台主机通讯断依然可能连锁反应。所以第二块方案重点是修改控制逻辑。核心思路是“分级处理”把通讯中断按严重程度分成三档我只把第三档才会触发停机。第一档单台主机通讯超时但未超过设定次数比如连续超时3次以下。此时仅报警不动作维持当前运行状态控制器自动重试通讯。第二档单台主机通讯连续超时超过阈值或通讯恢复正常后又在短时间内反复中断。此时将该主机切为“降级控制模式”保持该主机当前运行状态禁止自动增减载同时通过硬接点信号确认主机运行状态如果主机运行状态正常则继续维持运行只是把控制权交给本地面板通知运维人员到场确认。其他主机不受影响系统整体供冷继续。第三档主机通讯中断的同时硬接线反馈也丢失或者主机本身报出故障代码。这种情况下才允许触发该主机单独的联锁停机以保护设备安全。停机只针对故障主机其它主机根据需要自动增载接替负荷。这套逻辑的核心是把“通讯状态”和“设备状态”解耦。通讯断了不代表设备会坏只是观察不到。在设备本身没有故障信号的情况下维持运行比贸然停机更安全。这就像仪表盘速度表失灵你不会立刻靠边停车而是保持当前速度、缓慢靠边再检查。4.3 增加自愈与自动恢复机制光有分级告警还不够还得让系统在通讯恢复之后能够自动回到正常控制模式。自愈机制这块当时做了三个方面第一是通讯恢复自动重连。控制器每2秒轮询一次通讯中断后继续尝试连续成功3次即判定恢复并把对应的主机切回自动模式。这个参数不建议太短否则通讯一抖又立刻判定恢复来回切换反而容易造成振荡。第二是负荷自动再分配。当某台主机通讯中断进入降级模式时控制器会重新计算剩余主机负荷对仍在通讯的主机做加减载。逻辑上要留手操余量不能让主机直接拉满防止其他主机因为负荷过高而报警。第三是故障记录与自诊断。控制器把每次通讯中断的时刻、时长、误码率、重连次数全部记录到历史库并在上位机显示趋势。这些数据后期可以用来分析通讯质量走向提前发现链路劣化把故障消灭在爆发之前。运维日报里每周增加一项“通讯质量统计”一旦某条链路周丢包率超过0.1%就安排检查。这套自愈机制不是凭空想的我在几个改造过的项目里都落地过效果明显。其中最典型的一个改造前每季度至少因为通讯问题停机一次改造后一年多再没出现过通讯导致的联锁停机。4.4 上位机监控与告警增强方案最后一个要改的点是监控体验。原来的SCADA画面上只有主机启停状态和几个温度压力测点没有任何通讯质量信息。运维人员巡检时看到通讯中断报警根本不知道严重程度和影响范围也就无法做出正确判断。改造之后主机画面上增加了三个关键内容一是每台主机的通讯状态指示灯绿色代表正常、黄色代表降级控制、红色代表通讯中断二是通讯中断倒计时条显示当前已连续中断时间和距触发停机的时间三是历史事件滚动列表按时间顺序显示每次通讯中断与恢复动作。另外一个操作性很强的功能是“通讯中断预演测试”。系统里加了一个模拟通讯中断的测试按钮运维人员可以在运行状态下模拟单台主机通讯中断观察系统是否正确执行了降级控制而不是全站停机。这个测试每季度做一次既能验证逻辑也能提升运维人员应对真实故障的信心。我当时让值班同事测试完以后他心里就踏实多了——看到通讯变红的时候系统没有乱跳保持供冷正常。5. 常见问题排查速查表与现场经验总结5.1 通讯类故障的排查速查表整理这份速查表算是这几年冷站通讯故障处理的经验浓缩。每次遇到类似问题我基本按这套顺序过一遍大部分情况都能快速定位。故障现象可能原因排查步骤处理方案单台主机通讯超时偶尔出现光电转换器过热、模块供电不稳摸温度、测电压、看误码率清洗散热片、改造供电回路多台主机同时通讯中断交换机端口故障、总线链路断开看交换机端口灯、逐段ping测试更换端口、重新压接光纤跳线通讯恢复后频繁重复中断线路接头氧化、屏蔽层接地不良检查所有接口、测量接地电阻更换接头、重新做等电位连接通讯灯正常但数据不刷新控制器程序扫描周期过长、资源不足看CPU负荷率、程序在线监视优化程序任务、减少无关通讯主机面板显示通讯丢失但控制器显示正常主机通讯模块与控制器匹配参数不一致核对波特率、站号、寄存器地址重新配置从站参数通讯中断但主机本地运行正常逻辑误判缺少分级处理查看报警时序、确认联锁逻辑按第4节方案修改控制策略特别要提醒的是遇到通讯故障别急着改参数。把波特率调低、把超时时间拉长表面上问题“消失”了但实际上是掩盖了物理层的劣化。超时时间从2秒拉到10秒看起来系统稳定了但万一真的出现设备故障响应时间也慢了5倍存在安全风险。通讯参数应该根据现场需要的响应速度来定而不是依据链路质量来妥协。5.2 冷站通讯改造项目里的避坑经验这个项目执行下来有几条经验值得单独拎出来说。第一联锁停机逻辑必须有“屏蔽/投用”切换开关而且这个开关要放在触摸屏二级菜单、需要密码才能操作。没有这个开关运维人员在传动测试阶段根本没法单独模拟通讯故障因为一模拟就全站停机谁敢按下按钮第二控制器程序里的联锁逻辑要做“首次故障保持”。通讯中断超时后程序不能反复在“故障”和“恢复”之间跳变否则会反复触发一些设备的保护动作。一定要做延时和确认次数让状态跳转有稳定的判断间隔。第三通讯网关的看门狗机制要单独查看。不少网关设备本身有自动重启功能但重启过程需要10到30秒这个时间段内控制器如果轮询不到会判定故障。要让控制器的超时判定时间长于网关重启时间否则网关一重启冷站就跟着重启。我见过不少项目就是因为这个时间差没处理好导致莫名其妙的周期性停机。第四改造完成后要做48小时连续通讯质量测试。这不是简单跑一跑就完事要记录每一台主机的通讯超时次数、最长中断时间、平均响应时间。我当时做这个测试的时候把数据做成趋势图放在会议室里项目验收之前先让甲方看到通讯线是直线再谈其他功能。这套数据很有说服力也帮后续运维定了个基准参照。5.3 运维侧需要养成的三个习惯技术改造是一方面运维习惯也得跟上不然过两年设备老化了同样的问题还会再来。第一个习惯是每月检查一次通讯链路健康度。进入控制器后台查看每条总线的通讯统计数据重点看误码率和连续超时次数。如果有异常立即对应排查。这个检查用不了十分钟但能提前发现大部分潜在问题。第二个习惯是备好独立的通讯模块和光电转换器备件。通讯类设备属于电子产品带病运行比较常见现场出了问题再申请采购往往要等很久。备件放在现场故障时直接换上把停机时间压缩到最短。我还在备件盒上贴了标签注明适配型号和参数设置要求避免急用时拿错或用错配置。第三个习惯是人员培训要过“实操关”。光会看报警列表是不够的得让运维人员亲手操作过模拟通讯中断测试亲眼看到系统在通讯故障时能保持供冷稳定再到真实故障发生时他才不会慌。6. 冷站通讯可靠性设计的整体复盘心得处理完这个项目之后我自己也在反思为什么我们的第一反应是“通讯断了就要停机”因为控制系统设计的出发点天然偏向安全——不知道主机状态就不敢继续让系统跑。这在设备单机保护上没错但放在系统层面上要重新权衡停一台冷机可能只是降低供冷能力停掉全站则是彻底失去供冷能力。两者风险等级完全不同。这个案例里最值得记住的一个判断是从控制逻辑角度而言“停在安全状态”不等于“安全停运”。冷却水泵全停、冷冻水泵全停、主机全停留给系统的并不是一个安全状态。主机在满负荷运行时突然切断冷冻水属于典型的违规操作有造成蒸发器结冰的风险。也就是说这套联锁逻辑不仅没有起到保护作用还可能因为不合理的停机顺序带来二次伤害。实际应急处置时我们启动系统前的第一件事反而是先恢复冷冻水泵、冷却水泵让水系统先循环起来再逐台启机避免主机在无水流状态下启动。另外一点体会是很多项目在做控制策略时默认把通讯可靠性作为前提条件。但实际上现场铜缆、光纤、交换机、电源模块任何一个环节都可能失效。设计联锁逻辑时应当把这些失效模式摆到桌面上逐个分析“如果这个环节失效了系统应该做什么”。联锁不是越多越好联锁要分层次、分优先级。保护设备安全的联锁应该直接源于设备本体的硬信号而不是间接源于通讯链路。这个案例从故障发生到彻底整改完成前后大约三周。第一周处理故障、恢复运行第二周做链路改造和控制逻辑修改第三周做48小时测试和验收。整个过程中最大的成本不是材料和工时而是把原有逻辑推倒重来所需要跨部门协调。好在我们把报警记录、通讯日志和故障时序留存得很完整论证整改方案的依据非常充分甲方也认可“通讯中断应该降级控制而不是全站停机”这个思路。最后分享一个实用的小技巧故障复盘文档里一定要附上“事件顺序记录表”和“修改前后控制逻辑对比图”。这两样东西比任何文字描述都有说服力也是后续做验收和培训时的重要素材。下次再遇到类似故障直接翻出这套文档按图索骥排查速度能快一倍不止。
返回列表