本發(fā)明屬于計算機仿真與建模領(lǐng)域,具體而言涉及一種數(shù)字化儀表創(chuàng)建方法。
背景技術(shù):
Modelica是國際仿真界于1997年提出的一種開放的全新多領(lǐng)域統(tǒng)一建模語言,它歸納和統(tǒng)一了先前多種建模語言,且融合了鍵合圖的非因果建模思想、Java語言的面向?qū)ο蠹夹g(shù)和Matlab的數(shù)值與矩陣機制,因而具備極其強大的建模功能。面向?qū)ο笮院头且蚬允荕odelica 語言最大的優(yōu)點。面向?qū)ο蟮慕7椒ň哂袛?shù)據(jù)封裝、分層、連接和繼承等特征,易于減少錯誤的發(fā)生并容易實現(xiàn)模型的重用。所謂非因果性建模,就是以一種中性、自然的形式表達模型方程,從而不必更多的考慮計算順序,避免了對模型方程的繁瑣推導(dǎo),從而提高了建模效率,并使部件模型易于被重復(fù)使用。Modelica語言采用陳述式、基于方程的非因果建模方法建立模型,通過定義接口,使模型接口的標準化,因此采用Modelica建??梢允刮锢硐到y(tǒng)各子系統(tǒng)之間既能完全獨立又可互相統(tǒng)一。
DynamicBlock庫是基于Modelica構(gòu)建的動態(tài)組件庫,里面有一些穩(wěn)定的、可復(fù)用的動態(tài)組件,如指示燈、速度計、數(shù)值顯示器、餅圖等。
MWorks是新一代多領(lǐng)域工程系統(tǒng)建模、仿真、分析與優(yōu)化通用CAE平臺,基于Modelica語言,提供了從可視化建模、仿真計算到結(jié)果分析的完整功能,支持多學科多目標優(yōu)化、硬件在環(huán)仿真以及與其他工具的聯(lián)合仿真。
隨著計算機仿真與建模技術(shù)越來越多的應(yīng)用到各種運行系統(tǒng)中,數(shù)字化儀表的重要性越來越高,系統(tǒng)設(shè)計人員對數(shù)字化儀表的實時性、準確性也變得尤為關(guān)注,這對虛擬儀表的設(shè)計與開發(fā)提出了很高的要求。
在系統(tǒng)的動態(tài)仿真中,數(shù)字化儀表應(yīng)能準確反映系統(tǒng)運行過程中的多種參數(shù),模擬速度、溫度、角度、時間及里程等信息實時顯示在仿真工具界面上,提供與真實系統(tǒng)完全相同的運行環(huán)境。
以往的虛擬數(shù)字化儀表創(chuàng)建方法,例如基于C/C++、Python等,往往不適用于復(fù)雜物理結(jié)構(gòu)的儀表建模,就算創(chuàng)建出滿足基本需求的數(shù)字化儀表模型,也存在開發(fā)周期長、易出錯、模型復(fù)用性低等問題。
技術(shù)實現(xiàn)要素:
為克服現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于提供一種基于Modelica的數(shù)字化儀表創(chuàng)建方法,該創(chuàng)建方法建模效率高,所獲得的數(shù)字化儀表的數(shù)值具有較高的實時性和準確性,不易出錯,適應(yīng)虛擬數(shù)字化儀表的未來需求。
為實現(xiàn)上述技術(shù)目的,達到上述技術(shù)效果,本發(fā)明通過以下技術(shù)方案實現(xiàn):
一種基于Modelica的數(shù)字化儀表創(chuàng)建方法,其包括以下步驟:
步驟1)利用MWorks仿真平臺,從DynamicBlock動態(tài)組件庫中選擇數(shù)值顯示器組件,所述DynamicBlock動態(tài)組件庫是利用Modelica語言構(gòu)建的動態(tài)組件模型庫,創(chuàng)建一個模型作為數(shù)字化儀表;
步驟2)在所述模型的文本中定義一個變量,所述變量的值將作為所述數(shù)字化儀表上顯示的數(shù)值;
步驟3)調(diào)用所述Modelica的標準語義DynamicSelect,所述標準語義DynamicSelect是所述Modelica語言提供的標準動態(tài)選擇函數(shù),并將所述標準語義DynamicSelect返回值賦給所述變量,使所述變量具有了動態(tài)更新屬性,將所述標準語義DynamicSelect的第一參數(shù)設(shè)為常量表達式,代表默認狀態(tài)下所述數(shù)字化儀表的顯示數(shù)值,將第二參數(shù)設(shè)為變量或變量引用,代表仿真狀態(tài)下所述數(shù)字化儀表的顯示數(shù)值;
步驟4)在所述MWorks參數(shù)面板中,找到參數(shù)coupling_variable,所述參數(shù)coupling_variable是所述DynamicBlock動態(tài)組件庫提供的數(shù)值顯示器組件顯示數(shù)值屬性,將所述參數(shù)coupling_variable的值設(shè)置為所述變量 ;
步驟5)將所述MWorks仿真平臺的仿真模式設(shè)置為實時同步仿真,驅(qū)動模型進行仿真,數(shù)值顯示器的數(shù)值動態(tài)變化展示了所述數(shù)字化儀表的效果;
步驟6)結(jié)束。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
1)本發(fā)明的創(chuàng)建方法可以快速搭建復(fù)雜物理結(jié)構(gòu)的數(shù)字化儀表模型,提高建模效率(基于Modelica的DynamicBlock動態(tài)組件庫里,提供了許多可復(fù)用的動態(tài)組件模型,可以用來快速搭建數(shù)字化儀表模型);
2)本發(fā)明的創(chuàng)建方法圖形化展示豐富多樣,已有大量可復(fù)用的儀器儀表原型(MWorks仿真平臺支持用戶自定義數(shù)字化儀表的外觀);
3)本發(fā)明的創(chuàng)建方法獲得的數(shù)字化儀表在動態(tài)仿真過程中,儀表數(shù)值具有較高的實時性和準確性,適應(yīng)了虛擬數(shù)字化儀表的未來需求(Modelica標準語義DynamicSelect提供了準確的動態(tài)更新屬性);
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,并可依照說明書的內(nèi)容予以實施,以下以本發(fā)明的較佳實施例并配合附圖詳細說明如后。本發(fā)明的具體實施方式由以下實施例及其附圖詳細給出。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1為本發(fā)明的基于Modelica的數(shù)字化儀表創(chuàng)建方法的流程圖。
具體實施方式
下面將參考附圖并結(jié)合實施例,來詳細說明本發(fā)明。
參見圖1所示,一種基于Modelica的數(shù)字化儀表創(chuàng)建方法,其包括以下步驟:
步驟1)利用MWorks仿真平臺,從DynamicBlock動態(tài)組件庫中選擇數(shù)值顯示器組件,所述DynamicBlock動態(tài)組件庫是利用Modelica語言構(gòu)建的動態(tài)組件模型庫,創(chuàng)建一個模型作為數(shù)字化儀表;
步驟2)在所述模型的文本中定義一個變量,所述變量的值將作為所述數(shù)字化儀表上顯示的數(shù)值;
步驟3)調(diào)用所述Modelica的標準語義DynamicSelect,所述標準語義DynamicSelect是所述Modelica語言提供的標準動態(tài)選擇函數(shù),并將所述標準語義DynamicSelect返回值賦給所述變量,使所述變量具有了動態(tài)更新屬性,將所述標準語義DynamicSelect的第一參數(shù)設(shè)為常量表達式,代表默認狀態(tài)下所述數(shù)字化儀表的顯示數(shù)值,將第二參數(shù)設(shè)為變量或變量引用,代表仿真狀態(tài)下所述數(shù)字化儀表的顯示數(shù)值;
步驟4)在所述MWorks參數(shù)面板中,找到參數(shù)coupling_variable,所述參數(shù)coupling_variable是所述DynamicBlock動態(tài)組件庫提供的數(shù)值顯示器組件顯示數(shù)值屬性,將所述參數(shù)coupling_variable的值設(shè)置為所述變量 ;
步驟5)將所述MWorks仿真平臺的仿真模式設(shè)置為實時同步仿真,驅(qū)動模型進行仿真,數(shù)值顯示器的數(shù)值動態(tài)變化展示了所述數(shù)字化儀表的效果;
步驟6)結(jié)束。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。