Import von CAN-Dateien¶
Das Addin ließt Vector CAN Datenbank Dateien (.dbc
) (CAN-Datenbasis,
DBC-Format), BINLOG-Dateien (.blf
), MDF4 Dateien miot CAN-Bus Daten (.mf4
),
Vector ACSCII Log Dateien (.asc
),
G.i.N Can LOG Dateien (Data*F1
und Data*F1.gz
) sowie A&D Can Log Dateien
(.tdfa
) und konvertiert sie in das UniPlot-Datendateiformat NC2.
Multiplex-Botschaften werden unterstützt. Bei Multiplex-Botschaften können mehrere Gruppen von Signalen über eine Botschafts-Id übertragen werden.
Bemerkung
Dieses Addin ist eine Beta-Version.
Installation¶
Wählen Sie Extras=>Add-In Manager.
Markieren Sie das Add-In CAN-Import (dbc, blf).
Wählen Sie OK.
Benutzung¶
Wählen Sie Extras=>CAN-Konfiguration um eine Konfiguration zu erstellen. Eine Konfiguration legt fest welche Nachrichten aus der BLF Log Datei in die NC2-Datei geschrieben werden sollen. Dazu benötigen Sie eine DBC-Datei (Vector CAN Database Datei).
Die DBC Konfiguration wird beim Import der blf-Dateien solange verwendet, bis Sie über Extras=>CAN-Konfiguration eine andere Konfiguration ausgewählen.
Wählen Sie Datei=>Daten importieren.
Wählen Sie den Typ
BLF-Datei (*.blf;*.asc)
aus.Wählen Sie eine oder mehrere BLF- oder ASC-Dateien aus.
Um einen Datensatz (Kurve) zu erzeugen, wählen Sie als Typ
2D: y/t MDF/INCA/BLF
aus. Bei diesem Typ wählen Sie nur das Signal aus. Der entsprechende Zeitkanal wird automatisch ausgewählt.
Konfiguration¶
Das Dialogfeld erreichen Sie über das Menü Extras. Das Dialogfeld ermöglicht die Auswahl von Nachrichten für den BLF-Import. Die Nachrichten-Definitionen werden DBC-Dateien entnommen.
Im oberen Teil des Dialogs können eine oder mehrere DBC-Dateien ausgewählt werden. In der unteren Liste werden alle Nachrichten mit ID und Name angezeigt. Über das Häkchen vor jeder Nachricht können die in der Nachricht definierten Kanäle ausgewählt werden. Es muss mindestens eine Nachricht markiert werden. Über das Kombinationsfeld oberhalb der Liste kann eine Nachricht über den Namen gesucht werden.
Für jede DBC-Datei kann eine Bus-Nummer (1 bis 255) oder „all“ ausgewählt werden. Für „all“ werden alle Daten für die ausgwählten Nachrichten gelesen. Wenn eine Bus-Nummer 1 bis 255 angegeben wird, werden nur Daten gelesen, die mit der Bus-Nummer übereinstimmen. In der NC-Datei wird die Bus-Nummer im Attribut „BusNumber ausgegeben“, z. B. „CAN12“.
Die Konfiguration kann unter einem Namen gespeichert werden. Die beim Schließen des Dialogs ausgewählte Konfiguration wird beim Import von BLF-Dateien verwendet.
Die Konfigurationen werden als XML-Datei im Unterverzeichnis can_dbc_ini
im Benutzerverzeichnis von UniPlot gespeichert. Das Verzeichnis kann über die
Schaltfläche Verzeichnis öffnen
geöffnet werden.
Vector ASCII Logfiles¶
Der CAN-Import Filter unterstützt den Import von Vector ASCII Daten im klassischen und CAN-FD-Format.
Die Kommentarzeilen im Kopf der Datei (maximal 50 Zeilen) werden als globale Attribute in der NC2-Datei gespeichert.
Die einzulesenden Nachrichten-Rekords müssen der folgenden Struktur entsprechen:
Timestamp Busnumber CanId "Rx|Tx" "d" Number-of-bytes Byte1, Byte2, ..., Byte8
oder im Fall von CAN FD:
<time> CANFD <channel> <dir> <id> <brs> <esi> <dlc> <data_len> <data> [ ... ]
Andere Rekords werden ignoriert.
Beispiel für eine ASCII Vector Datei:
// Configuration file: C:\x87366132.ltl
// Car: x2131
// Device: 3421412
date Dez. 3 16:34:20 2014
base hex timestamps absolute
no internal events logged
3.35516 1 B4323x Rx D 8 72 E4 19 2F 14 00 00 00
3.35522 6 52 Rx D 2 6C 60
3.36716 1 B4323x Rx D 8 73 E5 e9 24 e2 00 00 00
3.36722 CANFD 15 Rx 86 1 0 8 8 48 75 6d 61 6e 69 73 6d 0 0 3000 0 0 0
G.i.N Can LOG Datei¶
Ließt alle G.i.N. CAN Log Dateien mit dem Muster Data*F*
and Data*F*.gz
ein und speichert die Daten in einer NC-Datei. Der Zeitkanal wird lückenlos
über alle Einzeldateien erzeugt.
Einschränkungen: Alle Log-Dateien müssen sich in einem
Verzeichnis befinden und dem Muster Data*F*
entsprechen. Es wird nur das
Format 2 und 3 gelesen. Es werden nur CAN-Daten geladen.
Das Format Unsortiert-Geblockt wird nicht gelesen.
SAE J1939¶
Wenn eine der DBC-Dateien das Element ProtocolType = J1939 enthält, werden die CANIds mit der Länge 29bit entsprechend der Spezifikation behandelt und nur PGN-Anteil (Bit 8 bis Bit 24) als Id verwendet. Multibyte Nachrichten werden nicht unterstützt.
NC2-Dateien¶
Der Import-Filter erzeugt Dateien mit der Endung .nc2. Die Kanalnamen in der NC2
Datei sind die Signalnamen aus der DBC-Datei. Für jede Nachricht wird in der
NC2-Datei eine Kanalgruppe gebildet. Jede Kanalgruppe enthält einen Zeitkanal mit
dem Namen time
mit einer anschließenden laufenden Nummer. Jeder Kanal enthält
ein Attribut mit der Namen CanID. Das Attribut enthält die ID der entsprechenden
Nachricht.
In den globalen Attributen werden die Dateinamen der DBC-Dateien gespeichert. Die globalen Attribute enthalten auch ein Attribut DBC_Configuration mit dem Namen der ausgewählten Konfiguration.
Programmierung¶
Mit der folgenden Funktion können mehrere DBC-Dateien für den Import aktiv gesetzt werden:
can_set_dbc_files(svDBCFiles, ssConfigurationName)
Der Parameter svDBCFiles
ist ein Stringvektor mit den Namen der DBC-Dateien.
ssConfigurationName
ist der Name der Konfiguration unter dem die Can-Ids aus
den DBC-Dateien gespeichert werden.
Beispiel:
can_set_dbc_files(["s:/test-data/can-dbc/config1.dbc",
"s:/test-data/can-dbc/config2.dbc"], "MyTest");
svFile[1] = auto_ImportData(svFile[1]);
Die Funktion aktiviert alle Can-Ids in den angegebenen DBC-Dateien. Die Auswahl bleibt aktiv bis eine andere Konfiguration ausgewählt wird.
Innerhalb einer Automatisierung kann mit Hilfe der Funktion
can_set_active_dbc_configuration
eine Konfiguration über den Namen ausgewählt
werden. Beispiel für das Laden einer BLF-Datei:
can_set_active_dbc_configuration("Default");
svFile[1] = auto_ImportData(svFile[1]);
Der Quelltext des Addins befindet sich in dem Verzeichnis Addin\rs_can
.
Lesen von einer oder mehrerer Vector CAN Database Dateien (DBC):
// rvBusNo: 0,1,2,... 0 reads all data. default value is 0.
oDBC = can_read_dbc(svFiles, rvBusNo)
oDBC = can_read_dbc(svFiles)
oInfo = can_dbc_signal_info(oDBC, ssSignal)
Lesen von BINLOG-Dateien (.blf
), bzw. ASCII logfiles:
oBLF = _blf_open_file(ssFilename)
oBLF = _blf_open_file(ssFilename, bASCII)
nCount = _blf_read(oBLF, oData, nMaxMessages)
oStat = _blf_stat(oBLF)
[.
ApplicationBuild = 94
ApplicationID = 1
ApplicationMajor = 7
ApplicationMinor = 1
FileSize = 1.09673e+06
LastObjectTime = 40942.3
MeasurementStartTime = 40942.3
ObjectCount = 144599
ObjectsRead = 144599
UncompressedFileSize = 6.94596e+06
]
_blf_close_file(oBLF)
History
Version |
Beschreibung |
---|---|
R2024.3 |
Im Falle eines Multiplexsignals ist der Multiplexer auch in der NC2-Datei enthalten. |
R2020.4 |
Im Konfigurationsdialog kann nun die Bus-Nummer ausgewählt werden. |
R2016.5 |
Neue Formate G.i.N Can LOG Datei ( |
R2016.2 |
Fehler-Korrektur bei Signalen mit Motorola Byte Reihenfolge. |
R2015.5 |
SAE J1939 CAN Ids: Die 8 bits Source-Adresse wurde bisher zur Bestimmung der Frame Id ignoriert. Nun bleibt die Source-Adresse in der Id erhalten. |
R2015.1 |
Lesen von Vector ASCII Logfiles. |
R2012.9 |
Multiplex-Botschaften zugefügt. |
R2012.7 |
Nachrichtenauswahl über Dialog. |
R2012.6 |
Neu. Beta-Version 1. |
id-2071766