Main Content

can.Message 属性

can.Message 对象的属性

使用以下属性检查或配置 CAN 和 CAN FD 报文设置。使用 canMessage 创建 CAN 报文。

报文标识

全部展开

此 属性 为只读。

ProtocolMode 属性指示为 CAN 报文配置的通信协议,可以是 CANCAN FD

该值是在使用 canChannel 函数配置报文时定义的。

数据类型: char

此 属性 为只读。

ID 属性表示 CAN 报文的数字标识符。值范围:

  • 0 到 2047 之间的一个正整数,用作标准标识符

  • 0 到 536,870,911 之间的一个正整数,用作扩展标识符

您可以在构造报文时配置报文 ID。例如,要设置值为 300、数据长度为 8 个字节的标准标识符,请键入:

message = canMessage(300,false,8)

对于十六进制值,请使用 hex2dec 函数进行转换。

数据类型: double

此 属性 为只读。

Extended 属性是 CAN 报文的标识符类型。根据以下值,它可以是标准标识符或扩展标识符:

  • false - 标识符类型是标准类型(11 位)。

  • true - 标识符类型是扩展类型(29 位)。

您可以在构造报文时配置报文扩展属性。例如,要将报文标识符类型设置为 ID 为 2350、数据长度为 8 个字节的扩展类型,请键入:

message = canMessage(2350,true,8)

数据类型: logical

此 属性 为只读。

Name 属性以字符向量值形式显示报文的名称。此值是从您在数据库中定义的报文的名称中采集的。如果您在定义原始报文,则不能编辑此属性。

数据类型: char

数据详细信息

全部展开

Timestamp 属性显示在 CAN 通道上接收报文的时间。此时间基于接收通道的启动时间。

您可能希望在构造报文时设置该值。例如,要将报文的时间戳设置为 12,请键入:

message.Timestamp = 12

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

使用 Data 属性定义 CAN 报文中的原始数据。数据是 uint8 值的数组,基于您在报文中指定的数据长度。

例如,要创建一个 CAN 报文并定义其数据,请键入:

message = canMessage(2500,true,8)
message.Data = [23 43 23 43 54 34 123 1]

如果您的报文定义使用的是 CAN 数据库,您可以直接在 Signals 属性结构体中指定值。

您还可以使用 pack 函数将数据加载到报文中。

数据类型: uint8

Signals 属性允许您查看和编辑为 CAN 报文定义的解码信号值。如果报文没有已定义的信号或者数据库未连接到报文,则此属性显示一个空结构体。此属性的输入值取决于信号类型。

创建一条 CAN 报文。

message = canMessage(canDb,'messageName');

显示报文信号。

message.Signals
    VehicleSpeed: 0
       EngineRPM: 250

更改一个信号的值。

message.Signals.EngineRPM = 300

数据类型: struct

CAN 报文的长度(以字节为单位),指定为 uint8 值。此值指示 Data 向量中的元素数。对于 CAN 报文,此值限制为 8 个字节;对于 CAN FD 报文,长度可以是 0-8、12、16、20、24、32、48 或 64 个字节。

数据类型: uint8

此 属性 为只读。

CAN FD 报文数据的长度代码,以 uint8 值形式返回。此属性的值与 Length 属性的值有关:对于最大 8 个字节的报文大小,这两个属性值是相同的;9(二进制 1001)到 15(二进制 1110)的 DLC 值则用于指定 12、16、20、24、32、48 和 64 个字节的数据长度。有关详细信息,请参阅 CAN FD - 部分协议详细信息

数据类型: uint8

协议标志

全部展开

BRS 属性用于指示已设置了 CAN FD 报文比特率开关。它决定报文数据相位的比特率与仲裁相位的比特率相比是更快 (true) 还是与之相同 (false)。有关详细信息,请参阅 CAN FD - 部分协议详细信息

数据类型: logical

此 属性 为只读。

ESI 属性用于指示已设置了报文错误状态指示符标志。有关详细信息,请参阅 CAN FD - 部分协议详细信息

数据类型: logical

此 属性 为只读。

Error 属性指示 CAN 报文是否为错误帧。

数据类型: logical

使用 Remote 属性将 CAN 报文指定为远程帧。

  • false(默认值)- 报文不是远程帧。

  • true - 报文是远程帧。

要更改 Remote 的默认值并使报文成为远程帧,请键入:

message.Remote = true

数据类型: logical

其他信息

全部展开

Database 属性存储有关所连 CAN 数据库的信息。如果您的通道报文未连接到数据库,则属性值为空结构体 []。您可以编辑 CAN 通道的 Database 属性,但不能编辑 CAN 报文的 Database 属性。

要查看 CAN 报文所连数据库的相关信息,请键入:

message.Database

要将 CAN 通道上的数据库信息设置为 C:\Database.dbc,请键入:

channel.Database = canDatabase('C:\Database.dbc')

提示

包含非字母数字字符(如等号和 & 符号)的 CAN 数据库文件名与 Vehicle Network Toolbox™ 不兼容。您可以在数据库名称中使用句点。在使用任何 CAN 数据库文件之前,请使用非字母数字字符对其重命名。

数据类型: struct

使用 UserData 属性输入要存储在 CAN 报文或 J1939 参数组、通道或数据库对象中的自定义数据。保存指定了 UserData 的对象时,会自动保存自定义数据。加载指定了 UserData 的对象时,会自动加载自定义数据。

提示

使用 UserData 保存和加载对象时,为避免出现意外结果,请以简单数据类型和构造指定自定义数据。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | function_handle | categorical | datetime | duration | calendarDuration | fi
复数支持:

版本历史记录

在 R2009a 中推出