上篇筆記我們介紹的是,TSMaster如何使用同星標(biāo)定模塊,相信很多工程師對我們TSMaster的后臺操作有了更進(jìn)一步的了解。本章節(jié)我們繼續(xù)給大家?guī)硪黄獞?yīng)用筆記——XCP 模塊輸出的 mat 文件格式說明。
“
本文目錄:
一、mat變量格式定義
1. 固定變量定義
2. 時間解析方法
3. 時間關(guān)聯(lián)的信號解析方法
4. 構(gòu)建 timeseries
二、Simulink 信號回放
1. 模型中回放工作區(qū)變量
一、mat變量格式定義
TSMaster XCP 模塊支持直接輸出壓縮的 HDF5 格式的 mat 文件(Matlab 7.3 版本及以上),為基于 Simulink 的模型開發(fā)創(chuàng)造了便利。TSMaster 輸出的 mat 文件載入 Matlab 后,其工作區(qū)變量列表如下:
(載入工作區(qū)的 mat文件)
1
固定變量定義
固定變量列表如下:
序號 | 變量名稱 | 含義 |
1 | Comment | 注釋信息, 在同星標(biāo)定模塊的記錄引擎配置中可以更改, 若注釋信息為空, 則不會記錄這個變量 |
2 | MeasurementStartTime | 測量啟動時間,TDate Time 格式, double 類型,用于自動化 |
3 | MeasurementStartTimeStr | 字符串表達(dá)的測量啟動時間 |
4 | MeasurementStopTime | 測量結(jié)束時間, TDateTime格式, double 類型,用于自動化 |
5 | MeasurementStopTimeStr | 字符串表達(dá)的測量結(jié)束時間 |
6 | ECU_LIST | 參與標(biāo)定的 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
分隔后可根據(jù)名稱在工作區(qū)取得每一根時間軸數(shù)組,每根時間軸數(shù)組可關(guān)聯(lián)一個或一組信號,時間軸有三種類型,分別是 DAQ 時間(一根時間軸包含一個 或一組信號);Poll 時間 (一根時間軸對應(yīng)一個信號) 和系統(tǒng)變量時間 (一根時間軸對應(yīng)一個信號):
序號 | 時間軸 | 類型 |
1 | ecu1_TIME_DAQ_Cyclic | DAQ時間,對應(yīng) Cyclic 類型的 DAQ |
2 | ecu1_TIME_DAQ_10_ms | DAQ時間,對應(yīng) 10_ms 類型的 DAQ |
3 | ecu1_TIME_DAQ_100ms | DAQ時間,對應(yīng) 100ms 類型的 DAQ |
4 | ecu1_TIME_POLL_noiseSignal | Poll時間,對應(yīng)查詢類型的變量 |
5 | TIME_XCPSimBus__engine_speed | 系統(tǒng)變量時間,對應(yīng)系統(tǒng)變量 |
>根據(jù)每根時間軸數(shù)組名稱可以提取時間軸的每個時刻絕對時間, 單位時秒,以 ecu1_TIME_DAQ_100ms 為例,如下圖所示:
(時間軸數(shù)組)
3
時間關(guān)聯(lián)的信號解析方法
>獲取了時間軸后, 需要獲取時間軸所關(guān)聯(lián)的信號列表,并根據(jù)列表中信號名稱定位信號。以時間軸 ecu1_TIME_DAQ_100ms 為例,其對應(yīng)的信號列表存放于名稱 ecu1_TIME_DAQ_100ms_LIST 的字符串變量里(逗號分隔),其變量名稱規(guī)則為:
時間軸名稱_LIST
>按逗號分隔方式展開字符串變量 ecu1_TIME_DAQ_100ms_LIST 即可得到時間軸 ecu1_TIME_DAQ_100ms 所對應(yīng)的一個或一組變量名稱,在本例中,只有一個名稱:
ecu1_triangleSignal
>這個變量名稱最終定位到信號值數(shù)組“ecu1_triangleSignal”,該信號值數(shù)組的每一個元素與時間信號數(shù)組的每一個元素在時間上是一一對應(yīng)的。
>在這個信號上右擊可以繪制信號按點分布的曲線(不帶時間信息),如下圖所示:
(信號上右鍵選擇plot以繪制不帶時間信息的值序列)
4
構(gòu)建 timeseries
>若需要構(gòu)建帶時間信息的信號值序列,需要額外執(zhí)行一段m腳本來構(gòu)造timeseris ,以 信 號 ecu1_triangleSignal 為 例 , 其 對 應(yīng) 的 時 間 軸 是 ecu1_TIME_DAQ_100ms,則 timeseries 可以通過如下腳本構(gòu)造:
Triangle_signal= timeseries(ecu1_triangleSignal, ecu1_TIME_DAQ_100ms)
>構(gòu)造后,在工作區(qū)出現(xiàn)一個新的信號“Triangle_signal”:
(生成timeseries)
>右鍵繪制其變化曲線,可以看出橫縱坐標(biāo)分別是時間和值:
(繪制 timeseries信號)
二、Simulink 信號回放
1
模型中回放工作區(qū)變量
在模型中回放 XCP 信號有如下幾個步驟:
打開 Simulink 模塊,在模塊空白處雙擊,選擇“FromWorkspace”:
(雙擊空白處搜索“FromWorkspace”信號)
根據(jù) timeseries 的名稱,將 Simulink 中的信號名稱改為“Triangle_signal”,即可參與模型相關(guān)的算法仿真和測試過程:
(修改信號名稱)
連接 Scope 后,仿真結(jié)果如下:
(Simulink仿真結(jié)果)
-
XCP
+關(guān)注
關(guān)注
0文章
11瀏覽量
11762
發(fā)布評論請先 登錄
相關(guān)推薦
EE-110:ELF和DWARF文件格式快速入門
![EE-110:ELF和DWARF<b class='flag-5'>文件格式</b>快速入門](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
EPS文件格式如何轉(zhuǎn)換 EPS和SVG文件的區(qū)別
XCP之A2L文件簡介
![<b class='flag-5'>XCP</b>之A2L<b class='flag-5'>文件</b>簡介](https://file1.elecfans.com/web1/M00/F4/F6/wKgaoWc0HFKAMf2kAAAXEos0M5Q607.png)
發(fā)掘3D文件格式的無限潛力:打造沉浸式虛擬世界
![發(fā)掘3D<b class='flag-5'>文件格式</b>的無限潛力:打造沉浸式虛擬世界](https://file1.elecfans.com/web2/M00/09/0E/wKgaomb1MwaAWyMhAAmS7tAmzhA073.png)
TSMaster 中 Hex 文件編輯器使用詳細(xì)教程
![<b class='flag-5'>TSMaster</b> 中 Hex <b class='flag-5'>文件</b>編輯器使用詳細(xì)教程](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
芯海CS32F0XXADC外設(shè)模塊應(yīng)用筆記
芯??萍紤?yīng)用筆記:CS32F0XX TIMER外設(shè)模塊指導(dǎo)
芯海應(yīng)用筆記:CS32F0XX ADC外設(shè)模塊指導(dǎo)
visual programmer打開的文件格式有.s19, .hex , .sx 三種文件格式有什么區(qū)別嗎?
Blender 4.1發(fā)布,引入新文件處理API,支持更多文件格式
TSMaster如何同時記錄標(biāo)定變量和DBC信號至BLF文件
![<b class='flag-5'>TSMaster</b>如何同時記錄標(biāo)定變量和DBC信號至BLF<b class='flag-5'>文件</b>](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
評論