Периодическая коммуникация CAN

Этот пример использует виртуальные CAN-каналы MathWorks, чтобы настроить периодическую передачу и прием сообщений CAN, используя Simulink ®. Виртуальные каналы соединяются в строении закольцовывания.

Vehicle Network Toolbox™ предоставляет блоки Simulink для передачи и приема живых сообщений через модели Simulink по сетям области контроллера (CAN). Этот пример использует блоки CAN Configuration, CAN Pack, CAN Transmit, CAN Receive и CAN Unpack, чтобы выполнить передачу данных по шине CAN.

Передача и прием сообщений CAN

Создайте модель, чтобы передать два сообщения в разные периоды и получить только указанные сообщения и распаковать сообщение с заданным идентификатором.

  • Используйте блок CAN Transmit для передачи сообщения CAN с идентификатором 250 для передачи сообщений каждые 1 секунду.

  • Используйте другой блок CAN Transmit, чтобы передать сообщение CAN с идентификатором 500 для передачи сообщений каждые 0,5 секунды.

  • Введите сигнал в оба блоков CAN Pack к счетчику с автоматическим шагом с пределом 50.

  • Оба блоков CAN Transmit соединяются с MathWorks Virtual Channel 1.

Используйте блок CAN Receive для получения сообщений CAN от MathWorks Virtual Channel 2. Установите блок равным:

  • Прием сообщений только с идентификаторами 250 и 500.

  • Блок Receive генерирует триггер вызова функции, если оно получает новое сообщение в любой конкретный временной интервал.

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

Визуализация сообщений в различных временных метках

Постройте график результатов, чтобы увидеть значение счетчика и временную метку для каждого распакованного сообщения. Ось X на графике соответствует временному шагу симуляции. Графики временных меток показывают, что сообщения отправляются в заданное время. Также видно, что количество сообщений, переданных для идентификатора 250, вдвое меньше, чем для идентификатора 500, из-за различных периодических скоростей, заданных для них.

Для этого примера использовались виртуальные каналы MathWorks CAN. Однако можно подключить свои модели к другому поддерживаемому оборудованию. Можно также изменить модель, чтобы передать с различными скоростями или передать комбинацию периодических и непериодических сообщений.