首页 理论教育 火电厂蒸汽轮机驱动给水泵控制方法

火电厂蒸汽轮机驱动给水泵控制方法

时间:2023-06-27 理论教育 版权反馈
【摘要】:本示例考虑给水泵用蒸汽轮机驱动要解决的控制问题,以及控制系统与给水泵装置中的内其他设备的相互影响和作用的问题。图6-101显示锅炉给水泵控制系统组成。2)定义控制系统与蒸汽轮机拖动给水泵装置的其他部分需要交换的主要信号。定义给水泵运行模式的数据类型。

火电厂蒸汽轮机驱动给水泵控制方法

1.过程简介

大型火电厂的给水泵用来保持锅炉锅筒的水位,使它控制在安全的工作区间。图6-100中,由锅炉产生的过热蒸汽供给驱动发电机的蒸汽轮机和其他以蒸汽作为动力的厂用设备,例如,驱动锅炉主给水泵的蒸汽轮机。若锅筒的水位太低,会使锅炉水冷壁钢管从炉膛中吸收过多热量,导致过热甚至损坏;若锅筒的水位太高,会使过热蒸汽中含有水分,以致损坏主蒸汽轮机的叶片。驱动给水泵的小型汽轮机也从主蒸汽管中获取过热蒸汽作为动力,将从凝汽器回流的脱去气泡的水经加压泵送至锅筒,以维持锅筒水位。

本示例考虑给水泵用蒸汽轮机驱动要解决的控制问题,以及控制系统与给水泵装置中的内其他设备的相互影响和作用的问题。

图6-101显示锅炉给水泵控制系统组成。

978-7-111-59695-0-Chapter06-175.jpg

图6-100 锅炉设备的主要工艺流程图

978-7-111-59695-0-Chapter06-176.jpg

图6-101 锅炉给水泵控制系统

蒸汽轮机的主轴通过联轴节与给水泵的主轴连接,向给水泵提供驱动动力,同时,它还驱动一台联轴油泵,给水泵轴承润滑油液压调速器的动力由该油泵供给。

操作人员可在中央控制室内完成给水泵起动的初始化,设定给水泵由静止到满速运行的升速时间,以及初始运行速度。在打开蒸气进气阀和排气阀后,蒸汽轮机按指定的斜率升速。为使蒸汽轮机的转子和外壳的温度均衡,汽轮机先升速至某中间转速,并保持此转速运转一段时间,直到汽轮机的外壳温度与进气温度相适应。然后慢慢开大蒸汽进气阀,让蒸汽量逐步加大,直至汽轮机到达运行速度。

当给水泵处于运行速度(约3000r/min)时,打开油泵的负压阀和给水泵的进水阀,将给水输至锅炉的锅筒。此时控制系统切换至“随动控制”,由一种专门的算法按照一定的关键的过程参数值调节汽轮机的速度。这些参数值包括锅筒的水位、给水流量和进水阀的阀位。

该调节控制算法计算出所要求的泵速,通过液压调速器来微调蒸汽轮机的转速。

为了让给水泵停车,操作人员按下停车按钮或处于紧急停车条件时,先关闭供气管道的蒸汽进气阀和排气阀。当汽轮机减速并停转时,起动汽机的盘车电动机,让汽轮机慢速旋转,以保证汽轮机的轴在冷却过程中不致变形。

当汽轮机轴承的液压低到最低压力时,或当汽轮机的转速过低,以至不能带动油泵的轴转动时,为维持轴承的液压,要启用辅助电动油泵。

2.设计方法

可以把给水泵控制系统的设计考虑分为下列阶段:

1)定义控制系统的输入和输出,即控制系统与外部之间的接口,包括来自传感器的输入和连接至执行器(诸如阀门齿轮箱)的输出。

2)定义控制系统与蒸汽轮机拖动给水泵装置的其他部分需要交换的主要信号

3)定义与操作人员的所有进行交互的接口、人控功能和监控数据。

4)采用由上至下的方法分析控制问题,由此可得到按IEC61131-3标准所要求的程序组织单元,即IEC程序和功能块。

5)定义所要求的任意低级功能块。

6)定义不同程序和功能块所要求的扫描循环时间。

7)进行程序和功能块的详细设计。图6-102显示控制系统与蒸汽轮机拖动给水泵装置的主要接口。

978-7-111-59695-0-Chapter06-177.jpg

图6-102 锅炉给水泵控制系统的概貌

从图6-102可见,该锅炉给水控制系统通过检测锅炉水位调节给水泵的转速,以保持锅炉锅筒的水位在给定的数值。整个控制系统还包括监控一百多个输入信号(包括阀位传感器、温度、油压等),以确定整个装置的状态。另外还有许多输出,用来调整蒸汽阀门开度,以及辅助电气装置的运行。

(1)定义数据类型

任何一个工程项目,都要先定义数据类型,使这些数据可以在整个项目中加以应用。

例6-15】定义给水泵运行模式的数据类型。定义PumpMode为枚举数据类型。

978-7-111-59695-0-Chapter06-178.jpg

例6-16】定义给水泵转速提升的数据类型。定义RampSpec为结构化数据类型。

978-7-111-59695-0-Chapter06-179.jpg

(2)定义给水泵装置的输入和输出

需要对所有与给水泵运行有关的输入传感器的信号(包括蒸汽阀的阀位、油压、齿轮变速器和温度等)进行定义;也需要定义所有的驱动执行机构(诸如阀门控制器的执行机构和齿轮变速箱的执行机构,在辅助油泵起动时的输出)作为输出信号;此外,还需要增添附加的I/O信号。

命名输入和输出变量的规则是能够方便地从信号变量名本身就可以联想到其信号的来源和目的。每个信号都应该定义其数据类型以及能清楚地分辨出是系统的输入还是输出。对一个大型项目中,建立一个数据库用来保存和存储所有的I/O信号的信息十分必要。

信号值读入或向外部设备发送的输出信号的方式因PLC而异。在本例中,假定PLC的硬件配置是将I/O值存放在已预先确定的存储空间。

例6-17】定义系统输入。

978-7-111-59695-0-Chapter06-180.jpg

例6-18】定义系统输出。

978-7-111-59695-0-Chapter06-181.jpg

变量声明段中,前缀“P1_”表示与1号泵有关的信号。这是为今后可能扩建考虑的,一旦要增加2号泵的控制系统,那么与之相关的信号均可以“P2_”为前缀。

(3)定义外部接口

示例虽然主要是给水泵的控制。但设计时仍需要定义装置的其他部分的接口。其他控制系统也应该是系统设计的重要部分。几乎给水泵的控制系统都有来自其他系统的硬接线信号,还有一个甚至多个通信接口。因此,必须定义这些信号和所有通信接口的相互作用信号。

对经装置的局域网进行存取的变量,可以用VAR_ACCESS变量声明段进行声明。

例6-19】定义直接主控制输入。

978-7-111-59695-0-Chapter06-182.jpg

例6-20】定义主控制输出。

978-7-111-59695-0-Chapter06-183.jpg

END_VAR

用于通信网络的存取路径变量也需要定义。

例6-21】定义存取路径变量。

978-7-111-59695-0-Chapter06-184.jpg

(4)人机交互作用

操作人员通过直接硬接线的开关和指示灯、指示器之间的交互作用,可以用一般的输入和输出信号定义。

通过通信接口的交互作用需要采用特定的通信功能块。可采用IEC61131-5提供的通信控制功能块,也可用户编写用户的通信控制功能块。

本示例编写了用户的通信控制功能块Operator_Data_Request。它仅为操作员提供一种远程面板或显示站的接口。它向操作员发送消息,在得到响应后再发送信号。该功能块有两个标志的输入-输出变量:Message_Ready和Data_Valid,在操作员的消息可被刷新和当操作员送入的数据为有效后,这两个标志作为一种信号标志送出。

图6-103是该功能块图形符号的描述。

该功能模块用于汽轮机升速运行顺序中请求汽轮机按线性比例升速的速度和升速过程所需的时间。

需注意,功能块中Message_Ready和Data_Valid是输入-输出变量。

978-7-111-59695-0-Chapter06-185.jpg

图6-103 用户通信功能块

3.控制问题分解

给水泵示例的主要控制功能可分为两部分:顺序控制和辅助控制、随动控制。

将PLC的资源也分为两部分,分别对它们进行处理。主资源Main执行汽轮机升速的主顺序控制和其他辅助控制功能。调制控制资源ModulatingControl执行对模拟量输入信号的扫描采样及执行随动控制。

图6-104显示两个资源和配置BFB1_Control的关系。

两个资源中所用到的全局变量在配置这一级定义。这些全局变量既有在两个资源都要求、且表示系统的输入和输出,也有那些作为两个资源之间交换的信息。例如,当给水泵已升至设定的运转速度时,MainControl1发出信号立即起动ModControl1。该信号是由在主资源MainControl1程序中设置的一个全局布尔变量P1_Auto实现。

978-7-111-59695-0-Chapter06-186.jpg(www.xing528.com)

图6-104 系统配置的结构层次

仅在一个特定资源内所要求的全局变量,则在资源级声明。例如,常数MaxPunpSpeed仅仅与MainControl1程序有关,因此只要在主资源Main中作为全局变量来定义。

设计时,应让全局变量尽可能少。示例中,所有关键变量都经由正式的输入和输出导入和导出程序。这样做的结果可使软件设计具有良好的结构性,但也会导致在主程序中存在大量的输入-输出变量。

存取路径变量用于为所选择变量提供外部路径。通信存取的变量通常仅限于少数主要变量,例如,给水泵的转速和运行方式。为了监控目的,可对一些存取路径变量设置为只读属性,例如,报警监控的变量。

对内部控制变量不应提供直接存取的方式,因为偶尔的突发因素有可能会对控制系统的完整性产生危险。

此外,还可假定超出IEC61131-3范围以外的诊断手段,在系统调试期间为建立各种整定常数也是很有用的,理当予以考虑。

每个资源包含一个或多个任务。资源Main中有两个任务:任务MainTask运行主程序块和大多数在资源MainControl1内的功能块。任务Supertask与给水泵运行的监控功能块有关,用来监控慢速变化的输入数据,例如温度和振动幅度等,因此,运行时采取慢扫描的速率。

ModulatingControl资源中有一个任务ModulatingControl。它承担随动控制功能块和模拟量输入信号调理功能块的运行。

下面给出配置BFB1_Control的部分文本描述(双斜线后的该行字符是注释,便于读者清晰了解而添加)。

例6-22】配置和资源的文本描述。

978-7-111-59695-0-Chapter06-187.jpg

978-7-111-59695-0-Chapter06-188.jpg

4.程序分解

下面以主程序MainControl为例说明程序的分解。注意,MainControl1是程序MainControl的实例。它为今后系统的扩建提供了可复用性。例如,对第二台给水泵的控制系统,可直接建立程序实例MainControl2,并将相关输入和输出与第二台给水泵的相应信号链接即可。

图6-105显示主程序MainControl的分解,程序分解时需注意,每个功能块都与锅炉给水泵的某个特定部分的控制有关。只要可能,都应该把这个特定部分的行为特性的控制逻辑包含在这个特定的功能块内。主程序可包含下列功能块实例。

(1)汽轮机顺序起动功能块TurbineSequence

该功能块是蒸汽轮机的主升速顺序控制功能块,可用顺序功能表图描述其执行顺序过程。图6-106是该功能块的顺序功能表图。

该功能块的初始步StandBy在接收到StartUp信号后,开始步的进展,按顺序进入检查Check步,该步将检查给水泵的各种联锁情况,其动作控制功能块名是A1_Pump_Interlocks。如果一切正常,即发出ChecksOK信号,步的状态转移到设置斜坡SetupRamp步。如果检查发现问题,则发出NOT ChecksOK信号,步的状态转移到检查故障CheckFault步,其动作控制功能块名是A10_ChksFault。

978-7-111-59695-0-Chapter06-189.jpg

图6-105 MainControl程序的分解

978-7-111-59695-0-Chapter06-190.jpg

图6-106 汽轮机顺序起动功能块的部分顺序功能表图

在设置斜坡SetupRamp步,系统执行的动作控制功能块名是A2_RampTime。该步由操作员设置升速的时间等。一旦设置完成,发送TimeRdy信号,该步进展到下一步,即起动斜坡StartRamp步。

在起动斜坡StartRamp步,系统执行的动作控制功能块名是A3_RampSpeed。该步完成设置升速目标转速。这些动作后发送RampRdy信号,该步进展到升速RaiseSpeed步。

在升速RaiseSpeed步,系统执行的动作控制功能块名是A4_Ramping的置位和A5_OpenValves。完成打开蒸汽进气阀、蒸汽紧停阀和排气阀等操作,并使汽轮机升速,同时,该功能块将被置位,即汽轮机将保持升速。当汽轮机转速RampSpeed达到预先设定好的中间转速HoldSpeed时,该步进展到恒速HoldSpeed步。

在恒速HoldSpeed步,系统执行的动作控制功能块名是A6_CheckTemp和A4_Ramping的复位。在该步检查汽轮机外壳温度,当外壳温度已趋于稳定的结果时发送TempOK信号,作为向下一步斜坡Ramp转移的条件。

在斜坡Ramp步,系统执行的动作控制功能块名是A4_Ramping置位,即重新使汽轮机继续升速,直到转速达到所设定的运转速度,并发送升速顺序结束的信号RampEnd。

SFC也显示当接到Restart信号,顺序可直接进入初始状态后的检查Checks步。

SFC中的动作控制功能块可用IEC61131-3标准规定的任何一种编程语言编写。例如,动作控制功能块A3_RampSpeed用于向值班操作人员提示,需要键入汽轮机起动升速所需的目标转速,它调用通信功能块Operator_Data_Request的实例Operator_Data_Request1。图6-107是用梯形图编程语言编写的程序。

978-7-111-59695-0-Chapter06-191.jpg

图6-107 A3_RampSpeed动作控制功能块程序

程序中,当步StartRamp为活动步时,StartRamp.X=BOOL#1,因此,准备好信号Msg_Rdy置位,因通信功能块Operator_Data_Request的EN端被直接连接到梯级的左轨线,因此,该功能块被执行,功能块向值班操作员发出提示“RampSpeed”,操作员根据提示信息,键入升速目标转速RampSpeed。经确认后,发送斜坡准备信号RampRd。

类似地,动作控制功能块A5_OpenValves的程序可用如下的结构化文本编程语言编写:

978-7-111-59695-0-Chapter06-192.jpg

该功能块调用两个用户的功能块实例StEmergStopCt1和StExhaustpCt1,分别用于将蒸汽紧停阀和蒸汽排气阀打开,为汽轮机进行起动升速做准备。这两个功能块实例都是下述阀门控制功能块ValvaControl的实例。

(2)给水泵监控功能块PumpSupervision

该功能块用于检查汽轮机和给水泵,以监控它们是否运行在正常的限定范围之内。功能块连续地检测轴承温度、振动幅度,以及汽轮机外壳的温度。一旦某一个参数偏离正常范围,立即输出给水泵故障信号PumpFault。

图6-108是该功能块的功能块图程序。

978-7-111-59695-0-Chapter06-193.jpg

图6-108 用功能块图描述PumpSupervision功能块

由于此功能块仅涉及检测变化相当慢的输入,所以,它采用比主控制程序MainControl中的其他模块要慢的扫描速率运行。为此,在示例的配置中,专门把与给水泵监控功能块PumpSupervision相关联的任务SuperTask调用的扫描周期指定为500ms。

程序显示,当汽轮机的轴振动或给水泵轴振动的测量值超过规定的VibMax,并且其持续时间大于5s,或者汽轮机外壳温度或给水泵温度测量值超过规定的TempMax,则发送PumpFault,并相应发送OverVib或OverTemp的故障信号。

(3)给水泵抽水给水功能块SuctionDischarge

当给水泵转速接近其运转速度时,锅炉给水的虹吸抽水阀和进水阀打开。因此,给水泵抽水给水功能块SuctionDischarge确保这些阀门只在达到规定的状态下开启;而且该功能块也用于检查这些阀门的阀位传感器,以确保阀门已开到所要求的位置。

(4)辅助油泵功能块AuxOilPump

汽轮机和给水泵的轴承内的油压维持在一个良好的压力是保证它们处于正常状态的关键。辅助油泵功能块AuxOilPump连续检测油压,保证油压高于规定的最小临界值。如果油压跌至临界值以下,且持续了几秒钟,辅助油泵功能块动作,使辅助电动油泵立刻上电起动。同时,该功能块检查辅助油泵的减速齿轮箱,以确保它按要求在运转,并且,辅助油泵以规定的油压向轴承供油。

(5)盘车电动机功能块BarringMotor

当给水泵停止运转时,汽轮机要按一定规程减速,直至停转。为此,必须让盘车电动机与汽轮机的转轴啮合,使汽轮机以一个适当的低速旋转,以避免汽轮机轴变形。盘车电动机功能块BarringMotor在接收到来自功能块TurbineSequence的请求信号后,执行让盘车电动机与汽轮机的轴啮合,并起动电动机。此外,在汽轮机升速并进入正常升速顺序的操作时,盘车电动机功能应切断盘车电动机的电源,让该电动机与汽轮机转轴的啮合断开。

5.低层级功能块

示例中,有很多阀要控制。除了蒸汽进气阀是按比例开启之外,其他阀门都可以用同样的阀门控制器功能块予以控制。

来自控制系统的信号驱动阀门执行器去打开或关闭阀门的时,要求阀门必须在预定的时间内让阀门到位。为此,每个阀门上都安装了限位开关,当阀门达到全开或全关位置时,这些限位开关都反馈阀门已到位信号。

作为低层级功能块,阀门控制功能块ValveControl提供阀门移动至所要求位置的全部逻辑控制,检查阀门是否到位。如果在规定时间内阀门没有到位,则产生一个故障信号,指示检查到被要求的阀门未到位。

图6-109是阀门控制功能块ValveControl实例StExhaustCtl与蒸汽排放阀门执行器、限位开关的连接图。阀门减速箱上的限位开关将所检测到的阀门位置信号反馈给阀门控制功能块ValveControl。

978-7-111-59695-0-Chapter06-194.jpg

图6-109 阀门控制功能块ValveControl

对给水泵控制系统还要考虑许多其他的功能块,例如,起动辅助油泵或盘车电动机等电气装置都会用到齿轮箱离合控制的功能块。为此,可事先设计好类似的基础级功能块,以便于今后可用于其他系统。

6.信号流

用基于IEC61131-3编程语言标准的编程系统所编制的软件可以深度嵌套,所以,信号值从源头发至目的地,可能会经过多个层级的流动。这样,一个特定信号的数值就有可能在不同的层级有不同的变量名。

例6-23】蒸汽排气阀信号流的示例。

蒸汽排气阀的低层级的功能块是阀门控制功能块ValveControl,它的实例名是StExhaustCtl。该功能块位于汽轮机顺序起动功能块TurbineSequence内,汽轮机顺序起动功能块是程序MainControl的实例MainControl1内的功能块。根据上述,图6-110描述了信号流的关系。

978-7-111-59695-0-Chapter06-195.jpg

图6-110 信号流示例

TurbineSequence功能块的输出变量SteamEV直接驱动程序实例名MainControl1的输出SteamEV。而程序实例名MainControl1的输出值SteamEV被写入资源级变量P1_SteamEV中。

类似地,也存在系统的输入项的内部功能块流动的信号流。

因此,在编程和调试时,应特别注意信号流的各变量之间的关系。例如,例6-23中,变量SteamEV作为功能块TurbineSequence的输出变量,它不应与程序实例MainControl1的输出P1_SteamEV混淆。

一个大系统中可能存在许多软件层级,它们不应成为系统性能变差的因素,良好的程序设计应使信号流在软件界面传递过程中不产生任何显著的处理开销。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈