Forum: PC-Programmierung *.dbc Datei für CAN FD und mit mehreren Messpunkten pro Botschaft


von CAN-BUS (Gast)


Lesenswert?

Hallo zusammen,
ich suche gerade nach einer Möglichkeit eine DBC-Datei für einen 
Messdatenstrom zu erzeugen. Dieser sieht wie folgt aus (lässt sich 
grundsätzlich aber auch noch ändern):

- CAN-FD Botschaften mit 64 Datenbytes
- Daten kommen als Int16
- In einer Botschaft sind jeweils zwei Kanäle enthalten. Dabei enthalten 
die Bytes 0-31 sechzehn chronologisch aufsteigende Messwerte von Kanal 1 
und die Bytes 32-63 die korrespondierenden von Kanal 2 (Byte 0&1 -> 
Kanal 1 Zeitschritt 1, Byte 2&3 -> Kanal 1 Zeitschritt 2, ... Byte 32&33 
-> Kanal 2 Zeitschritt 1, Byte 34&35 Kanal 2 Zeitschritt 2, ...)

"Normale" (mehrere Kanäle aber nur ein Zeitschritt pro Botschaft) dbc 
Files für CAN habe ich schon paar mal erzeugt. Aber sowohl was das 
Format für CAN-FD angeht, noch wie man mehrere Zeitschritte in einer 
Botschaft definiert, bereitet Probleme. Hat jemand sowas schonmal 
erzeugt oder Informationen hierzu?

Besten Dank und viele Grüße,
Fabian

P.S. Nein, es ist leider keine Option nur einen Zeitschritt pro 
Botschaft zu senden, da hier zuviel Overhead erzeugt wird....

von Thomas F. (igel)


Lesenswert?

CAN-BUS schrieb:
> noch wie man mehrere Zeitschritte in einer Botschaft definiert, bereitet 
Probleme

Ich wüsste nicht dass .dbc sowas überhaupt kann.
Ich denke du musst die 16 einzelnen Signale durch eine eigene 
Software-Routine  aufbereiten lassen.

von Rolf M. (rmagnus)


Lesenswert?

Was genau meinst du mit "Zeitschritt"? DBC definiert, wo und von welchem 
Datentyp die Signale in der Botschaft sind. Die ganze Botschaft wird 
dann am Stück rausgesendet bzw. empfangen.

von CAN-BUS (Gast)


Lesenswert?

@Thomas
ja, das befürchte ich auch langsam.... Hast du Vorschläge wie man eine 
CAN-FD Botschaft definiert?

@Rolf
Ich brauche später alle Einzelmessungen hintereinander abgespeichert. 
Wenn immer ein Messpunkt (genaugenommen 2 wegen der beiden Kanäle) pro 
Botschaft kommt, werden diese automatisch aneinander gefügt und es 
passt.
Nun sind aber in der CAN-FD pro Kanal 16 aufeinanderfolgende Messpunkte. 
D.h. er müsste nicht nur die Botschaften stumpf aneinander hängen, 
sondern die 16 Messpunkte aus jeder Botschaft einzeln betrachten und 
diese aneinander hängen

von Thomas F. (igel)


Angehängte Dateien:

Lesenswert?

CAN-BUS schrieb:
> Hast du Vorschläge wie man eine CAN-FD Botschaft definiert?

Ich hab da mal schnell was zusammengefrickelt. Ausprobieren kann ich es 
nicht da ich kein CAN-FD Interface hier habe. Die Vector-Software meldet 
zumindest keinen Fehler.

: Bearbeitet durch User
von CAN-BUS (Gast)


Lesenswert?

Danke Thomas, damit klappt das Empfangen der CAN-FD Botschaften 
schonmal!

An welche Profis könnte man sich denn noch wenden um zu erfahren, ob es 
eine Möglichkeit im dbc-file für mehrere Zeitschritte pro Botschaft 
gibt?

von Thomas F. (igel)


Lesenswert?

CAN-BUS schrieb:
> An welche Profis könnte man sich denn noch wenden

Was du suchst ist nirgendwo dokumentiert. Ich fürchte das gibt es nicht.
http://socialledge.com/sjsu/index.php/DBC_Format

Aber wenn es jemand weiß dann Vector. Du kannst ja mal eine freundliche 
Mail schreiben und sehen ob sie die antworten.
https://www.vector.com/de/de/unternehmen/kontakt/support-kontakt/#c238076

von CAN-BUS (Gast)


Lesenswert?

Ergänzung:

Der Support von Kvaser hat die Sache nun auch bestätigt. Mehrere 
Zeitschritte pro Botschaft sind nicht mit einem DBC-File zu sortieren.

Vielen Dank an alle hier!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.