引言

    以太網(wǎng)作為一項比較成熟的技術正向自動化領域逐步滲透,從企業(yè)決策層、生產(chǎn)管理調度層向現(xiàn)場控制層延伸。

    以太網(wǎng)由于采取沖突競爭的傳輸方式,具有傳輸不確定性的特點。但隨著帶寬的增加、冗余措施的加強和自診斷程序的完善,以太網(wǎng)完全可以滿足中小型控制系統(tǒng)實時性的要求。同時以太網(wǎng)具有相關網(wǎng)絡產(chǎn)品價格低廉,">

国产精品久久人妻互换毛片,国产av国片偷人妻麻豆,国产精品第12页,国产高清自产拍av在线,潮喷大喷水系列无码久久精品

技術頻道

OPC技術及其在工業(yè)以太網(wǎng)

引言

以太網(wǎng)作為一項比較成熟的技術正向自動化領域逐步滲透,從企業(yè)決策層、生產(chǎn)管理調度層向現(xiàn)場控制層延伸。

以太網(wǎng)由于采取沖突競爭的傳輸方式,具有傳輸不確定性的特點。但隨著帶寬的增加、冗余措施的加強和自診斷程序的完善,以太網(wǎng)完全可以滿足中小型控制系統(tǒng)實時性的要求。同時以太網(wǎng)具有相關網(wǎng)絡產(chǎn)品價格低廉,開放性好、技術成熟等優(yōu)點。目前,Profibus、Devicenet、Controlnet和Lonworks等都使用以太網(wǎng)傳送它們的報文,制定現(xiàn)場裝置與以太網(wǎng)通信的標準,使以太網(wǎng)進入工業(yè)自動化的現(xiàn)場級。當現(xiàn)場智能設備將現(xiàn)場信息通過工業(yè)以太網(wǎng)傳至監(jiān)控計算機后,存在著信息共享與交互的問題。一方面,監(jiān)控計算機內部應用程序需要對現(xiàn)場信息進行處理,另一方面,企業(yè)生產(chǎn)管理層需要與監(jiān)控計算機進行信息溝通和傳遞。OPC的出現(xiàn)則解決了控制系統(tǒng)突破“信息孤島”的瓶頸問題。

1OPC(OLE for Process Control)技術規(guī)范與意義

OPC技術是以Microsoft的OLE/COM技術為基礎建立的一項技術規(guī)范與標準,它采用客戶/服務器(Client/Server)模型,定義了一組COM對象及其雙接口(Dual Interface)。

OPC對象主要包括服務器(Server)、組(Group)和項(Item)。OPC服務器對象除了維護自身信息外,還作為組對象的容器,可動態(tài)地創(chuàng)建或釋放組對象;而組對象相對于項而言也是一個包容器,它提供一套管理項的機制;OPC項則表示了與OPC服務器中數(shù)據(jù)的連接,包括值(Value)、品質(Quality)、時間戳(Time Stamp)3個基本屬性。

OPC對象雙接口由OPC自動化接口(Automation Interface)和定制接口(Custom Interface)組成。在C/S工作模式下,客戶程序通過接口與OPC服務器連接,調用OPC對象的方法。一般來說自動化接口能為高級語言客戶程序提供極大的便利,但數(shù)據(jù)傳輸效率較低,而定制接口則為用C/C++語言編寫的客戶程序帶來靈活高效的調用手段。

OPC技術建立了一組符合工業(yè)控制要求的接口規(guī)范,將現(xiàn)場信號按照統(tǒng)一的標準與SCADA、HMI等軟件無縫連接起來,同時將硬件和應用軟件有效地分離開。只要硬件開發(fā)商提供帶有OPC接口的服務器,任何支持OPC接口的客戶程序均可采用統(tǒng)一的方式存取這些設備,無須重復開發(fā)驅動程序。這樣大大提高了控制系統(tǒng)的互操作性和適應性。

2OPC數(shù)據(jù)存取服務器在以太網(wǎng)控制系統(tǒng)的層次結構

圖1示意了以太網(wǎng)控制系統(tǒng)的總體層次結構。在現(xiàn)場控制層,以PC104嵌入式系統(tǒng)作為現(xiàn)場智能節(jié)點,其外接模擬量輸入輸出、開關信號輸入輸出等I/O卡,主要作用是執(zhí)行各種控制功能及進行數(shù)據(jù)采集,進行狀態(tài)監(jiān)測和報警,并將采集的數(shù)據(jù)上傳;監(jiān)控計算機則采用PC機,裝有兩塊網(wǎng)卡,利用其中一塊與下位機PC104通信,而通過另一塊網(wǎng)卡與生產(chǎn)管理調度層的其他計算機組成局域網(wǎng)。監(jiān)控計算機中運行OPC數(shù)據(jù)存取服務器程序,將現(xiàn)場智能節(jié)點傳上來的數(shù)據(jù)通過OPC接口送到監(jiān)控軟件進行監(jiān)控,并利用組態(tài)軟件進行復雜的組態(tài)工作,將組態(tài)信息下載到PC104上,調整其控制算法和參數(shù)。而其他管理調度層的計算機OPC客戶程序則通過DCOM的方式訪問OPC服務器程序,進行信息交互。

由此可見,OPC服務器在以太網(wǎng)控制系統(tǒng)中將企業(yè)現(xiàn)場控制層與生產(chǎn)管理調度層有機地連接起來,組成一個開放性好、可靠性高的分布式控制系統(tǒng),發(fā)揮了重要的橋梁作用。

3OPC數(shù)據(jù)存取服務器的設計與實現(xiàn)

OPC數(shù)據(jù)存取服務器可按圖2的系統(tǒng)結構設計。它主要由服務器對象、組對象、項對象、數(shù)據(jù)存儲區(qū)和TCP/IP通信接口組成。

由于OPC數(shù)據(jù)存取服務器既要通過網(wǎng)卡與現(xiàn)場設備進行通信,又要通過OPC接口與客戶程序進行交互,所以采用多線程模型以保證數(shù)據(jù)存取的效率。為避免不同線程同時對數(shù)據(jù)區(qū)中的數(shù)據(jù)進行操作,還需要考慮對臨界區(qū)的互斥控制。

OPC技術是以微軟的COM技術為基礎,同時需要直接與底層硬件打交道,所以采用VC實現(xiàn)比較靈活方便。OPC數(shù)據(jù)存取服務器主要分為OPC通用接口、硬件接口以及數(shù)據(jù)存儲區(qū)的實現(xiàn),在本系統(tǒng)中硬件接口的實現(xiàn)主要是實現(xiàn)以太網(wǎng)通信接口。

3.1 OPC通用接口的實現(xiàn)

首先定義OPC數(shù)據(jù)存取服務器的名稱(ProgID)和類標識(CLSID),實現(xiàn)OPC數(shù)據(jù)存取服務器類廠對象。然后由OPC規(guī)范中定義的OPCServer類、OPCGroup類和OPCItem類,分別派生出裝置Device、板卡Board、通道Channel3個新類。

OPC規(guī)范中定義的接口可分為可選接口和必選接口,但對任何OPC服務器而言,應實現(xiàn)必選接口的成員函數(shù)。因此在派生類中重載其父類中必選接口成員函數(shù),并根據(jù)實際情況重載可選接口成員函數(shù),例如IOPCBrowseServerAddressSpace接口等。

為了滿足實際要求,還需要定義各個派生類的特殊屬性和方法并實現(xiàn)其方法。例如,在裝置類中增加IP地址屬性,用以標識現(xiàn)場PC104智能節(jié)點。另外增加搜索函數(shù),自動列出已連入現(xiàn)場控制層的PC104智能節(jié)點的IP地址。

3.2 以太網(wǎng)通信接口的實現(xiàn)

通信接口的設計是OPC數(shù)據(jù)存取服務器應用于工業(yè)以太網(wǎng)控制系統(tǒng)的關鍵。由于控制系統(tǒng)不同于普通局域網(wǎng),所以通信的可靠性和實時性是必須考慮的重要因素。

(1)可靠性考慮 由于以太網(wǎng)支持TCP/IP協(xié)議,因此可利用socket套接字開發(fā)通信程序,這將大大降低開發(fā)難度。在利用socket編程時,主要用到的有流式套接字(SOCK_STREAM)和數(shù)據(jù)報套接字(SOCK_DGRAM)兩種,其對應的通信方式也有兩種,一種是面向連接的,采用TCP協(xié)議;一種是非面向連接的,采用UDP協(xié)議。當采用UDP協(xié)議時,它提供不可靠的無連接數(shù)據(jù)報傳輸服務,不提供報文到達確認、排序以及流量控制等功能,因此報文可能會丟失、重復以及亂序等。TCP則是建立在連接的抽象概念上的,它標識的是一個虛電路連接,需要兩個端點都同意連接才能通信;它將數(shù)據(jù)流看作字節(jié)的序列,為了便于傳輸又將這個序列劃分為若干段,在傳輸過程中,具有確認重傳功能;此外TCP使用專門的滑動窗口機制來解決傳輸效率和流量控制等問題。為保證可靠性在本系統(tǒng)中采用TCP通信協(xié)議。

(2)實時性考慮以太網(wǎng)采用的是一種隨機訪問協(xié)議——帶沖突檢測的載波偵聽多路訪問(CSMA/CD)介質訪問控制協(xié)議,這種數(shù)據(jù)傳輸協(xié)議雖比較簡單,但它由沖突引起的數(shù)據(jù)傳輸時間的隨機性,成了阻礙以太網(wǎng)進入工業(yè)控制領域的根源。在目前應用于工業(yè)控制領域的以太網(wǎng)中,通過限制連接在以太網(wǎng)上的結點數(shù)目、控制網(wǎng)絡流量、使總線保持輕載工作條件,可以滿足控制的實時性要求。

TCP/IP通信方式采用的是客戶端/服務器模式,服務器程序被動地等待通信,而客戶程序則主動地啟動通信。在本系統(tǒng)中,由于下位機PC104采用DOS系統(tǒng),處于單線程方式,不但要負責通信,而且還要執(zhí)行特定的控制功能,所以將PC104作為通信客戶方;而監(jiān)控計算機采用支持多線程方式Windows NT/2000系統(tǒng),可作為通信服務器方。因此在OPC數(shù)據(jù)存取服務器中專門創(chuàng)建一個線程用于監(jiān)聽是否有客戶程序請求連接。如果有請求,則另創(chuàng)建一個線程來處理此次通信,將收到的數(shù)據(jù)存放到專為OPC服務器開辟的數(shù)據(jù)存儲區(qū),通信結束后關閉此通信線程,監(jiān)聽線程則一直運行。這樣可保證數(shù)據(jù)傳輸?shù)膶崟r性。

3.3 數(shù)據(jù)存儲區(qū)的實現(xiàn)

數(shù)據(jù)存儲區(qū)是OPC服務器程序中的重要組成部分,其中包含了由服務器程序方定義的數(shù)據(jù)項。OPC客戶程序通過OPC通用接口來訪問存儲區(qū)數(shù)據(jù),硬件驅動部分也不斷地將最新的現(xiàn)場數(shù)據(jù)寫入到數(shù)據(jù)區(qū)。如果服務器程序實現(xiàn)了IOPCBrowseServerAddressSpace可選接口,那么客戶程序可通過該接口瀏覽到數(shù)據(jù)存儲區(qū)中數(shù)據(jù)項的名稱。

在實際的設計過程中模仿OPC規(guī)范中組織數(shù)據(jù)的方法來組織數(shù)據(jù)存儲區(qū),通過設計對應的CGlobalServer、CGlobalGroup、CGlobalItem 3個數(shù)據(jù)項類來管理數(shù)據(jù)存儲區(qū)。其中CGlobalServer包容了CGlobalGroup類對象的實例并定義了一些成員函數(shù)對CGlobalGroup類對象的具體數(shù)據(jù)進行操作,而CGlobalGroup類包容了CGlobalItem類對象的實例并定義了一些成員函數(shù)來對CGlobalItem類對象的具體數(shù)據(jù)進行操作,CGlobalItem數(shù)據(jù)項類包括了數(shù)值(Value)、品質(Quality)、時間戳(Time Stamp)3個基本屬性,另外還有數(shù)據(jù)項名稱、工程量單位等屬性。由于數(shù)據(jù)項總是和具體的硬件相關,因此需要添加與設備有關的屬性以及相關函數(shù)來設置和獲取這些屬性。

4OPC 數(shù)據(jù)交換服務器在以太網(wǎng)控制系統(tǒng)中的應用

為了更好的解決信息交互問題,OPC基金會于2003年3月發(fā)布了OPC數(shù)據(jù)交換(Data eXchange)的1.0規(guī)范。它其實是一個OPC以太網(wǎng)數(shù)據(jù)交換標準,是對數(shù)據(jù)存取規(guī)范(DA)的擴展,與數(shù)據(jù)存取規(guī)范的最大不同在于數(shù)據(jù)存取規(guī)范解決的是現(xiàn)場信息在控制網(wǎng)絡中縱向傳輸問題,而數(shù)據(jù)交換規(guī)范(DX)解決的是現(xiàn)場信息在控制網(wǎng)絡中的橫向傳輸問題。該規(guī)范提出一個標準的組態(tài)接口架構,使得任何控制網(wǎng)絡上的OPC數(shù)據(jù)存取服務器之間只要支持該接口就能通信。同時它還支持遠程的組態(tài)、診斷、監(jiān)控、管理,目標是Plug & Play(即插即用)。圖3顯示了OPC數(shù)據(jù)交換技術實現(xiàn)數(shù)據(jù)存取服務器間信息交互的結構,這時候就不再需要雙口/多口的客戶端來支持OPC數(shù)據(jù)存取服務器之間的通信。

5結束語

本文中設計的OPC數(shù)據(jù)存取服務器已在以太網(wǎng)控制系統(tǒng)中運行良好,整個控制系統(tǒng)也已通過測試和考核,證明能夠滿足一般工業(yè)控制領域對傳輸時延的要求,其可操作性、開放性、可靠性也較高,完全適用于中小型控制領域。隨著以太網(wǎng)技術的發(fā)展,相信它能逐步勝任那些目前由工業(yè)自動化網(wǎng)絡承擔的控制任務。將OPC技術引入工業(yè)以太網(wǎng)控制系統(tǒng)能有效地促進以太網(wǎng)控制系統(tǒng)的發(fā)展以及企業(yè)現(xiàn)場控制層和生產(chǎn)過程管理層、調度決策層的集成。

文章版權歸西部工控xbgk所有,未經(jīng)許可不得轉載。