模块化程序功能块在热媒炉控制系统中的开发与应用

2016-11-22 08:23刘建华秦朝军
化工自动化及仪表 2016年11期
关键词:热媒功能块功能模块

刘建华 秦朝军 徐 峰 胡 昊

(北京航天石化技术装备工程有限公司加热炉事业部,北京 100166)

模块化程序功能块在热媒炉控制系统中的开发与应用

刘建华 秦朝军 徐 峰 胡 昊

(北京航天石化技术装备工程有限公司加热炉事业部,北京 100166)

基于面向对象的程序设计思想,运用STEP7 CFC模块化编程功能开发了适用于热媒炉系统的时序控制、复杂回路控制、单回路控制、负荷运算控制、通用AI及报警联锁等标准化程序功能块。将该系列标准化程序功能块在某石化热媒炉控制系统中正式编程、组态和应用,通过现场的测试、调试和开车,进一步完善并优化了相关的程序功能块。最终,控制系统实现了预先设定的控制功能和控制目标,达到了预期的控制精度。标准模块化程序功能块在该项目的成功应用,为热媒炉控制系统搭建了一个标准的模块化编程和调试平台,较好地满足了热媒炉系统工程化、系统化和标准化的要求。

模块化程序功能块 热媒炉控制系统 面向对象

应用PLC技术的加热炉是集数据采集、安全联锁保护、程序控制、过程调节、上位通信和人机对话于一体的综合控制系统,也是PLC应用中最具代表性的系统之一[1,2]。在传统热媒炉和加热炉程序的设计和编写过程中,普遍使用面向过程(Procedure Oriented)的编程思想和方法。

随着计算机技术的不断提高,现代工业控制和计算机被用于解决越来越复杂的问题。面向对象(Object Oriented)的编程思想和方法就是在面向过程(过程化设计)出现很多问题的情况下产生的。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重复使用性、灵活性和扩展性。

STEP7的CFC(Continuous Function Chart)是SIMATIC S7系列PLC的一种编程语言,用于以图形化方式连接复杂功能。它包含标准功能块的库,用于逻辑、数字运算、控制及数据处理等功能。笔者通过自己创建的程序功能块,结合软件自带标准模块,将热媒炉作为控制对象,然后抽象出“类”进行模块化编程,通过数据传递和继承方式实现热媒炉系统的精确控制。

1 面向对象的编程原理

面向对象的编程思想是将现实中的事物(如热媒炉)抽象成对象,将现实中的关系抽象成类、继承关系等(程序中的灰色独立程序块就是系统中的“类”,数据连接和设定为规定程序的数据传递和继承方式[3]),典型示例如图1所示。通过面向对象的方法,更有利于对复杂系统进行分析、设计和编程。面向对象是一种程序设计规范,同时也是一种程序设计的方法。

图1 STEP7面向对象编程示例

2 热媒炉控制系统硬件配置与模块化控制方案设计

某石化热媒炉项目中的热媒炉控制系统包括燃烧系统、热媒炉、烟风系统、余热回收系统(蒸汽锅炉)和热媒系统,属于一个完整且典型的热媒炉系统。

2.1热媒炉系统硬件配置与组态

该项目中的热媒炉控制系统以SIEMENS S7-300 PLC为控制核心,通过外围控制电路(继电器、安全栅及电源等硬件模块)连接至现场分立执行机构和传感器,上位机采用SIEMENS MP277触摸屏作为人机交互界面,并通过Modbus 485通信将数据传输至DCS。硬件组态包含硬件配置和网络拓扑,如图2所示。

a. 硬件配置

b. 网络拓扑图2 控制系统的硬件配置与网络拓扑

2.2模块化程序设计方案

笔者根据热媒炉工艺系统(包括燃烧系统、烟风系统、余热回收系统和热媒系统)的特点和控制要求,设计热媒炉控制功能模块,包括时序控制模块、单回路PID模块、复杂回路控制模块、AI模块及负荷运算控制模块等。

图3为热媒炉控制系统程序结构框图,将其控制结构分为时序控制、负荷运算控制、复杂回路控制、单回路控制、通用AI模块、报警联锁模块和辅助控制模块7部分。时序控制主要包括点停炉控制和报警联锁控制,负荷调节主要通过现场变送器和执行机构(调节阀、变频器等)组成闭环回路控制。按照七大分类结构给每一个类建立一个标准程序模块类型(包含此模块的属性参数),而每一个同类变量均可通过此模块建立自己的属性参数,通过输入输出参数进行数据传输和调用,实现各功能块之间的通信,从而完成热媒炉控制系统的控制要求。另外,模块化标准程序块中还保留了一个传统的梯形图逻辑功能块,可独立进行自由编程,作为对标准化功能块的补充。

图3 热媒炉控制系统程序结构框图

2.2.1时序控制模块

针对热媒炉系统的控制方案,以功能模块的形式设计编写热媒炉系统控制方案所对应的专用标准功能模块。图4为一个典型的点停炉时序逻辑控制标准模块。该模块的主要功能是实现典型热媒炉燃烧系统的自动/手动点停炉,并包含点停炉过程所有的输入输出参数。

图4 点停炉时序逻辑控制标准模块

点停炉时序逻辑控制标准模块的主要输入输出参数包括BT_Start(启动)、BT_Stop(停止)、BT_Reset(复位)及Es_stop(紧急停车)等按钮和软开关的输入信号;还包括IntLock_(联锁停车)信号,根据联锁信息执行是否联锁停车,包括T0~T23共计24个热媒炉点停炉和联锁时序过程中所用的定时器,可直接进行参数设置,包括ST_Ig_Pr(点炉准备就绪状态)、AirB_Sta(风机启动状态)等状态输出信号,还包括MValve_A(主燃料阀A)、MValve_B(主燃料阀B)等驱动信号。通过该功能块,能够实现点炉过程中的自动逻辑控制,点炉过程发生时,在功能模块内模块通过对输入参数(包括时序时间、回馈信号等)的实时采集,逐步推进点炉时序的进行;同时,适时投入点炉过程的联锁,如ST_AirB(风机运行状态)、ST_1_Flame(火焰1状态)等,逐个输出对应的逻辑执行步骤状态,适时驱动打开或关闭相关的燃料阀,并将与控制逻辑相关的状态关联输出到其余需要的状态模块。该逻辑顺控时序在不发生任何联锁或停车信号的前提下将自动执行,直至顺利将逻辑顺控程序执行完毕。此时,点炉过程完成,热媒炉处于完成点炉后的最小负荷状态,等待用户进行完成点炉后的其他操作。

2.2.2报警联锁模块

热媒炉控制系统含有完善的安保联锁系统,图5所示的报警模块可输出至报警音响,输入Cancle_A(报警消音)软按钮可消除报警声音;联锁模块包含联锁输入和解锁输入,根据输入状态判断联锁输出,报警和联锁判断模块的每个模块为8组输入,可根据数量添加模块数量,也可将多个模块串联到一起。将最终输出的联锁结果数据连接至“点停炉时序逻辑控制标准模块”,可实现热媒炉控制系统的联锁停车功能。

图5 报警联锁模块

2.2.3负荷调节模块

负荷调节控制是热媒炉控制系统的核心内容,图6为该项目热媒炉的负荷调节控制方案,包括:燃料控制回路、配风量控制回路、残氧量控制回路和物料出口温度控制回路。其中燃料量和配风量控制回路为带有实际执行机构的主回路;而残氧量和物料出口温度控制回路为不带实际执行机构,但确实有重要控制作用的虚拟控制回路。另外,热媒炉项目中含有常规通用PID调节回路,主要包括热媒压差调节回路、蒸发器压力调节回路及蒸发器液位调节回路等。

图6 负荷调节控制原理

负荷调节的控制方案包括各单回路控制模式、定烧控制模式和系统自动(串级)控制模式,下面逐一加以说明:

a. 单回路控制模式下,燃料量和配风量为两个并列的单回路手/自动控制回路。

b. 定烧控制模式下,燃料量与配风量实现比例控制,即配风量和燃料量之间为理论计算的比值、比例关系,系统运行时,随着燃料量设定值的改变,配风量设定值跟随燃料测量值变化,此时,残氧量控制回路可根据系统需要,对配风量的设定值在一定范围内进行修正调节。

c. 系统自动(串级)控制模式下,可实现较为复杂的交叉、串级回路控制功能。物料出口温度回路和燃料、配风量控制回路之间可实现串级、双交叉和限制控制功能,燃料和风量根据温度自动配比,升负荷先升风,再升燃料;降负荷先降燃料,再降风。

在b、c两种控制模式中,氧量控制回路可根据系统负荷调节的需要,适时加入到定烧和自动(串级)控制功能中去,对配风量进行实时修正,确保燃烧后的残氧量向着期望值靠近,实现实时控制并修正燃烧的目的。

2.2.3.1负荷计算和数据控制标准模块

该数值演算功能模块中主要包含涉及负荷计算的几大测控点:Sys_LMN(总控点输出)、Fuel_Pv(燃料量)、Wind_Pv(配风量)、OT_Pv(氧量)、Cal_A(理论空燃比)、Gs_a(空气过剩系数a)、St_OT_A(氧量自动状态位)、St_Fuel_(燃料自动状态位)、St_Wind_(配风自动状态位)、Fuel_Cas(燃料串级设定值)及Wind_Cas(配风串级设定值)等关键参数,如图7所示。

图7 负荷计算机数据控制标准模块

该模块能够实现在“定烧”和“系统自动”状态下的数值演算与整个系统的控制功能状态输出功能,即模块根据各测控回路状态,将实时采集到的燃料量和配风量经过系列数值转换和演算,并同系统当前实际的负荷量进行计算、比较,优先选出燃料量控制回路和配风量控制回路的最佳设定值,将之输出到模块接口,传递给对应的燃料和配风量控制回路。同时,功能块也可以根据系统需要适时切换是否进行残氧修正功能。如St_OT_A为1,表明需要进行残氧修正功能,而当St_OT_A为1时,模块的Wind_Cas风量输出为经过氧量修正后的优选值,以确保配风量按照系统设定的氧量预期值进行设定和控制;否则,如果St_OT_A为0,则不进行相关的配风量修正处理。

2.2.3.2专用负荷调节PID标准功能模块

图8为专用负荷调节PID标准功能模块。该功能模块是在SIEMENS专用PID软模块的基础上进行二次开发而来,主要包含从原始卡件IO地址读取数据的PV-PIW,状态控制Button_M(手动)、Button_A(自动)及Button_C(串级)等。同时,模块还接收P、I、D参数的输入和根据外部点炉过程状态信号实时调整所对应驱动阀位的输出,还可以设定报警联锁值,输出联锁状态值,实现回路输出的取反功能等。详细的模块功能管脚如图8所示。此模块应用于负荷调节中的燃料控制回路和配风量控制回路中,燃料和风量控制回路均可组成串级控制。

a. 燃料专用PID b. 风量标准PID图8 专用负荷调节PID标准功能模块

2.2.3.3通用PID调节标准功能模块

图9为通用PID调节标准功能模块,该功能模块是在SIEMENS专用PID软控制模块的基础上进行二次开发而来,不同于“专用负荷调节PID标准功能模块”的是,其功能没有了点炉时序控制过程中对燃料和配风阀门控制相关的状态输入管脚,如En_StartStop(使能启停功能)、St_IgPro(点炉过程状态位)及St_StopProcess(停炉过程状态位)等,但该功能模块保留了其余所有与控制、报警和联锁相关的功能管脚。通用PID调节标准功能模块在此热媒炉控制系统中包括热媒压差调节回路、蒸发器压力调节回路及蒸发器液位调节回路等。

图9 通用负荷调节PID标准功能模块

2.2.4通用AI模块

通用AI模块是热媒炉控制系统中使用最多的模块,其功能是将现场的远传信号(温度、压力及流量等)按照量程转换为实际值,如图10所示,AI模块输入包括PV_PIW(输入地址)、PV_URV和PV_LRV量程设定、报警联锁使能、报警联锁设定和测试功能;输出信号包括PV_Outpu(测量输出值)、PV_Per_O(测量百分比输出)和报警联锁状态,输出信号既可以直接用在上位机做显示,也可同时实现与其他功能块的数据传送功能。在热媒炉系统中需要监测的数值(如供气压力、热媒盘管温度等)均通过此模块实现。

图10 通用AI模块

2.2.5Modbus通信与辅助自由编程模块

目前,工业控制系统之间的通信无论采用的是光纤还是双绞线,开放性好和使用较广泛的通信为Modbus。本项目采用Modbus 485实现与DCS的通信,因此用标准模块化程序块实现Modbus 485传递,如图11所示。

a. Modbus模块

b. 自由编程开发模块图11 Modbus通信与自由编程模块

图11a所示的CP341 Modbus设置功能块为西门子自带模块;图11b的FC61自由编程开发模块通过图11a设置好的Modbus参数,将发送数据放入发送地址,同时读取数据放入指定地址。FC61以梯形图的方式进行编程,保留传统的编程模式,可方便灵活地添加非标准程序模块。

3 标准化功能块的现场应用效果

通过热媒炉仪表选型设计参数建立IO数据表(表1),选择标准功能模块、关联模块间的数据连线等工作,完成了核心控制程序的编写组态等工作。

表1 热媒炉控制系统IO数据

根据面向对象的程序设计思想,模块化编程的热媒炉控制系统在某项目中成功应用,启停时序和回路控制经过反复测试和现场开车,热媒炉运行稳定,回路控制(负荷调节和单回路控制)均能稳定可靠地达到控制精度要求。

以SIEMENS MP277为平台的人机交互界面,通过点停炉和负荷调节表明,热媒炉启停正常,确保热媒炉一次点火成功,启停时序时间可监控和修改;热媒炉负荷调节系统在全自动(燃气串级、风量串级和氧量自动)模式下运行,温度控制可靠,精度达到了±1℃,手/自动调节功能正常,单回路运行稳定。

此项目涵盖了热媒站的所有分立系统(燃烧系统、热媒炉、烟风系统和热媒系统),还包括了蒸汽余热回收系统,是目前为止比较复杂且全面的热媒炉系统。整个调试周期从入厂到热媒炉正常运行不足一周,包括了系统冷调和在线调试。除现场甲方的积极配合外,标准模块化功能块便捷快速的组态开发大幅减少了调试时间,充分体现了标准模块化功能块的优越性和可重用性。

在调试过程中,及时发现模块的错误和缺陷,并进行了优化和修正,具体如下:

a. 启停时序中火焰检测系统仅为两个紫外火检信号输入,热媒炉二级点火系统中越来越多地配备了两个紫外和一个电离火检的火焰安保联锁系统,在现场调试过程中及时修正,通过辅助自由编程模块将火焰信号的报警联锁和信号进行补充添加;

b. 模块中为单鼓风机系统,该项目包含鼓风机和引风机,因此风机的启停和联锁也是通过辅助自由编程模块进行程序补充设计的,常规单风机热媒炉系统则无需更改;

c. 模块化CFC程序调试下载第一次下载时需在CPU停机情况下进行,程序更改后则可在线修改,因此程序的归档必须要求与CPU程序一致,采用模块化编程需加强程序的归档要求;

d. 上位机的数据读写建立数据结构参数,针对不同的标准功能块建立结构类型数据块,每个数据块为一个结构数据地址,上位机通过读取地址块即可准确获取所需显示和操作的数据;

e. 其他微小修正,如复杂专用控制回路串级、定烧状态的判断等。

4 结束语

北京航天石化技术装备工程有限公司加热炉事业部以二十年工程经验、上百套热媒炉在不同行业不同项目中的开发和应用的适用性为基础,结合自身产品的特性,基于面向对象的程序设计思想,通过CFC模块化编程开发并成功应用的标准模块化功能块编程组态,形成了独有的热媒炉系统控制方案。该控制方案和标准化控制功能模块在项目应用中,热媒炉运行稳定,达到了预期的控制精度。在后续工程项目应用中只需通过选择功能块和对参数进行微调,即可完全重复应用,保证了热媒炉仪表控制系统的统一性和传承性,实现了工程项目核心控制功能的快速移植。编程和组态过程简单易学,仅需通过建立IO数据表、选择标准功能块、参数设置及关联模块间的数据连线等简单工作,即可完成核心控制程序的编写,大量节省了工程项目的开发时间,提高了程序的可重用性和二次开发的效率。

该标准模块化程序自2013年正式调试完成并投运至今,热媒炉运行正常,各项控制功能和精度稳定,除正常检修停车外,无意外停车事故发生。标准模块化程序功能块为热媒炉控制系统搭建了一个模块化编程和调试平台,较好地满足了热媒炉系统工程化、系统化和标准化的要求。

[1] 毕嘉宾.PLC在大型加热炉控制中的应用[J].油气储运,2006,25(1):56~58.

[2] 何景瓷,许建平.PLC控制程序的模块化设计[J].组合机床与自动化加工技术,2004,(5):50.

[3] 叶乃文,王丹.面向对象程序设计[M].北京:清华大学出版社,2009.

ModularProgramFunctionDevelopmentandApplicationinHTMFurnaceControlSystem

LIU Jia-hua , QIN Chao-jun , XU Feng, HU Hao

(HeaterDivision,BeijingAerospacePetrochemicalTechnologyEquipmentEngineeringCorporation,Beijing100166,China)

Basing on object-oriented programming, the STEP7 CFC modularization programming function was adopted to develop standardized program function blocks such as timing control, single loop control, load control, ordinary AI and alarm interlocking protection. Applying these function blocks in a petrochemical project for on-site test and debugging and optimization shows that, the control system can realize the pre-set control functions and objectives perfectly as required; and its successful application provides HTM furnace control system with a standard modular programming and debugging platform for being engineering, systematized and standardized.

modularized program function block, HTM furnace control system, object-oriented

TH862

B

1000-3932(2016)11-1196-07

2016-08-18(修改稿)

猜你喜欢
热媒功能块功能模块
三种国外集散控制系统(DCS)功能块扫描规则和执行顺序的分析和总结
聚酯装置热媒炉低氮燃烧技术改造
热媒炉出炉温度过高的影响及对策
Ovation系统FIRSTOUT和FIFO跳闸首出比较
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
自定义功能块类型在电解槽联锁中的应用
埕岛油田热媒系统使用现状及整改建议
功能模块的设计与应用研究
PLCopen运动控制功能块的研究与开发