热工DCS系统逻辑中应当避免的那些问题

幽默   2024-11-06 00:01   广西  


欢迎关注“热控圈 ” ID:rekongquan

传播热控知识,分享技术精华!



今天看了一个公司的事故通报,在暴露问题一栏里说了这么一段话,该集团在过去一年因热工、电气原因导致的机组非停较多,但热工人员未引起足够的重视,未排查出逻辑上的隐患。

在我们的日常工作中,往往是唯结果论的,出了问题,往往就是先一棍子打死,不管你之前的付出有多努力,过程有多精彩。但有时候,往往又不是唯结果论,往往在事故处理过程中满头大汗的被一阵表扬,而在后台精确制导的被忽略。

所以,电厂中被提拔起来的往往是机务专业,电热专业能到总助级别的都很少。

我是热控专业出身,无论是以前干项目,还是现在做生产运行方面的工作,基本都跳出了专业本身,因此我是有资格说这就话的。

我还说过一句话,如果一个专业总是出问题,这个专业的人总是存在感很强,那么这个专业的人应该换换了。而那些不起眼的专业,不起眼的人,却一直未发生大的问题,那么这个专业的人应该引起足够的重视。

我工作的第一年是做汽机运行,小机组机炉电三个运行专业,电气最闲,汽机其次,最忙的是锅炉。锅炉事故也多,而每次开会,领导都会对锅炉专业的某某夸奖一番。我记得当时的班长说,我们得找找存在感。

也有人说,有些专业不就应该不出问题吗?我觉得,所有的专业都不应该出问题,还是那句话,如果这个专业总出问题,而且没有好转的迹象,这个专业的人应该换换了。

在过去两年的工作过程中,我更加坚定这一点。只是很多人未参与其中,站在云端评头论足,评价往往是不客观的。就像开头说的案例,有了问题,没有人会分析当初热控这个工作为何没做到位,只是在批评热控专业没做到位。

既然说到了热控专业的问题,不妨我也跟大家分析一下,热工保护联锁逻辑中应该避免的那些问题吧!在分析过程中,我们由点到面,从最基本的点开始,逐步展开。这里需要提前声明一下,我所说的热工保护联锁逻辑,不仅仅指的设备的一些保护或者联锁,涵盖所有的DCS系统逻辑。

问题一:点的基本信息设置错误。

我们增加一个物理点,首先要设置清楚点的基本信息,这里除了点的地址选择正确以外,基本信息还包括单位、量程、报警值等。尤其是量程,在单点造成的热工故障中,量程设置错误是造成故障最多的。

举个例子:2019年5月6日,某电厂600MW机组负荷由100MW加至130MW过程中,6A汽泵跳闸,首出为“A给水泵汽轮机全部转速故障”。经过热工人员检查发现,6A给水泵汽轮机转速量程上限设置为3600rpm,实际上限应为6500rpm,当转速升至3600rpm时,DCS系统判断为转速超量程故障,发出汽泵跳闸信号。

在重要的保护联锁中,模拟量信号故障也经常被引入作为设备跳闸的触发信号,尤其是对于一些单点参与保护的设备,往往更重视这一点。毕竟,在关键时刻,为了避免设备出现无监控状态下的盲运,造成更大风险,模拟量故障信号参与保护还是很有必要的。

但是,对于一台大型机组来说,模拟量信号多达几千甚至上万,虽然不是每个信号都参与保护联锁,可毕竟数量庞大,怎么避免量程上的设置错误,这是需要认真考虑的。哪怕千分之一的设置错误,可能都是大的隐患。

以此可以类推点的其它信息错误,比如报警值、死区等。

问题二:点的品质判断信息设置错误。

目前主流的DCS系统中,模拟量的信号都引入了品质判断的概念,有一些系统开关量的信号也有这个概念,我们还是拿模拟量信号来说。所谓品质判断,就是判断这个点的状态是否正常。其中的品质包括是否超量程、是否超死区、变化速率是否过快等。我还见过有一些设置,在该测点长时间无变化的情况下,也会发出品质判断坏的信号。

其实关于品质判断,主要有两个,一是量程,其次是变化速率。量程前面说了,变化速率主要指的是模拟量信号在单位时间内变化的幅度,如果超过这个幅度,就发出品质判断坏的信号。这里的单位时间一般是每个周期或者每秒,关于这个概念可以参考我之前的文章浅谈DEH和DCS系统扫描周期问题!

品质判断的意义何在?我在学习DCS系统之初,一直对这个概念讳莫如深,说白了就是不理解。后来在实践过程中,我才逐步明白,这其实就是系统审判、纠错和排他的一种方式。

《三体》中有一个情节,云天明和程心在拉格朗日点那次视频会面,会面结束后,三体人对两个人会面的内容进行再次复盘,在确定没有涉密内容后,才亮起了绿灯。我理解的是,复盘的过程就是对内容一次审判,审判通过表示品质判断正常。这个例子有点牵强,也可以这么理解,在数学中,我们把是用1表示,把否用0表示,英语中是true和false。但是,这只是纯粹数学的表示,在复杂逻辑中,尤其是现实中,不完全是1和0,还有介于两者之间的存在。品质判断的过程,就是将这种存在进行判定,超过一定范围就是1或者0。

回到话题本身,变化速率其实就是判断的一个维度。比如某个模拟量测点在断线的情况下,或者在受到某种干扰的情况下,数值可能会发生突变,而对于测点所在设备本身,理论上不会出现这种问题。因此,我们就需要对这种异常进行判定和排他,不能因为异常造成设备的误动。

问题三:延时时间、脉冲时间、上升沿、下降沿等设置错误。

这个错误在日常组态过程中是出现最多的,包括两种错误类型。一种是延时和脉冲弄错,上升沿和下降沿弄错,另一种是延时时间和脉冲时间设置有问题。第一种错误是纯粹的错误,第二种严格意义上不能判定为错误。

关于第一种错误,不同的DCS系统组态方式不一致,错误的方式也不一定。比如和利时的延时和脉冲是两个模块,而上海新华的是在时间功能块中进行设置。所以,这样的错误,前期组态靠细心,后期靠试验来验证。上升沿和下降沿也是一样,需要我们对逻辑的意义理解清楚,到底是用上升沿触发还是下降沿触发。

而关于第二种错误,需要我们在日常工作中不断进行优化,不管是脉冲时间还是延时时间,是需要结合具体的工艺和工况进行判定的。可以大体归为几个分类,一般情况下,对于一些温度测点信号超温后的延时,我建议设置在2S就足够了,尤其是大型转动机械的,比如汽轮机、发电机,超温不要超过2S,否则可能会造成致命的伤害。还有一个重要的原因是,温度测点如果超温,且在变化速率范围内,那大概率就是超温了,如果不在变化率范围内,那品质判断肯定不会满足,也就不用纠结时间问题。

对于汽轮机的振动、轴向位移、胀差测点,我到目前仍坚持自己的观点,就是不加延时时间,即便加也不能超过2S。这一点反对的声音很大,认为需要延时,避免误动。这三种测点突变的可能性极大,甚至在运行过程中,一旦出现问题,对设备本身的伤害是瞬间就可完成的。温度测点还会有一个过程,这几个测点不会。


     在这篇文章中主要是针对DCS逻辑测点的一些设置和基本的运算展开的,提到了三个问题,点的基本信息设置错误、点的品质判断信息设置错误、延时时间、脉冲时间、上升沿、下降沿等设置错误。
      这三个问题在日常的逻辑编写过程中经常会犯错,比如延时和脉冲分不清的情况,虽然看上去不是多大的技术难题,一旦出现错误就会造成很大麻烦。我一直认为真正的难题都是有各种保险措施可以预防的,我们日常所犯的错误回头盘点的时候都是小问题。
     之前工作过程中我就犯过类似错误。有一次在整定某个自动的PID参数的时候,和利时的比例参数因为设置值是在分母上,且在公式中分子扩大了100倍,因此设置的比例参数往往都是大于100的数值。有一次我在整定参数过程中,少输入了一个0,造成了比例作用扩大了10倍。
     幸亏当时反应够快,立刻解掉自动,在手动模式下将调节阀恢复到原位,然后重新修改参数后投入自动。PID参数整定当然是一个技术难题,但是单纯的去设定一个PID参数并没有什么难度。但是,日常工作中我们对于一些技术难题往往都会深入探索,但是对于一些小的问题,总是因为重视不够造成问题。
      这里就引出了今天要说的第一个问题。
问题一:手动设定的参数务必增加限幅和速率限制。
      组态DCS逻辑过程中,热控工程师必须站在一个普通人的角度去思考逻辑的前后关系。什么是普通人?就是会犯低级错误的人。所以,我们组态一个手动输入的变量,就要考虑到运行人员在输入过程中会不会出现手误,会不会输错数量级,所以我们就需要增加一些幅值的限制。
     比如汽包水位设定,正常水位一般在0位线上下波动不能超过50mm,而我们的设定值一般就在0位线附近,那么对于水位设定值就要增加一个限制,这样可以有效避免运行人员输错造成的事故。
     再比如汽轮机转速的目标值,我们知道在机组冲转过程中目标值会分解成给定值,然后转换成调门的开度指令,作用到调门上。如果目标值设置错误,比如设定到了临界转速范围内,那么就可能会造成不必要的麻烦。所以对于汽轮机转速目标值,除了设定幅值以外,还有避开临界转速区。
此外,速率限制在逻辑关系中也起到了非常大的作用。还是以汽轮机转速目标值为例,我们在冲转过程中,往往还需要设定升速率,一般情况下升速率的大小是由厂商提供建议,尤其是临界区的升速率对汽轮机的安全非常重要。大部分的DEH逻辑常规区间的升速率可以运行人员手动设置,临界区都是自动跳转。
     我对比了一下,有一些厂商的DEH逻辑中,常规区间的升速率是保持不变的。但是也有一些厂商的DEH逻辑更加友好,当实际转速接近目标转速时,升速率会按照一定的曲线逐步减小。这样的设计其实是利用升速率的变化曲线给转速调节增加了一个微分作用,可以保证升速过程中机组运行更加稳定。
      手动设定值的幅值限制和速率限制在DCS逻辑中起到了非常大的作用,虽然是一些细节上的问题,但的确可以给机组的稳定运行带来不小的帮助。
问题二:PID的正反作用要弄清。
     只要讨论热控逻辑就会讨论到PID调节,PID调节是电厂控制中避不开的话题。所以在之前的文章中我反复强调PID的重要性,也通过不同的方式给大家讲解PID的知识。
     我们遇到的PID调节主要有两种,一种是单冲量的,一种是串级调节的。说白了就是一种是一个PID模块的,一种是两个连接在一起,然后主调的输出作为副调的设定,这样来完成模拟量系统的调节。、
     引入串级调节的原因是影响系统运行的不止一个参数,或者反应系统运行状态的不止一个参数,所以需要将两个甚至是三个参数结合起来,于是就有了串级调节。比如汽包的给水自动,被调量是水位当然没问题,但是影响水位的还有蒸汽流量和给水流量,尤其是水位的变化会有一定的延时,而蒸汽流量的变化可以直接反应机组负荷的变化。因此,我们将蒸汽流量引入到PID调节中作为前馈,以达到提前调节的目的。
      在PID逻辑组态过程中,我们必须要弄清楚的一个问题是PID的正反作用。什么是PID的正反作用,就是被调量或者过程量与设定值之间的偏差变化趋势与调节器的输出量变化趋势之间的相互关系,当偏差增大时,需要调节器增大输出,那么就是正作用;当偏差减小时,需要调节器增大小输出,那么就是反作用。

比如我们使用引风机进行炉膛负压的控制。

当负压数值增大的时候,此时负压实际上变小,PV与SP之间的偏差就会变大,而我们为了维持负压,需要引风机增大指令,因此,PID的OUT端输出也要增大。反之也是如此,因此炉膛的负压调节是一个正作用。

比较难判断的是串级调节,还是以给水的串级调节为例。

      很多人都知道串级调节的两个PID都是反作用,但是很多人搞不清楚为何是反作用。我们对PID正反作用定义的时候说了,作用的方向与过程值和实际所需要的PID输出为基准进行判断。
    先说副调的PID,给水流量是过程值,主调的输出是副调的设定。我们假设SP一定,那么当给水流量增大的时候,PV与SP的偏差增大,系统为了维持水位的稳定,势必要减小主给水调节阀的开度,因此需要副调PID的输出减小。因此,过程值和实际所需要的PID输出相反,因此副调PID是反作用。
      设定好了副调PID的方向,我们再看主调PID。还是假设汽包水位设定值一定,那么当PV项汽包水位增大的时候,PV与SP的偏差增大,假如主调PID的输出是正作用,那么副调PID的SP项就会增大,副调PV与SP的偏差减小,而副调是反作用,所以会导致主给水调节阀的开度增大,此时水位会继续增大,不符合我们降低水位的目标。
     因此主调PID也是反作用。当水位升高的时候,PID输出会减小,此时副调PV与SP偏差增大,主给水调节阀关小开度。
     这就是PID方向判断的一个过程,如果方向弄反,那么无论怎么整定PID参数,都不会保证系统的稳定。

编辑:兰陵王

热控技术交流群

热控世界,无限精彩,欢迎加入热控QQ2群。官方QQ2群号 959960086   


热控圈
欢迎进入天下热控第一圈!
 最新文章