<wbr id="pbjqz"><pre id="pbjqz"><noscript id="pbjqz"></noscript></pre></wbr>

            <nav id="pbjqz"></nav>
              <wbr id="pbjqz"><legend id="pbjqz"><video id="pbjqz"></video></legend></wbr>

              PLC技術資料
                基于FF現場總線的PID控制算法應用研究(二)
                發布者:用戶投稿  發布時間:2008/5/6 16:26:25

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

                圖 5     OPC客戶程序與服務器的通迅


                  (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客戶端程序包含以下步驟:

                [NextPage] 
                    添加服務器的引用,創建OPC服務器對象,并將客戶程序與服務器相連;
                    創建組集合并添加組對象;
                    添加OPC項,利用OPCBrowse方法瀏覽整個服務器中所有的項,選擇需要的項,將其添加到規定的組中,并顯示其值和狀態;
                    在主畫面中顯示添加的組和項。
                  (3) 程序設計
                  圖7是以VB實現的具有PID功能的OPC同步客戶程序。

                圖7     實現PID控制的OPC客戶程序


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


                  式中, Kp, Tp,τ為過程的增益、時間常數和時滯。式中的各參數可根據階躍響應曲線用圖解法求得。
                  下面給出確定傳遞函數的參數的方法:設圖7中的控制量為q,測量值為y(∞),新的穩態值為設定值,增益K可由輸入輸出的穩態值直接算出,而Tp,τ則可以用作圖法確定。為了能夠隨時調用在OPC服務器上采集的測量值y并繪制出相應的階躍響應曲線,這里把選擇的數據存放在指定的數據庫中(采用SQL2000數據庫)。同時也是為了在進行算法的仿真的時候,既可以從歷史數據庫中取數據,也可隨著數據的采集,可以不斷刷新數據,進行算法的優化,如圖8所示。

                [NextPage]

                圖8     SQL server 數據庫中存取OPC服務器數據

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

                版權聲明PLC信息網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
              0571-87774297  
              免费人成激情视频在线看