canChannel

Создайте канал CAN, соединенный с заданным устройством

Синтаксис

canch = canChannel(vendor,device,devicechannelindex)
canch = canChannel(vendor,device)
canch = canChannel(___,'ProtocolMode','CAN FD')

Описание

пример

canch = canChannel(vendor,device,devicechannelindex) возвращает канал CAN, соединенный с устройством от заданного поставщика.

Для Векторных произведений device является вектором символов, который комбинирует тип устройства и индекс устройства, такой как 'CANCaseXL 1'. Например, если существует два устройства CANcardXL, device может быть 'CANcardXL 1' или 'CANcardXL 2'.

Использование canch = canChannel(vendor,device) для National Instruments® и ПИКОВЫХ Системных устройств системы.

Для Национальных Инструментов vendor является вектором символов 'NI', и devicenumber является интерфейсным номером, заданным в NI Measurement & Automation Explorer.

Для ПИКОВЫХ Системных устройств системы vendor является вектором символов 'PEAK-System', и devicenumber является номером устройства, заданным для канала.

Проверяйте Конструктора Устройства CAN в отображение canHWInfo для конструкции канала.

пример

canch = canChannel(___,'ProtocolMode','CAN FD') возвращает канал, соединенный с устройством, поддерживающим CAN FD. Установкой ProtocolMode по умолчанию является 'CAN', указывая на стандартную поддержку CAN. Канал, сконфигурированный для 'CAN', не может передать или получить сообщения CAN FD.

Примеры

свернуть все

Создайте каналы CAN для каждого из нескольких поставщиков.

canch1 = canChannel('Vector','CANCaseXL 1',1);
canch2 = canChannel('Vector','Virtual 1',2);
canch3 = canChannel('NI','CAN1');
canch4 = canChannel('PEAK-System','PCAN_USBBUS1');
canch5 = canChannel('MathWorks','Virtual 1',2)
 

canch5 = 

  Channel with properties:

   Device Information
            DeviceVendor: 'MathWorks'
                  Device: 'Virtual 1'
      DeviceChannelIndex: 2
      DeviceSerialNumber: 0
            ProtocolMode: 'CAN'

   Status Information
                 Running: 0
       MessagesAvailable: 0
        MessagesReceived: 0
     MessagesTransmitted: 0
    InitializationAccess: 1
        InitialTimestamp: [0×0 datetime]
           FilterHistory: 'Standard ID Filter: Allow All | Extended ID Filter: Allow All'

   Channel Information
               BusStatus: 'N/A'
              SilentMode: 0
         TransceiverName: 'N/A'
        TransceiverState: 'N/A'
       ReceiveErrorCount: 0
      TransmitErrorCount: 0
                BusSpeed: 500000
                     SJW: []
                   TSEG1: []
                   TSEG2: []
            NumOfSamples: []

   Other Information
                Database: []
                UserData: []

Создайте канал CAN FD на виртуальном устройстве MathWorks.

canch6 = canChannel('MathWorks','Virtual 1',2,'ProtocolMode','CAN FD')
canch6 = 

  Channel with properties:

   Device Information
            DeviceVendor: 'MathWorks'
                  Device: 'Virtual 1'
      DeviceChannelIndex: 2
      DeviceSerialNumber: 0
            ProtocolMode: 'CAN FD'

   Status Information
                 Running: 0
       MessagesAvailable: 0
        MessagesReceived: 0
     MessagesTransmitted: 0
    InitializationAccess: 1
        InitialTimestamp: [0×0 datetime]
           FilterHistory: 'Standard ID Filter: Allow All | Extended ID Filter: Allow All'

   Bit Timing Information
               BusStatus: 'N/A'
              SilentMode: 0
         TransceiverName: 'N/A'
        TransceiverState: 'N/A'
       ReceiveErrorCount: 0
      TransmitErrorCount: 0
     ArbitrationBusSpeed: []
            DataBusSpeed: []

   Other Information
                Database: []
                UserData: []

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

свернуть все

Поставщик устройства CAN, заданный как 'MathWorks', 'Kvaser', 'NI', 'PEAK-System' или 'Vector'.

Пример: 'MathWorks'

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

Устройство CAN, чтобы соединить канал с, заданный как вектор символов или строка. Допустимые значения зависят от заданного поставщика.

Пример: 'Virtual 1'

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

Порт канала устройства CAN или индекс, заданный как числовое значение.

Пример 1

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

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

свернуть все

Канал устройства CAN, возвращенный как объект канала CAN, со следующими свойствами.

Свойства канала CAN:

BusLoadНагрузка на шину CAN
База данныхХраните информацию базы данных CAN
MessageReceivedFcnЗадайте функцию, чтобы запуститься
MessageReceivedFcnCountЗадайте количество сообщений, доступных, прежде чем функция будет инициирована
ВыполнениеОпределите состояние канала
SilentModeЗадайте, активен ли канал или тих
TransceiverNameИмя приемопередатчика устройства
TransceiverStateСостояние отображения или режим приемопередатчика
UserData Введите пользовательские данные

Свойства устройства CAN:

УстройствоОтобразите тип устройства канала
Устройство (NI)Отобразите тип устройства канала CAN NI
DeviceChannelIndexИндекс канала дисплея
DeviceSerialNumberПорядковый номер дисплея
DeviceVendorИмя поставщика дисплея
InitializationAccessОпределите управление канала устройства

Свойства тактовой синхронизации:

BusSpeedБитрейт шины
NumOfSamplesОтобразите количество выборок, доступных каналу
SJWШирина скачка синхронизации (SJW) сегмента времени передачи бита
TSEG1Отобразите сумму, что канал может удлинить шаг расчета
TSEG2Отобразите сумму, что канал может сократить шаг расчета

Советы

  • Используйте canChannelList, чтобы получить список доступных устройств.

  • У вас не может быть больше чем одного canChannel, сконфигурированного на том же NI-XNET или канале ПИКОВОГО Системного устройства системы.

  • Вы не можете использовать ту же переменную, чтобы создать несколько каналов последовательно. Очистите любой канал в использовании перед использованием той же переменной, чтобы создать новый канал CAN.

  • Вы не можете создать массивы объектов канала CAN. Каждый объект, который вы создаете, должен существовать как его собственная отдельная переменная.

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

Функции

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