燃煤电厂入炉煤分炉分仓计量的优化设计与实现
2019-12-04刘华炜
刘华炜
(上海工业自动化仪表研究院有限公司,上海 200233)
0 引言
电力是国民经济发展的重要基础产业。由于我国能源结构等情况,燃煤发电作为重要的电源种类,将在电力系统中长期存在。燃煤机组发电是用煤大户,对燃煤的精度计量,不仅能够进行成本核算,提高经营管理效益,而且对节约能源业具有十分深远的意义。
传统分炉分仓计量系统[1]是通过对输煤皮带的入炉煤电子皮带秤瞬时量的采集,利用计算机控制技术,再结台锅炉上煤时各个原煤仓进煤口各相关设备的状态信号,进行计算、处理,从而得到各煤仓及各台机组的燃煤量,达到对各仓各炉入炉煤进行单独计量的目的。这种方法技术含量高、投资费用低,并且具有很好的扩展性。但由于数据模型的大量累计计算处理及数据的存储过程均在可编程逻辑控制器(programmable logic controllor,PLC)中实现,长期运行会导致PLC运行负荷加重,PLC编程复杂难于维护,并且随着时间推移CPU运行效率降低,会导致生产运行的可靠、安全性存在隐患。针对传统分炉分仓计量系统的这些缺点,对传统的分仓计量系统进行了优化改进。优化设计数学模型的计算以及数据存储过程和记录方式,从而合理分配资源。在保证生产运行安全、可靠的前提下,对数据进行精确计算,完成数据存储记录,生成报表,使分仓计量系统更加可靠实用。优化设计实现了输煤系统真正的管控功能,为发电效益的计量提供智能化数据分析的依据,从而指导燃烧、降低煤耗、节约成本。
1 分炉分仓计量系统设计思路的优化改进
分炉分仓计量系统设计思路是以总输煤皮带上的入炉煤皮带秤的称重信号为基础,利用计算机控制技术,再结台锅炉上煤时各个原煤仓进煤口各相关设备的状态信号,进行逻辑编程、计算处理,形成数学计算模型。数学模型由PLC编程[2]实现,对各炉各仓入炉煤进行单独计算处理。再利用上位机监控软件的VBA编程[3]功能及自带的SQLServerExpress数据库软件,构建新的SQLServer数据库实例[4],创建SQLServer存储过程和触发器。通过参数传递的方式,实现分仓计量数据的高效存储,利用PLC计算的实时数据得到各煤仓各台机组的燃煤量。通过上位机监控软件VBA编程实现分仓计量的报表功能,不仅为现场管理人员提供方便灵活的查询方式,并且可以快速、高效地展示报表。操作界面为数据库提供必要的维护接口,以保持数据库在计算机中的一个可控状态。只需维护工程师在操作界面上进行简单的操作,就可以实现对数据库[5]的维护。
1.1 输煤加仓系统概况
某电厂有2台机组,每台机组有6个煤仓,加仓皮带为左侧12A输送皮带和右侧12B输送皮带,并通过安装在输送皮带上的犁煤器对各个煤仓进行加仓。除了2#锅炉的最后一个煤仓(2-F)作为尾仓,不采用犁煤器控制加仓外(相当于常开状态),其他每个煤仓都分别对应2个犁煤器(12A和12B输送带上面各1个)。犁煤器抬起和落下到位信号通过行程开关来检测。在加仓皮带的上游皮带11A和11B上分别安装一个计量皮带秤,煤流经皮带秤后由电动三通送到12A或者12B皮带上。运行过程中,由操作人员通过输煤程控系统的操作界面来选择运行路线。输送皮带将煤经煤场经皮带秤由三通输送至相应加仓皮带上,运行人员通过操作输煤程控系统的操作界面控制相应犁煤器的抬、落,把煤流加仓进犁煤器落下位置的煤仓中。本系统为典型的单秤加仓输煤系统,入炉煤皮带秤到各个煤仓间存在一定的距离。在加仓运行过程中,经过皮带秤称重后,煤流经过一定的时间分别到达各个煤仓的入口。图1为输煤系统加仓示意图。
图1 输煤系统加仓示意图
1.2 分炉分仓计量系统构架的优化
传统的分炉分仓计量[1]系统构架原理如图2所示。皮带秤仪表瞬时煤量、犁煤器接近开关和三通的状态信号以硬接线方式进入PLC。这些信号和在PLC处理器中计算后得到的数据,都可以在上位机组态软件的数据库中读到,并可以实时监控其状态。在上位机组态软件中对这些数据信息进行数据历史记录配置,利用SE VBA编程[3]即可自动生成报表,并可以在规定时间自动打印输出。由于上位机组态软件历史数据仅支持简单的记录存储而缺乏管理功能,所以所需要的数据处理均要在PLC中进行计算处理后,发送给上位机。这样就导致以逻辑控制功能为强势,而模拟量控制功能为弱势的PLC处理器[6]负荷过重,会导致CPU速度变慢甚至死机现象的发生,严重影响生产运行。
图2 传统的分炉分仓计量系统构架原理图
优化设计是在传统架构的基础上引进SQLServerExpress数据库软件[4],并用数据库编程语言SQL对数据存储过程进行编程。优化后的分炉分仓计量系统构架原理如图3所示。
图3 优化后的分炉分仓计量系统构架原理图
2 优化的分炉分仓计量系统设计实现
从标准化角度考虑,PLC的编程采用梯形图编程[2],因此PLC选用具有随意性,上位机监控软件可以采用自带SQLServerExpress数据库软件的组态软件。入炉煤皮带秤的称重信号、犁煤器接近开关及三通的状态先进入输煤程控系统的PLC,PLC进行入炉煤分仓的累积计算,然后在上位机监控软件的数据库中可以同步得到各个状态值及计算数据。分炉分仓计量系统关键技术:一是将入炉煤皮带秤的称重信号变化量、犁煤器状态和三通的状态作为输入参数来构造分炉分仓计量系统的数学模型,在PLC中编程实现;二是在数据库中编程实现对PLC数据进行存储过程及高效存储的管理并在SE中用VBA进行编程生成报表,同时实现自动按时打印功能。 优化的分炉分仓计量系统原理如图4所示。
图4 优化的分炉分仓计量系统原理图
3 分炉分仓计量数学模型设计实现
3.1 数学模型的设计
在单秤加仓输煤系统中,需要设计一个“单秤分炉分仓计量”数学模型。利用数学模型将一台入炉煤皮带秤的称重信号分别扩展到每个煤仓处,在每个煤仓的入口处虚拟安装称重装置,因此每个煤仓入口处的虚拟称重装置的安装位置是分炉分仓计量精确度的关键。
分炉分仓计量数学模型的难点,是在输煤系统的实际运行过程中,由于煤量的计量是连续进行的,11A、11B输送皮带上的皮带秤到各煤仓有一段距离。在锅炉换炉加仓时,必须将这段距离的煤量算在下一个炉上,而上一个炉的煤量必须扣除这段煤量;另外,由于各锅炉煤仓的位置不同,所以各锅炉煤仓与皮带秤的距离不一致,皮带秤到煤仓这段距离的煤量、延时时间是不相等的。换煤仓时,犁煤器先落后抬都会导致煤仓计量的误差。分炉分仓计量系统的精度取决于计量模型的设计,这就需要设计一个数学模型,将时间、距离等影响因素作为煤量计算的重要数据。
设计数学模型的关键是精确计算距离与时间的关系。因为各煤仓与进仓电子皮带秤之间存在不同长度的距离,所以煤流经过电子皮带秤到达各煤仓存在不同的延时。这段时间的延时在设计模型时至关重要,设计引入模拟量离散化处理的理念[7]。由于皮带输送煤流是连续的,但每累计达到1 t便可以送出一个脉冲,这样就可以按照一定的采样时间间隔入炉煤皮带秤的称重数据进行离散化。每个离散的称重信息以入炉煤皮带秤为起点,至犁煤器落下位置的煤仓入口处为终点,进行连续的输送。由于在输煤系统中,虽然入炉煤皮带秤至各个煤仓入口的距离是固定的,且皮带的带速也是固定的,但是煤流由皮带秤至煤仓的输送需要经过皮带和三通装置落煤管,因此完全依赖工艺理论数据来计算每个煤仓入口处的虚拟称重装置的安装位置势必会导致计量误差。确定离散的称重数据后,需要现场实际测量煤流由皮带秤至每个煤仓的输送时间。当采样时间间隔和输送时间确定后,每个煤仓虚拟称重装置的安装位置就确定了:Position=Time/Interval。其中:Postion为虚拟称安装位置;Time为煤由入炉煤皮带秤至煤仓入口的输送时间;Interval为采样时间间隔,此时间间隔在程序中进行设定。因此,煤流由入炉煤皮带秤至煤仓入口的输送时间是建模的关键要素。
为了减小测量时产生的误差,采用多次测量求平均值的方法。时间记录表如表1所示。由于目前工业电视的高清度及实时性都非常高,因此可以利用工业电视摄像头,记录煤流由皮带秤到各个煤仓的时间。这样既可以避开到现场煤烟污染的环境,又可以远离现场运行设备,避免危险情况的发生。时间设为:煤仓1延时T1,煤仓2延时T2,…,煤仓12尾仓延时T12。
表1 时间记录
当前电子皮带秤的煤量脉冲要经过T1到达煤仓1,或者经过T2到达煤仓2,或者经过T12到达煤仓12。换言之,当前进入煤仓1的煤流是之前T1时刻计量到的电子皮带秤的读数并存储至响应对列中第T1位置,当前进入煤仓2的煤流是之前T2时刻计量到的电子皮带秤的读数并存储至响应对列中第T2位置,当前进入煤仓12的煤流是之前T12时刻计量到的电子皮带秤的读数并存储至响应对列中第T12位置。模型关键在于每个采样时间都需要对队列数组元素进行更新维护,并使队列首位置数据为最新数据。再根据三通方向、犁煤器起落、皮带的运停,判断是哪个煤仓加煤,然后把相应时间点的煤流读数累计到该煤仓。
煤量统计值的数学公式为:
式中:G(t)为时间t时刻保存至对列响应位置的皮带秤瞬时量;t1、t2分别为加仓计量开始与结束时刻。
利用模拟量离散化处理的原理[7],模型中设计双整形数组对列Bunker[Length],数组对列具有双重含义,时间与煤量脉冲。数组每个寄存器的每个位都会以离散值“0”或“1”对应到输煤路径当前位置,是否有由A/B侧电子皮带秤输送来的每吨煤流。每位的数值是动态变化的,是以采样时间间隔为速度进行相应的左移位,仿真模拟现场煤流的输送工况。
3.2 数学模型在PLC中的实现
在输煤控制系统PLC-CPU中,以梯形图编程实现数学模型的计算。PLC程序流程如图5所示。
图5 PLC程序流程图
首先设定皮带秤采样时间间隔。根据实际运行情况,皮带输送煤量通常在3 000 t/h以下,但偶尔也会出现输送煤量大于3 600 t/h的情况。这样1 s内输送量要大于1 t,所以采样时间要小于1 s,以防丢失称重信息导致计量数值偏小。根据现场调试将采样时间间隔设为500 ms。每当皮带秤称质量累计为1 t,就会产生一个脉冲。此时,数列寄存器Bunker0.0置为1,同时启动数列移位功能块,以采样时间间隔连续左移到寄存器的下一位,并复位寄存器的前一位,为等待下一个一顿脉冲的到达更新作准备。每个煤仓设置一个加法加数器。当“1”移位到犁煤器落下位置即加仓煤仓的位置所对应的数组相应的位时,启动相应煤仓的累计计数器功能块进行加仓煤量的累加,同时将加仓煤仓的位置所对应的数组相应的位复位为“0”,即不再将“1”左移到数组寄存器的下一位。
4 分炉分仓计量报表系统设计实现
在数据库中,编程实现对PLC数据进行存储过程及高效存储的管理,并在SE中用VBA进行编程生成报表,同时实现自动按时打印。
4.1 数据库的设计与应用
利用上位机监控组态软件的VBA、ADO及自带的SQLServerExpress软件,实现数据的存储,报表的生成。
构建新的SQLServer数据库实例。创建SQLServer存储过程,通过参数传递的方式,存储过程接受上位机监控组态软件发送的实时数据,并通过仓号及煤种号实现了分仓计量数据的高速处理。为了解决数据不定期清零的问题,采用差值存储法,确保数据的完整性、准确性。存储过程比较传递过来的数据,与RealData表的存储值进行比较,如果大于上次数值,就把两者的差值计入ReportData表,并加上时标,再把新的数据值存入RealData表。如果传入的数据与RealData表的数据相等,则忽略这次数据更新。如果传入的数据小于RealData表中的数据,则表明已清零,此时需把新数据直接计入ReportData表,并用新数据更新RealData表。差值存储法的变则写,不变则不写原则,以减少数据处理的频繁,提高数据处理效率。
通过上位机监控组态软件自带的VBA,调用ADO(ActiveXDataObject)对象,在数据发送函数里创建ADODB.Connection,ADODB.Command对象,创建相应的变量获取实时煤量,煤种、煤仓等数值,并通过ADODB.Command对象的参数集合赋值给存储过程参数。
加仓开始后,PLC发送数据库触发条件,启动数据库差值存储功能,调用数据发送函数,把数据写入SQLServer。
4.2 报表的生成
通过上位机监控组态软件自带的VBA编程,实现了分仓计量的报表功能,在操作界面上提供方便灵活的查询方式,并可以在操作界面上快速高效展示报表。
首先通过Excel设计报表,建立好报表模板。然后,在上位机监控组态软件中,通过创建Excel对象,后台打开报表模板,把通过ADO对象从SQLServer里查询得到的报表数据填入相应的表格中。查询条件为可自由选择班、天、月、年。通过sql语句的Sum函数,可以快速查出并生成报表,输出报表格式可以为xls、Html等。这里建议使用Html格式,以方便阅读、禁止修改。再使用Webbrowser控件,在上位机监控组态软件画面上显示出刚刚生成的报表,并可以支持灵活的打印。VBA 生成表程序流程如图6所示。
图6 VBA生成报表程序流程图
4.3 数据库的维护管理设计
随着系统的长期运行,数据库数据量会越来越大,数据存储效率也会越来越低。为此,专门创建一个数据库维护画面,可以让用户按照选定的时间段清除对应的历史数据,从而保证数据库的快速、高效。
5 结束语
优化的分炉分仓计量系统可以准确计量每个煤仓、每个机组的加煤量及煤种情况;并可以灵活查询任意时间段的加仓数据信息,自动生成班报、日报、月报和年报;PLC-CPU计算负荷可控,运行安全可靠,程序便于维护。维护管理工程师可以及时掌握设备的出力情况,便于设备的维护。