APP下载

加压泵站自动化系统程序的模块化设计

2014-05-25高强常勇李航肖振

自动化仪表 2014年9期
关键词:主程序功能块泵站

高强 常勇 李航 肖振

(天津理工大学自动化学院天津市复杂系统控制理论及应用重点实验室,天津 300384)

加压泵站自动化系统程序的模块化设计

高强 常勇 李航 肖振

(天津理工大学自动化学院天津市复杂系统控制理论及应用重点实验室,天津 300384)

以某区给水加压泵站控制系统为例,针对系统PLC程序的合理化设计,分析了程序模块化设计方法,并根据IEC 61131-3标准,将程序模块化设计应用于自动化项目中。该方法利用编程系统原有功能块和根据控制要求定义的功能块,对自动化系统PLC程序进行模块化编程。与传统的PLC编程方法相比较,模块化设计使程序结构化清晰,编写简单,各功能相互独立。程序的模块化设计降低了控制系统的开发和维护成本,提高了系统运行效率。

加压泵站 合理化设计 程序模块化 IEC 61131-3标准 自动化系统

0 引言

传统PLC编程一般是根据设计者个人习惯和相应的要求来设计的,这使得大部分程序都是在主程序中编程。以某区给水加压泵站系统作为研究背景,按照传统编程方法,所有程序都在主程序中编写,而给水加压泵站自动化系统有很多控制要求,导致程序编写比较繁琐,造成程序的可读性较差,且其他工程师难以理解,程序维护困难。因此,以程序模块化设计[1-4]为原则,根据IEC 61131-3标准[5-7],对给水加压泵站自动化系统进行PLC程序设计。具体做法是根据项目的控制要求,采用FC和FB等功能块来实现这些要求,在主程序中通过调用这些功能块来实现控制要求。这样程序编写更容易、结构化更清晰、可读性更强、维护更方便、运行效率更高。

1 加压泵站自动化系统

1.1 工艺流程

给水加压泵站共有6个水泵,根据进厂水压力的不同,共分为超越供水、叠压供水、清水池加压供水3种工作模式。

系统通过厂区管网上的4个电动阀门控制各模式的运行、模式之间的运行及模式的切换。其中,超越供水是指当进厂水压力大于等于0.25 MPa时,不通过加压泵房直接供水。叠压供水是指当进厂水压力大于0.15 MPa且小于0.25 MPa时,通过加压泵房但不通过清水池供水。清水池供水是指当进厂水压力小于等于0.15 MPa或者达到清水池运行周期时,通过清水池加压供水。

水泵的启停既可以根据清水池液位而定,也可以通过现场控制柜的手动来完成。阀门和泵组的控制可以分为手动和自动模式。

1.2 自动控制系统的构成

自动化系统负责全厂生产过程监视控制与数据采集,由监控系统(WinCC)、监控子站及通信网络构成。

系统结构如图1所示[8-9]。

图1 系统结构图Fig.1 Structure of the system

监控主站及监控分站均设在泵站的泵房及配电间构筑物内。控制主站主要包括:2台IPC监控计算机(1台操作员站、1台工程师站)投影仪、UPS电源、激光打印机等。监控子站由泵房监控子站和加氯间监控子站组成。泵房监控子站包括PLC机柜、可编程控制器、网络接口等。加氯间监控子站为厂家成套设备。各监控站之间、水泵变频器及软启动器之间的通信采用总线型结构,通过以太网交换机连接IPC及各终端,并考虑未来企业信息管理网络的建设,留有扩展和网络连接的接口。

1.3 监控系统的功能

监控室设置工控机作为工程师站和操作员站,并配置操作台和打印机等。操作台的工程师站具有多种界面。

监控系统的主要功能如下:加压泵站工艺流程监控、PID控制器监控、过程数据归档、系统报警管理、用户权限管理、报表服务、趋势图服务等。系统利用WinCC对监控画面进行组态。通过这些画面,工作人员可对处理过程中的各个部分充分了解,及时掌握各个环节发生的各种情况。

2 传统编程设计

最初,项目程序设计是根据系统的控制要求来编程,未考虑其他方面因素,程序完全是根据设计人员的个人习惯进行设计。程序运行表明,系统运行存在很多问题,系统维护和调试较繁琐。

2.1 功能块利用率低

传统程序设计把所有的程序编写都在主程序中完成,很少利用其他功能块编写系统常用的、多次出现的功能。主程序仅调用系统附带的功能模块,导致程序重复编写。由于S7-300 PLC的CPU执行程序采用依次扫描的方式,造成PLC的CPU运行时不工作的程序也被扫描,程序时效性很差,PLC的CPU工作效率不高。

2.2 程序维护困难

在传统程序编写过程中,设计者一般根据自己的习惯来设计程序和命名变量,造成其他工程师不易理解,给程序的维护和调试带来很大困难。

2.3 程序故障不易排查

在传统程序编程过程中,设计人员需要反复查看程序,在编写的过程中可能会出现错误,且出现的错误往往很难查找,造成程序的编写费时费力。程序设计完成后,需要经过多次修改和检查才能实现系统要求的控制功能。

由于控制要求较多,程序很长,一旦程序出现故障,工程师很难快速查找到故障。基于以上问题,针对系统中PLC程序的合理化设计,提出加压泵站程序模块化、规范化设计。

3 程序规范化设计

3.1 IEC 61131-3规范化的介绍

IEC 61131-3是IEC 61131国际标准的第三部分,是第一个为工业自动化控制系统的软件设计提供标准化编程语言的国际标准。

由于IEC 61131-3标准所定义的系统中融入了现代软件的概念,即采用现代软件模块化原则,因此这种编程方式有完美的结构框架,并且可读性更强,程序运行效率更高,维护更方便。

3.2 模块化结构设计

基于IEC 61131-3标准,对程序进行模块化设计。模块化程序设计的核心是只需要设置必要的输入和输出参数,尽量减少模块之间的相互作用和内部数据交换。

模块和模块之间的数据交换采用显性定义原则,将模块的信息隐藏在模块内部。用户只需要知道这些模块的外部特性(即功能和作用、输入和输出参数),不需要了解模块内部的算法实现,在主程序中调用这些功能块就能完成项目工程的控制要求和功能。

对原程序进行模块化编程[10-11],模块化具体做法:将泵站3种工作模式分别定义在3个功能块中,即FB1、FB2、FB3,用户在主程序中调用这3个功能块,实现3种供水模式。其他的一些功能也定义成FB或者FC系列成块封装。用户只需了解这些块的功能和输入输出参数,不需知道具体内部算法,就可以使用这些功能块。这使程序的可读性更强,更方便其他设计人员检查和修改。

程序工作流程和程序模块框图如图2、图3所示。

图2 程序工作流程图Fig.2 Workflow of the program

图3 程序模块图Fig.3 Program module

4 规范化后的效果

根据IEC 61131-3标准,将项目程序经过重新模块化编程以后,给水加压泵站自动化系统具有以下特点。

4.1 程序可读性更强

采用传统编程方法编程,PLC程序编写较长,可读性很差,不易理解。经过模块化处理之后,通过这些块的功能和输入输出参数以及外部特性,编程人员可以根据程序的控制要求和条件编写程序,使程序结构更清晰、整洁简练,为其他工程师的维护和调试工作带来很大便利。

4.2 程序运行时效性更快

采用传统方法编程,当系统正常工作时,S7-300的CPU工作方式是从上到下依次扫描,而不工作的程序也被扫描,导致PLC的CPU运行效率很低。规范化以后,将控制繁琐的程序和反复调用的程序在FC或者FB中完成编写,在主程序中调用这些功能块,即可达到同样的控制要求;且CPU扫描程序时,CPU只扫描工作的程序或模式,对于不工作的程序或模式则直接跳过,缩短了CPU扫描程序的时间,极大提高了系统的时效性。

4.3 程序查错诊断更快速

编程规范化后,当程序出现故障时,工程师可以快速找到出现故障的功能块,并查看这些故障功能块中的程序,找到故障原因。与传统方法比较,程序故障诊断更方便、快捷。

4.4 程序的开放性更好

当设计人员需要添加其他功能和控制要求时,可利用系统的功能块定义这些控制功能,然后在主程序中直接调用即可。各功能块之间相互独立,互不影响。

5 结束语

模块化设计思想有助于新手学习PLC编程,也有助于工程师规范自己编写程序。工程师通过对程序块的积累和灵活应用,使复杂系统设计变得更简单、规范。程序结构化更清晰,而且程序模块化思想有助于推动PLC编程标准的进步。

[1] 张博,王志信.模块化编程思想在PLC系统中的应用[J].化工自动化及仪表,2013,40(3):416-418.

[2] 宋超杰.PLC程序模块化的工业应用[J].机械管理开发,2009, 24(1):170-171,173.

[3] 靳红.PLC模块设计及应用[J].起重运输机械,2003(5):15-18.

[4] 李天平,苏小兵.面向对象编程思想在PLC编程中的应用[J].微计算机信息,2010(31):223-224,230.

[5] 彭瑜.IEC 61131-3的现状与发展[J].世界仪表与自动化, 2002,6(2):11-13.

[6] 彭瑜,何衍庆.IEC 61131-3编程语言及应用基础[M].北京:机械工业出版社,2009:7-15.

[7] 王军.基于IEC 61131-3标准的PLC梯形图编码及解算的研究[D]:北京:北京化工大学,2008.

[8] 周玉文,刘越,刘江涛.加压泵站远程监控系统的设计与实现[J].供水技术,2007,1(3):31-34.

[9] 高强,王国敬,李大华,等.污水处理流程一体化控制系统设计与实现[J].电气传动,2011,41(3):55-57.

[10] 高强,张亮,李月凤.基于OPC技术的虚拟DCS监测系统设计[J].自动化与仪表,2009,30(12):30-32

[11] 迟君平,王斌,李业友.模块化编程方法在PLC程序开发中的应用[J].微计算机信息,2005(6):26-27.

Modular Design of the Program for Automation System of Booster Pump Station

With the control system in certain district water supply pump station as example,aiming at the reasonable design of PLC program of system,the modular design method of the program is analyzed,and in accordance with IEC 61131-3 standard,the method of program modular design is applied in automation project.In this method,the original function blocks in programming system are adopted,and the self-defined function blocks are built based on control requirements,thus modular programming for PLC program of automatic system is conducted. Comparing with traditional PLC programming method,the modular design makes structure of program more clearly,simple in written,and the function independent to each other.The modular design of program reduces the development and maintenance costs of the control system,and enhances the operation efficiency of the system.

Booster pump station Rationalized design Modularized program IEC 61131-3 standard Automation system

TP29

A

天津市中青年骨干创新人才培养计划基金资助项目(编号:20130830)。

天津市普通高等学校本科教学质量与教学改革研究计划基金资助项目(编号:JW20120315)

修改稿收到日期:2014-03-11。

高强(1968-),男,1999年毕业于天津大学控制理论与控制工程专业,获硕士学位,教授;主要从事过程控制智能控制和复杂系统的故障诊断的研究。

猜你喜欢

主程序功能块泵站
泵站非常规进水前池的优化设计
张家边涌泵站建设难点及技术创新实践
自动升级程序在船舶监测系统中的应用
泵站检修维护与可靠性分析
浅谈数控铣削技术代码程序的嵌套方式研究
基于IEC61131-3标准运动控制器的设计与应用*
基于PLCopen的六轴工业机器人运动控制功能块设计
电控冰箱软件模块化设计
Ovation系统FIRSTOUT和FIFO跳闸首出比较
泵站运行管理现状及其改善措施