exponenta event banner

Передача CAN FD

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

Библиотека

Набор инструментов для сети транспортных средств: CAN FD Communication

  • CAN FD Transmit block

Описание

Блок передачи CAN FD передает сообщения в сеть CAN с использованием указанного устройства CAN. Блок передачи CAN FD может передавать одно сообщение или массив сообщений в течение заданного временного интервала. Для передачи массива сообщений с сигнальной шины используйте блок Bus Creator (Simulink) или Vector Concatenate, Matrix Concatenate (Simulink) из библиотеки блоков Simulink ®.

Примечание

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

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

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

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

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

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

Создание кода

Блоки Simulink панели инструментов сети транспортных средств позволяют создавать код, позволяя моделям, содержащим эти блоки, работать в режимах Accelerator, Rapid Accelerator, External и Deployed.

Создание кода с помощью Simulink Coder

Для создания кода на стороне хоста, который можно использовать для реализации модели, можно использовать инструментарий автомобильной сети, программное обеспечение Simulink Coder™ и Embedded Coder ®. Дополнительные сведения о создании кода см. в разделе Процесс построения (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 и C++. Дополнительные сведения см. в разделе Настройка процесса построения (Simulink Coder).

Примечание

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

Параметры

Совет

Настройте блок конфигурации CAN FD перед настройкой параметров блока передачи CAN FD.

Устройство

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

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

Параметры передачи: При изменении данных

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

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

Параметры передачи: Периодические

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

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

Параметры передачи: Период сообщения (в секундах)

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

Представлен в R2018a