CAN Transmit

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

  • Библиотека:
  • Автомобильный сетевой 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 поддерживает использование режима Accelerator™ Simulink. Используя эту функцию, можно ускорить выполнение моделей Simulink. Для получения дополнительной информации об этой функции см. документацию Simulink.

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

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

Параметры

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

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

Примечание.При использовании устройств PEAK-System блоки CAN Transmit в нескольких подсистемах с поддержкой могут пропускать некоторые сообщения. Если возможно, замените активированные подсистемы на другой тип условной подсистемы, такой как if-действие, switch-case-действие или триггируемая подсистема; или перепроектируйте модель так, чтобы все блоки CAN Transmit содержались в одной включенной подсистеме.

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Блоки

Введенный в R2009a