Main Content

XCP CAN Data Stimulation

对选定的测量变量执行数据激励

  • XCP CAN Data Stimulation block

库:
Vehicle Network Toolbox / XCP Communication / CAN
Simulink Real-Time / XCP / CAN

描述

XCP CAN Data Stimulation 模块将所选事件测量变量的数据发送到选定服务器连接。该模块使用 XCP CAN 传输层在指定的激励时间步输出所选测量变量的原始数据。请配置 XCP 会话,使用 XCP CAN Data Stimulation 模块在配置的服务器连接上选择事件和测量变量。该模块会将选定的测量变量显示为输入端口。

XCP 通信模块支持 Simulink® 加速模式和快速加速模式。使用这些模式可以加快 Simulink 模型的执行速度。有关这些仿真模式的详细信息,请参阅加速 (Simulink)

端口

输入

全部展开

输入数据激励采样,其名称和类型由 A2L 文件定义。Selected Measurements 参数中的每个条目定义一个输入端口。对于仿真的每一步,在每个端口写入一个采样。

参数

全部展开

选择要使用的 XCP 配置的名称。此列表显示模型中可用 XCP CAN Configuration 模块中指定的所有可用名称。选择一项配置将显示此配置的 A2L 文件中可用的事件和测量变量。一个 XCP CAN Data Stimulation 模块仅能用于激励一个事件的测量变量。因此,针对要激励其测量变量的每个事件,请分别使用一个模块。

从事件列表中选择一个事件。XCP CAN Configuration 模块使用指定的 A2L 文件填充事件列表。该模块配置有来自 A2L 的对应事件编号。

事件时间周期不控制激励数据包的传输。每次执行时,该模块都会进行激励。为了在 Simulink 仿真中使用,请考虑启用仿真调速以避免自由运行激励。

此列表显示所选事件的所有可用测量变量。选择要使用的测量变量,然后点击添加按钮 将其移动到所选测量变量。按住键盘上的 Ctrl 键可选择多个测量变量。

在“模块参数”对话框中,在搜索框中键入要使用的测量变量的名称。所有测量变量列表显示所有匹配的名称的列表。点击 x 可清除您的搜索。

此列表显示您选择的测量变量。每个所选测量变量将一个输入端口添加到具有该测量变量名称的模块中。要从这个列表中删除一个测量变量,请选择该测量变量并点击删除按钮

模块参数对话框中,使用切换按钮 可对所选测量变量重新排序。

此参数支持 ASAP2 标准中定义的 XCP 数据类型和维度。“模块输入设置”参数选择端口是输入 Compu 方法转换值还是原始值。选项提供:

  • Physical values (apply Compu method conversion) 支持 ECU 测量变量值的物理到原始转换。对于此选项,根据基础 Compu 方法转换,模块端口设置设置为 'double''string'。例如,Compu 方法 IDENTICALLINEARRAT_FUNCTAB_INTPTAB_NOINTP 端口设置为 'double',而 Compu 方法 TAB_VERB 端口设置为 'string'。Compu 方法转换支持的最大字符串长度是 ASAM XIL 规范中指定的 1024。

    不支持 FORM Compu 方法转换。Simulink 会对这种转换发出警告,并且对涉及到的测量变量应用 IDENTICAL 转换。此外,TAB_VERB 转换仅支持标量测量信号,因为 Simulink 仅支持标量字符串。

    选择此选项会在模块封装上的测量变量名称前显示物理单位(如果有)。此物理单位是从测量变量和 Compu 方法的 A2L 描述中获得的。如果未指定物理单位,则仅显示测量变量名称。

  • Raw values (no Compu method conversion) 根据 A2L 文件中的类型定义设置端口数据类型,并支持在 Simulink 中进行最多三维的 XCP 测量变量。

  • Raw values as double (no Compu method conversion) 将端口数据类型设置为 double,从而转换所有内部测量变量值。此选项支持在 Simulink 中进行最多三维的 XCP 测量变量。

这些 ASAP2 数据类型由对应的 Simulink 端口数据类型支持:

  • SBYTE

  • UWORD

  • SWORD

  • ULONG

  • SLONG

  • A_UINT64

  • A_INT64

  • FLOAT32_IEEE

  • FLOAT64_IEEE

模块中的维度支持能够适应 MATLAB® 和 ECU 对矩阵的不同处理。MATLAB 默认运算将矩阵视为行优先矩阵。XCP 测量变量的 LAYOUT 可以为 COLUMN_DIRROW_DIR。如果矩阵测量变量为 COLUMN_DIR,则模块会在内存中重新排列测量变量,并确保 MATLAB 中的矩阵 (row X, col Y) 与 ECU 上的矩阵 (row X, col Y) 引用相同的条目。这种重新排列会导致在 ECU 上连续的矩阵条目在 MATLAB 和 Simulink 中不连续。

当时间戳启用时,模块输入来自 Simulink 的时间戳,并在 STIM DTO 数据包中发送该时间戳。当 A2L 文件支持参数时,模块参数对话框中会出现启用时间戳复选框。

扩展功能

版本历史记录

在 R2013a 中推出