作者:酷兔本兔小編:吃不飽
上篇我們介紹了單元級(jí)軟件的PiL測(cè)試,對(duì)于集成級(jí)的PiL測(cè)試,其流程和單元階段基本一致。然而,對(duì)于一些帶有反饋控制邏輯的集成測(cè)試(如電機(jī)控制器MCU),PiL階段會(huì)將控制算法(Controller Model)刷入目標(biāo)板,那如何帶著位于PC端的Plant Model一起進(jìn)行閉環(huán)測(cè)試呢?
圖1 PiL階段的閉環(huán)測(cè)試流程
下面我會(huì)為以一個(gè)座艙溫度控制(ClimateControl)軟件為例,為大家展示基于TPT Fusion-Platform的PiL階段閉環(huán)測(cè)試解決方案。
01ClimateControl軟件功能介紹
ClimateControl軟件可以通過(guò)設(shè)定溫度和當(dāng)前座艙溫度自動(dòng)的控制汽車座艙的空調(diào)、暖風(fēng)開(kāi)啟/關(guān)閉以及風(fēng)機(jī)的轉(zhuǎn)速,從而實(shí)現(xiàn)自動(dòng)調(diào)節(jié)座艙溫度的功能。其中Controller Model為主要控制邏輯的實(shí)現(xiàn)。
為了對(duì)Controller Model的功能在仿真條件下進(jìn)行驗(yàn)證,我們搭建了模擬座艙環(huán)境的Plant Model,Plant Model通過(guò)一些預(yù)設(shè)條件以及Controller Model的控制來(lái)模擬座艙溫度的變化。其中Plant Model輸出的座艙溫度信號(hào)會(huì)反饋到Controller Model實(shí)現(xiàn)反饋控制。
圖2 ClimateControl控制邏輯示意圖
在進(jìn)行PiL測(cè)試時(shí),我們會(huì)將Controller Model進(jìn)行代碼生成、編譯并刷入目標(biāo)板,而Plant Model依然在PC端運(yùn)行。那么如何實(shí)現(xiàn)不同環(huán)境下的Controller Model和Plant Model之間的通訊呢?
02TPT Fusion-Platform
Fusion-Platform是TPT提供的控制軟件的軟件集成平臺(tái)。它允許將多個(gè)軟件模塊(稱為“節(jié)點(diǎn)”)相互連接,并將它們作為單個(gè)系統(tǒng)執(zhí)行。Fusion節(jié)點(diǎn)一個(gè)接一個(gè)地處理,共享Fusion平臺(tái)內(nèi)存,進(jìn)行數(shù)據(jù)交換。
這些節(jié)點(diǎn)可以支持dll、UDE、Trace32、XiL API、CAN等類型的平臺(tái),因此可以很方便的實(shí)現(xiàn)不同環(huán)境下的軟件間的通訊。
圖3 TPT Fusion-Platform
基于TPT Fusion-Platform的強(qiáng)大功能,我們可以很方便的實(shí)現(xiàn)ClimateControl軟件的閉環(huán)測(cè)試,即:位于目標(biāo)板的Controller Model(PLS UDE節(jié)點(diǎn))+位于PC端的Plant Model(dll節(jié)點(diǎn))。
03測(cè)試環(huán)境配置
首先我們需要在TPT中新建一個(gè)Fusion-Platform。并對(duì)運(yùn)行步長(zhǎng)、最大運(yùn)行時(shí)間進(jìn)行簡(jiǎn)單的配置。
Custom Node dll節(jié)點(diǎn)配置
對(duì)于Plant Model,由于需要在PC端運(yùn)行,我們可以將其轉(zhuǎn)成dll的格式(TPT提供了把模型生成dll的tlc文件,并且可以在TPT端實(shí)現(xiàn)從模型到dll的一鍵生成)。在Fusion-Platform新建一個(gè)Custom Node dll節(jié)點(diǎn),并加載dll文件,導(dǎo)入接口信號(hào)。
圖4 Custom Node dll節(jié)點(diǎn)配置
圖5 Plant Model的接口信息
PLS UDE節(jié)點(diǎn)配置
Controller Model我們需要將其進(jìn)行代碼生成、編譯后刷入目標(biāo)板。TPT可以通過(guò)UAD與目標(biāo)板進(jìn)行通訊,因此我們需要在Fusion-Platform中再新建一個(gè)PLS UDE節(jié)點(diǎn)。PLS UDE節(jié)點(diǎn)中的接口信號(hào)可以通過(guò)c文件導(dǎo)入,其他配置過(guò)程和我們上篇中的PLS UDE Platform的配置過(guò)程完全一致。
圖6 PLS UDE節(jié)點(diǎn)配置
04不同環(huán)境間的信號(hào)Mapping
在我們配置好Fusion-Platform的節(jié)點(diǎn)之后,便可以實(shí)現(xiàn)不同節(jié)點(diǎn)之間的信號(hào)交互。但是由于不同節(jié)點(diǎn)之間的信號(hào)接口數(shù)量、接口名稱存在不一致的情況,因此我們需要做一些簡(jiǎn)單的信號(hào)Mapping工作:
①僅在一個(gè)節(jié)點(diǎn)中存在的信號(hào)(例如發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào),僅存在于Plant Model):需在另一個(gè)節(jié)點(diǎn)中對(duì)該信號(hào)進(jìn)行Hidden;
②兩個(gè)節(jié)點(diǎn)中均存在但名稱不同的信號(hào)(例如反饋信號(hào),Controller Model中為“IntTemp_K”,Plant Model中為“IntTemp_K_”):需要在“External_Name”中設(shè)置其外部名稱進(jìn)行Rename。
圖7 信號(hào)Mapping
05閉環(huán)測(cè)試的實(shí)現(xiàn)
做好這些配置工作之后,我們便可以在TPT中搭建測(cè)試用例,來(lái)進(jìn)行閉環(huán)測(cè)試了。TPT會(huì)同時(shí)調(diào)起兩個(gè)不同環(huán)境下的節(jié)點(diǎn),實(shí)現(xiàn)PiL階段的閉環(huán)測(cè)試。
這里我在TPT中搭建了一個(gè)簡(jiǎn)單的測(cè)試場(chǎng)景:外界溫度-5攝氏度,座艙設(shè)定溫度18攝氏度。我們可以運(yùn)行測(cè)試用例在TPT中觀測(cè)各信號(hào)的變化情況。
圖8 “-5到18攝氏度”升溫測(cè)試
圖9 信號(hào)變化情況
通過(guò)信號(hào)窗口可以看出,當(dāng)座艙溫度低于設(shè)定溫度時(shí),Controller Model會(huì)控制暖風(fēng)機(jī)使能信號(hào)使能,打開(kāi)暖風(fēng)機(jī)。與此同時(shí),Plant Model會(huì)通過(guò)發(fā)動(dòng)機(jī)轉(zhuǎn)速、扭矩等信息計(jì)算出座艙溫度變化并反饋至Controller Model,實(shí)現(xiàn)閉環(huán)反饋控制。
so...這個(gè)方案是不是很完美?感興趣的小伙伴快來(lái)試一試吧。
-
測(cè)試
+關(guān)注
關(guān)注
8文章
5099瀏覽量
126337 -
PIL
+關(guān)注
關(guān)注
0文章
19瀏覽量
8591
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論