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

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

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

свернуть все

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

Пример: 2500

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

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

Пример: true

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

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

Пример: 8

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

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

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

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

Пример: 'VehicleDataMulti'

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

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

свернуть все

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

Введенный в R2009a