Startseite Lösungen Einführung in das Custom CAN ID-Protokoll für Smart Displays

Einführung in das Custom CAN ID-Protokoll für Smart Displays

May 04, 2023

Einführung

Smart Display unterstützt derzeit die CAN-Bus-Hardwareschnittstelle und verwendet das CANopen-Kommunikationsprotokoll. CANopen ist ein weit verbreitetes, auf dem CAN-Bus basierendes industrielles Kommunikationsprotokoll und kommt unter anderem in Medizintechnik, Fahrzeugtechnik, Bahnanwendungen und der Gebäudeautomation zum Einsatz. Bei der Verwendung von CANopen muss auf der Host-Seite jedoch die entsprechende CANopen-Kommunikation implementiert werden. Für Anwendungen, die lediglich eine CAN-Bus-Kommunikation benötigen, kann dies zusätzlichen Entwicklungsaufwand bedeuten. Um die Implementierung zu vereinfachen, wurde daher das Custom CAN ID-Protokoll entwickelt. Dabei ist keine Implementierung des CANopen-Protokolls auf der Host-Seite erforderlich. Stattdessen lassen sich über eine benutzerdefinierte DBC-Datei CAN IDs und Daten den entsprechenden Widgets auf dem Smart Display zuordnen und für die Echtzeitinteraktion nutzen. Dies ermöglicht eine flexiblere Umsetzung und erleichtert zugleich die Wartung der Anwendung.

Das Custom CAN ID-Protokoll verwendet hauptsächlich eine DBC-Datei (CAN Database), um CAN-Daten zu konfigurieren und deren Interaktion mit den Widgets auf dem Smart Display festzulegen. Die DBC-Datei enthält unter anderem Definitionen für CAN IDs, Nachrichtenformate und die Dekodierung der übertragenen Daten. Über eine benutzerdefinierte DBC-Datei können unterschiedliche CAN IDs und Daten den jeweiligen Widgets auf dem Smart Display zugeordnet werden. So lassen sich beispielsweise Grafiken oder Texte auf dem Display über CAN IDs und CAN-Daten steuern. Umgekehrt können Bedienelemente wie Buttons oder Slider auf dem Display zur Steuerung beziehungsweise Übertragung von CAN-Daten verwendet werden. Dadurch entsteht eine flexible und wartungsfreundliche Lösung für die Interaktion zwischen CAN-Daten und der HMI-Oberfläche.

Grundlagen zu DBC-Dateien

Eine DBC-Datei ist in der Regel eine ASCII-Klartextdatei, die Informationen über die auf dem CAN-Bus übertragenen physikalischen Signale enthält. Dazu gehören unter anderem CAN ID, Signalname, Skalierungsfaktor und Signaldefinition. Mithilfe dieser Informationen können Rohdaten aus CAN-Nachrichten dekodiert und den entsprechenden Signalen zugeordnet werden. Die DBC-Datei stellt somit die erforderlichen Definitionen bereit, um die Nutzdaten einer CAN-Nachricht in physikalische Signalwerte umzuwandeln.

Beispiel zur Dekodierung von Raw CAN Data

raw-can-data-testing-data-example01

Liegt eine CAN-DBC-Datei vor, die die Dekodierungsregeln für die CAN ID 0x181 enthält, können die darin definierten Informationen zur Dekodierung der folgenden Daten verwendet werden.

raw-can-data-testing-data-example02

Eine der Hauptfunktionen einer DBC-Datei besteht darin, die Regeln für die Dekodierung von CAN-Nachrichten und Signalen zu beschreiben. Das folgende Beispiel zeigt Testdaten aus einer DBC-Datei:

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

Aus den oben dargestellten DBC-Informationen lassen sich die folgenden Dekodierungsparameter ableiten:

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

Anhand dieser Dekodierungsregeln können die zuvor erfassten Raw CAN Data in die folgenden Informationen umgewandelt werden:

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

Wie das Beispiel zeigt, ermöglichen die in einer DBC-Datei definierten Einstellungen die korrekte Dekodierung der tatsächlichen Werte, die durch die einer CAN ID zugeordneten CAN-Daten dargestellt werden. Eine DBC-Datei beschreibt den Aufbau und die Definitionen von CAN-Nachrichten und Signalen. Dadurch können Raw CAN Data interpretiert und in die entsprechenden physikalischen Werte umgerechnet werden, sodass die über den CAN-Bus übertragenen Informationen vom System verarbeitet werden können.

DBC-Editor

Da Aufbau und Format einer DBC-Datei beim direkten Lesen und Bearbeiten relativ komplex sein können, lassen sich spezielle DBC-Editoren zur Erstellung und Bearbeitung benutzerdefinierter DBC-Dateien verwenden. Ein häufig eingesetztes Werkzeug ist Vector CANdb++ von Vector Informatik GmbH. Die Software bietet eine grafische Benutzeroberfläche zum Erstellen und Bearbeiten von DBC-Dateien, zum Hinzufügen von Nachrichten und Signalen sowie zum Definieren zugehöriger Parameter wie Message ID, Startbit, Länge, Skalierungsfaktor und Offset.

dbc-editor

Smart Display GUI Builder – Custom CAN ID konfigurieren

Smart Display GUI Builder bietet eine übersichtliche Benutzeroberfläche zum Erstellen von Custom CAN ID-Projekten. Dazu wird eine DBC-Datei importiert und die darin definierten Messages/Signals den entsprechenden Widgets zugeordnet. Auf diese Weise können CAN-Daten auf dem Smart Display dargestellt und mit den Widgets verknüpft werden. In den folgenden Abschnitten wird beschrieben, wie ein Custom CAN ID-Projekt in Smart Display GUI Builder erstellt und die Zuordnung zwischen DBC-Datei und Widgets konfiguriert wird.

Custom CAN ID-Projekt erstellen

Geben Sie den Project-Namen ein, wählen Sie den gewünschten Smart Display-Gerätetyp aus und wählen Sie unter Protocol die Option "Custom CAN Id (CANbus)", um ein Custom CAN ID-Projekt zu erstellen.

create-custom-can-project

Benutzerdefinierte DBC-Datei importieren

Wechseln Sie zur Seite DBC Viewer und klicken Sie auf "Load DBC File", um eine benutzerdefinierte DBC-Datei zu importieren. Nach dem Import können Sie die in der DBC-Datei definierten Messages, Signals und zugehörigen Konfigurationsinformationen anzeigen.

import-custom-dbc-file

Gauge- und Horizontal Slider-Widgets konfigurieren

Wählen Sie das Gauge-Objekt aus und setzen Sie im Bereich CAN Signal der Gauge-Eigenschaften Message auf EEC1 und Signal auf EngSpeed. Dadurch wird das Gauge mit EngSpeed verknüpft. Nach der Konfiguration ändert sich der im Gauge angezeigte Wert entsprechend dem EngSpeed-Wert.

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

Wählen Sie das Horizontal Slider-Objekt aus und setzen Sie im Bereich CAN Signal der Horizontal Slider-Eigenschaften Message auf HorizontalSliderMessage und Signal auf HorizontalSliderSignal1. Dadurch wird der Horizontal Slider mit HorizontalSliderSignal1 verknüpft. Nach der Konfiguration ändert sich der Horizontal Slider entsprechend dem Wert von HorizontalSliderSignal1.

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

Interaktion zwischen CAN ID / CAN Data und Widgets simulieren

Klicken Sie auf das Symbol "Simulator With GUI", um den Simulator zu starten.

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

Nach dem Start des Simulators können Sie den EngSpeed-Slider im unteren Bereich bewegen, um das Senden von EngSpeed-Daten durch den Host zu simulieren und die entsprechenden Änderungen des Gauge im Simulator zu beobachten. Im Message Log auf der rechten Seite werden die Änderungen von CAN ID und CAN Data angezeigt. Darüber hinaus können Sie den Horizontal Slider im Simulator bedienen, um vom Device gesendete Daten zu simulieren.

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

Konfiguration des Smart Display aktualisieren

Nachdem Sie die Funktion mit dem Simulator überprüft und die korrekte Funktion bestätigt haben, verbinden Sie das Device und übertragen die Project-Einstellungen auf das Smart Display.

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

Warten Sie, bis das Hochladen und Aktualisieren des Projects abgeschlossen ist.

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

Interaktion zwischen Device CAN ID / CAN Data und Widgets überprüfen

Nachdem das Project auf das Device übertragen wurde, können Sie die Funktion des Smart Display weiter überprüfen. Verbinden Sie GUI Builder mit dem Device und klicken Sie auf "Test Device", um das Test Device Window zu öffnen und die Interaktion zwischen Host und Device zu testen.

verify-data-and-the-widget

Test Device Window

Im Test Device Window lässt sich simulieren, wie der Host entsprechend der DBC-Konfiguration die zugehörige CAN ID und CAN Data sendet. Bewegen Sie den EngSpeed-Slider, um das Senden von EngSpeed-Daten durch den Host zu simulieren und die entsprechenden Änderungen des Gauge auf dem Smart Display zu beobachten. Die CAN-Datenaufzeichnung im unteren Bereich des Fensters zeigt CAN ID und CAN Data an. Darüber hinaus können Sie den Horizontal Slider auf dem Smart Display bedienen, um zu überprüfen, ob die vom Device gesendeten Daten den Anforderungen entsprechen.

test-device-window

Tatsächliche Anzeige auf dem Smart Display

actual-display-of-the-smartdisplay-device

Custom CAN-Befehle

Im Folgenden wird das für Custom CAN verwendete Befehlsprotokoll beschrieben. Über diese Befehle kann der Host das Smart Display steuern, beispielsweise Seiten wechseln, die Helligkeit anpassen oder den Buzzer ansteuern.

CAN ID-Konfiguration

Für das Befehlsprotokoll werden die folgenden CAN ID-Einstellungen verwendet:

  • CAN Id format:29 bit
    CAN Id:0xEF0000 + 0x7B00 (default channel id. This can be modified through the GUI Builder.)
 

Command-Datenformat

Send Command

Header Byte (1 Byte) Length (1 Byte) Payload (N byte) CRC (2 Byte)
Fester Wert:0x53 (S) Value = 4 + Payload length
Payload max size: 250
Informationen zu Dateninhalt und Länge finden Sie unter Send Command Payload. Modbus CRC16
 

Response Command

Header Byte (1 Byte) Length (1 Byte) Payload (N byte) CRC (2 Byte)
Fester Wert:0x52 (R) Value = 4 + Payload length
Payload max size: 250
Informationen zu Dateninhalt und Länge finden Sie unter Response Command Payload. Modbus CRC16
 

Command Payload

Im Folgenden werden die einzelnen Command Payloads beschrieben.

  • Set Brightness:0x6
    Send Command
Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value
 

Response Command

Command Code 1 Byte 0x6
Error Code 1 Byte 0:Success
1:Failed
  • Set Buzzer: 0x7
    Send Command
 
Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value
Low 1 Byte Low value
 

Response Command

Command Code 1 Byte 0x7
Error Code 1 Byte 0:Success
1:Failed
 
  • Set Page Index:0x8
    Send Command
Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value
 

Response Command

Command Code 1 Byte 0x8
Error Code 1 Byte 0:Success
1:Failed
 
  • Get Page Count: 0xA
    Send Command
Command Code 1 Byte 0xA
 

Response Command

Command Code 1 Byte 0xA
Error Code 1 Byte 0:Success
1:Failed
High 1 Byte Page Count value
 
  • Get Current Page Index:0xF
    Send Command
Command Code 1 Byte 0xF
 

Response Command

Command Code 1 Byte 0xF
Error Code 1 Byte 0:Success
1:Failed
Page Index 1 Byte Page Index value
 
  • Set Device State:0x20
    Send Command
Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode
 

Response Command

Command Code 1 Byte 0x20
Error Code 1 Byte 0:Success
1:Failed
 

Übertragungsbeispiele

  • Helligkeit auf 90 einstellen

transmission-example-set-brightness-to-90

  • Page Index auf 1 setzen
 

Beim Wechseln einer Seite muss zunächst der Device State auf ConfigMode gesetzt werden. Anschließend wird der Befehl zum Seitenwechsel gesendet. Nach Abschluss des Seitenwechsels wird der Device State wieder auf DisplayMode gesetzt. Die Befehlsreihenfolge ist wie folgt:

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

CAN-HMI-Entwicklung mit Custom CAN ID vereinfachen

Mit dem Custom CAN ID-Protokoll können Anwender CAN IDs und CAN Data über eine standardisierte DBC-Datei definieren und in Smart Display GUI Builder die entsprechenden Messages/Signals mit den jeweiligen Widgets verknüpfen. Dadurch lassen sich CAN-Daten direkt in die HMI-Oberfläche integrieren. Für Anwendungen, die keine umfangreicheren Kommunikationsprotokolle wie CANopen oder J1939 benötigen, bietet Custom CAN ID eine einfachere Möglichkeit, einen Host auf Basis der DBC-Konfiguration mit einem Smart Display zu verbinden.

Bevor eine Verbindung mit einem realen Smart Display hergestellt wird, können Anwender außerdem die Simulationsfunktionen von Smart Display GUI Builder nutzen, um das Zusammenspiel zwischen DBC-Konfiguration, CAN-Daten und Widgets zu überprüfen.

Haben Sie Fragen zu Displaylösungen für Ihr Unternehmen? Kontaktieren Sie uns!

Abonnieren

Erhalten Sie E-Mails mit den aktuellsten Neuigkeiten von Winstar

Kontaktieren Sie uns

Preis /Datenblatt/ Allgemeine Anfrage

Technischer Support

Kontaktieren Sie uns wegen technischer Informationen

go top
Kontakt
close

Wir schätzen Ihre Privatsphäre

Durch Klicken auf „Alle Cookies zulassen“ stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Navigation auf der Website zu verbessern, die Nutzung der Website zu analysieren und unsere Marketing- und Leistungsbemühungen zu unterstützen. Weitere Informationen zu diesem Thema finden Sie in unserer Richtlinie. Datenschutzrichtlinie

Wir schätzen Ihre Privatsphäre

Winstar und bestimmte Drittparteien verwenden Cookies auf www.winstar.com.tw. Die Einzelheiten zu den Arten von Cookies, ihrem Zweck und den beteiligten Drittparteien sind unten sowie in unserer Cookie-Richtlinie beschrieben. Klicken Sie auf „Alle zulassen“, um unserer Verwendung von Cookies zuzustimmen und die bestmögliche Erfahrung auf unseren Websites zu erzielen. Sie können auch Ihre Präferenzen festlegen oder Cookies ablehnen (mit Ausnahme der unbedingt erforderlichen Cookies).

Einwilligungspräferenzen verwalten

Immer aktiv
Notwendige Cookies

Diese Cookies sind unerlässlich, um Ihnen das Navigieren auf der Website zu ermöglichen und ihre Funktionen zu nutzen, wie z. B. das Festlegen Ihrer Datenschutzpräferenzen, das Einloggen oder das Ausfüllen von Formularen.

Analyse-Cookies

Diese Cookies, auch als „Statistik-Cookies“ bekannt, sammeln Informationen darüber, wie Sie eine Website nutzen, z. B. welche Seiten Sie besucht und auf welche Links Sie geklickt haben. Siehe Details.