摘 要: 基于對面向?qū)ο?/a>" title="面向?qū)ο?>面向?qū)ο?/a>技術(shù)在軟件開發(fā)領(lǐng)域的優(yōu)勢分析,結(jié)合Wonderware IAS平臺軟件和工程經(jīng)驗(yàn),提出了在工業(yè)自動化" title="工業(yè)自動化">工業(yè)自動化領(lǐng)域采用面向?qū)ο蠹夹g(shù)" title="面向?qū)ο蠹夹g(shù)">面向?qū)ο蠹夹g(shù)進(jìn)行系統(tǒng)設(shè)計(jì)的基本方法,并對實(shí)現(xiàn)的關(guān)鍵技術(shù)作了深入論述。工程應(yīng)用效果表明,該系統(tǒng)設(shè)計(jì)技術(shù)是可行和有效的,有工程推廣價(jià)值。
關(guān)鍵詞: 面向?qū)ο蠹夹g(shù) SCADA 軟件平臺 IAS
在工業(yè)自動化軟件設(shè)計(jì)領(lǐng)域,系統(tǒng)分析與設(shè)計(jì)是一項(xiàng)系統(tǒng)性、實(shí)用性十分強(qiáng)的工作。二十世紀(jì)90 年代以前,系統(tǒng)分析的傳統(tǒng)方法是采用從上到下的順序結(jié)構(gòu)化方法。該方法強(qiáng)調(diào)數(shù)據(jù)實(shí)體屬性,但不強(qiáng)調(diào)其功能、方法(操作)。其后,面向?qū)ο蠓椒ǔ蔀檐浖O(shè)計(jì)的一種趨勢[1]。作為一種認(rèn)識事物的新方法,面向?qū)ο笫菍栴}空間解的概念模擬人類的自然思維,直接映射到軟件的解空間,從而使人們分析問題、求解問題的過程與軟件開發(fā)過程保持一致。面向?qū)ο笫前严到y(tǒng)看作一個(gè)通過對象相互影響的集合體,它的每個(gè)對象都有行為,通過這些行為(方法)使類對象之間進(jìn)行交互。面向?qū)ο蠓椒òǚ庋b性、繼承性、多態(tài)性等特點(diǎn),這些特點(diǎn)使面向?qū)ο蠓椒ň哂辛己玫膽?yīng)用前景[2]。正是由于面向?qū)ο笏枷氲闹T多優(yōu)勢,使面向?qū)ο蟮募夹g(shù)在軟件領(lǐng)域得到迅速發(fā)展,目前面向?qū)ο笏枷胴灤┸浖姆治?、設(shè)計(jì)、測試等各個(gè)環(huán)節(jié)。
1 工業(yè)自動化控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)中應(yīng)用面向?qū)ο蠹夹g(shù)的現(xiàn)狀
在工業(yè)自動化領(lǐng)域,很多控制對象同樣具有面向?qū)ο蠹夹g(shù)中的“對象”屬性,也引起了人們的注意,控制工程師和控制軟件開發(fā)人員也試圖將面向?qū)ο蟮募夹g(shù)應(yīng)用到工業(yè)自動化領(lǐng)域,但目前基本上仍停留在針對某個(gè)控制系統(tǒng)的軟件設(shè)計(jì)和控制軟件的軟件設(shè)計(jì)中,例如面向?qū)ο蠓椒ㄔ谲堜摽刂葡到y(tǒng)中的運(yùn)用[3]、工業(yè)控制軟件的面向?qū)ο箝_發(fā)技術(shù)[4]、采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法實(shí)現(xiàn)PLC在原料輸送系統(tǒng)中的控制[5]等。這些都說明面向?qū)ο蟮募夹g(shù)可以應(yīng)用在工業(yè)自動化領(lǐng)域,可以將面向?qū)ο蠹夹g(shù)應(yīng)用到控制系統(tǒng)的整體系統(tǒng)設(shè)計(jì),而不是簡單地停留在某個(gè)具體的軟件設(shè)計(jì)中。這就涉及到一個(gè)嵌入面向?qū)ο蠹夹g(shù)的工業(yè)自動化軟件平臺的問題。目前,美國Wonderware公司提供的Wonderware Industrial Application Server就是一種面向?qū)ο蟮钠脚_軟件系統(tǒng)。由于面向?qū)ο蟮脑O(shè)計(jì)方法與原來的控制系統(tǒng)設(shè)計(jì)思想的不同,如何在該工業(yè)自動化軟件平臺上進(jìn)行控制系統(tǒng)的設(shè)計(jì)是值得深入研究的。
2 一種嵌入面向?qū)ο蠹夹g(shù)的工業(yè)自動化監(jiān)控系統(tǒng)" title="監(jiān)控系統(tǒng)">監(jiān)控系統(tǒng)軟件平臺—Wonderware IAS
1999年,作為工業(yè)自動化領(lǐng)域領(lǐng)先的軟件解決方案供應(yīng)商,美國Wonderware公司在全球推出了新的工業(yè)自動化軟件架構(gòu)——ArchestrA(簡稱A2),并在其核心工廠套裝軟件FactorySuite 2000中全線應(yīng)用,從而形成了新的套件系統(tǒng)——Wonderware FactorySuite A2。在該套裝軟件中,新推出了一款嵌入面向?qū)ο蠹夹g(shù)的新產(chǎn)品——Wonderware Industrial Application Server。該產(chǎn)品充分發(fā)揮了面向?qū)ο蟮募夹g(shù)優(yōu)勢,提供了供自動化工程師選擇使用的多個(gè)基礎(chǔ)模板,將程序中的面向?qū)ο蠹夹g(shù)屏蔽掉,只需要經(jīng)過客戶化的配置以及擴(kuò)展即可以滿足工業(yè)自動化系統(tǒng)的設(shè)計(jì)和規(guī)劃工作,從而使工程師從簡單、復(fù)雜、耗時(shí)的程序模塊中解放出來,將主要的精力集中在系統(tǒng)控制模型以及控制算法上,大大縮短了工業(yè)自動化系統(tǒng)的設(shè)計(jì)和上線時(shí)間,并提高了系統(tǒng)的重用性。該系統(tǒng)具有良好的可伸縮性或擴(kuò)展性,支持小到1個(gè)平臺幾百個(gè)點(diǎn)、大到400個(gè)平臺和1000000點(diǎn)數(shù)據(jù)的工業(yè)自動化系統(tǒng),系統(tǒng)隨時(shí)間推移而增值;同時(shí)該系統(tǒng)具有良好的集成性,可以激活目前企業(yè)現(xiàn)存的控制系統(tǒng),延長項(xiàng)目的生命周期。而從整體上提高了系統(tǒng)建設(shè)的投資回報(bào)率。
3 基于Wonderware IAS系統(tǒng)平臺的開發(fā)技術(shù)
傳統(tǒng)的面向功能的設(shè)計(jì)方法集中在控制系統(tǒng)的局部,圍繞某個(gè)功能實(shí)現(xiàn),而在嵌入面向?qū)ο蠹夹g(shù)的自動化軟件平臺Wonderware Industrial Application Server上,采用面向?qū)ο笏枷朐O(shè)計(jì)監(jiān)控系統(tǒng),充分發(fā)揮面向?qū)ο蠹夹g(shù)的封裝性、繼承性的優(yōu)勢,同時(shí)采用抽象對象的方法看待整個(gè)監(jiān)控系統(tǒng)的組成。一般采用如下步驟設(shè)計(jì):
(1) 收集設(shè)備對象和功能需求
在采用面向?qū)ο筮M(jìn)行軟件系統(tǒng)設(shè)計(jì)時(shí),通常要分析該軟件系統(tǒng)涉及的對象以及對象的屬性和功能,便于系統(tǒng)類的設(shè)計(jì)。在采用面向?qū)ο蟮淖詣踊O(jiān)控系統(tǒng)設(shè)計(jì)中,同樣要了解系統(tǒng)中的設(shè)備對象以及相關(guān)的功能需求,便于系統(tǒng)總體模板的設(shè)計(jì)。例如在某控制系統(tǒng)中要使用到很多的電動閥門,閥門就有輸入/輸出控制點(diǎn),有些閥門還有開度等屬性,這些都是要收集的數(shù)據(jù)。該階段收集設(shè)備對象和功能需求參考表格如表1[6]所示。
其中屬性、功能完全一致的可以歸納成一種設(shè)備。通過搜集歸納系統(tǒng)中使用的設(shè)備屬性和功能需求,可以為抽象對象和設(shè)計(jì)模板提供參考依據(jù)。
(2) 抽象對象設(shè)計(jì)模版
Wonderware IAS針對工業(yè)自動化系統(tǒng)對象的類型及特點(diǎn),提供了相應(yīng)的基礎(chǔ)應(yīng)用模版,其中包括$AnalogDevice、$Boolean、$DiscreteDevice、$Double、$Float、$Integer、 $String等;還有相關(guān)的通訊模版,包括$DDESuiteLinkClient、$OPCClient、$InTouchProxy等;以及系統(tǒng)模版,包括$Platform、$Engine、$Area。這些模版充分利用了面向?qū)ο蠹夹g(shù)中的封裝性,把一個(gè)對象的所有數(shù)據(jù)和對數(shù)據(jù)的操作封裝在該模版中,并提供一種機(jī)制, 使對象內(nèi)的私有數(shù)據(jù)具有其私有的操作;同時(shí)提高了模版的可重用性, 使人們在開發(fā)新系統(tǒng)時(shí)減少重復(fù)工作。在這些模版中提供了自動化監(jiān)控系統(tǒng)的基本信息描述、IO通訊、功能腳本、用戶自定義屬性(UDA)、功能屬性擴(kuò)展、警報(bào)和歷史紀(jì)錄等功能。
通過對設(shè)備對象和功能需求的分析,找出同類型設(shè)備的共同屬性和相同的功能,就可以抽象出系統(tǒng)的部分應(yīng)用模版。這些應(yīng)用模版可以利用面向?qū)ο蟮睦^承性特點(diǎn),從基礎(chǔ)模版派生出來,再添加一些個(gè)性化的要求即可。在該設(shè)計(jì)部分,包括應(yīng)用基礎(chǔ)模版設(shè)計(jì)和對象結(jié)構(gòu)設(shè)計(jì)。其中對象結(jié)構(gòu)的設(shè)計(jì)是根據(jù)對象的屬性特點(diǎn)來設(shè)計(jì)對象的層次,例如一個(gè)鍋爐對象,可能包括液位對象、溫度對象、壓力對象以及閥門對象等。
(3) 設(shè)計(jì)區(qū)域模型
監(jiān)控系統(tǒng)里所涉及到的應(yīng)用模版設(shè)計(jì)完成后,就要根據(jù)實(shí)際系統(tǒng)需要生成實(shí)例(instance),并設(shè)計(jì)系統(tǒng)的區(qū)域模型。區(qū)域模型是應(yīng)用的邏輯組合,表明系統(tǒng)的實(shí)際層次結(jié)構(gòu)。這些模型可基于物理位置、執(zhí)行的動作或用戶能夠設(shè)想出的其它任何邏輯參數(shù)。區(qū)域結(jié)構(gòu)的深度沒有限制。例如工廠被分成3個(gè)子區(qū)域:InTake、生產(chǎn)過程和Dispatch。生產(chǎn)過程區(qū)域又被細(xì)分成生產(chǎn)線1和生產(chǎn)線2兩個(gè)區(qū)域,如圖1所示。

此外工廠模型在項(xiàng)目中增加了關(guān)鍵的結(jié)構(gòu),針對部署、執(zhí)行以及報(bào)警提供了一種對象分組機(jī)制。
(4) 設(shè)計(jì)安全模型
工業(yè)自動化監(jiān)控系統(tǒng)是對控制現(xiàn)場信息的在線監(jiān)測和交互控制,需要對不同的操作人員實(shí)施不同的操作授權(quán),例如系統(tǒng)管理員可以實(shí)施全系列的系統(tǒng)維護(hù)和配置更改操作,系統(tǒng)工程師可以實(shí)現(xiàn)局部控制系統(tǒng)的配置,一般工程師可以實(shí)現(xiàn)某個(gè)設(shè)備的交互控制,現(xiàn)場值班人員只可以監(jiān)控畫面,不能實(shí)施任何的控制動作等。這些就要求監(jiān)控系統(tǒng)擁有良好的安全控制策略,不但要對配置界面的操作進(jìn)行控制,而且需要單獨(dú)對某個(gè)對象的控制授權(quán)。而傳統(tǒng)的監(jiān)控系統(tǒng)開發(fā)中,都是通過使用簡單的腳本語言在控制對象上實(shí)現(xiàn)簡單授權(quán),由于操作人員分工不同,需要更好、更穩(wěn)定、更易維護(hù)的安全策略。同時(shí)一些監(jiān)控系統(tǒng)還要求與現(xiàn)有操作系統(tǒng)的控制策略實(shí)現(xiàn)良好的集成。
在操作系統(tǒng)中是通過組、角色、用戶的概念實(shí)施安全策略的。這種安全策略維護(hù)方便,便于理解,便于實(shí)現(xiàn)復(fù)雜的安全授權(quán),因此是一個(gè)良好的安全策略。
Wonderware IAS提供了三種安全策略供選擇,分別是Galaxy、OS User based、OS Group based。其中Galaxy是獨(dú)立于操作系統(tǒng)的一種安全策略。OS User based和OS Group based是可以與操作系統(tǒng)集成的安全策略。三種安全策略都可以控制單獨(dú)的對象層次。至于對象中的屬性部分,又提供了Read Only、Operate、Tune、Secured Write、Verified Write和Configure六種安全選項(xiàng)。
通過對對象級以及屬性級兩種層次的安全設(shè)定,可以完全滿足工業(yè)自動化監(jiān)控系統(tǒng)對安全策略的需求,而且維護(hù)方便、擴(kuò)展性好。
(5) 系統(tǒng)部署設(shè)計(jì)
由于Wonderware IAS系統(tǒng)是一個(gè)全分布式的系統(tǒng),通過開發(fā)環(huán)境,可以將不同的對象部署到不同的計(jì)算機(jī)上運(yùn)行。該分布式系統(tǒng)的層次結(jié)構(gòu)圖如圖2所示。

其中一個(gè)計(jì)算機(jī)只能對應(yīng)一個(gè)Platform,一個(gè)Platform可以有多個(gè)Engine。同樣地,一個(gè)Engine上可以有多個(gè)Area和Object。
系統(tǒng)部署設(shè)計(jì)是面向計(jì)算機(jī)的軟件分配設(shè)計(jì),在設(shè)計(jì)過程中要考慮到對象的負(fù)荷情況,這些負(fù)荷一般是由I/O通訊量以及用戶自定義變量的數(shù)量等因素綜合決定的。通過分析對象的負(fù)荷狀況,在具體分配時(shí)結(jié)合計(jì)算機(jī)的性能實(shí)現(xiàn)有效的負(fù)載均衡分配, 達(dá)到計(jì)算機(jī)資源有效合理的使用。另外還要根據(jù)數(shù)據(jù)的流向,考慮采集軟件的合理分配。如果數(shù)據(jù)流向比較集中,可以將采集軟件分配在一臺計(jì)算機(jī)上;如果數(shù)據(jù)流向比較分散,可以將采集軟件分散分配在不同的計(jì)算機(jī)上。
4 應(yīng)用示例
該面向?qū)ο蟮脑O(shè)計(jì)技術(shù)在“數(shù)字黃河”以及浙江天然氣管網(wǎng)監(jiān)控等方面發(fā)揮了重要作用。其中在黃河中下游引黃涵閘遠(yuǎn)程監(jiān)控系統(tǒng)中,利用Wonderware IAS實(shí)現(xiàn)了對分布在長達(dá)700多公里、32個(gè)縣的黃河中下游沿岸的84座引水涵閘有效地集中控制,整個(gè)系統(tǒng)從設(shè)計(jì)到上線正式運(yùn)行,僅用了3個(gè)月的時(shí)間。自系統(tǒng)投運(yùn)以來,已帶來顯著的經(jīng)濟(jì)和社會效益[7]。
同樣,在浙江天然氣管線監(jiān)控系統(tǒng)中,采用以Industrial Application Server為核心的SCADA解決方案,用以構(gòu)建站控系統(tǒng)SCADA中心的軟件架構(gòu)和各種應(yīng)用,為浙江天然氣管網(wǎng)未來10年建設(shè)超過1400公里提供了極為理想的軟件平臺[8]。
Wonderware IAS充分利用了面向?qū)ο蠹夹g(shù)中的封裝性、繼承性以及多態(tài)性的特點(diǎn),將面向?qū)ο蠹夹g(shù)和思想引入到自動化監(jiān)控系統(tǒng)的整體設(shè)計(jì)中,大大節(jié)省了系統(tǒng)開發(fā)時(shí)間,加快了系統(tǒng)的上線時(shí)間,延長了系統(tǒng)的生命周期。文中提出了基于Wonderware IAS的工業(yè)自動化面向?qū)ο笙到y(tǒng)設(shè)計(jì)的基本方法,并通過工程示例證明了該方法在工程領(lǐng)域的應(yīng)用效果,具有很好的工程推廣價(jià)值。
參考文獻(xiàn)
1 John W. Satzinger,Robert B. Jacon. System Analysis and Design in a Changing World[M].北京:機(jī)械工業(yè)出版社,2002
2 文漢云. 面向?qū)ο蠓椒ㄔ诨み^程控制系統(tǒng)設(shè)計(jì)中的應(yīng)用研究[J]. 計(jì)算機(jī)應(yīng)用,2000;(5):33~35.
3 蒲光明,陳雪波. 面向?qū)ο蠓椒ㄔ谲堜摽刂葡到y(tǒng)中的運(yùn)用[J]. 冶金自動化,2003;(6):71~72
4 陳 曦,姚普光.工業(yè)控制軟件的面向?qū)ο箝_發(fā)技術(shù)[J].河北工業(yè)大學(xué)學(xué)報(bào),1998;27(2):107~113
5 王沖輪.采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法實(shí)現(xiàn)PLC在原料輸送系統(tǒng)中的控制[J].工業(yè)控制計(jì)算機(jī),2004;17(10):13,60
6 Wonderware. Wonderware FactorySuite A2TM Deployment Guide[EB/OL]. http://www.wonderware.com
7 Wonderware. Wonderware ArchestrA 技術(shù)在黃河下游引黃涵閘遠(yuǎn)程監(jiān)控系統(tǒng)的應(yīng)用 [EB/OL].http://www.won-der-ware.com.cn/details/solutiondetail2.asp
8 Wonderware. SCADA解決方案在浙江天然氣管線監(jiān)控系統(tǒng)中的應(yīng)用 [EB/OL].http://www.wonderware.com.cn/details/solutiondetail.asp?id=203

