專利名稱:基于matlab引擎的可視化過程控制實時仿真方法
技術領域:
本發(fā)明涉及一種基于MATLAB引擎的可視化過程控制實時仿真方法,是一種基于用戶操作層、數(shù)據(jù)管理層、后臺運行層三層組成的可視化過程控制實時仿真系統(tǒng)的設計方法。
背景技術:
隨著我國經(jīng)濟的飛速增長和工業(yè)自動化程度的快速提高,各種計算機仿真系統(tǒng)廣泛應用于各種工業(yè)生產(chǎn)過程。這些系統(tǒng)所使用的控制算法,絕大多數(shù)提供的是單變量PID等常規(guī)控制方法,而少有先進的控制策略。這些常規(guī)控制方法的仿真系統(tǒng)簡單易用,深受工業(yè)界的歡迎,但隨著工業(yè)生產(chǎn)過程規(guī)模擴大和日益復雜化,工業(yè)生產(chǎn)過程具有多變量、強耦合、非線性、大時滯以及不確定性等特點,使得生產(chǎn)現(xiàn)場難以對自動化系統(tǒng)及相應的優(yōu)化控制軟件進行充分調試和實驗。有些計算機控制系統(tǒng)雖配置了先進控制軟件,但需采用腳本語言形式實現(xiàn)控制算法組態(tài),這對于那些具有實際過程控制經(jīng)驗而缺乏編程知識的用戶來說使用起來甚為困難。即便對于精通編程知識的用戶,復雜控制系統(tǒng)的組態(tài)也非一件易事。經(jīng)過多年的自主創(chuàng)新和對外合作,企業(yè)已經(jīng)具有較高的自動化水平,現(xiàn)已經(jīng)建有各種較為先進的控制系統(tǒng)。技術人員通過在高校的學習和多年的操作,不論是理論水平還是實際的動手操作能力,都有了很大的提升。連續(xù)工業(yè)過程的控制與優(yōu)化研究通常不能直接操作生產(chǎn)裝置,而是要通過實驗驗證以后才能實際應用。為了降低反復進行實驗的成本,開發(fā)和設計相應的軟件實驗平臺是必要的。國外已經(jīng)有了多年的軟件開發(fā)經(jīng)驗,并有些已經(jīng)形成了壟斷。即便是如此,這些軟件的針對性不強,且價格昂貴。而且國內(nèi)企業(yè)現(xiàn)有的自動化水平以及先進控制算法的開發(fā)和運用與國際領先水平還有一定的差距?,F(xiàn)面臨已建控制系統(tǒng)維護和優(yōu)化,亟需一個通用的過程控制仿真平臺,來對生產(chǎn)各種對象模型和組態(tài)控制模塊模型提供數(shù)據(jù)支持。在目前的過程控制仿真平臺中,仿真平臺對軟件和硬件的依賴比較強,同時仿真平臺往往針對的是某個過程缺乏一定的通用性。研制一個面向工業(yè)現(xiàn)場的、可視化的、圖形控件的,能夠非常直觀、生動地模擬工業(yè)系統(tǒng)的,擺脫依賴實際硬件的測量,實現(xiàn)以軟件為中心的,能夠在一個和實際過程系統(tǒng)相似的環(huán)境中對先進控制的控制方案、策略和算法進行大量仿真實驗的過程控制仿真實驗平臺勢在必行。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是提供一種基于MATLAB引擎的可視化過程控制實時仿真方法,該基于MATLAB引擎的可視化過程控制實時仿真方法,不但充分利用了 MATLAB的強大數(shù)據(jù)處理功能,還具有VC界面人性化、操作使用方便的優(yōu)點。發(fā)明的技術解決方案如下一種基于MATLAB引擎的可視化過程控制實時仿真方法,基于三層架構的仿真系統(tǒng)實現(xiàn)實時仿真,所述的三層架構包括用戶界面層、數(shù)據(jù)管理層和仿真運行層;
用戶界面層在Visual c++即VC環(huán)境下,加載Visual Graph ActiveX控件,形成用戶界面;數(shù)據(jù)管理層用于實現(xiàn)運行數(shù)據(jù)管理和模型數(shù)據(jù)管理;運行數(shù)據(jù)管理指運行數(shù)據(jù)的讀取和存儲,模型數(shù)據(jù)管理指對模型信息的設置及保存,所述的模型信息包括與原理圖和組態(tài)圖相關的結構和參數(shù)信息;數(shù)據(jù)管理層通過前臺通信接口與用戶操作層通信,數(shù)據(jù)管理層通過后臺通信接口與仿真運行層通信;仿真運行層對存儲于MATLAB workspace中的數(shù)據(jù)以及對由MATLAB運行時生成的數(shù)據(jù)文件進行訪問,并基于MATLAB引擎對數(shù)據(jù)進行運算,得到仿真結果數(shù)據(jù),仿真涉及到連接外部硬件時,仿真運行層還提供與外部硬件通信的通訊接口 ;三個層次之間設有內(nèi)部通訊接口用于數(shù)據(jù)的傳遞與保存,實現(xiàn)基于三層架構的仿真過程,所述的內(nèi)部通訊接口包括前臺通信接口和后臺通信接口。用戶界面層包含以下四個部分(I)組件庫部分包括繪制組件圖時需要用到的元件或虛擬設備(包括管道,閥門,電機,水箱等),使用MFC自帶的Ctrl List控件將組件庫顯示出來;使用外部加載的Visual Graph控件將組件庫文件打開,CtrI List控件將Visual Graph控件的圖標轉換成List控件需要的圖標;(2)組態(tài)圖部分調用組件庫中的元件或虛擬設備繪制而成;組態(tài)圖由兩部分構成,分別是組態(tài)圖Visual Graph控件和組態(tài)圖屬性Visual Graph控件;組態(tài)圖VisualGraph控件負責顯示組態(tài)界面,組態(tài)圖Visual Graph控件負責顯示組態(tài)圖中每個元件的屬性,提供對元件屬性的查看和修改;(3)控件庫部分包括控制器控件(如PID控制器,模糊控制器等)、輸入控件(用于表征模擬輸入用于連接外部的模擬信號輸入設備和數(shù)字輸入階躍輸入,方波信號輸入等)、輸出控件(模擬 輸出和數(shù)字輸出)、算術控件(用于執(zhí)行加、減、乘、除等操作)、延時控件、開關控件和邏輯控件(與、或、非等);通過Ctrl List控件顯示控件庫,通過VisualGraph控件打開控件庫文件,Ctrl List控件將Visual Graph控件的圖標轉換成List控件需要的圖標;(4)原理圖部分原理圖通過調用控件庫中的控件繪制而成;通過原理圖VisualGraph控件顯示原理圖界面,通過原理圖屬性Visual Graph控件顯示原理圖中每個控件的屬性,提供對控件屬性的觀察和修改接口。MFC (Microsoft Foundation Classes),是一個微軟公司提供的類庫(classlibraries),以C++類的形式封裝了 Windows的API,并且包含一個應用程序框架,以減少應用程序開發(fā)人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)津控件和組件的封裝類。仿真運行層包括MATLAB引擎和simulink,通過調用MATLAB引擎使VC生成simulink模型和讀取simulink運行的數(shù)據(jù),不斷地進行運算并產(chǎn)生數(shù)據(jù),并通過數(shù)據(jù)管理層將數(shù)據(jù)上傳到用戶界面層顯示,仿真涉及到連接外部硬件時,下發(fā)到與外部硬件通信的通訊接口以控制外部硬件,或者通過與外部硬件通信的通訊接口從外部硬件獲取數(shù)據(jù)或指令。具體的仿真方式為如下三種方式的任一種
方式1:使用虛擬控制器控制虛擬對象過程控制系統(tǒng)的控制器和控制對象均基于三層架構構建,在用戶界面層(即用戶操作層)選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖,此時,組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自仿真數(shù)據(jù);無需采用實際控制器,也無需采用實際控制對象,整個仿真過程均在PC機的內(nèi)部完成。方式2 :使用虛擬控制器控制實際對象在用戶操作層選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖;組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自所述的實際對象;裝載有所述仿真系統(tǒng)的PC機通過板卡直接接收外部硬件設備的存儲器(如PLC的DB模塊)存儲的實際對象控制結果數(shù)據(jù),所述的PC機發(fā)送數(shù)據(jù)和控制信號(如變頻器的頻率)到外部硬件設備的存儲器(如PLC的DB模塊),實現(xiàn)仿真;方式3 :使用實際控制器控制虛擬對象在用戶操作層選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖;此時,組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自仿真數(shù)據(jù);原理圖中涉及到的控制器的控制參數(shù)來自外部硬件設備;裝載有所述仿真系統(tǒng)的PC機通過板卡直接接收外部硬件設備的控制器(如PLC中的控制器)存儲的實際控制參數(shù),所述的PC機發(fā)送運行結果數(shù)據(jù)(即反饋信號,如水位、溫度等)到外部硬件設備的控制器(如PLC中的控制器),實現(xiàn)仿真。有益效果本發(fā)明的基于MATLAB引擎的可視化過程控制實時仿真方法,基于用戶操作層、數(shù)據(jù)管理層、后臺運行層(即仿真運行層)的三層組成的可視化過程控制仿真方法,解決現(xiàn)有過程控制仿真平臺缺乏通用性,對環(huán)境依賴較強等問題。本發(fā)明采用三層仿真機制,對于組態(tài)監(jiān)控界面,該系統(tǒng)提供了豐富的對象組件,包括矩形、文本、管道等靜態(tài)組件,以及基于數(shù)學模型對象的閥門、電機、水箱等動態(tài)組件??梢员苊馊鏼atlab等軟件沒有很好的監(jiān)控畫面,仿真畫面單調,不夠形象的缺點,可以生成生動形象的仿真界面模擬實際現(xiàn)場設備,且易于操作,直觀性好。本發(fā)明的可視化仿真系統(tǒng)采用三層仿真機制,對于控件庫搭建的原理圖中,借助matlab軟件,可以建立神經(jīng)網(wǎng)絡、模糊控制等的復雜控制系統(tǒng),可選控制器的種類豐富,而且功能強大;通過實際工業(yè)控制的應用需求,建立如經(jīng)典PID控制、模糊控制、模糊PID控制、專家控制等工業(yè)過程中運用較多的專用算法控件,使仿真軟件更接近工業(yè)應用的需求,解決了目前市場上仿真系統(tǒng)個性較強,缺乏通用性算法控件的缺點。本發(fā)明的可視化仿真系統(tǒng)采用三層仿真機制,在后臺運行層,通過使用調用matlab引擎的方法,并在仿真軟件的界面下實現(xiàn)復雜的控制算法的運行,解決了目前市場上反正仿真軟件沒有強大的算法庫的問題,減少了研發(fā)的工作量,運算方便,易于實現(xiàn)。本發(fā)明的可視化仿真系統(tǒng)采用三層仿真機制,在數(shù)據(jù)管理層,通過對運行數(shù)據(jù)和模型數(shù)據(jù)的管理,有機地將Visual C++編程環(huán)境和Matlab開發(fā)工具結合在了一起,實現(xiàn)了對運行數(shù)據(jù)和對象模型信息的讀取與保存,實現(xiàn)仿真的實時進行,本發(fā)明提供了一種全新的、實用性好、可視化強、功能強大、界面人性化的仿真模式。
圖1為仿真系統(tǒng)界面圖;圖2為現(xiàn)場水箱控制結構圖;圖3為控制流程圖;圖4為實際控制器控制虛擬水箱的原理圖;圖5為實際控制器控制虛擬水箱數(shù)據(jù)與實際控制器控制實際水箱數(shù)據(jù)對比圖;圖6為實際控制器控制虛擬水箱數(shù)據(jù)與實際控制器控制虛擬水箱數(shù)據(jù)誤差百分比曲線圖;圖7為仿真系統(tǒng)的總體結構圖。
具體實施例方式以下將結合附圖和具體實施例對本發(fā)明做進一步詳細說明一種基于MATLAB引擎的可視化過程控制實時仿真方法,其特征在于,基于三層架構的仿真系統(tǒng)實現(xiàn)實時仿真,所述的三層架構包括用戶界面層、數(shù)據(jù)管理層和仿真運行層;用戶界面層在Visual c++即VC環(huán)境下,加載Visual Graph ActiveX控件,形成用戶界面; 數(shù)據(jù)管理層用于實現(xiàn)運行數(shù)據(jù)管理和模型數(shù)據(jù)管理;運行數(shù)據(jù)管理指運行數(shù)據(jù)的讀取和存儲,模型數(shù)據(jù)管理指對模型信息的設置及保存,所述的模型信息包括與原理圖和組態(tài)圖相關的結構和參數(shù)信息;數(shù)據(jù)管理層通過前臺通信接口與用戶操作層通信,數(shù)據(jù)管理層通過后臺通信接口與仿真運行層通信;仿真運行層對存儲于MATLAB workspace中的數(shù)據(jù)以及對由MATLAB運行時生成的數(shù)據(jù)文件進行訪問,并基于MATLAB引擎對數(shù)據(jù)進行運算,得到仿真結果數(shù)據(jù),仿真涉及到連接外部硬件時,仿真運行層還提供與外部硬件通信的通訊接口 ;三個層次之間設有內(nèi)部通訊接口用于數(shù)據(jù)的傳遞與保存,實現(xiàn)基于三層架構的仿真過程,所述的內(nèi)部通訊接口包括前臺通信接口和后臺通信接口。用戶界面層包含以下四個部分(I)組件庫部分包括繪制組件圖時需要用到的元件或虛擬設備(包括管道,閥門,電機,水箱等),使用MFC自帶的Ctrl List控件將組件庫顯示出來;使用外部加載的Visual Graph控件將組件庫文件打開,CtrI List控件將Visual Graph控件的圖標轉換成List控件需要的圖標;(2)組態(tài)圖部分調用組件庫中的元件或虛擬設備繪制而成;組態(tài)圖由兩部分構成,分別是組態(tài)圖Visual Graph控件和組態(tài)圖屬性Visual Graph控件;組態(tài)圖VisualGraph控件負責顯示組態(tài)界面,組態(tài)圖Visual Graph控件負責顯示組態(tài)圖中每個元件的屬性,提供對元件屬性的查看和修改;(3)控件庫部分包括控制器控件(如PID控制器,模糊控制器等)、輸入控件(用于表征模擬輸入用于連接外部的模擬信號輸入設備和數(shù)字輸入階躍輸入,方波信號輸入等)、輸出控件(模擬輸出和數(shù)字輸出)、算術控件(用于執(zhí)行加、減、乘、除等操作)、延時控件、開關控件和邏輯控件(與、或、非等);通過Ctrl List控件顯示控件庫,通過VisualGraph控件打開控件庫文件,Ctrl List控件將Visual Graph控件的圖標轉換成List控件需要的圖標;(4)原理圖部分原理圖通過調用控件庫中的控件繪制而成;通過原理圖VisualGraph控件顯示原理圖界面,通過原理圖屬性Visual Graph控件顯示原理圖中每個控件的屬性,提供對控件屬性的觀察和修改接口。仿真運行層包括MATLAB引擎和simul ink,通過調用MATLAB引擎使VC生成simulink模型和讀取simulink運行的數(shù)據(jù),不斷地進行運算并產(chǎn)生數(shù)據(jù),并通過數(shù)據(jù)管理層將數(shù)據(jù)上傳到用戶界面層顯示,仿真涉及到連接外部硬件時,下發(fā)到與外部硬件通信的通訊接口以控制外部硬件,或者通過與外部硬件通信的通訊接口從外部硬件獲取數(shù)據(jù)或指令。具體的仿真方式為如下三種方式的任一種方式1:使用虛擬控制器控制虛擬對象過程控制系統(tǒng)的控制器和控制對象均基于三層架構構建,在用戶界面層(即用戶操作層)選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖,此時,組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自仿真數(shù)據(jù);無需采用實際控制器,也無需采用實際控制對象,整個仿真過程均在PC機的內(nèi)部完成。方式2 :使用虛擬控制器控制實際對象在用戶操作層選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖;組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自所述的實際對象; 裝載有所述仿真系統(tǒng)的PC機通過板卡直接接收外部硬件設備的存儲器(如PLC的DB模塊)存儲的實際對象控制結果數(shù)據(jù),所述的PC機發(fā)送數(shù)據(jù)和控制信號(如變頻器的頻率)到外部硬件設備的存儲器(如PLC的DB模塊),實現(xiàn)仿真;方式3 :使用實際控制器控制虛擬對象在用戶操作層選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖;此時,組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自仿真數(shù)據(jù);原理圖中涉及到的控制器的控制參數(shù)來自外部硬件設備;裝載有所述仿真系統(tǒng)的PC機通過板卡直接接收外部硬件設備的控制器(如PLC中的控制器)存儲的實際控制參數(shù),所述的PC機發(fā)送運行結果數(shù)據(jù)(即反饋信號,如水位、溫度等)到外部硬件設備的控制器(如PLC中的控制器),實現(xiàn)仿真。實施例1 :如圖7所示,系統(tǒng)運行時,界面層通過接口將上述數(shù)據(jù)通過接口傳輸?shù)綌?shù)據(jù)管理層進行保存并同時通過接口下發(fā)到仿真計算層進行運行,并將運行后數(shù)據(jù)返回數(shù)據(jù)管理層進行保存和反饋到界面層 進行顯示。數(shù)據(jù)管理層通過讀取用戶操作層的運行時參數(shù)設定值和對象模型信息,并將該部分數(shù)據(jù)傳入后臺運行層,構建simulink仿真圖形,因為Simulink的仿真輸出與輸入、初始狀態(tài)、仿真時間有關。通過外部程序實時的調用Simulink引擎進行運行與計算,并經(jīng)運行后的數(shù)據(jù)傳入數(shù)據(jù)管理層進行保存。此外,仿真運行層還可將系統(tǒng)運行與計算的數(shù)據(jù)通過以太網(wǎng)外部通訊接口與實際的執(zhí)行機構或PLC進行通訊,利用此外部通訊接口,使用控制器對系統(tǒng)搭建的對象進行通訊,實現(xiàn)實時仿真,通過調整控制策略達到最優(yōu)的效果,為實際的控制器提供指導。構建系統(tǒng)原理圖時,拖動控件庫中相應控件及連線進行繪制原理圖的過程中,每一次操作都會在后臺啟動MATLAB引擎,同時進行在simulink中繪制相應的圖形。當原理圖繪制完畢,后臺相應的simulink仿真圖即繪制完畢。從而實現(xiàn)通過軟件界面進行仿真的效果。首先,打開可視化過程控制軟件,軟件界面如圖1所示,界面主要分為以下幾個部分菜單欄主要由5部分組成。工程、組件管理主要的功能是實現(xiàn)工程、組件、控件的新建、打開、保存、關閉、以及將組件或控件添加到組件庫或控件庫。工具欄具體的結構從左到右一次如下,屬性欄的切換、組件庫主界面打開、組件庫打開、組態(tài)圖原始大小、組態(tài)圖縮小、組態(tài)圖放大、組態(tài)圖元件組合、組態(tài)圖組件分解、直線、矩形、圓、折線、多邊形、帶連接點的直線、帶連接點的折線、帶連接點的水平垂直線、帶連接點的曲線、連接點、文字、圖層往上一層、圖層往下一層、旋轉、復制、粘帖、撤消、恢復、實時曲線、歷史曲線、編譯、運行、停止。組件庫是為搭建組態(tài)界面提供的,組件可以下發(fā)數(shù)據(jù)給模型,同時也能實時的現(xiàn)實數(shù)據(jù),同時還可以針對組件搭建各種模型。組件庫分成8類,主要是泵、管道、報警燈、開關、顯示機構、閥門、其他、自定義組件??丶熘饕菫榇罱ㄔ韴D而提供的,當針對組件搭建好模型后,可以使用控件庫的控件搭建好完整的原理圖,然后進行仿真。組態(tài)界面是顯示搭建好的組態(tài)圖的地方,通過組態(tài)圖,可以了解工業(yè)流程,同時通過組態(tài)圖的組件可以下發(fā)和現(xiàn)實數(shù)據(jù)。當搭建好組態(tài)圖后,組件搭建好模型后,通過使用控件庫的控件搭建好完整的仿真原理圖,原理圖顯示在原理圖中,可以在原理圖中設置對象的參數(shù)、控制器參數(shù)、設定值
坐寸ο組件屬性欄主要功能是更改組件的屬性,當鼠標選擇一個組件后,組件屬性欄中會出現(xiàn)選擇的組件的屬性,可以通過屬性欄修改各項參數(shù)。然后,通過水箱仿真實例來對軟件進行,測試測試主要是通過2組實驗來測試的,第一組是使用實際的控制器控制實際的水箱、第二組是使用實際的PLC控制系統(tǒng)內(nèi)的PID控制器控制仿真系統(tǒng)中搭建的虛擬的水箱。通過對比以上兩組實驗來驗證軟件的仿真性倉泛。本實例選取的水箱是某鋼鐵廠實驗中心的一個小型水箱,該水箱由兩部分組成,以H2為分界,上部分為圓臺容器,下部分為圓柱容器。該模型的主要參數(shù)有R= 275mm、r = SOmnuH1 = 500mm、H2 = 155mm、此外,水箱實例還配有西門子變頻器、PLC、水泵、液位檢測儀器,水箱實例的結構圖如圖2所示。為了搭建上述的水箱仿真系統(tǒng),本文首先對現(xiàn)場的水箱模型建立仿真模型,通過機理分析與數(shù)據(jù)驅動相結合的方法,建立了水箱模型。該水箱模型主要分為進水模型和固定開度下的出水模型。1)進水模式
權利要求
1.一種基于MATLAB引擎的可視化過程控制實時仿真方法,其特征在于,基于三層架構的仿真系統(tǒng)實現(xiàn)實時仿真,所述的三層架構包括用戶界面層、數(shù)據(jù)管理層和仿真運行層;用戶界面層在Visual c++即VC環(huán)境下,加載Visual Graph ActiveX控件,形成用戶界面;數(shù)據(jù)管理層用于實現(xiàn)運行數(shù)據(jù)管理和模型數(shù)據(jù)管理;運行數(shù)據(jù)管理指運行數(shù)據(jù)的讀取和存儲,模型數(shù)據(jù)管理指對模型信息的設置及保存,所述的模型信息包括與原理圖和組態(tài)圖相關的結構和參數(shù)信息;數(shù)據(jù)管理層通過前臺通信接口與用戶操作層通信,數(shù)據(jù)管理層通過后臺通信接口與仿真運行層通信;仿真運行層對存儲于MATLAB workspace中的數(shù)據(jù)以及對由MATLAB運行時生成的數(shù)據(jù)文件進行訪問,并基于MATLAB引擎對數(shù)據(jù)進行運算,得到仿真結果數(shù)據(jù),仿真涉及到連接外部硬件時,仿真運行層還提供與外部硬件通信的通訊接口 ;三個層次之間設有內(nèi)部通訊接口用于數(shù)據(jù)的傳遞與保存,實現(xiàn)基于三層架構的仿真過程,所述的內(nèi)部通訊接口包括前臺通信接口和后臺通信接口。
2.根據(jù)權利要求1所述的基于MATLAB引擎的可視化過程控制實時仿真方法,其特征在于,用戶界面層包含以下四個部分(1)組件庫部分包括繪制組件圖時需要用到的元件或虛擬設備,使用MFC自帶的Ctrl List控件將組件庫顯示出來;使用外部加載的Visual Graph控件將組件庫文件打開,Ctrl List控件將Visual Graph控件的圖標轉換成List控件需要的圖標;(2)組態(tài)圖部分調用組件庫中的元件或虛擬設備繪制而成;組態(tài)圖由兩部分構成,分別是組態(tài)圖Visual Graph控件和組態(tài)圖屬性Visual Graph控件;組態(tài)圖VisualGraph控件負責顯示組態(tài)界面,組態(tài)圖Visual Graph控件負責顯示組態(tài)圖中每個元件的屬性,提供對元件屬性的查看和修改;(3)控件庫部分包括控制器控件、輸入控件、輸出控件、算術控件、延時控件、開關控件和邏輯控件;通過Ctrl List控件顯示控件庫,通過Visual Graph控件打開控件庫文件, Ctrl List控件將Visual Graph控件的圖標轉換成List控件需要的圖標;(4)原理圖部分原理圖通過調用控件庫中的控件繪制而成;通過原理圖VisualGraph 控件顯示原理圖界面,通過原理圖屬性Visual Graph控件顯示原理圖中每個控件的屬性, 提供對控件屬性的觀察和修改接口。
3.根據(jù)權利要求2所述的基于MATLAB引擎的可視化過程控制實時仿真方法,其特征在于,仿真運行層包括MATLAB引擎和simulink,通過調用MATLAB引擎使VC生成simulink 模型和讀取simulink運行的數(shù)據(jù),不斷地進行運算并產(chǎn)生數(shù)據(jù),并通過數(shù)據(jù)管理層將數(shù)據(jù)上傳到用戶界面層顯示,仿真涉及到連接外部硬件時,下發(fā)到與外部硬件通信的通訊接口以控制外部硬件,或者通過與外部硬件通信的通訊接口從外部硬件獲取數(shù)據(jù)或指令。
4.根據(jù)權利要求1-3任一項所述的基于MATLAB引擎的可視化過程控制實時仿真方法, 其特征在于,具體的仿真方式為如下三種方式的任一種方式1:使用虛擬控制器控制虛擬對象過程控制系統(tǒng)的控制器和控制對象均基于三層架構構建,在用戶界面層選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖,此時,組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自仿真數(shù)據(jù);無需采用實際控制器,也無需采用實際控制對象,整個仿真過程均在PC機的內(nèi)部完成。方式2 :使用虛擬控制器控制實際對象在用戶操作層選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖;組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自所述的實際對象;裝載有所述仿真系統(tǒng)的PC機通過板卡直接接收外部硬件設備的存儲器存儲的實際對象控制結果數(shù)據(jù),所述的PC機發(fā)送數(shù)據(jù)和控制信號到外部硬件設備的存儲器,實現(xiàn)仿真;方式3 :使用實際控制器控制虛擬對象在用戶操作層選擇組件庫中的組件構建用于模擬控制對象的組態(tài)圖,選擇控件庫中的控件構建用于模擬控制系統(tǒng)的原理圖;此時,組態(tài)圖和原理圖中涉及到控制對象的實時數(shù)據(jù)來自仿真數(shù)據(jù);原理圖中涉及到的控制器的控制參數(shù)來自外部硬件設備;裝載有所述仿真系統(tǒng)的PC機通過板卡直接接收外部硬件設備的控制器存儲的實際控制參數(shù),所述的PC機發(fā)送運行結果數(shù)據(jù)到外部硬件設備的控制器,實現(xiàn)仿真。
全文摘要
本發(fā)明公開了一種基于MATLAB引擎的可視化過程控制實時仿真方法,基于三層架構的仿真系統(tǒng)實現(xiàn)實時仿真,用戶界面層在Visual c++即VC環(huán)境下,加載Visual Graph ActiveX控件,形成用戶界面;數(shù)據(jù)管理層用于實現(xiàn)運行數(shù)據(jù)管理和模型數(shù)據(jù)管理;仿真運行層對存儲于MATLAB workspace中的數(shù)據(jù)以及對由MATLAB運行時生成的數(shù)據(jù)文件進行訪問,并基于MATLAB引擎對數(shù)據(jù)進行運算,得到仿真結果數(shù)據(jù);該基于MATLAB引擎的可視化過程控制實時仿真方法,不但充分利用了MATLAB的強大數(shù)據(jù)處理功能,還具有VC界面人性化、操作使用方便的優(yōu)點。
文檔編號G05B17/00GK103048929SQ201210570549
公開日2013年4月17日 申請日期2012年12月25日 優(yōu)先權日2012年12月25日
發(fā)明者曹衛(wèi)華, 王冠華, 吳敏, 陳都, 安劍奇 申請人:中南大學