OPC解決了什么?
OPC誕生以前,硬件的驅(qū)動器和與其連接的應(yīng)用程序之間的接口并沒有統(tǒng)一的標(biāo)準(zhǔn)。例如,在FA(FactoryAutomation)——工廠自動化領(lǐng)域,連接PLC(Programmable Logic Controller)等控制設(shè)備和SCADA/HMI軟件,需要不同的FA網(wǎng)絡(luò)系統(tǒng)構(gòu)成。根據(jù)某調(diào)查結(jié)果,在控制系統(tǒng)軟件開發(fā)的所需費(fèi)用中,各種各樣機(jī)器的應(yīng)用程序設(shè)計(jì)占費(fèi)用的7成,而開發(fā)機(jī)器設(shè)備間的連接接口則占了3成。此外,在PA(Process Automation)——過程自動化領(lǐng)域,當(dāng)希望把分布式控制系統(tǒng)(DCS——Distributed Control System)中所有的過程數(shù)據(jù)傳送到生產(chǎn)管理系統(tǒng)時,必須按照各個供應(yīng)廠商的各個機(jī)種開發(fā)特定的接口,例如,利用C語言DLL(動態(tài)鏈路數(shù)據(jù)庫)連接的DDE(動態(tài)數(shù)據(jù)交換)服務(wù)器或者利用FTP(文件傳送協(xié)定)的文本等設(shè)計(jì)應(yīng)用程序。如由4種控制設(shè)備和與其連接的監(jiān)視、趨勢圖以及表報3種應(yīng)用程序所構(gòu)成的系統(tǒng)時,必須花費(fèi)大量時間去開發(fā)分別對應(yīng)設(shè)備A,B,C,D的監(jiān)視,趨勢圖以及表報應(yīng)用程序的接口軟件共計(jì)要用12種驅(qū)動器。同時由于系統(tǒng)中共存各種各樣的驅(qū)動器,也使維護(hù)運(yùn)轉(zhuǎn)環(huán)境的穩(wěn)定性和信賴性更加困難。
而OPC是為了不同供應(yīng)廠商的設(shè)備和應(yīng)用程序之間的軟件接口標(biāo)準(zhǔn)化,使其間的數(shù)據(jù)交換更加簡單化的目的而提出的。作為結(jié)果,從而可以向用戶提供不依靠于特定開發(fā)語言和開發(fā)環(huán)境的可以自由組合使用的過程控制軟件組件產(chǎn)品。
利用OPC的系統(tǒng),是由按照應(yīng)用程序(客戶程序)的要求提供數(shù)據(jù)采集服務(wù)的OPC服務(wù)器,使用OPC服務(wù)器所必需的OPC接口,以及接受服務(wù)的OPC應(yīng)用程序所構(gòu)成。OPC服務(wù)器是按照各個供應(yīng)廠商的硬件所開發(fā)的,使之可以吸收各個供應(yīng)廠商硬件和系統(tǒng)的差異,從而實(shí)現(xiàn)不依存于硬件的系統(tǒng)構(gòu)成。同時利用一種叫做Variant的數(shù)據(jù)類型,可以不依存于硬件中固有數(shù)據(jù)類型,按照應(yīng)用程序的要求提供數(shù)據(jù)格式。
利用OPC使接口標(biāo)準(zhǔn)化可以不依存于各設(shè)備的內(nèi)部結(jié)構(gòu)及它的供應(yīng)廠商來選用監(jiān)視,趨勢圖以及表報應(yīng)用程序。