馮煒?shù)J 楊靜
摘 要 本文首先對(duì)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件的幾個(gè)主要特點(diǎn)進(jìn)行了介紹;然后分析了工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu);最后在此基礎(chǔ)之上,介紹了工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)在工業(yè)生產(chǎn)實(shí)踐中的兩個(gè)應(yīng)用案例。希望本文的研究,能夠?yàn)榻窈蠊I(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)設(shè)計(jì)及開(kāi)發(fā)提供一定的理論依據(jù)。
【關(guān)鍵詞】工業(yè)過(guò)程控制 計(jì)算機(jī)系統(tǒng) 軟件架構(gòu) 設(shè)計(jì)
近幾年來(lái),隨著計(jì)算機(jī)技術(shù)、工業(yè)控制技術(shù)以及網(wǎng)絡(luò)技術(shù)三者的飛速發(fā)展,不少工業(yè)生產(chǎn)過(guò)程中都已經(jīng)開(kāi)始運(yùn)用工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行生產(chǎn)各個(gè)環(huán)節(jié)的控制。通過(guò)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行工業(yè)生產(chǎn)過(guò)程的控制可以大大提高其可靠性與實(shí)時(shí)性,從而進(jìn)一步提高產(chǎn)品的質(zhì)量。為了讓工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)能夠充分發(fā)揮其作用,不僅需要保證所使用的硬件穩(wěn)定可靠,其軟件架構(gòu)的設(shè)計(jì)也至關(guān)重要。因此,對(duì)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件架構(gòu)的設(shè)計(jì)與開(kāi)發(fā)進(jìn)行研究具有十分重要的現(xiàn)實(shí)意義。
1 工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件特點(diǎn)
生產(chǎn)操作設(shè)定與實(shí)時(shí)數(shù)據(jù)跟蹤是工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)要求實(shí)現(xiàn)的兩大基本目標(biāo)。為此,系統(tǒng)首先要求收集許多的實(shí)時(shí)數(shù)據(jù),然后利用預(yù)先設(shè)計(jì)好的數(shù)學(xué)模型對(duì)這些實(shí)時(shí)數(shù)據(jù)進(jìn)行分析計(jì)算,最后得到生產(chǎn)所需要的數(shù)據(jù),以這些數(shù)據(jù)來(lái)對(duì)生產(chǎn)過(guò)程進(jìn)行控制。同時(shí),由于工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)所需控制生產(chǎn)的產(chǎn)品往往是多種多樣的,所以通常要求首先對(duì)這些系統(tǒng)進(jìn)行統(tǒng)一設(shè)計(jì),然后再根據(jù)不同的需求進(jìn)行分步開(kāi)發(fā)。此外,系統(tǒng)在調(diào)試完畢,交付客戶(hù)使用之后,相關(guān)的維護(hù)人員還應(yīng)該根據(jù)實(shí)際使用過(guò)程中的具體條件對(duì)系統(tǒng)進(jìn)行局部維護(hù),比如通常需要根據(jù)實(shí)際情況對(duì)一些預(yù)先設(shè)計(jì)好的參數(shù)進(jìn)行調(diào)整和優(yōu)化。雖然不同行業(yè)的工業(yè)生產(chǎn)過(guò)程各不相同,但對(duì)于相似的工業(yè)控制而言,其生產(chǎn)過(guò)程控制的主體思想是可以相互借鑒的。所以,對(duì)于工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件來(lái)說(shuō),開(kāi)放性也是其一個(gè)主要特點(diǎn)。所謂開(kāi)發(fā)性,即是指類(lèi)似的生產(chǎn)過(guò)程控制軟件能夠在一些已有相似生產(chǎn)過(guò)程控制軟件的基礎(chǔ)上進(jìn)行二次發(fā)開(kāi),從而滿(mǎn)足當(dāng)前生產(chǎn)過(guò)程控制的需求。
因此,總的來(lái)說(shuō)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件應(yīng)該具有以下這些主要特點(diǎn):
(1)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集的性能好,可靠穩(wěn)定。
(2)數(shù)學(xué)模型對(duì)采集到的數(shù)據(jù)進(jìn)行處理的速度快,準(zhǔn)確性高。
(3)開(kāi)放性高,便于拓展和二次開(kāi)發(fā)。
(4)維護(hù)簡(jiǎn)單,對(duì)數(shù)學(xué)模型和控制參數(shù)進(jìn)行調(diào)整較方便。
(5)設(shè)計(jì)科學(xué)合理,具有可復(fù)制性。
在軟件結(jié)構(gòu)化分層設(shè)計(jì)理念指導(dǎo)下設(shè)計(jì)的工業(yè)過(guò)程控制軟件架構(gòu)應(yīng)該充分滿(mǎn)足以上這些特點(diǎn)。
2 工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)
為了方便后期的使用與維護(hù),本軟件系統(tǒng)是建立在Microsoft基礎(chǔ)之上的,其框架程序設(shè)計(jì)思想采用的是NETFRAMEWORK,前臺(tái)的畫(huà)面以及后臺(tái)的程序均是采用的Microsoft visual C#高級(jí)語(yǔ)言,而數(shù)據(jù)庫(kù)則是采用目前主流的大型數(shù)據(jù)庫(kù),例如SQL SERVER。
全部程序結(jié)構(gòu)應(yīng)用的是二層設(shè)計(jì),即是指后臺(tái)程序以及前臺(tái)畫(huà)面的開(kāi)發(fā)是彼此分開(kāi)的,這兩層之間的交接界面則是數(shù)據(jù)庫(kù)。驅(qū)動(dòng)機(jī)制的選擇上則是應(yīng)用的MSMQ消息驅(qū)動(dòng)機(jī)制,因?yàn)檫@種機(jī)制支持同異步信息處理,所以能夠較好地確保前后臺(tái)軟件之間的同步協(xié)調(diào)和整體完整性。
對(duì)于系統(tǒng)的前臺(tái)畫(huà)面來(lái)說(shuō),其主要功能是顯示相關(guān)的數(shù)據(jù)并為使用者提供一個(gè)人機(jī)交互的渠道。所以,為了充分滿(mǎn)足這種使用需求,前臺(tái)畫(huà)面在數(shù)據(jù)顯示上應(yīng)該做到友好的用戶(hù)體驗(yàn),并且能夠接收到使用者手動(dòng)點(diǎn)擊產(chǎn)生的數(shù)據(jù),從而將這些認(rèn)為干涉的數(shù)據(jù)傳到后臺(tái)軟件。
相比前臺(tái)畫(huà)面,后臺(tái)軟件的功能就要復(fù)雜許多,因?yàn)楣I(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)對(duì)生產(chǎn)過(guò)程進(jìn)行控制的實(shí)現(xiàn)需要的基礎(chǔ)是非常多的,比如它要求后臺(tái)軟件具有實(shí)時(shí)數(shù)據(jù)采集、跟蹤、模型計(jì)算等。為此,后臺(tái)軟件的設(shè)計(jì)應(yīng)該進(jìn)一步細(xì)分為多個(gè)模塊,這些模塊主要包括MES數(shù)據(jù)通訊、基礎(chǔ)自動(dòng)化數(shù)據(jù)通訊等。不同的模塊分別讓不同的功能得以實(shí)現(xiàn),最后通過(guò)各個(gè)模塊之間的配合來(lái)實(shí)現(xiàn)整個(gè)控制系統(tǒng)的功能。并且這種模塊化的設(shè)計(jì)還有一個(gè)明顯的優(yōu)點(diǎn),那就是當(dāng)系統(tǒng)軟件需要進(jìn)行維護(hù)調(diào)整時(shí),只需要對(duì)其中需要調(diào)整的模塊進(jìn)行調(diào)整即可,而不用對(duì)整個(gè)系統(tǒng)軟件進(jìn)行修改,這樣就大大減少后期維護(hù)調(diào)整的工作量。與此同時(shí),通過(guò)多個(gè)功能模塊在多任務(wù)的系統(tǒng)平臺(tái)上運(yùn)行,也能大大增加了控制系統(tǒng)對(duì)指令的響應(yīng)速度。而正是因?yàn)檫@種多模塊的設(shè)計(jì)方式需要確保各模塊之間相互協(xié)調(diào)地工作,所以應(yīng)用了異步信息處理的MSMQ消息驅(qū)動(dòng)機(jī)制,以此來(lái)保證整個(gè)系統(tǒng)軟件在運(yùn)行過(guò)程中的完整性。
在后臺(tái)軟件里,模型計(jì)算往往需要對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行大量調(diào)用,并通過(guò)高頻率的計(jì)算來(lái)對(duì)控制對(duì)象的生產(chǎn)情況進(jìn)行實(shí)時(shí)反映。當(dāng)模型軟件對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)頻率較高時(shí),系統(tǒng)的實(shí)時(shí)性就會(huì)有明顯地降低,并且由于檢索數(shù)據(jù)量的龐大,內(nèi)存和CPU資源也會(huì)被大大耗費(fèi),如果不能有效進(jìn)行解決,甚至有可能因此造成整個(gè)系統(tǒng)的崩潰。為此,這里運(yùn)用了.NET REMOTING 技術(shù),通過(guò)該技術(shù)的運(yùn)用來(lái)開(kāi)發(fā)內(nèi)存數(shù)據(jù)實(shí)時(shí)共享平臺(tái)軟件,能夠很大程度上提高控制系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。在這個(gè)內(nèi)存數(shù)據(jù)實(shí)時(shí)共享平臺(tái)軟件中,數(shù)學(xué)模型模塊以及數(shù)據(jù)采集跟蹤模塊的數(shù)據(jù)交流都在這里進(jìn)行,而不用單獨(dú)訪問(wèn)磁盤(pán)數(shù)據(jù)庫(kù)。所以通過(guò)這樣的方式,能夠有效減少對(duì)系統(tǒng)資源的占用,確保了控制系統(tǒng)軟件的平均內(nèi)存占用率在50%以下,從而讓各模塊都能穩(wěn)定可靠地運(yùn)行。
3 軟件架構(gòu)的工程應(yīng)用
這種工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)目前已經(jīng)被廣泛運(yùn)用到實(shí)際的工業(yè)生產(chǎn)過(guò)程中,以下是該系統(tǒng)軟件架構(gòu)在工業(yè)生產(chǎn)實(shí)踐中的兩個(gè)運(yùn)用案例。
3.1 案例1
圖3-1所示為某加熱爐的過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件架構(gòu),該軟件架構(gòu)目前已經(jīng)被廣泛運(yùn)用到許多加熱爐工程實(shí)踐當(dāng)中,其表現(xiàn)出的功能性能十分優(yōu)異,運(yùn)行穩(wěn)定可靠,使用效果良好。
3.2 案例2
圖3-2所示為某原料場(chǎng)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu),這一軟件架構(gòu)在工程實(shí)際中的運(yùn)用同樣十分廣泛,效果良好。
4 結(jié)語(yǔ)
通過(guò)模塊化、分層式設(shè)計(jì)出的工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu),在運(yùn)行過(guò)程中更加穩(wěn)定可靠,且對(duì)CPU和內(nèi)存資源的占用較小。在實(shí)時(shí)性、可維護(hù)性以及拓展性等方面的表現(xiàn)同樣十分優(yōu)異。在軟件的后期維護(hù)方面,由于采用了模塊化的設(shè)計(jì)方式,所以無(wú)需對(duì)整個(gè)軟件進(jìn)行修改,只需要有針對(duì)性地對(duì)某一模塊進(jìn)行修改即可。所以,這是一種維護(hù)成本較低并且開(kāi)放性較高的軟件架構(gòu)。
參考文獻(xiàn)
[1](美)Jeffrey Richter著,李建忠譯..NET 框架程序設(shè)計(jì)(修訂版).[M].北京:清華大學(xué)出版社,2010.
[2](美)內(nèi)格爾等編著,李敏波譯.C#高級(jí)編程(第4版).[M].北京:清華大學(xué)出版社,2012.
作者單位
江西現(xiàn)代職業(yè)技術(shù)學(xué)院 江西省南昌市 330095endprint
摘 要 本文首先對(duì)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件的幾個(gè)主要特點(diǎn)進(jìn)行了介紹;然后分析了工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu);最后在此基礎(chǔ)之上,介紹了工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)在工業(yè)生產(chǎn)實(shí)踐中的兩個(gè)應(yīng)用案例。希望本文的研究,能夠?yàn)榻窈蠊I(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)設(shè)計(jì)及開(kāi)發(fā)提供一定的理論依據(jù)。
【關(guān)鍵詞】工業(yè)過(guò)程控制 計(jì)算機(jī)系統(tǒng) 軟件架構(gòu) 設(shè)計(jì)
近幾年來(lái),隨著計(jì)算機(jī)技術(shù)、工業(yè)控制技術(shù)以及網(wǎng)絡(luò)技術(shù)三者的飛速發(fā)展,不少工業(yè)生產(chǎn)過(guò)程中都已經(jīng)開(kāi)始運(yùn)用工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行生產(chǎn)各個(gè)環(huán)節(jié)的控制。通過(guò)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行工業(yè)生產(chǎn)過(guò)程的控制可以大大提高其可靠性與實(shí)時(shí)性,從而進(jìn)一步提高產(chǎn)品的質(zhì)量。為了讓工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)能夠充分發(fā)揮其作用,不僅需要保證所使用的硬件穩(wěn)定可靠,其軟件架構(gòu)的設(shè)計(jì)也至關(guān)重要。因此,對(duì)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件架構(gòu)的設(shè)計(jì)與開(kāi)發(fā)進(jìn)行研究具有十分重要的現(xiàn)實(shí)意義。
1 工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件特點(diǎn)
生產(chǎn)操作設(shè)定與實(shí)時(shí)數(shù)據(jù)跟蹤是工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)要求實(shí)現(xiàn)的兩大基本目標(biāo)。為此,系統(tǒng)首先要求收集許多的實(shí)時(shí)數(shù)據(jù),然后利用預(yù)先設(shè)計(jì)好的數(shù)學(xué)模型對(duì)這些實(shí)時(shí)數(shù)據(jù)進(jìn)行分析計(jì)算,最后得到生產(chǎn)所需要的數(shù)據(jù),以這些數(shù)據(jù)來(lái)對(duì)生產(chǎn)過(guò)程進(jìn)行控制。同時(shí),由于工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)所需控制生產(chǎn)的產(chǎn)品往往是多種多樣的,所以通常要求首先對(duì)這些系統(tǒng)進(jìn)行統(tǒng)一設(shè)計(jì),然后再根據(jù)不同的需求進(jìn)行分步開(kāi)發(fā)。此外,系統(tǒng)在調(diào)試完畢,交付客戶(hù)使用之后,相關(guān)的維護(hù)人員還應(yīng)該根據(jù)實(shí)際使用過(guò)程中的具體條件對(duì)系統(tǒng)進(jìn)行局部維護(hù),比如通常需要根據(jù)實(shí)際情況對(duì)一些預(yù)先設(shè)計(jì)好的參數(shù)進(jìn)行調(diào)整和優(yōu)化。雖然不同行業(yè)的工業(yè)生產(chǎn)過(guò)程各不相同,但對(duì)于相似的工業(yè)控制而言,其生產(chǎn)過(guò)程控制的主體思想是可以相互借鑒的。所以,對(duì)于工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件來(lái)說(shuō),開(kāi)放性也是其一個(gè)主要特點(diǎn)。所謂開(kāi)發(fā)性,即是指類(lèi)似的生產(chǎn)過(guò)程控制軟件能夠在一些已有相似生產(chǎn)過(guò)程控制軟件的基礎(chǔ)上進(jìn)行二次發(fā)開(kāi),從而滿(mǎn)足當(dāng)前生產(chǎn)過(guò)程控制的需求。
因此,總的來(lái)說(shuō)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件應(yīng)該具有以下這些主要特點(diǎn):
(1)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集的性能好,可靠穩(wěn)定。
(2)數(shù)學(xué)模型對(duì)采集到的數(shù)據(jù)進(jìn)行處理的速度快,準(zhǔn)確性高。
(3)開(kāi)放性高,便于拓展和二次開(kāi)發(fā)。
(4)維護(hù)簡(jiǎn)單,對(duì)數(shù)學(xué)模型和控制參數(shù)進(jìn)行調(diào)整較方便。
(5)設(shè)計(jì)科學(xué)合理,具有可復(fù)制性。
在軟件結(jié)構(gòu)化分層設(shè)計(jì)理念指導(dǎo)下設(shè)計(jì)的工業(yè)過(guò)程控制軟件架構(gòu)應(yīng)該充分滿(mǎn)足以上這些特點(diǎn)。
2 工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)
為了方便后期的使用與維護(hù),本軟件系統(tǒng)是建立在Microsoft基礎(chǔ)之上的,其框架程序設(shè)計(jì)思想采用的是NETFRAMEWORK,前臺(tái)的畫(huà)面以及后臺(tái)的程序均是采用的Microsoft visual C#高級(jí)語(yǔ)言,而數(shù)據(jù)庫(kù)則是采用目前主流的大型數(shù)據(jù)庫(kù),例如SQL SERVER。
全部程序結(jié)構(gòu)應(yīng)用的是二層設(shè)計(jì),即是指后臺(tái)程序以及前臺(tái)畫(huà)面的開(kāi)發(fā)是彼此分開(kāi)的,這兩層之間的交接界面則是數(shù)據(jù)庫(kù)。驅(qū)動(dòng)機(jī)制的選擇上則是應(yīng)用的MSMQ消息驅(qū)動(dòng)機(jī)制,因?yàn)檫@種機(jī)制支持同異步信息處理,所以能夠較好地確保前后臺(tái)軟件之間的同步協(xié)調(diào)和整體完整性。
對(duì)于系統(tǒng)的前臺(tái)畫(huà)面來(lái)說(shuō),其主要功能是顯示相關(guān)的數(shù)據(jù)并為使用者提供一個(gè)人機(jī)交互的渠道。所以,為了充分滿(mǎn)足這種使用需求,前臺(tái)畫(huà)面在數(shù)據(jù)顯示上應(yīng)該做到友好的用戶(hù)體驗(yàn),并且能夠接收到使用者手動(dòng)點(diǎn)擊產(chǎn)生的數(shù)據(jù),從而將這些認(rèn)為干涉的數(shù)據(jù)傳到后臺(tái)軟件。
相比前臺(tái)畫(huà)面,后臺(tái)軟件的功能就要復(fù)雜許多,因?yàn)楣I(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)對(duì)生產(chǎn)過(guò)程進(jìn)行控制的實(shí)現(xiàn)需要的基礎(chǔ)是非常多的,比如它要求后臺(tái)軟件具有實(shí)時(shí)數(shù)據(jù)采集、跟蹤、模型計(jì)算等。為此,后臺(tái)軟件的設(shè)計(jì)應(yīng)該進(jìn)一步細(xì)分為多個(gè)模塊,這些模塊主要包括MES數(shù)據(jù)通訊、基礎(chǔ)自動(dòng)化數(shù)據(jù)通訊等。不同的模塊分別讓不同的功能得以實(shí)現(xiàn),最后通過(guò)各個(gè)模塊之間的配合來(lái)實(shí)現(xiàn)整個(gè)控制系統(tǒng)的功能。并且這種模塊化的設(shè)計(jì)還有一個(gè)明顯的優(yōu)點(diǎn),那就是當(dāng)系統(tǒng)軟件需要進(jìn)行維護(hù)調(diào)整時(shí),只需要對(duì)其中需要調(diào)整的模塊進(jìn)行調(diào)整即可,而不用對(duì)整個(gè)系統(tǒng)軟件進(jìn)行修改,這樣就大大減少后期維護(hù)調(diào)整的工作量。與此同時(shí),通過(guò)多個(gè)功能模塊在多任務(wù)的系統(tǒng)平臺(tái)上運(yùn)行,也能大大增加了控制系統(tǒng)對(duì)指令的響應(yīng)速度。而正是因?yàn)檫@種多模塊的設(shè)計(jì)方式需要確保各模塊之間相互協(xié)調(diào)地工作,所以應(yīng)用了異步信息處理的MSMQ消息驅(qū)動(dòng)機(jī)制,以此來(lái)保證整個(gè)系統(tǒng)軟件在運(yùn)行過(guò)程中的完整性。
在后臺(tái)軟件里,模型計(jì)算往往需要對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行大量調(diào)用,并通過(guò)高頻率的計(jì)算來(lái)對(duì)控制對(duì)象的生產(chǎn)情況進(jìn)行實(shí)時(shí)反映。當(dāng)模型軟件對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)頻率較高時(shí),系統(tǒng)的實(shí)時(shí)性就會(huì)有明顯地降低,并且由于檢索數(shù)據(jù)量的龐大,內(nèi)存和CPU資源也會(huì)被大大耗費(fèi),如果不能有效進(jìn)行解決,甚至有可能因此造成整個(gè)系統(tǒng)的崩潰。為此,這里運(yùn)用了.NET REMOTING 技術(shù),通過(guò)該技術(shù)的運(yùn)用來(lái)開(kāi)發(fā)內(nèi)存數(shù)據(jù)實(shí)時(shí)共享平臺(tái)軟件,能夠很大程度上提高控制系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。在這個(gè)內(nèi)存數(shù)據(jù)實(shí)時(shí)共享平臺(tái)軟件中,數(shù)學(xué)模型模塊以及數(shù)據(jù)采集跟蹤模塊的數(shù)據(jù)交流都在這里進(jìn)行,而不用單獨(dú)訪問(wèn)磁盤(pán)數(shù)據(jù)庫(kù)。所以通過(guò)這樣的方式,能夠有效減少對(duì)系統(tǒng)資源的占用,確保了控制系統(tǒng)軟件的平均內(nèi)存占用率在50%以下,從而讓各模塊都能穩(wěn)定可靠地運(yùn)行。
3 軟件架構(gòu)的工程應(yīng)用
這種工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)目前已經(jīng)被廣泛運(yùn)用到實(shí)際的工業(yè)生產(chǎn)過(guò)程中,以下是該系統(tǒng)軟件架構(gòu)在工業(yè)生產(chǎn)實(shí)踐中的兩個(gè)運(yùn)用案例。
3.1 案例1
圖3-1所示為某加熱爐的過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件架構(gòu),該軟件架構(gòu)目前已經(jīng)被廣泛運(yùn)用到許多加熱爐工程實(shí)踐當(dāng)中,其表現(xiàn)出的功能性能十分優(yōu)異,運(yùn)行穩(wěn)定可靠,使用效果良好。
3.2 案例2
圖3-2所示為某原料場(chǎng)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu),這一軟件架構(gòu)在工程實(shí)際中的運(yùn)用同樣十分廣泛,效果良好。
4 結(jié)語(yǔ)
通過(guò)模塊化、分層式設(shè)計(jì)出的工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu),在運(yùn)行過(guò)程中更加穩(wěn)定可靠,且對(duì)CPU和內(nèi)存資源的占用較小。在實(shí)時(shí)性、可維護(hù)性以及拓展性等方面的表現(xiàn)同樣十分優(yōu)異。在軟件的后期維護(hù)方面,由于采用了模塊化的設(shè)計(jì)方式,所以無(wú)需對(duì)整個(gè)軟件進(jìn)行修改,只需要有針對(duì)性地對(duì)某一模塊進(jìn)行修改即可。所以,這是一種維護(hù)成本較低并且開(kāi)放性較高的軟件架構(gòu)。
參考文獻(xiàn)
[1](美)Jeffrey Richter著,李建忠譯..NET 框架程序設(shè)計(jì)(修訂版).[M].北京:清華大學(xué)出版社,2010.
[2](美)內(nèi)格爾等編著,李敏波譯.C#高級(jí)編程(第4版).[M].北京:清華大學(xué)出版社,2012.
作者單位
江西現(xiàn)代職業(yè)技術(shù)學(xué)院 江西省南昌市 330095endprint
摘 要 本文首先對(duì)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件的幾個(gè)主要特點(diǎn)進(jìn)行了介紹;然后分析了工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu);最后在此基礎(chǔ)之上,介紹了工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)在工業(yè)生產(chǎn)實(shí)踐中的兩個(gè)應(yīng)用案例。希望本文的研究,能夠?yàn)榻窈蠊I(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)設(shè)計(jì)及開(kāi)發(fā)提供一定的理論依據(jù)。
【關(guān)鍵詞】工業(yè)過(guò)程控制 計(jì)算機(jī)系統(tǒng) 軟件架構(gòu) 設(shè)計(jì)
近幾年來(lái),隨著計(jì)算機(jī)技術(shù)、工業(yè)控制技術(shù)以及網(wǎng)絡(luò)技術(shù)三者的飛速發(fā)展,不少工業(yè)生產(chǎn)過(guò)程中都已經(jīng)開(kāi)始運(yùn)用工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行生產(chǎn)各個(gè)環(huán)節(jié)的控制。通過(guò)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行工業(yè)生產(chǎn)過(guò)程的控制可以大大提高其可靠性與實(shí)時(shí)性,從而進(jìn)一步提高產(chǎn)品的質(zhì)量。為了讓工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)能夠充分發(fā)揮其作用,不僅需要保證所使用的硬件穩(wěn)定可靠,其軟件架構(gòu)的設(shè)計(jì)也至關(guān)重要。因此,對(duì)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件架構(gòu)的設(shè)計(jì)與開(kāi)發(fā)進(jìn)行研究具有十分重要的現(xiàn)實(shí)意義。
1 工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件特點(diǎn)
生產(chǎn)操作設(shè)定與實(shí)時(shí)數(shù)據(jù)跟蹤是工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)要求實(shí)現(xiàn)的兩大基本目標(biāo)。為此,系統(tǒng)首先要求收集許多的實(shí)時(shí)數(shù)據(jù),然后利用預(yù)先設(shè)計(jì)好的數(shù)學(xué)模型對(duì)這些實(shí)時(shí)數(shù)據(jù)進(jìn)行分析計(jì)算,最后得到生產(chǎn)所需要的數(shù)據(jù),以這些數(shù)據(jù)來(lái)對(duì)生產(chǎn)過(guò)程進(jìn)行控制。同時(shí),由于工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)所需控制生產(chǎn)的產(chǎn)品往往是多種多樣的,所以通常要求首先對(duì)這些系統(tǒng)進(jìn)行統(tǒng)一設(shè)計(jì),然后再根據(jù)不同的需求進(jìn)行分步開(kāi)發(fā)。此外,系統(tǒng)在調(diào)試完畢,交付客戶(hù)使用之后,相關(guān)的維護(hù)人員還應(yīng)該根據(jù)實(shí)際使用過(guò)程中的具體條件對(duì)系統(tǒng)進(jìn)行局部維護(hù),比如通常需要根據(jù)實(shí)際情況對(duì)一些預(yù)先設(shè)計(jì)好的參數(shù)進(jìn)行調(diào)整和優(yōu)化。雖然不同行業(yè)的工業(yè)生產(chǎn)過(guò)程各不相同,但對(duì)于相似的工業(yè)控制而言,其生產(chǎn)過(guò)程控制的主體思想是可以相互借鑒的。所以,對(duì)于工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件來(lái)說(shuō),開(kāi)放性也是其一個(gè)主要特點(diǎn)。所謂開(kāi)發(fā)性,即是指類(lèi)似的生產(chǎn)過(guò)程控制軟件能夠在一些已有相似生產(chǎn)過(guò)程控制軟件的基礎(chǔ)上進(jìn)行二次發(fā)開(kāi),從而滿(mǎn)足當(dāng)前生產(chǎn)過(guò)程控制的需求。
因此,總的來(lái)說(shuō)工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件應(yīng)該具有以下這些主要特點(diǎn):
(1)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集的性能好,可靠穩(wěn)定。
(2)數(shù)學(xué)模型對(duì)采集到的數(shù)據(jù)進(jìn)行處理的速度快,準(zhǔn)確性高。
(3)開(kāi)放性高,便于拓展和二次開(kāi)發(fā)。
(4)維護(hù)簡(jiǎn)單,對(duì)數(shù)學(xué)模型和控制參數(shù)進(jìn)行調(diào)整較方便。
(5)設(shè)計(jì)科學(xué)合理,具有可復(fù)制性。
在軟件結(jié)構(gòu)化分層設(shè)計(jì)理念指導(dǎo)下設(shè)計(jì)的工業(yè)過(guò)程控制軟件架構(gòu)應(yīng)該充分滿(mǎn)足以上這些特點(diǎn)。
2 工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)
為了方便后期的使用與維護(hù),本軟件系統(tǒng)是建立在Microsoft基礎(chǔ)之上的,其框架程序設(shè)計(jì)思想采用的是NETFRAMEWORK,前臺(tái)的畫(huà)面以及后臺(tái)的程序均是采用的Microsoft visual C#高級(jí)語(yǔ)言,而數(shù)據(jù)庫(kù)則是采用目前主流的大型數(shù)據(jù)庫(kù),例如SQL SERVER。
全部程序結(jié)構(gòu)應(yīng)用的是二層設(shè)計(jì),即是指后臺(tái)程序以及前臺(tái)畫(huà)面的開(kāi)發(fā)是彼此分開(kāi)的,這兩層之間的交接界面則是數(shù)據(jù)庫(kù)。驅(qū)動(dòng)機(jī)制的選擇上則是應(yīng)用的MSMQ消息驅(qū)動(dòng)機(jī)制,因?yàn)檫@種機(jī)制支持同異步信息處理,所以能夠較好地確保前后臺(tái)軟件之間的同步協(xié)調(diào)和整體完整性。
對(duì)于系統(tǒng)的前臺(tái)畫(huà)面來(lái)說(shuō),其主要功能是顯示相關(guān)的數(shù)據(jù)并為使用者提供一個(gè)人機(jī)交互的渠道。所以,為了充分滿(mǎn)足這種使用需求,前臺(tái)畫(huà)面在數(shù)據(jù)顯示上應(yīng)該做到友好的用戶(hù)體驗(yàn),并且能夠接收到使用者手動(dòng)點(diǎn)擊產(chǎn)生的數(shù)據(jù),從而將這些認(rèn)為干涉的數(shù)據(jù)傳到后臺(tái)軟件。
相比前臺(tái)畫(huà)面,后臺(tái)軟件的功能就要復(fù)雜許多,因?yàn)楣I(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)對(duì)生產(chǎn)過(guò)程進(jìn)行控制的實(shí)現(xiàn)需要的基礎(chǔ)是非常多的,比如它要求后臺(tái)軟件具有實(shí)時(shí)數(shù)據(jù)采集、跟蹤、模型計(jì)算等。為此,后臺(tái)軟件的設(shè)計(jì)應(yīng)該進(jìn)一步細(xì)分為多個(gè)模塊,這些模塊主要包括MES數(shù)據(jù)通訊、基礎(chǔ)自動(dòng)化數(shù)據(jù)通訊等。不同的模塊分別讓不同的功能得以實(shí)現(xiàn),最后通過(guò)各個(gè)模塊之間的配合來(lái)實(shí)現(xiàn)整個(gè)控制系統(tǒng)的功能。并且這種模塊化的設(shè)計(jì)還有一個(gè)明顯的優(yōu)點(diǎn),那就是當(dāng)系統(tǒng)軟件需要進(jìn)行維護(hù)調(diào)整時(shí),只需要對(duì)其中需要調(diào)整的模塊進(jìn)行調(diào)整即可,而不用對(duì)整個(gè)系統(tǒng)軟件進(jìn)行修改,這樣就大大減少后期維護(hù)調(diào)整的工作量。與此同時(shí),通過(guò)多個(gè)功能模塊在多任務(wù)的系統(tǒng)平臺(tái)上運(yùn)行,也能大大增加了控制系統(tǒng)對(duì)指令的響應(yīng)速度。而正是因?yàn)檫@種多模塊的設(shè)計(jì)方式需要確保各模塊之間相互協(xié)調(diào)地工作,所以應(yīng)用了異步信息處理的MSMQ消息驅(qū)動(dòng)機(jī)制,以此來(lái)保證整個(gè)系統(tǒng)軟件在運(yùn)行過(guò)程中的完整性。
在后臺(tái)軟件里,模型計(jì)算往往需要對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行大量調(diào)用,并通過(guò)高頻率的計(jì)算來(lái)對(duì)控制對(duì)象的生產(chǎn)情況進(jìn)行實(shí)時(shí)反映。當(dāng)模型軟件對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)頻率較高時(shí),系統(tǒng)的實(shí)時(shí)性就會(huì)有明顯地降低,并且由于檢索數(shù)據(jù)量的龐大,內(nèi)存和CPU資源也會(huì)被大大耗費(fèi),如果不能有效進(jìn)行解決,甚至有可能因此造成整個(gè)系統(tǒng)的崩潰。為此,這里運(yùn)用了.NET REMOTING 技術(shù),通過(guò)該技術(shù)的運(yùn)用來(lái)開(kāi)發(fā)內(nèi)存數(shù)據(jù)實(shí)時(shí)共享平臺(tái)軟件,能夠很大程度上提高控制系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。在這個(gè)內(nèi)存數(shù)據(jù)實(shí)時(shí)共享平臺(tái)軟件中,數(shù)學(xué)模型模塊以及數(shù)據(jù)采集跟蹤模塊的數(shù)據(jù)交流都在這里進(jìn)行,而不用單獨(dú)訪問(wèn)磁盤(pán)數(shù)據(jù)庫(kù)。所以通過(guò)這樣的方式,能夠有效減少對(duì)系統(tǒng)資源的占用,確保了控制系統(tǒng)軟件的平均內(nèi)存占用率在50%以下,從而讓各模塊都能穩(wěn)定可靠地運(yùn)行。
3 軟件架構(gòu)的工程應(yīng)用
這種工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu)目前已經(jīng)被廣泛運(yùn)用到實(shí)際的工業(yè)生產(chǎn)過(guò)程中,以下是該系統(tǒng)軟件架構(gòu)在工業(yè)生產(chǎn)實(shí)踐中的兩個(gè)運(yùn)用案例。
3.1 案例1
圖3-1所示為某加熱爐的過(guò)程控制計(jì)算機(jī)系統(tǒng)軟件架構(gòu),該軟件架構(gòu)目前已經(jīng)被廣泛運(yùn)用到許多加熱爐工程實(shí)踐當(dāng)中,其表現(xiàn)出的功能性能十分優(yōu)異,運(yùn)行穩(wěn)定可靠,使用效果良好。
3.2 案例2
圖3-2所示為某原料場(chǎng)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu),這一軟件架構(gòu)在工程實(shí)際中的運(yùn)用同樣十分廣泛,效果良好。
4 結(jié)語(yǔ)
通過(guò)模塊化、分層式設(shè)計(jì)出的工業(yè)過(guò)程控制計(jì)算機(jī)系統(tǒng)的軟件架構(gòu),在運(yùn)行過(guò)程中更加穩(wěn)定可靠,且對(duì)CPU和內(nèi)存資源的占用較小。在實(shí)時(shí)性、可維護(hù)性以及拓展性等方面的表現(xiàn)同樣十分優(yōu)異。在軟件的后期維護(hù)方面,由于采用了模塊化的設(shè)計(jì)方式,所以無(wú)需對(duì)整個(gè)軟件進(jìn)行修改,只需要有針對(duì)性地對(duì)某一模塊進(jìn)行修改即可。所以,這是一種維護(hù)成本較低并且開(kāi)放性較高的軟件架構(gòu)。
參考文獻(xiàn)
[1](美)Jeffrey Richter著,李建忠譯..NET 框架程序設(shè)計(jì)(修訂版).[M].北京:清華大學(xué)出版社,2010.
[2](美)內(nèi)格爾等編著,李敏波譯.C#高級(jí)編程(第4版).[M].北京:清華大學(xué)出版社,2012.
作者單位
江西現(xiàn)代職業(yè)技術(shù)學(xué)院 江西省南昌市 330095endprint