本文目录:
一、mat变量格式定义
1. 固定变量定义
2. 时间解析方法
3. 时间关联的信号解析方法
4. 构建 timeseries
二、Simulink 信号回放
1. 模型中回放工作区变量
一、mat变量格式定义
TSMaster XCP 模块支持直接输出压缩的 HDF5 格式的 mat 文件(Matlab 7.3 版 本及以上),为基于 Simulink 的模型开发创造了便利。TSMaster 输出的 mat 文件载入Matlab 后,其工作区变量列表如下:
1、固定变量定义
固定变量列表如下:
1、时间解析方法
首先分隔时间序列,获取所有时间轴:
>以 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 后,仿真结果如下: