主要内容

可以包

将单个信号打包成CAN消息

  • 库:
  • 车载网络工具箱/ CAN通信

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

    德州仪器C2000处理器/目标通信的嵌入式编码器支持包

    Simulink实时/ CAN / CAN MSG块

  • CAN包装块

描述

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

要使用此块,您必须拥有Simulink的许可证®软件

可以包块支持:

  • 仿真软件加速器™快速加速模式。您可以加快Simulink模型的执行速度。

  • 模型参考。您的模型可以包括其他Simulink模型作为模块化组件。

有关更多信息,请参见为有效加速度设计模型(模型)

提示

  • 这个块可以用来编码J1939参数组的信号,最多8个字节。但是,要处理J1939消息,最好使用J1939 Communication块库中的块,而不是这个块。看到J1939通讯

港口

输入

全部展开

可以包Block默认有一个输入端口。块输入的数量是动态的,取决于你为块指定的信号的数量。例如,如果消息有四个信号,则块可以有四个输入端口。

block支持如下输入信号数据类型:single、double、int8、int16、int32、int64、uint8、uint16、uint32、uint64、boolean。该块不支持定点数据类型。

将模型部署到目标的代码生成。如果信号信息由大于32位的有符号或无符号整数组成,则不支持代码生成。

输出

全部展开

该块有一个输出端口CAN Msg。CAN Pack块接受指定的输入信号并将它们打包到CAN消息中。类型决定输出数据类型输出为总线参数设置。

参数

全部展开

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

    换算公式为:

    raw_value = (physical_value - Offset) / Factor
    在哪里physical_value信号的原值和raw_value是封装信号值。

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

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

编程使用

块参数:DataFormat
类型:字符串|特征向量
价值观:“原始数据”|“手动指定的信号”|'CANdb指定信号'
默认值:“原始数据”

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

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

编程使用

块参数:CANdbFile
类型:字符串|特征向量

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

编程使用

块参数:MsgList
类型:字符串|特征向量

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

编程使用

块参数:MsgName
类型:字符串|特征向量

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

编程使用

块参数:MsgIDType
类型:字符串|特征向量
价值观:标准(11位标识符)|扩展的(29位标识符)
默认值:标准(11位标识符)

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

编程使用

块参数:MsgIdentifier
类型:字符串|特征向量
价值观:' 0 '“536870911”

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

编程使用

块参数:MsgLength
类型:字符串|特征向量
价值观:' 0 '“8”
默认值:“8”

指定CAN消息作为远程帧。

编程使用

块参数:远程
类型:字符串|特征向量
价值观:“关闭”|“上”
默认值:“关闭”

为块选择此选项以将CAN消息输出为Simulink总线信号。有关Simulink总线对象的更多信息,请参见复合材料界面(模型)

编程使用

块参数:BusOutput
类型:字符串|特征向量
价值观:“关闭”|“上”
默认值:“关闭”

向信号表中添加一个新信号。

编程使用

没有一个

从信号表中删除所选信号。

编程使用

没有一个

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

如果使用的是CANdb文件,则文件中的数据将填充此表,并且不能编辑字段。如果需要编辑信号信息,请切换到手动指定的信号。

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

名字

为信号指定一个描述性名称。模型中的Simulink块显示此名称。默认为信号[行号]

起始位

指定数据的起始位。开始位是从消息数据开始计算的最不重要的位。起始位必须为0 ~ 63之间的整数。

长度(字节)

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

字节顺序

选择以下任一选项:

  • :其中字节顺序是小端格式(英特尔®).在这种格式中,您从最低有效位到最高有效位进行计数。例如,如果以小端序格式打包一个字节的数据,起始位为20,则数据位表类似于下图。

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

    从最低有效位到最高地址的小端字节顺序图像

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

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

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

数据类型

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

  • 签署(默认)

  • 无符号

多路传输类型

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

  • 标准:信号在每个时间步进行封装。

  • 多路复用器:多路复用器信号,或模式信号被封装。只能指定一个多路复用器每条消息发出一个信号。

  • 多路复用的值表示信号已打包多路复用器运行时的信号(模式信号)与配置匹配多路复用的价值这个信号。

例如,一条消息具有以下类型和值的信号。

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

在这个例子中:

  • 该块在每个时间步长中将signal - a(标准信号)和signal - d(多路复用信号)打包。

  • 如果在特定的时间步骤中,Signal-D的值为1,则该块在该时间步骤中将Signal-B与Signal-A和Signal-D打包。

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

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

多路复用的价值

选项时,此选项才可用多路传输类型多路复用.所提供的值必须与多路复用器信号值,用于块打包多路复用信号。的多路复用的价值必须为正整数或零。

因素

指定因素值,用于将物理值(信号值)转换为消息中打包的原始值。有关更多信息,请参见数据输入为参数转换公式。

抵消

指定抵消值,用于将物理值(信号值)转换为消息中打包的原始值。有关更多信息,请参见数据输入为参数转换公式。

最小值马克斯

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

编程使用

块参数:SignalInfo
类型:字符串|特征向量

扩展功能

C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。

版本历史

在R2009a中引入

Baidu
map