Этот пример показывает вам, как регистрировать и воспроизвести использование сообщений CAN FD каналы MathWorks Virtual CAN FD в Simulink®. Можно обновить эту модель, чтобы соединиться с поддерживаемым оборудованием в системе.
Загрузите сохраненное сообщение CAN FD из файла sourceFDMsgs.mat
от папки в качестве примера. Файл содержит сообщения CAN FD, представляющие 90 вторых циклов диска вокруг испытательной площадки.
Преобразуйте эти сообщения в формат, совместимый с блоком CAN FD Replay, и сохраните его в отдельный файл.
Name Size Bytes Class Attributes canFDMsgTimetable 100000x12 48611958 timetable canFDMsgs 1x1 8401936 struct
Эта модель содержит:
Блок CAN FD Replay, который передает к MathWorks Virtual Channel 1
.
Блок CAN FD Receive, который получает сообщения в сети CAN FD через MathWorks Virtual Channel 2
.
Блок CAN FD Receive сконфигурирован, чтобы блокировать все расширенные идентификаторы и позволить только сообщению WheelSpeed
со стандартным ID 1200
передавать.
Подсистема Скоростей Колеса распаковывает информацию о скорости колеса из полученных сообщений CAN FD и строит их к осциллографу. Подсистема также регистрирует сообщения к файлу.
График показывает скорость колеса для всех колес на время тест-драйва.
Блок CAN FD Log создает уникальный файл каждый раз, когда вы запускаете модель. Используйте dir
в Окне Команды MATLAB, чтобы найти последний файл журнала.
WheelSpeeds_2018-Apr-30_132033.mat Name Size Bytes Class Attributes canFDMsgTimetable 100000x12 48611958 timetable canFDMsgs 1x1 8401936 struct outFDMsgs 1x1 841936 struct
Используйте canFDMessageTimetable
, чтобы преобразовать сообщения, регистрируемые во время симуляции к расписанию, которое можно использовать в командном окне.
Для доступа сообщение сигнализирует непосредственно, используйте соответствующий файл базы данных в преобразовании наряду с canSignalTimetable
.
ans = 15x12 timetable Time ID Extended Name ProtocolMode Data Length DLC Signals Error Remote BRS ESI __________ ____ ________ _____________ ____________ ___________ ______ ___ ____________ _____ ______ _____ _____ 75.393 sec 576 false '' 'CAN FD' [1x4 uint8] 4 4 [0x0 struct] false false true false 75.397 sec 1200 false 'WheelSpeeds' 'CAN FD' [1x8 uint8] 8 8 [1x1 struct] false false true false 75.398 sec 128 false '' 'CAN FD' [1x7 uint8] 7 7 [0x0 struct] false false true false 75.398 sec 133 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.398 sec 144 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.398 sec 528 false '' 'CAN FD' [1x7 uint8] 7 7 [0x0 struct] false false true false 75.399 sec 529 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.399 sec 1201 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.399 sec 512 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.399 sec 513 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.399 sec 533 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.4 sec 1312 false '' 'CAN FD' [1x5 uint8] 5 5 [0x0 struct] false false true false 75.405 sec 1200 false 'WheelSpeeds' 'CAN FD' [1x8 uint8] 8 8 [1x1 struct] false false true false 75.406 sec 1201 false '' 'CAN FD' [1x8 uint8] 8 8 [0x0 struct] false false true false 75.408 sec 1296 false '' 'CAN FD' [1x3 uint8] 3 3 [0x0 struct] false false true false ans = 15x4 timetable Time RR_WSpeed RF_WSpeed LR_WSpeed LF_WSpeed __________ _________ _________ _________ _________ 75.397 sec 41.19 40.04 41.19 39.95 75.405 sec 41.2 40.04 41.21 39.97 75.414 sec 41.22 40.05 41.26 40.03 75.424 sec 41.25 40.13 41.3 40.05 75.433 sec 41.19 40.14 41.28 40.08 75.441 sec 41.17 40.18 41.31 40.14 75.45 sec 41.31 40.27 41.31 40.17 75.458 sec 41.37 40.25 41.31 40.19 75.466 sec 41.39 40.22 41.3 40.19 75.475 sec 41.39 40.25 41.3 40.2 75.483 sec 41.37 40.26 41.33 40.21 75.492 sec 41.44 40.35 41.33 40.19 75.501 sec 41.51 40.44 41.36 40.22 75.509 sec 41.58 40.47 41.44 40.29 75.517 sec 41.63 40.45 41.44 40.31
Каналы MathWorks CAN FD Virtual использовались для этого примера. Можно однако соединить модели с другим поддерживаемым оборудованием.