canMessage

Создайте сообщение CAN на основе заданной пользователями структуры

Синтаксис

message = canMessage(id,extended,datalength)
message = canMessage(id,extended,datalength,'ProtocolMode','CAN FD')
message = canMessage(candb,messagename)

Описание

пример

message = canMessage(id,extended,datalength) создает объект сообщения CAN из необработанной информации о сообщении.

пример

message = canMessage(id,extended,datalength,'ProtocolMode','CAN FD') создает сообщение CAN FD. ProtocolMode по умолчанию является стандартный 'CAN'.

пример

message = canMessage(candb,messagename) создает сообщение с помощью определения сообщения в заданной базе данных. Поскольку ProtocolMode задан в базе данных сообщения, вы не можете задать его в качестве аргумента к canMessage при использовании базы данных.

Примеры

свернуть все

Создайте сообщение CAN с расширенным форматом ID.

message1 = canMessage(2500,true,4)
message1 = 

  Message with properties:

   Message Identification
    ProtocolMode: 'CAN'
              ID: 5000
        Extended: 1
            Name: ''

   Data Details
       Timestamp: 0
            Data: [0 0 0 0]
         Signals: []
          Length: 4

   Protocol Flags
           Error: 0
          Remote: 0

   Other Information
        Database: []
        UserData: []

Создайте сообщение CAN FD со стандартным форматом ID.

message2 = canMessage(1000,false,64,'ProtocolMode','CAN FD')
message2 = 

  Message with properties:

   Message Identification
    ProtocolMode: 'CAN FD'
              ID: 1000
        Extended: 0
            Name: ''

   Data Details
       Timestamp: 0
            Data: [1×64 uint8]
         Signals: []
          Length: 64
             DLC: 15

   Protocol Flags
             BRS: 0
             ESI: 0
           Error: 0

   Other Information
        Database: []
        UserData: []

Создайте сообщение с помощью определений базы данных CAN.

candb = canDatabase(string([(matlabroot) '\examples\vnt\VehicleInfo.dbc']))
message3 = canMessage(candb,'WheelSpeeds')
message3 = 

  Message with properties:

   Message Identification
    ProtocolMode: 'CAN'
              ID: 1200
        Extended: 0
            Name: 'WheelSpeeds'

   Data Details
       Timestamp: 0
            Data: [0 0 0 0 0 0 0 0]
         Signals: [1×1 struct]
          Length: 8

   Protocol Flags
           Error: 0
          Remote: 0

   Other Information
        Database: [1×1 can.Database]
        UserData: []

Входные параметры

свернуть все

ID сообщения, заданного как числовое значение. Если этот ID использовал расширенный формат, установите аргумент extended true.

Пример: 2500

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Указывает, имеет ли идентификатор сообщения стандартный или расширенный тип, заданный как true или false. Логическое значение true указывает, что ID имеет расширенный тип, false, указывает на стандартный тип.

Пример: true

Типы данных: логический

Длина данных о сообщении, заданных как целочисленное значение 0 через 8, включительно.

Пример 8

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

База данных CAN, заданная как объект базы данных. База данных содержит определение сообщения.

Пример: candb = canDatabase('J1939.dbc')

Имя определения сообщения в базе данных, заданной как вектор символов или строка.

Пример: 'VehicleDataMulti'

Типы данных: char | string

Выходные аргументы

свернуть все

Сообщение CAN, возвращенное как объект сообщения CAN, со следующими свойствами:

СвойствоЦель
BRSПереключатель битрейта CAN FD, как TRUE или FALSE
Данные

Данные сообщения CAN или группы параметра J1939

База данных

Информация о базе данных CAN

DLCКодовое обозначение длины данных
Ошибка

Ошибочный кадр сообщения CAN, как TRUE или FALSE

ESIИндикатор состояния ошибки CAN FD, как TRUE или FALSE
Расширенный

Верный для ложного показания расширенного типа Идентификатора CAN

ID

Идентификатор для сообщения CAN

ДлинаПередайте длину в байтах
Имя

Имя сообщения CAN

ProtocolModeРежим Protocol, заданный как CAN или CAN FD
Удаленный

Задайте, является ли сообщение CAN удаленным кадром

Сигналы

Физические сигналы заданы в сообщении CAN или группе параметра J1939

Метка времени

Передайте полученную метку времени

UserData

Пользовательские данные

Смотрите также

Функции

Представленный в R2009a