先聊个让我凌晨三点醒来的现场
那是2012年冬天,我在一个化工厂盯DCS调试,合成工段的压力突然开始锯齿状波动。系统画面里PID输出像抽风一样甩来甩去,从20%爬到80%只用了一秒钟。当时站在我旁边的老陈,五十多岁,连屏幕都没看,先去摸了一下调节阀旁边的管道,说“阀杆卡了,还有水锤”。我不信,数据都显示正常,趋势曲线明明就是典型的等幅振荡。后来拆开阀门才发现填料压盖松了,阀杆真的卡在半开位置,水锤也确实存在,只是变送器安装位置离得远,那种频率的脉动压根没传过来。
我这才意识到一个问题:自动化系统里,最烂的传感器可能就是人对流程的理解。我们捧着一个四线制变送器的精度数据当令箭,但老师傅的耳朵、手背、甚至早上进车间闻的那一口空气都是传感器——只不过他们没法给你输出4-20mA信号。那天晚上我在值班室打了个盹,梦见满屏幕的PID参数像虫子一样爬向我,醒过来的时候后背全是汗。物理意义上,我也在经历自动控制系统的"超调"和"振荡"。
说真的,控制系统最大的非线性扰动是人
先放下那些漂亮的控制理论。控制界最恶心的一件事就是,我们假设被控对象是线性定常系统,但实际工艺里那玩意儿是个会随机失恋、会情绪波动、还会在夜班上打瞌睡的活物。
我见过太多DCS项目,稳定运行两三年后开始莫名奇妙地下滑:罐子液位低报频发、车间压力越来越不稳。查来查去,根本原因往往是操作工的换班习惯变了——白班那几个老师傅都退了,新来的年轻人喜欢把自动切手动,自己抱着一堆设定值瞎拧。人成了一个大滞后、大惯性、带纯死区的超强扰动源,而且这个扰动源的数学模型你根本建不出来,想好好整定就得先给人做行为识别。
还有一个让我印象深刻的对比:同样是PID整定,我用MATLAB建模、仿真、看趋势、调参数,花了两天时间把超调率摁到18%以内,觉得自己特牛,结果老陈抄起对讲机让现场把阀门手动关了三次、又开了三次,然后直接改了一个参数——就一个——他说"这个回路该这么硬"。我当时觉得他在胡扯,后来看趋势曲线发现他改的那个参数让系统在设定值附近走了一个非常怪异的李萨育图形,可扰动真的被压住了。我问为什么,他想了半天说,“我年纪大了,看着那个调节阀开关的时候,心里会觉得它喘不上气。”我不是说经验主义万能,我是说我们太迷信数值优化器了,忘了控制这件事本质上是帮机器跟工艺"处关系",关系处不好,参数再完美也是白搭。
机器人都快学会聊天了,DCS还在搞通讯死锁
来聊聊更让人上火的事。你家手机都支持Wi-Fi 6了,楼道里的智能门锁都能OTA升级了,可很多工厂里那个价值几十万的DCS控制器,它的底层通讯居然还在靠那种几十年前的轮询机制——一个控制器从站得乖乖等主站问它才敢说话,不问连个屁都不敢放。
有次我陪客户做老旧系统改造评估,看到一个备件库里躺着几块2007年生产的大卡件,标签上写着"备用件请勿使用",但摸上去温度比在用的还高——因为一直在通电,就为了保持备件内部电容的状态。那套控制系统的CPU主频只有几百兆赫,内存按现在的标准看就是个笑话,可它肩负着整座装置的安全联锁,万一它死机了,全厂得停工,一天损失就是一辆顶配的奔驰S级。
我在现场那两天正好赶上仪表风压波动,某一段阀门的联锁系统莫名其妙触发了一次假动作,把一条正常生产的线给紧急切断了。事后查历史记录,通讯日志显示那个从站在那0.8秒的异常窗口里正好丢失了一个心跳包,而联锁判定逻辑又是纯布尔逻辑——0就是0,1就是1,没有"半信半疑"这个选项。我站在机柜间里,听着风扇声轰隆隆响,忽然觉得工程领域的人脸识别、智能诊断非常遥远,因为更基本的问题,是我们的现场设备压根还不会"说话说完整"。
我把自动控制写成了诗,然后得了胃溃疡
那时候我刚入行第三年,深信只要模型建得足够准确,世界上所有控制问题都能解决。我甚至把一个精馏塔的温度控制回路调得无比丝滑,随手把整个逻辑画成了ASCII艺术图发到了技术论坛上。底下有人回复说"这个系统爽到可以当ASMR听",可紧接着第二年装置一换原料,之前那套参数直接失灵,塔釜温度暴涨,塔压高报,一连串联锁差点把整个车间给摁停。
我的胃就是那个阶段开始不好的,每天下午四点准时反酸,不是因为我紧张,而是我发现在我引以为傲的控制策略下面,其实藏着一堆我不愿意承认的侥幸。真正把塔挽救回来的不是我,也不是老陈,是车间主任凭一个经验公式和手抖的直觉,决定临时降低进料温度并把回流比调大两倍。我后来复盘了三个月数据,发现老主任那个决定本质上就是在做一个鲁棒性极强的开环补偿,但这个决定背后的"模型"是他二十多年经历过的每一次失败。
现在做自动化控制的人都爱谈AI降维打击传统控制,我也认可。可我觉得,把一个好老师傅脑子里那种说不清道不明的"工艺心智模型"数字化,比搞一万个高精尖的软测量模型都重要。给机器一颗能处理"第六感"的大脑,我们才能真正谈智能控制,而不是永远在PID和MPC之间来回折腾。
写在最后:控制从来不只是参数的事
我不否定自动化控制的科学性——它的确把人类从危险、重复、高负荷的劳动里解放出来了。我只是想留下一个记录:任何一个控制系统,不管DCS、PLC还是FCS,最终都是长在一堆脆弱传感器、生锈阀门、老化电缆和活生生操作者的身体之上的。我们调的一切参数,本质上都是在跟不确定性和解。
那条不眠夜里梦见虫子爬满屏幕的阴影,到现在还会在项目节点前准时来找我。但我不再害怕它了,我学会了在写组态逻辑的间隙,给自己泡一杯滚烫的浓茶,然后停在车间门口听一会儿那台老泵运转的声音——如果它今天的声音比昨天的闷一点,我就知道,今天大概又有棘手的问题要来了。这感觉没法写进控制方案里,但比任何自适应算法都让我觉得踏实。