當前位置:機電之家首頁 >> 電工園地>> 標準規(guī)程 >> 技術標準 >> corba技術在工業(yè)控制中的應用
corba技術在工業(yè)控制中的應用

group)制定的對象互操作規(guī)范,其目的在于降低開發(fā)分布式軟件的復雜度和消耗。corba是目前國際上分布式軟件組件對象標準中最著名的一種,在工業(yè)中有著很廣泛的應用,其應用領域包括化工、通訊、制造業(yè)、服務業(yè)等。應用corba技術可以簡便、高效的開發(fā)出可靠的分布式應用程序,這正迎合了當今工業(yè)控制網(wǎng)絡集成的發(fā)展方向,因此corba在工業(yè)控制中也日漸顯示了它的優(yōu)勢,可以預測將來corba在工業(yè)控制領域必將有著更加廣泛的應用。工業(yè)控制中集中式管理分散式控制是當今工業(yè)控制領域的發(fā)展方向,在開發(fā)集散控制系統(tǒng)中引入corbacorba定義了開發(fā)面向對象的分布式應用程序的一種規(guī)范,其目的是能夠使不同語言編寫的。運行在不同操作系統(tǒng)上的程序能夠進行互操作,簡言之,也就是corba作為一種軟總線“可以使不同程序進行通訊。corba的這些特點,提供了一種新的異構系統(tǒng)的集成方法,只要將不同系統(tǒng)的應用模塊做成軟插件,插入軟件總線就可以執(zhí)行,很好地實現(xiàn)控制系統(tǒng)的集成。corba的這種語言無關性和平臺無關性的特點,可以使得開發(fā)者只是著重于系統(tǒng)的開發(fā),而不必關心程序具體通信的實現(xiàn)和程序運行的環(huán)境,從而可以大大減少工作量,這也是corba能獲得廣泛應用的原因。

corba結合了計算工業(yè)的兩個重要技術:面向對象和軟件開發(fā)和客戶機/服務器計算。但corba并不只是面向對象的遠程過程調(diào)用機制,omg的對象管理體系結構是一個定義了不同抽象層次的框架,其核心是orbobectrequestbroker,對象請求代理)。orb提供了網(wǎng)絡編程復雜性的抽象,它相當于提供了應用程序間通信的一個通道,通過它客戶程序可以連接到它想使用的服務器程序。在這個過程中,客戶程序并不需知道與它通信的程序所在的位置,是在同一臺機器,還是在網(wǎng)絡上的另一臺機器。客戶程序只需要知道對象的名字,并了解如何使用接口,orb負責查找對象,請求對象路由選擇及返回結果。corba體系如圖i所示:我們不再對corba的各個部分作解釋,不過要注意的是:所有的程序都可以充當server和client兩種角色。如果它是請求的發(fā)起者,那么它是client,如果它是請求的接收者那么它是server.充分利用corba的優(yōu)點,我們在開發(fā)工業(yè)控制系統(tǒng)時可以方便地實現(xiàn)分散控制。讓各個控制站的監(jiān)控程序通過orb這種軟總線“進行通信。

corba體系結構基于corba的分散式控制系統(tǒng)的組成如下:definitionlanguage)來定義接口。idl并不是一種編程語言,它只是用來對接口進行描述的規(guī)格說明語目,可以映射為多種程序設計語言如c++.ava等。idl具有語言無關性。對idl編譯后分別生成客戶所需要的客戶9tub)和服務器程序所需要的框架=)服務器程序服務器程序包括corba對象的具體實現(xiàn)還有和組態(tài)軟件進行通訊的部分。其中,corba對象的實現(xiàn)用來和客戶程序進行通信,接受客戶程序的控制命令和提供客戶程序所需要的設備的狀態(tài)信息,而和組態(tài)軟件進行通訊的部分則是根據(jù)客戶的具體要求與組態(tài)軟件進行通訊,具體實現(xiàn)客戶程序對組態(tài)軟件的通信,進而實現(xiàn)客戶程序對整個控制系統(tǒng)的控制。

>)客戶程序它是用戶用來實現(xiàn)操作的程序,主要包括用戶界面和客戶程序對服務器程序的調(diào)用。用戶界面包括控制系統(tǒng)信息顯示和用戶實現(xiàn)控制的部分。在具體實現(xiàn)時,不論是系統(tǒng)的狀態(tài)信息的獲得,還是用戶控制的實現(xiàn)都是通過調(diào)用服務器程序來實現(xiàn)。如果對控制系統(tǒng)實現(xiàn)擴展,如增加控制點,每個控制點只需要安裝此客戶程序即可,不必改變整個控制系統(tǒng)的結構,服務器程序也不需要作任何改變。

2基于corba的工業(yè)控制系統(tǒng)目前corba在工業(yè)中的應用主要是用來實現(xiàn)異構系統(tǒng)的集成。我們可以用它來實現(xiàn)更高層次的分散式控制,如通過網(wǎng)絡實現(xiàn)的遠程控制?;赾orba的分布式程序可以實現(xiàn)工業(yè)控制中的分散式控制,因為在工業(yè)中控制通常是分散的,并且各個程序之間需要交換信息和數(shù)據(jù)。我們開發(fā)一家水廠的全廠自動化控制系統(tǒng)時就在多處地方應用了corba技術。該水廠有4個分散控制站:一泵房、二泵房、加帆間、中控室。每個控制點都可以對全廠進行控制,每個控制點也都連入企業(yè)局域網(wǎng)。在現(xiàn)場控制層網(wǎng)絡中我們采用的是現(xiàn)場總線控制系統(tǒng),現(xiàn)場總線是開放式的系統(tǒng)有著良好的靈活性和互操作性??墒乾F(xiàn)場總線的費用也比較高,每個控制點為了連入現(xiàn)場總線必須有一個專用的比較昂貴的接入網(wǎng)卡,每個控制站上還必須有響應的組態(tài)軟件來實現(xiàn)控制。我們在應用中還發(fā)現(xiàn)一個問題:某個控制站的故障常常會影響到連入現(xiàn)場總線的其他的控制點。

在應用corba技術的基礎上,我們改變了控制系統(tǒng)的體系結構。我們只在其中的兩個控制站,中控室和二泵房,安裝了用組態(tài)軟件開發(fā)的監(jiān)控程序并直接連接到現(xiàn)場總線。在這兩個控制站,還運行了我們開發(fā)的基于corba的分布式監(jiān)控程序的服務器程序和corba的命名服務程序??刂普旧系姆掌鞒绦蚝陀媒M態(tài)軟件開發(fā)的監(jiān)控程序進行通信來實現(xiàn)全廠的控制。而其他的控制站通過基于corba的客戶程序與服務器程序通信來實現(xiàn)對整個工廠設備的控制。整個控制結構如所示:對的一點說明:中控室,二泵房可以通過用組態(tài)軟件開發(fā)的監(jiān)控程序直接實現(xiàn)監(jiān)控,并且還運行corba的命名服務器程序smartagent我們的開發(fā)工具為c+ 5),還有corba對象的實現(xiàn)程序也就是服務器程序。加礬間和一泵房只有基于corba的分布式程序的客戶程序,他們和服務器通信,通過服務器程序來實現(xiàn)控制。其中在中控室和二泵房中,服務器程序和用組態(tài)軟件開發(fā)的監(jiān)控程序是通過ole機制進行通信的。

系統(tǒng)中客戶程序對服務器的調(diào)用是透明的,也就是客戶程序不必關心和哪一臺機器上的服務器程序進行通信,它只要知道corba對象的名字就可以了。corba命名服務程序可以自動定位服務器。

在實際中其實只要有一個控制站運行基于corba的分散式控制的服務器程序就可以實現(xiàn)上述控制功能,不過為了整個控制系統(tǒng)的可靠性,我們在兩個操作站運行服務器程序。這樣當某一控制站出現(xiàn)故障時,還可以通過另一個控制站來通信,不至于影響整個控制系統(tǒng)。其中的命名服務器程序'martagent)是一個動態(tài)的。分布式的目錄服務,它定位對象的實現(xiàn)。它支持服務器之間的負載平衡,也提供服務器的失效保護,如果某處的連接失敗,它會自動重新定位到另外一臺計算機上的服務器。所以整個控制系統(tǒng)的可靠性很高。一般的控制系統(tǒng)只要有兩個控制站運行服務器程序就可以了,如果是比較大的控制系統(tǒng),也可以在多個控制站運行服務器程序。

其中基于corba的分散式控制程序的接口部分定義了客戶程序和服務器程序的通信交互。由idl描述的接口部分包括客戶程序向服務器程序發(fā)送的控制命令和客戶程序從服務器程序讀取的現(xiàn)場中各個設備的狀態(tài)信息,接口文件大致如下:modulecontrollnterfaceinterfacesetlnfo setvalue是實現(xiàn)控制的部分,它把控制某個設備的標簽varname賦值為varvalue,服務器程序在實現(xiàn)時和組態(tài)軟件進行通信,通過組態(tài)軟件中代表設備的標簽值的改變來進行設備的控制。getvalue是讀取車間中設備的狀態(tài)信息,其實現(xiàn)原理和控制部分相似。我們在客戶程序中還要把得到的設備狀態(tài)在用戶界面中顯示出來。

這種結構的控制系統(tǒng)有以下幾點優(yōu)點:c)節(jié)約資金。其中一泵房和加礬間不需要昂貴的專用連接到現(xiàn)場總線的卡,也不需要價格不菲的組態(tài)軟件。我們的有4個控制站的控制系統(tǒng)可以節(jié)約資金十幾萬,如果是較大的控制系統(tǒng)則會更加經(jīng)濟。

e)可靠性強。如此結構不需要每個控制點都連接到現(xiàn)場總線,不會因為某一控制站的故障而影響全部的控制系統(tǒng)。

f)可擴展性強。如果還要再增加新的控制點,則只需要在控制點上運行基于corba的分布式程序的客戶部分就可。整個控制系統(tǒng)的結構不變,也不需要對服務器進行任何改變。這樣的結構,幾乎可以無限擴展,也可以用這種結構來實現(xiàn)通過internet網(wǎng)而進行的遠程網(wǎng)上控制系統(tǒng)的實現(xiàn)。不論有多少個控制點一般來說只要有兩個控制點運行基于cor-ba的分布式程序的服務器部分,也只有這兩部分才需要運行命名服務程序。所以擴展代價很小。

4)排錯性強。只有兩點連接到現(xiàn)場總線中,如果出現(xiàn)故障時,排錯很容易。大大降低了控制系統(tǒng)的維護難度??刂葡到y(tǒng)中一般只有兩個控制點真正連接到現(xiàn)場縱線上,所以故障的發(fā)生率也會大大降低,這對于一個比較大的控制系統(tǒng)來說,是很有意義的。

3結束語corba可以快速地開發(fā)分布式程序,我們可以應用corba來實現(xiàn)集散式控制系統(tǒng)。通過我們上文的分析,可以看到基于corba的集散式控制系統(tǒng)有著傳統(tǒng)的方法開發(fā)的系統(tǒng)所不具備的很多優(yōu)點。corba在今后必將更加廣泛地應用于工業(yè)中的各個領域,也會大大推動工業(yè)控制技術的發(fā)展。在實際中我們還遇到以前的控制系統(tǒng)和現(xiàn)有系統(tǒng)集成的問題。怎樣利用corba技術實現(xiàn)舊的控制系統(tǒng)和新系統(tǒng)的集成將是我們今后研究的一個方向。

作者:未知 點擊:364次 [打印] [關閉] [返回頂部]
本文標簽:corba技術在工業(yè)控制中的應用
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《corba技術在工業(yè)控制中的應用》相關權利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

張揚瓊 【求購】  ABB火檢...  2025-11-27
張雪根 【求購】  固體除垢劑  2025-11-26
趙經(jīng)理 【求購】  變壓器  2025-11-26
羅經(jīng)理 【求購】  巡邏車跟蹤...  2025-11-26
趙經(jīng)理 【求購】  柴油發(fā)電機  2025-11-26
沈雙 【求購】  柴油過濾紙  2025-11-26
陳經(jīng)理 【求購】  濰柴船用發(fā)...  2025-11-26
 【求購】  移動電源  2025-11-25
VIP公司推薦