气体流量计生产厂家

24小时在线服务
当前位置:2019亚洲杯下注 > 选型手册 >

水电站闸门过闸流量计算方案与实现

时间:2018/03/13来源:未知

摘  要:部分水电站由于没有安装闸门流量计或不具备安装条件,导致闸门弃水流量无法实现自动采集,只能采用人工估算方式,数据精度较差。本文先容了某水电站在不具备流量计情况下,通过闸门监控系统实现流量计算的方法,详细先容了过闸流量计算的基本数学模型、方案比选设计和实现方法。

1、引言:
  某水电站已投运了闸门监控系统,并已正确采集到水位、开度等信号,但由于缺乏流量的采集设备,无法直接获得闸门打开时实际的流量,通过人工计算的方式效率低且人工计算数据的精度较低,无法满足流量数据统计要求。因此电站考虑通过已存在的闸门流量数学模型实现瞬时流量和累积流量的统计功能,并形成流量的月统计报表和年统计报表。本文即先容了该流量计算功能方案设计与实现。

2、数学模型:
  该电站的泄洪闸门为弧形门,经过多年的发电运行经验,已形成了较为准确的流量计算数学模型,其泄洪门流量数学模型泄洪流量计算公式如下:
计算公式

式(1)中:Q-闸门瞬时流量,
b-闸门宽度,
e-闸门开度,
g-重力加速度常数(取9.8),
H-堰顶至上游水位。在上述参数中,只有水位(H)和闸门开度(e)是可变变量,其他均为固定常数,因此流量的变化仅与当前泄洪闸门处的堰顶至上游水位和闸门开启的开度有关。
 
3、方案对比:
  该电站已建设了一套闸门监控系统并实现了水位和闸门开度信号的自动化采集,通过长时间运行观察,数据的精度和可靠性均达到要求。该闸门监控系统由上位机和下位机组成,上位机后台App采用NC2000监控系统App(操作系统为Linux),下位机采用PLC进行水位、开度等模拟信号的采集,下位机PLC采集的模拟量数据通过网络上送至上位机后台App。
  根据对该闸门监控系统的数据采集、传输和运算的流程分析,实现闸门流量计算可选择通过以下方式实现:PLC编写计算程序、Shell脚本程序、NC2000监控系统接口开发。通过对三种实现方式进行对比分析,每种方式具有其明显的优缺点,应根据项目实际情况进行评选。

3.1、PLC编写计算程序方案通:
  过在PLC程序中增加运算程序,实现数学模型的计算,并将计算的流量结果保存至寄存器中,通过网络通讯上送至上位机后台App。
优点:
(1)数据采集与统计运算均在下位机的PLC中完成,可避免网络数据中断导致计算不准确问题;
(2)PLC的运算速度可保证实现准确的时钟滴答,保证累计流量计算的精度。
缺点:
(1)当数学模型较为复杂时,采用PLC的梯形图或其他类似语言编写的程序较为复杂,程序编写和调试难度较大;
(2)如不具备明确的数学公式模型,而采用查询“流量-水位-开度”表的方式时,表中水位和开度组合情况较多,在低端PLC中编写的程序可能出现由于程序过大而内存不足的问题;
(3)闸门系统PLC一般选用经济型型号,不具备冗余功能,部分型号有可能不具备数据断电保持的能力,导致当PLC程序断电重启后累积值无法保存,影响流量累计计算的精度;
(4)对于较为复杂的数学模型,模型计算部分程序可能占用较多的CPU资源,导致PLC程序运算时钟周期变长,影响数据采集和更新的速度。

3.2、上位机shell脚本程序方案:
  本方式中下位机PLC通过通讯网络将相关数据上送至上位机后台服务器,在上位机服务器中采用Shell脚本从NC2000监控系统中获得水位、开度和累积流量数据,完成数学模型的计算后,将计算出的瞬时流量和累积流量更新至NC2000监控系统。
优点:
(1)采用编程语言Shell进行程序编写,易于实现复杂的逻辑和运算功能,程序调试较为方便且易于维护,开发效率高;
(2)通过对服务器实际符合情况进行分析,服务器剩余运算能力能够满足运算要求,不会对已实现功能产生性能影响;
(3)上位机如具备双机冗余功能时,可保证已计算的流量累计数据不丢失,易于实现累计流量的计算;
(4)上位机良好的并发运算性能可保证脚本中形成准确的时钟滴答,保证累计流量计算的精度。

缺点:
(1)由于服务器通过网络从下位机PLC中获得采集的数据,当上下位机的通讯网络出现中断时可能会导致流量数据计算结果与实际闸门流量不一致;
(2)脚本语言中数据类型主要以简单数据类型为主,缺乏复杂数据类型的支撑,因此对于复杂的开度-流量曲线模型实现较为困难。 

3.3、NC2000监控系统接口开发方案:
  NC2000监控系统App提供了丰富的基于C语言的API接口,支撑在NC2000系统基础上进行功能的二次开发扩展。通过API函数定制开发的程序可实现绝大多数的功能需求,而且由于采用C语言开发,因此程序有着非常好的运算性能。

优点:
(1)采用C程序编写,易于实现复杂的逻辑和运算功能,语言可实现绝大多数的功能需求;
(2)程序对资源占用少,采用基本的进程间通信的方式与监控系统通讯,程序性能优异;
(3)上位机如具备双机冗余功能时,可保证已计算的流量累计数据不丢失,易于实现累计流量的计算。
缺点:
(1)C语言带来强大运算功能的同时,对开发者的计算机编程技能要求较高,而在水电站中具备该编程能力的人员较少,不利于程序开发和维护;
(2)由于服务器通过网络从下位机PLC中获得采集的数据,当网络出现中断时可能会导致流量数据计算结果与实际闸门流量不一致;
(3)对NC2000监控系统二次开发技术要求较高,需要借助App厂家的技术支撑,当开度-流量的数学模型曲线较为简单时,该方案的性价比过低。

3.4、方案选择:
  与评价在本项目中流量计算的数学模型较为简单,综合以上三种方式优缺点,采用Shell脚本的方式在数据冗余、脚本实行频率控制、开发效率均具有较强的优势,既可以满足运算数据精度的要求,也易于实现较为复杂的运算逻辑,具备良好的扩展性和可维护性,因此本项目采用该方式实现。

4、程序设计:
4.1、程序编制:

  考虑到各UNIX、Linux的程序通用性,采用B-Shell脚本语言进行本程序的开发。程序包含初始化、状态检查、流量计算、休眠四个部分:
  初始化:定义程序运行过程中,与NC2000监控系统交换数据的输入和输出测点定义,如水位、闸门开度、实时流量和累计流量等测点的标识,以及其他在程序中用到的临时变量及初始值。
  状态检查:检查流量计算的前提条件是否满足,主要包括运算节点状态和时钟滴答检查。该水电站的NC2000监控系统采用了主备冗余的模式,处于主用状态的节点进行实时数据的计算并更新其他节点数据,而备用节点接收主用节点数据。因此程序需要部署在主用和备用两个节点同时运行,在程序完成初始化并进入主循环计算过程后,每次计算过程中需要先判断当前节点状态,仅当本节点处于主用或独立(单机运行)状态时进行流量的计算。
  流量计算:编写数学模型的计算实现函数,将水位和开度作为函数的输入,计算的实时流量作为运算结果返回,并将返回结果更新至NC2000监控系统相应测点。函数设计时应考虑在计算前对输入进行合法性检查,当数据值超出范围或数据源品质为坏时,不应进行流量计算并返回相应错误代码。
  休眠:为程序循环设定合理的休眠,释放CPU的运算资源。在计算累计流量时,程序每完成一次瞬时流量的计算即进行一次累计流量的累加,为保证累计的数据准确,
应保证程序采用均匀的时间间隔进行累加计算(在本项目中设定周期为1秒)。由于分时操作系统的系统特点,休眠命令sleep每次实行耗时并不均等,因此在程序休眠的时长应小于设定的周期,主循环过程中仅在判断出时钟存在大于设定周期的变化时再进行相关的计算
  程序的主要流程参见图1所示。
图1    过闸流量计算程序流程图
4.2、程序调试:
  通过程序在实际调试情况,在程序实现时还需考虑以下因素:
(1)闸门开度往往存在一定的零飘,处于全关位置时,
系统采集到的闸门开度并不为零,可能是一个较小的数字,按照公式运算获得的结果并不为零,长期累加会影响累积流量的运算精度。因此闸门的运算公式应设定运算的阀值或判断闸门全关的位置信号状态,当闸门处于闸门全关状态或低于阀值时,不应进行闸门流量的运算。
(2)由于信号采集理论中存在数据异常的状态,如PLC采集模件损坏、传感器损坏等潜在因素导致采集的数据不可信。因此在进行公示运算前,应对数据的状态进行合法性判断,判断的因素包括品质、梯度、有效范围等,以保证累积流量的计算结果与实际一致。
(3)Shell脚本中默认的浮点数据计算精度较低,应根据实际情况在计算过程中指定某些计算函数的返回精度,避免计算过程中的精度损失。

5、结束语:
  通过泄洪闸门实际开度试验,将程序对流量的运算结果,与往年记录的历史数据的进行比对,运算的结果与历史数据一致,满足了电站对流量数据功能和精度要求。该功能的实现,提高了流量统计数据的精度,使得电站维护人员无需再在每个月度和年度进行人工的数据查询和流量统计工作,减少了维护人员的工作压力和强度,提升了工作效率。

常见问题
资料查询
价格咨询
江苏华云仪表有限企业
销售电话:0517-86996066
企业传真:0517-86883033
手 机:18915186518
E-mail:[email protected]
企业地址:江苏省淮安市金湖县工业园同泰大道99号
XML 地图 | Sitemap 地图