canMessage

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

Описание

пример

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: 2500
        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('CANdb.dbc')

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

Пример: 'VehicleDataMulti'

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

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

свернуть все

Сообщение CAN, возвращенное как объект сообщения CAN, с can.Message Свойствами.

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

Функции

Свойства

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