1
Chapter1 ||mat變量格式定義
TSMasterXCP模塊支持直接輸出壓縮的HDF5格式的mat文件(Matlab 7.3版本及以上),為基于Simulink的模型開發創造了便利。TSMaster 輸出的mat文件載入Matlab后,其工作區變量列表如下:
1.1 固定變量定義
固定變量列表如下:
序號 | 變量名稱 | 含義 |
1 | Comment | 注釋信息,在同星標定模塊的記錄引擎配置中可以更改,若注釋信息為空,則不會記錄這個變量 |
2 | MeasurementStartTime | 測量啟動時間,TDateTime格式,double類型,用于自動化 |
3 | MeasurementStartTimeStr | 字符串表達的測量啟動時間 |
4 | MeasurementStopTime | 測量結束時間,TDateTime格式,double類型,用于自動化 |
5 | MeasurementStopTimeStr | 字符串表達的測量結束時間 |
6 | ECU_LIST | 參與標定的ECU列表,逗號分隔 |
7 | TIME_LIST | 時間列表,包含所有信號的時間信息 |
1.2 時間解析方法
首先分隔時間序列,獲取所有時間軸:
以應用筆記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為例,如下圖所示:
1.3時間關聯的信號解析方法
獲取了時間軸后,需要獲取時間軸所關聯的信號列表,并根據列表中信號名稱定位信號。以時間軸ecu1_TIME_DAQ_100ms為例,其對應的信號列表存放于名稱ecu1_TIME_DAQ_100ms_LIST 的字符串變量里(逗號分隔),其變量名稱規則為:
時間軸名稱_LIST
按逗號分隔方式展開字符串變量ecu1_TIME_DAQ_100ms_LIST即可得到時間軸ecu1_TIME_DAQ_100ms所對應的一個或一組變量名稱,在本例中,只有一個名稱:
ecu1_triangleSignal
這個變量名稱最終定位到信號值數組“ecu1_triangleSignal”,該信號值數組的每一個元素與時間信號數組的每一個元素在時間上是一一對應的。
在這個信號上右擊可以繪制信號按點分布的曲線(不帶時間信息),如下圖所示:
1.4 構建timeseries
若需要構建帶時間信息的信號值序列,需要額外執行一段m腳本來構造timeseris,以信號ecu1_triangleSignal為例,其對應的時間軸是ecu1_TIME_DAQ_100ms,則timeseries可以通過如下腳本構造:
Triangle_signal = timeseries(ecu1_triangleSignal, ecu1_TIME_DAQ_100ms)
構造后,在工作區出現一個新的信號“Triangle_signal”:
右鍵繪制其變化曲線,可以看出橫縱坐標分別是時間和值:
2
Chapter 2 || Simulink信號回放
2.1 模型中回放工作區變量
在模型中回放XCP信號有如下幾個步驟:打開Simulink模塊,在模塊空白處雙擊,選擇“From Workspace”:
根據timeseries的名稱,將Simulink中的信號名稱改為“Triangle_signal”,即可參與模型相關的算法仿真和測試過程:
連接Scope后,仿真結果如下:
-
模塊
+關注
關注
7文章
2695瀏覽量
47433
發布評論請先 登錄
相關推薦
評論