APP下载

单位时间内信号值变化幅度超限算法设计与应用

2022-02-21段彩丽辛胜伟郝剑琴

工业仪表与自动化装置 2022年1期
关键词:历史数据模拟量组态

段彩丽,薛 义,辛胜伟,郝剑琴

(1.国家能源集团国神技术研究院,陕西 西安 710065;2.神头第二发电厂,山西 朔州 036000;3.国家能源集团循环流化床技术研发中心,陕西 西安 710065)

0 引言

《防止电力生产事故的二十五项重点要求》(国能安全[2014]161号)8.3.4条规定,机组正常运行时,主、再热蒸汽温度在10分钟内突然下降50 ℃,应立即打闸停机[1]。因主汽温度突然下降50 ℃,可能是机组发生水冲击的前兆,水冲击将会引起整个机组的严重损坏[2]。同时,汽温急剧下降将对汽轮机部件造成急剧冷却,产生很大的热应力和热变形,严重时会引起汽轮机动静发生碰磨。目前,DCS分散控制系统未提供一种单位时间内信号值变化幅度超限算法宏模块,可以直接调用来实现主再热汽温10分钟内突降50 ℃自动报警,一般均是通过调用工程应用软件中的延时算法快、高低比较算法块、脉冲计时块、加法块等组合搭建组态逻辑,且组合出来的组态逻辑各不相同,影响组态效率和质量。有些机组仅依靠运行人员人为判断进行手动打闸停运汽轮机,易造成误判误操作,影响机组的可靠性。所以在工程应用中,研究一种算法来实现单位时间内信号值变化幅度超限报警保护功能,是非常必要的。

1 存在问题分析

目前,工程上DCS分散控制系统不能直接调用来实现主再热汽温10分钟内突降50 ℃自动报警,部分技术人员设计的方案是指定范围内的终止时间点的信号值减去起始时间点信号值,差值和预先设定的变化幅度进行比较,若大于指定变化幅度则系统发出报警(基本方案模型见图1)。这种算法方案的最大缺点是,若出现中间点变化幅度超限,但是在指定时间段的起始点和终止点数值差未超限,则该算法无法判断超限报警。存在的具体问题主要是:(1)分散控制系统组态软件中无一种可以存储10分钟内所有历史数据的专用功能码,需要利用现有功能码组合实现10分钟之内的所有温度历史数据,同时实现10分钟内温度确实下降50 ℃的判断逻辑,组态逻辑实现起来较为麻烦;(2)实现某一时刻温度与10分钟前的温度值下降50 ℃,较为好实现,但还需考虑10分钟内其他各时段如30秒、1分钟、2分钟……9分钟等的温度下降50 ℃的情况。

图1 基本方案模型

2 新算法方案设计

2.1 基本思路

基本思路1:每隔单位时间系统采样一次信号数值,在指定的时间范围内采样若干个信号值,然后进行最大值和最小值判断筛选。用最大值减去最小值的差值和预先设定的变化幅度进行比较,若大于指定变化幅度则系统发出报警。这种算法方案设计容易理解,但适用于指定时间范围较小的工程应用。

基本思路2:用一种比较简单的算法,实现指定时间范围内信号变化幅度超过预先设定的范围时的判别和报警功能。指定时间范围内的最大值减去当前值,差值和预先设定的变化幅度进行比较,若大于指定变化幅度则系统发出报警。这里的最大值是对于指定时间范围内的任一连续变化的数值。具体技术内容包括:

(1)最大值和当前值进行比较。

(2)通过最大值判别逻辑比较记忆当前出现的最大值。

(3)采用时间脉冲算法逻辑,当信号变化趋势有回头迹象时,时间脉冲功能块可以重新计时;当时间脉冲计时期间信号变化未超限,可实现复位,重新开始下一周期的计时功能。

(4)可检测鉴别以下两种情况:指定时间范围内,信号变化趋势不变,幅度超限;指定时间范围内,信号变化趋势既有上升又有下降,且最大值和当前值偏差超限。

2.2 控制原理

监测单位时间内连续的信号数据为x1,x2,x3,x4,...,xn,xn+1,经过延时存储算法块将这一组数据储存为历史数据xt-1,xt-2,xt-3,xt-4,...,xt-n,然后用当前实时值与前一时刻的存储的历史值进行比较[3-5],如:x2与xt-1比较,x3与xt-2比较,以此类推,xn+1与xt-n比较,进行最大值或最小值判断筛选,用最大值减去最小值的差值和预先设定的变化幅度进行比较,若大于指定变化幅度则系统发出报警[6-7]。控制原理示意图见图2。

图2 控制原理示意图

监测单位时间内的信号数据x1,x2,x3,x4,...,xn,xn+1的变化趋势,并根据变化趋势确定最值信号;根据最值信号确定监测时间范围,获取监测时间范围内的x,得到xt-1,xt-2,xt-3,xt-4,...,xt-n;确定最值信号与当前监测信号之间的差值,判断差值是否处于预定报警区间内;在差值超过预定报警区间内的情况下,发出报警信号。控制原理示意见图3。

图3 控制原理示意图

2.3 设计方案

2.3.1 设计方案1

单位时间内信号值变化幅度超限新算法设计方案1的基本模型见图4。采集单位时间之内的所有输入x历史数据,是通过t秒、2t秒,...,n*t秒总计n/t个模拟量延时块实现。t秒的模拟量延时块的当前输出值为t秒前的数据,2t秒的延时块的当前输出值为2t秒前的数据,依次类推,n*t秒的延时块的当前输出值为n*t秒前的数据。故通过n/t个延时块可以取出n*t/60分钟内间隔t秒的n/t个x的历史数据。另外,为了精确度更高,可设置为间隔1秒的n个历史数据,但在保证误差在允许范围内,间隔可以适当加大,以节约控制器内存[8]。

11—输入x;12a,12b,12c—模拟量延时模块,用于对当前信号值(即当前值)延时后输出,延时值可调;13—大、小值比较保存模块;14—加法块,用于确定最大值(即最值信号)与当前值之间的差值;15—高低限比较模块图4 新算法设计方案1的基本模型

2.3.2 设计方案2

单位时间内信号值变化幅度超限新算法设计方案2的基本模型见图5。主要由大/小值判断保持块、超限比较块、时间脉冲计时器、跟踪选择块构成。大/小值判断保持块将保存记忆的最大值与当前值进行比较,选择最大值进行保存。输出最大值与当前值的差值与设定的死区进行比较,判断是否有变化趋势。若变化幅度超过死区,则启动计时器。同时最大值与当前值的差值与预先设定的变化幅度进行比较,在计时器的计时时间段内变化幅度超过限制值则发报警。若变化趋势有反向变化时,则计时器复位。若计时时间段内变化幅度未超过设定值,通过切换器将最大值替换为当前值,重新开始下一周期的检测[9]。

21—模拟量延时模块,用于对当前信号值(即当前值)延时后输出,延时值可调;22—模拟量切换模块;23—大、小值比较保存模块;24—加法块,用于确定最大值(即最值信号)与当前值之间的差值;25a,25b—高低限比较模块;26—脉冲计时模块,当输入脉冲小于计时时间时,输出等于输入脉冲的宽度;当输入脉冲大于计时时间时,输出等于计时时间的脉冲宽度;27—“与”门图5 新算法设计方案2的基本模型

3 工程应用

以某DCS分散控制系统举例,实现火力发电厂主、再热蒸汽温度在单位时间内超限报警。具体逻辑方案如下:

(1)温度品质判断为坏质量或速率超限时进行二级报警1,提示运行人员该测点已故障,需通知热工人员处理;同时该测点的报警,不能作为打闸停机的依据;

(2)1分钟内温度下降10 ℃进行二级报警2,提示运行人员采取相应调整措施,防止汽温突降;

(3)采集主、再热蒸汽温度任一路信号10分钟前任一间隔周期(1秒或5秒)的最大值,与该路温度信号的实时值比较,若10分钟前的历史最大值比实时温度值大于40 ℃进行二级报警3,提示运行人员密切关注偏差值,查看趋势图,继续采取相应调整措施,防止汽温进一步突降,同时做好打闸停机准备;大于50 ℃进行二级报警4,提示运行人员。准备打闸停机。其中10分钟前历史数据采集通过模拟量延时块实现,经过大选模块取得历史数据的最大值;

(4)10分钟前的历史最大值比实时温度值大于50 ℃且温度信号正常(即无“温度品质判断为坏质量或速率超限”)进行一级报警,提示运行人员应立即打闸停机,防止汽轮机损坏。

3.1 设计方案一实例验证

应用图4所示方案1基本模型实现的汽温突降报警逻辑组态方案见图6。

图6 汽温突降报警逻辑组态方案

图6中,采集10 分钟之内的所有温度历史数据,是通过5秒、10秒、15秒、20秒、……585秒、590秒、595秒、600秒总计120个delay延时块实现。5秒的delay延时块的当前输出值为5秒前的数据,10秒的delay延时块的当前输出值为10秒前的数据,依次类推,600秒的delay延时块的当前输出值为600秒前的数据。故通过120个delay延时块可取出10分钟内间隔5秒的120个温度的历史数据。另外,为了精确度更高,可设置间隔1秒的600个历史数据,但间隔5秒的历史数据,温度误差在0.5 ℃以下,故为了节约控制器内存,设置为5秒间隔。

10分钟内各时段温度确实下降50 ℃的判断逻辑,是通过120个delay延时块采集到的120个600秒内的历史数据取大值后,与当前实时值比较,大于实时值50 ℃来实现的。

图6所示中,实际使用中需在组态软件中调用FC58功能码(模拟量延时块)、FC10功能码(模拟量大选块)、FC15功能码(2输入加法块)、FC12功能码(高/低比较器)、FC38功能码(4输入“与”门)、FC40功能码(4输入“或”门)、FC31功能码(品质检测)、FC30功能码(模拟量例外报告)、FC45功能码(数字量例外报告)等进行组态。部分功能码参数设置说明如下[10]:

FC58:实现5秒延的参数设置:S4=5,S5=1,实现10秒延时的参数设置:S4=10,S5=1;依次类推,实现600秒即10分钟的参数设置:S4=600,S5=1。

FC15:实现“输出=S1-S2”的参数设置:S3=1,S4=-1,实现“输出=S2-S1”的参数设置:S3=-1,S4=-1。

FC31:实现对所有I/O模件输入的模拟量和开关量信号的品质判断。4个输入信号中的任一信号为坏点,则输出为1。

FC30:实现模拟量信号在DCS画面的显示和报警。实现“在DCS画面显示汽温突降报警温度偏差值”的组态设置:S2=4(单位索引,若规定 ℃的索引时4,则S2设置为4),S3=0(信号量程零位),S4=70(信号量程满度),S5=40(信号高报值,若40 ℃报警,则S5设置为40),S6=0(信号低报值,若0 ℃报警,则S6设置为0;若不报警,S6设置为-9999。)。TAGNAME(标签名)和TAGDESC(标签描述)组态时编辑,为了便于在DCS画面显示。

FC45:实现开关量信号在DCS画面的显示和报警。实现“主汽温10分钟内突降50 ℃报警”的组态设置:S2=2(不报警),S2=1(开关量信号为1时报警),S2=0(开关量信号为0时报警)。TAGNAME(标签名)和TAGDESC(标签描述)组态时编辑,为了便于在DCS画面显示。

3.2 设计方案2实例验证

应用图5所示方案2基本模型实现的汽温突降50 ℃报警逻辑组态方案见图7。

图7中,Delay模块用于采集温度前一周期历史数据,通过T-AN切换器、大选模块及脉冲计时模块实现温度最大值的采集记忆,减少控制器采集历史数据太多而占用大量内存空间。

图7所示中,实际使用中需在组态软件中调用FC9功能码(切换器)及3.1节所述功能码,部分功能码参数设置说明如下[10]:

FC9:根据布尔输入选择两个模拟量输入中的一个。

FC58:实现2秒延时的参数设置:S4=2,S5=1,实现2秒延时的参数设置。

其他功能码参照3.1节。

图7 汽温突降50 ℃报警逻辑组态方案

3.3 仿真试验

(1)10分钟内数据持续下降验证如图8和图9所示。

图8 10分钟内数据持续下降输入曲线

图9 10分钟内数据持续下降输出报警

(2)10分钟内数据有波动验证如图10和图11所示。

图10 10分钟内数据有波动输入曲线

图11 10分钟内数据有波动输出报警

数据坏点检测报警验证如图12和图13所示。

图12 信号速率变化超限和数据坏点输入曲线

图13 信号速率变化超限和数据坏点动输出报警

经过仿真验证两种设计方案均符合要求,均能实现汽温突降报警功能,实现了单位时间内信号值变化幅度超限报警功能。从实际应用来看,方案2组态更简单一些。2020 年 11 月 10 日 17:00 某电厂机组汽轮机过热汽温10分钟内下降40 ℃提前报警,运行人员调整无效,温度继续下降至50 ℃报警,运行人员及时打闸停机[11],防止了事故进一步扩大,为汽轮机组的安全运行提供了保证。

4 结束语

该文给出了两种算法设计方案基本模型,实现了指定时间范围内信号变化幅度超过预先设定的范围时的判别。通过两种算法在实际工程中实现火电厂主再热蒸汽温度突降报警逻辑,对新算法设计方案模型的正确性进行了充分验证。尤其新算法设计方案2,具有思路新颖、结构简单、设计巧妙、使用的算法块较少、几乎不占用系统内存的优点,对系统的运算周期的影响可忽略不计[12-14]。在实际工程中应用效果良好,实现了快速、准确地判断单位时间内信号值变化幅度是否超限的技术问题,达到了预期效果。

猜你喜欢

历史数据模拟量组态
浅谈力控ForceControl V7.2组态软件在自动化控制工程中的应用
基于设备PF性能曲线和设备历史数据实现CBM的一个应用模型探讨
基于故障历史数据和BP神经网络的接地选线方案研究
一种模拟量模块的应用
Rh XIII—Cd XVI 离子4s24p3—4s4p4 能级与跃迁的理论计算*
组态软件技术现状与发展
基于Hadoop技术实现银行历史数据线上化研究
用好细节材料 提高课堂实效
高职“工业组态技术”课程建设探析
关于600MW火电机组模拟量控制系统设计和研究