OPC(OLE for Process Control, 用于過程控制的OLE)是一個工業(yè)標準,管理這個標準的國際組織是OPC基金會,OPC基金會現(xiàn)有會員已超過220家。遍布全球,包括世界上所有主要的自動化控制系統(tǒng)、儀器儀表及過程控制系統(tǒng)的公司?;谖④浀腛LE(現(xiàn)在的Active X)、COM (部件對象模型)和DCOM (分布式部件對象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標準集,用于過程控制和制造業(yè)自動化系統(tǒng)。
OPC全稱是Object Linking and Embedding(OLE) for Process Control,它的出現(xiàn)為基于Windows的應(yīng)用程序和現(xiàn)場過程控制應(yīng)用建立了橋梁。在過去,為了存取現(xiàn)場設(shè)備的數(shù)據(jù)信息,每一個應(yīng)用軟件開發(fā)商都需要編寫專用的接口函數(shù)。由于現(xiàn)場設(shè)備的種類繁多,且產(chǎn)品的不斷升級,往往給用戶和軟件開發(fā)商帶來了巨大的工作負擔。通常這樣也不能滿足工作的實際需要,系統(tǒng)集成商和開發(fā)商急切需要一種具有高效性、可靠性、開放性、可互操作性的即插即用的設(shè)備驅(qū)動程序。在這種情況下,OPC標準應(yīng)運而生。OPC標準以微軟公司的OLE技術(shù)為基礎(chǔ),它的制定是通過提供一套標準的OLE/COM接口完成的,在OPC技術(shù)中使用的是OLE 2技術(shù),OLE標準允許多臺微機之間交換文檔、圖形等對象。
COM是Component Object Model的縮寫,是所有OLE機制的基礎(chǔ)。COM是一種為了實現(xiàn)與編程語言無關(guān)的對象而制定的標準,該標準將Windows下的對象定義為獨立單元,可不受程序限制地訪問這些單元。這種標準可以使兩個應(yīng)用程序通過對象化接口通訊,而不需要知道對方是如何創(chuàng)建的。例如,用戶可以使用C++語言創(chuàng)建一個Windows對象,它支持一個接口,通過該接口,用戶可以訪問該對象提供的各種功能,用戶可以使用Visual Basic,C,Pascal,Smalltalk或其它語言編寫對象訪問程序。在Windows NT4.0操作系統(tǒng)下,COM規(guī)范擴展到可訪問本機以外的其它對象,一個應(yīng)用程序所使用的對象可分布在網(wǎng)絡(luò)上,COM的這個擴展被稱為DCOM(Distributed COM)。
通過DCOM技術(shù)和OPC標準,完全可以創(chuàng)建一個開放的、可互操作的控制系統(tǒng)軟件。OPC采用客戶/服務(wù)器模式,把開發(fā)訪問接口的任務(wù)放在硬件生產(chǎn)廠家或第三方廠家,以O(shè)PC服務(wù)器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統(tǒng)的集成,提高了系統(tǒng)的開放性和可互操作性。
OPC服務(wù)器通常支持兩種類型的訪問接口,它們分別為不同的編程語言環(huán)境提供訪問機制。這兩種接口是:自動化接口(Automation interface);自定義接口(Custom interface)。自動化接口通常是為基于腳本編程語言而定義的標準接口,可以使用VisualBasic、Delphi、PowerBuilder等編程語言開發(fā)OPC服務(wù)器的客戶應(yīng)用。而自定義接口是專門為C++等高級編程語言而制定的標準接口。OPC現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的缺省方案,為工業(yè)監(jiān)控編程帶來了便利,用戶不用為通訊協(xié)議的難題而苦惱。任何一家自動化軟件解決方案的提供者,如果它不能全方位地支持OPC,則必將被歷史所淘汰。
1、在控制領(lǐng)域中,系統(tǒng)往往由分散的各子系統(tǒng)構(gòu)成;并且各子系統(tǒng)往往采用不同廠家的設(shè)備和方案。用戶需要,將這些子系統(tǒng)集成,并架構(gòu)統(tǒng)一的實時監(jiān)控系統(tǒng)。
2、這樣的實時監(jiān)控系統(tǒng)需要解決分散子系統(tǒng)間的數(shù)據(jù)共享,各子系統(tǒng)需要統(tǒng)一協(xié)調(diào)相應(yīng)控制指令。
3、再考慮到實時監(jiān)控系統(tǒng)往往需要升級和調(diào)整。
4、就需要各子系統(tǒng)具備統(tǒng)一的as開放接口。
5、OPC(OLE for Process Control) 規(guī)范正是這一思維的產(chǎn)物。
6、OPC 基于Microsoft公司的 Distributed interNet Application (DNA) 構(gòu)架和 Component Object Model (COM) 技術(shù)的,根據(jù)易于擴展性而設(shè)計的。OPC規(guī)范定義了一個工業(yè)標準接口。
7、OPC是以O(shè)LE/COM機制作為應(yīng)用程序的通訊標準。OLE/COM是一種客戶/服務(wù)器模式,具有語言無關(guān)性、代碼重用性、易于集成性等優(yōu)點。OPC規(guī)范了接口函數(shù),不管現(xiàn)場設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而保證軟件對客戶的透明性,使得用戶完全從低層的開發(fā)中脫離出來。
8、OPC定義了一個開放的接口,在這個接口上,基于PC的軟件組件能交換數(shù)據(jù)。它是基于Windows的OLE——對象鏈接和嵌入、COM——部件對象模型(Component Object Model)和DCOM——分布式COM(Distributed COM)技術(shù)。因而,OPC為自動化層的典型現(xiàn)場設(shè)備連接工業(yè)應(yīng)用程序和辦公室程序提供了一個理想的方法。