TSMaster 应用笔记 | 同星 XCP 模块输出的 mat 文件格式说明

发布于:2023-01-22 ⋅ 阅读:(8) ⋅ 点赞:(0) ⋅ 评论:(0)

本文目录:

一、mat变量格式定义

1. 固定变量定义

2. 时间解析方法

3. 时间关联的信号解析方法

4. 构建 timeseries

二、Simulink 信号回放

1. 模型中回放工作区变量

mat变量格式定义

TSMaster XCP 模块支持直接输出压缩的 HDF5 格式的 mat 文件(Matlab 7.3 版 本及以上),为基于 Simulink 的模型开发创造了便利。TSMaster  输出的 mat 文件载入 Matlab 后,其工作区变量列表如下:

1、固定变量定义

固定变量列表如下:

 

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 时间 (一根时间轴对应一个信号) 和系统变量时间 (一根时间轴对应一个信号):

>根据每根时间轴数组名称可以提取时间轴的每个时刻绝对时间, 单位时秒, 以 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”,该信号值数组 的每一个元素与时间信号数组的每一个元素在时间上是一一对应的。

>在这个信号上右击可以绘制信号按点分布的曲线(不带时间信息),如下图所示:

4、构建 timeseries 

>若需要构建带时间信息的信号值序列,需要额外执行一段m脚本来构造timeseris ,以 信 号 ecu1_triangleSignal    为 例 ,  其 对 应 的 时 间 轴 是 ecu1_TIME_DAQ_100ms,则 timeseries 可以通过如下脚本构造:

Triangle_signal = timeseries(ecu1_triangleSignal, ecu1_TIME_DAQ_100ms)

>构造后,在工作区出现一个新的信号“Triangle_signal”:

>右键绘制其变化曲线,可以看出横纵坐标分别是时间和值:

 

二、Simulink 信号回放 

1、模型中回放工作区变量

在模型中回放 XCP 信号有如下几个步骤:

打开 Simulink 模块,在模块空白处双击,选择“FromWorkspace”:

根据 timeseries 的名称,将 Simulink 中的信号名称改为“Triangle_signal”,即 可参与模型相关的算法仿真和测试过程:

 

连接 Scope 后,仿真结果如下: