В этом примере показано, как регистрировать и воспроизводить сообщения CAN FD с использованием каналов MathWorks Virtual CAN FD в Simulink ®. Эту модель можно обновить для подключения к поддерживаемому оборудованию в системе.
Загрузить сохраненное сообщение CAN FD из sourceFDMsgs.mat из папки примеров. Файл содержит сообщения CAN FD, представляющие 90-секундный цикл движения вокруг тестовой дорожки.
Преобразуйте эти сообщения в формат, совместимый с блоком воспроизведения CAN FD, и сохраните их в отдельном файле.
Name Size Bytes Class Attributes canFDMsgTimetable 100000x12 45411725 timetable canFDMsgs 1x1 8401848 struct
Эта модель содержит:
Блок воспроизведения CAN FD, который передает MathWorks Virtual Channel 1.
Блок приема CAN FD, который принимает сообщения в сети CAN FD через MathWorks Virtual Channel 2.
Блок приема CAN FD сконфигурирован для блокирования всех расширенных идентификаторов и разрешения только WheelSpeed сообщение со стандартным идентификатором 1200 чтобы пройти.
Подсистема Wheel Speeds распаковывает информацию о скорости колеса из полученных сообщений CAN FD и отображает их в области. Подсистема также регистрирует сообщения в файле.
На графике показана скорость вращения колес для всех колёс на время проведения тест-драйва.
Блок CAN FD Log создает уникальный файл при каждом запуске модели. Использовать dir в окне команд MATLAB для поиска последнего файла журнала.
WheelSpeeds_2018-Apr-30_132033.mat Name Size Bytes Class Attributes canFDMsgTimetable 100000x12 45411725 timetable canFDMsgs 1x1 8401848 struct outFDMsgs 1x1 841848 struct
Использовать canFDMessageTimetable преобразование сообщений, зарегистрированных во время моделирования, в расписание, которое можно использовать в окне команд.
Для прямого доступа к сигналам сообщений используйте соответствующий файл базы данных при преобразовании вместе с canSignalTimetable.
ans =
15x12 timetable
Time ID Extended Name ProtocolMode Data Length DLC Signals Error Remote BRS ESI
__________ ____ ________ _______________ ____________ __________________________________ ______ ___ ____________ _____ ______ _____ _____
75.393 sec 576 false {0x0 char } {'CAN FD'} {[ 79 136 166 71]} 4 4 {0x0 struct} false false true false
75.397 sec 1200 false {'WheelSpeeds'} {'CAN FD'} {[ 54 171 55 39 54 180 55 39]} 8 8 {1x1 struct} false false true false
75.398 sec 128 false {0x0 char } {'CAN FD'} {[ 41 89 117 48 1 83 218]} 7 7 {0x0 struct} false false true false
75.398 sec 133 false {0x0 char } {'CAN FD'} {[ 0 102 0 0 0 0 0 0]} 8 8 {0x0 struct} false false true false
75.398 sec 144 false {0x0 char } {'CAN FD'} {[ 167 129 247 8 200 145 24 93]} 8 8 {0x0 struct} false false true false
75.398 sec 528 false {0x0 char } {'CAN FD'} {[ 255 254 60 4 64 0 0]} 7 7 {0x0 struct} false false true false
75.399 sec 529 false {0x0 char } {'CAN FD'} {[255 255 255 255 255 255 255 60]} 8 8 {0x0 struct} false false true false
75.399 sec 1201 false {0x0 char } {'CAN FD'} {[ 15 155 16 23 15 164 16 23]} 8 8 {0x0 struct} false false true false
75.399 sec 512 false {0x0 char } {'CAN FD'} {[ 2 125 1 213 2 129 128 255]} 8 8 {0x0 struct} false false true false
75.399 sec 513 false {0x0 char } {'CAN FD'} {[ 31 179 255 255 54 222 38 255]} 8 8 {0x0 struct} false false true false
75.399 sec 533 false {0x0 char } {'CAN FD'} {[ 2 168 2 168 2 42 35 0]} 8 8 {0x0 struct} false false true false
75.4 sec 1312 false {0x0 char } {'CAN FD'} {[ 250 0 200 50 0]} 5 5 {0x0 struct} false false true false
75.405 sec 1200 false {'WheelSpeeds'} {'CAN FD'} {[ 54 173 55 41 54 180 55 40]} 8 8 {1x1 struct} false false true false
75.406 sec 1201 false {0x0 char } {'CAN FD'} {[ 15 157 16 25 15 164 16 24]} 8 8 {0x0 struct} false false true false
75.408 sec 1296 false {0x0 char } {'CAN FD'} {[ 39 0 1]} 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. Однако можно подключить модели к другому поддерживаемому оборудованию.