Периодическое поведение передачи сообщения CAN в Simulink

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

Vehicle Network Toolbox™ обеспечивает блоки Simulink для передачи и получения живых сообщений с помощью моделей Simulink по Сетям области контроллера (CAN). Этот пример использует Настройку CAN, Пакет CAN, Передачу CAN, CAN Получают, и CAN Распаковывают блоки, чтобы выполнить передачу данных по шине CAN.

Передайте и получите сообщения CAN

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

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

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

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

  • Оба блока Передачи CAN соединяются с MathWorks виртуальный канал 1.

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

  • Получите сообщения с ID 250 и 500 только.

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

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

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

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

Расширьте пример

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

Этот пример использует блоки CAN, но концепция, продемонстрированная также, применяется к блокам CAN FD в Simulink.