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