基于FF現場總線的PID控制應用實現(2)
(3) 自動化對象模型
OPC客戶程序的開發關鍵在于搞清該動態鏈接庫的封裝結構,也即自動化接口標準。該標準可以用圖6所示的自動化對象模型表示。它主要由六類對象組成:
OPCServer:OPC服務器的一個實例。只有創建了OPCServer對象以后才能獲得OPC服務器的信息,它包括OPCGroups的搜索以及OPCBrowser對象的創建;
OPCGroups:能夠自動搜集到OPCServer范圍內客戶端創建的所有的OPCGroup對象;
OPCGroup:OPCGroup對象的一個實例。它包含所有的狀態信息,并且為OPCGroup中所涉及的OPC- Items提供必要的服務;
OPCItems:能夠自動搜集到OPCServer范圍內客戶端創建的對應相應的OPCGroup中的所有的OPCItem對象;
OPCItem:一個自動化對象,它包含“位號”的定義,當前值,狀態信息,最后更新時間;
OPCBrowser:瀏覽服務器中所有“位號”名稱的對象。對于每個OPCServer只能創建一個OPCBrowser對象。
圖6 自動化對象模型
3.3 實現PID控制的OPC客戶程序
(1) 使用VB開發OPC應用程序
利用VB開發OPC應用程序時,實現OPC自動化接口的OPC包裝DLL是必須的,這個OPC包裝DLL一般應該是由OPC服務器的供應商提供的,為OPC客戶程序的軟件開發提供了具有良好接口的工具。本文使用為OPC基金會的OPC包裝DLL進行說明。
因為在新建的VB工程里OPC包裝DLL還沒有注冊,必須先用下述方法對OPC包裝DLL進行注冊:
從VB菜單里選擇[工程(P)]-[引用(N)];
在[可用的引用(A)]的一覽表示中,選擇對應的OPC包裝DLL的文件名,這里選擇[OPC Automation 2.0];
(2) 實現步驟
用VB編寫OPC客戶端程序包含以下步驟:
添加服務器的引用,創建OPC服務器對象,并將客戶程序與服務器相連;
創建組集合并添加組對象;
添加OPC項,利用OPCBrowse方法瀏覽整個服務器中所有的項,選擇需要的項,將其添加到規定的組中,并顯示其值和狀態;
在主畫面中顯示添加的組和項。
(3) 程序設計
圖7是以VB實現的具有PID功能的OPC同步客戶程序。
圖7 實現PID控制的OPC客戶程序
該單回路控制過程為自衡非振蕩,具有相互影響的雙容過程。其數學模型可用如下傳遞函數描述:
G(s)=
式中, Kp, Tp,τ為過程的增益、時間常數和時滯。式中的各參數可根據階躍響應曲線用圖解法求得。
下面給出確定傳遞函數的參數的方法:設圖7中的控制量為q,測量值為y(∞),新的穩態值為設定值,增益K可由輸入輸出的穩態值直接算出
,而Tp,τ則可以用作圖法確定。為了能夠隨時調用在OPC服務器上采集的測量值y并繪制出相應的階躍響應曲線,這里把選擇的數據存放在指定的數據庫中(采用SQL2000數據庫)。同時也是為了在進行算法的仿真的時候,既可以從歷史數據庫中取數據,也可隨著數據的采集,可以不斷刷新數據,進行算法的優化,如圖8所示。
圖8 SQL server數據庫中存取OPC服務器數據
4、結束語
通過FF現場總線的過程控制實驗系統的設計過程,論述OPC技術,目的是希望通過VB去開發OPC自動化接口的客戶應用程序,實現PID控制算法到OPC 客戶應用程序的應用編程,方便用戶的使用和系統的維護和升級,同時研究SQL Server 2000的數據庫系統,用于歷史數據的存取以及算法的仿真。如何實現更加復雜的先進控制算法,可以使用OLE自動化技術來實現VB與Matlab混合編程,即用VB編寫OPC客戶端程序來實現數據通信,而利用Matlab進行先進控制算法的編寫,從而對現場數據進行分析,是下一步研究的重點。
- 第 1 頁:基于FF現場總線的PID控制應用實現(1)
- 第 2 頁:副標題#
本文導航
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [電源技術電子電路圖] 采用模糊PID控制器的自動充放電系統 2011-01-29
- [控制技術] 基于PID控制算法的智能小車設計方案 2010-12-13
- [控制技術] NNC-PID控制器對電液位置控制系統的DSP實現 2010-09-03
- [控制技術] 基于積分分離PID控制的交流伺服系統 2010-08-29
- [控制技術] 步進電機位移的模糊PID控制設計方案 2010-06-29
- [控制技術] 串級PID控制原理 2010-04-28
- [可編程邏輯] 基于FPGA的溫度模糊自適應PID控制器的設計 2010-01-22
- [DSP] 帶Smith預估器的預測PID控制器的設計 2009-10-25
( 發表人:發燒友 )