張洪昌等
摘要: 針對半物理仿真(HardwareinLoop Simulation,HILS)中Modelica模型無法直接控制硬件設備的問題,基于Modelica研究硬件板卡接口控制模塊與多領域仿真模型的統(tǒng)一表達技術.分析可視化模型方程表達機理,建立硬件板卡的接口模型庫,從而在同一建模環(huán)境中實現多領域物理模型與硬件設備的關聯,并實現Modelica離線數字仿真模型至HILS模型的直接轉換,為基于Modelica的HILS應用提供技術支持.電機轉速控制HILS結果表明該方法可行.
關鍵詞:
半物理仿真; 多領域建模; 硬件接口; 可視化; Modelica
中圖分類號: TB391.9文獻標志碼: B
0引言
半物理仿真(HardwareinLoop Simulation,HILS)在機電系統(tǒng)設計與開發(fā)過程中的作用越來越顯著,也是當前機電控制系統(tǒng)仿真技術發(fā)展的重點.當前的HILS主要基于MATLAB/SIMULINK模型實現.近年來,隨著電子技術的發(fā)展和嵌入式控制的廣泛應用,機電系統(tǒng)的復雜化程度不斷增加,成為集機、電、液、控等不同領域子系統(tǒng)為一體的綜合體系.采用傳統(tǒng)的SIMULINK和AMESim等單一領域建模仿真方法和工具軟件對此類系統(tǒng)進行整體設計與分析時,不同領域的子系統(tǒng)之間形成相互作用、互相耦合的復雜關系,導致建模過程十分繁瑣和復雜,很難實現系統(tǒng)級的仿真分析應用.基于Modelica的多領域建模和仿真方法能很好地解決系統(tǒng)建模仿真過程中的耦合問題,使得其開始被越來越廣泛地關注和應用.
隨著工程中越來越普遍地使用Modelica多物理系統(tǒng)建模仿真方法,當前的HILS方法和技術很難與其結合應用.在實際工程應用中,需要分別建立系統(tǒng)的數字仿真模型和HILS模型.這就使得系統(tǒng)設計分析工作前后無法銜接,導致系統(tǒng)設計過程復雜、工作量大、研發(fā)周期長.因此,有必要研究支持Modleica多領域數字模型的HILS技術,從而解決當前系統(tǒng)設計分析中因模型不統(tǒng)一而存在的問題.其中,用于關聯數字仿真模型與HILS硬件接口的控制模塊是首先需要研究解決的關鍵技術之一.
1硬件接口控制模塊作用和原理
硬件接口控制模塊是HILS目標機中板卡信號接口與數字仿真模型之間的連接紐帶,用于實現數字仿真模型與目標機板卡接口之間的數據和信號傳遞,以及在建模環(huán)境中實現對目標機板卡的通道選擇、精度轉換等硬件參數設置,也是人機和模型設備間的交互接口.建模環(huán)境中的硬件接口控制模塊稱為硬件接口模型,多個硬件接口模型組成硬件接口模型庫.在建模環(huán)境中,硬件接口模型與普通模型的使用方法相同,并且可以通過GUI界面設置其參數.
在MATLAB/SIMULINK中,硬件接口模型的作用見圖1.硬件接口模型實際為相應目標機板卡接口的驅動程序函數集,其運行于MATLAB,SIMULINK,StateFlow和RTW等與RTSoftware和RTHardware之間,在各個分布軟件之間起信息傳遞和資源共享等作用.在建模環(huán)境中,對硬件接口模型進行操作,實際就是對其相應的目標機板卡接口進行操作;對硬件接口模型進行參數設置,實際就是通過板卡接口驅動程序實現對板卡接口的硬件參數設置.硬件接口模型必須滿足2點技術要求:1)符合數字仿真模型的建模規(guī)范,能夠在同一建模環(huán)境中實現兩者的統(tǒng)一建模;2)自身可以生成目標機運行的實時代碼,能夠在目標機中實現與數字仿真模型生成的實時代碼一起運行.
硬件接口模型在當前HILS系統(tǒng)中的具體作用體現為:1)標準I/O功能;2)指定部分模型為定時執(zhí)行;3)指定部分模型為軟件中斷;4)指定部分模型為硬件中斷;5)指定中斷和定時任務的優(yōu)先級;6)支持單采樣頻率和多采樣頻率;7)支持單任務模式和多任務模式;8)支持連續(xù)、離散、混合系統(tǒng).
在當前以MATLAB/SIMULINK為建模環(huán)境的HILS應用中,硬件接口模型存在的不足與面臨的問題有:1)數字仿真模型無法添加硬件接口模型時,必須對數字仿真模型進行分解處理,該過程只能通過手工分解方式實現,增加開發(fā)工作量,降低開發(fā)效率;2)當前用于控制系統(tǒng)的HILS應用的硬件接口模型均基于MATLAB/SIMULINK實現,對于Modelica多領域物理模型等在其他建模環(huán)境中所建立的模型必須通過相應技術轉換為SIMULINK模型,且必須滿足SIMULINK模型的仿真原理和求解計算要求,這使得建模過程復雜,并且相關軟件必須支持模型轉換和聯合仿真.
導致MATLAB/SIMULINK建模仿真軟件中的硬件接口模型出現上述不足的原因,一是數字仿真模型與HILS模型之間無法逆向轉換,數字仿真模型中添加硬件接口模型后,模型之間的信號傳遞中斷,模型的完整性被破壞,轉換后的HILS模型無法進行離線仿真,必須分別建立數字仿真模型和HILS模型;二是受限于MATLAB/SIMULINK建模機理,其主要用于控制系統(tǒng)建模,對控制器進行HILS驗證時,SIMULINK很難建立機、電、液等統(tǒng)一模型.
2基于Modelica的硬件接口模型原理分析
Modelica是一種開放的、面向對象的、以方程為基礎的多領域建模語言,可以跨越不同領域,建立包括機械、電子、電力、液壓、熱和控制等的復雜系統(tǒng)模型.基于Modelica規(guī)范的建模機理,可以很好地解決MATLAB/SIMULINK無法建立多領域模型這一難題.
通過分析MATLAB/SIMULINK建模仿真軟件中的硬件接口模型工作原理可知,在Modelica中實現硬件接口模型,也用以關聯Modelica數字仿真模型的輸入/輸出信號與HILS目標機板卡接口,因此硬件接口模型必須滿足Modelica建模規(guī)范要求,并且能夠與Modelica數字仿真模型一并生成目標機可運行的實時代碼.同時,Modelica數字仿真模型中添加硬件接口模型后,還必須保持模型的完整性,使得Modelica的HILS模型依然可以進行離線仿真,實現Modleica數字仿真模型與HILS模型的逆向轉換.
硬件接口模型破壞數字仿真模型完整性的關鍵原因是硬件接口模型將原數字仿真模型分解為多個子模型(即任務或子任務).根據模型編譯原理,對于無信息關聯的模型,編譯過程中將分別進行獨立處理.添加硬件接口模型后,由于失去了模型之間的關聯信息,使得分解后的模型在編譯過程中無法對各個子模型之間的信息進行傳遞.
基于Modelica規(guī)范的模型編譯原理主要是對模型的映射關系和模型方程的平坦化進行處理.在模型編譯過程中,編譯器需要對模型進行平坦化和實例化處理,陳述式的、面向對象的、具有層次結構的Modelica文本模型,被映射為平坦化的微分方程、代數方程和離散方程集合.因此,在Modelica建模環(huán)境中,欲實現硬件接口模型不破壞Modelica數字仿真模型完整性,必須針對模型編譯過程中的模型映射關系和平坦化原理及處理技術進行相應的技術研究.
以圖2中數學方程及其對應的Modelica數字仿真模型為例,Modelica模型映射及平坦化后的方程見圖3.
根據Modelica模型映射規(guī)則,若在圖2模型中虛線上圓圈標記位置加入硬件接口模型,則可以將硬件接口模型映射為一個輸入與輸出相等的方程,即“HI.inPort1= HI.outPort”.按照圖中虛線將模型分解為2部分子模型后,兩者的映射方程見圖4.
完整的Modelica模型被映射為2個方程塊后,兩者之間的關聯關系依然為“HI.inPort1= HI.outPort”,并且分解后的模型和平坦化方程依然滿足Modelica規(guī)范中“變量數等于方程數”的基本規(guī)則.
從上述分析可以看出,在硬件接口模型映射過程中,只要保持其關聯關系信息,就可以保持原數字仿真模型的完整性,因此,在硬件接口模型實現過程中,必須采取相應的措施和方法,使得模型編譯過程能夠識別該信息.此外,從模型平坦化方程中也可以看出,硬件接口僅適用于分解模型中無耦合關系的2個子模型,這與系統(tǒng)HILS應用過程中硬件接口模型的應用工況完全符合.
3基于Modelica規(guī)范的硬件接口模型實現
由于當前Modelica規(guī)范不完全具備建立硬件接口模型的功能,因此必須基于Modelica規(guī)范采用擴展Modelica語法方式建立HILS目標機板卡的硬件接口模型庫,從而實現在Modelica建模環(huán)境中以硬件接口模型方式表達目標機板卡的相關信息.[56]對于Modelica模型編譯器及其用于HILS目標機的代碼生成器,應采用增加目標機硬件系統(tǒng)的分層次處理方法,由單元至整體、由組件至系統(tǒng)分別建立子任務、任務、內核或處理器、目標機.根據目標機硬件系統(tǒng)層次劃分,對HILS模型依次進行定義和設置,以確定數字仿真模型分解出的各個子任務和任務最終運行的目標機,或者用于確定其運行于目標機處理器的具體內核.
在HILS目標機板卡接口模型庫中,需要建立以下幾個主要子模型庫[9]:
1)接口子模型庫,是目標機板卡接口模型庫的基本部件庫,用以定義板卡及板卡的通信接口,即確定目標機板卡的使用邊界,選擇目標機的板卡等實際硬件,并實現HILS模型與目標機板卡管理.板卡接口可以是同一個目標機中的板卡外部I/O,網絡通訊接口或者目標機內部的任務通信接口.
2)通訊子模型庫,是HILS目標機板卡接口模型庫的中心部分,也是系統(tǒng)數字仿真模型轉換為HILS模型時必需使用的子模型庫.用于協助開發(fā)目標機中各個板卡接口的開源驅動程序,同時也是板卡接口驅動程序的框架定義,能夠通過圖形化界面實現用戶與板卡接口之間的信息交互.
3)配置子模型庫,用以設置HILS目標機處理器和各個板卡的任務、子任務、信號采樣和輸出保持等參數,并將其定義為通用模板,在此基礎上進行應用擴展.
以電機轉速閉環(huán)控制為例,基于Modelica規(guī)范的硬件接口控制技術,開發(fā)硬件接口模型庫,采用Modelica標準模型庫中的信號源、計算、PID控制、電機和負載等基礎模型組件,通過可視化的拖放式建模操作方法,建立電機轉速控制多領域HILS模型,見圖5.
示例模型主要由3部分構成:轉速控制器子模型controller.ref,速度反饋控制器子模型controller.feedback和電機設備子模型plant.在HILS過程中,3個子模型均以獨立任務實時運行.其中,轉速控制子模型映射任務和速度反饋控制器子模型映射任務運行于同一目標機中,兩者之間通過目標機內部的任務接口進行數據通信;電機設備子模型映射任務運行于另一目標機中.
3個子模型之間的硬件接口模型使用通信子模型,其將模型分解為3個不同部分,同時也作為任務或子任務接口,并用于調用硬件驅動和配置硬件運行參數.示例模型中的comedi模塊[10]屬于配置子模型庫,用于配置目標機的運行參數,包括時鐘、初始化、網絡通信地址等信息.通訊子模型和配置子模型共同把HILS模型映射到多個目標機中,通過兩者的配置信息,使得Modelica數字仿真模型可以自動轉化為HILS模型.
4結束語
研究基于Modleica規(guī)范的硬件接口控制技術,提出一種不同于傳統(tǒng)SIMULINK模型接口的、新型模型設備接口設計方法和一種新的HILS模型的建模方法,同時擴展多領域物理模型設計過程中的延伸應用,有效地支持多領域混合復雜機電系統(tǒng)建模仿真設計及HILS分析驗證.基于Modleica規(guī)范建立的硬件接口模型,可以很好地與Modelica數字仿真模型運行于同一建模環(huán)境中,實現Modelica數字仿真模型與HILS目標機板卡接口的關聯以及兩者之間的信息傳遞,并可以實現對HILS目標機和板卡接口進行相應的參數設置和信號輸入/輸出控制.該接口模型技術可簡化建模仿真應用過程,提高系統(tǒng)研發(fā)效率,降低研發(fā)工作量.
參考文獻:
[1]
于濤, 曾慶良. 基于仿真建模語言Modelica的多領域仿真實現[J]. 山東科技大學學報(自然科學版). 2005, 24(4): 1316.
YU Tao, ZENG Qingliang. Multidomain simulation based on modeling language Modelica[J]. J Shandong Univ Sci & Technol(Nat Sci), 2005, 24(4): 1316.
[2]張洪昌. 信息物理融合的機電產品數字化設計關鍵技術研究[D]. 武漢: 華中科技大學, 2012.
[3]張德永, 王波興. 基于RTAI與Comedi的倒立擺控制系統(tǒng)實時接口設計[J]. 自動化應用, 2013(4): 8587.
ZHANG Deyong, WANG Boxing. Realtime interface for inverted pendulum based on RTAI and Comedi[J]. Automation Application, 2013(4): 8587.
[4]周凡利. 工程系統(tǒng)多領域統(tǒng)一模型編譯映射與仿真求解研究[D]. 武漢: 華中科技大學, 2011.
[5]唐俊杰, 郭俊峰, 周凡利. Modelica模型的序列化方法[J]. CAD/CAM與制造業(yè)信息化, 2012(10): 98100.
TANG Junjie, GUO Junfeng, ZHOU Fanli. Serialization methods of Modelica model[J]. Digital Manufacturing Industry, 2012(10): 98100.
[6]溫勁, 龔雄. Modelica動態(tài)組件建模與仿真[J]. 計算機應用與軟件, 2012, 29(9): 199202.
WEN Jin, GONG Xiong. Modelling and simulation of Modelica dynamic component[J]. Comput Applications & Software, 2012, 29(9): 199202.
[7]ELMQVIST H, OTTER M, HENRIKSSON D , et al. Modelica for Embedded Systems[C]// Proc 7th Modelica Conf. Linkping, 2010: 354363.
[8]AKESSON J, NORDSTROM U, ELMQVIST H. Dymola and Modelica_EmbeddedSystems in teachingexperiences from a project course[C]// Proc 7th Modelica Conf. Como, 2009: 603611.
[9]ELMQVIST H, MATTSSON S E, OTTER M. ObjectOriented and Hybrid Modeling in Modelica[J]. J Européen des systèmes automatisés, 2001(1): 122.
[10]張玉華, 黃熊泉. 基于Comedi的數據采集技術的分析研究[J]. 計算機工程與設計, 2011, 32(6): 19831986.
ZHANG Yuhua, HUANG Xiongquan. Research of data acquisition technology based on Comedi[J]. Comput Eng & Des, 2011, 32(6): 19831986.
(編輯武曉英)