CAN Receive

Получите сообщения CAN от заданного устройства CAN

  • Библиотека:
  • Автомобильный сетевой Toolbox/Связь с CAN

  • CAN Receive block

Описание

Блок CAN Receive получает сообщения от сети CAN и доставляет их в Simulink® модель. Это выводит одно сообщение или все сообщения в каждый временной интервал, в зависимости от параметров блоков.

Примечание

Чтобы использовать этот блок, вам нужна лицензия как на Vehicle Network Toolbox™, так и на программное обеспечение Simulink.

Блок CAN Receive хранит сообщения CAN в первом буфере (FIFO). Буфер FIFO доставляет сообщения вашей модели в очереди порядка в каждый временной интервал.

Примечание

Вы не можете иметь больше одного блока CAN Receive в модели, использующей тот же канал устройства PEAK-System.

Другие поддерживаемые функции

Блок CAN Receive поддерживает использование режима Accelerator™ Simulink. Используя эту функцию, можно ускорить выполнение моделей Simulink. Для получения дополнительной информации об этой функции см. документацию Simulink.

Блок CAN Receive поддерживает использование генерации кода наряду с функцией packNGo для группировки необходимого исходного кода и зависимых общих библиотек.

Генерация кода

Блоки Vehicle Network Toolbox Simulink позволяют вам генерировать код, позволяя моделям, содержащим эти блоки, запускаться в режимах Accelerator, Rapid Accelerator, External и Deployed.

Генерация кода с помощью Simulink Coder

Можно использовать Vehicle Network Toolbox, Simulink Coder™ и Embedded Coder® программное обеспечение вместе, чтобы сгенерировать код на конце хоста, который вы можете использовать для реализации вашей модели. Для получения дополнительной информации о генерации кода смотрите Build Process (Simulink Coder).

Общие Библиотечные зависимости

Блок генерирует код с ограниченной переносимостью. Блок использует предварительно скомпилированные общие библиотеки, такие как DLL, для поддержки ввода-вывода для определенных типов устройств. С помощью этого блока можно использовать packNGo функция, поддерживаемая Simulink Coder, для настройки и управления информацией о сборке для ваших моделей. packNGo (Simulink Coder) функция позволяет вам упаковать код модели и зависимые общие библиотеки в zip-файл для развертывания. Вам не нужен MATLAB® установлена в целевой системе, но целевая система должна поддерживаться MATLAB.

Как настроить packNGo:

set_param(gcs,'PostCodeGenCommand','packNGo(buildInfo)');

В этом примере gcs - текущая модель, которую вы хотите создать. Создание модель создает zip- файла с таким же именем, как и имя модели. Можно переместить этот zip-файл на другую машину и там создать исходный код в zip-файле, чтобы создать исполняемый файл, который может запускаться независимо от MATLAB и Simulink. Сгенерированный код компилируется как с C, так и С++ компиляторами. Для получения дополнительной информации смотрите Настройка процесса сборки (Simulink Coder).

Примечание

На Linux® платформы, необходимо добавить папку, в которой вы разархивируете библиотеки, в переменную окружения LD_LIBRARY_PATH.

Порты

Выход

расширить все

The CAN Msg выходной порт содержит одно или несколько упакованных сообщений CAN, полученных в этот конкретный временной интервал, выводимых в виде шины сигнала или CAN_MESSAGE. Выходы включают одно или все сообщения для этого временного интервала, в зависимости от настройки Number of messages received at each timestep.

Типы данных: CAN_MESSAGE | bus

The f() Выход порт является триггером для Подсистемы вызова функций. Если блок получает новое сообщение, он запускает Function-Call от этого порта. Затем можно подключиться к Function-Call Subsystem (Simulink), чтобы распаковать и обработать сообщение.

Типы данных: function-call event

Параметры

расширить все

Совет

Сконфигурируйте блок CAN Configuration перед конфигурированием параметров CAN Receive block.

Выберите из списка устройство CAN и канал на устройстве, от которого вы хотите получать сообщения CAN. В этом поле перечислены все устройства, установленные в системе. В нем отображается имя поставщика, имя устройства и идентификатор канала. По умолчанию это первое доступное устройство в вашей системе.

Программное использование

Параметры блоков: Device
Тип: Вектор символов, строка

Выберите фильтр для стандартных идентификаторов. Варианты:

  • Allow all (по умолчанию): Позволяет всем стандартным идентификаторам пройти фильтр.

  • Allow only: Разрешает использование только идентификатора или области значений идентификаторов, заданных в текстовом поле в виде одинарного идентификатора или массива идентификаторов. Можно также задать несвязанные идентификаторы или массивы, разделенные запятыми. Для примера, чтобы разрешить идентификаторы от 400 до 500 и от 600 до 650, введите [[400:500],[600:650]]. Стандартные идентификаторы должны быть положительными целыми числами от 0 до 2047. Можно также задать шестнадцатеричные значения с hex2dec функция.

  • Block all: Блокирует прохождение фильтра всеми стандартными идентификаторами.

Программное использование

Параметры блоков: StdIDsCombo
Тип: Вектор символов, строка
Значения: 'Allow all' | 'Allow only' | 'Block all'
По умолчанию: 'Allow all'

При использовании 'Allow only'установите значения фильтра следующим образом:

Параметры блоков: StandardIDs
Тип: Вектор символов, строка
Значения: целочисленный скаляр или вектор-строка

Выберите фильтр на этом блоке для расширенных идентификаторов. Варианты:

  • Allow all (по умолчанию): Позволяет всем расширенным идентификаторам проходить фильтр.

  • Allow only: Разрешает только те идентификаторы, которые указаны в текстовом поле. Разрешает использование только идентификатора или области значений идентификаторов, заданных в текстовом поле, заданных как один идентификатор или массив идентификаторов. Можно также задать несвязанные идентификаторы или массивы, разделенные запятыми. Для примера, чтобы принять идентификаторы с 3000 по 3500 и с 3600 по 3620, введите [[3000:3500],[3600:3620]]. Расширенные идентификаторы должны быть положительными целыми числами от 0 до 536870911. Можно также задать шестнадцатеричные значения, используя hex2dec функция.

  • Block all: Блокирует прохождение фильтра всеми расширенными идентификаторами.

Программное использование

Параметры блоков: ExtIDsCombo
Тип: Вектор символов, строка
Значения: 'Allow all' | 'Allow only' | 'Block all'
По умолчанию: 'Allow all'
Параметры блоков: ExtendedIDs
Тип: Вектор символов, строка
Значения: целочисленный скаляр или вектор-строка

Задайте шаг расчета блока во время симуляции. Это скорость, с которой блок выполняется во время симуляции. Значение по умолчанию является 0,01 (секунд). Для получения дополнительной информации смотрите Что такой Шаг расчета? (Simulink).

Программное использование

Параметры блоков: SampleTime
Тип: Вектор символов, строка
Значения: double
По умолчанию: '0.01'

Выберите, сколько сообщений получает блок в каждый заданный временной интервал. Допустимые варианты:

  • all (по умолчанию): Блок CAN Receive доставляет все доступные сообщения в буфере FIFO в модель в течение определенного временного интервала. Блок генерирует один вызов функции для каждого доставленного сообщения. Порт выхода всегда содержит одно сообщение CAN за раз.

  • 1: Блок CAN Receive доставляет одно сообщение в каждый временной интервал от буфера FIFO к модели.

Если блок не получает никаких сообщений до следующего временного интервала, он выводит последнее полученное сообщение.

Программное использование

Параметры блоков: MsgsPerTimestep
Тип: Вектор символов, строка
Значения: '1' | 'all'
По умолчанию: '1'

Вывод собственного сигнала шины Simulink. Для получения дополнительной информации об объектах шины Simulink, см. «Составные сигналы (Simulink)».

Программное использование

Параметры блоков: BusOutput
Тип: Вектор символов, строка
Значения: 'off' | 'on'
По умолчанию: 'off'

См. также

Блоки

Функции

Введенный в R2009a
Для просмотра документации необходимо авторизоваться на сайте