經驗之談:如何順利實現adams和simulink的聯合仿真

怎么安裝和找到control模塊,怎么在control中生成必需的中間文件,為什么仿真會失敗?本人也曾對這些問題困惑過,經過一番摸索,積累了一點經驗,愿與大家商討。

對于第一個問題,我想就不必多說了。對于第二個問題可以參考鄭建榮的ADAMS虛擬樣機技術入門與提高第十三章機電一體化系統仿真部分,書中有兩個問題需要注意:(1)書中介紹的ADAMS版本好像是10.0的,對于使用12.0的有一些差異:在Plant Export設置中無法直接選擇輸入輸出變量control_torque、azimuth_position、rotor_velocity,它們分別由專門的宏tmp_MDI_PINPUT和tmp_MDI_POUTPUT表示。(2)天線仰角的方位角似乎應該是elevation_position,而不是azimuth_position,后者是天線支撐的轉角。其它按文中所述步驟進行,File Prefix欄可隨便寫,不必一定用ant_test,最后在ADAMS的當前目錄下生成四個文件:
ant_test.cmd
ant_test.adm
ant_test.acf
ant_test.m

第三個問題基本上是 由于沒有正確設置路徑,找不到所需的文件造成的:~),這也說明了control模塊在設計時沒有很好地考慮健壯性問題。具體來說simulink在開始仿真時要找到以下這些文件:
1。上述生成的文件,主要是ant_test.m和ant_test.cmd,ant_test.m用于在simulink中對control模塊環境和一些參數進行初始化,它必須在仿真前執行;ant_test.cmd是天線模型定義文件,由于這里ADAMS是作為simulink創建的一個子進程而被啟動的,它所需的模型文件名由simulink的調用參數傳過來的,所以simulink要能夠定位ant_test.cmd(我一開始把它放到adams當前目錄下,頻頻失敗)。
2。adams_plant.dll,它其實就是adams_sub的核心,ADAMS提供一個S函數,用于adams和simulink聯合仿真的調度和通訊,如果simulink找不到它,則仿真就不能進行。adams_plant.dll位于\ADAMS12\controls下。

解決方法是在simulink中設置好上述文件所在的路徑,但一個更方便的方法是把它們都拷到matlab的當前工作目錄下,一般是\MATLAB6p1\work。經過以上設置,應該不會再出現仿真失敗的對話框了吧。另外,如果因為一些原因仿真失敗,需重啟matlab,否則的話因為一些運行庫的錯誤信息還保留在系統中,即便改正了錯誤仿真也會失敗,只有重新啟動初始化這些庫。

我用的是adams12和matlab6.1,以前流傳它們之間存在不兼容的問題,其實都是上述原因造成的,不存在版本兼容的問題,adams和matlab都是成功的商業軟件,在發布前經過了大量的測試,如果不兼容他們不會置若罔聞,現在好像還沒有他們的官方聲明吧。

有個小小請求,在做RTW的時候需要用到adams_plant.obj,誰能找到提供給俺,則感激不盡,如果有其源代碼則更好了,這可是真正開啟adams和simulink聯合仿真的金鑰匙啊!

非常感謝"wxd"的總結,但愿這也是以后更進一步討論ADAMS 和MATLAB 聯合仿真的開始,本人對ADAMS 和MATLAB 都只是剛入門,特別是在兩者聯合仿真過程中困惑許久,慢慢摸索,曾經也得到過各位的指點,今日見'wxd'大師的激情和熱心,小弟來結合自己和wxd大師的小結,說說自己的一點點體會,期待更多的高手來指點迷津 。
確實,大部分的失敗是由于沒有正確設置工作路徑而造成的,我想既然是針對一個項目進行仿真,那干脆為自己的項目建立一個文件夾,使ADAMS和MATLAB的工作區都相同,如發現有時仿真不成,可把adams_plant.dll也事先拷貝到同一文件夾里,這樣方便又不會出大錯。
另外,對于還不大熟悉MATLAB的來說,在重仿時最好重ADAMS里重新導入MATLAB,并且必須在MATLAB里重新運行(很多時候MATLAB原來產生的變量被替換了),而不能只是簡單的重新運行MATLAAB里建立 的SIMULINK模型。
總的來說,我感覺兩者的聯合仿真,困難之處不在于兩者的接口問題,更關鍵的是我們所建立的機械系統的數學模型能否正確的建立,這將直接影響我們能否實現預想的控制目的,因為之所以要聯合MATLAB,就是因為系統里各個量關系不好確定,要是容易確定的直接用ADAMS 里的函數等也可以控制了,對吧?所以要想更順利的實現兩者聯合仿真的成功率,也需要對模型有準確的把握,不知道各位能否就機械方面較常見的系統歸納一下它們的數學模型,結合ADAMS實現更好的控制。
最后期待各位的參與,共同進步!
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1
1