Этот пример использует виртуальные CAN-каналы MathWorks, чтобы настроить периодическую передачу и прием сообщений CAN, используя Simulink ®. Виртуальные каналы соединяются в строении закольцовывания.
Vehicle Network Toolbox™ предоставляет блоки Simulink для передачи и приема живых сообщений через модели Simulink по сетям области контроллера (CAN). Этот пример использует блоки CAN Configuration, CAN Pack, CAN Transmit, CAN Receive и CAN Unpack, чтобы выполнить передачу данных по шине 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. Однако можно подключить свои модели к другому поддерживаемому оборудованию. Можно также изменить модель, чтобы передать с различными скоростями или передать комбинацию периодических и непериодических сообщений.