周文璋,張鑫彬,鮮亞平,陳 勇
(1.電子科技大學能源科學與工程學院,四川成都611731;2.電子科技大學電動汽車動力系統(tǒng)與安全技術(shù)研究所,四川成都611731;3.上海伺服系統(tǒng)工程技術(shù)研究中心,上海201109;4.上海航天控制技術(shù)研究所,上海201109)
基于AMESim主平臺的Simulink/Flowmaster聯(lián)合仿真技術(shù)研究
周文璋1,2,張鑫彬3,4,鮮亞平3,4,陳 勇1,2
(1.電子科技大學能源科學與工程學院,四川成都611731;2.電子科技大學電動汽車動力系統(tǒng)與安全技術(shù)研究所,四川成都611731;3.上海伺服系統(tǒng)工程技術(shù)研究中心,上海201109;4.上海航天控制技術(shù)研究所,上海201109)
為更簡便地實現(xiàn)AMESim,Simulink,F(xiàn)lowmaster三個軟件平臺的聯(lián)合仿真,提出了一種基于AMES-im主平臺的Simulink/Flowmaster聯(lián)合仿真方案,用AMESim平臺調(diào)用Simulink模塊接口以及AMESim/Flowmaster平臺提供的二次開發(fā)的功能實現(xiàn)AMESim,Simulink,F(xiàn)lowmaster三個軟件的聯(lián)合仿真。先進行AMESim/Simulink平臺間通信,通過兩者間的軟件接口將Simulink模塊導出為AMESim可調(diào)用模塊,實現(xiàn)聯(lián)合。再進行AMESim/Flowmaster平臺間聯(lián)合,因AMESim/Flowmaster平臺間無直接接口,用這兩個軟件提供的二次開發(fā)功能,通過讀寫數(shù)據(jù)庫實現(xiàn)兩者的數(shù)據(jù)通信,其中與讀寫數(shù)據(jù)庫通信相關(guān)的函數(shù)庫需提前開發(fā)。再次建立三個平臺各自的模塊,實現(xiàn)三者的聯(lián)合仿真。案例證明了該聯(lián)合仿真系統(tǒng)的可行性。該法可用于類似平臺間的聯(lián)合。
聯(lián)合仿真;AMESim主平臺;Simulink平臺;Flowmaster平臺;接口;二次開發(fā);元件模型
航天航空系統(tǒng)領(lǐng)域中的測試是重要的設計與制造性能驗證,但很多時候無法滿足測試的條件,目前建模和仿真成為科學研究和產(chǎn)品設計中主要技術(shù)。隨著工業(yè)技術(shù)和相關(guān)學科的快速發(fā)展,航天系統(tǒng)機電和網(wǎng)絡一體化,系統(tǒng)日趨復雜,對航天系統(tǒng)的設計提出了更高的標準和要求,傳統(tǒng)的實物測試和單一軟件仿真已不能滿足系統(tǒng)研究和設計的需求了。為更好地研究多學科交叉的復雜系統(tǒng),實現(xiàn)仿真的真實性和精確性,利用各平臺的優(yōu)點,進行聯(lián)合仿真的技術(shù)已越來越普遍。文獻[1-3]用Matlab平臺高效的編程效率和強大的數(shù)學計算功能,以及AMESim平臺簡便地建立精確的物理模型等優(yōu)點實現(xiàn)了兩個平臺的聯(lián)合仿真;文獻[4]將Matlab,F(xiàn)lowmaster流體仿真平臺進行聯(lián)合實現(xiàn)車輛和發(fā)動機預熱溫度的變化預測研究;文獻[5]介紹了一些軟件平臺的聯(lián)合技術(shù)在航空領(lǐng)域的應用。為更簡便地實現(xiàn)多平臺的聯(lián)合仿真,多個軟件開發(fā)公司和研究者在研究相關(guān)平臺間聯(lián)合技術(shù)。目前在工程和科學研究中經(jīng)常使用的聯(lián)合技術(shù)有:一是通過各軟件間已開發(fā)的接口和功能實現(xiàn)聯(lián)合仿真。如文獻[6]用AMESim,Simulink平臺間的接口實現(xiàn)電液位置伺服系統(tǒng)動態(tài)研究;文獻[7-9]通過Matlab/Flowmaster接口技術(shù),實現(xiàn)Simulink平臺中調(diào)用Fowmaster模塊;文獻[10]用AMESim,Simulink與Recur-Dyn平臺接口技術(shù)實現(xiàn)掘進機截割部回轉(zhuǎn)機構(gòu)建模與聯(lián)合仿真等。但該方法受軟件能力限制,若某軟件接口拓展性不強,多個平臺間的聯(lián)合仿真就會受限。如AMESim,Simulink,F(xiàn)lowmaster三個平臺聯(lián)合仿真,但Flowmaster,AMESim平臺間無連接接口,因此難以按需求設計聯(lián)合仿真模式。二是通過系統(tǒng)某種結(jié)構(gòu)規(guī)范實現(xiàn)聯(lián)合,如HLA,DIS體系架構(gòu),它們除用于軍事領(lǐng)域外,在商業(yè)管理、工業(yè)生產(chǎn)和公共管理等其它領(lǐng)域也有較廣泛的使用。三是利用FMI(Functional Mock-up Interface)實現(xiàn)聯(lián)合仿真,這主要用于汽車設計和仿真?;趯imulink,AMESim,F(xiàn)lowmaster平臺的大量研究,本文提出了一種基于AMESim主平臺的Simulink/Flowmaster聯(lián)合仿真方案,該方案主要是將提前在Simulink設計好的控制模塊和Flowmaster設計好的流體模塊通過某種接口及協(xié)議與AMESim進行聯(lián)合。
1.1 聯(lián)合仿真框架
本文提出聯(lián)合仿真方案如圖1所示。第一步進行AMESim/Simulink間通信,通過AMESim/Simulink間的軟件接口將Simulink模塊導出為AMESim可調(diào)用模塊,實現(xiàn)聯(lián)合;第二步進行AMESim/Flowmaster間聯(lián)合,由于AMESim/Flowmaster間無直接接口,本文用這兩個軟件提供的二次開發(fā)功能,通過讀寫數(shù)據(jù)庫(讀寫數(shù)據(jù)庫通信相關(guān)的函數(shù)庫需提前開發(fā))實現(xiàn)這兩個軟件的數(shù)據(jù)通信;第三步建立三個平臺各自的模塊,由上述步驟實現(xiàn)三者的聯(lián)合仿真。
1.2 AMESim/Slimulink聯(lián)合
1.2.1 聯(lián)合接口
AMESim,Simulink平臺均自帶聯(lián)合仿真接口。該接口類型有兩種:一種是將AMESim模塊導出成Simulink可調(diào)用模塊;另一種是將Simulink模塊導出為AMESim可調(diào)用的模塊,如圖2所示。該方案以AMESim為主平臺,因此采用將Simulink模塊導出為AMESim可調(diào)用模塊的聯(lián)合仿真方案。
1.2.2 接口實現(xiàn)
在Simulink中新建PID控制模塊,在Matlab控制命令中輸入sl2amecosim(‘PIDCTRL’,’E:\Work\PID’,‘a(chǎn)uto’),生成AMESim子模型。其中:PIDCTRL為模塊名,’E:\Work\PID’是生成文件的存儲路徑,如圖3所示。圖3中:輸入1,輸出1是與AMESim通信的接口,是必須有的,并設置仿真方式為固定步長的仿真。
在AMESim中選擇Modeling→Category settings→Add category,新建一個元件類型,并利用AMESet自定義一個元件,將上述生成的模型導入元件中,如圖4所示。
1.3 AMESim/Flowmaster聯(lián)合
1.3.1 聯(lián)合接口
AMESim,F(xiàn)lowmaster平臺未提供聯(lián)合仿真的接口,但各自都有二次開發(fā)功能。本文利用這兩個軟件的二次開發(fā)功能,調(diào)用編寫好的函數(shù)庫,通過讀寫數(shù)據(jù)庫進行聯(lián)合仿真和數(shù)據(jù)通信。AMESim/Flowmaster聯(lián)合框架如圖5所示。
1.3.2 接口實現(xiàn)
為用AMESim/Flowmaster平臺進行聯(lián)合仿真,開發(fā)了用于通信的函數(shù)庫,在每步處理函數(shù)中調(diào)用函數(shù)庫中Communication(int inPorts,int out-Ports,double[]inPorts Data,double*outPorts-Data)函數(shù)進行通信。該函數(shù)的算法如圖6所示。
利用AMESet模塊自定義一個實際需要的端口元件,設置端口變量和參數(shù),如圖7所示。元件的端口變量和參數(shù)設置后,在代碼模型中添加代碼,編譯。就此完成了AMESim通信元件的創(chuàng)建。
在Flowmaster中自定義一個元件,元件模型設計對話框如圖8所示。圖8中:1為元件模型名稱;2為端口設計;3為信號設計;4為參數(shù)設計;5為元件模型描述;6為參數(shù)的仿真類型;7為代碼模板。按實際需要添加通道端口、信號端口和變量參數(shù),再創(chuàng)建代碼模板,在圖9所示對話框中選擇適當?shù)拇龑崿F(xiàn)的功能庫。Mandatory Interfaces是基礎(chǔ)接口,都需選擇;Advisable Interfaces接口可根據(jù)需要選擇性選取,但IInitialiseModel,IReultProvider一般是需要選取的;Specialist Interfaces中選取IcSignalConsumer用于獲取信號端的數(shù)據(jù)。此處,所建的元件是控制類型,故在Controller Interfaces中選取ISpecialistController 1,IFM_Controller Base,IRunTimeChart Support 1。其中:前兩個提供自動更新函數(shù)和輸出端口變量;第三個提供窗口顯示的模板,用于顯示指定觀察的信號,其它接口可根據(jù)需要適當選取。
創(chuàng)建代碼模板后,在VC或VS上創(chuàng)建一個c#的dll庫工程,將上述生成的代碼文件及所需的接口庫加入工程中,并在圖10中添加紅色方框的代碼,進行編譯,最后將工程下生成的dll庫放到Flowmaster的安裝目錄下,完成元件模型的創(chuàng)建。
完成代碼模型的創(chuàng)建后,進行元件創(chuàng)建,如圖11所示。選擇上述創(chuàng)建的元件模型,在為上述的元件模型選擇合適的圖標,如圖12所示。
根據(jù)本文方法設置的AMESim與Simulink,F(xiàn)lowmaster聯(lián)合接口,可實現(xiàn)以AMESim為主平臺的Simulink,F(xiàn)lowmaster聯(lián)合仿真平臺。
該方案的核心是用Simulink平臺設計更好的控制算法,用Flowamster平臺實現(xiàn)系統(tǒng)的流體模塊,通過AMESim平臺實現(xiàn)系統(tǒng)主體模塊。當研究的問題側(cè)重于系統(tǒng)本身的性能時,可調(diào)用預先設計的控制算法和系統(tǒng)流體模型,在AMESim平臺上修改系統(tǒng)模型和結(jié)構(gòu)參數(shù)對系統(tǒng)性能進行優(yōu)化。這既充分利用了每個軟件平臺的優(yōu)勢,又簡化了大型復雜系統(tǒng)的設計,使設計人員更專注于系統(tǒng)本身的設計和研究。
某電液伺服系統(tǒng)預先設計的控制策略和流體模型如圖13(a)、(b)所示。其中:前者為在Simulink平臺中設計的PID控制算法;后者為在Flowmaster平臺中實現(xiàn)簡化的負載模型。在AMESim中設計的系統(tǒng)的主體模塊(伺服系統(tǒng))如圖13(c)所示,可通過修改元件參數(shù)優(yōu)化系統(tǒng)的性能[11]。另外,在圖13(c)中增加了一個輸入端,由1中constant元件輸出數(shù)據(jù)提供,這樣就可在AMESim平臺上修改控制模塊的多個內(nèi)部參數(shù)和變量。由此,實現(xiàn)了該電液伺服系統(tǒng)的AMESim,Simulink,F(xiàn)lowmaster三個平臺的聯(lián)合仿真。
對航天領(lǐng)域中控制、液壓、機械和電氣一體化的大型復雜系統(tǒng),本文提出了基于AMESim主平臺的Simulink/Flowmaster聯(lián)合仿真技術(shù)。這種聯(lián)合仿真技術(shù)主要是以AMESim為主平臺,通過AMES-im與Simulink的接口實現(xiàn)對Simulink中控制算法模塊的調(diào)用,以及利用AMESim,F(xiàn)lowmaster平臺提供的二次開發(fā)功能,通過讀寫數(shù)據(jù)文件實現(xiàn)數(shù)據(jù)通信,完成聯(lián)合仿真。這種聯(lián)合仿真技術(shù)不僅可用于本文使用的三個軟件間的聯(lián)合仿真,而且能與本文使用的三個軟件類似的平臺進行聯(lián)合(可根據(jù)需要增加庫中功能函數(shù)及轉(zhuǎn)換對應語言版本),比如FLUENT等平臺。
[1] FU Yong-ling,F(xiàn)AN Dian-liang,QI Hai-tao,et al.The application of co-simulation based on AMESim and Matlab in electro-h(huán)ydraulic 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,F(xiàn)ARID 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] 魯金直.異構(gòu)仿真系統(tǒng)聯(lián)合仿真技術(shù)研究及在航空領(lǐng)域的應用[D].武漢:華中科技大學,2013.
[6] LI Yi-jun,WU Yong-liang,LI Xin,et el.Simulation and optimization of electro-h(huán)ydraulic 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的掘進機截割部回轉(zhuǎn)機構(gòu)建模與聯(lián)合仿真[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,F(xiàn)lowmaster 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);上海航天科技創(chuàng)新基金資助(SAST2015080)
周文璋(1993—),男,碩士生,主要研究方向為信息處理和聯(lián)合仿真技術(shù)。