Передайте сообщение CAN FD на выбранное устройство CAN FD
Vehicle Network Toolbox: CAN FD Communication
Блок CAN FD Transmit передает сообщения в сеть CAN с помощью указанного устройства CAN. Блок CAN FD Transmit может передать одно сообщение или массив сообщений во время заданного временного интервала. Чтобы передать массив сообщений от сигнальной шины, используйте Bus Creator (Simulink) или Vector Concatenate, Matrix Concatenate (Simulink) блок из Simulink® библиотека блоков.
Примечание
Чтобы использовать этот блок, вам нужна лицензия как на Vehicle Network Toolbox™, так и на программное обеспечение Simulink.
Блок CAN FD Transmit имеет один входной порт. Этот порт принимает сообщение CAN, упакованное с помощью блока CAN FD Pack. У него нет выходных портов.
CAN является одноранговой сетью, поэтому при передаче сообщений по физической шине должен присутствовать по меньшей мере один другой узел, чтобы правильно подтвердить сообщение. Без другого узла передача будет неудачной как система координат ошибки, и устройство будет постоянно повторять попытку передачи.
Блок CAN FD Transmit поддерживает использование режима Accelerator™ Simulink. Используя эту функцию, можно ускорить выполнение моделей Simulink. Для получения дополнительной информации см. «Ускорение (Simulink)».
Блок CAN FD Transmit поддерживает использование генерации кода наряду с функцией packNGo для группировки необходимого исходного кода и зависимых общих библиотек. Для получения дополнительной информации смотрите Генерация кода.
Блоки Vehicle Network Toolbox Simulink позволяют вам генерировать код, позволяя моделям, содержащим эти блоки, запускаться в режимах Accelerator, Rapid Accelerator, External и Deployed.
Можно использовать 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 Transmit.
Выберите устройство CAN и канал для передачи сообщений CAN в сеть. В этом списке показаны все устройства, установленные в системе. В нем отображается имя поставщика, имя устройства и идентификатор канала. По умолчанию это первое доступное устройство в вашей системе.
Примечание.При использовании устройств PEAK-System блоки CAN FD Transmit в нескольких подсистемах с поддержкой могут пропускать некоторые сообщения. Если возможно, замените активированные подсистемы на другой тип условной подсистемы, такой как if-действие, switch-case-действие или триггируемая подсистема; или перепроектируйте модель так, чтобы все блоки CAN FD Transmit содержались в одной включенной подсистеме.
Когда передача на основе событий включена, сообщения передаются только в тех временных шагах, когда обнаруживается изменение данных сообщения. Когда входные данные совпадают с самой последней передачей для заданного идентификатора сообщения, сообщение не передается повторно.
Событие и периодическая передача могут быть разрешены для совместной работы одновременно. Если ни один из них не выбран, поведение по умолчанию является передачей текущего входа на каждом временном шаге.
Выберите эту опцию, чтобы разрешить периодическую передачу сообщения по сконфигурированному каналу в указанный период сообщения. Период ссылается на реальное время, независимо от размера временного шага модели Simulink (основного шага расчета) или шага расчета выполнения блока. Это эквивалентно функции MATLAB transmitPeriodic
.
Периодическая передача является операцией без буферизации. Только последнее сообщение CAN или набор сообщений, присутствующих на входе блока CAN FD Transmit, посылается, когда наступает период времени.
Задайте период в секундах. Это значение используется для передачи сообщения в указанный период. По умолчанию это значение 1.000
секунд.