Forum: Mikrocontroller und Digitale Elektronik CANoe - Zugriff auf Botschaften einer dbc Datenbank


von Dieter (Gast)


Lesenswert?

Hallo,

ich will in CANoe im Code eines Knoten auf die Daten innerhalb einer dbc 
Datenbank zugreifen.
Jetzt meine Frage:
Gibt es eine Möglichkeit anhand einer vorhandenen CAN ID abzufragen 
welche Botschaft dazu gehört? Ich habe also nur eine ID und möchte damit 
die Botschaft abfragen. Geht das?

Danke und Gruß

von Michael S. (schmichael)


Lesenswert?

Hallo,

Welche Informationen möchtest du denn genau aus der Datenbank abrufen? 
Wenn es dir nur um den Namen der Nachricht geht, funktioniert das mit - 
dword GetMessageName( dword id, dword context, char buffer[], dword 
size). Nicht zu vergessen ist natürlich, in deiner Konfiguration die 
Datenbank mit aufzunehmen.

von Dieter (Gast)


Lesenswert?

Hi,

ich würde gerne auch noch die Datenbank in dem die Nachricht drinsteht 
abfragen. D.h. ich hätte mehrere dbc files und ich würde anhand der ID 
den Namen der Datenbank abfragen wollen. Geht das auch?

Danke für Deine schnelle Antwort

von Michael S. (schmichael)


Lesenswert?

Hallo,

das wird soweit ich weiss jetzt schon schwieriger, denn im CAPL gibt es 
meines Wissens keine Funktion, die mir diese Information zur Verfügung 
stellen kann.

Jetzt kommt es auch noch auf deine CANoe-Version an. Seit der Version 
7.1 gibt es den Befehl DBLookup(..). Damit hättest du mit etwas 
Programmieraufwand die Chance herauszufinden, in welcher Datenbank sich 
die Nachricht befindet. Dazu musst du die Funktion mit 
DBLookup(Datenbasisname,this) für jedes dbc-File aufrufen und zu schauen 
ob ein Ergebnis zurückkommt.

Was anderes fällt mir jetzt leider auch nicht ein. Beachte aber bitte 
die Hinweise zwecks Performance und so in der Hilfe.

von Dieter (Gast)


Lesenswert?

Deine Antworten haben mir auf alle Fälle weitergeholfen. Danke.

Gruß

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.