from:
http://bbs.cechinamag.com/OPC全稱(chēng)是OLE for Process Control,它的出現為基于Windows的應用程序和現場(chǎng)過(guò)程控制應用建立了橋梁。在過(guò)去,為了存取現場(chǎng)設備的數據信息,每一個(gè)應用軟件開(kāi)發(fā)商都需要編寫(xiě)專(zhuān)用的接口函數。由于現場(chǎng)設備的種類(lèi)繁多,且產(chǎn)品的不斷升級,往往給用戶(hù)和軟件開(kāi)發(fā)商帶來(lái)了巨大的工作負擔。通常這樣也不能滿(mǎn)足工作的實(shí)際需要,系統集成商和開(kāi)發(fā)商急切需要一種具有高效性、可靠性、開(kāi)放性、可互操作性的即插即用的設備驅動(dòng)程序。在這種情況下,OPC標準應運而生。OPC標準以微軟公司的OLE技術(shù)為基礎,它的制定是通過(guò)提供一套標準的OLE/COM接口完成的,在OPC技術(shù)中使用的是OLE 2技術(shù),OLE標準允許多臺微機之間交換文檔、圖形等對象。
COM是Component Object Model的縮寫(xiě),是所有OLE機制的基礎。COM是一種為了實(shí)現與編程語(yǔ)言無(wú)關(guān)的對象而制定的標準,該標準將Windows下的對象定義為獨立單元,可不受程序限制地訪(fǎng)問(wèn)這些單元。這種標準可以使兩個(gè)應用程序通過(guò)對象化接口通訊,而不需要知道對方是如何創(chuàng )建的。例如,用戶(hù)可以使用C++語(yǔ)言創(chuàng )建一個(gè)Windows對象,它支持一個(gè)接口,通過(guò)該接口,用戶(hù)可以訪(fǎng)問(wèn)該對象提供的各種功能,用戶(hù)可以使用Visual Basic,C,Pascal,Smalltalk或其它語(yǔ)言編寫(xiě)對象訪(fǎng)問(wèn)程序。在Windows NT4.0操作系統下,COM規范擴展到可訪(fǎng)問(wèn)本機以外的其它對象,一個(gè)應用程序所使用的對象可分布在網(wǎng)絡(luò )上,COM的這個(gè)擴展被稱(chēng)為DCOM(Distributed COM)。
通過(guò)DCOM技術(shù)和OPC標準,完全可以創(chuàng )建一個(gè)開(kāi)放的、可互操作的控制系統軟件。OPC采用客戶(hù)/服務(wù)器模式,把開(kāi)發(fā)訪(fǎng)問(wèn)接口的任務(wù)放在硬件生產(chǎn)廠(chǎng)家或第三方廠(chǎng)家,以OPC服務(wù)器的形式提供給用戶(hù),解決了軟、硬件廠(chǎng)商的矛盾,完成了系統的集成,提高了系統的開(kāi)放性和可互操作性。
OPC服務(wù)器通常支持兩種類(lèi)型的訪(fǎng)問(wèn)接口,它們分別為不同的編程語(yǔ)言環(huán)境提供訪(fǎng)問(wèn)機制。這兩種接口是:自動(dòng)化接口(Automation interface);自定義接口(Custom interface)。自動(dòng)化接口通常是為基于腳本編程語(yǔ)言而定義的標準接口,可以使用VisualBasic、Delphi、PowerBuilder等編程語(yǔ)言開(kāi)發(fā)OPC服務(wù)器的客戶(hù)應用。而自定義接口是專(zhuān)門(mén)為C++等高級編程語(yǔ)言而制定的標準接口。OPC現已成為工業(yè)界系統互聯(lián)的缺省方案,為工業(yè)監控編程帶來(lái)了便利,用戶(hù)不用為通訊協(xié)議的難題而苦惱。任何一家自動(dòng)化軟件解決方案的提供者,如果它不能全方位地支持OPC,則必將被歷史所淘汰。