CAN Transmit

Передайте сообщение CAN к выбранному устройству CAN

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

  • CAN Transmit block

Описание

Блок CAN Transmit передает сообщения к сети CAN с помощью заданного устройства CAN. Блок CAN Transmit может передать одно сообщение или массив сообщений в течение данного такта. Чтобы передать массив сообщений, используйте mux (Simulink) (мультиплексный) блок из библиотеки блоков Simulink®.

Примечание

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

Блок CAN Transmit имеет один входной порт. Этот порт принимает сообщение CAN, которое было упаковано с помощью блока CAN Pack. Это не имеет никаких выходных портов.

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

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

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

Блок CAN Transmit поддерживает использование генерации кода наряду с функцией 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, как упаковано блоком CAN Pack, введите как CAN_MESSAGE или шина Сигнала Simulink.

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

Параметры

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

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

Примечание: При использовании ПИКОВЫХ Системных устройств системы, блоки Передачи CAN в нескольких активированных подсистемах могут пропустить некоторые сообщения. Если возможно, замените активированные подсистемы на другой тип условной подсистемы, такие как если-действие, действие случая переключателя или триггируемая подсистема; или перепроектируйте свою модель так, чтобы все блоки Передачи CAN содержались в одной активированной подсистеме.

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

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

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

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

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

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

Выберите эту опцию, чтобы включить периодическую передачу сообщения на сконфигурированном канале в заданный период сообщения. Реальное время ссылок периода, независимо от размера временного шага модели Simulink (основной шаг расчета) или шаг расчета выполнения блока. Это эквивалентно функции MATLAB transmitPeriodic.

Периодическая передача является небуферизированной операцией. Только последнее сообщение CAN или набор мультиплексированного подарка сообщений во входе блока CAN Transmit отправляются, когда период времени происходит.

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

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

Задайте период передачи сообщения в секундах. Это значение используется, чтобы передать сообщение в установленный период. По умолчанию этим значением является 1.000 секунды.

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

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

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

Блоки

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