基于FF現(xiàn)場總線的PID控制算法應用研究
3.1OPC服務器
選用中科院沈陽自動化研究所提供了OPC服務器MicroCyber.FFServer.1,服務器的地址空間由服務器可讀寫的所有數(shù)據(jù)項組成,可以根據(jù)需要得到數(shù)據(jù)項的全稱對其進行相關操作。圖4為OPC服務器的地址空間圖。使用OPC技術實現(xiàn)用VB6.0編寫的客戶端程序與OPC服務器的通訊,服務器中液位的實時值IF-PID-PV.VALUE,以及自定義變量如液位設定值IF-PID-SP.VALUE,然后進行算法控制,得到控制量,將控制量寫入OPC服務器的項FI-PID-OUT.VALUE,從而控制受控系統(tǒng)。

3.2OPC自動化接口標準
(1)自動化接口
OPC基金會為方便用戶在各種環(huán)境下軟件開發(fā),為數(shù)據(jù)訪問規(guī)范提供兩類接口:自動化接口和定制接口。基于定制接口的開發(fā),需要用到較深的COM/DCOM知識,比較晦澀難懂,而運用自動化接口則有以下優(yōu)點:客戶程序可以很容易地應用接口,而無需了解接口的詳細內(nèi)部機理;可以運用事件觸發(fā)機制;可以生成一個通用的動態(tài)鏈接庫(DLL)或控件供所有客戶端應用程序使用。
(2)自動化接口的通信機制
OPC客戶程序通過封裝的OPC自動化接口動態(tài)鏈接庫訪問OPC服務器,如圖5所示。該動態(tài)連接庫將OPC服務器的定制接口翻譯成OPC客戶程序希望的自動化接口,以供客戶程序調(diào)用。OPC客戶程序和動態(tài)鏈接庫是進程內(nèi)的通信,而動態(tài)鏈接庫和OPC服務器的通信則基于COM/DCOM,既可以是進程內(nèi)或本地的連接,又可以是遠程連接。封裝的動態(tài)鏈接庫解決了定制接口的解釋和二者的通信,從而大大簡化了OPC客戶程序的開發(fā)。

(3)自動化對象模型
OPC客戶程序的開發(fā)關鍵在于搞清該動態(tài)鏈接庫的封裝結構,也即自動化接口標準。該標準可以用圖6所示的自動化對象模型表示。它主要由六類對象組成:
OPCServer:OPC服務器的一個實例。只有創(chuàng)建了OPCServer對象以后才能獲得OPC服務器的信息,它包括OPCGroups的搜索以及OPCBrowser對象的創(chuàng)建;
OPCGroups:能夠自動搜集到OPCServer范圍內(nèi)客戶端創(chuàng)建的所有的OPCGroup對象;
OPCGroup:OPCGroup對象的一個實例。它包含所有的狀態(tài)信息,并且為OPCGroup中所涉及的OPC-Items提供必要的服務;
OPCItems:能夠自動搜集到OPCServer范圍內(nèi)客戶端創(chuàng)建的對應相應的OPCGroup中的所有的OPCItem對象;
評論