Zum Inhalt springen
JelinaJelina DocumentationTechnische Dokumentation
Zur Website

CAN-Datenerfassung

(1) Öffnen Sie auf der CommBridge-Seite den Bereich „Digitaler Zwilling“ und wechseln Sie links zu „Gerätevernetzung“.

(2) Ziehen Sie nacheinander die Plugins SocketCAN, Datenverarbeitung und MQTT-Upload in den Plugin-Arbeitsbereich, um drei Knoten zu erstellen.

(3) Verbinden Sie die drei Knoten in der Reihenfolge: SocketCAN → Datenverarbeitung → MQTT-Upload.

(1) Doppelklicken Sie auf SocketCAN und klicken Sie auf „Schema hinzufügen“.

(2) Geben Sie die Verbindungseinstellungen ein, importieren Sie die DBC-Datei und klicken Sie auf „Weiter“.

(3) Prüfen Sie die Informationen zu Gruppen und Datenpunkten.

(4) Klicken Sie auf „Fertigstellen“, um das Erfassungsschema hinzuzufügen.

(5) Aktivieren Sie den Schalter des Schemas und klicken Sie auf „Speichern“.

(1) Klicken Sie im Bereich „Gerätevernetzung“ auf „Bereitstellen“, um die Bereitstellung abzuschließen.

(2) Wechseln Sie zu „Digitaler Zwilling“ und bewegen Sie den Mauszeiger über den SocketCAN-Knoten, um seine Informationsliste anzuzeigen.

(3) Klicken Sie auf das Schema, um Echtzeit- und historische Daten der Datenpunkte seiner Gruppen anzuzeigen.

Parameter Beschreibung Format Beispiel Anmerkungen
Schemaname Benutzerdefinierter Name des Schemas Darf nicht leer sein CAN-Erfassung
CAN-Schnittstelle Entsprechend dem tatsächlichen CAN-Port des Geräts Auswahl aus der Liste vcan0
DBC Siehe Erläuterung unten DBC-Datei testType.dbc
Rückgabedatentyp Datentyp der erfassten Echtzeitwerte Auswahl aus der Liste Phy
Drosselungsintervall Überspringt wiederholte Frames innerhalb des Intervalls, bis es abläuft oder sich die Daten ändern. 0 deaktiviert die Drosselung Erforderliche Zahl im Bereich [0,2147483647] Phy
Socketcand Aktiviert socketcand, das CAN-Schnittstellen eines Rechners über das Netzwerk zugänglich macht Yes, No No
Socketcand-Port Für das Debugging von Daten aus der Ferne Zahl

Hinweise:

  1. DBC ist die Quelle der ursprünglichen Datenstruktur. Alle nachfolgenden Änderungen an Gruppen (Nachrichten) und Daten (Signalen) werden mit dieser DBC-Struktur zusammengeführt.
  2. Rückgabedatentyp: Raw liefert Rohwerte, Phy physikalische Werte und PhyWIthUnit physikalische Werte mit Einheit.
  3. Das Kommunikationsverfahren verwendet eine TCP/IP-Verbindung und ein spezielles Protokoll zur Übertragung von CAN-Frames und Steuerbefehlen. Derzeit wird nur klassisches CAN unterstützt, kein CAN FD.
Parameter Beschreibung Format Beispiel
Gruppenname Benutzerdefinierter Name der Gruppe Darf nicht leer sein t_msg_1_unsigned
Nachrichtenname Name zur Beschreibung der Funktion oder des Zwecks einer Nachricht Erforderlich; nur Buchstaben, Ziffern und Unterstriche; darf nicht mit einer Ziffer beginnen t_msg_1_unsigned
Nachrichten-ID Eindeutige Kennung zur Unterscheidung von Nachrichten auf dem CAN-Bus Erforderliche Dezimal- oder Hexadezimalzahl im Bereich [0x0-0xffffffff] 0
Datenlängencode Data Length Code (DLC): Bei klassischem CAN entsprechen DLC 0–8 einer Länge von 0–8 Byte. Bei CAN FD gilt dies ebenfalls für DLC 0–8; DLC 9–15 entsprechen der Reihe nach 12, 16, 20, 24, 32, 48 und 64 Byte. Diese Protokolldefinition bedeutet nicht, dass das aktuelle Plugin CAN FD unterstützt Zahl im Bereich [0,8] oder [0,15] 8
Sendeknoten Sender (Transmitter) der Nachricht, also das sendende Gerät (Node) Auswahl aus der Liste; Standardwert Vector__XXX Vector__XXX
Nachrichtenbeschreibung Optionales Feld zur Erläuterung von Zweck oder Funktion der Nachricht Zeichenfolge

Hinweise:

  1. Eine Gruppe entspricht einer Nachricht (Message) in der DBC-Datei.
  2. Eine Nachrichten-ID besteht normalerweise aus 11 Bit bei Standard-Frames oder 29 Bit bei erweiterten Frames.
  3. Wenn für die Nachricht beziehungsweise Gruppe kein Sendeknoten festgelegt ist, muss Vector__XXX verwendet werden.
Parameter Voraussetzung Beschreibung Format Beispiel
Signalname Benutzerdefinierter Name zur Beschreibung der Datenfunktion
Signalmodus Übertragungsmodus des Signals Auswahl aus der Liste
Startbit Startposition des Signals in der Nachricht, ab 0 gezählt; legt seine konkrete Lage im CAN-Frame fest Einheit: Bit 0
Werttyp Datentyp des Signals Auswahl aus der Liste Intel
Byte-Reihenfolge Speicherreihenfolge des Signals innerhalb der Nachricht Auswahl aus der Liste
Skalierungsfaktor Faktor zur Umrechnung des Rohwerts in den tatsächlichen physikalischen Wert Gleitkommazahl
Offset Offset bei der Berechnung des physikalischen Werts Gleitkommazahl
Mindestwert Kleinster physikalischer Signalwert zur Begrenzung des Signalbereichs. Gleitkommazahl
Höchstwert Größter physikalischer Signalwert zur Begrenzung des Signalbereichs. Gleitkommazahl
Einheit Physikalische Einheit des Signals Zeichenfolge
Empfängerknoten Name des empfangenden Knotens (receiver); ein oder mehrere Knoten geben die Zielgeräte des Signals an. Dropdown-Auswahl, standardmäßig Vector__XXX
Beschreibung Physikalische Einheit des Signals, z. B. km/h, °C oder m/s. Zeichenfolge
Berechnung Benutzerdefinierte Formel auf Grundlage der Datenaliase.
Länge Werttyp Unsigned/Signed Anzahl der vom Signal belegten Bits (Bitlänge) Einheit: Bit, [1,64]
Multiplexwert Signalmodus ist nicht Signal Legt fest, bei welchem Wert des Multiplexors dieses Signal gültig ist

Hinweise:

  1. Signalmodus: Signal, Multiplexor, Multiplexed.
  2. Werttyp: Unsigned (vorzeichenlose Ganzzahl), Signed (vorzeichenbehaftete Ganzzahl), Float (Gleitkommazahl einfacher Genauigkeit), Double (Gleitkommazahl doppelter Genauigkeit).
  3. Byte-Reihenfolge: Intel (Little Endian), Motorola (Big Endian).
  4. Startbit: Position des niederwertigsten Bits (LSB, Least Significant Bit) des Signals.
  5. Endbit: Position des höchstwertigen Bits (MSB, Most Significant Bit) des Signals.
  6. Skalierungsfaktor und Offset: Umrechnung zwischen physikalischem Wert und Netzwerk-Rohwert; Rohwert = (physikalischer Wert − Offset) ÷ Skalierungsfaktor.
  7. Ist für ein Signal kein Empfängerknoten angegeben, muss Vector__XXX eingestellt werden.

Eine DBC-Datei (CAN Database File) ist ein standardisiertes Dateiformat zur Beschreibung von Nachrichten und Signalen auf einem CAN-Bus (Controller Area Network).

(1) Node (Knoten)

Ein Knoten ist die logische Darstellung eines Geräts im Netzwerk. Jeder Knoten kann Nachrichten senden oder empfangen.

1). DBC-Dateiformat:

BU_: Node1 Node2 Node3
  • BU_: definiert die Knotenliste.
  • Darauf folgen alle Knotennamen, durch Leerzeichen getrennt.

(2) Message (Nachricht)

Eine Nachricht ist die kleinste auf dem CAN-Netzwerk übertragene Dateneinheit. Sie enthält mehrere Signale und hat eine feste ID und Länge.

1). DBC-Dateiformat:

BO_ <Nachrichten-ID> <Nachrichtenname>: <Datenlängencode> <Sendeknoten>

2). Beispiel:

BO_ 1001 SpeedMessage: 8 Node1
  • BO_: kennzeichnet eine Nachricht.
  • 1001: Nachrichten-ID.
  • SpeedMessage: Nachrichtenname.
  • 8: Datenlängencode (DLC).
  • Node1: Sendeknoten.

(3) Signal

Ein Signal ist eine Dateneinheit innerhalb einer Nachricht und stellt eine konkrete physikalische Größe dar, etwa Geschwindigkeit, Drehzahl oder Temperatur.

1). DBC-Dateiformat:

SG_ <Signalname> : <Startbit>|<Länge>@<Byte-Reihenfolge><Werttypzeichen> (<Skalierungsfaktor>,<Offset>) [<Minimum>|<Maximum>] "<Einheit>" <Empfangsknoten>

2). Beispiel:

SG_ Speed : 0|16@1+ (0.1,0) [0|200] "km/h" Node2
  • BO_: kennzeichnet eine Nachricht.

(1) Signalmodus

Signalmodus Bedeutung
Signal Gewöhnliches Signal, das Daten direkt enthält, ohne besondere Kennzeichnung oder Zuordnung.
Multiplexor Multiplexorsignal, das als Auswahlwert bestimmt, welche Gruppe weiterer Signale die Nachricht enthält. Eine Nachricht kann beispielsweise mehrere Datenformate unterstützen; der Multiplexor wählt das konkrete Format aus.
Multiplexed Multiplexiertes Signal, das einem Multiplexor zugeordnet ist. Dessen Wert bestimmt, ob dieses Signal übertragen wird. Beispielsweise wird bei Multiplexorwert 1 eine bestimmte Gruppe multiplexierter Signale übertragen.