На главную страницу Технологии Smart Display Знакомство с пользовательским CAN ID протоколом

Знакомство с пользовательским 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

raw-can-data-testing-data-example01

Если у вас есть файл DBC CAN и этот файл включает правила декодирования, установленные для этого идентификатора CAN (0x181), вы можете декодировать следующую информацию из информации в DBC файле.

raw-can-data-testing-data-example02

Основная функция DBC файла - описать правила декодирования сообщений и CAN сигналов.
Ниже приведен фрагмент описания тестовых данных, выдержанный из DBC файла.

test-data-description-excerpted-from-dbc-file01

На основе информации из фрагмента DBC файла можно получить следующую декодированную информацию:

test-data-description-excerpted-from-dbc-file02

Из приведенной выше настройки правил декодирования ранее полученные необработанные данные CAN можно декодировать в следующую информацию.

test-data-description-excerpted-from-dbc-file03

С приведенным выше объяснением, с настройкой DBC файла мы можем правильно декодировать фактические значения, представленные идентификатором CAN и данными CAN. DBC Файл содержит расположение сообщений и сигналов, которое может разбирать данные и преобразовывать необработанные данные в физические значения, позволяя системе понимать реальное сообщение, передаваемое через CAN

Редактор DBC
DBC файл обычно является текстовым файлом ASCII, который содержит информацию о физических сигналах, передаваемых по CAN-шине. Эти файлы трудно читать и редактировать из-за их форматирования, но существует множество программных редакторов DBC, которые решают эту проблему. Одним из распространенных редакторов DBC является Vector CANdb++, разработанный компанией Vector Informatik GmbH. Это программное обеспечение помогает пользователям создавать и редактировать пользовательские DBC файлы с легкостью. Он предоставляет удобный интерфейс для добавления сообщений, сигналов, определения атрибутов сообщений и сигналов, таких как идентификатор сообщения, стартовый бит, длина, масштаб, смещение и т.д.

dbc-editor

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).

create-custom-can-project

● Импорт пользовательского DBC файла

import-custom-dbc-file

● Добавьте виджет Gauge и Horizontal Slider на главную страницу
Выберите объект Gauge и на странице свойств Gauge установите Message на EEC1, выберите Signal на EngSpeed в поле CAN Signal, указывая, что этот объект Gauge связан с EngSpeed. Изменение отображения этого объекта Gauge происходит от значения EngSpeed

add-gauge-and-horizontal-slider-widget-in-the-main-page

Выберите объект Horizontal Slider и на странице свойств Horizontal Slider в поле CAN Signal установите Message на HorizontalSliderMessage, выберите Signal на HorizontalSliderSignal1, представляя связь между этим объектом Horizontal Slider и HorizontalSliderSignal1. Изменение отображения этого объекта Gauge происходит от значения HorizontalSliderSignal1.

add-gauge-and-horizontal-slider-widget-in-the-main-page02

● Симулировать взаимодействие между идентификатором CAN / данными CAN и виджетом
Нажмите на значок: «Simulator With GUI», чтобы запустить симулятор..

add-gauge-and-horizontal-slider-widget-in-the-main-page03

После запуска симулятора вы можете перетащить ползунок EngSpeed внизу, чтобы симулировать отправку данных EngSpeed хостом. Наблюдайте за изменением Gauge на симуляторе, просматривая изменения в идентификаторе CAN и данных CAN из журнала сообщений справа. Вы также можете управлять горизонтальным ползунком на симуляторе, чтобы симулировать данные отправляемые устройством.

add-gauge-and-horizontal-slider-widget-in-the-main-page04

● Обновите настройки устройства SmartDisplay.
После проверки функции с помощью симулятора, если нет ошибок, вы можете подключиться к устройству и загрузить настройки проекта на SmartDisplay.

add-gauge-and-horizontal-slider-widget-in-the-main-page05

Дождитесь окончания загрузки и обновления.

add-gauge-and-horizontal-slider-widget-in-the-main-page06

● Проверьте взаимодействие между идентификатором CAN/данными CAN устройства и виджетом
После загрузки проекта на дисплей вы можете проверить работу SmartDisplay. Подключитесь к дисплею с помощью GUI Builder, затем нажмите «Test Device», чтобы протестировать взаимодействие между хостом и устройством.

verify-data-and-the-widget

Окно тестирования устройства

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

test-device-window

Фактическое отображение SmartDisplay

actual-display-of-the-smartdisplay-device

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

transmission-example-set-brightness-to-90

  • Переключить индекс страницы на 1.

При переключении страницы необходимо сначала установить состояние устройства в режим ConfigMode, а затем отправить команду переключения страницы. После завершения команды переключения страницы, снова установите состояние устройства в режим Display Mode, чтобы завершить команду переключения страницы. Последовательность команд следующая:

transmission-example-switch-page-index-to-1

Заключение

С помощью пользовательского CAN ID протокола клиенты могут свободно и без ограничений определять настройку идентификатора CAN и данных CAN с помощью стандартного DBC файла. Затем, с помощью SmartDisplay GUI Builder, они могут связать между собой и настроить сообщения/сигналы/виджеты для бесшовной интеграции с устройством SmartDisplay. Вы впечатлены? Тогда скорее устанавливайте SmartDisplay GUI Builder перед покупкой SmartDisplay, чтобы убедиться в простоте использования!

Вернуться к списку
go top
close