文档

可以包

将单个信号打包到CAN信息中

图书馆

可以沟通

嵌入式编码器®/嵌入式目标/主机通信

描述

在模拟过程中,CAN Pack块以指定的间隔将信号数据加载到消息中。

请注意

要使用此块,您还需要Simulink的许可证金宝app®软件

CAN包块默认有一个输入端口。块输入的数量是动态的,取决于您为块指定的信号数量。例如,如果你的区块有四个信号,它就有四个区块输入。

此块有一个输出端口CAN Msg。CAN Pack块接受指定的输入参数,并将信号打包成消息。

其他支持功能金宝app

可以包块支持:金宝app

  • 的使用金宝app仿真软件加速器™快速加速模式。使用这个特性,您可以加速Simulink模型的执行。金宝app

  • 模型引用的使用。使用此特性,您的模型可以将其他Simulink模型作为模块化组件包含进来。金宝app

  • 生成代码以将模型部署到目标。

    请注意

    如果信号信息包含长度大于32位的有符号或无符号金宝app整数,则不支持代码生成。

有关这些特性的更多信息,请参阅Simulink文档。金宝app

对话框

使用“功能块参数”对话框选择您的可以包块的参数。

参数

数据输入为

选择您的数据信号:

  • 原始数据:输入数据作为uint8矢量数组。如果选择此选项,则只指定消息字段。所有其他信号参数字段不可用。这个选项只打开区块上的一个输入端口。

  • 手动指定信号:指定数据信号定义。如果选择此选项,请使用信号表创建您的信号。块输入的数量取决于您指定的信号数量。

  • CANdb指定信号:允许指定包含消息和信号定义的CAN数据库文件。如果选择此选项,请选择一个CANdb文件。块输入的数量取决于在CANdb文件中为所选消息指定的信号数量。

请注意

块支持的输入信号数据金宝app类型有:single, double, int8, int16, int32, int64, uint8, uint16, uint32, uint64, boolean。该块不支持定点数据类型。金宝app

CANdb文件

中的CANdb文件输入数据时,此选项是可用的数据输入为列表。点击浏览查找系统上的CANdb文件。在CANdb文件中指定的消息列表填充消息对话框的一部分。CANdb文件还填充信号所选消息的表。

请注意

包含非字母数字字符(如等号、与号等)的文件名不是有效的CAN数据库文件名。您可以在数据库名称中使用句点。在使用CAN数据库文件之前,将它们重命名为非字母数字字符。

消息列表

中的CANdb文件输入数据时,此选项是可用的数据输入为字段中选择一个CANdb文件CANdb文件字段。中选择要显示信号详细信息的消息信号表格

消息

的名字

为CAN消息指定一个名称。默认值是可以味精.如果您选择输入原始数据或手动指定信号,则可以使用此选项。如果您选择使用来自CANdb文件的信号,则此选项不可用。

标识符类型

指定CAN消息标识符是否为标准或者一个扩展类型。默认值是标准.标准标识符为11位标识符,扩展标识符为29位标识符。如果您选择输入原始数据或手动指定信号,则可以使用此选项。为CANdb指定信号,标识符类型从数据库继承类型。

标识符

指定您的CAN消息ID。对于标准标识符,该数字必须是0到2047之间的正整数,对于扩展标识符,该数字必须是0到536870911之间的正整数。属性也可以指定十六进制值hex2dec函数。如果您选择输入原始数据或手动指定信号,则可以使用此选项。

长度(字节)

指定CAN消息的长度,从0到8字节。如果你正在使用CANdb指定信号对于您的数据输入,CANdb文件定义消息的长度。如果没有,该字段默认为8.如果您选择输入原始数据或手动指定信号,则可以使用此选项。

远程帧

指定CAN消息为远程帧。

输出作为总线

为模块选择这个选项以Simulink总线信号输出CAN消息。金宝app有关Simulink总线对象的更多信息,请参见金宝app复合信号(金宝app模型)。

信号表

如果您选择手动指定信号或使用CANdb文件定义信号,则会出现此表。

如果您使用的是一个CANdb文件,那么文件中的数据将自动填充这个表,您不能编辑字段。如果需要编辑信号信息,请切换到手动指定的信号。

如果选择手动指定信号,请在此表中手动创建信号。您创建的每个信号都具有以下值:

的名字

为信号指定一个描述性名称。模型中的金宝appSimulink块显示这个名称。默认值是信号(行号)

起始位

指定数据的起始位。起始位是从消息数据开始计算的最低有效位。起始位必须是0到63之间的整数。

长度(位)

指定消息中信号占用的位数。长度为1 ~ 64之间的整数。

字节顺序

请选择以下任一选项:

  • 字节顺序为小端格式(Intel®).在这种格式中,从最低有效位开始计数,直到具有最高位索引的最高有效位。例如,如果以小端格式打包一个字节的数据,起始位为20,数据位表类似下图。

    小端字节顺序从最低有效位到最高地址计数

  • :其中字节顺序为大端格式(Motorola®).在这种格式中,从最低有效位开始计数,直到最高有效位为止。例如,如果以大端格式打包一个字节的数据,起始位为20,数据位表类似下图。

    从最低有效位到最低地址的大端字节顺序

数据类型

指定信号如何在分配的位中解释数据。选择:

  • 签署(默认)

  • 未签名

多路传输类型

指定块如何在每个时间步将信号打包到CAN消息中:

  • 标准:信号在每个时间步被压缩。

  • 多路复用器:多路复用器信号,或模式信号被压缩。您只能指定一个多路复用器每个消息的信号。

  • 多路复用:信号被打包,如果多路复用器信号(模式信号)在运行时匹配配置多路复用的价值这个信号。

例如,一条消息有四个信号,它们的类型和值如下。

信号的名字 多路传输类型 多路复用的价值
一个信号 标准 N/A
Signal-B 多路复用 1
Signal-C 多路复用 0
Signal-D 多路复用器 N/A

在这个例子中:

  • 该模块在每个时间步中封装signal - a(标准信号)和signal - d(多路信号)。

  • 如果信号-D在特定时间步的值为1,则块将信号-B与信号-a和信号-D一起打包在该时间步中。

  • 如果Signal-D的值在某个特定的时间步长为0,则该块将Signal-C与Signal-A和Signal-D一起打包在该时间步长中。

  • 如果Signal-D的值不为1或0,则该块不封装该时间步长的多路复用信号中的任何一个。

多路复用的价值

此选项仅在您已选择多路传输类型多路复用.您在这里提供的值必须匹配多路复用器的块在运行时的信号值多路复用信号。的多路复用的价值必须是一个正整数或零。

因素

指定因素值,用于将物理值(信号值)转换为打包在消息中的原始值。看到转换公式了解如何将物理值转换为打包成消息的原始值。

抵消

指定抵消值,用于将物理值(信号值)转换为打包在消息中的原始值。看到转换公式了解如何将物理值转换为打包成消息的原始值。

最小值马克斯

定义信号值的范围。默认设置为(负无穷),分别。为CANdb指定信号,则从CAN数据库读取这些设置。为手动指定信号,可以指定信号的最小值和最大值。默认情况下,这些设置不会裁剪超过它们的信号值。

转换公式

换算公式为

raw_value = (physical_value - Offset) /因子
在哪里physical_value是信号的原始值,和raw_value为压缩后的信号值。

另请参阅

介绍了R2009a