В этом примере показано, как настроить периодическую передачу и прием сообщений CAN в использовании Simulink MathWorks виртуальные каналы CAN. Виртуальные каналы соединяются в петлевой настройке.
Vehicle Network Toolbox™ обеспечивает блоки Simulink для передачи и получения живых сообщений с помощью моделей Simulink по Сетям области контроллера (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.