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