高強(qiáng) 常勇 李航 肖振
(天津理工大學(xué)自動(dòng)化學(xué)院天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點(diǎn)實(shí)驗(yàn)室,天津 300384)
加壓泵站自動(dòng)化系統(tǒng)程序的模塊化設(shè)計(jì)
高強(qiáng) 常勇 李航 肖振
(天津理工大學(xué)自動(dòng)化學(xué)院天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點(diǎn)實(shí)驗(yàn)室,天津 300384)
以某區(qū)給水加壓泵站控制系統(tǒng)為例,針對(duì)系統(tǒng)PLC程序的合理化設(shè)計(jì),分析了程序模塊化設(shè)計(jì)方法,并根據(jù)IEC 61131-3標(biāo)準(zhǔn),將程序模塊化設(shè)計(jì)應(yīng)用于自動(dòng)化項(xiàng)目中。該方法利用編程系統(tǒng)原有功能塊和根據(jù)控制要求定義的功能塊,對(duì)自動(dòng)化系統(tǒng)PLC程序進(jìn)行模塊化編程。與傳統(tǒng)的PLC編程方法相比較,模塊化設(shè)計(jì)使程序結(jié)構(gòu)化清晰,編寫簡(jiǎn)單,各功能相互獨(dú)立。程序的模塊化設(shè)計(jì)降低了控制系統(tǒng)的開發(fā)和維護(hù)成本,提高了系統(tǒng)運(yùn)行效率。
加壓泵站 合理化設(shè)計(jì) 程序模塊化 IEC 61131-3標(biāo)準(zhǔn) 自動(dòng)化系統(tǒng)
傳統(tǒng)PLC編程一般是根據(jù)設(shè)計(jì)者個(gè)人習(xí)慣和相應(yīng)的要求來(lái)設(shè)計(jì)的,這使得大部分程序都是在主程序中編程。以某區(qū)給水加壓泵站系統(tǒng)作為研究背景,按照傳統(tǒng)編程方法,所有程序都在主程序中編寫,而給水加壓泵站自動(dòng)化系統(tǒng)有很多控制要求,導(dǎo)致程序編寫比較繁瑣,造成程序的可讀性較差,且其他工程師難以理解,程序維護(hù)困難。因此,以程序模塊化設(shè)計(jì)[1-4]為原則,根據(jù)IEC 61131-3標(biāo)準(zhǔn)[5-7],對(duì)給水加壓泵站自動(dòng)化系統(tǒng)進(jìn)行PLC程序設(shè)計(jì)。具體做法是根據(jù)項(xiàng)目的控制要求,采用FC和FB等功能塊來(lái)實(shí)現(xiàn)這些要求,在主程序中通過(guò)調(diào)用這些功能塊來(lái)實(shí)現(xiàn)控制要求。這樣程序編寫更容易、結(jié)構(gòu)化更清晰、可讀性更強(qiáng)、維護(hù)更方便、運(yùn)行效率更高。
1.1 工藝流程
給水加壓泵站共有6個(gè)水泵,根據(jù)進(jìn)廠水壓力的不同,共分為超越供水、疊壓供水、清水池加壓供水3種工作模式。
系統(tǒng)通過(guò)廠區(qū)管網(wǎng)上的4個(gè)電動(dòng)閥門控制各模式的運(yùn)行、模式之間的運(yùn)行及模式的切換。其中,超越供水是指當(dāng)進(jìn)廠水壓力大于等于0.25 MPa時(shí),不通過(guò)加壓泵房直接供水。疊壓供水是指當(dāng)進(jìn)廠水壓力大于0.15 MPa且小于0.25 MPa時(shí),通過(guò)加壓泵房但不通過(guò)清水池供水。清水池供水是指當(dāng)進(jìn)廠水壓力小于等于0.15 MPa或者達(dá)到清水池運(yùn)行周期時(shí),通過(guò)清水池加壓供水。
水泵的啟停既可以根據(jù)清水池液位而定,也可以通過(guò)現(xiàn)場(chǎng)控制柜的手動(dòng)來(lái)完成。閥門和泵組的控制可以分為手動(dòng)和自動(dòng)模式。
1.2 自動(dòng)控制系統(tǒng)的構(gòu)成
自動(dòng)化系統(tǒng)負(fù)責(zé)全廠生產(chǎn)過(guò)程監(jiān)視控制與數(shù)據(jù)采集,由監(jiān)控系統(tǒng)(WinCC)、監(jiān)控子站及通信網(wǎng)絡(luò)構(gòu)成。
系統(tǒng)結(jié)構(gòu)如圖1所示[8-9]。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure of the system
監(jiān)控主站及監(jiān)控分站均設(shè)在泵站的泵房及配電間構(gòu)筑物內(nèi)??刂浦髡局饕?2臺(tái)IPC監(jiān)控計(jì)算機(jī)(1臺(tái)操作員站、1臺(tái)工程師站)投影儀、UPS電源、激光打印機(jī)等。監(jiān)控子站由泵房監(jiān)控子站和加氯間監(jiān)控子站組成。泵房監(jiān)控子站包括PLC機(jī)柜、可編程控制器、網(wǎng)絡(luò)接口等。加氯間監(jiān)控子站為廠家成套設(shè)備。各監(jiān)控站之間、水泵變頻器及軟啟動(dòng)器之間的通信采用總線型結(jié)構(gòu),通過(guò)以太網(wǎng)交換機(jī)連接IPC及各終端,并考慮未來(lái)企業(yè)信息管理網(wǎng)絡(luò)的建設(shè),留有擴(kuò)展和網(wǎng)絡(luò)連接的接口。
1.3 監(jiān)控系統(tǒng)的功能
監(jiān)控室設(shè)置工控機(jī)作為工程師站和操作員站,并配置操作臺(tái)和打印機(jī)等。操作臺(tái)的工程師站具有多種界面。
監(jiān)控系統(tǒng)的主要功能如下:加壓泵站工藝流程監(jiān)控、PID控制器監(jiān)控、過(guò)程數(shù)據(jù)歸檔、系統(tǒng)報(bào)警管理、用戶權(quán)限管理、報(bào)表服務(wù)、趨勢(shì)圖服務(wù)等。系統(tǒng)利用WinCC對(duì)監(jiān)控畫面進(jìn)行組態(tài)。通過(guò)這些畫面,工作人員可對(duì)處理過(guò)程中的各個(gè)部分充分了解,及時(shí)掌握各個(gè)環(huán)節(jié)發(fā)生的各種情況。
最初,項(xiàng)目程序設(shè)計(jì)是根據(jù)系統(tǒng)的控制要求來(lái)編程,未考慮其他方面因素,程序完全是根據(jù)設(shè)計(jì)人員的個(gè)人習(xí)慣進(jìn)行設(shè)計(jì)。程序運(yùn)行表明,系統(tǒng)運(yùn)行存在很多問(wèn)題,系統(tǒng)維護(hù)和調(diào)試較繁瑣。
2.1 功能塊利用率低
傳統(tǒng)程序設(shè)計(jì)把所有的程序編寫都在主程序中完成,很少利用其他功能塊編寫系統(tǒng)常用的、多次出現(xiàn)的功能。主程序僅調(diào)用系統(tǒng)附帶的功能模塊,導(dǎo)致程序重復(fù)編寫。由于S7-300 PLC的CPU執(zhí)行程序采用依次掃描的方式,造成PLC的CPU運(yùn)行時(shí)不工作的程序也被掃描,程序時(shí)效性很差,PLC的CPU工作效率不高。
2.2 程序維護(hù)困難
在傳統(tǒng)程序編寫過(guò)程中,設(shè)計(jì)者一般根據(jù)自己的習(xí)慣來(lái)設(shè)計(jì)程序和命名變量,造成其他工程師不易理解,給程序的維護(hù)和調(diào)試帶來(lái)很大困難。
2.3 程序故障不易排查
在傳統(tǒng)程序編程過(guò)程中,設(shè)計(jì)人員需要反復(fù)查看程序,在編寫的過(guò)程中可能會(huì)出現(xiàn)錯(cuò)誤,且出現(xiàn)的錯(cuò)誤往往很難查找,造成程序的編寫費(fèi)時(shí)費(fèi)力。程序設(shè)計(jì)完成后,需要經(jīng)過(guò)多次修改和檢查才能實(shí)現(xiàn)系統(tǒng)要求的控制功能。
由于控制要求較多,程序很長(zhǎng),一旦程序出現(xiàn)故障,工程師很難快速查找到故障。基于以上問(wèn)題,針對(duì)系統(tǒng)中PLC程序的合理化設(shè)計(jì),提出加壓泵站程序模塊化、規(guī)范化設(shè)計(jì)。
3.1 IEC 61131-3規(guī)范化的介紹
IEC 61131-3是IEC 61131國(guó)際標(biāo)準(zhǔn)的第三部分,是第一個(gè)為工業(yè)自動(dòng)化控制系統(tǒng)的軟件設(shè)計(jì)提供標(biāo)準(zhǔn)化編程語(yǔ)言的國(guó)際標(biāo)準(zhǔn)。
由于IEC 61131-3標(biāo)準(zhǔn)所定義的系統(tǒng)中融入了現(xiàn)代軟件的概念,即采用現(xiàn)代軟件模塊化原則,因此這種編程方式有完美的結(jié)構(gòu)框架,并且可讀性更強(qiáng),程序運(yùn)行效率更高,維護(hù)更方便。
3.2 模塊化結(jié)構(gòu)設(shè)計(jì)
基于IEC 61131-3標(biāo)準(zhǔn),對(duì)程序進(jìn)行模塊化設(shè)計(jì)。模塊化程序設(shè)計(jì)的核心是只需要設(shè)置必要的輸入和輸出參數(shù),盡量減少模塊之間的相互作用和內(nèi)部數(shù)據(jù)交換。
模塊和模塊之間的數(shù)據(jù)交換采用顯性定義原則,將模塊的信息隱藏在模塊內(nèi)部。用戶只需要知道這些模塊的外部特性(即功能和作用、輸入和輸出參數(shù)),不需要了解模塊內(nèi)部的算法實(shí)現(xiàn),在主程序中調(diào)用這些功能塊就能完成項(xiàng)目工程的控制要求和功能。
對(duì)原程序進(jìn)行模塊化編程[10-11],模塊化具體做法:將泵站3種工作模式分別定義在3個(gè)功能塊中,即FB1、FB2、FB3,用戶在主程序中調(diào)用這3個(gè)功能塊,實(shí)現(xiàn)3種供水模式。其他的一些功能也定義成FB或者FC系列成塊封裝。用戶只需了解這些塊的功能和輸入輸出參數(shù),不需知道具體內(nèi)部算法,就可以使用這些功能塊。這使程序的可讀性更強(qiáng),更方便其他設(shè)計(jì)人員檢查和修改。
程序工作流程和程序模塊框圖如圖2、圖3所示。
圖2 程序工作流程圖Fig.2 Workflow of the program
圖3 程序模塊圖Fig.3 Program module
根據(jù)IEC 61131-3標(biāo)準(zhǔn),將項(xiàng)目程序經(jīng)過(guò)重新模塊化編程以后,給水加壓泵站自動(dòng)化系統(tǒng)具有以下特點(diǎn)。
4.1 程序可讀性更強(qiáng)
采用傳統(tǒng)編程方法編程,PLC程序編寫較長(zhǎng),可讀性很差,不易理解。經(jīng)過(guò)模塊化處理之后,通過(guò)這些塊的功能和輸入輸出參數(shù)以及外部特性,編程人員可以根據(jù)程序的控制要求和條件編寫程序,使程序結(jié)構(gòu)更清晰、整潔簡(jiǎn)練,為其他工程師的維護(hù)和調(diào)試工作帶來(lái)很大便利。
4.2 程序運(yùn)行時(shí)效性更快
采用傳統(tǒng)方法編程,當(dāng)系統(tǒng)正常工作時(shí),S7-300的CPU工作方式是從上到下依次掃描,而不工作的程序也被掃描,導(dǎo)致PLC的CPU運(yùn)行效率很低。規(guī)范化以后,將控制繁瑣的程序和反復(fù)調(diào)用的程序在FC或者FB中完成編寫,在主程序中調(diào)用這些功能塊,即可達(dá)到同樣的控制要求;且CPU掃描程序時(shí),CPU只掃描工作的程序或模式,對(duì)于不工作的程序或模式則直接跳過(guò),縮短了CPU掃描程序的時(shí)間,極大提高了系統(tǒng)的時(shí)效性。
4.3 程序查錯(cuò)診斷更快速
編程規(guī)范化后,當(dāng)程序出現(xiàn)故障時(shí),工程師可以快速找到出現(xiàn)故障的功能塊,并查看這些故障功能塊中的程序,找到故障原因。與傳統(tǒng)方法比較,程序故障診斷更方便、快捷。
4.4 程序的開放性更好
當(dāng)設(shè)計(jì)人員需要添加其他功能和控制要求時(shí),可利用系統(tǒng)的功能塊定義這些控制功能,然后在主程序中直接調(diào)用即可。各功能塊之間相互獨(dú)立,互不影響。
模塊化設(shè)計(jì)思想有助于新手學(xué)習(xí)PLC編程,也有助于工程師規(guī)范自己編寫程序。工程師通過(guò)對(duì)程序塊的積累和靈活應(yīng)用,使復(fù)雜系統(tǒng)設(shè)計(jì)變得更簡(jiǎn)單、規(guī)范。程序結(jié)構(gòu)化更清晰,而且程序模塊化思想有助于推動(dòng)PLC編程標(biāo)準(zhǔn)的進(jìn)步。
[1] 張博,王志信.模塊化編程思想在PLC系統(tǒng)中的應(yīng)用[J].化工自動(dòng)化及儀表,2013,40(3):416-418.
[2] 宋超杰.PLC程序模塊化的工業(yè)應(yīng)用[J].機(jī)械管理開發(fā),2009, 24(1):170-171,173.
[3] 靳紅.PLC模塊設(shè)計(jì)及應(yīng)用[J].起重運(yùn)輸機(jī)械,2003(5):15-18.
[4] 李天平,蘇小兵.面向?qū)ο缶幊趟枷朐赑LC編程中的應(yīng)用[J].微計(jì)算機(jī)信息,2010(31):223-224,230.
[5] 彭瑜.IEC 61131-3的現(xiàn)狀與發(fā)展[J].世界儀表與自動(dòng)化, 2002,6(2):11-13.
[6] 彭瑜,何衍慶.IEC 61131-3編程語(yǔ)言及應(yīng)用基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2009:7-15.
[7] 王軍.基于IEC 61131-3標(biāo)準(zhǔn)的PLC梯形圖編碼及解算的研究[D]:北京:北京化工大學(xué),2008.
[8] 周玉文,劉越,劉江濤.加壓泵站遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].供水技術(shù),2007,1(3):31-34.
[9] 高強(qiáng),王國(guó)敬,李大華,等.污水處理流程一體化控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電氣傳動(dòng),2011,41(3):55-57.
[10] 高強(qiáng),張亮,李月鳳.基于OPC技術(shù)的虛擬DCS監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2009,30(12):30-32
[11] 遲君平,王斌,李業(yè)友.模塊化編程方法在PLC程序開發(fā)中的應(yīng)用[J].微計(jì)算機(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
天津市中青年骨干創(chuàng)新人才培養(yǎng)計(jì)劃基金資助項(xiàng)目(編號(hào):20130830)。
天津市普通高等學(xué)校本科教學(xué)質(zhì)量與教學(xué)改革研究計(jì)劃基金資助項(xiàng)目(編號(hào):JW20120315)
修改稿收到日期:2014-03-11。
高強(qiáng)(1968-),男,1999年畢業(yè)于天津大學(xué)控制理論與控制工程專業(yè),獲碩士學(xué)位,教授;主要從事過(guò)程控制智能控制和復(fù)雜系統(tǒng)的故障診斷的研究。