周文璋,張鑫彬,鮮亞平,陳 勇
(1.電子科技大學能源科學與工程學院,四川成都611731;2.電子科技大學電動汽車動力系統與安全技術研究所,四川成都611731;3.上海伺服系統工程技術研究中心,上海201109;4.上海航天控制技術研究所,上海201109)
基于AMESim主平臺的Simulink/Flowmaster聯合仿真技術研究
周文璋1,2,張鑫彬3,4,鮮亞平3,4,陳 勇1,2
(1.電子科技大學能源科學與工程學院,四川成都611731;2.電子科技大學電動汽車動力系統與安全技術研究所,四川成都611731;3.上海伺服系統工程技術研究中心,上海201109;4.上海航天控制技術研究所,上海201109)
為更簡便地實現AMESim,Simulink,Flowmaster三個軟件平臺的聯合仿真,提出了一種基于AMES-im主平臺的Simulink/Flowmaster聯合仿真方案,用AMESim平臺調用Simulink模塊接口以及AMESim/Flowmaster平臺提供的二次開發的功能實現AMESim,Simulink,Flowmaster三個軟件的聯合仿真。先進行AMESim/Simulink平臺間通信,通過兩者間的軟件接口將Simulink模塊導出為AMESim可調用模塊,實現聯合。再進行AMESim/Flowmaster平臺間聯合,因AMESim/Flowmaster平臺間無直接接口,用這兩個軟件提供的二次開發功能,通過讀寫數據庫實現兩者的數據通信,其中與讀寫數據庫通信相關的函數庫需提前開發。再次建立三個平臺各自的模塊,實現三者的聯合仿真。案例證明了該聯合仿真系統的可行性。該法可用于類似平臺間的聯合。
聯合仿真;AMESim主平臺;Simulink平臺;Flowmaster平臺;接口;二次開發;元件模型
航天航空系統領域中的測試是重要的設計與制造性能驗證,但很多時候無法滿足測試的條件,目前建模和仿真成為科學研究和產品設計中主要技術。隨著工業技術和相關學科的快速發展,航天系統機電和網絡一體化,系統日趨復雜,對航天系統的設計提出了更高的標準和要求,傳統的實物測試和單一軟件仿真已不能滿足系統研究和設計的需求了。為更好地研究多學科交叉的復雜系統,實現仿真的真實性和精確性,利用各平臺的優點,進行聯合仿真的技術已越來越普遍。文獻[1-3]用Matlab平臺高效的編程效率和強大的數學計算功能,以及AMESim平臺簡便地建立精確的物理模型等優點實現了兩個平臺的聯合仿真;文獻[4]將Matlab,Flowmaster流體仿真平臺進行聯合實現車輛和發動機預熱溫度的變化預測研究;文獻[5]介紹了一些軟件平臺的聯合技術在航空領域的應用。為更簡便地實現多平臺的聯合仿真,多個軟件開發公司和研究者在研究相關平臺間聯合技術。目前在工程和科學研究中經常使用的聯合技術有:一是通過各軟件間已開發的接口和功能實現聯合仿真。如文獻[6]用AMESim,Simulink平臺間的接口實現電液位置伺服系統動態研究;文獻[7-9]通過Matlab/Flowmaster接口技術,實現Simulink平臺中調用Fowmaster模塊;文獻[10]用AMESim,Simulink與Recur-Dyn平臺接口技術實現掘進機截割部回轉機構建模與聯合仿真等。但該方法受軟件能力限制,若某軟件接口拓展性不強,多個平臺間的聯合仿真就會受限。如AMESim,Simulink,Flowmaster三個平臺聯合仿真,但Flowmaster,AMESim平臺間無連接接口,因此難以按需求設計聯合仿真模式。二是通過系統某種結構規范實現聯合,如HLA,DIS體系架構,它們除用于軍事領域外,在商業管理、工業生產和公共管理等其它領域也有較廣泛的使用。三是利用FMI(Functional Mock-up Interface)實現聯合仿真,這主要用于汽車設計和仿真。基于對Simulink,AMESim,Flowmaster平臺的大量研究,本文提出了一種基于AMESim主平臺的Simulink/Flowmaster聯合仿真方案,該方案主要是將提前在Simulink設計好的控制模塊和Flowmaster設計好的流體模塊通過某種接口及協議與AMESim進行聯合。
1.1 聯合仿真框架
本文提出聯合仿真方案如圖1所示。第一步進行AMESim/Simulink間通信,通過AMESim/Simulink間的軟件接口將Simulink模塊導出為AMESim可調用模塊,實現聯合;第二步進行AMESim/Flowmaster間聯合,由于AMESim/Flowmaster間無直接接口,本文用這兩個軟件提供的二次開發功能,通過讀寫數據庫(讀寫數據庫通信相關的函數庫需提前開發)實現這兩個軟件的數據通信;第三步建立三個平臺各自的模塊,由上述步驟實現三者的聯合仿真。
1.2 AMESim/Slimulink聯合
1.2.1 聯合接口
AMESim,Simulink平臺均自帶聯合仿真接口。該接口類型有兩種:一種是將AMESim模塊導出成Simulink可調用模塊;另一種是將Simulink模塊導出為AMESim可調用的模塊,如圖2所示。該方案以AMESim為主平臺,因此采用將Simulink模塊導出為AMESim可調用模塊的聯合仿真方案。
1.2.2 接口實現
在Simulink中新建PID控制模塊,在Matlab控制命令中輸入sl2amecosim(‘PIDCTRL’,’E:\Work\PID’,‘auto’),生成AMESim子模型。其中:PIDCTRL為模塊名,’E:\Work\PID’是生成文件的存儲路徑,如圖3所示。圖3中:輸入1,輸出1是與AMESim通信的接口,是必須有的,并設置仿真方式為固定步長的仿真。
在AMESim中選擇Modeling→Category settings→Add category,新建一個元件類型,并利用AMESet自定義一個元件,將上述生成的模型導入元件中,如圖4所示。
1.3 AMESim/Flowmaster聯合
1.3.1 聯合接口
AMESim,Flowmaster平臺未提供聯合仿真的接口,但各自都有二次開發功能。本文利用這兩個軟件的二次開發功能,調用編寫好的函數庫,通過讀寫數據庫進行聯合仿真和數據通信。AMESim/Flowmaster聯合框架如圖5所示。
1.3.2 接口實現
為用AMESim/Flowmaster平臺進行聯合仿真,開發了用于通信的函數庫,在每步處理函數中調用函數庫中Communication(int inPorts,int out-Ports,double[]inPorts Data,double*outPorts-Data)函數進行通信。該函數的算法如圖6所示。
利用AMESet模塊自定義一個實際需要的端口元件,設置端口變量和參數,如圖7所示。元件的端口變量和參數設置后,在代碼模型中添加代碼,編譯。就此完成了AMESim通信元件的創建。
在Flowmaster中自定義一個元件,元件模型設計對話框如圖8所示。圖8中:1為元件模型名稱;2為端口設計;3為信號設計;4為參數設計;5為元件模型描述;6為參數的仿真類型;7為代碼模板。按實際需要添加通道端口、信號端口和變量參數,再創建代碼模板,在圖9所示對話框中選擇適當的待實現的功能庫。Mandatory Interfaces是基礎接口,都需選擇;Advisable Interfaces接口可根據需要選擇性選取,但IInitialiseModel,IReultProvider一般是需要選取的;Specialist Interfaces中選取IcSignalConsumer用于獲取信號端的數據。此處,所建的元件是控制類型,故在Controller Interfaces中選取ISpecialistController 1,IFM_Controller Base,IRunTimeChart Support 1。其中:前兩個提供自動更新函數和輸出端口變量;第三個提供窗口顯示的模板,用于顯示指定觀察的信號,其它接口可根據需要適當選取。
創建代碼模板后,在VC或VS上創建一個c#的dll庫工程,將上述生成的代碼文件及所需的接口庫加入工程中,并在圖10中添加紅色方框的代碼,進行編譯,最后將工程下生成的dll庫放到Flowmaster的安裝目錄下,完成元件模型的創建。
完成代碼模型的創建后,進行元件創建,如圖11所示。選擇上述創建的元件模型,在為上述的元件模型選擇合適的圖標,如圖12所示。
根據本文方法設置的AMESim與Simulink,Flowmaster聯合接口,可實現以AMESim為主平臺的Simulink,Flowmaster聯合仿真平臺。
該方案的核心是用Simulink平臺設計更好的控制算法,用Flowamster平臺實現系統的流體模塊,通過AMESim平臺實現系統主體模塊。當研究的問題側重于系統本身的性能時,可調用預先設計的控制算法和系統流體模型,在AMESim平臺上修改系統模型和結構參數對系統性能進行優化。這既充分利用了每個軟件平臺的優勢,又簡化了大型復雜系統的設計,使設計人員更專注于系統本身的設計和研究。
某電液伺服系統預先設計的控制策略和流體模型如圖13(a)、(b)所示。其中:前者為在Simulink平臺中設計的PID控制算法;后者為在Flowmaster平臺中實現簡化的負載模型。在AMESim中設計的系統的主體模塊(伺服系統)如圖13(c)所示,可通過修改元件參數優化系統的性能[11]。另外,在圖13(c)中增加了一個輸入端,由1中constant元件輸出數據提供,這樣就可在AMESim平臺上修改控制模塊的多個內部參數和變量。由此,實現了該電液伺服系統的AMESim,Simulink,Flowmaster三個平臺的聯合仿真。
對航天領域中控制、液壓、機械和電氣一體化的大型復雜系統,本文提出了基于AMESim主平臺的Simulink/Flowmaster聯合仿真技術。這種聯合仿真技術主要是以AMESim為主平臺,通過AMES-im與Simulink的接口實現對Simulink中控制算法模塊的調用,以及利用AMESim,Flowmaster平臺提供的二次開發功能,通過讀寫數據文件實現數據通信,完成聯合仿真。這種聯合仿真技術不僅可用于本文使用的三個軟件間的聯合仿真,而且能與本文使用的三個軟件類似的平臺進行聯合(可根據需要增加庫中功能函數及轉換對應語言版本),比如FLUENT等平臺。
[1] FU Yong-ling,FAN Dian-liang,QI Hai-tao,et al.The application of co-simulation based on AMESim and Matlab in electro-hydraulic servo system[C]//2011International Conference on Electronic and Mechanical Engineering and Information Technology(EMEIT).Harbin:[s.n.],2011:3547-3550.
[2] FERRERSUAY M,SELFA J,PUJADEVILLAR J.Optimization of the control strategy for EHA-VPVM system[C]//2011International Conference on Electronic and Mechanical Engineering and Information Technology(EMEIT).Harbin:[s.n.],2011:1856-1859.
[3] ZHANG D X,ZENG X h,WANG P Y,et al.Cosimulation with AMESim and MATLAB for differential dynamic coupling of hybrid electric vehicle[C]//Intelligent Vehicles Symposium 2009.Xi’an:IEEE,2009:761-765.
[4] MOFFAT J,FARID M,DAVIES M.The use of cosimulation to predict vehicle and engine warm-up temperature transients[C]//6th Vehicle Thermal Man-agement Systems Conference:[S.l.]:[s.n.],2003:763-775.
[5] 魯金直.異構仿真系統聯合仿真技術研究及在航空領域的應用[D].武漢:華中科技大學,2013.
[6] LI Yi-jun,WU Yong-liang,LI Xin,et el.Simulation and optimization of electro-hydraulic position servo system based on the AMESim/Matlab[C]//2013 Fifth International Conference on Computational and Information Sciences(ICCIS).Shiyang:[s.n.],2013:1792-1795.
[7] 羅玉華.飛機座艙溫度控制方法研究[D].南京:南京航空航天大學,2013.
[8] STEINKELLNER S,ANDERSSON H.Modeling and simulation of Saab Gripen’s vehicle systems[C]//Modeling and Simulation Technologies Conference.Chicago:[s.n.],2009:1-15.
[9] REN Guo-zhe,LIU Zhen-xia,ZHU Peng-fei,et al.Simulation platform on flow and heat transfer of aeroengine secondary air system[C]//International Conference on Intelligent Systems Research and Mechatronics Engineering.Zhengzhou:[s.n.],2015:2230-2235.
[10] 趙中奇,閆炳雷,楊文林,等.基于AMESim、Simulink與RecurDyn的掘進機截割部回轉機構建模與聯合仿真[J].煤礦機械,2012,33(5):48-50.
[11] GUO D,XU X.Application of active disturbance rejection control technology to extraneous force elimination[C]//2014 33rd Chinese Control Conference(CCC).Nanjing:[s.n.],2014:8102-8106.
United Simulation System of Simulink/Flowmaster on AMESim Main Platform
ZHOU Wen-zhang1,2,ZHANG Xin-bin3,4,XIAN Ya-ping3,4,CHEN Yong1,2
(1.School of Energy Science and Engineering,University of Electronic Science and Technology of China,Chengdu 611731,Sichuan,China;2.Institute of Electric Vehicle Driving System and Safety Technology,University of Electronic Science and Technology of China,Chengdu 611731,Sichuan,China;3.Shanghai Servo System Engineering and Technological R&D Center,Shanghai 201109,China;4.Shanghai Institute of Spaceflight Control Technology,Shanghai 201109,China)
To realize simulation more simply using AMESim,Simulink,Flowmaster platforms,a united simulation system of simulink/flowmaster on AMESim main platform was proposed.The united simulation among AMESim,Simulink and Flowmaster platforms was realized by using AMESim call Simulink model interface and AMESim/Flowmaster affording a secondary development function.First,the communication between AEESim and Simulink platforms was established.The Simulink module was used as AMEsim call module through the interface between two platforms.Then the connection of AMESim/Flowmaster was set up.Because there was no direct interface between the two platforms,the data communication of the two platforms was realized by read and write data base through the secondary development function of the two platforms.The function base relative to the communication with the read and write data base shall be developed in advance.Last,respective modules of the three platforms were established to realize the united simulation.An example case showed that the united simulation system was feasible.The strategy can be used in the united simulation among other platforms similar to these three platforms.
united simulation;AMESim main platform;Simulink platform;Flowmaster platform;interface;secondary development;component model
TP311.52
A
10.19328/j.cnki.1006-1630.2017.01.020
1006-1630(2017)01-0121-06
2016-06-06;
2016-07-12
四川省科技支撐項目資助(2013GZ0054,2013GZX0152);上海航天科技創新基金資助(SAST2015080)
周文璋(1993—),男,碩士生,主要研究方向為信息處理和聯合仿真技術。