CAN FD Receive

Прием сообщений CAN FD от заданного устройства CAN FD

Библиотека

Vehicle Network Toolbox: CAN FD Communication

  • CAN FD Receive block

Описание

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

Примечание

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

Блок CAN FD Receive имеет два выходных порта:

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

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

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

Примечание

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

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

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

Блок CAN FD 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.

Параметры

Совет

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

Device

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

Standard IDs Filter

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

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

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

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

Extended IDs Filter

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

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

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

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

Sample time

Задайте время дискретизации блока во время симуляции, которое является временем симуляции, как описано в документации Simulink. Это значение определяет частоту, с которой блок CAN FD Receive запускается во время симуляции. Если блок находится внутри триггируемой подсистемы или для наследования шага расчета, можно задать -1 как твой шаг расчета. Можно также задать переменный MATLAB для шага расчета. Значение по умолчанию является 0,01 (в секундах).

Number of messages received at each timestep

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

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

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

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

См. также

Блоки

Функции

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