
圖1:機械電子系統是由嵌入式系統控制的機械系統和電子系統的結合。
嵌入式系統的優點在于價值。隨著機械電子系統利用功能更強大并為嵌入式系統提供智能的微處理器,軟硬件之間的交互變得更加復雜。如何控制這個復雜度,對軟硬件工程師團隊來說都是挑戰,他們需要提出要求,問題描述,以及提出不同方式的測試和實現方案。此外,工程師還必須設計閉環控制來補償機電交互和外部干擾,還需要設計開環監控來監控操作環境,如開機和關機,操作人員和設備安全,故障檢測和修復。在絕大多數傳統的設計方案中,工程師需要在硬件模型上測試軟件,而在研發階段的才能解決軟件確認問題。在這階段發現的硬件和軟件的問題,將會導致成本很高的延期,并會耗費很多時間追溯原始設計。而一些功能不完整,不正確以及沖突之類的錯誤甚至會導致重新設計。
利用模型設計改善研發
基于模型的設計通過為不同的工程領域的設計和通訊提供一個公共環境來簡化機械電子系統的開發。基于模型的設計利用對系統級設計的感知將計算機輔助工程(CAE)加以擴展。就像計算機輔助設計(CAD)對系統進行幾何的和靜態的描述一樣,基于模型的設計則整合了恰當地描述系統所需的動態需求和性能需求。由于該方案主要是軟件實現的,故工程師可以靈活地研究競爭方案,并在沒有大量的硬件開銷的前提下開發新概念。在設計進程中,工程師可以不斷地測試設計,檢查其是否滿足要求,并能在開發過程中及早地發現錯誤,從而能夠及早地及低成本地將其糾正。此外,基于模型的設計能夠為嵌入式系統自動生成代碼,而無需為開環和閉環控制算法手工編寫代碼。

圖2:基于模型的設計將系統級模型置于機械電子系統開發過程的核心位置。
基于模型的設計采用一個系統級模型,該模型通過數學的方法為設備的自然行為和受控行為定義了一個可執行的規范。工程師可以通過模擬系統的實際動態和性能來執行模型。該模型規定了機械電子系統的期望性能的通用數學定義。由于規范是可執行的,因此相對于需要翻譯、可能導致丟失、重復、或者與其他技術要求沖突的手寫文件,系統級模型具有顯著的優點。
手寫的技術規范將永遠存在,不過工程師可以將他們的電子格式鏈接到系統級模型,并幫助建立與ISO9001或IEC61508這類標準兼容的規范。從手寫規范到系統級模型的追蹤闡釋了工程師對規范的解釋是否正確。規范和模型之間的鏈接使工程師可以糾正整個開發過程中所用測試案例的測試準則。
開發系統級模型
圖3所示的方框圖是一個描述系統級模型的普通方案。該模型具有多個外部提供的輸入,以及數個度量系統實際行為的輸出。這些輸入和輸出代表實際的量值,如電壓,溫度和pH。

圖3:對系統級模型建立直觀感覺的方框圖。
在該模型中,方塊代表模型的輸入和輸出信號之間的數學運算。某些稱作為工廠和工藝的方塊,代表機電系統的自然行為。例如,模型中會包括一個代表一個電機的方塊。該電機的數學模型可能相對簡單一些,簡單的話就有一個電壓輸入,并將其轉換成一個輸出力矩。可以通過向模型添加更多的輸入(例如用電壓表征的噪聲)或者增加更多的參數(例如溫度和磁飽和效應),來增加電機模型的復雜度。其中一個單獨方塊和一個方塊組,通過對模型中產生的輸出錯誤或事件進行過濾和處理,可以代表系統中的補償和控制。普通微分方程(ODEs)和微分代數方程(DAEs)表示機電系統的輸入與輸出的關系。在電機這個例子中,一個ODE描述的是電壓輸入到轉軸輸出力矩間的關系。微分方程是一個用來描述集總動態參數的可計算的有效方法,與像有限元分析(FEA)這類基于局部微分方程的模型工具相對應。FEA軟件可以被用來解決電機轉軸上關鍵裂縫的力矩引起的應力分布。
利用ODE來描述包括多個工程學科的機械電子系統的系統級行為是不可能沒有挑戰的。用數學的方法描述系統行為要求必須深入了解系統深層的物理特性。機械電子系統的現實特性是所有的系統都是非線性的,必須考慮實際機械電子系統中所呈現的磁滯效應,摩擦力以及熱效應。
改進系統級模型
如果系統的數學描述過難或太費時,設計師可以轉向其他方式的系統建模。一種實現一個初始原理的常用方法是數據激勵的經驗模型,例如系統驗證或神經網絡。這些黑匣子方案采用測量得出的輸入-輸出數據來建構系統行為的線性或非線性ODE格式,將這些整合進系統級模型中。這些方法無法對系統的物理特征進行完整的描述,但能夠對測試數據域中系統的動態特征進行精確的描述。測量數據還能利用參數估計技術來改進初始原理數學模型的精度。該灰盒子模型包含了調整像摩擦力系數這類模型參數的優化技術,以便使模型輸出與測試數據相匹配。
基于模型的設計使工程師在開始時可以不牽涉系統級模型的細節,而是隨著開發過程的深入逐步增加其逼真度。由低階的ODE表達的經驗證的概念模型開始時足以幫助工程師迅速排除貢獻較少的想法。對于更有用的想法,可以通過整合供應商提供的子元件來增加逼真度,以更迅速地評估元器件的組合。模型演進到一個多域的組合中,僅提供所需的細節來確保由技術需求文件所表述的工作條件下的性能。
隨著工程師通過利用從3維CAD裝配文件轉換過來的機械系統的質量和慣性特征來增加模型的逼真度,CAD可以滿足基于模型的設計。工程師可以利用代表從CAD文件自動轉換過來的機械本體和聯結的模塊來替代數學上的近似表達。除了能夠加速復雜機械系統級模型的開發外,該方案確保系統設計師和機械工程師能采用一個基于通用模型的、能夠代表實際的機械電子系統行為。
開發控制策略
在描述系統的自然行為后,下一步是開發和評估一個能夠整合機械電子系統中許多不同級別上的開環和閉環控制的控制策略。包括所有接口、模式、邏輯和監控的開環控制,指的是工程師如何實現安全操、故障檢測、以及故障恢復。而閉環控制的復雜度相差很大,從用于基本的比例-幾分-微分(PID)補償器到多元線性-二次-高斯(LQG)控制器的實現。
開環控制執行設備內部的監控和模式控制,解決操作員與系統的交互問題。設備設計師利用功能更強大的微處理器可以開發能夠為設備操作提供更多控制的復雜用戶接口。但結果是,開發商可以在設備上實現日益復雜的自診斷,故障檢測和安全關機系統。基于模型的設計幫助工程師針對系統級模型開發和測試日益復雜的開環控制系統。模擬可使測試在設計過程中及早地開始,以改進設備的工效,并及早發現任何可能要起設備損壞或引起危險條件的原因。
一個機械電子系統可以采用許多工作在各種條件下的閉環控制系統。利用系統級模型有助于設計和調整控制環路中呈現關聯行為的控制器。在硬件中調整控制器是困難和費時的,且為了防止不穩定性常常導致系統失調而達不到預期的性能。系統級模型幫助工程師分析控制環路的交互影響,開發去關聯策略,并利用各種依賴于直接的和優化的技術來調整補償增益。
在這一階段,系統級模型會呈現動態不穩定性,而利用閉環補償方法來消除該不穩定性無論是從實際上還是從成本的角度都是不可行的。該模型在識別和調整一些物理參數(包括質量,長度,電容等)方面比較容易,但會引起不穩定性。結果則是使問題可以在成本較低的軟件模擬階段即可發現,而非在物理模型的測試階段才發現。
基于模型的設計在控制領域幫助工程師實現成本折中的研究。系統級模型是一個分析工具,它可以決定一個具有較大容差的傳感器成本是否較低,是否能提供所要求的精度和性能。工程師利用該工具可以從實際來評估機械電子系統中任何部件的成本和系統性能。
連續測試和系統驗證
研發過程中的連續測試和驗證包括定義和利用與控制系統設計過程相關的標準測試。利用標準測試和測試包,能夠確保工程師利用相同的測試設備和一致的測試方法對系統級模型的演進進行測試。像通過/不通過以及容差范圍等測試準則與測試關聯,而該測試則通過電子鏈接與技術要求文件相關聯。利用一個標準測試包的連續測試能夠即時發現任何設計變化對系統輸出產生的影響,并幫助迅速地跟蹤變化及其起因。
此外,工程師可以利用測試包來確定是否是完整模型覆蓋,這是考察測試包是否能夠覆蓋到設備的所有工作場景、即是否完整的一個量度。在建模階段中,利用能夠完全覆蓋系統中所有工作條件的標準測試的驗證能夠確保開發工程師能夠在物理模型測試之前實現完整和正確的測試。基于模型的設計有助于工程師創建可以用到開發過程中所有階段以及可以用到生產測試中的完整測試。
當控制設計策略制訂和模擬測試完成后,工程師可以對用于部署的模型進行細化。這里的部署指的是將控制算法轉換成用來在實時系統上執行的C代碼,硬件描述語言(HDL),或者IEC-61131-3語言,例如結構化文本(ST)等。該過程包括將算法從連續(模擬)轉換成離散(數字)格式,通常是定點格式。在連續測試過程中,工程師測試控制算法的數字格式,而非設備的連續格式,確定數字轉換是否對系統性能起負面影響。
模型細化讓工程師檢查數字信號轉換的其他方面。系統設計師對輸入/輸出(I/O)設備驅動器和任何的A/D與D/A轉換器模型化,以確保在實際的系統實現中不會出現對導致信號損失或混疊失真。機械電子系統中通常采用工作速度和采樣率不同的各種處理器的組合。系統級模型讓工程師模擬和測試各種組合,來評估成本和實現性能,例如可以采用FPGA,而非DSP,或者采用定點運算代替浮點運算。
用實時系統測試機電系統
基于模型的設計中下一步是在實時系統上測試系統級模型。在該階段,工程師自動地將系統級模型轉換成C代碼,HDL,或PLC代碼。工程師可以生成控制算法的代碼,或設備模型代碼,或者是生成兩種,具體取決于系統的測試所需。在模型設計中,將系統級模型自動轉換成代碼,無需系統工程師必須是手寫代碼專家,防止了錯誤的引入,節省了時間。
自動代碼生成過程可以比擬為制造一個三維CAD文件描述的零件的工具通道。如果在零件加工后才發現錯誤,工程師將檢查和修改CAD文件并重新生成工具通道的代碼。而在基于模型的設計中,工程師改變代碼與系統模型的關系,而模型就是系統的故障檢測的自然環境。他們更新并測試模型,重新生成代碼。
利用專用的實時測試系統時,實時測試包括兩大類:快速建模(RP)和環路硬件(HIL)測試。該測試中,工程師可以在測試進行的同時實時采集數據并用代碼修改參數。表1中列舉了實時測試的部分選項,并說明了能夠讓工程師在實際硬件實現前捕捉關鍵的和耗時的錯誤方面所展現的靈活性。如上所述,追溯錯誤起源非常容易,因為系統級模型本身就是直接與技術要求文件緊密聯系的技術規范。

表1:快速建模和環內硬件測試環境。
在快速建模過程中,實時系統連接到實時硬件。由于絕大多數情況下,模型中控制系統包含所有所需的I/O接口,系統模型能自動生成這些功能所用的代碼,從而不需要工程師手工編寫這些代碼。HIL測試將設備的模型部署到一個實時系統中。此時,工程師將控制算法部署到實時系統中,或者是目標處理器中,并將其連接到也要在實時系統上運行的設備模型上。HIL測試也可以利用在臺式或工作站計算機上運行仿真模型來實完成。
產品質量代碼生成
基于模型的設計使得工程師可以利用系統級模型來部署控制算法(用C代碼,HDL,或者PLC代碼),產品處理器或其他實時系統。代碼生成過程優化了專用處理器所需的產品質量代碼。它不同于實時測試所用的代碼,因為該過程剝離了測試所需的所有參量,并將代碼優化成具有小長度,從而減小了存儲開銷,將運算速度提到。工程師可以對代碼生成過程進行控制,控制對象包括數據對象,用戶定義存儲級別,類別,以及混疊(aliase)。此外,還可以將代碼生成自動地定制到某個公司的軟件風格,以幫助該公司通常負責將代碼整合到更大的代碼段中的工程師能夠對代碼進行優化和簡化。
本文小結
基于模型的設計是機械電子系統的系統設計的CAE。工程師利用軟件來開發和測試其設備的行為模型具有如下的優點:
1. 能實現低成本設計,并能在開發初期利用便宜的模型硬件實現多種方案的測試;
2. 創建了一個采用與技術要求文件相關聯的公共可執行規范的協作設計環境,并利用一種公共語言實現過工程領域的通訊;
3. 通過在仿真階段容易地捕獲和更正錯誤,能夠降低開發成本;
4. 能夠開發機械電子系統中具有更高客戶價值,產品質量和復雜功能的嵌入式系統。