反应釜温度总在跳舞?聊聊过程控制技术里那些不听话的物理规律
上周去苏北一个精细化工厂,刚进中控室就听见操作工老周在骂娘。我凑过去看屏幕——反应釜温度曲线跟喝了假酒似的,上下晃荡,设定值明明是一条平直的红线,实际值那条蓝线愣是能画出个心电图来。老周叼着烟(没点),说这釜料已经熬了四个小时,再稳不住就得整锅排掉。我看了眼趋势图,问他:PID参数是不是上次改完就没动过?他翻了个白眼:改?谁改?工艺配方一换,这玩意儿就犯病。
这就是过程控制技术的日常。不是实验室里那个漂亮的方块图,是跟黏糊糊的物料、迟钝的阀门、到处乱窜的蒸汽压力打架。
那个叫“滞后”的东西,是所有火气的来源
你可能觉得,控制嘛,温度低了就开大蒸汽阀,高了就关小,有什么难的?问题就出在这个“低了”两个字上。温度传感器装在反应釜夹套出口,等它感受到变化,把信号传回控制器,控制器再算一遍输出给阀门,阀门动作完,热量穿过釜壁传给物料——这中间的时间,短则几十秒,长则十几分钟。等你发现温度开始往上飙的时候,其实釜里面早就过了头。过程控制技术里管这个叫纯滞后,说白了就是“你看到的”和“正在发生的”之间那道时差。
我在另一个厂见过更离谱的。一个大型聚合釜,物料黏度大,温度探头装在釜底,夹套热水从顶部进。操作工把设定值改成75度,实际值稳在73度就开始往下掉。他以为探头坏了,拿万用表量了半天。其实是釜内形成了温度分层,顶部已经85度了,底部还在70度晃悠。这哪是仪表问题?是搅拌没开到位,流场没建立起来。你盯着一个点控制,物理世界给你的是整个空间的平均效果。
化工反应釜温度控制系统现场仪表照片
所以搞过程控制,第一件事不是调参数,是搞清楚“你的传感器到底在测什么”。测点和被控对象不在同一个物理位置,传输又有时延,你的控制回路就天然带着一条甩不掉的尾巴。很多新手一上来就猛调比例带,结果越调越震荡——那是在用放大器的增益去硬刚物理滞后,跟拿喇叭对着山谷喊话指望回声消失一个道理。
PID三个字母,其实是三种脾气在拉扯
PID这玩意儿,教科书上公式一摆,看着挺唬人。说人话:P是看见偏差就动手,偏差越大手越重;I是记仇,过去所有偏差的累积它都记着,慢慢算总账;D是看趋势,偏差还没变大它就开始踩刹车。这三个人凑一个屋里干活,经常打得不可开交。
说个我自己的翻车经历。有个夹套反应釜,升温阶段要求快,保温阶段要求稳。我图省事,用了一组参数想通吃。结果升温挺利索,一到保温就开始画正弦波。查了半天,是积分项在捣乱——升温阶段积累了一屁股偏差,到了保温阶段I还在拼命往里拱,等温度冲过头了又往回拽,来回拉锯。后来加了积分分离,偏差小于某个阈值才让I干活,曲线一下就老实了。说白了,过程控制技术里没有“一组参数打天下”这种事,工况变了,参数就得跟着变。
还有那个D,理论上是预测未来,可现场信号里全是噪声。流量计信号抖一下,D项就给你放大成阀门动作,阀杆来回磨,填料没几个月就漏。所以很多时候现场D项直接关掉,或者只给0.5到1.0的微小作用。不是D没用,是信号太脏,你让一个眼神不好的人去预判未来,他能把你带沟里。
PID控制器参数整定软件界面截图
阀门和传感器,才是回路的真爸爸
阀门和传感器,才是回路的真爸爸
干了这些年,我最怕听见的一句话就是“这回路不好控”。十个里面有八个,根子不在控制器,在执行器或者测量环节。
比如调节阀。选型的时候按最大流量算,结果正常工况下阀门开度只有15%——小开度区非线性严重,阀芯稍微动一点,流量就猛跳。你把PID参数调出花来也没用,因为执行机构的特性本身就是歪的。再比如蒸汽阀,阀前压力波动大,同样的开度,上午过的蒸汽量跟下午能差两成。这时候你控的是阀位,不是热量。有经验的工程师会在蒸汽管路上加个压力补偿,把阀前压力引进来做前馈,让控制器知道“蒸汽变瘦了得多开点”。
传感器那边坑更多。测温热电阻插在套管里,套管里要是没填导热硅脂,响应时间能慢出一倍。pH计电极用三个月不标定,读数漂得你亲妈都不认识。流量计直管段不够,涡街流量计后面接个弯头,信号能给你抖出花来。这些破事,DCS组态画面上一概看不出来,参数怎么调都白搭。
我见过最狠的一个案例:一个精馏塔塔顶压力控制,死活稳不住。操作工手动控制反而没事。后来查出来,压力变送器的引压管里有积液,液柱高度随环境温度变,静压误差跟着变。变送器测到的“压力”里混着液柱重量的变化,控制器等于在追一个假信号。把引压管保温伴热做好,积液排干净,参数都不用动,回路自己就稳了。过程控制技术有一半的功夫在仪表和工艺上,不在算法里。
积分饱和:那个让阀门卡死在100%的隐形杀手
积分饱和:那个让阀门卡死在100%的隐形杀手
这个必须单独拎出来说。有一次一个夹套加热反应,升温阶段蒸汽阀全开跑了二十分钟,等温度逼近设定值了,阀门纹丝不动。操作工急得拿对讲机喊现场手动摇阀。拆开一看,阀门定位器没毛病。问题出在控制器里——升温阶段偏差一直为正,积分项拼命累加,输出早就超了100%,控制器内部还在往上拱。等偏差反向的时候,积分项得先“卸掉”这一大坨存货,阀门才开始往回关。这段卸货的时间,温度早就飞了。
解决办法说出来简单得要命:加个抗积分饱和逻辑,输出一旦顶到限幅,就停止积分累加。或者在升温阶段直接切手动、用输出跟踪。但这个东西,教科书上就那么一小段,现场不栽一次跟头根本记不住。我后来养成个习惯,新回路投运前先看速率限制和输出限幅有没有配上,没有的话先别谈PID参数。
说白了,过程控制技术是个跟物理世界讨价还价的活儿。你想要的是一条平直的设定线,物理世界给你的是滞后、非线性、噪声和一堆没写在流程图上的隐形耦合。参数整定只是最后那一下拧螺丝,前面的传感器位置、阀门特性、工艺理解、抗饱和逻辑,哪一样没弄对,曲线都会跳给你看。
老周那个釜后来怎么解决的?我让他把搅拌转速提了10%,温度探头从底部挪到中部偏下,PID里积分时间放大了两倍,D项直接清零。曲线当然没有变成尺子画的那样直,但上下波动从±4度收到了±1.2度。老周说凑合能用。我说别凑合,下次换配方之前提前喊我,过程控制这东西,你糊弄它一时,它折腾你一锅料。