汽車電子運用目的,如何學習simulink?
現在發動機標定,為看懂ECU控制軟體裡面那些邏輯圖傷透了腦子,那些邏輯圖也是用simulink建立的,我目前MATLAB零基礎,計算機課瞎混通過的,請問專業的simulink大神和汽車界的標定大神,介紹下學習經驗
謝邀,既不是simulink大神也不是標定大神,請允許我BB一下,僅供參考。首先說明一下,simulink在汽車發動機標定的過程中,僅僅是一個邏輯工具,這與通常的「模擬」應用完全不是一回事,因此就算你真的遇到一個simulink大神,他的業務可能跟你完全不一樣。何謂「標定」?就是因為發動機的運行過程太過非線性,難以用有效的數學模型精確的模擬模擬(因為根本仿不真),因此發動機控制的開發與電機控制、電力電子系統完全不同,需要全面的依賴實驗數據,建立MAP(不像電機模型那樣有清晰的數學公式模型)。
其次,simulink只是眾多ECU開發工具中的一種,例如BOSCH就不用這個,不過這不是重點,就像上面提到的,這只是個邏輯工具,用來傳達思想(有個高B格稱呼叫圖形化代碼)。或者說幫助非CS出身的汽車工程師們理解控制邏輯,實際上讓碼農和IT狗來操作,沒準更喜歡在智能的IDE下看代碼。看不懂邏輯圖?那給你看10000行代碼,沒準你會睡著吧,嗯,那就看邏輯圖咯。
最後,恭喜樓主進入了一個高B格的開發模式中,脫離了山寨車企和高校學生黨意淫現代化汽車工業開發流程的低級趣味。別笑,據我所知國內大部分自主品牌根本沒能力做ECU標定,個別品牌還停留在軟體工程師寫代碼的階段。圖形化開發過程實際是銜接了系統工程是與標定工程師的一個橋樑。抱歉上面樓有點歪。回到題主的問題,怎麼看邏輯圖?這其實是學習方法的問題,所以仁者見仁智者見智。依稀記得數年前第一次看到一個xx車型xx發動機xx項目的fdef,一千多頁,各種框各種實線虛線,老實說很暈,根本沒勇氣看下去。然而我很快知道了三件事:第一,沒必要把所有function都看明白,相信身為標定工程師的題主在職業生涯早期也只是需要標定某個功能模塊,且有十分完善的base,主要工作也就是改改個別標定量,在系統工程師的指導下打開或者關閉某個bit,弱爆了!但是這個過程很有效的幫助你直觀的理解標定量是如何配置整個控制邏輯的。理解這個龐大的系統要從小處慢慢來,要親自動手做。第二,fdef就是一本書,看書就要先看目錄,從頂層最核心的模塊開始看,看主線,踏板扭矩怎麼來的,如何對氣路火路得調節產生影響。理解這個龐大的系統要從頂層入手,像看書一樣,抓主線,然後各個擊破。
第三,ECU是一個非常成熟的工業產品,控制邏輯的複雜程度不是一個人可以完全掌握的,因此看不懂很正常,不要強求。最後,建議多跟系統工程師交流,畢竟是造邏輯圖的人,心中肯定比用它的人清晰。我覺得你看懂SIMULINK或者STATEFLOW框圖應該不難,就那麼幾個框圖,應該比較簡單,稍微學習一段你就能掌握,如果你是在這個階段不太理解,我強烈建議你可以看看simulink,stateflow里自帶的example例子,這些例子都是非常棒的初學者教程,裡面還有一些汽車系統模塊,你可以把常見的語句或者演算法看懂,平常可以多看看matlab中文社區論壇,還有一本書是你必須要買的書,《Simulink模擬及代碼生成技術入門到精通》這本書是我見過寫的最好的simulink的書籍,當然也是matlab論壇版主寫的!還有視頻版本,在百度傳課里,不過要收費~此外你還可以看mathworks公司的視頻,以及每年的汽車年會視頻這個可以讓你對v流程更加了解,官網的視頻都是免費收看的,而且還有不少是中文視頻。
2016 MathWorks中國汽車年會,6月23Videos and Webinars
當然,這個才是標定工程師的第一步!看simulink框圖容易,但是要標一輛車可就難了,不僅僅是看框圖,關鍵是要知道為什麼系統工程師要這樣設計模型,說白了就是演算法問題!這個你要對你要標定的部分了如指掌,這個就是標定工程師的經驗問題了~~~參考問題 關於simulink在單片機上的應用?
現在ECU的開發大趨勢都是使用simulink做軟體開發了,比較流行的說法就是MBD,基於模型的開發。使用simulink去做ECU應用層軟體設計,然後自動代碼生成,直接與底層軟體集成。
嗯,,你們的ecu開發是用的d2p那套還是etas那套?你指的控制邏輯圖是simulink下的stateflow?
推薦閱讀:
※怎樣實現不同控制演算法的切換?
※用 simulink 模擬電機,電機的原理已經了解,但是之前沒用過 simulink 有什麼好的推薦快速上手 simulink 的?
※使用simulink代碼生成,硬體底層函數自己寫更好,還是應該直接生成到目標晶元中?
※怎樣提高simulink建模能力?
※Interpreted matlab function與matlab function兩個模塊區別?
