基于FF現(xiàn)場(chǎng)總線的先進(jìn)控制算法的應(yīng)用研究
2.1 OPC服務(wù)器
選用中科院沈陽(yáng)自動(dòng)化研究所提供了OPC服務(wù)器MicroCyber .FFServer.1,服務(wù)器的地址空間由服務(wù)器可讀寫的所有數(shù)據(jù)項(xiàng)組成,可以根據(jù)需要得到數(shù)據(jù)項(xiàng)的全稱對(duì)其進(jìn)行相關(guān)操作。圖4為OPC服務(wù)器的地址空間圖。使用OPC技術(shù)實(shí)現(xiàn)用VB6.0編寫的客戶端程序與OPC服務(wù)器的通訊,服務(wù)器中液位的實(shí)時(shí)值IF-PID-PV.VALUE,以及自定義變量如液位設(shè)定值IF-PID-SP.VALUE,然后進(jìn)行算法控制,得到控制量,將控制量寫入OPC服務(wù)器的項(xiàng)FI-PID-OUT.VALUE,從而控制受控系統(tǒng)。
圖 4 OPC服務(wù)器的地址空間圖
2.2.1自動(dòng)化接口
OPC基金會(huì)為方便用戶在各種環(huán)境下軟件開發(fā),為數(shù)據(jù)訪問規(guī)范提供兩類接口:自動(dòng)化接口和定制接口?;诙ㄖ平涌诘拈_發(fā),需要用到較深的COM/DCOM知識(shí),比較晦澀難懂,而運(yùn)用自動(dòng)化接口則有以下優(yōu)點(diǎn):客戶程序可以很容易地應(yīng)用接口,而無(wú)需了解接口的詳細(xì)內(nèi)部機(jī)理;可以運(yùn)用事件觸發(fā)機(jī)制;可以生成一個(gè)通用的動(dòng)態(tài)鏈接庫(kù)(DLL)或控件供所有客戶端應(yīng)用程序使用。
2.2.2自動(dòng)化接口的通信機(jī)制
OPC客戶程序通過封裝的OPC自動(dòng)化接口動(dòng)態(tài)鏈接庫(kù)訪問OPC服務(wù)器[7],如圖5所示。該動(dòng)態(tài)連接庫(kù)將OPC服務(wù)器的定制接口翻譯成OPC客戶程序希望的自動(dòng)化接口,以供客戶程序調(diào)用。OPC客戶程序和動(dòng)態(tài)鏈接庫(kù)是進(jìn)程內(nèi)的通信,而動(dòng)態(tài)鏈接庫(kù)和OPC服務(wù)器的通信則基于COM/DCOM,既可以是進(jìn)程內(nèi)或本地的連接,又可以是遠(yuǎn)程連接。封裝的動(dòng)態(tài)鏈接庫(kù)解決了定制接口的解釋和二者的通信,從而大大簡(jiǎn)化了OPC客戶程序的開發(fā)。
圖 5 OPC客戶程序與服務(wù)器的通迅
OPC客戶程序的開發(fā)關(guān)鍵在于搞清該動(dòng)態(tài)鏈接庫(kù)的封裝結(jié)構(gòu),也即自動(dòng)化接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)可以用圖6所示的自動(dòng)化對(duì)象模型表示。它主要由6類對(duì)象組成:①OPCServer:OPC服務(wù)器的一個(gè)實(shí)例。只有創(chuàng)建了 OPCServer 對(duì)象以后才能獲得 OPC服務(wù)器的信息,它包括 OPCGroups 的搜索以及 OPCBrowser 對(duì)象的創(chuàng)建;②OPCGroups:能夠自動(dòng)搜集到 OPCServer 范圍內(nèi)客戶端創(chuàng)建的所有的 OPCGroup對(duì)象;③OPCGroup:OPCGroup 對(duì)象的一個(gè)實(shí)例。 它包含所有的狀態(tài)信息,并且為 OPCGroup 中所涉及的 OPCItems提供必要的服務(wù);④OPCItems :能夠自動(dòng)搜集到 OPCServer 范圍內(nèi)客戶端創(chuàng)建的對(duì)應(yīng)相應(yīng)的 OPCGroup中的所有的 OPCItem 對(duì)象;⑤OPCItem :一個(gè)自動(dòng)化對(duì)象,它包含“位號(hào)”的定義,當(dāng)前值,狀態(tài)信息,最后更新時(shí)間;⑥OPCBrowser:瀏覽服務(wù)器中所有“位號(hào)”名稱的對(duì)象。對(duì)于每個(gè) OPCServer只能創(chuàng)建一個(gè) OPCBrowser 對(duì)象。
評(píng)論