• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    最新廣告
    關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
    工業(yè)智能邊緣計(jì)算2025年會
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    OPC協(xié)議及其在實(shí)時(shí)數(shù)據(jù)庫開發(fā)中的應(yīng)用
    • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表    
    • 點(diǎn)擊數(shù):4344     發(fā)布時(shí)間:2005-12-21 09:41:10
    • 分享到:
    介紹了OPC協(xié)議及其在實(shí)時(shí)數(shù)據(jù)庫開發(fā)中的應(yīng)用。



    1  概述

        OPC協(xié)議是由OPC基金會制定的一個(gè)工業(yè)標(biāo)準(zhǔn),它規(guī)范了過程控制和自動(dòng)化軟件與工業(yè)現(xiàn)場設(shè)備之間的接口。OPC是Object Linking and Embedding(OLE)for Process Control的縮寫,它是微軟公司的對象鏈接和嵌入技術(shù)在過程控制方面的應(yīng)用。

        OPC以O(shè)LE/COM/DCOM技術(shù)為基礎(chǔ),COM 就是Component Object Model,也就是組件對象模型。DCOM中的D 是distributed(分布式)的意思,一般用于網(wǎng)絡(luò)。DCOM(分布式組件對象模型)是COM技術(shù)的擴(kuò)展。DCOM 通過處理網(wǎng)絡(luò)協(xié)議的下層細(xì)節(jié)來支持網(wǎng)絡(luò)中不同計(jì)算機(jī)上的對象間的通訊。這樣可以啟用由多個(gè)協(xié)同完成同一任務(wù)的進(jìn)程組成的分布式程序。COM Internet 服務(wù) (CIS) 最初是在 Windows NT 4.0 Service Pack 4 中發(fā)布的,它提供的附加支持,使得由于服務(wù)器端或客戶網(wǎng)絡(luò)上的代理服務(wù)器設(shè)置了防火墻而令其他協(xié)議無法使用時(shí),DCOM 仍然能夠通過Internet(使用 HTTP)使用。因此以O(shè)LE/DCOM為基礎(chǔ)的OPC,可以使OPC客戶通過利用DCOM連接到網(wǎng)絡(luò)。

        OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,提供給用戶用于過程控制和工業(yè)自動(dòng)化應(yīng)用。Microsoft的OLE/COM技術(shù)定義了各種不同的軟件部件如何交互使用和分享數(shù)據(jù),從而使得OPC能夠提供通用的接口用于各種過程控制設(shè)備之間的通訊,不論過程中采用什么軟件和設(shè)備。復(fù)雜數(shù)據(jù)規(guī)范OPC技術(shù)的實(shí)現(xiàn)由兩部分組成:OPC服務(wù)器和OPC客戶應(yīng)用部分。OPC服務(wù)器完成的工作就是收集現(xiàn)場設(shè)備的數(shù)據(jù)信息,然后通過標(biāo)準(zhǔn)的OPC接口傳送給OPC客戶端應(yīng)用。OPC客戶端則通過標(biāo)準(zhǔn)的OPC接口接收數(shù)據(jù)信息。在具體的實(shí)現(xiàn)
    過程中,用戶可以根據(jù)自己的需要挑選相應(yīng)的規(guī)范來使用。

    2  OPC協(xié)議

        OPC協(xié)議中包括了數(shù)據(jù)訪問規(guī)范、報(bào)警和事件規(guī)范、歷史數(shù)據(jù)存取規(guī)范、批量過程規(guī)范、OPC安全性規(guī)范、數(shù)據(jù)訪問標(biāo)準(zhǔn)的測試工具、過程數(shù)據(jù)的XML規(guī)范、數(shù)據(jù)交換規(guī)范、命令規(guī)范、公共I/O規(guī)范、合成數(shù)據(jù)規(guī)范。

    采用OPC協(xié)議設(shè)計(jì)系統(tǒng)有諸多好處:

        (1)  既有利于硬件制造商,也有利于軟件開發(fā)商。因?yàn)椴捎脴?biāo)準(zhǔn)的Windows體系接口,硬件制造商為其設(shè)備提供的接口程序的數(shù)量減少到一個(gè),軟件開發(fā)商也僅需要開發(fā)一套通訊接口程序;

        (2)  可以將各個(gè)子系統(tǒng)從物理上分開,分布于網(wǎng)絡(luò)的不同節(jié)點(diǎn)上。因?yàn)镺PC規(guī)范以O(shè)LE/COM/DCOM為技術(shù)基礎(chǔ),而OLE/DCOM支持TCP/IP等網(wǎng)絡(luò)協(xié)議;

        (3)  可以使用戶完全從底層的開發(fā)中脫離出來。因?yàn)镺PC按照面向?qū)ο蟮脑瓌t,將一個(gè)應(yīng)用程序(OPC服務(wù)器)作為一個(gè)對象封裝起來,只將接口方法暴露在外面,客戶以統(tǒng)一的方式去調(diào)用這個(gè)方法,從而保證軟件對客戶的透明性;

        (4)  可以使系統(tǒng)的應(yīng)用范圍更廣。因?yàn)镺PC實(shí)現(xiàn)了遠(yuǎn)程調(diào)用,使得應(yīng)用程序的分布與系統(tǒng)硬件的分布無關(guān),便于系統(tǒng)硬件配置,使得系統(tǒng)的應(yīng)用范圍更廣;

        (5)  提高了系統(tǒng)的可維護(hù)性。因?yàn)椴捎肙PC規(guī)范,便于系統(tǒng)的組態(tài),將系統(tǒng)復(fù)雜性大大簡化,可以大大縮短軟件開發(fā)周期,提高軟件運(yùn)行的可靠性和穩(wěn)定性,便于系統(tǒng)的升級與維護(hù);

        (6)  實(shí)現(xiàn)了系統(tǒng)的開放性。因?yàn)镺PC規(guī)范了接口函數(shù),不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而實(shí)現(xiàn)系統(tǒng)的開放性,易于實(shí)現(xiàn)與其它系統(tǒng)的接口。

    3  OPC應(yīng)用架構(gòu)

    Server/Client

        OPC協(xié)議采用客戶/服務(wù)器體系。協(xié)議中為OPC服務(wù)器規(guī)定了兩套接口:自定義接口(Custom Interface)與自動(dòng)化接口(Automation Interface),其中自動(dòng)化接口是可選的,它支持VBA的所有應(yīng)用程序,如VB、Excel等。而自定義接口是OPC服務(wù)器必提供的接口,它只能用C/C++來編寫客戶應(yīng)用程序。
    自動(dòng)化接口定義了以下三層接口,依次是包含關(guān)系:

    ?  OPC Server:OPC啟動(dòng)服務(wù)器獲得其他對象和服務(wù)的起始類,并用于返回OPC Group類對象。
    ?  OPC Group:存儲由若干OPC Item組成的Group信息,并用于返回OPC Item類對象。
    ?  OPC Item:存儲具體Item的定義、數(shù)據(jù)值、狀態(tài)值等信息。

        OPC Group(組)向客戶提供一種方法來組織數(shù)據(jù),例如在特別的操作符顯示或報(bào)告中Group可能代表Item(項(xiàng)),可以讀/寫數(shù)據(jù)。在客戶和Group中的Item也可以建立鏈接,而且可以根據(jù)需要來啟用和停止。OPC客戶可以配置OPC服務(wù)器應(yīng)該提供的向OPC客戶數(shù)據(jù)轉(zhuǎn)換的比例。Group有兩種類型:公共的和本地的(或私人的)。公共的通過多客戶來分享,本地的是對本地的一個(gè)客戶。對公共組有詳細(xì)的可選擇的接口。客戶的每一個(gè)組可以定義一個(gè)或多個(gè)項(xiàng)。一個(gè)OPC項(xiàng),從特定的自定義接口,作為OPC客戶的對象是不可存取的。因此不能有外部的接口被定義為OPC的項(xiàng)。所有存取OPC項(xiàng)是通過一個(gè)OPC組對象,它包含OPC項(xiàng),或簡單的OPC項(xiàng)在哪兒被定義。

        通常一個(gè)OPC Client(客戶)可以與多個(gè)服務(wù)器同時(shí)連接,同時(shí)一個(gè)OPC服務(wù)器也可以同時(shí)被多個(gè)的OPC應(yīng)用程序連接。因?yàn)椴捎昧藬?shù)據(jù)訂閱方式,多服務(wù)器連接與單服務(wù)器連接在本質(zhì)上并無太大的區(qū)別,需要處理的只是多服務(wù)器同時(shí)工作時(shí)項(xiàng)的加減和連接釋放問題。在進(jìn)行多OPC Server的連接時(shí),對每一個(gè)不同的Server都要連接一次,當(dāng)不要某個(gè)OPC Server時(shí),要釋放掉該Server,以免占用資源。一個(gè)OPC客戶可以預(yù)訂規(guī)定的事件的發(fā)生的被通報(bào),即協(xié)議中的報(bào)警和事件規(guī)范。OPCEventServer接口提供方法使OPC 客戶做到:(1) 決定OPC服務(wù)器支持的事件的類型;(2) 進(jìn)入對規(guī)定的事件的預(yù)訂,以便OPC客戶能收到他們發(fā)生的通知,過濾器可以被用來定義需要的事件的一個(gè)子集;(3) 存取并使用OPC服務(wù)器實(shí)現(xiàn)了的條件。

        OPC客戶和OPC服務(wù)器進(jìn)行數(shù)據(jù)交換可以有兩種不同的方式,即同步方式和異步方式。同步方式實(shí)現(xiàn)較為簡單,當(dāng)客戶數(shù)目較少而且同服務(wù)器交互的數(shù)據(jù)量也比較少的時(shí)候可以采用這種方式;異步方式實(shí)現(xiàn)較為復(fù)雜,需要在客戶程序中實(shí)現(xiàn)服務(wù)器回調(diào)函數(shù)。然而當(dāng)有大量客戶和大量數(shù)據(jù)交互時(shí),異步方式的效率更高,能夠避免客戶數(shù)據(jù)請求的阻塞,并可以最大限度地節(jié)省CPU和網(wǎng)絡(luò)資源。

        OPC服務(wù)器允許一個(gè)客戶應(yīng)用從許多OPC服務(wù)器存取數(shù)據(jù),這些服務(wù)器由許多不同的OPC賣方提供,它們通過一個(gè)單一的對象運(yùn)行在不同的代碼上。圖1為客戶/服務(wù)器接口圖。



    圖1  客戶/服務(wù)器接口圖



    4  OPC協(xié)議在RTDB中的應(yīng)用

        由于OPC協(xié)議的采用,使得可以以更簡單的系統(tǒng)結(jié)構(gòu)、更長的壽命、更低的價(jià)格解決工業(yè)控制中的問題,同時(shí)現(xiàn)場設(shè)備與系統(tǒng)的連接也更加簡單、靈活、方便,因此OPC技術(shù)在國內(nèi)工業(yè)控制領(lǐng)域得到了廣泛的應(yīng)用。現(xiàn)在,實(shí)時(shí)數(shù)據(jù)庫在工業(yè)控制領(lǐng)域有著廣闊的應(yīng)用空間,與傳統(tǒng)的DBMS不同,實(shí)時(shí)數(shù)據(jù)庫著重滿足事務(wù)的實(shí)時(shí)性需求,數(shù)據(jù)隨時(shí)間而變化,并且能夠及時(shí)處理以達(dá)到數(shù)據(jù)截止期的要求,還可以通過網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控。因此OPC協(xié)議在實(shí)時(shí)數(shù)據(jù)庫中的應(yīng)用是必要的。

    實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)中主要包括數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)庫管理、數(shù)據(jù)應(yīng)用四個(gè)子系統(tǒng)它們實(shí)現(xiàn)不同的功能:

    ?  數(shù)據(jù)采集子系統(tǒng):提供數(shù)據(jù)采集接口,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集功能,并提供與其他系統(tǒng)的數(shù)據(jù)采集接口。

    ?  數(shù)據(jù)存儲子系統(tǒng):完成數(shù)據(jù)存儲功能;實(shí)現(xiàn)數(shù)據(jù)的完整性機(jī)制、一致性機(jī)制;實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)存儲;實(shí)現(xiàn)數(shù)據(jù)的高速緩存機(jī)制,保證數(shù)據(jù)存儲過程的安全性和實(shí)時(shí)性;實(shí)現(xiàn)數(shù)據(jù)的索引和排序功能;實(shí)現(xiàn)數(shù)據(jù)的壓縮存儲機(jī)制。

    ?  數(shù)據(jù)管理子系統(tǒng):權(quán)限管理功能;數(shù)據(jù)維護(hù)功能;數(shù)據(jù)備份、恢復(fù)功能;數(shù)據(jù)存檔壓縮功能;系統(tǒng)配置功能;數(shù)據(jù)可視化;數(shù)據(jù)報(bào)表統(tǒng)計(jì)功能;數(shù)據(jù)的智能分析功能;系統(tǒng)性能監(jiān)視、分析工具;系統(tǒng)日志審計(jì)功能;系統(tǒng)使用幫助。

    ?  數(shù)據(jù)應(yīng)用子系統(tǒng):提供數(shù)據(jù)訪問的API,提供XML數(shù)據(jù)輸出、解析功能。
    相應(yīng)的OPC協(xié)議應(yīng)用于這四部分:

    ?  在數(shù)據(jù)采集中:實(shí)時(shí)數(shù)據(jù)庫中要求數(shù)據(jù)的實(shí)時(shí)性和靈活性,這些要求OPC協(xié)議都可以保證。因?yàn)楝F(xiàn)在眾多硬件廠商均提供有標(biāo)準(zhǔn)的OPC接口,它實(shí)現(xiàn)了應(yīng)用程序和工業(yè)控制設(shè)備之間高效、靈活的數(shù)據(jù)讀寫,可以編制符合標(biāo)準(zhǔn)OPC接口的客戶端應(yīng)用軟件完成數(shù)據(jù)的采集任務(wù)。而且借助Microsoft的DCOM技術(shù),OPC實(shí)現(xiàn)了高性能的遠(yuǎn)程數(shù)據(jù)訪問能力,從而使得工業(yè)控制軟件之間的數(shù)據(jù)交換更加方便,這樣可以實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。

    ?  在數(shù)據(jù)存儲中:實(shí)時(shí)數(shù)據(jù)庫中數(shù)據(jù)的存儲,不僅是實(shí)時(shí)數(shù)據(jù)的存儲,還有對歷史數(shù)據(jù)的存取,要保證實(shí)時(shí)性,歷史數(shù)據(jù)的存儲很重要。OPC協(xié)議既有數(shù)據(jù)訪問規(guī)范,又有歷史數(shù)據(jù)存取規(guī)范。OPC提供了讀取存儲在過程數(shù)據(jù)存檔文件、數(shù)據(jù)庫或遠(yuǎn)程終端設(shè)備中的歷史數(shù)據(jù)以及對其操作、編輯的方法。

    ?  在數(shù)據(jù)庫管理中:實(shí)時(shí)數(shù)據(jù)庫對現(xiàn)場的要求很高,對現(xiàn)場情況的處理要求迅速,這樣才能保證實(shí)時(shí)性。OPC協(xié)議提供了報(bào)警和事件規(guī)范,即OPC提供了當(dāng)OPC服務(wù)器發(fā)生異常時(shí),以及OPC服務(wù)器設(shè)定事件到來時(shí)向OPC客戶發(fā)送通知的一種機(jī)制,通過使用OPC協(xié)議,能夠更好的捕捉控制過程中的各種報(bào)警和事件并給予相應(yīng)的處理。在過程控制工業(yè)中一般使用實(shí)體作為報(bào)警和事件。在不正式的會話中,警報(bào)和事件的術(shù)語經(jīng)常可交替地被使用,而它們的含義是相同的。

    ?  在數(shù)據(jù)應(yīng)用中:OPC協(xié)議可使用數(shù)據(jù)冗余技術(shù)。控軟件開發(fā)中,冗余技術(shù)是一項(xiàng)最為重要的技術(shù),它是系統(tǒng)長期穩(wěn)定工作的保障。OPC技術(shù)的使用可以更加方便的實(shí)現(xiàn)軟件冗余,而且具有較好的開放性和互操作性。這可以很好的應(yīng)用于實(shí)時(shí)數(shù)據(jù)庫開發(fā)中。而且OPC協(xié)議中的過程數(shù)據(jù)XML規(guī)范可以提供XML數(shù)據(jù)輸出和解析功能。

        而且OPC協(xié)議規(guī)范了接口函數(shù),不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而實(shí)現(xiàn)系統(tǒng)的開放性,易于實(shí)現(xiàn)與其它系統(tǒng)的接口。這在實(shí)時(shí)數(shù)據(jù)庫開發(fā)中提供了很大的便利。

    5  結(jié)論

        隨著OPC協(xié)議的逐漸成型,越來越多的國內(nèi)外廠商給予了高度的重視,很多公司都在原來產(chǎn)品的基礎(chǔ)上添加了對OPC協(xié)議的支持,它的應(yīng)用范圍會越來越廣。由于OPC協(xié)議統(tǒng)一了數(shù)據(jù)訪問的接口,使控制系統(tǒng)進(jìn)一步走向開放,實(shí)現(xiàn)信息的集成和共享,用戶能夠得到更多的方便。而且OPC協(xié)議技術(shù)改變了原有的控制系統(tǒng)模式,給工業(yè)自動(dòng)化領(lǐng)域帶來了勃勃生機(jī),也給國內(nèi)系統(tǒng)生產(chǎn)廠商提出了一個(gè)發(fā)展的機(jī)遇和挑戰(zhàn)。而且在實(shí)時(shí)數(shù)據(jù)庫開發(fā)中OPC協(xié)議的應(yīng)用,也使得人們開發(fā)的實(shí)時(shí)數(shù)據(jù)庫軟件可以更好的符合實(shí)際的應(yīng)用。因?yàn)椴捎肙PC協(xié)議,在數(shù)據(jù)采集中,可以更好的保證數(shù)據(jù)的高效實(shí)時(shí),還可以實(shí)現(xiàn)對遠(yuǎn)程數(shù)據(jù)的采集;在數(shù)據(jù)存儲中,對實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)的存儲都能保證實(shí)時(shí)性;在數(shù)據(jù)庫管理中,能夠及時(shí)對現(xiàn)場事件進(jìn)行處理;在數(shù)據(jù)應(yīng)用中,提供了XML數(shù)據(jù)的輸出和解析,而且使系統(tǒng)具有較好的開放性和可互操作性,易于實(shí)現(xiàn)與其它系統(tǒng)的接口。所以在實(shí)時(shí)數(shù)據(jù)庫開發(fā)中使用OPC協(xié)議很方便而且很必要。

    熱點(diǎn)新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: