Знакомство с пользовательским CAN ID протоколом
Предисловие
SmartDisplay поддерживает аппаратный интерфейс связи CANbus и использует программный протокол связи CANopen. CANopen - это широко используемый промышленный стандартный протокол связи на основе CAN-шины, который используется в различных областях, таких как медицинское оборудование, транспортные средства, автоматизация предприятий и т.д. Однако при использовании CANopen протокола, клиенту необходимо реализовать протокол на своей стороне хоста, что может быть обременительно для тех, кто хочет просто использовать CAN-шину. Поэтому для упрощения работы мы создали пользовательский CAN ID протокол, который не требует от клиента реализации CANopen протокола. Вместо этого ему нужно только настроить данные с помощью пользовательского файла DBC, легко связывая идентификатор CAN/данные с виджетом на дисплее, тем самым реализуя реальное взаимодействие. Этот способ взаимодействия может помочь клиенту лучше понять и контролировать данные в системе и обеспечить высокую гибкость и удобство обслуживания.
Введение
Основная функция пользовательского CAN ID протокола - связать идентификатор CAN/данные с виджетами на дисплее с помощью DBC файла (CAN Database). DBC файл - это важные данные, которые определяют соответствующую информацию, такую как идентификатор CAN и формат декодирования сообщений в системе. Используя определенный пользователем DBC файл, становится проще ассоциировать разные идентификаторы/данные CAN с виджетами на дисплее, обеспечивая реальное взаимодействие. Например, графика или текст на дисплее могут контролироваться с помощью идентификатора/данных CAN, а кнопки или ползунки на дисплее могут использоваться для контроля данных CAN. Это взаимодействие помогает клиентам лучше понимать и контролировать данные в системе, обеспечивая гибкое и удобное для обслуживания решение.
DBC файл
DBC файл обычно является текстовым файлом ASCII без форматирования, который содержит информацию о физических сигналах, передаваемых по CAN-шине, включая идентификатор CAN, название, коэффициент масштабирования и определение сигнала. Файл используется для декодирования необработанных данных CAN в осмысленные значения и сопоставления разных идентификаторов CAN с соответствующими сигналами. DBC файл предоставляет информацию, необходимую для преобразования полезной нагрузки сообщений CAN в физические значения сигналов.
Пример тестовых данных необработанных данных CAN
Если у вас есть файл DBC CAN и этот файл включает правила декодирования, установленные для этого идентификатора CAN (0x181), вы можете декодировать следующую информацию из информации в DBC файле.
Основная функция DBC файла - описать правила декодирования сообщений и CAN сигналов.
Ниже приведен фрагмент описания тестовых данных, выдержанный из DBC файла.
На основе информации из фрагмента DBC файла можно получить следующую декодированную информацию:
Из приведенной выше настройки правил декодирования ранее полученные необработанные данные CAN можно декодировать в следующую информацию.
С приведенным выше объяснением, с настройкой DBC файла мы можем правильно декодировать фактические значения, представленные идентификатором CAN и данными CAN. DBC Файл содержит расположение сообщений и сигналов, которое может разбирать данные и преобразовывать необработанные данные в физические значения, позволяя системе понимать реальное сообщение, передаваемое через CAN
Редактор DBC
DBC файл обычно является текстовым файлом ASCII, который содержит информацию о физических сигналах, передаваемых по CAN-шине. Эти файлы трудно читать и редактировать из-за их форматирования, но существует множество программных редакторов DBC, которые решают эту проблему. Одним из распространенных редакторов DBC является Vector CANdb++, разработанный компанией Vector Informatik GmbH. Это программное обеспечение помогает пользователям создавать и редактировать пользовательские DBC файлы с легкостью. Он предоставляет удобный интерфейс для добавления сообщений, сигналов, определения атрибутов сообщений и сигналов, таких как идентификатор сообщения, стартовый бит, длина, масштаб, смещение и т.д.
SmartDisplay GUI Builder – Знакомство с настройками пользовательского CAN ID протокола
SmartDisplay GUI Builder предоставляет интуитивно понятный и удобный интерфейс для легкого создания собственных проектов. Вам просто нужно импортировать свой DBC файл и сопоставить сигналы/сообщения с соответствующими виджетами, и вы сможете отображать и взаимодействовать с виджетом на своем устройстве SmartDisplay. Операция проста и гибка, удовлетворяет вашим различным потребностям и делает вашу работу более эффективной. Ниже будет представлена пошаговая инструкция для создания проекта через пользовательский CAN ID протокол в GUI Builder и настройки связи между DBC и Widget.
● Создание проекта через пользовательский CAN ID протокол
Чтобы создать проект через пользовательский CAN ID протокол, введите название проекта, выберите тип устройства SmartDisplay и в разделе протокол выберите Custom CAN ID (CANbus).
● Импорт пользовательского DBC файла
● Добавьте виджет Gauge и Horizontal Slider на главную страницу
Выберите объект Gauge и на странице свойств Gauge установите Message на EEC1, выберите Signal на EngSpeed в поле CAN Signal, указывая, что этот объект Gauge связан с EngSpeed. Изменение отображения этого объекта Gauge происходит от значения EngSpeed
Выберите объект Horizontal Slider и на странице свойств Horizontal Slider в поле CAN Signal установите Message на HorizontalSliderMessage, выберите Signal на HorizontalSliderSignal1, представляя связь между этим объектом Horizontal Slider и HorizontalSliderSignal1. Изменение отображения этого объекта Gauge происходит от значения HorizontalSliderSignal1.
● Симулировать взаимодействие между идентификатором CAN / данными CAN и виджетом
Нажмите на значок: «Simulator With GUI», чтобы запустить симулятор..
После запуска симулятора вы можете перетащить ползунок EngSpeed внизу, чтобы симулировать отправку данных EngSpeed хостом. Наблюдайте за изменением Gauge на симуляторе, просматривая изменения в идентификаторе CAN и данных CAN из журнала сообщений справа. Вы также можете управлять горизонтальным ползунком на симуляторе, чтобы симулировать данные отправляемые устройством.
● Обновите настройки устройства SmartDisplay.
После проверки функции с помощью симулятора, если нет ошибок, вы можете подключиться к устройству и загрузить настройки проекта на SmartDisplay.
Дождитесь окончания загрузки и обновления.
● Проверьте взаимодействие между идентификатором CAN/данными CAN устройства и виджетом
После загрузки проекта на дисплей вы можете проверить работу SmartDisplay. Подключитесь к дисплею с помощью GUI Builder, затем нажмите «Test Device», чтобы протестировать взаимодействие между хостом и устройством.
Окно тестирования устройства
С помощью окна тестирования вы можете симулировать отправку хостом соответствующего идентификатора CAN и данных CAN в соответствии с конфигурацией DBC. Потяните ползунок EngSpeed вниз, чтобы симулировать отправку данных EngSpeed хостом, и вы заметите изменение шкалы устройства и изменение идентификатора CAN, данных CAN в журнале сообщений справа. Вы также можете управлять горизонтальным ползунком, чтобы проверить соответствуют ли требованиям данные, отправляемые устройством.
Фактическое отображение SmartDisplay
6. Комманды пользовательского CAN ID протокола
Ниже будет описан протокол команд, используемый пользовательским CAN ID протоколом. С помощью этих команд устройство Host может легко управлять SmartDisplay, включая переключение страниц, регулировку яркости или издание звука зуммером.
Ниже приведены настройки идентификатора CAN, используемые протоколом команд:
- Формат идентификатора CAN: 29 бит
Идентификатор CAN:0xEF0000 + 0x7B00 (идентификатор канала по умолчанию. Его можно изменить с помощью GUI Builder.)
В следующей таблице приведен базовый формат данных команды отправки
Header Byte (1 Byte) | Length (1 Byte) | Payload (N byte) | CRC (2 Byte) |
---|---|---|---|
Fixed value:0x53 (S) | Value = 4 + Payload length Payload max size: 250 |
For data content and length, please refer to Send Command Payload | Modbus CRC16 |
В следующей таблице приведен базовый формат данных команды ответа
Header Byte (1 Byte) | Length (1 Byte) | Payload (N byte) | CRC (2 Byte) |
---|---|---|---|
Fixed value:0x52 (R) | Value = 4 + Payload length Payload max size: 250 |
For data content and length, please refer Response Command Payload | Modbus CRC16 |
● Полезная нагрузка команды
Ниже приведено объяснение каждой полезной нагрузки команды.
- Установить яркость: 0x6
Отправить команду
Command Code | 1 Byte | 0x6 |
Brightnes | 1 Byte | Brightness value |
Ответная команда
Command Code | 1 Byte | 0x6 |
Error Code | 1 Byte | 0:Success 1:Failed |
- Установить зуммер: 0x7
Отправить команду
Command Code | 1 Byte | 0x7 |
Cycle | 1 Byte | Cycle value |
High | 1 Byte | High value |
Low | 1 Byte | Low value |
Ответная команда
Command Code | 1 Byte | 0x7 |
Error Code | 1 Byte | 0:Success 1:Failed |
- Установить индекс страницы: 0x8
Отправить команду
Command Code | 1 Byte | 0x8 |
Page Index | 1 Byte | Page Index value |
Ответная команда
Command Code | 1 Byte | 0x8 |
Error Code | 1 Byte | 0:Success 1:Failed |
- Получить количество страниц: 0xA
Отправить команду
Command Code | 1 Byte | 0xA |
Ответная команда
Command Code | 1 Byte | 0xA |
Error Code | 1 Byte | 0:Success 1:Failed |
High | 1 Byte | Page Count value |
- Получить текущий индекс страницы: 0xF
Отправить команду
Command Code | 1 Byte | 0xF |
Ответная команда
Command Code | 1 Byte | 0xF |
Error Code | 1 Byte | 0:Success 1:Failed |
Page Index | 1 Byte | Page Index value |
- Установить состояние устройства: 0x20
Отправить команду
Command Code | 1 Byte | 0x20 |
Device State | 1 Byte | 0: ConfigMode 1: DisplayMode |
Ответная команда
Command Code | 1 Byte | 0x20 |
Error Code | 1 Byte | 0:Success 1:Failed |
● Пример передачи
- Установить яркость на 90
- Переключить индекс страницы на 1.
При переключении страницы необходимо сначала установить состояние устройства в режим ConfigMode, а затем отправить команду переключения страницы. После завершения команды переключения страницы, снова установите состояние устройства в режим Display Mode, чтобы завершить команду переключения страницы. Последовательность команд следующая:
Заключение
С помощью пользовательского CAN ID протокола клиенты могут свободно и без ограничений определять настройку идентификатора CAN и данных CAN с помощью стандартного DBC файла. Затем, с помощью SmartDisplay GUI Builder, они могут связать между собой и настроить сообщения/сигналы/виджеты для бесшовной интеграции с устройством SmartDisplay. Вы впечатлены? Тогда скорее устанавливайте SmartDisplay GUI Builder перед покупкой SmartDisplay, чтобы убедиться в простоте использования!