Этот пример показывает вам, как регистрировать и воспроизвести использование сообщений CAN MathWorks Virtual CAN channels в Simulink®. Можно обновить эту модель, чтобы связать с поддерживаемым оборудованием в системе.
Загрузите сохраненное сообщение CAN от sourceMsgs.mat файл от папки в качестве примера. Файл содержит сообщения CAN, представляющие 90 вторых циклов диска вокруг испытательной площадки.
Преобразуйте эти сообщения в формат, совместимый с Блоком CAN Replay, и сохраните его в отдельный файл.
Name Size Bytes Class Attributes canMsgTimetable 100000x8 33510851 timetable canMsgs 1x1 2401176 struct
Эта модель содержит:
Блок CAN Replay, который передает к MathWorks Virtual Channel 1.
Блок CAN Receive, который получает сообщения в сети CAN через MathWorks Virtual Channel 2.
Блок CAN Receive сконфигурирован, чтобы блокировать все расширенные идентификаторы и позволить только WheelSpeed передайте со стандартным ID 1200 передать.

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

График показывает скорость колеса для всех колес на время тест-драйва.

Блок CAN Log создает уникальный файл каждый раз, когда вы запускаете модель. Используйте dir в командном окне MATLAB, чтобы найти последний файл журнала.
WheelSpeeds_2011-May-03_020634.mat Name Size Bytes Class Attributes canMsgTimetable 100000x8 33510851 timetable canMsgs 1x1 2401176 struct outMsgs 1x1 154320 struct
Используйте canMessageTimetable преобразовывать сообщения регистрировало во время симуляции к расписанию, которое можно использовать в командном окне.
Для доступа сообщение сигнализирует непосредственно, используйте соответствующий файл базы данных в преобразовании наряду с canSignalTimetable.
ans =
15x8 timetable
Time ID Extended Name Data Length Signals Error Remote
___________ ____ ________ _______________ ___________________________ ______ ____________ _____ ______
0.10701 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.1153 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.12349 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.13178 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.13998 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.14826 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.15647 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.16475 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.17338 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.18122 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.18941 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.19768 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.20591 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.2142 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
0.2224 sec 1200 false {'WheelSpeeds'} {[39 16 39 16 39 16 39 16]} 8 {1x1 struct} false false
ans =
15x4 timetable
Time LR_WSpeed RR_WSpeed RF_WSpeed LF_WSpeed
___________ _________ _________ _________ _________
0.10701 sec 0 0 0 0
0.1153 sec 0 0 0 0
0.12349 sec 0 0 0 0
0.13178 sec 0 0 0 0
0.13998 sec 0 0 0 0
0.14826 sec 0 0 0 0
0.15647 sec 0 0 0 0
0.16475 sec 0 0 0 0
0.17338 sec 0 0 0 0
0.18122 sec 0 0 0 0
0.18941 sec 0 0 0 0
0.19768 sec 0 0 0 0
0.20591 sec 0 0 0 0
0.2142 sec 0 0 0 0
0.2224 sec 0 0 0 0
Каналы MathWorks CAN Virtual использовались для этого примера. Можно однако соединить модели с другим поддерживаемым оборудованием.