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