canFDMessage

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

Описание

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

пример

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

Примеры

свернуть все

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

candb = canDatabase(string([(matlabroot) '\examples\vnt\CANFDExample.dbc']));
message3 = canFDMessage(candb,'CANFDMessage')
message3 = 

  Message with properties:

   Message Identification
    ProtocolMode: 'CAN FD'
              ID: 1
        Extended: 0
            Name: 'CANFDMessage'

   Data Details
       Timestamp: 0
            Data: [1x48 uint8]
         Signals: []
          Length: 48
             DLC: 14

   Protocol Flags
             BRS: 1
             ESI: 0
           Error: 0

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

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

message2 = canFDMessage(1000,false,64)
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: []

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

свернуть все

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

Пример: 2500

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

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

Пример: true

Типы данных: logical

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

Пример: 64

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

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

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

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

Пример: 'VehicleDataMulti'

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

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

свернуть все

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

СвойствоЦель
БРОМПереключатель скорости передачи данных CAN FD как true или false
Данные

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

База данных

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

DLCЗначение кода длины данных
Ошибка

Сообщение CAN об ошибке системы координат как true или false

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

True для ложного указания расширенного типа CAN Identifier

Я бы

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

ДлинаДлина сообщения в байтах
Имя

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

ProtocolModeРежим протокола, заданный как CAN или CAN FD
Отдаленный

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

Сигналы

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

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

Получено сообщение временной метки

UserData

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

См. также

Функции

Введенный в R2018b