В этом примере показано, как использовать графический интерфейс в CAN Explorer для приема и визуализации данных CAN. Он использует виртуальные каналы MathWorks, которые соединяются в строении закольцовывания. CAN Explorer сконфигурирован для приема данных с помощью MathWorks Virtual 1 Channel 1. Предварительно записанные данные предоставляются в MAT-файле и воспроизводятся на MathWorks Virtual 1 Channel 2, чтобы эмулировать трафик CAN, сгенерированный при соединении с фактической системой транспортного средства.
Откройте приложение CAN Explorer с помощью командной canExplorer
. Также можно найти CAN Explorer на вкладке MATLAB Apps.
В списке устройств показаны все доступные каналы CAN с устройств, подключенных к системе, а текущий используемый канал устройства подсвечивается синим контуром. Каждый раз, когда CAN Explorer запускается, первый канал устройства в списке автоматически выбирается по умолчанию. Выберите MathWorks Virtual 1 Channel 1 из списка устройств, если он не выбран по умолчанию.
Добавьте файлы базы данных в CAN Explorer, чтобы декодировать входящие сообщения и сигналы.
Чтобы открыть диалоговое окно Строение, выберите Databases на панели инструментов.
Нажмите кнопку «Добавить», чтобы открыть диалоговое окно выбора файлов. Выберите CANExplorerDatabase.dbc
файл, предоставленный с примером.
Нажмите кнопку ОК, чтобы сохранить строение базы данных и закрыть диалоговое окно.
Сконфигурируйте скорость шины канала, если требуемая скорость сети отличается от значения по умолчанию.
Чтобы открыть диалоговое окно Device Channel Configuration, выберите Device Channel на панели инструментов.
Этот пример использует скорость шины по умолчанию 500000 бит в секунду. Подтвердите текущее строение канала устройства и нажмите кнопку ОК.
В том же диалоговом окне можно сконфигурировать фильтры сообщений соответственно для стандартного идентификатора и расширенного идентификатора, чтобы контролировать, какие сообщения проходят через канал. По умолчанию обе опции фильтра разрешают прохождение всех сообщений, но можно также задать определенные идентификаторы, которые будут разрешены или заблокированы.
Добавьте интересующие сигналы для просмотра на таблице сигналов. В этом примере вы просматриваете все сигналы, определенные в CANExplorerDatabase.dbc
файл.
Чтобы открыть диалоговое окно Signal Table Configuration, выберите Signals > Configure Signal Table на панели инструментов.
Добавьте сигналы из панели «Доступные сигналы» в панель «Сконфигурированные сигналы» с помощью кнопки →. Можно добавить отдельные сигналы, добавить все сигналы в сообщение путем добавления сообщения или добавить все сигналы в базе данных путем добавления базы данных. В данном примере выберите CANExplorerDatabase.dbc
на панели Доступные сигналы и нажмите кнопку →, чтобы добавить все сигналы в базу данных для просмотра.
Нажмите OK, чтобы сохранить строение таблицы сигналов и закрыть диалоговое окно.
Если вы предоставляете текст поиска для сигналов или сообщений и нажимаете кнопку Найти (Find), панель Доступные сигналы (Available Signals) обновляется, чтобы отобразить результаты поиска, которые являются нечувствительными к регистру частичными совпадениями с текстом поиска.
Добавьте интересующие сигналы для просмотра на Возможности. CAN Explorer предоставляет 3 возможности, каждый из которых может быть сконфигурирован для визуализации сигналов выбора. Количество возможностей фиксировано и не может быть настроено. В этом примере вы просматриваете все сигналы от Message_A
в верхних возможностях сигнала все сигналы от Message_B
и Message_C
в средних возможностях сигнала и все сигналы от Message_D
в нижних возможностях сигнала.
Чтобы открыть диалоговое окно Top Signal Scope Configuration, выберите Signals > Configure Top Signal Scope на панели инструментов.
Выберите Message_A
в панели Доступные сигналы и нажмите кнопку →, чтобы добавить все сигналы в этом сообщении, чтобы просмотреть верхние возможности сигнала.
Нажмите OK, чтобы сохранить строение возможностей верхнего сигнала и закрыть диалоговое окно.
Используя аналогичный подход, добавьте сигналы от Message_B
и Message_C
для просмотра на средних возможностях сигнала и добавления сигналов от Message_D
для просмотра нижних возможностей сигнала.
Запустите мониторинг в CAN Explorer перед началом воспроизведения, чтобы избежать потери данных. Нажмите кнопку Пуск на панели инструментов.
Данные, регистрируемые из сети CAN, предоставляются в файле CANExplorerData.mat
. Данные сохраняются в формате timetable, а временная область значений составляет около 60 секунд.
Воспроизведите данные CAN на MathWorks Virtual 1 Channel 2, чтобы CAN Explorer получили на MathWorks Virtual 1 Channel 1 в том же образце MATLAB. Чтобы начать воспроизведение данных, выполните скрипт replayCANData.m
. Можно также выполнить скрипт последовательно несколько раз, чтобы сгенерировать данные CAN сверх 60 секунд для дополнительных экспериментов.
В то время как CAN Explorer продолжает получать данные, можно экспериментировать с элементами управления в разделах «Монитор» и «Отображение» панели инструментов.
Нажмите кнопку Пауза, чтобы временно приостановить визуальное обновление CAN Explorer. Во время паузы CAN Explorer продолжает накапливать и обрабатывать данные в фоновом режиме.
Нажмите Продолжить, чтобы возобновить визуальные обновления в CAN Explorer.
Для дальнейшей разведки:
Если щелкнуть Очистить данные (Clear Data), все накопленные данные будут полностью очищены из CAN Explorer.
По умолчанию в таблице сообщений отображаются все сообщения CAN в хронологическом порядке. Чтобы просмотреть последний образец каждого уникального сообщения, включите «Уникальные сообщения».
По умолчанию и таблица сообщений, и таблица сигналов отображают время с начала мониторинга. Чтобы просмотреть время дельты с момента последнего сообщения или сигнала в каждой таблице, включите Delta Time.
Когда вы завершите активную операцию приобретения, нажмите кнопку Остановить на панели инструментов, чтобы перевести канал устройства в автономный режим.
Очистка путем выполнения скрипта replayCANDataCleanup.m
, который останавливает MathWorks Virtual 1 Channel 2, используемый для воспроизведения, и очищает ненужные переменные.
На панели инструментов нажмите верхнюю половину кнопки «Экспорт», чтобы экспортировать полученные данные в рабочее пространство MATLAB в формате timetable.
Если требуется сохранить экспортированную переменную для будущего использования:
Чтобы сохранить переменную в MAT-файл, используйте save
функция.
Чтобы сохранить переменную в BLF-файле, используйте blfwrite
функция.
Экспортированное расписание сообщений также преобразуется в отдельные расписания данных о сигнале. The canSignalTimetable
функция возвращает структуру с одним полем для каждого уникального сообщения в расписании. Каждое значение поля является расписанием всех сигналов, определенных в этом сообщении.