上篇筆記我們介紹的是,TSMaster如何使用同星標定模塊,相信很多工程師對我們TSMaster的后臺操作有了更進一步的了解。本章節我們繼續給大家帶來一篇應用筆記——XCP 模塊輸出的 mat 文件格式說明。
“
本文目錄:
一、mat變量格式定義
1. 固定變量定義
2. 時間解析方法
3. 時間關聯的信號解析方法
4. 構建 timeseries
二、Simulink 信號回放
1. 模型中回放工作區變量
一、mat變量格式定義
TSMaster XCP 模塊支持直接輸出壓縮的 HDF5 格式的 mat 文件(Matlab 7.3 版本及以上),為基于 Simulink 的模型開發創造了便利。TSMaster 輸出的 mat 文件載入 Matlab 后,其工作區變量列表如下:
(載入工作區的 mat文件)
1
固定變量定義
固定變量列表如下:
序號 | 變量名稱 | 含義 |
1 | Comment | 注釋信息, 在同星標定模塊的記錄引擎配置中可以更改, 若注釋信息為空, 則不會記錄這個變量 |
2 | MeasurementStartTime | 測量啟動時間,TDate Time 格式, double 類型,用于自動化 |
3 | MeasurementStartTimeStr | 字符串表達的測量啟動時間 |
4 | MeasurementStopTime | 測量結束時間, TDateTime格式, double 類型,用于自動化 |
5 | MeasurementStopTimeStr | 字符串表達的測量結束時間 |
6 | ECU_LIST | 參與標定的 ECU列表,逗號分隔 |
7 | TIME_LIST | 時間列表,包含所有信號的時間信息 |
2
時間解析方法
首先分隔時間序列,獲取所有時間軸:
(分隔時間序列)
>以 AN0001 中記錄的信號為例,其時間序列 TIME_LIST 字符串變量如下:
ecu1_TIME_DAQ_Cyclic,ecu1_TIME_DAQ_10_ms,ecu1_TIME_DAQ_100ms,ecu1_TIME_POLL_noiseSignal,TIME_XCPSimBus__engine_speed
分隔后可根據名稱在工作區取得每一根時間軸數組,每根時間軸數組可關聯一個或一組信號,時間軸有三種類型,分別是 DAQ 時間(一根時間軸包含一個 或一組信號);Poll 時間 (一根時間軸對應一個信號) 和系統變量時間 (一根時間軸對應一個信號):
序號 | 時間軸 | 類型 |
1 | ecu1_TIME_DAQ_Cyclic | DAQ時間,對應 Cyclic 類型的 DAQ |
2 | ecu1_TIME_DAQ_10_ms | DAQ時間,對應 10_ms 類型的 DAQ |
3 | ecu1_TIME_DAQ_100ms | DAQ時間,對應 100ms 類型的 DAQ |
4 | ecu1_TIME_POLL_noiseSignal | Poll時間,對應查詢類型的變量 |
5 | TIME_XCPSimBus__engine_speed | 系統變量時間,對應系統變量 |
>根據每根時間軸數組名稱可以提取時間軸的每個時刻絕對時間, 單位時秒,以 ecu1_TIME_DAQ_100ms 為例,如下圖所示:
(時間軸數組)
3
時間關聯的信號解析方法
>獲取了時間軸后, 需要獲取時間軸所關聯的信號列表,并根據列表中信號名稱定位信號。以時間軸 ecu1_TIME_DAQ_100ms 為例,其對應的信號列表存放于名稱 ecu1_TIME_DAQ_100ms_LIST 的字符串變量里(逗號分隔),其變量名稱規則為:
時間軸名稱_LIST
>按逗號分隔方式展開字符串變量 ecu1_TIME_DAQ_100ms_LIST 即可得到時間軸 ecu1_TIME_DAQ_100ms 所對應的一個或一組變量名稱,在本例中,只有一個名稱:
ecu1_triangleSignal
>這個變量名稱最終定位到信號值數組“ecu1_triangleSignal”,該信號值數組的每一個元素與時間信號數組的每一個元素在時間上是一一對應的。
>在這個信號上右擊可以繪制信號按點分布的曲線(不帶時間信息),如下圖所示:
(信號上右鍵選擇plot以繪制不帶時間信息的值序列)
4
構建 timeseries
>若需要構建帶時間信息的信號值序列,需要額外執行一段m腳本來構造timeseris ,以 信 號 ecu1_triangleSignal 為 例 , 其 對 應 的 時 間 軸 是 ecu1_TIME_DAQ_100ms,則 timeseries 可以通過如下腳本構造:
Triangle_signal= timeseries(ecu1_triangleSignal, ecu1_TIME_DAQ_100ms)
>構造后,在工作區出現一個新的信號“Triangle_signal”:
(生成timeseries)
>右鍵繪制其變化曲線,可以看出橫縱坐標分別是時間和值:
(繪制 timeseries信號)
二、Simulink 信號回放
1
模型中回放工作區變量
在模型中回放 XCP 信號有如下幾個步驟:
打開 Simulink 模塊,在模塊空白處雙擊,選擇“FromWorkspace”:
(雙擊空白處搜索“FromWorkspace”信號)
根據 timeseries 的名稱,將 Simulink 中的信號名稱改為“Triangle_signal”,即可參與模型相關的算法仿真和測試過程:
(修改信號名稱)
連接 Scope 后,仿真結果如下:
(Simulink仿真結果)
-
XCP
+關注
關注
0文章
11瀏覽量
11715
發布評論請先 登錄
相關推薦
評論