can.Message 属性
can.Message
对象的属性
使用以下属性检查或配置 CAN 和 CAN FD 报文设置。使用 canMessage
创建 CAN 报文。
报文标识
ProtocolMode
— CAN 通道的协议模式
'CAN'
(默认) | 'CAN FD'
此 属性 为只读。
ProtocolMode
属性指示为 CAN 报文配置的通信协议,可以是 CAN
或 CAN FD
。
该值是在使用 canChannel
函数配置报文时定义的。
数据类型: char
ID
— CAN 报文的标识符
双精度值
此 属性 为只读。
ID
属性表示 CAN 报文的数字标识符。值范围:
0 到 2047 之间的一个正整数,用作标准标识符
0 到 536,870,911 之间的一个正整数,用作扩展标识符
您可以在构造报文时配置报文 ID。例如,要设置值为 300、数据长度为 8 个字节的标准标识符,请键入:
message = canMessage(300,false,8)
对于十六进制值,请使用 hex2dec
函数进行转换。
数据类型: double
Extended
— CAN 报文的标识符类型
0
(false
) (默认) | 1
(true
)
此 属性 为只读。
Extended
属性是 CAN 报文的标识符类型。根据以下值,它可以是标准标识符或扩展标识符:
false
- 标识符类型是标准类型(11 位)。true
- 标识符类型是扩展类型(29 位)。
您可以在构造报文时配置报文扩展属性。例如,要将报文标识符类型设置为 ID 为 2350、数据长度为 8 个字节的扩展类型,请键入:
message = canMessage(2350,true,8)
数据类型: logical
Name
— CAN 报文名称
字符
此 属性 为只读。
Name
属性以字符向量值形式显示报文的名称。此值是从您在数据库中定义的报文的名称中采集的。如果您在定义原始报文,则不能编辑此属性。
数据类型: char
数据详细信息
Timestamp
— 收到报文的时间
双精度值
Timestamp
属性显示在 CAN 通道上接收报文的时间。此时间基于接收通道的启动时间。
您可能希望在构造报文时设置该值。例如,要将报文的时间戳设置为 12,请键入:
message.Timestamp = 12
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Data
— CAN 报文原始数据
uint8 数组
使用 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 报文中定义的物理信号
结构体
Signals
属性允许您查看和编辑为 CAN 报文定义的解码信号值。如果报文没有已定义的信号或者数据库未连接到报文,则此属性显示一个空结构体。此属性的输入值取决于信号类型。
创建一条 CAN 报文。
message = canMessage(canDb,'messageName');
显示报文信号。
message.Signals
VehicleSpeed: 0 EngineRPM: 250
更改一个信号的值。
message.Signals.EngineRPM = 300
数据类型: struct
Length
— CAN 报文的长度
uint8
CAN 报文的长度(以字节为单位),指定为 uint8 值。此值指示 Data
向量中的元素数。对于 CAN 报文,此值限制为 8 个字节;对于 CAN FD 报文,长度可以是 0-8、12、16、20、24、32、48 或 64 个字节。
数据类型: uint8
DLC
— CAN 报文数据长度代码
uint8
此 属性 为只读。
CAN FD 报文数据的长度代码,以 uint8 值形式返回。此属性的值与 Length
属性的值有关:对于最大 8 个字节的报文大小,这两个属性值是相同的;9(二进制 1001)到 15(二进制 1110)的 DLC
值则用于指定 12、16、20、24、32、48 和 64 个字节的数据长度。有关详细信息,请参阅 CAN FD - 部分协议详细信息。
数据类型: uint8
协议标志
BRS
— CAN FD 报文比特率开关
0
(false
) | 1
(true
)
BRS
属性用于指示已设置了 CAN FD 报文比特率开关。它决定报文数据相位的比特率与仲裁相位的比特率相比是更快 (true
) 还是与之相同 (false
)。有关详细信息,请参阅 CAN FD - 部分协议详细信息。
数据类型: logical
ESI
— CAN FD 报文错误状态指示符
0
(false
) | 1
(true
)
Error
— CAN 报文错误帧指示符
0
(false
) | 1
(true
)
此 属性 为只读。
Error
属性指示 CAN 报文是否为错误帧。
数据类型: logical
Remote
— 指定 CAN 报文远程帧
false
(默认) | true
使用 Remote
属性将 CAN 报文指定为远程帧。
false
(默认值)- 报文不是远程帧。true
- 报文是远程帧。
要更改 Remote
的默认值并使报文成为远程帧,请键入:
message.Remote = true
数据类型: logical
其他信息
DataBase
— CAN 数据库信息
结构体
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
— 自定义数据
任何数据
使用 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 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)