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

干貨分享 | TSMaster AUTOSAR E2E使用說明

EE-110:ELF和DWARF文件格式快速入門

EPS文件格式如何轉(zhuǎn)換 EPS和SVG文件的區(qū)別
XCP之A2L文件簡介

發(fā)掘3D文件格式的無限潛力:打造沉浸式虛擬世界

TSMaster 中 Hex 文件編輯器使用詳細(xì)教程

評論