Tony Lennon
Industry Marketing Manager
The MathWorks
開發(fā)機(jī)電系統(tǒng)的挑戰(zhàn)
在了解到機(jī)電這個(gè)詞已有近40年的歷史后,大多數(shù)工程師都會(huì)倍感驚訝。首次使用這個(gè)詞的人是Yaskawa Company的一名工程師Tetsuro Mori。1969年,他使用這個(gè)詞來描述由嵌入式系統(tǒng)控制、包含機(jī)械和電子元素的系統(tǒng)(參見圖1)。在當(dāng)今世界,很少有機(jī)電設(shè)備不包括某種類型的嵌入式系統(tǒng)。嵌入式系統(tǒng)的智能化提供了更優(yōu)越的性能、更低的能源消耗、更出色的可靠性和更安全的操作,這正是一種設(shè)備的關(guān)鍵差異化優(yōu)勢(shì)和價(jià)值驅(qū)動(dòng)因素。
|
圖 1. 機(jī)電是由嵌入式系統(tǒng)控制的機(jī)械與電子系統(tǒng)的協(xié)作 |
嵌入式系統(tǒng)的優(yōu)勢(shì)是有代價(jià)的。隨著機(jī)電系統(tǒng)利用更加強(qiáng)大的微處理器(這些微處理器能為嵌入式系統(tǒng)提供智能),硬件和軟件之間的交互也變得更加復(fù)雜。管理這樣的復(fù)雜性可能會(huì)給硬件和軟件工程團(tuán)隊(duì)帶來巨大的挑戰(zhàn),這些團(tuán)隊(duì)要負(fù)責(zé)陳述需求、描述問題、以不同的方式測(cè)試和實(shí)現(xiàn)解決方案。此外,工程師必須設(shè)計(jì)閉環(huán)控制策略,以彌補(bǔ)機(jī)電交互和外部干擾,并針對(duì)操作需求整合開環(huán)監(jiān)視控制,例如啟動(dòng)和關(guān)閉、個(gè)人與設(shè)備的安全性以及故障檢測(cè)和修復(fù)。
在大多數(shù)傳統(tǒng)設(shè)計(jì)方法中,工程師在硬件原型上測(cè)試軟件,只有在開發(fā)過程的后期才能處理軟件驗(yàn)證。在這個(gè)階段發(fā)現(xiàn)的硬件或軟件錯(cuò)誤會(huì)造成代價(jià)高昂的延遲,而且追溯問題根源也十分耗時(shí)。與不完善、不正確或彼此沖突的需求有關(guān)的錯(cuò)誤甚至可能導(dǎo)致徹底的重新設(shè)計(jì)。
使用基于模型的設(shè)計(jì)改進(jìn)開發(fā)
基于模型的設(shè)計(jì)(參見圖2)為橫跨不同工程學(xué)科進(jìn)行設(shè)計(jì)和通信提供了一種通用的環(huán)境,從而簡化了機(jī)電系統(tǒng)的開發(fā)。基于模型的設(shè)計(jì)為系統(tǒng)級(jí)設(shè)計(jì)提供了另一種視角,擴(kuò)展了計(jì)算機(jī)輔助工程(CAE)領(lǐng)域。計(jì)算機(jī)輔助設(shè)計(jì)(CAD)提供設(shè)備的幾何學(xué)或靜態(tài)描述,與之相似,基于模型的設(shè)計(jì)整合了正確描述系統(tǒng)所需的動(dòng)力學(xué)和性能需求。由于這種方法是由軟件驅(qū)動(dòng)的,因而工程師可以順利地研究競爭對(duì)手的設(shè)計(jì)和探索新概念,不必承擔(dān)昂貴的硬件投資。工程師可以隨著設(shè)計(jì)的進(jìn)展不斷開展測(cè)試,根據(jù)需求檢查設(shè)計(jì),在開發(fā)過程的早期發(fā)現(xiàn)錯(cuò)誤,此時(shí)糾正錯(cuò)誤的難度和成本都較低。此外,基于模型的設(shè)計(jì)能消除手動(dòng)編碼開環(huán)和閉環(huán)控制算法的需求,自動(dòng)生成嵌入式系統(tǒng)的代碼。
|
圖 2. 基于模型的設(shè)計(jì)將系統(tǒng)級(jí)模型置于機(jī)電系統(tǒng)開發(fā)過程的核心 |
基于模型的設(shè)計(jì)使用一種系統(tǒng)級(jí)模型,該模型以數(shù)學(xué)形式獨(dú)特地描述設(shè)備的自然行為和受控行為,從而定義一種可執(zhí)行的規(guī)范。工程師可通過模擬系統(tǒng)的實(shí)際動(dòng)力學(xué)和性能來執(zhí)行模型。模型指定對(duì)機(jī)電系統(tǒng)預(yù)期性能的明確的數(shù)學(xué)定義。作為一種可執(zhí)行的規(guī)范,系統(tǒng)級(jí)模型具備超越書面文檔的顯著優(yōu)勢(shì),這是因?yàn)闀嫖臋n存在理解差異,可能會(huì)導(dǎo)致需求的遺漏、冗余或沖突。
書面需求將一直存在,但工程師可將其電子格式與系統(tǒng)級(jí)模型鏈接起來,幫助符合ISO 9001和IEC 61508等標(biāo)準(zhǔn)。從書面規(guī)范到系統(tǒng)級(jí)模型的需求跟蹤可明確工程師解釋需求的方式。需求和模型之間的電子鏈接允許工程師將測(cè)試標(biāo)準(zhǔn)與在開發(fā)過程中所用的測(cè)試用例聯(lián)系起來。
開發(fā)系統(tǒng)級(jí)模型
方框圖是表示系統(tǒng)級(jí)模型的一種自然方法(參見圖3)。模型包含輸入(由外部代理提供的信號(hào))和輸出(系統(tǒng)實(shí)際行為的度量指標(biāo))。輸入和輸出代表實(shí)際值,例如電壓、溫度和PH值等。
|
圖3. 方框圖提供了直觀的系統(tǒng)級(jí)模型視圖 |
在模型內(nèi)部,每個(gè)方框表示模型的輸入和輸出信號(hào)之間的數(shù)學(xué)運(yùn)算。某些方框(稱為設(shè)備或流程)代表機(jī)電系統(tǒng)的自然行為。例如,模型中包含的一個(gè)方框可能代表一輛汽車。汽車的數(shù)學(xué)模型可能非常簡單——獲取輸入電壓并將其轉(zhuǎn)化為輸出扭矩。為模型添加更多輸入(例如電壓噪聲)或添加更多參數(shù)(例如溫度和磁飽和影響)可提高汽車模型的復(fù)雜度。一個(gè)方框或一組方框可根據(jù)輸出錯(cuò)誤或模型中發(fā)生的事件過濾并處理信號(hào),從而表示系統(tǒng)中的補(bǔ)償或控制。
系統(tǒng)級(jí)模型的基礎(chǔ)就是描述系統(tǒng)物理性質(zhì)的集中參數(shù)數(shù)學(xué)模型。使用常微分方程(ODEs)和微分代數(shù)方程(DAEs)表示機(jī)電系統(tǒng)的輸入與輸出的關(guān)系。在汽車的示例中,ODE描述電壓輸入與軸輸出扭矩之間的關(guān)系。微分方程是一種具有較高的計(jì)算效率的集中動(dòng)力學(xué)描述方式,與基于偏微分方程的建模工具(例如有限元分析(FEA))正好相反。FEA軟件可用于解出由扭矩造成的汽車車軸上關(guān)鍵插槽處的壓力分布。
使用ODE來描述機(jī)電系統(tǒng)的系統(tǒng)級(jí)行為涉及多種工程學(xué)科,具有巨大的挑戰(zhàn)。以數(shù)學(xué)方式表示系統(tǒng)行為要求您了解系統(tǒng)底層的物理學(xué)原理。機(jī)電的本質(zhì)就是所有系統(tǒng)都是非線性的,您必須考慮實(shí)際機(jī)電設(shè)備中出現(xiàn)的滯后、摩擦和熱效應(yīng)。
改進(jìn)系統(tǒng)級(jí)模型
當(dāng)系統(tǒng)的數(shù)學(xué)原理過于困難或開發(fā)過于耗時(shí)的時(shí)候,工程師可以轉(zhuǎn)向其他系統(tǒng)級(jí)建模方法。第一原理方法的一種常見的補(bǔ)充方法就是數(shù)據(jù)驅(qū)動(dòng)的經(jīng)驗(yàn)建模,例如系統(tǒng)識(shí)別或神經(jīng)網(wǎng)絡(luò)。這些黑盒方法使用標(biāo)準(zhǔn)的輸入-輸出數(shù)據(jù)來構(gòu)建線性或非線性O(shè)DE形式的系統(tǒng)行為,以便將其整合到系統(tǒng)級(jí)模型之中。這些方法未提供系統(tǒng)物理狀況的完整信息,但能夠在測(cè)試數(shù)據(jù)范圍內(nèi)準(zhǔn)確描述系統(tǒng)動(dòng)力學(xué)。標(biāo)準(zhǔn)數(shù)據(jù)還能夠利用參數(shù)估計(jì)技術(shù)提高第一原理方法數(shù)學(xué)模型的準(zhǔn)確性,這種灰盒建模方法包含用于調(diào)整模型參數(shù)(如摩擦系數(shù))的優(yōu)化技術(shù),使模型輸出與測(cè)試數(shù)據(jù)相匹配。
基于模型的設(shè)計(jì)允許工程師從不太詳細(xì)的系統(tǒng)級(jí)模型入手,隨著開發(fā)的進(jìn)展以增量方式提高其保真度。要幫助快速排除希望不大的概念,工程師最初只需要一個(gè)表示為低階ODE的概念驗(yàn)證模型。對(duì)于更有力的想法,工程師可通過整合供應(yīng)方提供的子組件來提高保真度,迅速評(píng)估組件的最佳組合。模型將發(fā)展成多個(gè)域的組合,僅提供必要的細(xì)節(jié),以保證在需求文檔中表示的運(yùn)行條件下的性能。
在工程師使用從三維CAD匯編文件轉(zhuǎn)換而來的機(jī)電系統(tǒng)的質(zhì)量和慣性屬性提高模型保真度時(shí),CAD與基于模型的設(shè)計(jì)就彼此結(jié)合了。工程師可使用從CAD文件自動(dòng)轉(zhuǎn)換而來的表示機(jī)械主體和連接的方塊,取代近似的數(shù)學(xué)表達(dá)式。除了加速復(fù)雜機(jī)械系統(tǒng)級(jí)模型的開發(fā)以外,這種方法還能確保系統(tǒng)設(shè)計(jì)人員和機(jī)械工程師使用被廣泛認(rèn)可的通用模型行為來表示即將構(gòu)建的實(shí)際機(jī)電系統(tǒng)。
開發(fā)控制策略
描述了系統(tǒng)的自然行為之后,下一步就是開發(fā)和評(píng)估控制策略,該策略可在機(jī)電系統(tǒng)中整合多級(jí)開環(huán)和閉環(huán)控制。開環(huán)控制包括所有接口、模式、邏輯和監(jiān)督控制,是工程師實(shí)現(xiàn)安全操作、故障檢測(cè)和恢復(fù)特性的方法。閉環(huán)控制的復(fù)雜程度多種多樣,包括從基本的比例-積分-微分(PID)補(bǔ)償器算法到多變量線性二次高斯(LQG)控制器的實(shí)現(xiàn)的各個(gè)級(jí)別。
開環(huán)控制執(zhí)行設(shè)備內(nèi)的監(jiān)督控制和模式控制,處理操作人員與設(shè)備的交互。使用更強(qiáng)大的微處理器的設(shè)備設(shè)計(jì)人員可以開發(fā)出復(fù)雜的用戶界面,以提供對(duì)設(shè)備操作的更好控制。因而,開發(fā)人員可在設(shè)備內(nèi)創(chuàng)建越來越精密的自我診斷、故障檢測(cè)和安全關(guān)閉系統(tǒng);谀P偷脑O(shè)計(jì)幫助工程師針對(duì)系統(tǒng)級(jí)模型開發(fā)和測(cè)試日漸復(fù)雜的開環(huán)控制系統(tǒng)。仿真支持在設(shè)計(jì)過程的早期啟動(dòng)測(cè)試工作,從而改進(jìn)設(shè)備的工效,找出任何可能導(dǎo)致設(shè)備損壞或造成不安全條件的場景。
機(jī)電系統(tǒng)可使用大量在多種條件下操作的閉環(huán)控制系統(tǒng)。使用系統(tǒng)級(jí)模型可幫助在具有耦合行為的控制循環(huán)中設(shè)計(jì)和調(diào)節(jié)控制器。在硬件中調(diào)節(jié)控制器是一項(xiàng)耗時(shí)耗力的任務(wù),為了避免不穩(wěn)定性,系統(tǒng)往往未能調(diào)優(yōu)到預(yù)期性能。系統(tǒng)級(jí)模型允許工程師分析控制循環(huán)的交互、開發(fā)解耦策略,并通過依靠多種直接和基于優(yōu)化的技術(shù)的方法來調(diào)節(jié)補(bǔ)償器增益。
在這個(gè)階段,系統(tǒng)級(jí)模型將表現(xiàn)出動(dòng)態(tài)不穩(wěn)定性,而通過閉環(huán)補(bǔ)償方法消除此類不穩(wěn)定性在物理或經(jīng)濟(jì)上是不可行的。模型使得識(shí)別和調(diào)節(jié)導(dǎo)致不穩(wěn)定性的物理參數(shù)(例如質(zhì)量、長度和電容)更加輕松。因而,可在成本較低的軟件仿真階段發(fā)現(xiàn)問題,而不是在物理原型的測(cè)試過程中。
基于模型的設(shè)計(jì)可幫助工程師在控制系統(tǒng)內(nèi)開展成本權(quán)衡研究。系統(tǒng)級(jí)模型是一種分析工具,可確定具有更高容錯(cuò)能力但成本較低的傳感器是否能夠提供必要的準(zhǔn)確度和性能水平。在實(shí)踐中,工程師可以衡量機(jī)電系統(tǒng)中使用的所有組件的成本與系統(tǒng)性能影響的對(duì)比情況。
連續(xù)測(cè)試與系統(tǒng)驗(yàn)證
整個(gè)開發(fā)過程中的連續(xù)測(cè)試與驗(yàn)證涉及定義和使用標(biāo)準(zhǔn)測(cè)試,并將其與控制系統(tǒng)設(shè)計(jì)過程相結(jié)合。使用標(biāo)準(zhǔn)測(cè)試或測(cè)試套件可確保工程師以一致的方式、使用相同的衡量指標(biāo)集測(cè)試不斷發(fā)展演進(jìn)的系統(tǒng)級(jí)模型。通過/失敗和容錯(cuò)度范圍等測(cè)試標(biāo)準(zhǔn)通過需求文檔的電子鏈接與測(cè)試相關(guān)聯(lián)。使用標(biāo)準(zhǔn)測(cè)試套件的連續(xù)測(cè)試可立即公開任何設(shè)計(jì)變更對(duì)于系統(tǒng)輸出的影響,幫助快速跟蹤動(dòng)機(jī)的變化。
此外,工程師可使用測(cè)試套件來確定是否覆蓋了完整的模型,即衡量測(cè)試套件是否全面測(cè)試了設(shè)備的所有操作場景。在建模過程中,確認(rèn)標(biāo)準(zhǔn)測(cè)試將在所有操作條件下充分測(cè)試系統(tǒng),這可以向開發(fā)人員保證在物理原型上開始測(cè)試之前測(cè)試的完整性和正確性。基于模型的設(shè)計(jì)可幫助工程師創(chuàng)建完整的測(cè)試,供其在開發(fā)過程的所有階段和生產(chǎn)測(cè)試中使用。
細(xì)化系統(tǒng)級(jí)模型以供部署
開發(fā)控制設(shè)計(jì)策略并進(jìn)行仿真測(cè)試后,工程師即可針對(duì)部署進(jìn)一步細(xì)化模型。部署是指將控制算法轉(zhuǎn)換為C代碼、硬件描述語言(HDL)或IEC 61131-3語言,例如結(jié)構(gòu)化文本(ST),以便在實(shí)時(shí)系統(tǒng)上執(zhí)行。此過程涉及將控制算法從連續(xù)(模擬)格式轉(zhuǎn)換為離散(數(shù)字)格式,往往采用定點(diǎn)格式。在連續(xù)測(cè)試的過程中,工程師根據(jù)設(shè)備的連續(xù)格式測(cè)試控制算法的數(shù)字格式,確定數(shù)字轉(zhuǎn)換是否會(huì)對(duì)系統(tǒng)的目標(biāo)性能產(chǎn)生影響。
模型細(xì)化允許工程師檢查數(shù)字信號(hào)轉(zhuǎn)換的其他方面。系統(tǒng)設(shè)計(jì)人員建模輸入/輸出(I/O)設(shè)備驅(qū)動(dòng)器和任何A/D與D/A轉(zhuǎn)換器,確保系統(tǒng)的實(shí)際實(shí)施過程中不會(huì)出現(xiàn)信號(hào)訛誤或混淆。機(jī)電系統(tǒng)往往結(jié)合使用多種處理器,這些處理器以不同的速度和取樣率運(yùn)行。系統(tǒng)級(jí)建模允許工程師模擬和測(cè)試多種組合,評(píng)估成本和實(shí)現(xiàn)選項(xiàng),例如使用現(xiàn)場可編程門陣列(FPGA)取代數(shù)字信號(hào)處理器(DSP),或使用定點(diǎn)計(jì)算取代浮點(diǎn)計(jì)算。
使用實(shí)時(shí)系統(tǒng)測(cè)試機(jī)電系統(tǒng)
基于模型的設(shè)計(jì)的下一個(gè)步驟是在實(shí)時(shí)系統(tǒng)上測(cè)試系統(tǒng)級(jí)模型。在這個(gè)階段,工程師將系統(tǒng)級(jí)模型自動(dòng)轉(zhuǎn)換為C代碼、HDL或PLC代碼。工程師可為控制算法和/或設(shè)備模型生成代碼,具體取決于他們選擇的系統(tǒng)測(cè)試方式。在基于模型的設(shè)計(jì)中,自動(dòng)將系統(tǒng)級(jí)模型轉(zhuǎn)換為代碼可消除系統(tǒng)工程師對(duì)深入的編碼知識(shí)的需求,避免出錯(cuò)并節(jié)約時(shí)間。
自動(dòng)代碼生成的過程類似于通過三維CAD文件生成用于加工零件的工具路徑。如果在加工完成后發(fā)現(xiàn)零件存在錯(cuò)誤,工程師就需要檢查和修改CAD文件,重新為工具路徑生成代碼。在基于模型的設(shè)計(jì)中,系統(tǒng)級(jí)模型作為排除系統(tǒng)故障的自然環(huán)境,工程師可以通過它更新和測(cè)試模型,并重新生成代碼。
實(shí)時(shí)測(cè)試使用專用的實(shí)時(shí)測(cè)試系統(tǒng),可分為兩類:快速原型(RP)和硬件在環(huán)(hardware-in-the-loop,HIL)。在此類測(cè)試中,工程師可在測(cè)試運(yùn)行時(shí)實(shí)時(shí)收集數(shù)據(jù)和更改代碼中的參數(shù)。表1給出了部分實(shí)時(shí)測(cè)試選項(xiàng),展示了允許工程師在實(shí)際硬件可用之前捕捉重大、耗時(shí)的錯(cuò)誤的測(cè)試靈活性。如前所述,跟蹤錯(cuò)誤更加簡單,因?yàn)橄到y(tǒng)級(jí)模型就是規(guī)范,它與需求文檔緊密關(guān)聯(lián)。
測(cè)試類型 |
控制算法 |
設(shè)備模型 |
硬件在環(huán) |
在目標(biāo)微處理器上的代碼中表示 |
在實(shí)時(shí)系統(tǒng)的代碼中表示 |
快速原型 |
在實(shí)際系統(tǒng)上的代碼中表示 |
實(shí)際硬件 |
表 1. 快速原型與硬件在環(huán)測(cè)試場景
在快速原型中,實(shí)時(shí)系統(tǒng)與實(shí)際硬件相連接。在大多數(shù)情況下,由于模型中的控制系統(tǒng)包含所需的全部I/O,因而系統(tǒng)級(jí)模型會(huì)自動(dòng)為這些特性創(chuàng)建代碼,消除了工程師手動(dòng)編碼的需求。HIL測(cè)試將設(shè)備模型部署到實(shí)時(shí)系統(tǒng)。在這種情況下,工程師將控制算法部署到實(shí)時(shí)測(cè)試系統(tǒng)或指定的目標(biāo)處理器,同時(shí)連接到同樣在實(shí)時(shí)運(yùn)行的設(shè)備模型。HIL測(cè)試還可以通過使用在桌面或工作站計(jì)算機(jī)上運(yùn)行的模擬設(shè)備模型來實(shí)現(xiàn)。
生成生產(chǎn)質(zhì)量代碼
基于模型的設(shè)計(jì)使工程師能夠使用系統(tǒng)級(jí)模型,以生產(chǎn)處理器或其他實(shí)時(shí)系統(tǒng)為目標(biāo),在C代碼、HDL或PLC代碼中部署控制算法。代碼生成過程針對(duì)特定處理器優(yōu)化生產(chǎn)質(zhì)量代碼。這與實(shí)時(shí)測(cè)試中所用的代碼不同,因?yàn)榇诉^程消除了測(cè)試中需要的所有參數(shù),并將代碼的資源占用優(yōu)化到最小,從而減少存儲(chǔ)器的占用并最大化計(jì)算速度。工程師可控制代碼生成過程,以包括數(shù)據(jù)對(duì)象、用戶定義的存儲(chǔ)種類、類型和別名。此外,還可自定義代碼格式,使其自動(dòng)符合企業(yè)的軟件樣式指南,這有助于完善優(yōu)化工作,并簡化軟件工程師使用此類代碼的過程——對(duì)負(fù)責(zé)將代碼整合到更大的代碼集中的工程師來說更是如此。
結(jié)束語
基于模型的設(shè)計(jì)是用于機(jī)電系統(tǒng)的系統(tǒng)級(jí)設(shè)計(jì)的CAE。在軟件中開發(fā)和測(cè)試設(shè)備的行為模型的工程師能獲得以下好處:
- 能夠以較低的成本設(shè)計(jì)和測(cè)試多種方法,無需在開發(fā)過程的早期投入大量資源來原型化硬件。
- 使用通用可執(zhí)行規(guī)范的協(xié)作式設(shè)計(jì)環(huán)境與需求文檔緊密相連,允許多種工程學(xué)科采用通用語言進(jìn)行通信。
- 在早期仿真階段輕松發(fā)現(xiàn)和糾正錯(cuò)誤,從而降低開發(fā)成本。
- 能夠開發(fā)復(fù)雜的嵌入式系統(tǒng),在機(jī)電系統(tǒng)中提供更出色的客戶價(jià)值、產(chǎn)品質(zhì)量和精密度。