關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于FF現(xiàn)場總線的PID控制應用實現(xiàn)

        基于FF現(xiàn)場總線的PID控制應用實現(xiàn)

        作者: 時間:2011-02-11 來源:網(wǎng)絡 收藏
        (3) 自動化對象模型

        本文引用地址:http://www.104case.com/article/162469.htm

          OPC客戶程序的開發(fā)關鍵在于搞清該動態(tài)鏈接庫的封裝結(jié)構,也即自動化接口標準。該標準可以用圖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對象;

          OPCItem:一個自動化對象,它包含“位號”的定義,當前值,狀態(tài)信息,最后更新時間;

          OPCBrowser:瀏覽服務器中所有“位號”名稱的對象。對于每個OPCServer只能創(chuàng)建一個OPCBrowser對象。

          

        自動化對象模型

          圖6 自動化對象模型

          3.3 實現(xiàn)PID控制的OPC客戶程序

          (1) 使用VB開發(fā)OPC應用程序

          利用VB開發(fā)OPC應用程序時,實現(xiàn)OPC自動化接口的OPC包裝DLL是必須的,這個OPC包裝DLL一般應該是由OPC服務器的供應商提供的,為OPC客戶程序的軟件開發(fā)提供了具有良好接口的工具。本文使用為OPC基金會的OPC包裝DLL進行說明。

          因為在新建的VB工程里OPC包裝DLL還沒有注冊,必須先用下述方法對OPC包裝DLL進行注冊:

          從VB菜單里選擇[工程(P)]-[引用(N)];

          在[可用的引用(A)]的一覽表示中,選擇對應的OPC包裝DLL的文件名,這里選擇[OPC Automation 2.0];

          (2) 實現(xiàn)步驟

          用VB編寫OPC客戶端程序包含以下步驟:

          添加服務器的引用,創(chuàng)建OPC服務器對象,并將客戶程序與服務器相連;

          創(chuàng)建組集合并添加組對象;

          添加OPC項,利用OPCBrowse方法瀏覽整個服務器中所有的項,選擇需要的項,將其添加到規(guī)定的組中,并顯示其值和狀態(tài);

          在主畫面中顯示添加的組和項。

          (3) 程序設計

          圖7是以VB實現(xiàn)的具有PID功能的OPC同步客戶程序。

          

        實現(xiàn)PID控制的OPC客戶程序

          圖7 實現(xiàn)PID控制的OPC客戶程序

          該單回路控制過程為自衡非振蕩,具有相互影響的雙容過程。其數(shù)學模型可用如下傳遞函數(shù)描述:

          G(s)=

          

        公式

          式中, Kp, Tp,τ為過程的增益、時間常數(shù)和時滯。式中的各參數(shù)可根據(jù)階躍響應曲線用圖解法求得。

          下面給出確定傳遞函數(shù)的參數(shù)的方法:設圖7中的控制量為q,測量值為y(∞),新的穩(wěn)態(tài)值為設定值,增益K可由輸入輸出的穩(wěn)態(tài)值直接算出

          

        公式

          ,而Tp,τ則可以用作圖法確定。為了能夠隨時調(diào)用在OPC服務器上采集的測量值y并繪制出相應的階躍響應曲線,這里把選擇的數(shù)據(jù)存放在指定的數(shù)據(jù)庫中(采用SQL2000數(shù)據(jù)庫)。同時也是為了在進行算法的仿真的時候,既可以從歷史數(shù)據(jù)庫中取數(shù)據(jù),也可隨著數(shù)據(jù)的采集,可以不斷刷新數(shù)據(jù),進行算法的優(yōu)化,如圖8所示。

          

        SQL server數(shù)據(jù)庫中存取OPC服務器數(shù)據(jù)

          圖8 SQL server數(shù)據(jù)庫中存取OPC服務器數(shù)據(jù)

          4、結(jié)束語

          通過FF現(xiàn)場總線的過程控制實驗系統(tǒng)的設計過程,論述OPC技術,目的是希望通過VB去開發(fā)OPC自動化接口的客戶應用程序,實現(xiàn)PID控制算法到OPC 客戶應用程序的應用編程,方便用戶的使用和系統(tǒng)的維護和升級,同時研究SQL Server 2000的數(shù)據(jù)庫系統(tǒng),用于歷史數(shù)據(jù)的存取以及算法的仿真。如何實現(xiàn)更加復雜的先進控制算法,可以使用OLE自動化技術來實現(xiàn)VB與Matlab混合編程,即用VB編寫OPC客戶端程序來實現(xiàn)數(shù)據(jù)通信,而利用Matlab進行先進控制算法的編寫,從而對現(xiàn)場數(shù)據(jù)進行分析,是下一步研究的重點。


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 淅川县| 桦甸市| 岗巴县| 象山县| 韩城市| 南康市| 康乐县| 阿鲁科尔沁旗| 绥芬河市| 丰城市| 开远市| 神木县| 承德市| 孝义市| 兰西县| 东乌珠穆沁旗| 云龙县| 阿克| 阜康市| 浦城县| 藁城市| 乡宁县| 那曲县| 雅江县| 东山县| 志丹县| 双柏县| 定远县| 天柱县| 汕头市| 遂川县| 水城县| 沛县| 潢川县| 定襄县| 金门县| 周口市| 平远县| 石景山区| 当涂县| 连城县|