某大型水电站监控系统增加大坝表孔闸门开度定点控制功能探究

发表时间:2020/10/10   来源:《中国电业》2020年第16期   作者:王文松 朱力 姜巍 周春 李科 石培 陈纳强
[导读] 大坝表孔闸门作为水电厂重要的泄洪设施,其可靠性、安全性至关重要。大坝表孔闸门虽能通过监控系统进行远方的启停控制,但是无法对表孔闸门进行更加精确的定点控制,不符合智能化电厂需求
        王文松  朱力  姜巍  周春  李科  石培  陈纳强  王雨
        (雅砻江流域水电开发有限公司  四川省成都市  610051)

        [摘 要] 大坝表孔闸门作为水电厂重要的泄洪设施,其可靠性、安全性至关重要。大坝表孔闸门虽能通过监控系统进行远方的启停控制,但是无法对表孔闸门进行更加精确的定点控制,不符合智能化电厂需求。本文先通过现状分析、问题探究等方式提出对闸门定点控制详细功能,根据构思绘制出流程图,然后编制程序增加表孔闸门定点控制功能,最后通过静态、动作试验,验证表孔闸门定点控制功能的正确性。该设计理念思路清晰,流程完善,安全可靠,值得大家借鉴。
[关键词] 监控系统;表孔闸门;定点控制;开度异常


0引言
        某电厂表孔采用弧形工作闸门挡水,工作闸门侧止水采用橡塑密封,底止水为条形橡皮。闸门采用液压启闭机启闭。表孔以均匀、同步开启为基本运行方式。工作闸门在无水状态下启闭时,动门前需向侧水封喷洒润滑水预润滑。表孔工作闸门正常情况下控制方式置“远方”位置,对应油泵控制方式置“自动”位置。正常情况下,开启或关闭闸门应在监控系统(简称CCS,下同)上操作,现场应有值班人员监视;特殊情况下,由现场值班人员进行操作,当CCS上操作失灵时应及时将闸门控制方式切至现地自动方式下操作,现地自动方式下操作表孔工作闸门,需要预先在闸门触摸屏上设置闸门开度,闸门运行至指定开度停止,若运行过程中按下闸门停止按钮,则闸门停止运行。
        
1现状分析
        大坝表孔闸门已实现远方操作,运行人员可在CCS上对闸门进行开启、关闭、停止的单步操作,开启或关闭工作闸门至预定开度需要人工提前进行干预,即提前操作停止按钮,使得闸门停止动作,但是由于闸门惯性、间延时、人为因素等原因,最终闸门开度实际值与预定开度存在一定的误差,监控系统无法精准将闸门设定在某个开度值。
        
2问题探究
        为了提高大坝表孔工作闸门开度控制准确度和自动化程度,减少运行人员操作,拟在监控系统上实现输入闸门开度设定值后,闸门自动开启或关闭至相应开度的功能:上位机输入闸门开度设定值,与当前闸门开度实测值相比,当闸门开度设定值大于实测值时,自动判定闸门需要开启,监控自动发令开启闸门,当闸门开度设定值与实测值差值在某个区间内(开启死区范围),表明闸门开启到位,闸门自动发停止令;当闸门开度设定值小于实测值时(关闭死区范围),自动判定闸门需要关闭,监控自动发令关闭闸门,当闸门开度设定值与实测值差值在某个区间内,表明闸门关闭到位,闸门自动发停止令。
        
3流程设计
        根据上述问题处理思路,拟在监控系统增加闸门开度定点控制逻辑,经多方面查询资料、联合相关班组讨论,最终将开启死区范围设定为0.2%,关闭死区范围设定为0.1%,具体功能如下:
        1)提门操作,以#1表孔为例,如图1。

图1  表孔操作界面
         在操作员站上坝区-大坝闸门控制画面中,点击#1表孔闸门开度设定值,输入开度值(范围0-100),上位机确认后,监控自动发令开启闸门,当闸门开度设定值与实测值的差值小于0.2%,监控自动发闸门停止命令,延时2S,CCS报操作成功。
        2)落门操作,以#1表孔为例:
        在操作员站上坝区-大坝闸门控制画面中,点击#1表孔闸门开度设定值,输入开度值(范围0-100),上位机确认后,监控自动发令关闭闸门,当闸门开度实测值与设定值的差值小于0.1%,监控自动发闸门停止命令,延时2S,CCS报操作成功。
    为了保证表孔闸门定点控制的准确性及安全性,特在监控系统上增加大坝表孔定点操作异常报警逻辑:
        1)为了准确判断闸门在接收开启或者关闭指令后是否正常动作,拟在监控系统上增加大坝表孔闸门开度异常报警逻辑:闸门动作过程中,每隔3S进行一次闸门开度测值异常检测,测值变化速率小于闸门开度由全关至全开提升速率的三分之一或者测值变化速率大于闸门开度由全关至全开提升速率的三倍或者开度信号测值品质为坏,CCS报“闸门开度测值异常”;
         2)为了避免闸门开度两次设值相差过小,造成闸门启停时间过短,频繁动作,拟在监控系统上增加表孔闸门开度设定值有效判断逻辑:闸门开度设定值与实测值的绝对差值在1%开度内设定值无效,CCS报“闸门开度设定值非法,流程退出”,闸门开度设定值与实测值的绝对差值大与1%开度时,闸门才进行调节;
         3)为了及时判定闸门开启到位后防止闸门误动作,拟在监控系统上增加表孔闸门开启到位的判断逻辑:在规定的时间内(闸门由全关至全开用时)闸门开度设定值与实测值的差值小于0.2%且闸门开度测值无异常或者表孔闸门已全开,CCS报闸门操作成功,否则CCS报“闸门开启异常,流程退出”;
        4)为了及时判定闸门关闭到位后防止闸门误动作,拟在监控系统上增加表孔闸门关闭到位的判断逻辑:在规定的时间内(闸门由全开至全关用时)闸门开度实测值与设定值的差值小于0.1%且闸门开度测值无异常或者表孔闸门已全关,CCS报闸门操作成功,否则CCS报“闸门关闭异常,流程退出”。
        根据上述功能设计,绘制出表孔闸门开度定点控制流程图,如图2。

图2  表孔定点控制流程图


4功能实施
4.1 增加闸门开度测值异常判定逻辑
        进入程序→任务→MAST→SR段→DUMMY_IO中,在#1表孔闸门开度后面增加如下程序:
(* #1表孔闸门开度测值异常判定*)
IF bk1=1 THEN
BKJS1(CLK:=%S6);
        IF BKJS1.Q THEN
           SX_BK1:=SX_BK1+1;
        END_IF;
        IF SX_BK1>2 THEN
         AIN10_VALUE1:=AIN10_VALUE2;
         AIN10_VALUE2:=INT_TO_REAL(AIN.VALUE[10]);
         SX_BK1:=0;(*#1表孔闸门开度测值异常报警,每隔3S进行一次检测,测值变化小于提门时三分之一的变化速率或者测值变化大于提门时三倍的变化速率或者品质为坏*)
         IF ((ABS(AIN10_VALUE2-AIN10_VALUE1)<(16000.0/743.0/3.0*3.0)) OR (ABS(AIN10_VALUE2-AIN10_VALUE1)>(16000.0/743.0*3.0*3.0)) AND (AIN.QUA[10]=0) AND (bk1=1)) THEN
           Num_bk1:=Num_bk1+1;
         ELSE
           Num_bk1:=0;
         END_IF;    
         IF ((Num_bk1>3) OR (AIN.QUA[10]=1))  THEN
             DUMMY.DI_VALUE[111]:=1;
           Num_bk1:=0;
         ELSE
           DUMMY.DI_VALUE[111]:=0;
         END_IF;
END_IF;
ELSE
         AIN10_VALUE1:=0.0;
         AIN10_VALUE2:=0.0;
         SX_BK1:=0;
END_IF;
        
        bk1_yc(CLK:=bk1);
        IF bk1_yc.Q THEN
           BK1_TEMP:=1;
           Num_bk1:=0;
        END_IF;
        IF BK1_TEMP THEN
           KON_bk1(IN1:=0,T1:=T#5S);(*延时5s*)
           IF KON_bk1.Q1 THEN
              DUMMY.DI_VALUE[111]:=0;
              BK1_TEMP:=0;
           END_IF;    
        END_IF;
        
        (* #1表孔闸门开启时间计算*)
        T_BK1QK:=REAL_TO_TIME(743000.0);
        (* #1表孔闸门关闭时间计算*)
        T_BK1QG:=REAL_TO_TIME(713000.0);
        修改部分说明:
        1)增加#1表孔闸门开度测值异常判定程序段:当大坝#1表孔闸门有开启令或者关闭令时,有bk1=1,调用表孔闸门开度测值异常判定程序。每隔3S检测一次,当闸门开度码值变化小于3S变化速率的三分之一或者测值变化大于提门时三倍的变化速率或者品质为坏时,则有大坝#1表孔闸门开度测值异常报警,即DUMMY.DI_VALUE[111]=1;
        2)增加#1表孔闸门开启时间计算程序段:#1表孔由全关至全开的时间约为12min23s,得出闸门最长开启时间T_BK1QK;
        3)增加#1表孔闸门关闭时间计算程序段:#1表孔由全开至全关的时间约为11min53s,得出闸门最长关闭时间T_BK1QG。
4.2 增加表孔闸门按开度设定值操作流程
        进入程序→任务→MAST→SR段→SEQ_KG中,在对象21大坝#1表孔闸门操作程序段中第375行之后增加下列程序,功能为大坝#1表孔闸门按开度设定值操作流程,具体如下:
         (* 性质10,按设定开度调节 *)
901:IF ABS(bk1sd_100-DUMMY.AI_VALUE[3])<=100 THEN (*设定值与实测
值差值比较,在死区设定值内则流程报警退出*)
                ALARM_CODE:=900; (*闸门开度设定值非法,流程退出? *)
           FAIL:=1;
ELSE
           SEQ_INFO[object].CSTEP:=910;
END_IF;
910:IF bk1sd_100-DUMMY.AI_VALUE[3]>100 THEN
   SEQ_INFO[object].CSTEP:=915;(*设定值与实测值差值比较,设定值大于实测值,则提门*)
END_IF;
IF bk1sd_100-DUMMY.AI_VALUE[3]<-100 THEN
   SEQ_INFO[object].CSTEP:=920;(*设定值与实测值差值比较,设定值小于于实测值,则落门*)
              END_IF;   
915:OUT[1]:=2000;(*提门令*)
        SEQ_INFO[object].CSTEP:=916;
916:KON_21(IN1:=0,T1:=T#20S);(* 延时20s *)
         IF KON_21.Q1 THEN
            SEQ_INFO[object].CSTEP:=917;
         END_IF;
917:bk1:=1;(*表孔闸门开度测值是否异常程序段调用标记*)
          SEQ_INFO[object].CSTEP:=925;
920:OUT[3]:=2000;(*闭门令*)
          SEQ_INFO[object].CSTEP:=921;
921:KON_21(IN1:=0,T1:=T#20S);(* 延时20s*)
          IF KON_21.Q1 THEN
            SEQ_INFO[object].CSTEP:=922;
          END_IF;
922:bk1:=1;(*表孔闸门开度测值是否异常程序段调用标记*)
            SEQ_INFO[object].CSTEP:=930;925:KON_21(IN1:=(((bk1sd_100-DUMMY.    AI_VALUE[3])<=20 AND (DUMMY.    DI_VALUE[111]=0)) OR (DI[164]=1)    OR (DUMMY.DI_VALUE[111]=1)),T    1:=T_BK1QK);(* 提门操作中闸门进    入死区开度且#1表孔闸门开度测值     刷新正常或#1表孔闸门已全开或#1表孔闸门开度测值刷新异常?*)
         IF KON_21.Q1 THEN
           OUT[2]:=2000;(*停门令*)
   ALARM_CODE:=901;  (*闸门开启异常,流程退出 *)
             FAIL:=1;
           bk1:=0;
         END_IF;
         IF KON_21.Q2 THEN
  IF DUMMY.DI_VALUE[111]
         THEN
              OUT[2]:=2000;(*停门令*)
      ALARM_CODE:=901;  (*闸门开启异常,流程退出 *)
                FAIL:=1;
              bk1:=0;
          ELSE
                OUT[2]:=2000;(*停门令*)
                bk1:=0;
                SEQ_INFO[object].CSTEP:=940;
           END_IF;
         END_IF;
930:KON_21(IN1:=(((DUMMY.AI_VALUE[3]-bk1sd_100)<=10 AND (DUMMY.DI_VALUE[111]=0)) OR (DI[165]=1) OR (DUMMY.DI_VALUE[111]=1)),T1:=T_BK1QG);(* 落门操作中闸门进入死区开度且#1表孔闸门开度测值刷新正常或#1表孔闸门已全关或#1表孔闸门开度测值刷新异常?*)
          IF KON_21.Q1  THEN
             OUT[2]:=2000;(*停门令*)
     ALARM_CODE:=902;  (*闸门关闭异常,流程退出*)
               FAIL:=1;
               bk1:=0;
           END_IF;
           IF KON_21.Q2 THEN
            IF DUMMY.DI_VALUE[111]
                THEN
               OUT[2]:=2000;(*停门令*)
       ALARM_CODE:=902;  (*闸门关闭异常,流程退出 *)
               FAIL:=1;
             bk1:=0;
         ELSE
               OUT[2]:=2000;(*停门令*)
               bk1:=0;
        SEQ_INFO[object].CSTEP:=940;
          END_IF;
END_IF;    
940:KON_21(IN1:=0,T1:=T#2S);(*  延时2s *)
        IF KON_21.Q1 THEN
           SEQ_INFO[object].CSTEP:=980;
        END_IF;   
980:SUCCESS:=1;
        修改部分说明:
        1)增加表孔闸门开度设定值有效判断逻辑:闸门开度设定值与实测值的绝对差值在1%开度内设定值无效,CCS报“闸门开度设定值非法,流程退出”,闸门开度设定值与实测值的绝对差值大与1%开度时,闸门才进行调节;
         2)增加表孔闸门开启到位的判断逻辑:在规定的时间内(闸门由全关至全开用时)闸门开度设定值与实测值的差值小于0.2%且闸门开度测值无异常或者表孔闸门已全开,CCS报闸门操作成功,否则CCS报“闸门开启异常,流程退出”;
         3)增加表孔闸门关闭到位的判断逻辑:在规定的时间内(闸门由全开至全关用时)闸门开度实测值与设定值的差值小于0.1%且闸门开度测值无异常或者表孔闸门已全关,CCS报闸门操作成功,否则CCS报“闸门关闭异常,流程退出”。
         
5试验验证
5.1 静态试验
        将大坝公用LCU A1、A2柜及其远程IO柜置“调试态”,在上位机测点索引中将其强制为“在线态”,在大坝闸门控制画面中进行表孔#1闸门开度设置操作,检查确认闸门按开度设定值开启或者关闭流程执行正常,简报正确。
5.2 动态试验
        将静态试验中所做措施及强制点全部恢复,运行人员在调整好表孔闸门总下泄
        流量后,按照附表进行#1表孔闸门操作,记录好闸门设定值、闸门在设定值操作后到达的实测值数据,如表1。
表1   大坝表孔#1闸门动作试验表

        根据数据记录表,开启方向最大开度误差为0.08,关闭方向最大开度误差为0.07,误差在合理范围内,达到预期效果。
        
6结语
        大坝表孔闸门增加定点控制功能后,使得大坝表孔闸门自动控制更加智能化,闸门设定某个开度后闸门自动动作到某个开度,无需分散运行人员注意力去提前干预,极大地提高了运行人员监控效率,便于快速捕捉重要简报信息。采用灵活的定点控制方式符合电厂“无人值班,少人值守”的运行模式,进一步提升了水电厂的自动化程度,值得其它电厂借鉴参考。


[参 考 文 献]
[1] 张哂昭.计算机监控系统在三门峡水电厂坝顶闸门控制中的设计与应用.水利水电工程设计.2017年02期.
[2] 李新锋.板桥水库闸门集中控制的安全监控.河南水利与南水北调.2012年06期.
[3] 朱显彬.水电站传统闸门控制的技改方案.科技风.2009年21期.



[作者简介]:王文松,男,工程师,雅砻江流域水电开发有限公司,从事水电厂机电设备检修维护管理工作.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: