A dams 概述
Adams的機(jī)電一體化功能减俏,結(jié)合廣泛使用的Matlab有豐富的應(yīng)用場景崔挖。基于FMI協(xié)議接口實(shí)現(xiàn)了廣泛的數(shù)據(jù)傳輸與關(guān)聯(lián)舰讹,前面對Adams生成FMU導(dǎo)入Matlab已有文章描述茅姜,這里對Matlab生成FMU再導(dǎo)入Adams的操作流程進(jìn)行闡述。相對前者螟衍,后面這一流程需要一些第三方輔助功能加以實(shí)現(xiàn)引妖,本文針對整個(gè)過程進(jìn)行說明。
A dams 模型準(zhǔn)備
所使用的模型為Adams安裝路徑下的模型佩捎,具體為:
將上述路徑下的antenna.cmd和antenna.mdl拷貝到指定的工作路徑下缚迟,二者分別對應(yīng)Adams和Matlab/Simulink的模型。
A dams Matlab準(zhǔn)備及FMU生成
由于Matlab/Simulink中只有FMI導(dǎo)入功能哑辐,并沒有現(xiàn)成的FMU生成功能灭奉,因此,需要一些外部輔助功能妹髓,這里以FMIkit-Simulink-3.1為例進(jìn)行說明过任。
首先需要將FMIkit-Simulink-3.1壓縮包進(jìn)行解壓,存放的位置隨意姜筋,后面通過路徑加載方式將其位置告知Matlab即可江眯。
addpath('D:\msc_setup\matlab\fmi\FMIKit-Simulink-3.1')
上述代碼完成FMIkit的加載,然后通過FMIKit.initialize()實(shí)現(xiàn)對其的初始化伯板。至此东摘,準(zhǔn)備工作完成。
接著吆寨,打開控制模型antenna.mdl赏淌,對其進(jìn)行子系統(tǒng)封裝,將輸入輸出端口留好啄清。這一步類似于Adams與Matlab傳統(tǒng)關(guān)聯(lián)的方式中Setio的命令功能六水,該命令會將用于本次聯(lián)合仿真的輸入輸出端口留好,以備后面二者關(guān)聯(lián)時(shí)使用盒延。但是執(zhí)行其之前,還是需要Adams導(dǎo)出M文件鼠冕,并在Matlab主窗口中執(zhí)行等操作添寺。相對而言使用FMI接口就沒有這些操作胯盯,Adams中沒有輸出M文件類似的操作,Matlab中也沒有執(zhí)行其它命令的操作计露,整體操作更加快捷高效博脑。具體子結(jié)構(gòu)的生成,對于有Matlab/Simulink使用經(jīng)驗(yàn)的用戶應(yīng)該不是問題票罐,可以在右鍵菜單中直接將選中模型進(jìn)行子結(jié)構(gòu)化叉趣,亦可以使用Simulink的子結(jié)構(gòu)元件進(jìn)行定義。子結(jié)構(gòu)定義完成后颖喧,甚至還可以進(jìn)行一些封裝的定義洒漱,使得展現(xiàn)更直觀等。具體如下所示:
打開模型參數(shù)設(shè)置對話框铅坚,求解器類型這里選擇固定步長赃夷,如下所示:
由于FMU模型其核心就是DLL文件,將Simulink模型轉(zhuǎn)化為動態(tài)鏈接庫兰斑,本質(zhì)上是一個(gè)代碼編譯笤卡、鏈接、生成的過程修暑,因此會需要當(dāng)前計(jì)算機(jī)上有合乎要求的編譯器支持询时,比如VS系列版本或者其它類型編譯器等。而整個(gè)過程是通過Matlab的RTW功能或者現(xiàn)在叫做Code Generation功能進(jìn)行實(shí)現(xiàn)的奥唯。通過選擇合適的目標(biāo)語言編譯器的系統(tǒng)目標(biāo)文件捷夜,這里選擇grtfmi.tlc按照特定的邏輯執(zhí)行編譯過程,將生成符合要求的FMU模型文件拗疯。
在FMI項(xiàng)中擒蝎,可以選擇將來生成的FMU中所包含的數(shù)據(jù),如下所示中將會在FMU中具備模型圖像和sources文件夾消玄,而binaries和.xml文件是必備的內(nèi)容跟伏。
利用CMake功能,基于選定的編譯器和平臺類型翩瓜,完成整個(gè)編譯過程受扳。
最后一步,就是點(diǎn)擊下圖中的Build按鈕完成這個(gè)過程兔跌,生成所需的FMU文件勘高。
A dams 導(dǎo)入FMU及計(jì)算
完成了FMU的生成,轉(zhuǎn)入Adams中坟桅,啟動多體模型华望,然后利用Adams/Controls中的Import功能,將改FMU文件導(dǎo)入仅乓,當(dāng)然赖舟,其本質(zhì)是導(dǎo)入其中的DLL文件蓬戚。具體操作如下所示:按照一般狀態(tài)方程的模式進(jìn)行數(shù)據(jù)的轉(zhuǎn)化,因此宾抓,需要定義一個(gè)一般狀態(tài)方程的名稱如麦,將來所有相關(guān)數(shù)據(jù)都在該對象之下。另外屏商,由于沒有用Adams/Controls的輸出聂挚,所以這里的Import I/O Signals from Existing Controls Plant按鈕點(diǎn)擊沒有任何響應(yīng),可以直接利用下面的From Poutput/Pinput完成輸入輸出信息的關(guān)聯(lián)犹蝇。最后菱泻,可以按照實(shí)際要求設(shè)定交互時(shí)間等。確認(rèn)后挑单,將會收到相關(guān)的反饋信息馒俊。
下圖中展示的是其相關(guān)物理量
上面兩圖為立柱的轉(zhuǎn)角,只不過前一圖是通過端口信號獲得唾莲,沒有單位避揍,后一圖為直接測量立柱的角速度獲得,可以看到兩者數(shù)值上是嚴(yán)格一致的瘩此。下圖為角位移蔓嚷。
A dams 總 結(jié)
Matlab或其它一維軟件生成的FMU導(dǎo)入Adams中進(jìn)行聯(lián)合仿真應(yīng)用,在實(shí)際工程中有豐富的應(yīng)用場景愧理,而且這種方式雕蔽,由于以Adams為主展開仿真,因此宾娜,對于很多基于多體的仿真形式得以方便地實(shí)現(xiàn)批狐,比如聯(lián)合仿真下的變拓?fù)浞治觯m然我們前面有文章描述將Adams模型導(dǎo)入Matlab中進(jìn)行變拓?fù)浞治龅姆椒ㄇ八窍В耘f還是直接在Adams中實(shí)現(xiàn)更為方便,也更適合更廣泛的用戶全體的需求华弓。只不過對于常規(guī)軟件生成FMU看似必備的功能食零,而Matlab在此處還需要借助一些手段才能實(shí)現(xiàn)(實(shí)現(xiàn)方法有多種),造成了初學(xué)者甚至有一些軟件使用經(jīng)驗(yàn)人員的困難寂屏,為此贰谣,希望本文對大家有所幫助。
(呵克斯康工業(yè)軟件)
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)吱抚,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享,并不代表本站贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議狱林。本站部分作品是由網(wǎng)友自主投稿和發(fā)布鹊尤、編輯整理上傳,對此類作品本站僅提供交流平臺农泊,不為其版權(quán)負(fù)責(zé)。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻缘赋、圖片碰蚂、文字如涉及作品版權(quán)問題,請第一時(shí)間告知誓胆,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容竣楼,以保證您的權(quán)益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn庸飘。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力斗退,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床叁垫,助力制造升級技術(shù)專題
- 汽車輕量化驅(qū)動下的零部件加工應(yīng)用專題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題