0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

關于MIL、SIL、PIL和HIL之間的聯(lián)系和異同分析

MATLAB ? 來源:djl ? 作者:董淑成 ? 2019-09-17 11:51 ? 次閱讀

我們在使用MBD開發(fā)軟件的過程中,經(jīng)常會聽到MIL、SIL、PIL和HIL等In-the-Loop測試。

這幾種測試之間到底是什么關系?

分別做什么事情?

下面我來簡單說說。

M模型在環(huán)測試(MIL)

關于MIL、SIL、PIL和HIL之間的聯(lián)系和異同分析

圖一:模型在環(huán)測試(MIL)示意圖

如圖一所示,如果在Simulink模型中,將控制算法模型和被控對象模型連起來形成閉環(huán),就是我們經(jīng)常說的MIL,顧名思義,在模型層面上實現(xiàn)閉環(huán)測試。這種測試通常發(fā)生在兩種場景之下:

系統(tǒng)工程師為了驗證算法,使用控制算法模型控制被控對象模型

軟件工程師做模型級別的集成測試

當然,MIL測試的前提是要有被控對象模型,搭建被控對象模型或者采購現(xiàn)成的被控對象模型都可以。

M軟件在環(huán)測試(SIL)

SIL測試,這里的Software是指控制策略模型轉(zhuǎn)換成的C代碼編譯之后的軟件。我們可以想象,對于圖一,如果我們把控制策略模型替換成由控制策略模型轉(zhuǎn)換得到的C代碼編譯后的DLL文件,如果我們使用了和MIL測試時相同的測試用例,如果我們的測試用例足夠多,如果我們得到了和MIL測試相同的結(jié)果,那么我們是不是可以認為我們生成的C代碼就和用于代碼生成的模型是一致的呢?

沒錯,SIL測試的目的就是為了驗證自動生成的代碼和用于代碼生成的模型中行為上是一致的。

也就是說SIL測試是一種等效性測試,既然是等效性測試,那么我們就沒必要搭建圖一那樣的閉環(huán)模型,而可以用圖二實現(xiàn)等效性測試。

關于MIL、SIL、PIL和HIL之間的聯(lián)系和異同分析

圖二:軟件在環(huán)測試(SIL)示意圖

其實Simulink提供了SIL仿真模式,所以,我們可以用更方便的方式實現(xiàn)SIL測試,使用:

set_param(model_name,’SimulationMode’,’Software-in-the-loop(SIL)’)

設置算法模型的仿真模式為SIL,然后對比Normal模式下的輸出結(jié)果即可,并且這樣做有助于過程自動化。如圖三所示:

關于MIL、SIL、PIL和HIL之間的聯(lián)系和異同分析

圖三:選擇SIL仿真模式測試

M處理器在環(huán)測試(PIL)

SIL測試是驗證代碼和模型的一致性,代碼運行在Windows平臺上,某種程度上說,這并不能保證代碼到目標處理器上的運行結(jié)果也能夠和模型保持一致。所以,就有了PIL測試。

PIL和SIL的不同之處在于,SIL將生成的代碼通過DLL的方式運行在Windows平臺上,而PIL,是將生成的代碼運行到目標處理器上,兩種模式使用的編譯器也是不同的,SIL使用的就是Windows下的編譯器,比如Visual Studio C++或者LCC編譯器,而PIL使用的是目標編譯器。

前面說過,等效性測試的目的是為了防止代碼生成過程出錯。同樣,編譯過程也可能出錯,編譯器也可能有bug,綜合模型測試、SIL測試和PIL測試的結(jié)果,也可以幫助我們發(fā)現(xiàn)編譯器出錯可能引入的bug。

SIL和PIL是等效性測試,測試的目的是為了驗證自動生成的代碼和模型具有相同的行為,既然如此,對于SIL和PIL的測試用例就沒有功能意義上的要求,只要要求代碼和模型輸入的測試數(shù)據(jù)相同即可,當然希望數(shù)據(jù)量足夠大,能夠覆蓋各種路徑以及各種信號范圍。

另外,因為PIL測試中代碼運行在實際的控制器上,所以PIL測試除了可以驗證代碼和模型是否一致之外,還可以獲得算法在實際控制器上的最長運行時間,而這個最長時間的價值,做嵌入式實時軟件開發(fā)的工程師都懂得。

M硬件在環(huán)測試(HIL)

最后再說一下HIL測試,很多人會把HIL和PIL混淆,也有人認為PIL是一種簡化的HIL,理由是PIL測試的時候也需要引入硬件。這種理解是錯誤的。PIL和HIL測試的目的是不同的,PIL用于測試軟件和模型是否一致,而HIL是用于測試控制器系統(tǒng)的,控制器系統(tǒng)包括了硬件、底層軟件和應用層軟件。HIL測試通常將一個被測控制器和工控機相連,工控機上運行著被控對象的模型,并且模擬出被控對象的一些電氣特性。在HIL場景下,被測試的控制器并不知道和它相連的是一臺工控機,它會認為自己連接的就是真實的實物對象。

MIL、SIL、PIL三種測試都是和MBD開發(fā)模式下特有的,而HIL不同,無論你是否使用MBD開發(fā),都可能需要做HIL。不是所有的應用都需要,但是以下兩種情況建議做HIL:

在控制器軟硬件不成熟的條件下,運行出錯可能會導致人身傷害或者重大財產(chǎn)損失的情況;

在開發(fā)過程中,被控對象開發(fā)滯后于控制器開發(fā)的情況。

另外,HIL測試通常比實物測試更節(jié)省成本,比如,做汽油機臺架測試,需要有大量的汽油消耗,而通過HIL測試汽油機控制器,就沒有汽油消耗。但這并不是說HIL可以替代實物測試,HIL測試之后,通常會跟著做實物測試。

如果記不住上面的大段文字

就請記住下面3點——

MIL用于測算法

SIL和PIL用于測代碼(和模型的一致性)

HIL用于測控制器系統(tǒng)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19404

    瀏覽量

    230957
  • 控制器
    +關注

    關注

    112

    文章

    16444

    瀏覽量

    179195
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49251
收藏 人收藏

    評論

    相關推薦

    通用自動化測試軟件 - TAE

    INTEWORK-TAE(Test Automation Executor) 是一款通用的測試用例自動化執(zhí)行框架,用于汽車電子自動化測試,可支持仿真( MIL/SIL/HIL)、故障注入、 故障診斷、測量標定等測試業(yè)務,提供友好
    的頭像 發(fā)表于 01-02 13:42 ?126次閱讀
    通用自動化測試軟件 - TAE

    EasyGo AC-DC-MMC 實時仿真應用 #電力電子 #實時仿真 #半實物仿真 #HIL測試

    HIL測試
    森木磊石
    發(fā)布于 :2024年11月28日 11:38:20

    晶圓/晶粒/芯片之間的區(qū)別和聯(lián)系

    本文主要介紹??????晶圓 (wafer)/晶粒 (die)/芯片 (chip)之間的區(qū)別和聯(lián)系。 ? 晶圓(Wafer)——原材料和生產(chǎn)平臺?? 晶圓是半導體制造的基礎材料,通常由高純度的硅
    的頭像 發(fā)表于 11-26 11:37 ?762次閱讀

    汽車HiL測試:利用TS-GNSS模擬器掌握硬件性能的仿真藝術(shù)

    (Software-in-the-Loop,簡稱SiL)或處理器在環(huán)(Processor-in-the-Loop,簡稱PiL)測試之后的最終階段。HiL仿真不僅能夠針對單個被測設備(Device Under Test,簡稱DUT
    的頭像 發(fā)表于 11-22 16:21 ?361次閱讀
    汽車<b class='flag-5'>HiL</b>測試:利用TS-GNSS模擬器掌握硬件性能的仿真藝術(shù)

    基于TSMaster的MIL/HIL仿真開發(fā)(空簧和連續(xù)阻尼控制篇)

    ,本文HIL的測試對象為控制器本身而非整套懸架系統(tǒng)。#02仿真前提滿足ASU&CDC的MIL/HIL測試須要滿足如下條件1.建立CDC物理模型,即CDC速度-電流-力
    的頭像 發(fā)表于 10-26 08:02 ?729次閱讀
    基于TSMaster的<b class='flag-5'>MIL</b>/<b class='flag-5'>HIL</b>仿真開發(fā)(空簧和連續(xù)阻尼控制篇)

    設計仿真 基于VTD的AR-HUD仿真測試解決方案

    以虛擬場景為基礎的AR-HUD仿真測試手段,大大提升了產(chǎn)品開發(fā)迭代效率,降低開發(fā)成本,在行業(yè)內(nèi)得到了越來越多的關注,AR-HUD的仿真測試涵蓋MIL/SIL/HIL/DIL等不同階段,以VTD為基礎的仿真測試方案可以沿用相同的數(shù)
    的頭像 發(fā)表于 10-09 13:51 ?743次閱讀
    設計仿真  基于VTD的AR-HUD仿真測試解決方案

    【干貨分享】硬件在環(huán)仿真(HiL)測試

    一、HiL是什么?硬件在環(huán)仿真(Hardware-in-the-Loop,簡稱HIL)是真的控制器連接假的被控對象,以一種高效低成本的方式對控制器進行全面測試。它是一種用于復雜設備控制器的開發(fā)與測試
    的頭像 發(fā)表于 09-19 17:15 ?1150次閱讀
    【干貨分享】硬件在環(huán)仿真(<b class='flag-5'>HiL</b>)測試

    應用案例分享 | 智駕路試數(shù)據(jù)分析SiL/HiL 回灌案例介紹

    本文將通過實際應用案例進行講解,通過軟件在環(huán)(SiL)和硬件在環(huán)(HiL)回灌驗證,該系統(tǒng)能夠充分評估和優(yōu)化算法性能,發(fā)揮數(shù)據(jù)價值。
    的頭像 發(fā)表于 09-13 14:45 ?1877次閱讀
    應用案例分享 | 智駕路試數(shù)據(jù)<b class='flag-5'>分析</b>及 <b class='flag-5'>SiL</b>/<b class='flag-5'>HiL</b> 回灌案例介紹

    教學驗證篇丨PPEC+HIL LLC拓撲仿真驗證

    PPEC:Programmable Power Electronics Controller,可編程電力電子控制器HIL:Hardware-in-the-Loop,硬件在環(huán)森木磊石推出的電力電子科
    發(fā)表于 06-11 13:45

    RTU與PLC有什么異同

    在工業(yè)自動化系統(tǒng)中各自扮演著重要的角色,但兩者在功能、應用場景、設計原理等方面存在著顯著的差異。本文將詳細解析RTU與PLC的定義、特點、應用場景以及它們之間異同,以便讀者能夠更深入地了解這兩種設備。
    的頭像 發(fā)表于 06-03 14:55 ?1860次閱讀

    儲能BMS的HiL測試系統(tǒng)方案介紹

    的性能和穩(wěn)定性,硬件在環(huán)(Hardware-in-the-Loop,HiL)測試系統(tǒng)成為了一種有效的測試手段。本文將對儲能BMS的HiL測試系統(tǒng)方案進行詳細介紹,以期為相關研究和應用提供參考。
    的頭像 發(fā)表于 05-17 15:36 ?1474次閱讀

    MXsteerLink:助力汽車轉(zhuǎn)向測試 HiLSiL/MiL 之間平滑的切換

    汽車電子
    北匯信息POLELINK
    發(fā)布于 :2024年03月14日 11:30:24

    如何實現(xiàn)PIL和OpenCV之間圖像數(shù)據(jù)的轉(zhuǎn)換呢?

    PIL圖像數(shù)據(jù)格式轉(zhuǎn)換成OpenCV圖像數(shù)據(jù)格式
    的頭像 發(fā)表于 02-25 13:43 ?1272次閱讀

    接地保護跟漏電保護有什么異同處??

    隨著電力系統(tǒng)的不斷發(fā)展,人們對電氣設備和電路安全的重視程度越來越高。因此,接地保護和漏電保護等電氣安全措施起著至關重要的作用。在本文中,我們將詳細介紹接地保護和漏電保護的工作原理、應用場景以及它們之間異同點。
    的頭像 發(fā)表于 02-06 10:34 ?3079次閱讀

    四種編程語言之間的區(qū)別和聯(lián)系

    編程語言是一種人與計算機之間進行交流的方式,不同的編程語言有著不同的特點和用途。本文將對四種常見的編程語言——Python、Java、C++和JavaScript進行比較,分析它們的區(qū)別和聯(lián)系。 一
    的頭像 發(fā)表于 02-05 14:16 ?1701次閱讀