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