CAN FD Receive

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

  • Библиотека:
  • Vehicle Network Toolbox / Коммуникация CAN FD

  • CAN FD Receive block

Описание

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

Примечание

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

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

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

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

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

Примечание

У вас не может быть больше чем одного блока CAN FD Receive в модели с помощью того же канала ПИКОВОГО Системного устройства системы.

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

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

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

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

Блоки Simulink Vehicle Network Toolbox позволяют вам генерировать код, модели, дающие возможность выбора, содержащие эти блоки, чтобы запуститься в Акселераторе, Быстром Акселераторе, Внешнем, и режимы Deployed.

Генерация кода с Simulink Coder

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

Разделяемые библиотечные зависимости

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

Настраивать packNGo:

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

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

Примечание

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

Порты

Вывод

развернуть все

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

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

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

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

Параметры

развернуть все

Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Allow only: Позволяет только те идентификаторы, заданные в текстовом поле. Позволяет только ID или область значений идентификаторов, заданных в текстовом поле в виде одного ID или массива идентификаторов. Можно также задать разделенные идентификаторы или массивы, разделенные запятой. Например, чтобы принять идентификаторы 3 000 - 3 500, и 3 600 - 3 620, вводят [[3000:3500],[3600:3620]]. Расширенные идентификаторы должны быть положительными целыми числами от 0 до 536870911. Можно также задать шестнадцатеричные значения с помощью hex2dec функция.

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

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

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

Задайте время выборки блока, который задает уровень, на котором блок выполняется в процессе моделирования. Значением по умолчанию составляют 0,01 секунды симуляции. Если блок в триггируемой подсистеме или наследовать шаг расчета, можно задать -1 как ваш шаг расчета. Можно также задать переменную MATLAB для шага расчета. Для получения дополнительной информации смотрите Синхронизацию в Моделях Аппаратного интерфейса.

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

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

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

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

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

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

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

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

Расширенные возможности

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

Блоки

Функции

Введенный в R2018a