exponenta event banner

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 со стандартным форматом идентификатора.

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
Расширенный

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

Я бы

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

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

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

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

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

Сигналы

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

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

Метка времени получения сообщения

UserData

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

См. также

Функции

Представлен в R2018b