canFDMessage

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

Синтаксис

message = canFDMessage(id,extended,datalength)
message = canFDMessage(candb,messagename)

Описание

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: []

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

свернуть все

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

Пример: 2500

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

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

Пример: true

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

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

Пример: 64

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

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

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

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

Пример: 'VehicleDataMulti'

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

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

свернуть все

Сообщение CAN FD, возвращенное как объект сообщения 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

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

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

Функции

Введенный в R2018b