(nur für bestimmte Terminals mit16- oder
32-bit CPU und einer speziellen Firmware-Variante)
-
- Einleitung zum CAN-Logger-Konfigurationstool / Datei-Konverter
- Verwendung des CAN-Logger-Konfigurationstools
-
Starten des CAN-Logger-Konfigurationstools
- Auswahl der Ziel-Hardware
-
Einlesen von CANdb-Dateien / Registerkarte
"CANdb"
-
Suche nach Signalnamen
-
Die "Signal-Info"-Anzeige
-
Die CAN-Message-Layout-Anzeige
-
Registerkarte "Messages, etc"
-
Registerkarte "Logger-Konfiguration"
-
Trigger
-
Der Trigger-Automat (trigger state machine)
-
Pre- und Post-Trigger
-
Definition der Trigger-Bedingungen beim MKT-View I
-
Definition der Trigger-Bedingungen beim MKT-View II/III/IV (als Tabelle)
-
Trigger-Optionen
-
Aufzeichnen von Telegrammen die nicht in einer CANdb-Datei definiert sind
-
Aufzeichnen von GPS-Daten (mit externem Navigationsempfänger)
-
Aufzeichnen von "anderen" Daten (kein CAN, kein GPS)
-
Abspeichern der Logger-Konfigurationsdatei
-
Einstellen von Datei- und Verzeichnisnamen
-
Verwendung des CAN-Loggers
-
Der Zyklus zum Loggen und Analysieren der geloggten Daten
-
Das Power-Good-Flag (und wozu es bei alten Geräten ohne USV benötigt wurde)
-
Verwendung des CAN-Logfile-Konverters
- Konverter-Einstellungen
- Weitere Konverter-Optionen
- GPS-Ausgabe-Optionen
- Das graphische Vorschau-Fenster
- Hinweise zu OpenOffice / Calc
- Hinweise zu DIAdem
- Unterstützte DIAdem-Datenformate
- Bekannte Probleme
-
Begrenzungen, Funktionseinschränkungen des Loggers
-
Anhang
-
Eingabe der Freischaltcodes für CAN-Logger
und CAN-Snooper im System-Menü
-
Manuelles Verknüpfen von *.CLC-
und *.CLD-Dateien mit dem Utility
-
Argumente der Kommandozeile ,
Batch-Betrieb
-
Technische Details zum CAN-Logger
-
Dateiformate
-
Speichermedium
-
Spannungsversorgung
-
Juristisches
-
Letzte Änderungen
Weiterführende Informationen:
Tip: Wenn Sie Firefox als Browser verwenden, wird dieses Dokument beim
Öffnen der Hilfe aus dem CAN-Logger-Utility automatisch an die passende
Stelle gescrollt. Das gleiche funktionierte auch mit IE6. Seit IE7 funktioniert
dies nicht mehr... nun es liegt an Ihnen, einen geeigneten Browser zu
installieren.
Hinweis: Falls Ihnen dieses Dokument im Word- oder Adobe Acrobat-Format (pdf)
auf einer CD-ROM übergeben wurde, arbeiten Sie möglicherweise mit
einer veralteten Kopie. Garantiert auf dem neuesten Stand ist nur die
Dokumentation im HTML-Format, die Sie im Unterverzeichnis \help
des CAN-Logger-Konfigurationstools finden ! Um sicherzustellen, daß
Sie wirklich mit der neuesten Version dieses Dokumentes arbeiten, laden Sie
sich das Logger-Konfigurationstool von der MKT-Website
herunter, installieren es, und lesen die Online-Hilfe im HTML-Format !
Der CAN-Logger/Snooper ist Bestandteil des Betriebsprogrammes (Firmware)
in bestimmten Anzeige- und Bedienterminals von MKT Systemtechnik. Eine spezielle
Firmware wird benötigt, die die in diesem Dokument beschriebenen Funktionen
bietet. Ferner muß das Terminal über ein CF- oder SD-
Speicherkarten-Laufwerk verfügen, denn als Speichermedium verwendet
der Logger eine FLASH ATA Karte mit DOS-kompatiblem Dateisystem (FAT16, bei MKT-View III/IV auch FAT32).
Bei der Erstellung dieses Dokuments war der CAN-Logger / Snooper für
die folgenden Geräte verfügbar:
-
MKT-VIEW "plus" mit 40 MHz Takt, CompactFlash-Slot, und einer speziellen
Firmware (art11089.hex) .
Hinweis: Bei dieser Firmware müssen CAN-Snooper und CAN-Logger
unabhängig voneinander "freigeschaltet" werden. Falls Sie diese Funktion(en)
benötigen, aber noch keinen Freischaltcode dafür besitzen, setzen
Sie sich bitte mit dem Hersteller in Verbindung.
Falls Sie das Gerät bereits mit Logger und/oder Snooper-Modus bestellt
haben, entfällt dieser Schritt, denn dann werden die erwähnten
Funktionen bereits bei der Auslieferung / Ausgangskontrolle freigeschaltet.
Die Eingabe der Freischaltcodes für CAN-Logger und -Snooper ist im Anhang
dieses Dokuments beschrieben.
- MKT-VIEW "II" mit ARM-CPU, 72 MHz Takt, 4.32 TFT, SD-Karten-Interface, Firmware #11314.
- MKT-VIEW "III" mit ARM-Cortex M3, 96 MHz Takt, 4.3" TFT, SD-Karten-Interface, Firmware #11392.
- MKT-VIEW "IV" mit ARM-Cortex M4, 200 MHz Takt, 7.0" TFT, SD-Karten-Interface, Firmware #11532.
Auch bei diesen Geräten muss die CAN-Logger-Funktion erst freigeschaltet werden.
Hier evtl. nicht aufgeführte Geräte finden Sie in der Feature-Matrix von MKT (externer Link).
Zunächst die Definition einiger Begriffe, die häufig in diesem
Dokument verwendet werden...
-
Der CAN-Logger
-
ist ein Stück Hard- und Firmware in einem bestimmten Gerät mit
CAN-Bus-Interface. Der Logger speichert den empfangenen CAN-Nachrichtenverkehr
in einer Datei, und zwar Telegramm für Telegramm. Um die entstehende
Dateigröße zu verringern, können die zu loggenden CAN-Identifier
ausgewählt werden (aus einer CANdb-Datei oder durch "manuelle" Eingabe).
Einige Stichworte zum CAN-Logger:
-
die "normale Terminal-Funktion" bleibt im CAN-Logger-Betrieb erhalten,
möglicherweise mit leicht verringerter Performance, speziell bei hoher
Buslast)
-
ein hochauflösender Zeitstempel wird zusammen mit jedem empfangenen
Telegramm abgespeichert
-
der Logger produziert im Allgemeinen keine Anzeige auf dem Display, er arbeitet
"still" im Hintergrund
-
Das erzeugte Logfile muß später auf einem Windows-PC analysiert
oder konvertiert werden
-
die CAN-Message-Rate (Telegramme pro Sekunde) ist wegen der CF- oder SD-Hardware
begrenzt (siehe Kapitel "Einschränkungen")
-
-
Der CAN-Snooper
-
ist ein Unterprogramm in der CAN-Logger-Firmware. Wenn der CAN-Snooper aktiv
ist, arbeitet er wie ein einfaches CAN-Analyse-Programm zur Anzeige von
"unbekanntem" CAN-Datenverkehr. Empfangene Telegramme werden auf dem Bildschirm
des Terminals angezeigt. Sie benötigen keinen PC um den CAN-Snooper
zu verwenden !
Wie bereits erwähnt, ist der CAN-Snooper ein Teil der Firmware in allen
CAN-Terminals die auch die Logger-Funktion enthalten. Es gibt keinen
CAN-Snooper ohne CAN-Logger, und es gibt keinen CAN-Logger ohne CAN-Snooper
- auch wenn nur eine der beiden Funktionen per Freischaltcode aktiviert wurde !
Eine detailiertere
Beschreibung des CAN-Snooper-Modes finden Sie im Handbuch des
programmierbaren Terminals (dieser Link funktioniert nur, wenn Sie das
Terminal-Programmiertool im Default-Verzeichnis installiert haben).
Dieses Dokument beschreibt lediglich den CAN-Logger !
-
-
Das CAN-Logger-Konfigurations - und Datei-Konvertierungs-Utility
(abgekürzt "CAN-Logger Utility")
-
ist ein PC-Program mit dem Sie den Logger konfigurieren können, und
die vom Logger erzeugten Dateien ("Logfiles") ein ein Format umwandeln
können, welches von Ihrem Auswerteprogramm weiterverarbeitet werden
kann. Das CAN-Logger-Utility ist selbst *kein* CAN-Logger, aber es...
-
kann CANdb-Dateien einlesen, aus denen Sie
dann die benötigten Signale auswählen können,
-
erlaubt Ihnen das Einstellen der
Logger-Konfiguration, z.B. Triggermodus,
Triggerbedingungen, Beschränkung der Dateigröße, Abtastintervall,
und vieles mehr,
-
konvertiert die vom Logger erzeugten
Dateien ("Logfiles") für die Analyse in ein anderes Format, welches
dann von anderen Programmen wie Tabellenkalulationen, Visualisierungstools,
statistischen Auswerteprogrammen etc gelesen werden kann.
-
Im Prinzip können Sie den CAN-Logger ganz ohne das CAN-Logger-Utility
einsetzen. Sie könnten stattdessem die Konfigurationsdatei mit einem
einfachen Texteditor erstellen, und Ihr spezielles Auswerteprogramm in einer
Programmiersprache Ihrer Wahl erstellen. Falls Sie dies ernsthaft in
Erwägung ziehen, lesen sie die Beschreibung der
"Dateiformate" im Anhang dieses Dokuments.
Die folgenden Kapitel enthalten detailierte Informationen über den Einsatz
des CAN-Logger-Konfigurationstools und des Logfile-Konverters (die beide
im CAN-Logger-Utility enthalten sind).
Weitere Informationen über Anzeigeterminals mit
CAN-Logger-Funktionalität finden Sie im Handbuch des entsprechenden
Terminals, und im Hilfesystem des Terminal-Programmiertools. Die
Beschreibung der programmierbaren Terminals würde den Rahmen
dieses Dokumentes sprengen ! Die grundlegende
Verwendung des CAN-Loggers wird weiter unten
kurz angesprochen.
Wenn Sie das Terminal-Programmiertool im Default-Verzeichnis installiert
haben, können Sie diesem
Link zur Beschreibung einiger Interpreter-Kommandos folgen, die erweiterte
Möglichkeiten zur Steuerung des Loggers bieten. Für "normale"
Anwendungen benötigen Sie dies nicht. Das einzige Kommando, welches früher
beim Einsatz des Loggers im MKT-View-"Plus" (ohne interne USV) benötigt wurde,
war das Kommandos power=1 (um das Terminal
darüber zu informieren, daß die Versorgungsspannung nun "sicher"
ist, d.h. Dateien dürfen geschrieben werden) und
power=0 (um anzuzeigen daß die Versorgung
nicht mehr sicher ist, und alle Dateien UNVERZÜGLICH geschlossen werden
müssen). Bei moderneren Geräten mit integrierter USV (z.B. MKT-View II/III/IV)
ist dies nicht mehr erforderlich.
Weitere Informationen dazu finden Sie im Hilfesystem des
Terminal-Programmiertools und in der Hardwarebeschreibung Ihres Terminals.
In diesem Kapitel wird die Benutzung des CAN-Logger-Konfigurationtools
beschrieben, welches zum "CAN-Logger-Utility" gehört. Der erste Schritt
ist üblicherweise das Erzeugen einer Konfigurationsdatei für den
Logger. Die Verwendung des CAN-Loggers selbst
wird in einem späteren Kapitel beschrieben; ebenso die
Umwandlung der geloggten Daten in andere
Formate .
Die einfachste aber auch ineffizienteste Art, das CAN-Logger-Utility zu starten,
ist per Doppelklick auf dessen Symbol auf dem Desktop oder in der Taskleiste.
Für den täglichen Einsatz ist es einfacher, die Dateinamenserweiteren
("Dateitypen") "CLC" (CAN Logger Configuration) und "CLD" (CAN Logger Data)
mit dem Utility zu verknüpfen. Meistens wird diese Verknüpfung
schon automatisch vom Installationsskript erstellt. Wenn nicht, finden Sie
eine Anleitung wie dies manuall gemacht werden kann, im
Anhang. Im Folgenden gehen wir
davon aus, daß Sie (oder der Installer) diese Verknüpfungen
erfolgreich erstellt haben.
Wenn Sie auf eine CAN-Logger-Konfigurationsdatei (*.clc) doppelklicken, um
das Utility zu starten, schaltet dieses automatisch auf die Registerkarte
"Logger-Konfiguration" um.
Wenn Sie auf ein CAN-Logfile (*.cld) doppelklicken, schaltet das Utility
nach dem Start automatisch auf die Registerkarte "Datei-Konverter" um.
Um Log-Dateien automatisch (ohne Interaktion des Anwenders) zu konvertieren,
kann das Programm mit einer Kommandozeile
gestartet werden (verwenden Sie die Option /bm um den "Batch Mode" zu starten).
Beim ersten Start des CAN-Logger-Konfigurationstools (nach der Installation)
fragt das Programm automatisch nach der verwendeten Ziel-Hardware. Dies ist
(seit Februar 2008) nötig, weil die Fähigkeiten der in verschiedenen
Geräten integrierten CAN-Logger stark voneinander abweichen. Zum Beispiel
bietet das "MKT-View I" (mit C167) weniger Triggersignale als der in neueren
Geräten vom Typ "MKT-View II" integrierte CAN-Logger (mit ARM7-Prozessor)
.
Der im Folgenden beschriebene Dialog dient zur Auswahl der Logger-Hardware
(das Erscheinungsbild könnte sich seit der Erstellung dieses Dokumentes
noch geändert haben) :
Dieses Dialogfenster wird auch angezeigt, wenn Sie eine neue Logger-Konfiguration
erstellen, und dabei alle Parameter auf die Default-Werte setzen.
Die Eigenschaften der verwendeten Hardware können auf der Registerkarte
"Setup" im Panel "Optionen" kontrolliert werden. Dort wird auch die beim
Erstellen der Logger-Konfiguration angewählte Hardware angezeigt, z.B.:
Achten Sie beim Ändern der Logger-Geräte-Familie darauf, dass die
Logger-Familien nicht vollkommen kompatibel sind. Z.B. kann der Logger im
MKT-View I maximal 48 verschiedene CAN-Messages aus dem Datenstrom ausfiltern,
das MKT-View II aber mindestens 128. Wird daher eine Konfiguration für
das MKT-View II zum Einsatz im MKT-View I angepasst, gehen möglicherweise
einige Message- und/oder Signaldefinitionen aus der Logger-Konfiguration
verloren.
Weil der CAN-Logger ursprünglich nur zum Aufzeichnen von CAN-SIGNALEN
vorgesehen war (*), werden auf
der hier vorgestellten Registerkarte nur die zu loggenden SIGNALE
ausgewählt:
(screenshot CANdb tab)
Auf der Registerkarte "CANdb" können Sie
-
Einzelne Signale oder "alle Signale einer MESSAGE" aus CANdb-Dateien
auswählen (die vorher mit dem Menü "Datei" geladen wurden)
-
Signale aus der Liste der geloggten Signale entfernen oder dazu
hinzufügen
-
Die Reihenfolge in der genannten Liste ändern (die Buttons mit den blauen
Pfeilen über der Liste bedeuten "move up" bzw. "move down")
-
Informationen über ein geloggtes Signal anzeigen lassen, z.B. den CAN-ID
der Message mit dem ein Signal transportiert wird, in welchen Bits das Signal
steckt, der Datentyp, ..
Zum Importieren ("Laden") einer CANdb-Datei verwenden Sie das Menü "Datei"
(hier: "File"). Wenn Sie vorher bereits CANdb-Dateien geladen hatten, finden
Sie deren Dateinamen in der Liste "zuletzt verwendete CANdb-Dateien" - eine
praktische Funktion, die Ihnen das Einprägen des kompletten Pfadnamens
erspart, und möglicherweise ein Dutzend Mausklicks im Dateiauswahlfenster
erspart.
Um die Signale aus den geladenen CANdb-Dateien anzuzeigen bzw. auszuwählen,
stehen Ihnen verschiedene Ansichten zur Verfügung:
-
Ansicht als Baum (tree view, wie der oben gezeigten Abbildung)
-
Ansicht als Tabelle in der ALLE Informationen über die geladenen Signale
angezeigt werden (dient auch als Datenspeicher)
-
Ansicht als Gruppe von drei Listen wie im Terminal-Programmiertool (Knoten,
Messages, Signals). In der untergeordneten Liste wird jeweils nur der zum
übergeordneten Element passende Inhalt angezeigt (alle Signale EINER
Message , alle Messages EINES Knotens, ..)
Um eine Signaldefinition aus der
Baumansicht in die Liste geloggter
Signale zu übernehmen, setzen Sie die von Windows bekannte drag-and-drop
- Technik ein (Ziehen bei gedrückter Maustaste, Fallenlassen über
dem Ziel). Dies funktioniert auch mit ganzen CAN-Messages (mit mehreren
Signalen), Knoten (mit mehreren Messages), oder sogar mit kompletten CAN-Bussen
(inklusive aller darin enthaltenen Knoten, Messages, und Signalen).
Vorsicht: Wenn ein Signal mit einem bestimmten Namen bereits in der Liste
der geloggten Signale (im rechten Teil des Fensters) enthalten sind, erhalten
Sie eine Warnung. Vermeiden Sie doppelte Signalnamen in Ihrer CAN-Datenbank,
wenn dies irgendwie möglich ist. Spätenstens beim Konvertieren
der geloggten Datei in bestimmte Ausgangsformate wird es Problem mit nicht
eindeutigen Signalnamen geben, bzw. sie werden nicht anhand des Namens in
der Tabellenspalte erkennen können, um welches Signal es sich wirklich
handelt.
Alternativ können Signale auch in der Tabellenansicht markiert werden,
und mit dem Button ".. zur Liste hinzufügen" (Add signals to list)
übernommen werden.
Die Liste der zu loggenden Signale wird als Teil der CAN-Logger-Konfiguration
gespeichert. Die CANdb-Dateien für die Auswertung nicht mehr nötig.
Sie können mit dem CAN-Logger-Utility auch nicht modifiziert werden,
denn dieses Programm ist kein
CANdb-Editor ! (CANdb-Editoren gibt es z.B. von Vector und Kvaser).
Bis zu vier (bzw 10 beim MKT-View II) der geloggten Signale können
als Triggersignal verwendet werden.
-
Fußnote:
-
Außer der Auswahl zu loggender Signale aus CANdb-Dateien besteht
noch die Möglichkeit..
Um die Auswahl von Signalen aus großen Datenbanken zu erleichtern,
steht eine Suchfunktion für Signalnamen zur Verfügung. Geben Sie
dazu im Editierfeld neben dem Button "Suchen:" ein Suchmuster für den
Signalnamen ein, und drücken anschließend die Eingabetaste (oder
klicken auf den Such-Button). Als Suchmuster können Sie den kompletten
Signalnamen eingeben, oder nur einen Teil davon. Die folgenden Platzhalter
(wildcards) stehen dabei zur Verfügung:
-
? Ersetzt einen Buchstaben
-
* Ersetzt eine ganze Buchstabengruppe. Darf nicht am Anfang des
Suchstrings verwendet werden !
Beispiele:
-
Thermo sucht alle Signale namens "Thermo", in allen Messages, auf beiden
CAN-Bussen.
-
A* sucht alle Signalnamen die mit einem 'A' beginnen
-
?bc* sucht alle Signalnamen, bei denen der zweite Buchstabe ein 'b' und der
dritte ein 'c' ist, worauf noch beliebig viele Buchstaben folgen
können
Die Eigenschaften eines geloggten Signals können in der "Signal Info"-Box
angezeigt werden. Diese befindet sich rechts unten auf der Registerkarte
mit den Signaldefinitionen. Der Inhalt der Text-Info-Box kann
folgendermaßen aussehen:
Anzeige (Beispiel) |
Erläuterung |
PrintedChars |
Signalname |
id=0x0000007B |
CAN id (+ Bedeutung der höchstwertigen Bits 31..29) |
node="Terminal" |
Name des Knotens, der dieses Signal sendet |
msg="MuxedMsg" |
Name der Message, die dieses Signal enthält |
mapping=(8,8,I,U) |
Mapping-Info: Position LSBit, Anzahl Datenbits,
Bytereihenfolge: Intel/Motorola,
Datentyp: Signed/Unsigned/Float/Double |
MuxVal=#0, MuxMap=(0,8,I) |
Nur bei gemultiplexten Signalen:: Mux-Wert, Multiplexer-Mapping (s.O.) |
Um die Eigenschaften eines Signals zu ermitteln, selektieren Sie das Signal
in der Liste der geloggten Signale. Darüberhinaus bietet das
Konfigurationstool auch die Möglichkeit, die Lage der Datenbits innerhalb
einer CAN-Message in graphischer Form darzustellen - siehe nächstes
Kapitel .
Der Aufbau eines zu loggenden CAN-Telegramms kann zur Kontrolle auch in
grafischer Form angezeigt werden. Dies ist z.B. dann hilfreich, wenn Probleme
mit der Interpretation der verschiedenen Bit-Zählweisen auftreten (z.B.
"Intel", "Motorola vorwärts", "Motorola rückwärts" und
ähnliche Scheußlichkeiten).
Die links abgebildete Grafik zeigt ein Beispiel für die CAN-Message-Anzeige.
Das markierte Signal ist am dicker gezeichneten Pfeil erkennbar, und an der
Legende am unteren Rand des Fensters. Der Pfeil zeigt grundsätzlich
vom niederwertigsten Bit (LSB am Pfeilende) in Richtung des höchstwertigen
Bits (MSB an der Pfeilspitze).
Am oberen Rand der Grafik sind die Bitpositionen für die Datenbits innerhalb
eines Datenbytes angetragen. Beachten Sie, daß hier -wie bei
Binärzahlen üblich- das höchstwertige Datenbit links steht;
die Zählung geht für 8 Datenbits (innerhalb eines Bytes des
CAN-Telegramms) immer von 0 (=LSB, rechts) bis 7 (MSB, links).
Innerhalb des aus 64 Bits bestehenden CAN-Datenfelds läuft die Zählung
immer wie im Diagramm angegeben: Das erste Byte[0] umfaßt Bits 7 bis
0; das letzte Byte[7] enthält Bits 63 bis 56. Daran ändert auch
die Tatsache nichts, ob im CAN-Telegramm Signale im Motorola oder/und
Intel-Format enthalten sind ! (Vorsicht, manche CANdb-Editoren verwenden
eine andere Zählweise).
Wenn das selektierte Signal -wie hier- gemultiplext ist, werden zusätzlich
zu den Datenbits des Signals auch die Multiplexer-Bits
für dieses Signal angezeigt (in der gleichen Farbe, allerdings schraffiert).
Der Wert der Multiplexer-Bits wird ebenfalls angezeigt (denn der Multiplexer-Wert
ist eine Konstante für dieses Signal).
Um andere Signale innerhalb der dargestellten Message zu selektieren, klicken
Sie mit der linken Maustaste in die Grafik.
Inhalt
Hier finden Sie eine Liste zu loggender CAN-Messages und weitere
Spezialfunktionen. Im Normalfall brauchen Sie sich nicht um diese Tabelle
zu kümmern, weil alle notwendigen Message-Definitionen vom
Konfigurationstool automatisch bei der Auswahl der zu loggenden
Signale erstellt werden (siehe vorgehendes Kapitel).
Der untere Teil dieser Registerkarte enthält Definitionen für "andere"
zu loggende Daten, die in einem weiter Unten folgenden Kapitel erläutert
werden.
Im oberen Teil der Karte steht eine Tabelle mit allen
CAN-Messages die aufgezeichnet werden
sollen. Jede Zeile enthält die nötigen Definitionen
für eine CAN-Message. Die Spalten in dieser Tabelle sind:
-
Nr
Laufende Nummer (Index) der Message. Läuft von Null bis zur maximalen
Anzahl geloggter Messages minus Eins.
-
Bus
1 = "Message soll von Bus 1 empfangen werden (erstes CAN-Interface)"
2 = "Message von Bus 2 ( = zweites CAN-Interface, falls vorhanen)"
-
CAN-ID
CAN-Message-Identifier in hexadezimaler Schreibweise. "0x" ist der Präfix
für hexadezimale Notation. 11-bit ID's enhalten drei Hex-Ziffern,
29-bit-ID's acht Ziffern.
-
Message Name
Wird normalerweise in dem Moment aus einer CANdb-Datei übernommen, in
dem Sie ein neues zu loggendes Signal auswählen für das noch keine
Message-Definition existier (siehe vorhergehendes Kapitel). Bei selbstdefinierten
CAN-Messages können Sie hier einen kurzen, beschreibenden Namen eingeben,
der weder Leerzeichen noch sonstige Sonderzeichen enthalten darf (nur Buchstaben
und den Unterstrich).
-
Sender (Node bzw "Knoten")
Identifiziert den diese Message sendenden Knoten. Zur Erinnerung:
ein Knoten kann mehrere Messages senden. Wie der Message-Name stammt
auch dieser Name normalerweise aus einer CANdb-Datei.
-
Intv.-Limit (Intervall-Limit,
Begrenzung des Schreibintervalls)
Ein neues Feature vom November 2005. In dieser Tabellenspalte können
Sie für jede CAN-Message eine individuelle Begrenzung des Schreibintervalls
beim Loggen definieren. Beispiel: Eine bestimmte CAN-Message wird einmal
pro Millisekunde auf dem CAN-Bus übertragen, Sie möchten diese
spezielle Message aber nur alle 200 Millisekunden aufzeichnen (um Platz auf
der Speicherkarte zu sparen). Tragen Sie zu diesem Zweck den Wert 200 in
der Spalte "Intervall-Limit" für diese bestimmte Message ein. Der Wert
Null bedeutet "für diese CAN-Message gibt es keine individuelle
Begrenzung des Schreibintervalls".
Der gleiche Parameter dient auch als Abtastintervall (=Kehrwert der Abtastrate)
für die Aufzeichnung von 'anderen Daten', zum Beispiel
berechnete numerische Ausdrücke
oder geloggte Script-Variablen.
Hinweis: Es gibt auch ein gemeinsam für
alle CAN-Messages
geltendes Schreibintervall auf der Registerkarte "Logger-Konfiguration".
Normalerweise wird diese Tabelle automatisch gefüllt, wenn Sie
zu loggende Signale auswählen. Weitere
Informationen zur manuellen Eingabe der oben beschriebenen Tabelle (z.B.
weil Ihnen keine CANdb-Datei zur Auswahl der geloggten Signale/Messages zur
Verfügung steht) finden Sie
hier.
Schalten Sie nun auf die Registerkarte "Logger-Konfiguration" (bzw.
Logger-Config) um. Dort sehen Sie weitere Einstellungen des CAN-Loggers in
verschiedenen Editierfeldern, Checkboxen, Combo-Listen usw. Passen Sie diese
ggf. an Ihre Anwendung an, und speichern Sie die geänderte Konfiguration
danach (das Utility fragt beim Programmende, wenn Änderungen gemacht
wurden die noch nicht gespeichert sind).
(Sreenshot "Logger-Konfiguration")
Die Bedienelemente auf dieser Registerkarte sind (hier z.T. mit englischer
Bezeichnung in Klammern):
-
Info string
Eine Zeichenkette aus bis zu 40 Buchstaben, die auf dem Display des Terminals
angezeigt werden kann. Verwenden Sie dazu die Interpreterfunktion
"logger.info" .
Im oberen Teil des Panels "Was soll geloggt werden ?" (what shall be logged) befinden
sich drei Buttons, von denen jeweils nur einer aktiv sein kann:
-
Nur die selektierten Signale aufzeichnen (only the selected
signals/messages)
Bei dieser Option schreibt der Logger nur die Signale mit, die auf der
Registerkarte "CANdb" (oder "Kein CANdb") ausgewählt wurden.
-
Alle von der Applikation empfangenen Signale aufzeichnen (all signals received
by the application)
Mit dieser Option werden alle Signale/Telegramme aufgezeichnet, die von der
Applikation ("Terminalprogramm") empfangen werden. Der Vorteil dieser Methode
ist, daß Sie für eine bestimmte Anwendung keine eigene
Logger-Konfiguration anlegen müssen. Stattdessen werden einfach alle
Signale aufgezeichnet, die während der Laufzeit auf dem Terminal angezeigt
wurden.
Hinsweis: Um diese Option verwenden zu können, wird Firmwarestand
2004-05-21 (oder später) benötigt.
-
Alle(!)
CAN-Message-Identifier aufzeichnen (Receive and log ALL CAN message
identifiers)
Hilfreich um den kompletten Verkehr auf einem CAN-Bus zu untersuchen. Nur
sinnvoll wenn die geloggten Dateien später in eine
Message-Liste konvertiert werden, die Umwandlung in eine
Signal-Liste macht wenig Sinn weil nur die wenigsten Signale in
den geloggten Telegrammen bekannt sein dürften !
Hinweis #1: Diese Option kann nicht mit der Option "Begrenzung des
Schreib-Intervalls" kombiniert werden ! Begründung:
siehe Anhang.
Hinweis #2: Selbstverständlich können mit dieser Option aufgezeichnete
Dateien nur dann in Signale konvertiert werden, wenn die zur Decodierung
der aufgezeichneten CAN-Message notwendigen Informationen vorhanden sind
!!! Siehe dazu auch die Hinweise zum Logfile-Konverter, Option
"Signaldefinitionen im Logfile
ignorieren, und stattdessem die Signaldefinitionen in der aktuellen Konfiguration
verwenden" .
Im unteren Teil des Panels "Was soll geloggt werden ?" können weitere Daten für die
Aufzeichnung aktiviert werden, nämlich:
In der Gruppe "Optionen":
-
Logfile als zirkularen Puffer verwenden (use logfile as circular FIFO, overwrite
old data)
Ist diese Option selektiert, arbeitet das Logfile wie ein FIFO-Puffer (first
in, first out), d.h. die ältesten Einträge werden überschrieben
sobald die Datei die Maximalgröße erreicht (oder die Speicherkarte
voll ist). Beim Schließen des Logfiles sind dann nur noch die "neueren
Daten" vorhanden. Wieviel genau, hängt an der maximalen Datei- oder
Laufwerksgröße ab.
Ist diese Option nicht selektiert, werden alte Daten im Logfile
nicht überschrieben. Stattdessem wird beim Erreichen
der maximalen Dateigröße ein NEUES Logfile mit einem anderen Namen
erzeugt, wie im Folgenden beschreiben wird (unter "Maximale Größe
einer Log-Datei").
Hinweis: Dies hat nichts mit dem Pretrigger zu
tun. Als Pretrigger-Speicher dient immer ein RAM-Puffer, um unnötigen
Verschleiß auf der Speicherkarte zu vermeiden, solange keine
"aufzeichnungswürdigen" Daten empfangen werden !
-
Neuer Dateiname bei jedem
Einschalten
Mit dieser Option verwendet der Logger einen neuen Dateinamen (mit
inkrementiertem Index) bei jedem neuen Einschalten des Gerätes. Mit
anderen Worten, eine neue Datei für jeden Systemstart (bzw "für
jede Testfahrt").
Andernfalls versucht der Logger beim Hochfahren die letzte schon vorhandene
Datei zu öffnen, um neue Daten an der letzten Schreibposition
anzuhängen (dies ist im Ringpuffer-Modus nicht unbedingt das Dateiende!).
Im FIFO-Modus werden dabei möglicherweise die ältesten Einträge
überschrieben.
Bitte beachten Sie, daß hochauflösende Zeitkanäle ohne diese
Option nicht monoton steigend sein könnten (Grund:
hier), was Probleme mit manchen Auswerteprogrammen
verursachen kann .
-
Neuer Dateiname bei jedem Trigger-Ereignis (neu, seit 08/2005)
Wenn diese Option selektiert ist, erzeugt der Logger jedesmal eine neue Datei
wenn der Triggerzustand von "AUS" nach "AN" umschaltet.
Andernfalls werden mehrere Triggerzyklen (Trigger AN -> Trigger AUS ->
Trigger AN) in einer einzigen Datei aufgezeichnet (die dann "Sprünge"
in der Zeitachse aufweist, womit manche Auswerteprogramme nicht klarkommen
! ).
-
Datei geöffnet lassen wenn Trigger "AUS"
Mit dieser Option wird das aktuelle Logfile offen gehalten, auch wenn die
Aufzeichnung aufgrund der Triggerbedingungen gestoppt wird. Dies spart Rechenzeit
beim Schliessen und Neu-Öffnen der Datei, wichtig bei hohem Datendurchsatz
oder kurzer Pretriggerphase.
Ohne diese Option wird das Logfile sofort geschlossen, wenn die Aufzeichnung
per Trigger abgeschaltet wird, und neu geöffnet wenn die Aufzeichnung
weiterlaufen soll. Verwenden Sie diese Option wenn der Trigger im Normalfall
"aus" ist, da dies das Risiko eines Datenverlustes beim plötzlichen
Ausfall beider Versorgungsspannungen verringert (siehe Hinweis zur
Spannungsversorgung ).
-
Paßwort und Verschlüsselung (use password and encryption)
Sie können die Logger-Konfigurations-Datei und den Kopf der geloggten
Dateien verschlüsseln, um die CAN-Konfigurationsdaten zu schützen.
Hintergrund : Einige Anwender waren nicht sehr glücklich mit der Ablage
der Informationen mit dem Aufbau ihrer CAN-Telegramme in einer leicht lesbaren
ASCII-Datei. Wenn ein Paßwort verwendet wird, werden auch alle Buchstaben
und Ziffern in der Datei verschlüsselt. Die Datei bleibt weiterhin eine
ASCII-Datei, sie wird lediglich "unlesbar", aber die Struktur bleibt
unverändert.
Weitere Einstellungen im Fenster "Logger-Konfiguration" :
-
Maximale Größe einer Log-Datei (maximum size of a single
logfile)
Der Wert Null bedeutet hier "unbegrenzte Dateigröße" (außer
der Begrenzung durch das Dateisystem und der Speicherkarte selbst). Ein Wert
größer als Null bedeutet, daß die maximale Größe
eines Logfiles auf diesen Wert begrenzt werden soll - üblicherweise
ein paar Megabyte. Das Verhalten des Loggers beim Erreichen dieser
Dateigröße hängt von der Option "Logfile als zirkularen Puffer
(FIFO) verwenden" ab (siehe Oben). Fungiert die Datei nicht als FIFO, wird
beim Erreichen der Maximalgröße das aktuelle Logfile geschlossen
und ein neues (mit neuem Namen) erzeugt. Dabei dienen die letzen beiden
Buchstaben im Dateinamen als
Sequenznummer,
z.B. wird erst canlog00.cld geschrieben, dann canlog01.cld, canlog02.cld
und so weiter. Dies ist hilfreich wenn Sie später nur einen Teil der
geloggten Daten von der Speicherkarte auf Ihren PC kopieren wollen - ein
500-Megabyte-Monster benötigt selbst mit einem schnellen Kartenleser
für den USB-Port schon etliche Minuten. Außerdem können kleinere
Einzeldateien bequemer per Email versendet werden...
-
Begrenzung
des Schreibintervalls (Limit write interval for messages)
Wenn Sie bereits beim Erstellen der Konfiguration wissen, daß sie keine
Millisekunden-Auflösung in den geloggten Signalen benötigen werden,
können Sie mit dieser Funktion das Datenvolumen start reduzieren. Wenn
Sie das Schreibintervall z.B. auf 100 Millisekunden bregenzen, wird eine
Message die auf dem Bus einmal pro Millisekunde übertragen wird, nur
zehnmal statt tausendmal pro Sekunde aufgezeichnet. Dadurch verringert sich
der Platzbedarf auf der Flash-Speicherkarte erheblich, und die Umwandlung
der geloggten Dateien in andere Formate wird schneller. Außerdem bleibt
der CPU erheblich mehr Zeit für ihre normalen Aufgaben im Terminal
(Anzeigeprogramm!).
Siehe auch: Schreib-Intervall
des CAN-Logfile-Konverters.
Vorsicht: Diese Option kann nicht mit der Option "ALLE CAN-Message-Identifier
aufzeichnen" kombiniert werden ! Begründung:
Siehe Anhang.
Hinweis: Seit November 2005 besteht auch die Möglichkeit, für jede
geloggte CAN-Message individuelle
Schreib-Intervall-Begrenzungen zu definieren.
Die Triggerbedingungen werden auf einer
anderen Registerkarte definiert !
In manchen Anwendungen soll die Aufzeichnung erst starten, wenn bestimmte
Bedingungen erfüllt sind. Im einfachsten Fall startet die Aufzeichnung
aber sofort. Generell wird die Entscheidung "aufzeichnen oder nicht
aufzeichnen" durch den Trigger des CAN-Loggers gesteuert. In diesem
Kapitel werden zunächst die Grundlagen des Triggers erklärt,
später wird die Konfiguration des Triggers mit dem Logger-Konfigurationstool
vorgestellt.
Der CAN-Logger wird von einem Automaten gesteuert, dessen Zustand mit der
Interpreterfunktion logger.state ausgelesen werden kann (falls
der CAN-Logger Teil eines Gerätes mit Anzeige ist):
Die verschiedenen
Zustände des
Loggers sind:
Gestoppt
(stopped)
-
Der Logger (!) ist passiv und verbraucht keine nennenswerte CPU-Leistung
-
Telegramme werden nicht in den Pretrigger-/Schreib-Puffer kopiert
-
Alle Logfiles auf der Speicherkarte sind geschlossen
-
Die Trigger-Signale werden nicht decodiert, die Trigger-Bedingungen werden
nicht durchgerechnet
Aktiv aber
nicht getriggert (engaged)
-
Der Logger ist beschäftigt mit dem Empfang von CAN-Telegrammen, und
deren Analyse. Die Auslastung der CPU ist in diesem Zustand schon etwas
höher als im gestopptem Zustand.
-
Logfiles auf der Speicherkarte sind möglicherweise schon geöffnet,
aber -bis auf eine seltene Ausnahme- werden noch keine Daten auf die Karte
geschrieben.
-
Die Trigger-Bedingungen werden ständig durchgerechnet um eine mögliche
"START"-Bedingung zu erkennen. Sobald diese erkannt wird, schaltet der Logger
in den Zustand getriggert um.
Getriggert
(triggered)
-
Der Logger ist mit dem Empfangen und Analysieren von CAN-Telegrammen
beschäftigt. Die Auslastung der CPU ist noch höher als im Zustand
"engaged".
-
Empfangene Telegramme werden erst im RAM zwischengepuffert, und dann vom
RAM auf die Speicherkarte übertragen.
-
Die Trigger-Bedingungen werden weiterhin durchgerechnet um eine mögliche
"STOP"-Bedingung zu erkennen. Wird eine STOP-Bedingung erkannt während
der die START-Bedingung false ist, schaltet der Logger
von getriggert zurück nach engaged (aber nicht
nach gestoppt !).
-
Hinweis: Die Post-Trigger-Phase ist fast dasselbe
wie der Zustand 'getriggert'. Ein Unterschied ist der von der Interpreterfunktion
logger.state gelieferte Wert.
Der Triggerzustand beim Einschalten wird auf der Registerkarte
Trigger-Optionen eingestellt.
Die Zustandsübergänge zwischen den oben erläuterten
Triggerzuständen werden sowohl vom Logger selbst, aber auch per
Interpreterkommando ausgelöst. Eine komplette Liste der Kommandos zum
Steuern des Loggers finden Sie im Handbuch des Terminal-Programmiertools.
Hier nur ein kurzer Auszug:
-
logger.run
-
Aktiviert den CAN logger, löst aber noch nicht unbedingt das Trigger
aus (abhängig von der Konfiguration). Schaltet von 'stopped'
nach 'engaged', aber nicht von 'triggered' nach
'engaged'. Falls die Firmware sich weigert, in den Zustand 'engaged'
zu schalten, ist entweder etwas mit der Speicherkarte faul ;-) oder es fehlt
die Freischaltung der CAN-Logger-Funktionalität.
-
logger.stop
-
Stoppt den CAN-Logger. Die Logdatei auf der Speicherkarte wird geschlossen,
so daß Sie die Karte ohne Probleme entnehmen können. Es erscheint
kein Popup-Fenster (im Gegensatz zum Kommando 'card.remove'). Im gestoppten
Zustand werden auch die Triggerbedingungen nicht ständig durchgerechnet
(nach jedem Empfang einer CAN-Message mit Triggersignal), was eine Menge
CPU-Rechenzeit einsparen kann - das Anzeigeprogramm läuft u.U. dadurch
etwas "flüssiger".
-
logger.trigger(X)
-
Setzt das Trigger-Flag (X=1) und startet damit die Aufzeichnung, oder
löscht das Trigger-Flag (X=0) und unterbricht damit die Aufzeichnung.
Die Log-Datei wird aber noch nicht geschlossen. Zweck: Manueller Trigger
bzw. Trigger durch die vom Anwender erstellte Terminal-Applikation. Wenn
die Firmware sich weigert, Daten auf die Karte zu schreiben, obwohl das
Trigger-Flag gesetzt wurde: Vermutliche Ursache eine "unsichere
Versorgungsspannung", signalisiert duch power=0
(power-good-Flag nicht gesetzt). Beispiele:
logger.trigger(1)
: rem Start recording to the CF card
logger.trigger=1
: rem Same effect as above, only different
syntax
logger.trigger=0
: rem Stop recording, but keep buffering received
frames
Hinweis zu "logger.run" vs "logger.trigger":
Das Setzen des Triggers (logger.trigger=1) beinhaltet die Aktivierung des
Loggers (logger.run). Da allerdings noch keine Daten im Pretrigger-Puffer
gesammelt werden, solange der Logger nicht aktiviert ist, empfiehlt es sich,
den Logger schon per Konfiguration zu aktivieren, oder erst "logger.run"
und später "logger.trigger=1" auszuführen. In Kurzform:
Wenn Sie Pretrigger-Daten
benötigen, aktivieren Sie den Logger bevor Sie den Trigger auslösen
!
-
logger.state
-
Liefert den aktuellen Zustand des CAN-Loggers als numerischen Wert.
Mögliche Ergebnisse :
0 = "stopped" (Datei nicht geöffnet, Logger passiv, Puffer wird nicht
gefüllt, evtl. Problem mit Speicherkarte)
1 = "engaged" (Datei geöffnet, Logger aktiv, Puffer wird im Interrupt
gefüllt, aber noch kein Trigger)
2 = "triggered" (Datei geöffnet, Logger aktiv UND GETRIGGERT )
3 = "post-trigger" (Nach-Trigger-Aufzeichnung). Tritt nur auf wenn die
Post-Trigger-Zeit in der Logger-Konfiguration
auf einen Wert größer Null gesetzt wurde.
Hinweise und Tips:
-
Sie benötigen diese Interpreterkommandos nicht unbedingt, um dem CAN-Logger
/ Trigger zu steuern ! Im Normallfall arbeitet der Logger still im Hintergrund,
und Sie brauchen sich darum bei der Erstellung Ihres Anzeigeprogramms nicht
zu kümmern. Die Interpreterkommandos zum Steuern des Loggers wurden
nur für 'besondere' Zwecke implementiert, bei denen die eingebauten
Triggermöglichkeiten nicht ausreichen.
-
Weitere Interpreterkommandos zum Steuern der Loggers bzw Abfragen der
Speicherkarte finden Sie im Handbuch
zum Terminal-Programmiertool, z.B. :
card.insert (Aufforderung zum Einsetzen einer Speicherkarte), card.remove
(Aufforderung zum Entfernen der Karte), card.dspace (Ermittlung des gesamten
freien Speicherplatzes in kByte), ...
Pretrigger
Verwenden Sie diese Option, falls Sie sich für den Verlauf einiger Signale
*kurz vor* dem Triggerzeitpunkt ineressieren. Dies ist möglich, weil
der Logger alle empfangenen CAN-Telegramme erst in einem internen Puffer
aufzeichnet, auch wenn der Logger noch nicht getriggert ist. Wenn Sie den
Eintrag im Feld "Pretrigger" auf einen Wert größer Null setzen,
wird beim Auslösen des Triggers auch ein Teil der "alten" Einträge
aus dem RAM-Puffer mit auf die Karte geschrieben.
Hinweis: Abhängig von der Größe des RAM-Puffers, der im
Gerät zur Verfügung steht, und der CAN-Message-Rate ("Messages
pro Sekunde"), wird die Firmware möglicherweise nicht in der Lage sein
die gewünschte Tiefe des Pretriggers (in Sekunden) zu realisieren. Die
Pufferkapazität, die als Pretrigger-Speicher eingesetzt werden kann,
beträgt maximal etwa 3000 Telegramme.
Posttrigger
Um auch ein paar Sekunden nach dem Erkennen der Trigger-Stop-Bedingung
aufzuzeichnen, setzen Sie das Feld "Post-Trigger" im Logger-Konfigurations-Tool
auf einen Wert größer Null (dies ist dann die gewünschte
Post-Trigger-Tiefe in SEKUNDEN, 0 bedeutet "keine Post-Trigger-Aufzeichnung").
Ohne Post-Trigger stoppt die Auszeichnung spätestens 10 Millisekunden
nach Erkennen der Trigger-STOP-Bedingung. Mit Post-Trigger können Sie
bis zu 327 Sekunden nach Erkennen der Stop-Bedingung aufzeichnen. Die interne
Funktion des Post-Triggers unterscheidet sich wesentlich vom Pre-Trigger;
es gibt beim Post-Trigger keine Begrenzung der Aufzeichnungsdauer durch den
RAM-Puffer ! Die maximale Post-Trigger-Dauer von 327 Sekunden liegt an der
Breite des intern verwendeten Timers (2^15 * 10 ms).
Dieses Kapitel bezieht sich nur auf das ältere "MKT-View I" (mit 16-bit
CPU) !
Falls Sie das neuere MKT-View II mit 32-bit CPU (ARM-7) einsetzen, definieren
Sie die Triggerbedingungen wie im
folgenden Kapitel beschrieben !
Beim MKT-View I können bis zu vier Signale als Trigger-Quellen verwendet
werden. Die Trigger-Bedingungen werden auf einer speziellen Registerkarte
des Logger-Utilities eingestellt :
(screenshot "trigger conditions", blue marks explained below)
Die Bestandteile einer Trigger-Definition sind:
-
1 = Trigger-Signal (Quelle)
-
Die Liste in dieser Combo-Box enthält alle möglichen
Triggerquellen. Im Kopf steht die derzeit gewählte Quelle.
Wenn die Liste leer ist: siehe
Unten.
-
2 = Vergleichs-Operator
-
Mögliche Vergleichsoperationen sind : <, >, <=, >= (kleiner,
größer, kleiner gleich, größer gleich)
-
3 = Vergleichswert
-
Geben Sie hier einen numerischen Wert ein. Das Format entspricht dem
skaliertem Wert des Triggersignals. Aber Vorsicht:
Der Trigger arbeitet Firmware-intern nur mit CAN-Rohdaten ! Vermeiden Sie
daher Werte wie z.B. 0.5, wenn das Signal nur die Werte 0 oder 1 annehmen
kann (1-Bit-Signal).
-
4 = Innere boolesche Verknüpfung
-
Die beiden Vergleiche einer Triggerquelle können logisch UND - oder
ODER - kombiniert werden.
-
5 = Äußere boolesche
Verknüpfung
-
Definiert wie die zwei Bedingungen miteinander kombiniert werden können.
Beispiel: Der Logger kann gestartet werden, wenn BEIDE Bedingungen WAHR sind
(UND-Verknüpfung, engl. AND), oder wenn irgendeine der Bedingungen WAHR
ist (ODER-Verknünfung, engl. OR). Wenn Sie den zweiten Teil der Bedingung
nicht brauchen, setzen Sie die äußere Verknüpfung auf "--".
Normalerweise wird für den Trigger eine START-Bedingung und eine
STOP-Bedingung definiert. Falls Sie keine STOP-Bedingung benötigen,
können Sie Zeilen 5...8 in der Trigger-Definitions-Tabelle auch als
Satz von zusätzlichen START-Bedingungen verwenden. Achtung: Der Wegfall
der "START"-Bedingung bedeutet nicht automatisch "STOP", dies kann aber durch
entsprechende Programmierung der STOP-Bedingung erreicht werden. Besser ist
es, zwischen "Start" und "Stop" eine gewisse Hysterese einzubauen, besonders
wenn die Triggerquellen analoge Signale sind.
Die vier Triggerquellen sind immer SIGNALE, die per CAN-Bus empfangen werden.
Die Combo-Boxen werden immer mit den Namen der geloggten Signale gefüllt,
um die Auswahl zu erleichtern. Falls die
Listen in den
Combo-Boxen leer sind, müssen Sie erst noch ein paar zu loggende
Signale auf der Registerkarte CANdb
auswählen, bevor Sie die Triggerbedingungen definieren !
Hinweise:
-
Sie brauchen nicht alle Trigger-Definitionen zu nutzen. Setzen Sie alle nicht
benötigten Triggersignale auf "--unused--" in den Trigger-Signal-Quellen
(1) . Wenn Sie nur eine einzige
Trigger-Start-Bedingung benötigen (z.B. Thermo1 < 1.1),
benötigen Sie auch keine logischen Verknüpfungen. Im einfachsten
Fall kommen Sie sogar ganz ohne Trigger-Bedingungen aus, wenn Sie den Wert
von "Triggerzustand bei Start" auf der Registerkarte
Logger-Konfiguration auf
"getriggert" setzen.
-
Die logische UND-Verknüpfung liefert den Wert TRUE ("wahr") wenn
beide Eingänge TRUE sind; in allen anderen Fällen
liefert sie den Wert FALSE. Wenn die Vergleichsoperatoren und Vergleichswerte
ungeschickt miteinander kombiniert werden, könnte dies zur Folge haben
daß die UND-Verknüpfung niemals den Wert "TRUE"
liefert, zum Beispiel "(X<7) AND (X>8)". Das Utility versucht solche
Situationen zu erkennen und zeigt gegebenenfalls eine Warnung (in roter Schrift)
an, falls dies passieren könnte (wie im oben abgebildeten Bildschirmfoto).
-
Die logische ODER-Verknüpfung liefert den Wert TRUE wenn
irgendeiner der beiden Eingänge, oder beide Eingänge
TRUE sind; den Wert FALSE liefert sie nur wenn beide
Eingänge FALSE sind. Wenn die Vergleichsoperatoren und Vergleichswerte
ungeschickt miteinander kombiniert werden, könnte dies dazu führen
daß die ODER-Verknüpfung immer den Wert TRUE liefert,
zum Beispiel : "(X<8) OR (X>7)". Das Utility versucht, auch solche
Situationen zu erkennen und zeigt ggf. eine Warnung an.
-
Wenn sowohl START- und STOP-Bedingung gleichzeitig TRUE sind, wird der Logger
getriggert ("die START-Bedingung ist stärker als die STOP-Bedingung").
Wenn weder START- noch STOP-Bedingung TRUE sind, bleibt der Logger in seinem
momentanen Zustand.
Die Trigger-Eingänge werden wie im folgenden
Schaltplan dargestellt miteinander kombiniert.
Der Trigger besteht natürlich aus einem Mikrocontroller-Programm, nicht
aus einer Handvoll Logikgatter ! Beim MKT-View 2 (und späteren
Geräten) ist zusätzlich noch eine Flankenauswertung integriert
- siehe Trigger-Optionen .
Jede der vier Triggerquellen (Eingangsvariablen V1..V4) wird mit je zwei
Konstanten (C1...C8) verglichen. Die Vergleichsergebnisse können individuell
selektiert werden. Zur Verfügung stehen die Vergleicherausgänge
'kleiner' (<), 'kleiner oder gleich' (<=), 'größer' (>),
oder 'größer oder gleich' (>=), die mit den Schaltern
CO1...CO8 selektiert werden.
Im nächsten Verarbeitungsschritt werden die Vergleicherausgänge
in zwei Stufen miteinander kombiniert, wobei jeweils zwischen UND- und
ODER-Verknüpfung gewählt werden kann. Die miteinander verknüpften
Ergebnisse sind im oben gezeigten Diagramm als Start und
Stop bezeichnet. Sie sind die Eingänge für ein
Set/Reset-Flipflop mit der folgenden Wahrheitstabelle:
START |
STOP |
neuer Triggerzustand |
0 |
0 |
KEINE ÄNDERUNG |
0 |
1 |
nicht getriggert (engaged) |
1 |
0 |
getriggert |
1 |
1 |
getriggert (!) |
Im Normalfall arbeitet der Trigger (wie in der Wahrheitstabelle abgebildet)
zustandsgesteuert. Alternativ kann er mit den im folgenden Kapitel
beschriebenen Trigger-Optionen auch
flankengesteuert arbeiten.
Beachten Sie: Wenn sowohl START=1 als auch STOP=1 sind, startet der Trigger !
Dieses Kapitel bezieht sich nur auf die neueren MKT-View-Geräte (II/III/IV) mit 32-bit CPU !
Falls Sie noch das ältere "MKT-View I" (mit 16-bit CPU) einsetzen, definieren
Sie die Triggerbedingungen wie im vorhergehenden Kapitel beschrieben wurde !
Beim MKT-View II können bis zu zehn (?) Triggersignale definiert werden.
Jedes dieser Triggersignale kann wahlweise als START- oder STOP-Bedingung
eingesetzt werden. Die Definition erfolgt (im Gegensatz zum "alten" MKT-View)
in einer Tabelle.
Hinweis: Vor der Auswahl von Triggersignalen muss mindestens eine CANdb-Datei
importiert werden, und die zu loggenden
Signale ausgewählt werden. Nur Signale, die geloggt werden, können
auch als Trigger verwendet werden.
Die Spalten in der Trigger-Definitions-Tabelle haben folgende Bedeutung:
-
Line : Zeilennummer.
-
Action/Op (Aktion oder logischer Verknüpfungsoperator)
START : In dieser Zeile wird eine neue START-Bedingung definiert
STOP: In dieser Zeile wird eine neue STOP-Bedingung definiert
OR : Diese Zeile wird mit der vorhergehenden Zeile logisch
"ODER"-verknüpft
AND: Diese Zeile wird mit der vorhergehenden Zeile logisch
"UND"-verknüpft
Hinweis:
-
Bei der Verknüpfung der Triggersignal gibt es keine Priorität
(d.h. kein "UND vor ODER"). Die Verknüpfung erfolgt immer in
der Reihenfolge, in der die Signale in der Tabelle definiert sind.
-
Ist in der Trigger-Tabelle keine einzige STOP-Bedingung definiert, so verwendet
der Logger die Negation der START-Bedingung als STOP.
-
IF.. : Die öffnende Klammer in dieser Spalte markiert den Beginn einer
Vergleichsoperation
-
Signal : Name des Signals (Triggerquelle).
Zum Auswählen per Mausklick die Combo-Box öffnen. Dort sind alle
als Triggerquelle verwendbaren Signale aufgelistet (eventuell auch
Triggerquellen, die keine CAN-Signale sind; z.B. eine "Trigger-Taste").
-
Comp (Comparator) : Vergleichsoperator.
Zur Verfügung stehen "<" (kleiner als), "<=" (kleiner oder gleich),
">" (größer), ">=" (größer oder gleich).
Zusätzlich (nur für MKT-View II mit Firmware-Datum 2009-01-08
oder später) :
"==" (gleich), "!=" (ungleich), "&" (bitweise UND-Verknüpfung, hier
zum Testen einzelner Bits verwendbar)
Hinweis: Bei Signalen, die per Skalierungsfaktor in eine Fliesskommazahl
umgewandelt werden, sollten die Vergleichsoperatoren "gleich" und
"ungleich"aufgrund Rundungsfehlern vermieden werden.
-
Reference Value : Vergleichswert .
(Bei der Erstellung dieses Dokumentes musste der Vergleichswert immer eine
Konstante sein)
Tip: Beim "MKT-View II" können Sie den aktuellen Zustand der Triggersignale
während des Betriebs kontrollieren. Rufen Sie dazu im
Systemmenü des Terminals, oder im
Shutdown-Dialogfenster die Funktion "CAN-Logger" bzw "CAN logger config"
auf. Dort wählen Sie "Trigger Settings"..."Show Trigger Conditions".
Sie erhalten eine Anzeige aller Triggersignale (ähnlich der oben
abgebildeten Tabelle), in der zusätzlich die aktuellen Werte der
Triggersignale (Spalte "SigValue", falls das Signal seit dem Start schon
empfangen wurde), und das Ergebis des Vergleiches (Spalte "Result") angezeigt
werden:
Auf dieser Seite wird auch die kombinierte Start- und Stop-Bedingung
angezeigt (d.h. nach den logischen UND / ODER-Verknüpfungen), sowie
der aktuelle Zustand des Loggers ( LoggerState = passive / enaged / triggered
/ post-trigger ).
< genaue Beschreibung noch in Vorbereitung ... >
Die folgenden Trigger-Optionen können auf der Registerkarte
"Trigger-Optionen" des Logger-Konfigurationstools eingestellt werden :
-
Triggerzustand
bei Start (initial trigger state)
Definiert den Zustand des Triggers nach dem Einschalten, bzw. solange noch
kein Triggersignal vorliegt, wie im Kapitel
Der Trigger-Automat beschrieben.
Wird der Startzustand auf "Getriggered" gesetzt, beginnt die Aufzeichnung
direkt nach der Initialisierung des Terminls (bzw. direkt nach power=1),
als ob die Auswertung der Triggerbedingungen den Wert sofort den Wert "TRUE"
ergeben hätte. Andernfalls startet die Aufzeichnung erst, wenn die auf
der Registerkarte "Trigger" definierten
Startbedingungen den Wert TRUE ergeben.
-
Pretrigger (sec.)
Definiert wie viele Sekunden die Aufzeichnung VOR dem Trigger-Ereignis umfassen
soll. Beachten Sie, daß die Pretrigger-Phase auch kürzer werden
könnte, abhängig von der CAN-Message-Rate (Messages pro Sekunde)
und der internen Puffergröße. Beim "alten" MKT-View (1) konnten
z.B. maximal 3000 Telegramme im RAM zwischengespeichert werden, daraus ergibt
sich bei einer Message-Rate von 1000 Telegrammen pro Sekunde eine
Pretrigger-Tiefe von maximal 3 Sekunden !
Der Wert Null bedeutet "kein Pretrigger".
-
Post-trigger (sec.)
Definiert wie viele Sekunden die Aufzeichnung noch nachlaufen soll, nachdem
eine Trigger-Stop-Bedingung erkannt wurde. Bis zu 327 Sekunden
"Nach-Trigger"(Post-Trigger)-Daten sind möglich. Der Wert Null bedeutet
keine Post-Trigger-Daten aufzeichnen.
-
Trigger durch STEIGENDE FLANKE der
Startbedinungen
Mit dieser Option wird die Aufzeichnung durch eine steigende Flanke der
(kombinierten) Triggerbedingungen gestartet.
Mit anderen Worten: Die Aufzeichnung wird nur in dem Moment gestartet, in
dem die Triggerbedinung von FALSE auf TRUE wechselt, aber nicht, wenn
die Startbedingung schon lange TRUE war.
Ist diese Option nicht aktiv, startet die CAN-Logger-Aufzeichnung
zustandsgetriggert .
-
Trigger durch FALLENDE FLANKE der Startbedingungen
Aufzeichnung startet wenn die (kombinierten)
Startbedingungen(*) von TRUE nach FALSE wechseln. Kann mit
der vorhergehenden Option kombiniert werden, um auf beide Flanken der
Startbedingungen zu triggern (steigend+fallend).
-
Stop durch STEIGENDE FLANKE der Stopbedingungen
Aufzeichnung beenden, wenn die (kombinierten)
Stopbedingungen von TRUE nach FALSE wechseln. Ohne diese
Option arbeiten die Stop-Bedingungen zustandsgesteuert.
-
Stop durch FALLENDE FLANKE der Stopbedingungen
Aufzeichnung beenden, wenn die (kombinierten) Stopbedingungen von FALSE nach
TRUE wechseln. Kann mit der vorhergehenden Option kombiniert werden, wenn
die Aufzeichnung bei jeder Flanke (steigend oder falled) beendet werden soll
.
-
NUR Pre- und Post-Trigger-Phase verwenden (zeitlich begrenzte Aufzeichnung)
Sollte nur in den flankengetriggerten Modi verwendet werden. Mit dieser Option
wird die Aufzeichnung (das Logfile) nur einige Sekunden vor, und einige Sekunden
(oder Minuten) nach dem Trigger-Ereignis enthalten. Pro Trigger-Event erfolgt
daher nur eine zeitlich begrenzte Aufzeichnung.
Verwenden Sie diese Option z.B., wenn das Triggersignal nur einmal von "low"
nach "high" wechselt (und danach "ewig" in diesem Zustand verharrt), Sie
aber nur eine Aufzeichnung kurz vor und nach dem low->high-Übergang
benötigen um Speicherplatz zu sparen. Die Aufzeichnungsdauer vor der
Triggerflanke ist das Pretrigger-Intervall
, die Aufzeichnungsdauer nach der Flanke ist das
Post-Trigger-Intervall . Beispiel für
eine rein flankengesteuerte Triggerung, bei der 10 Sekunden vor, und 20 Sekunden
nach dem Trigger-Ereignis (d.h. steigende Flanke der kombinierten
"Start-Bedingungen") aufgezeichnet werden :
(Beispiel für flankengetriggerte Aufnahme mit zeitlich begrenzter
Aufzeichnung)
(*) Hinweis: Die Bezeichnung "steigende" / "fallende" Flanke bezieht sich
auf die Trigger-Bedingungen (TRUE/FALSE), nicht auf die
Trigger-Signale ! Falls Sie diesen kleinen aber wichtigen Unterschied
nicht verstehen, finden Sie den Unterschied im
Schaltplan des Trigger-Blocks : Die
Trigger-Signale sind die Eingänge auf der linken Seite, die
Trigger-Bedingungen befinden sich weiter rechts (beschriftet mit
"Start" und "Stop").
Inhalt
Die nachfolgend beschriebenen "Spezialitäten" sind i.A. Sonderfunktionen,
die für bestimmte Anwendungen in der Firmware und im Logger-Tool
implementiert werden mußten. Im Normalfall werden Sie diese nicht
benötigen - und können dieses Kapitel daher problemlos
überspringen.
Wenn erforderlich, können auch CAN-Telegramme(!) aufgezeichnet werden,
die *nicht* in einer CANdb-Datei definiert sind. Dies kann als Notbehelf
verwendet werden, wenn überhaupt keine CANdb-Datei zur Verfügung
steht.
Hinweis: Die Telegramme, die so definiert wurden, können später
nicht in einzelne Signale zerlegt werden ! Daher macht die Definition eigener
Telegramme in der oben gezeigten Tabelle nur Sinn, wenn Sie die Analyse
später als Liste von CAN-Messages (nicht als
Signale) in hexadezimaler Form durchführen wollen. Die Definition
eigener Signale ist nicht möglich - dazu gibt es verschiedene, sehr
ausgefeilte CANdb-Editoren am Markt.
Bestimmte Terminals (z.B. "MKT-View") verfügen über einen eingebauten
NMEA-Decoder, mit dem Daten von einem externen GPS-Empfänger verarbeitet
werden können. Falls diese Funktion verfügbar (und freigeschaltet)
ist, können die GPS-Daten zusammen mit den CAN-Daten vom Logger
aufgezeichnet werden. Selbstverständlich ist dazu ein geeigneter
GPS-Empfänger mit RS-232-Schnittstelle ("GPS-Maus") erforderlich. Manche
GPS-Empfänger erfordern beim Einschalten eine spezielle
Initialisierungssequenz; stellen Sie also sicher daß der Empfänger
korrekt initialisiert wurde und das Terminal die korrenten
Schnittstellenparameter verwendet (dies kann mit den "gps"-Kommandos im
Anzeigeprogramm erledigt werden, die allerdings nicht Gegenstand dieser
Dokumentation sind). Hier nur ein Beispiel, der Code zur Initialisierung
wird normalerweise in den "lokalen Events" auf Seite 0 eingefügt:
gps.baud=9600 : gps.prot="NMEA" : gps.cfg=1 : rem Init GPS-mouse, 1 Hz
Um mit dem CAN-Logger auch GPS-Daten aufzuzeichnen, setzen Sie die Option
"Daten vom GPS-Empfänger aufzeichnen" auf der Registerkarte
Logger-Konfiguration des Konfigurationstools.
Diese Einstellung wird dann dauerhaft in der Logger-Konfigurationsdatei
(logger.clc) gespeichert.
Alternativ kann das Aufzeichnen von GPS-Daten auch im Systemmenü des Terminals(!)
ein- und ausgeschaltet werden (wählen Sie dazu "CAN logger config" ...
"Buffer/Mode settings" ... "Record GPS (nav) data", und setzen den Parameter
auf TRUE =aktiv or FALSE=passiv. Vergessen Sie nicht, die geänderte
Konfiguration anschließend abzuspeichern ! ).
Zum Exportieren der GPS-Daten in andere Formate befindet sich im
CAN-Logfile-Konverter eine spezielle Registerkarte namens
"GPS" .
Zusätzlich zur Aufzeichnung von CAN-Telegrammen können mit dem
Logger im MKT-View-Terminal auch "andere" Daten aufgezeichnet werden. Zu
diesem Zweck können in der unten gezeigten Tabelle bis zu 8 (?) numerische
Ausdrücke eingegeben werden. Diese werden dann später beim Betrieb
des Loggers einmal pro Schreibintervall berechnet
(bzw. aus der entsprechenden Variablen kopiert) und im Logfile gespeichert.
Die so definierten Werte werden im Logfile gespeichert, wenn sich diese seit dem letzten
Abtastintervall geändert haben. Das Abtast- bzw. "Aktualisierungsintervall"
liegt im MKT-View III/IV bei circa 10 ms (Millisekunden), beim MKT-View II bei 100 ms.
Wird die CPU allerdings vom Display-Interpreter oder vom Script für längere Zeit
blockiert, dann verlängert sich auch das Abtastintervall entsprechend. Auf die
Aufzeichnung von CAN-Telegrammen hat dieses Abtastintervall keinen Einfluss.
Beachten Sie das im Interpreter fest eingebaute Funktionen immer mit einem Kleinbuchstaben
beginnen, anwenderdefinierte Variablen dagegen immer mit einem
Großbuchstaben ! Weitere Informationen über numerische Ausdrücke
finden Sie im Handbuch des Terminal-Programmiertools im Kapitel "Interpreter".
Die Definitionstabelle für numerische Ausdrücke steht auf der
Registerkarte "KEIN CANdb" im CAN-Logger-Utility. Im oben gezeigten Beispiel
werden die folgenden Werte aufgezeichnet: Der erste Analogeingang des Terminals
(ain1), die Versorgungsspannung des Terminals ( sys.vsup, hier in Volt
umgerechnet), die Terminal-interne Temperatur (sys.temp, hier als
Fließkommawert in Grad Celsius umgerechnet), die Nummer der aktuellen
Anzeigeseite (pn), und die Anzahl "verlorener" Telegramme (logger.lost).
Diese Werte werden später bei der Konvertierung des Logfiles in
zusätzlichen Spalten (nach den CAN-Signalen) abgelegt. Falls kein "Name"
für einen berechneten Wert in der Tabelle definiert wird, wird der
numerische Ausdruck selbst als Spaltenname verwendet, was je nach
Spalten-Trennzeichen in der exportierten
ASCII-Datei zu Problemen führen könnte.
Die min- und max-Werte werden momentan einfach nur "durchgeschleust", und
-möglicherweise- für die Skalierung der graphischen Vorschau verwendet.
Die geloggten Werte werden *nicht* auf den angegebenen Bereich begrenzt
!
Hinweise: Weil die Auswertung der numerischen Ausdrücke per Interpreter
relativ rechenintensiv sein kann, darf das Abtastintervall für die
numerischen Ausdrücke nicht unter 100 Millisekunden liegen. Die Aufzeichnung
der so berechneten Werte ist nur sinnvoll, wenn der
Ausgabe-Typ bei der Konvertierung der
Logdateien auf 'Signale' gesetzt wird (nicht Messages !).
Seit Januar 2014 können, falls in der oben beschriebenen Tabelle mit "anderen" aufzuzeichnenden Daten
noch Einträge frei sein, mit dem CAN-Logger auch
Script-Variablen
aufgezeichnet werden. Dazu ...
- müssen die zu loggenden Variablen im Script mit dem Attribut 'logged:' deklariert sein;
- muss in der Logger-Konfiguration unter 'Was soll geloggt werden' die Option "+ als 'logged' deklarierte Script-Variablen" gesetzt sein;
- muss in der oben gezeigten Tabelle mit 'anderen aufzuzeichnenden Werte' noch ausreichend viel Platz sein
- sollte die Abtastrate (Kehrwert des 'Schreib-Intervalls') auf der Registerkarte 'Logger-Optionen' auf einen sinnvollen Wert gesetzt sein
Beim Einlesen der Logger-Konfigurationsdatei werden die Namen der entsprechenden Script-Variablen
als 'Name' automatisch in die Signaltabelle übernommen (nach den in der Tabelle manuell eingetragenen
numerischen Ausdrücken).
Die Namen der mitzuloggenden Script-Variablen brauchen daher nicht extra im CAN-Logger-Utility
eingegeben werden - es reicht, diese im Script-Quelltext entsprechend zu deklarieren.
Siehe auch: Handbuch zur Script-Sprache (pdf, online) .
Inhalt
Nach der Definition aller zu loggenden Signale, des Triggers und anderer
Einstellungen muß die Konfiguration des Loggers in einer Datei gespeichert
werden (*.CLC = Can Logger Configuration) gespeichert werden. Auf der
Speicherkarte, die später im Logger eingesetzt wird, muß diese
Datei den Namen LOGGER.CLC haben damit sie beim Hochfahren des Loggers
automatisch automatisch von der Compact Flash Memory Card gelesen wird.
Um das Abspeichern der Konfiguration am geeigneten Speicherort zu vereinfachen,
können Sie das Zielverzeichnis auf der Registerkarte
Einstellungen des Logger-Utilities so einstellen, daß
die Konfigurationsdatei direkt auf der Speicherkarte abgelegt wird
(vorausgesetzt, Sie haben einen geeignetes
Speicherkarten-Laufwerk an oder
in Ihrem PC installiert). Wie dies gemacht wird, folgt im nächsten Kapitel.
Bei geänderter Konfiguration fragt das Utility beim Programmende, ob
die Konfiguration als Datei gespeichert werden soll. Wenn Sie zu diesem Zeitpunkt
die Speicherkarte im passenden Laufwerk haben, beantworten Sie die Frage
mit "Ja", und die geänderte Konfiguration wird ohne weitere Nachfragen
direkt auf der CF-Karte gespeichert. Sie können dann -nach Wechsel der
Karte in den Logger- sofort mit der neuen Konfiguration arbeiten.
Auf der Registerkarte Einstellungen des Logger-Utilities
können Sie die Default-Verzeichnisse für verschiedene Dateitypen
eingeben, die Sie bei der Arbeit mit dem CAN-Logger häufig benötigen
:
(screenshot "directories")
Hinweis: Auf dem PC des Autors ist Laufwerk "I:\" das CompactFlash-Laufwerk.
Dies wird auf Ihrem PC mit hoher Wahrscheinlichkeit anders sein !
Um die Datei- bzw. Verzeichnisnamen zu ändern, kann der Name direkt
in das Editierfeld eingegeben werden oder per Klick auf einen der
"..."-Buttons ein Auswahldialog geöffnet werden. Die folgenden Fehler
können in der Gruppe "Verzeichniss" (Directories) modifiziert werden
:
-
CAN-Logfiles
-
Dies ist das Default-Verzeichnis, in dem Sie Logdateien auf Ihrem PC ablegen.
Sie könnten hier auch Ihr Speicherkarten-Laufwerk angeben, um bei der
Konvertierung direkt von der Karte zu lesen, wir raten aber davon ab. Die
Dateiumwandlung läuft erheblich schneller, wenn die Log-Dateien nicht
vom CompactFlash-Laufwerk gelesen werden sondern von der Festplatte. Kopieren
Sie die Logfiles daher besser erst auf die Festplatte, und geben Sie in diesem
Editierfeld das Verzeichnis Ihrer "kopierten" Log-Dateien an.
-
Logger-Konfig
-
Zugriffspfad und Name der Logger-Konfigurations-Datei. Um das Abspeichern
der geänderten Konfiguration zu vereinfachen, können Sie hier den
Laufwerksbuchstaben ihres CompactFlash Memory Card Readers eingeben (s.O.).
-
CANdb-Dateien
-
Dies ist das Default-Verzeichnis aus dem CANdb-Dateien importiert werden
-
Exportiert
-
In diesem Verzeichnis werden die konvertierten Log-Dateien abgelegt
("exportiert").
Inhalt
Der CAN-Logger kann in zwei Grund-Betriebsarten verwendet werden:
-
Aufzeichnen 'aller' empfangenen Telegramme, unabhängig von deren
ÜbertragungsZYKLUS.
Vorteil: Message-Timing und maximale Message-Rate ("msgs pro Sekunde")
können bestimmt werden.
Nachteil: Nicht berechenbare Aufzeichnungsdauer. Gefahr der Überlastung
bei zu hoher Message-Rate.
-
Begrenzung der Aufzeichnung auf eine maximale Abtastrate (pro Message-ID)
Vorteil: Die maximale Aufzeichungsdauer (in Stunden) kann berechnet werden.
Geringe Gefahr der System-Überlastung.
Nachteil: Die zeitliche Auflösung des "Kurvenverlaufes" ist begrenzt,
z.B. auf 10 oder 100 Millisekunden.
Die zu loggenden CAN-Messages müssen in beiden Fällen vorher mit
dem Logger-Konfigurations-Utility selektiert werden (wie in einem
anderen Kapitel bereits beschrieben).
Die zu loggenden Signale werden z.B. aus CANdb-Dateien gewählt.
Das Konfigurationt-Utility hat daraus eine Konfigurations-Datei erstellt,
die der Logger beim Initialisieren einliest. Die folgenden Schritte werden
bei einem kompletten Arbeitszyklus mit Loggen und Analysieren durchlaufen
:
-
Erstellen einer Logger-Konfigurations-Datei wie
hier beschrieben. Dazu gehört die Auswahl
was eigentlich geloggt und später analysiert werden soll !
-
Kopieren der Logger-Konfigurations-Datei auf eine Compact Flash Memory Card
(oder direktes Abspeichern der Konfiguration
auf der Speicherkarte mit dem Utility)
-
CAN-Logger abschalten (unter Beachtung der power-down-Sequenz)
-
Einführen der Speicherkarte in den CompactFlash-Slot des Loggers
-
Verbinden des Loggers mit dem CAN-Bus
-
CAN-Logger einschalten
- (nur beim 'alten' MKT-View I "Plus"):
Das Flag "power=1" im Terminal-Programm
setzen
(per Interpreter, und zwar erst wenn die Versorgungsspannung WIRKLICH "sicher"
ist).
-
Den Logger loggen lassen (getriggered oder ungetriggert "sofort" starten)
- (nur beim 'alten' MKT-View I "Plus"):
Das Flag "power=0" setzen falls die Gefahr
besteht, daß beide Versorgungsspannungen gleichzeitig abgeschaltet
werden oder unter 9 Volt fallen
-
Den CAN-Logger abschalten (unter Beachtung der power-down-Sequenz)
-
Speicherkarte aus dem Logger nehmen und ins PC-Kartenlaufwerk einsetzen
-
Den Logfile-Konverter starten und die Logfiles in ein Format Ihrer Wahl
umwandeln
(wird in einem der folgenden Kapitel
beschrieben)
-
Die konvertierten Log-Dateien in ein Analyseprogramm Ihrer Wahl laden und
dort auswerten
Die Logger-Konfiguration wird in einer Textdatei namens LOGGER.CLC
(CLC = Can Logger Configuration) abgelegt, die sich im Wurzelverzeichnis
der Speicherkarte befinden muß.
Normalerweise wird diese Datei mit dem Logger-Konfigurationstool erzeugt und bearbeitet;
mit anderen Worten ist die Datei LOGGER.CLC das
Transportvehikel zwischen dem Tool ("Utility") und dem Logger selbst.
Normalerweise befindet sich dieses Vehikel auf einer Einbahnstraße:
Das CAN-Logger-Konfiguration-Utility schreibt diese Datei, der CAN-Logger
(Hardware) liest die Datei nur !
Sobald der Logger aktiviert wird, wartet er i.A. erst auf
die Trigger-Start-Bedingung, und beginnt
dann mit der Aufzeichnung der Log-Datei (im CAN-Message-Binärformat)
in einer Datei mit der Extension CLD (CLD = Can Logger Data). Diese Datei
wird spätestens beim Abbruch der Aufzeichnung (z.B. wegen power=0)
geschlossen. Beim Öffnen einer Log-Datei werden alte, eventuell noch
auf der Karte befindliche Dateien nicht überschrieben, sondern automatisch
ein neuer Dateiname erzeugt, bei dem die letzten zwei Buchstaben als
Sequenz-Nummer dienen. Bevor die Karte
aus dem Logger entnommen wird, muß sichergestellt werden daß
alle offenen Dateien geschlossen werden (z.B. per Kommando "card.remove"
oder "power=0"). Andernfalls würde die Datenstruktur auf der Karte
beschädigt (Directory und File Allocation Table). Falls dies einmal
durch Unachtsamkeit passiert, verwenden Sie das Programm SCANDISK um das
Dateisystem der Karte zu reparieren.
Die vom Logger erzeugten Dateien können zur Weiterverarbeitung in andere
Dateiformate umgewandelt werden. Erst bei dieser Umwandlung werden aus den
geloggten CAN-TELEGRAMMEN einzelne, decodierte, in ihre physikalische
Größe skalierte CAN-SIGNALE. Die so erzeugten Dateien können
dann mit Programmen wie Excel,
DIAdem, usw verarbeitet werden.
Alternativ dazu können die geloggten Dateien auch in das
Vector-ASCII-CAN-Logfile-Format umgewandelt
werden, welches dann z.B. zu Testzwecken im Labor wieder auf dem CAN-Bus
abgespielt werden kann. Auch MKT's CAN-Bus-Tester ist dafür geeignet.
Die Versorgungsspannung der ersten MKT-View-Terminals ( I, nicht
II) war mit 9 ... 36 Volt spezifiziert,
und zwar für die geschaltete als auch die
Standby-Spannung. Wie im Hardware-Manual erwähnt wird,
benötigt das Terminal die Standby-Versorgung, um beim Abschalten der
"geschalteten" Spannung noch ordnungsgemäß herunterzufahren. Dazu
gehört vor allen Dingen das Schließen aller Dateien auf der
Speicherkarte um das Dateisystem nicht zu beschädigen.
Achtung: Während Daten von der Speicherkarte gelesen oder auf
diese geschrieben werden,
darf diese auf keinen Fall entfernt oder das Gerät abgeschaltet werden
!
Bei einigen Geräten (z.B. neueren Terminals mit SD-/MMC-Karten)
erkennen Sie diesen Zustand an einer roten LED in der Nähe des
Karten-Slots.
Bei Missachtung dieser Maßregel können die Daten auf der Karte
zerstört werden.
Es empfiehlt sich, grundsätzlich Sicherungskopien aller wichtigen Daten
anzulegen !
MKT Systemtechnik übernimmt keinerlei Haftung für Datenverluste
und direke oder indirekte Folgeschäden, die auf Datenverluste
zurückzuführen sind. |
Ein Problem trat auf, als das Terminal in einem PKW betrieben wurde und beide
Spannungen (geschaltet+Standby) aus einer Batterie gespeist wurden.
Beim Anlassen des Motors brach die Batteriespannung von 12 auf etwa 6 Volt
zusammen, was nicht für die Versorgung des Terminals ausreicht. War
in dieser Situation der Logger bereits aktiv, und wurden bereits Daten auf
die Karte geschrieben, kam es zur Beschädigung des Dateisystems auf
der Karte (Zertörung der FAT und/oder falsche Einträge im Directory).
-
Hinweis: Das Terminal zeigt nach einem unzulässigen Zusammenbruch der
Spannung beim nächsten Einschalten die folgende Meldung in englischer
Sprache an:
-
SOS - Device has NOT been shut down
properly, maybe supply voltages
are connected in parallel ?
THIS MAY DAMAGE THE MEMORY CARD !
USE MS-"SCANDISK"(*) TO REPAIR IT ! |
(*) Das Programm SCANDISK lief unter Win 98.
Unter Win XP existiert es nicht mehr;
verwenden Sie dann CHKDSK o. Ä.
-
Die Meldung bedeutet auf Deusch, daß das Terminal nicht korrekt
heruntergefahren wurde und der Bediener versuchen sollte, die Speicherkarte
mit dem Programm SCANDISK (bzw CHKDSK /F) zu reparieren. Siehe auch: Kapitel
Spannungsversorgung.
Um diese Hardware-Problematik per Software etwas zu
entschärfen (ohne sie zu lösen), wird die
Speicherkarte per Default für Schreibzugriffe gesperrt, bis IHRE
Terminal-Anwendung das sogenannte "Power-Good-Flag" setzt. Dies wird mit
dem folgenden Interpreterkommando erreicht:
-
power=1
-
Dieses Kommando bedeutet "Die Versorgungsspannung ist jetzt SICHER, es besteht
momentan kein Risiko daß beide Versorgungsspannungen gleichzeitig
zusammenbrechen".
Sie können dieses Kommando in einer Event-Definition einsetzen, in der
-beispielsweise- die Drehzahl des Motors überwacht wird. Wenn der Motor
mit 1000 RPM (!, s.U.) oder mehr dreht, setzen Sie power=1 . Wenn
Sie nicht per CAN auf die Motordrehzahl zugreifen können, verwenden
Sie einen Hotkey (oder programmierbaren Button) um "power=1" zu setzen -
mit dem Nachteil, daß dann der Verantwortung des Bedieners obliegt,
die entsprechende Taste erst NACH dem Start des Motors zu drücken.
-
power=0
-
Dieses Kommando bedeutet "Die Versorgungsspannung ist UNSICHER, es besteht
das Risko das Beide (geschaltet+standby) gemeinsam auf unter 9 Volt
zusammenbrechen".
Sie können dieses Kommando in einer Event-Definition einsetzen, in der
z.B. "power=0" gesetzt wird wenn der Motor mit weniger als 500 RPM (!, s.O.)
dreht was -mehr oder weniger- dem Abschalten entspricht.
Mit "power=0" werden alle Schreibzugriffe auf die Speicherkarte gesperrt.
Kurz vorher werden allerdings noch alle eventuell geöffneten Dateien
geschlossen, wozu auf die Log-Dateien zähen.
Zu Test- oder Diagnosezwecken können Sie den Zustand des Power-Good-Flags
wie eine normale Variable auslesen. Aber -bitte nie vergessen- es ist IHRE
Aufgabe dieses Flags auf dem aktuellen Stand zu halten.
Der Default-Zustand (=Zustand beim Einschalten) ist power=0, d.h. die Firmware
nimmt an daß die Spannungsversorgung "unsicher" ist, und Schreibzugriffe
auf die Speicherkarte nicht erlaubt sind. Dies könnte sich in einem
zukünftigen Re-Design der Terminal-Hardware vielleicht
ändern. Wenn das Terminal mit 6 Volt zuverlässig arbeitet, oder
eine Mini-USV (z.B. die "powerbox") vorgeschaltet wird, könnte der
Default-Zustand in der Firmware auf power=1 gesetzt werden.
In der Demo-Applikation "LogDemo1.cvt" (im Terminal-Programmiertool) finden
Sie ein Beispiel zur Verwendung des Power-Good-Flags. In diesem einfachen
Demonstrationsprogramm wird der Bediener aufgefordert, "irgendeine Taste"
zu drücken sobald die Spannungsversorgung sicher ist, und F1 vor dem
Abschalten des Motors zu drücken (spätestens vor dem
Neu-Anlassen des Motors). Wie oben beschrieben, könnten Sie dies durch
eine etwas anwenderfreundlichere Version ersetzen, wenn Sie "irgendwie" an
die Motordrehzahl herankommen, um in Abhängigkeit davon power=0 oder
power=1 zu setzen.
Beim MKT-View II / III / IV besteht das
oben geschilderte Problem nicht, da im MKT-View II
ein Stützkondensator (interne USV) die Spannungsversorgung für einige Sekunden
übernehmen kann. Das Power-Flag ist aus Kompatibilitätsgründen
beim MKT-View II/III/IV zwar noch vorhanden, wird aber beim Einschalten automatisch
auf TRUE gesetzt, sobald der Stützkondensator geladen ist (was einige
Sekunden dauern kann; Details im Datenblatt des verwendeten Loggers).
Inhalt
Um ein Logfile aus dem Telegramm-basierten Binärformat des Loggers in
ein anderes Format umzuwandeln, schalten Sie auf die Registerkarte
"Datei-Konverter" (File Converter) des Logger-Utilities um. Wenn Sie im
Dateimanager auf eine *.cld-Datei doppelklicken (CLD = CAN Logger Data file),
wird dieses Register automatisch geöffnet.
Die Liste auf der linken Seite enthält die Dateinamen aller zu
konvertierenden Dateien. Mit dem Button Dateien wählen (Select
files) können Sie weitere Dateien zur Auswahl hinzufügen,
bevor Sie die Konvertierung starten. Alternativ können CAN-Logger-Dateien
auch per Drag- and Drop aus einem Explorerfenster in diese Liste übernommen
werden.
Die Felder auf der rechten Seite (unter Ziel / Destination)
beschreiben das Format der zu erzeugenden Ziel-Dateien. Die Einstellungen
in diesem Rahmen hängen davon ab, mit welchem Programm die erzeugten
Dateien später verarbeitet werden sollen, z.B. Tabellenkalkulation,
Visualisierungstool, statistische Auswerteprogramme, u.v.a.m). Diese
Einstellungen müssen normalerweise nur ein einziges Mal gemacht werden,
denn sie werden dauerhaft in einer speziellen Konfigurationsdatei abgelegt
(NICHT in der Logger-Konfigurations-Datei !).
Um die Umwandlung zu starten, klicken Sie auf den Button "Los!" (bzw. "Go!"
in der englischen Version). Der Name der Zieldatei wird automatisch vom Utility
ermittelt, er setzt sich aus dem vorher definierten Zielpfad und einem Teil
des Namens der Quelldatei zusammen; er wird am unteren Rand des Fensters
angezeigt ("Output: ...").
Die Datei-Umwandlungs-Parameter sind (mit der englischen Bezeichnung in
Klammern):
-
Ausgabe-Typ
(Output Type)
-
Signals: Ausgabe von Signalen, nicht von CAN-Messages. Alle
Signale die in den geloggten Telegrammen enthalten sind, werden decodiert
(und i.A. auch skaliert, s.U); die Ergebnisse werden in die Ausgabedatei
geschrieben.
Messages: Die Telegramme im Logfile werden nicht in einzelne
Signale zerlegt, sondern "als Ganzes" in hexadezimaler Form (mit einer Textzeile
pro CAN-Telegramm) in die Ausgabedatei übertragen. Dies mag exotisch
klingen, kommt der originalen Funktion eines CAN-LOGGERS aber recht nahe !
-
Ausgabe-Format (Output file format)
-
-
Text:
-
Ein einfaches Textfile ("ASCII") das mit jedem Texteditor betrachtet werden
kann (sofern er in der Lage ist, Dateien mit ernsthafter Größe
zu laden --- also nicht grade "NotePad" aus Windows 98 !). Viele
Tabellenkalkulationsprogramme sind ebenfalls in der Lage, solche Dateien
zu laden.
Die verschiedenen Trennzeichen für das Textformat müssen mit den
weiter unten beschriebenen Feldern definiert werden.
-
CSV, international: Comma Separated Values.
-
Kann mit vielen Tabellenkalkulationsprogrammen geladen werden, die auf PCs
mit englischer Windows-Installation laufen.
Der international übliche Dezimalpunkt kann beim Import in OpenOffice/LibreOffice,
und ähnlichen Tabellenkalkulationen die im Anhang erwähnten Probleme bereiten.
-
"CSV", deutsch:
-
Diese 'nationale' Abart des CSV-Formates verwendet statt des international
üblichen Dezimalpunktes ein Dezimalkomma. Manche Programme verwenden
als Spalten-Trenner (s.U.) dann das Semikolon, andere (z.B. Open Office)
verwenden das Komma für beides... und fügen zusätzlich noch
Anführungszeichen zum Begrenzen der Zeichen eines Feldes ein.
-
DIAdem, ASCII:
-
Produziert separate "Header"-Datei (*.dat!) und "Daten"-Datei (*.asc) die
mit DIAdem ladbar sein sollte. Konnte nicht getestet werden, weil unsere
alte DIAdem-Kopie bei jedem Versuch, aus einer so erzeugten Datei eine Grafik
zu erzeugen, abstürzte (-> DIAdem zeigte zwar eine nette dampfende
Kaffestasse, reagierte aber nicht mehr auf Benutzereingaben).
-
DIAdem, INT32:
-
Ähnlich wie "DIAdem, ASCII", allerdings mit der "Daten-Datei" im
32-Bit-Integer-Format (*.i32). Diese Datei könnte etwas schneller geladen
werden, wenn DIAdem Laden der so erzeugten Dateien nicht abstürzen
würde...
-
DIAdem, REAL64:
-
Ebenfalls für DIAdem, hier werden die Daten allerdings in Binärfiles
mit 64-Bit-Fliesskommazahlen gespeichert. Bietet die beste Auflösung
und den größten Wertebereich. Falls Signale auf dem CAN-Bus im
Fliesskommaformat übertragen werden, sollten Sie dieses Format verwenden,
um Rundungsverluste zu vermeiden.
-
Stiegele MDF (c) STIEGELE Datensysteme : MDF = "Measure Description
File".
-
Bei diesem Format werden die Beschreibung und Daten in getrennten Dateien
gespeichert: Das Headerfile (*.mdf) enthält alle Informationen über
die Messung, die Datendatei (*.dta) enthält die Messdaten selbst. Hinweis:
MKT's Logfile-nach-Stiegele-MDF-Konverter unterstützt nur die
Datenformate 'float', 'double', und 'ymdhms'.
-
VECTOR MDF (c) Vector Informatik : MDF = "Measure Data Format".
-
Verbreitet im Automotive-Breich. Beachten Sie die völlige
Inkompatibilität zwischen "Vector MDF" und "Stiegele MDF". Um diese
Dateien auch mit der ETAS-Software (z.B. INCA, MDA) einlesen zu können,
wird hier die Dateinamenserweiterung .dat verwendet (nicht *.mdf !).
Um auch mit ETAS MDA V4.0 kompatibel zu sein, wird Vector's MDF-Spezifikation
V2.13 (!) verwendet.
-
VECTOR-kompatibel, ASCII (CAN message log):
-
Ähnelt dem ASCII-Logfile-Format von Vector's CANoe / CANalyzer,
unterstützt aber nicht alle Features, weil uns keine detailierte
Spezifikation vorlag. Im Gegensatz zu den Vektor-Tools werden
CAN-Message-Identifier und Datenbytes von MKT's Logfile-Konverter immer in
hexadezimaler Form notiert.
Seit Mai 2010 werden hexadezimale 29-Bit-Identifier mit einem 'x' als Suffix(!)
gekennzeichnet, um mit Vector's CANoe kompatibel zu bleiben.
-
ETAS ASCII ("ETASAsciiItemFile")
-
Implementiert im Februar 2011, da sich manche Vector-MDF / "*.dat" - Dateien
(die laut Vector's MDF Validator fehlerfrei waren) nicht mit ETAS MDA laden
ließen. Das ASCII-Format hat den unschätzbaren Vorteil, keine
Binärdatei mit kompliziertem Headerformat zu sein. Stattdessen kann
ASCII mit jedem (besseren) Text-Editor betrachtet, und sogar bearbeitet
werden.
Tip: Verwenden Sie einen guten Text-Editor wie z.B.
Notepad++ (nicht "Notepad"!).
Setzen Sie die Tabulatorgröße auf mindestens 20 Zeichen. Dann
werden alle Spalten auf dem Bildschirm perfekt ausgerichtet, und der Inhalt
einer Messdatei kann sehr schnell kontrolliert werden (z.B. ob alle
Messkanäle schon zu Beginn der Messung gültig waren). Das
Spalten-Trennzeichen ist in diesem Fall immer das Tab-Zeichen (Code 0x09),
daher haben die weiter unten aufgeführten Felder (Spalten-Trenner,
Dezimal-Trenner) beim Ausgabeformat 'ETAS ASCII' keine Funktion.
-
-
-
Spalten-Trenner (column
separator, auch "Feldtrennzeichen" genannt)
-
Hier kann zwischen Space, Tab, Komma
und Semicolon als Trennzeichen zwischen zwei Spalten im ASCII-File
gewählt werden. Dient nur für das Ausgabeformat Text.
Bei anderen Formaten wie DIAdem ist das Trennzeichen nicht frei
wählbar.
-
Dezimal-Trenner (decimal separator)
-
Als Dezimal-Trennzeichen kommen nur Punkt(.) oder
Komma(,) in Frage. Selbst deutsche Anwender sollten statt des
in DL üblichen Kommas den Punkt verwenden, wenn sie für international
tätige Firmen arbeiten und ihre Resultate eventuell über den
"großen Teich" mailen müssen !
-
Zeit-Spalte (time column)
-
Einstellung ob die Ausgabedatei über eine Zeitspalte verfügen soll,
und welches Format dafür verwendet wird. Bei bestimmten Dateiformaten
kann bzw. darf das Format der Zeitspalte nicht geändert werden (z.B.
DIAdem V5, bei dem die Default-Zeitspalte im Format
Jahr+Monat+Tag+Stunde+Minute+Sekunde vorliegen mußte, wobei die
Sekunden leider nur als Integerzahlen akzeptiert wurden. Siehe
Hinweise zu DIAdem ! ). Bei der Ausgabe als
Textfile sind die folgenden Formate möglich:
YYYY-MM-DD hh:mm:ss = ISO8601-formatiertes Datum und Uhrzeit
Millisekunden = nur der "hochauflösende" Zeitstempel (der beim Einschalten
des Gerätes bei Null beginnt). Ganzzahl (integer) !
Sekunden = Ähnlich wie oben, Einheit Sekunden, als Fliesskommazahl
Hinweis: Werden mehrere Testläufe, zwischen denen das Gerät
abgeschaltet wird, in einer Datei geloggt, sind
Zeitkanäle im Format Sekunden oder Millisekunden
innerhalb einer Datei nicht mehr monoton steigend ! Falls Ihr Auswerteprogramm
damit ein Problem hat, verwenden Sie in der Logger-Konfiguration die Option
Neuer Dateiname beim Einschalten.
-
Schreib-Intervall
(write interval for logfile conversion)
-
Dient zur Reduzierung der Größe der Ausgabedatei. Wenn zum Beispiel
für die Analyse nur ein 1-Sekunden-Raster benötigt wird, im Logfile
allerdings ein 10-Millisekunden-Abtastzyklus vorliegt, können Sie die
Größe der exportierten Datei auf ein Hundertstel verringern wenn
Sie das Schreibinterval vor dem Start der Konvertierung auf
1.0 setzen.
Wenn Sie bereits vor dem Beginn der Datenaufzeichnung wissen, daß sie
keine Auflösung im Millisekunden-Bereich benötigen, begrenzen Sie
besser das Schreib-Intervall für
CAN-Telegramme in der Logger-Konfiguration(!). Damit wird auch die
Größe der Logfiles auf der Speicherkarte reduziert, und die CPU-Last
(während des Loggens) reduziert.
-
Inhalt
Weitere (i.A. seltener genutzte) Einstellmöglichkeiten des
CAN-Logfile-Konverters finden Sie auf dem Registerkarte "Konverter" ...
"Konverter-Optionen" :
-
Ungültiger Wert (invalid signal value)
-
Einige Analyseprogramme erwarten einen bestimmten numerischen Wert für
"ungültige Signale". Ein Signal ist z.B. ungültig, wenn es noch
nicht empfangen wurde. Der Wert aus diesem Eingabefeld wird in die Ausgabedatei
übernommen wenn ein Signal ungültig ist (d.h. solange dessen Wert
noch unbekannt ist). Sobald ein Signal einmal empfangen wurde (bzw. aus den
geloggten Telegrammen isoliert wurde), wird und bleibt
es gültig.
Wenn die Ausgabedatei ein Textfile ist, können Sie hier eine beliebige
Zeichenkette eingeben. Für alle anderen Formate hat dieses Feld entweder
keine Funktion (weil der 'ungültige Wert' durch das gewählte
Ausgabeformat fest vorgegeben ist), oder es muß einen numerischen Wert
enthalten der sich in das verwendete Zahlenformat umwandeln läßt
(wie z.B. "-99999999" ).
-
Signal-Werte: Roh oder Skaliert ? (signal values: raw or scaled ?)
-
Wurde während der Programmentwicklung verwendet. Sollte für normale
Anwendungen auf "Skaliert" (scaled) gesetzt werden.
Raw: Die rohen CAN-Werte nicht in den physikalischen Wert umrechnen
(d.h. keinen Offset und Faktor anwenden)
Scaled: Die Rohwerte in die physikalischen Werte umrechnen (unter
Verwendung der Signal-Parameter Offset und Faktor)
-
Kopfzeilen (Headlines)
-
Definiert, ob und wie viele Kopfzeilen vor den eigentlichen
"Daten" ("Werten") geschrieben werden sollen. Nur bei der Umwandlung in
TEXTDATEIEN (*.txt oder *.csv) verfügbar. Die Textzeilen enthalten:
- erste Textzeile: Spalten-Namen als "Tabellenüberschrift" (z.B.:
Signalnamen). Hilfreich bei der Nachbearbeitung mit
Tabellenkalkulationsprogrammen.
- zweite Textzeile: Wenn aktiviert, enthält diese Zeile die
physikalischen Einheiten für jede Datenspalte.
- dritte Textzeile: Selten genutzt, hier wird ggf. der
Logger-Info-String eingefügt (der aus
dem Logfile gelesen wurde !)
Ist "Kopfzeilen" auf den Wert Null gesetzt, wird keine dieser Zeilen in die
Ausgabedatei geschrieben. Beim Export in den Formaten "DIAdem" und "Vector"
hat dieser Parameter keinen Effekt.
-
"Signaldefinitionen im Logfile
ignorieren, stattdessem die Signaldefinitionen in der aktuellen Konfiguration
verwenden"
-
Mit dieser Option können Sie versuchen, eine Logdatei in Signale zu
konvertieren, obwohl in der Logdatei keine (oder nicht die gewünschten)
Signaldefinitionen enthalten sind... z.B. weil Sie vor der Aufzeichnung einfach
nur die Option "alle CAN-Messages
(alle Identifier)" in der CAN-Logger-Konfiguration gesetzt haben, ohne
irgendwelche CAN-Signale aus der CAN-Datenbasis auszuwählen (*). Achten
Sie sorgfältig darauf, daß Sie beim Einsatz dieser "Sonder-Option"
wirklich die zur aufgezeichneten Datei passenden CAN-Datenbasen (auf der
Registerkarte "CANdb") geladen haben. Andernfalls könnte es passieren,
dass die exportierten Signale ungültig, oder bestenfalls "leer"
sind.
(*) Die Ursache für das Fehlen der Signaldefinitionen in der
geloggten Datei (*.cld) könnte ein Versehen bei der Konfiguration des
Loggers sein (logger.clc), aber auch "pure Absicht" aus Gründen der
Geheimhaltung. Ob die Logger-Konfiguration oder das Logfile Signaldefinitionen
enthalten, kann mit einem simplen Text-Editor überprüft werden:
Wenn im Dateikopf nur zwei "Dummy-Definitionen" wie im folgenden Beispiel
stehen ....
Msg00: id=0xFFFFFFFF,mn="",nn="",wi=0
Sig00:
id=0xFFFFFFFF,sn="",ty=S,un="",fa=1,of=0,mi=0,ma=0,sb=0,nb=0,bo=M
.... dann kann das Logfile nicht ohne die Option "Signaldefinitionen im Logfile
ignorieren", und nicht ohne Zugriff auf die CAN-Datenbasis decodiert werden
! Details zu den Dateiformaten finden Sie im
Anhang.
Beim Einsatz dieser Option ist wie folgt vorzugehen:
-
Laden Sie vor dem Start des Konverters die zur Aufzeichung passenden
CANdb-Dateien.
-
Selektieren Sie auf der Registerkarte "CANdb" die Messages / Signale, die
beim Konvertieren in die Ausgabedatei geschrieben werden sollen (genauso,
wie Sie normalerweise bei der Erstellung einer neuen Logger-Konfiguration
vorgehen würden).
Beim Konvertieren werden nur die N
Signale decodiert,
die in der rechten Hälfte der Registerkarte CANdb aufgelistet sind (
" N
geloggte Signale in x Messages ").
-
Wechseln Sie danach wieder auf die Registerkarte "Konverter".
-
Stellen Sie sicher, dass unter "Konverter-Optionen" die Option
Signaldefinitionen im Logfile ignorieren.
-
Wählen Sie alle Dateien, die mit den nun geladenen Signal-Definitionen
kompatibel sind (verwenden Sie den Trick mit der gedrückten Shift-Taste
im Windows-Dateiauswahlfenster, um mehrere Dateien gleichzeitig zu selektieren).
-
Starten Sie die Konvertierung .
Sie können diese Komplexität vermeiden, indem Sie schon bei der
Erstellung der CAN-Logger-Konfiguration alle benötigten
CAN-Signal-Definitionen mit einbinden. Der CAN-Logger kopiert die
Signaldefinitionen aus der LOGGER.CLC (Konfiguration) in alle erzeugten
CAN-Logfile (*.cld), so daß der Konverter "automatisch" weiss wie die
Signale im aktuellen Logfile decodiert werden. Beim Einsatz der oben
beschriebenen Option (zusammen mit der Logger-Option "alle CAN-Messages loggen")
können Sie allerdings -z.B. aus Geheimhaltungsgründen- dafür
sorgen, dass weder die CAN-Logger-Konfiguration noch die damit erzeugten
Dateien irgendwelche Rückschlüsse über die aufgezeichneten
CAN-Signale bieten.
- Erst starten wenn alle Kanäle gültig sind
- Verwenden Sie diese Option nur dann, wenn Ihre Auswerte-Software keine 'ungültigen' Werte am Anfang der konvertierten Datei verarbeiten kann.
Bei gesetzter Option überspringt der Konverter alle Einträge in der Aufzeichnung (*.cld) bis für alle Kanäle gültige Werte vorhanden sind.
Ursachen für einen ungültigen Wert (in einem Messkanal) sind z.B.:
- Ein Signal wird nur selten übertragen (sehr niedrige Abtastrate oder ereignisgesteuert),
was dazu führt dass direkt nach dem Start des Loggers einige Zeit vergehen könnte
bis alle relevanten CAN-Telegramme empfangen (und vom Logger aufgezeichnet) wurden;
- Ein Sensor könnte defekt sein, was dazu führt, dass er gar keine Daten liefert.
Selbstverständlich startet die Aufzeichnung im Logger (Hardware) trotzdem,
denn die hier beschriebene Option bezieht sich nur auf den Logfile-Konverter aber nicht auf den Logger.
- Fehlerhafte Konfiguration des Loggers, z.B. falscher CAN-Message-Identifier.
Per Default ist diese Option abgeschaltet, d.h. der Logfile-Konverter emittiert Messwerte beginnend mit dem
Start der ursprünglichen Aufnahme, auch wenn einige Messwerte am Beginn der Aufzeichnung noch nicht vorliegen.
Bei der Ausgabe im Textformat finden Sie daher gelegentlich in den ersten Zeilen den bereits erwähnten
'ungültigen Wert'.
- Ausgabe in EINER Datei zusammenfügen
- Mit dieser Option können mehrere Eingangsdateien
(z.B. canlg000.cld, canlg001.cld, canlg002.cld ) bei der Konvertierung
in eine gemeinsame Datei (z.B. canlg000.asc) zusammengefügt werden.
Hinweis: Dies funktioniert bislang (2014-01-22) nur bei Ausgabe
der konvertierten Datei im Vector-ASCII-Format (*.ASC) !
Inhalt
Seit 2006 können einige CAN-Logger (z.B. im MKT-View) optional auch
Navigationsdaten von GPS-Empfängern ("GPS-Mäusen") aufzeichnen.
Um die aufgezeichneten GPS-Daten später nutzen zu können, müssen
sie aus dem internen Format in das Format Ihrer Auswertungs-Software umgewandelt
werden. Dabei bieten sich die folgenden Möglichkeiten:
-
Umwandeln der GPS-Daten in ein eigenes GPS-Logfile, welches dann mit einer
beliebigen Kartensoftware eingelesen werden kann
-
GPS-Daten zusammen mit den anderen Daten (CAN-Signalwerte) in eine gemeinsame
Datei schreiben (wobei für die GPS-Daten zusätzliche "Tabellenspalten"
eingefügt werden). Dies setzt voraus, daß Ihr Auswerteprogramm
derartige Dateien verarbeiten kann. Diese Option funktioniert nicht mit
DIAdem.
-
Hinweis:
-
Die Option "Daten vom GPS-Empfänger
loggen" muss in der Logger-Konfiguration (!) gesetzt sein, bevor Sie
den CAN-Logger starten. Diese Option ist per Voreinstellung passiv, um zu
vermeiden daß auf der Speicherkarte Platz verschwendet wird wenn die
GPS-Daten nicht benötigt werden.
Ferner muss das Terminal mit den zu Ihrem GPS-Empfänger passenden Parametern
initialisiert werden.
Weitere Informationen
zur Initialisierung des GPS-Empfängers finden Sie
hier .
Während der Konvertierung von Dateien mit GPS-Daten können diese
als "Vorschau" in einem einfachen Kartenfenster
angezeigt werden.
Unglücklicherweise gibt es Hunderte von verschiedenen Dateiformaten
zur Ablage von GPS-Tracks ("Spuren"). Fast jede GPS-Karten-Software verwendete
bislang ihr eigenes (proprietäres) Format. Auch das auf XML basierende
"GPX"-Format ist wegen des immensen Overheads zur Archivierung längerer
Testfahrten mit hoher Abtastrate nicht geeignet. Der CAN-Logfile-Konverter
unterstützt momentan nur die folgenden Formate:
-
NMEA-Sätze in ASCII-Dateien (nur $GPRMC und $GPGGA, eine Zeile pro
NMEA-Satz)
-
und ein anderes, benutzerdefiniertes ASCII-Format
Falls Ihr Kartenprogramm keines der oben genannten Formate einlesen kann,
verwenden Sie das im Internet kostenlos verfügbare Programm "GPSBabel",
welches das NMEA-Format einlesen und in eine Vielzahl herstellerspezifischer
Formate umwandeln kann. Mit etwas Glück ist auch das Format für
"Ihr" Kartenprogramm dabei.
Die im CAN-Logfile-Konverter verfügbaren Optionen bzgl. GPS-Daten-Export
werden auf der folgenden Registerkarte angewählt bzw definiert :
(screenshot GPS Converter Output Options)
Zu den Optionen für die GPS-Daten-Konvertierung zählen:
-
"wenn das Logfile GPS-Daten enthält, diese in ein separates Track-File
schreiben"
(d.h. bei der Umwandlung werden mindestens zwei Dateien im Zielverzeichnis
produziert: Eine Datei mit den CAN-Signalwerten, und eine andere mit den
GPS-Daten)
-
GPS-Track Dateiformat
Damit wird das Format der oben erwähnten GPS-Ausgabedatei festgelegt.
Im Moment wird nur die Ausgabe im NMEA-Format unterstützt (ein NMEA-Satz
pro Zeile, nur $GPRMC und $GPGGA).
-
Vorschau
Öffnet während der Konvertierung ein einfaches
Kartenfenster, in dem eine simple Strichzeichnung des GPS-Tracks ("Fahrspur")
angezeigt wird. Bitte beachten Sie, daß dieses Vorschaufenster nie
als Ersatz für ein "echtes" Kartenprogramm geplant war !
-
GPS-Daten zusammen mit den anderen Signalen in EINE (gemeinsame) Datei
schreiben
BITTE BEACHTEN SIE, DASS DIESE OPTION NOCH NICHT KOMPLETT IMPLEMENTIERT WURDE
! (Ferner wird sie nie in Kombination mit bestimmten Ausgabe-Datei-Formaten
funktionieren, z.B. kein Export als 16- oder 32-Bit-Integer-Werte möglich)
In der Tabelle im unteren Teil der Registerkarte "GPS" wird definiert, welche
GPS-Daten in die Ausgabedatei geschrieben werden sollen, und (bei Textdateien)
wie diese formatiert werden sollen. Sie brauchen diese Tabelle i.A. nicht
selbst auszufüllen ! Wählen Sie stattdessem eine der "Voreinstellungen"
aus der Combo-Box unterhalb der Tabelle. Nur in sehr speziellen Fällen
müssen Sie den Inhalt der Tabelle selbst editieren. Sie können
die Reihenfolge der GPS-Daten ändern, indem Sie die Definitionszeilen
bei gedrückter linker Maustaste in der Spalte "Nr" nach oben oder unten
schieben. Zum Entfernen nicht benötigter Einträge reicht es, den
Titel zu löschen (und die leere Zeile an das Ende der Tabelle zu
verschieben). Eine Liste mit allen möglichen Einträgen in der
Definitionsspalte "Inhalt (Ausdruck)" finden Sie
hier .
Vergessen Sie nicht, nach dem Ändern der GPS-Definitionstabelle den
Button "Apply" anzuklicken ( ) .
Inhalt
Während der Umwandlung der geloggten Daten (die eine gewisse Zeit dauern
kann), können Sie die grade konvertierten Werte in graphischer Form
anzeigen lassen. Diese Funktion soll und wird niemals ein Ersatz für
ein Auswerteprogramm sein, aber es kann als erste Kontrolle dienen ob die
Aufzeichnung funktioniert hat (das Vorschaufenster diente ursprünglich
nur als Hilfsmittel bei der Programmentwicklung, weil dem Firmware-Autor
kein anderes Tool zur Verfügung stand !).
Warnung: Im Vorschaufenster stecken diverse Bugs, darum: Wenn Sie die Vorschau
nicht unbedingt benötigen, verwenden Sie sie nicht.
Zum Anzeigen des graphischen Vorschau-Fensters muss vor dem Start der
Konvertierung die Checkbox Graphic Preview (graph. Vorschau)
auf der Registerkarte File Conveter (Datei-Konverter) markiert
werden. Erst danach darf die Konvertierung per Button "Los !" (Go
!) gestartet werden. Die umgewandelten Daten werden dann
während der Umwandlung als Linienzüge im Vorschau-Fenster
angezeigt. Alte Daten werden eventuell nach links aus dem Fenster
herausgescrollt, während neue Daten rechts angefügt werden.
Falls die Anzeige unleserlich wird, weil sich zu viele Kurven überlappen,
können einzelne Kanäle im Vorschau-Fenster durch Anklicken des
Kanalnamens im Legendenfeld ein- und ausgeschaltet werden.
Hinweis: Das graphische Vorschau-Fenster funktioniert nur wenn der
Ausgabe-Typ des Konverters auf 'SIGNALE'
gesetzt wurde, aber nicht im Modus 'CAN MESSAGES' !
Inhalt
Beim Versuch, CVS-Dateien (mit dem international üblichen KOMMA als Spaltentrenner, und Dezimalpunkt)
in OpenOffice ('OO'), später auch LibreOffice ('LO') zu importieren, traten unerwartete Probleme auf.
Dieses Unterkapitel enthält einige Notizen des Autors, die bei der Arbeit mit OO/LO 'Calc' hilfreich sein könnten.
Das international gebräuchliche CSV-Format (mit der korrekten Abkürzung 'Comma Separated Values')
verwendet das Komma als Spaltentrenner, und den Dezimalpunkt zwischen Vor- und Nach"komma"anteil einer Dezimalzahl.
Ein auf einem deutschen (Windows-)PC installiertes OpenOffice/Calc konnte dieses Format erst
nach einigen "Klimmzügen" einlesen:
Importieren von "Internationalem CSV" mit Komma als Spaltentrenner und Dezimalpunkt
Beim Speichern von CSV-Dateien hat sich leider die Unart durchgesetzt, auch in der Datei
vom aktuellen "Gebietsschema" abhängige Einstellungen ('Locales') zu verwenden. Bespiele:
- "deutsche CSV" mit Komma als Spalten- und als Dezimaltrennzeichen:
Führt dazu, dass numerische Felder beim Export z.T. mit doppelten Anführungszeichen "garniert" werden,
was wiederum dazu führt, dass keine klare Trennung von Text- und Zahlenfeldern mehr möglich ist.
Ursprünglich numerische Messwerte können dann z.T. nicht ohne umständliche Klimmzüge weiterverarbeitet werden.
- "deutsches CSV mit Semikolon" (Semikolon als Spaltentrenner, Komma als Dezimaltrennzeichen):
Strenggenommen kein "Comma Separated Value" sondern "Semicolon Separated Value". Immerhin ermöglicht dieses Format
eine klare Trennung von Text- und Zahlenfeldern, denn nur Textfelder werden mit Ausführungszeichen
(double quotes) umschlossen.
Um die oben beschriebenen "CSV"-Varianten in OpenOffice/LibreOffice einzulesen, erschien das "Semikolon-CSV" am geeignetsten.
Aus gutem Grund verzichtet der CAN-Logfile-Konverter auf 'nationale Besonderheiten' bei Datums- bzw. Zeitformaten.
Angaben wie z.B. "01/02/03" oder "01.02.03" (als Datum) werden absichtlich nicht unterstützt.
Das einzige 'logische' Format, in dem auch Datum und Uhrzeit kombiniert werden (als einzelne Tabellenspalte), ist das
segensreiche ISO-8601-Format. Statt 'T' (als häßliches Trennezeichen zwischen Datum und Uhrzeit) wird hier vorzugsweise
ein einzelnes Leerzeichen verwendet.
Leider war die Unterstützung des ISO-8601-Formates in gängigen Tabellenkalkulationen zum Zeitpunkt der Erstellung
dieser Datei noch mangelhaft, so daß zum Berechnen von Zeitdifferenzen (in der Tabellenkalkulation)
noch eine zweite "Zeit"-Spalte (z.B. mit "Sekunden seit Start der Aufzeichung") benötigt wurde.
NI DIAdem® unterstützt eine Vielzahl von Dateiformaten. Der in diesem
Dokument beschriebene CAN-Logfile-Konverter kann nur eine Untermenge dieser
Formate erzeugen, die unten aufgeführt werden.
-
ASCII
(American Standard Code for Information Interchange) - eine etwas veraltete
Bezeichnung, in der Tat werden bei diesem Format alle Werte als lesbarer
Text (evtl. mit ANSI-Zeichen) in der Datendatei abgelegt.
Nachteil: Dateigröße (i.A. erheblich größer als "ASCII",
s.U.).
Vorteil: Dateien können auch ohne DIAdem per Texteditor untersucht werden.
Nahezu unbegrenzte Meßdauer, weil kein Überlauf von Integerzahlen
auftreten kann.
-
INT32
Im Allgemeinen ist dieses Format vorzuziehen, d.h. Speicherung der Daten
als 32-Bit-Integer-Zahl. Pro Zahl werden vier Byte benötigt,
unabhängig vom Wert selbst (im Gegensatz zu ASCII, wo die
Dateigröße auch von der Höhe der Werte abhängt).
Weil der 'selbstgeschriebene' DIAdem-Konverter für alle Datenspalten
nur ein gemeinsames Format erzeugen kann (um die Daten nicht in mehrere
DIAdem-"Daten-Dateien" aufspalten zu müssen), ist bei den Zeitkanälen
Folgendes zu beachten:
- Zeitformat "Absolut / Jahr-Monat-Tag Stunde:Minute:Sekunde": Auflösung
0.1 Sekunden, maximale Meßdauer beim INT32-Format (2^31*0.1sec)/(60*60*24)
= 2485 Tage
- Zeitformat "Sekunden": Auflösung 10 Millisekunden, maximale Meßdauer
beim INT32-Format (2^31*0.01sec)/(60*60*24) = 248 Tage
- Zeitformat "Millisekunden": Auflösung 0.1 Millisekunden, maximale
Meßdauer beim INT32-Format (2^31*0.0001sec)/(60*60*24) = 2.48 Tage
-
REAL64
Wenn die Dateigröße keine Rolle spielt, oder/und Signale auf dem
CAN-Bus als Fliesskommazahlen übertragen werden, sollten Sie dieses
Format verwenden.
4.6.2 Bekannte Probleme (mit DIAdem V7)
Zum Testen der Konvertier-Funktion ins DIAdem-Format stand nur eine alte
DIAdem-Version (V7) zur Verfügung, mit der es einige unerklärliche
Total-Abstürze im Gerät "DIAdem VIEW" gab - Symptom: Stillstand
der Maus unter Windows 98 (bzw. dampfende Kaffeetasse), selbst der finale
Rettungsgriff CTRL-ALT-DELETE war nicht mehr möglich. Wir raten daher
zu extremer Vorsicht, wenn die geloggten Daten im DIAdem-Format weiterverarbeitet
werden sollen !
Das von DIAdem (V7) laut Dateiformat-Doku im ASCII-Modus verwendete Zeitformat
bietet offenbar nur eine Auflösung von einer Sekunde ("Jahr-Monat-Tag
Stunde:Minute:Sekunde"). Dies ist für viele Anwendungen unakzeptabel.
In diesem Fall sollte das Format der Zeitspalte
vor dem Konvertieren auf 'IMPLIZIT' gesetzt werden, da so ein dem
Abtastratintervall entsprechender Skalierungsfaktor als
Fließkommazahl im DIAdem-Kanal-Header definiert werden kann.
Export von GPS-Daten ins DIAdem-Format ist nicht möglich, weil weder
die notwendigen Informationen noch eine geeignete Testumgebung zur
Verfügung stand.
Inhalt
-
-
-
Aus Gründen des single-source-Prinzip nur in der
englischsprachigen Originaldatei spezifiziert !
-
Bitte klicken Sie hier ...
-
(bezieht sich auch auf die Textmarken
Konflikt_msg_rate
)
-
Inhalt
Falls die Freischaltung des CAN-Loggers oder CAN-Snooper noch nicht beim
Hersteller erfolgt ist (z.B. weil Sie diese Funktion erst nachträglich
erworben haben), müssen die entsprechenden Freischaltcodes manuell im
Systemmenü des Terminals eingegeben werden. Die benötigten Codes
werden Ihnen vom Hersteller (MKT Systemtechnik) telefonisch oder per Email
mitgeteilt. Bitte beachten Sie, daß diese Freischaltcodes an die
Serialnummer des Gerätes gekoppelt sind ! Die Serialnummer kann ggf.
im Systemmenü des Terminals ausgelesen werden. Sonderfunktionen wie
Logger und Snooper werden folgendermaßen freigeschaltet (hier
als Beispiel beim MKT-View +):
-
Anwender: Aufruf des Systemmenüs durch gleichzeitiges Drücken von
F2 + F3 am Terminal
-
Anwender: Anwahl System Setup / UNLOCK per Cursor und ENTER bzw Drehknopf
(wenn dort nur System Setup aber nicht UNLOCK steht, gibt es in der Firmware
keine freischaltbaren Sonderfunktionen)
-
Anwender: Serialnummer notieren, bei MKT anrufen, Serialnummer nennen, nach
Freischaltcode fragen.
-
MKT: Prüfen, ob der Anwender/Kunde die Berechtigung zum Freischalten
hat; wenn ja, Freischaltcodes per Telefon oder E-Mail durchgeben.
-
Anwender: Anwahl "Enter UNLOCK Code" im Systemmenü
(einmal ENTER drücken, so daß der Cursor auf die erste Ziffer
springt)
-
Anwender: Freischaltcode im Systemmenü des Terminals eingeben
(beim MKT-View leider nur per Drehknopf, Cursor links/rechts mit F1 und F2)
-
Eingabe mit ENTER abschließen und abwarten ...
(die Firmware prüft den Code und zeigt an, welche Funktionen freigeschaltet
wurden, z.B.
CAN-Logger = 1
CAN-Snooper = 1 wenn beide Funktionen freigeschaltet sind)
-
Eventuell noch den zweiten Freischaltcode eingeben (für Snooper, Schritte
5 bis 7 wiederholen).
Ob und welche Sonderfunktionen bei einem bestimmten Gerät freigeschaltet
sind, wird auch beim Aufruf des Systemmenüs angezeigt (solange
die dazu verwendeten Tasten noch gedrückt sind).
-
Hinweis:
-
Wenn das CAN-Logger-Utility per Installationsskript korrekt installiert wurde,
sind die Dateinamenserweiterungen *.CLC und *.CLD bereits mit dem
CAN-Logger-Utility verknüpft. Bei Tests unter Windows 98 funktionierte
dies problemlos, unter Windows XP allerdings (meistens) nicht - die Ursachen
sind uns unbekannt. Falls die Dateinamenserweiterungen schon von anderen
Programmen belegt sind, müssen Sie die Zuordnung selbst (manuell)
ändern, damit beim Doppelklick auf eine dieser Dateien automatisch das
CAN-Logger-Utility gestartet wird.
Wie bereits im Kapitel Starten des
CAN-Logger-Konfigurationstools erwähnt, ist es sinnvoll die
Dateinamenserweiterungen (extensions) CLC = CAN Logger Configuration
und CLD = CAN Log Data mit dem Utility zu verknüpfen.
Wählen Sie dazu die Funktion "Dateinamen und -Erweiterungen registrieren"
im Menü "DATEI". Das Programm fragt dann, ob die in Frage kommenden
Dateinamenserweiterungen mit dem CAN-Logger-Utility verknüpft werden
sollen. Die entsprechenden Einstellungen werden automatisch in der
Windows-Registry unter "HKEY_CURRENT_USER".."Software".."MKT Systemtechnik"
abgespeichert.
Beim Programmstart können einige Argumente in der (DOS-)Kommandozeile
übergeben werden. Dies wird z.B. beim Start des CAN-Logger-Utilities
aus dem Terminal-Programmiertool genutzt, um den Namen der zuletzt verwendeten
CANdb-Dateien zu übergeben, oder um das Utility zum Laden eines bestimmten
Logfiles zu veranlassen.
Die Kommandozeilenparameter sind:
-
/bm
-
Programm im "Batch-Mode" starten, d.h. automatisches
Abarbeiten ohne Eingriff des Benutzers.
-
/cwNNNN
-
Programmstart mit Client-Kommunikation. Der Parameter NNNN ist die
Windows-Handle-Nummer des Clients. Dieser Wert wird zur Kommunikation zwischen
zwei Prozessen benötigt.
-
<Dateiname.clc>
-
Kommando zum Laden einer Logger-Konfigurationsdatei (wird an der
Dateinamenserweiterung erkannt).
-
<Dateiname.cld>
-
Kommando zum Laden einer Log-Datei (wird an der Dateinamenserweiterung erkannt).
-
<Dateiname.dbc>,<BusNr>
-
Kommando zum Laden einer CANdb-Datei. Der Parameter <BusNr> gibt an,
für welchen Bus (1 oder 2) die Datei geladen werden soll.
-
<Dateiname.cmd>
-
Kommandodatei abarbeiten. Dient als Ersatz für die DOS-Kommandozeile
(falls diese zu lang würde).
Der Logfile-Konverter kann aus beliebigen anderen Programmen gestartet werden,
um ohne Benutzereingriff ("nicht interaktiv") seine Arbeit zu verrichten,
und sich nach der Konvertierung dann selbst zu beenden. Verwenden Sie dazu
die "batch mode"-Option ( /bm ) in der Kommandozeile. Die Batch-Mode-Option
bewirkt folgendes:
-
Das Programm öffnet keine Meldungsfenster, und wird den Benutzer niemals
nach einer Eingabe fragen (z.B. keinerlei "Ja"/"Nein"/"Abbrechen"-Fensterchen
und so weiter).
-
Das Programm wird automatisch die angegebene Quelldatei (*.cld) laden.
-
Anschliessend wird diese Datei automatisch ins gewünschte Format
konvertiert, und unter dem angegebenen Namen gespeichert (*.dat, *.txt, *.asc,
o.Ä.).
-
Nachdem der "Job" erledigt ist, beendet sich der Logfile-Konverter automatisch
selbst.
Im Batch-Modus sollten Sie in der Kommandozeile auch den Namen der Quell-
und Zieldatei(en) angeben. Das Utility erkennt selbst anhand der
Dateinamenserweiterungen, was die Quell- und die Zieldateien sind. Beispiel:
CanLoggerUtility.exe /bm canlg001.cld testdrive1.dat
Inhalt
<work in progress>
-
Sind aus Gründen des single-source-Prinzip nur in
der englischsprachigen Originaldatei definiert!
-
Bitte klicken Sie hier ...
Speichermedium für das alte 'MKT-View Plus' (mit CompactFlash-Karte)
Die Logger-Konfiguration und die geloggten Daten werden auf eine Compact
Flash Speicherkarte gespeichert, die für das Terminal geeignet
sein muß (nicht alle Karten bzw. Dateisysteme sind dazu geeignet!).
Wir haben einige Karten von verschiedenen Herstellern getestet, mit
Speichergrößen von 4 bis 512 MByte. Vorsicht, es gilt:
Beim MKT-View 'Plus' muss die Speicherkarte muß vom Hersteller DOS-formatiert
sein ! (FAT16 ohne 'lange Dateinamen')
Andere Formate wie FAT32, NTFS, etc funktionieren nicht ! Glücklicherweise
werden die meist für Digitalkameras verwendeten CF-Speicherkarten noch
heute DOS-formatiert, mit 12- oder 16-bit FAT .
Falls Ihr PC (noch) kein geeignetes Schreib/Lesegerät für diese
Speicherkarten hat: Es ist eine große Zahl entsprechender Geräte
für den USB-Port verfügbar, suchen Sie im Web nach
oder
um entsprechende Produkte zu finden. Der Autor verwendete einen "USB 6-in-1
Card Reader/Writer" unter Windows 98 SE. Nebenbei bemerkt, die CAN-Logfiles
sind im Allgemeinen viel zu groß um in akzeptabler Zeit über die
serielle Schnittstelle übertragen zu werden. Aus diesem Grund *muss*
ein geeignetes Kartenlaufwerk vorhanden sein, um die Daten zu übertragen
!
Speichermedium für 'MKT-View II' und 'MKT-View III' (mit SD-Karte)
Diese neueren Geräte mit 32-Bit-CPU (ARM) verwenden eine SD-Speicherkarte,
die noch sorgfältiger behandelt werden muss als die alte (größere) CF-Karte.
MKT-View II, III, und vermutlich weitere zukünftige Geräte unterstützen FAT16 und FAT32,
und sind daher auch für Speicherkarten mit über 2 GByte Kapazität geeignet.
- Hinweis
- MKT-View II / III unterstützen weiterhin kein NTFS, und keine langen Dateinamen,
um Ärger mit Software-Patenten von vornherein aus dem Wege zu gehen.
Sowohl NTFS (Dateisystem) als auch 'lange Dateinamen bei FAT-Dateisystemen' sind,
oder zumindest waren, von Microsoft als Patent angemeldet.
Allgemeine Hinweise zu den Speichermedien (CF, SD)
Die Speicherkarten müssen vorsichtig behandelt werden. Obwohl bei der
Konstruktion des Terminals einige Vorkehrungen gemacht wurden, um die Karte
zu schützen, sollten Sie vor dem Wechsel der Karte das Terminal von
der Stromversorgung und den Busleitungen trennen, um das Risiko einer
elektrostatischen Entladung zu minimieren. Während des Loggens darf
die Spannungsversorgung nicht ausfallen, und die Karte nicht aus dem Laufwerk
entnommen werden, weil sonst die Daten auf der Karte beschädigt werden
und -im schlimmsten Fall- die FAT (file allocation table) und die
Directory-Struktur zerstört wird so daß die Karte unbrauchbar
wird. In diesem Fall können Sie noch versuchen, die Karte im PC mit
dem Hilfsprogramm "SCANDISK" (gehört zu Windows) zu reparieren, oder
mit einem speziellen Programm neu zu formatieren (mit vielen einfachen
Kartenlaufwerken geht dies leider nicht).
Um Datenfehler auf der Karte zu vermeiden, verfügen die Terminals mit
Kartenlaufwerk über zwei getrennte
Versorgungsspannungen
: Eine geschaltete Spannung, und eine
Dauer-Spannungs-Versorgung. Mehr zu diesem Thema finden Sie im folgenden
Abschnitt - eine komplette Beschreibung der Spannungsversorgung des Terminal
würde den Rahmen dieses Dokuments sprengen. Soviel sei gesagt:
Schalten Sie bei Geräten ohne interne USV niemals die Spannung an beiden Versorgungsleitungen gleichzeitig
ab, denn das Gerät hat dann keine Möglichkeit eventuell noch
geöffnete Dateien ordnungsgemäß zu schließen (vergleichbar
mit einem Computer, dem Sie auch nicht durch Ziehen des Netzsteckers "den Saft abdrehen"
sollten ;-). Siehe auch: Hinweise zum
"power-good"-flag.
Bei Geräten mit interner USV (z.B. MKT-View III/IV)
besteht das oben beschriebene Problem nicht, denn die Speicherkondensatoren
in der USV versorgen den Logger nach Abschalten der Netzspannung noch so lange,
bis alle Dateien auf der Speicherkarte sicher geschlossen sind.
Inhalt
Wie bereits im Absatz 'Speichermedium'
erwähnt, muß sich das Terminal selbst abschalten um Datenverlust
auf der Speicherkarte zu vermeiden (d.h. Schließen geöffneter
Dateien mit Schreibzugriff). Dazu exsistieren..
-
eine geschaltete Versorgungsspannung die zum Einschalten und
Herunterfahren des Terminals dient
-
eine dauerhafte Versorgungsspannung die während des Herunterfahrens
benötigt wird.
Beide Versorgungsleitungen haben die gleichen elektrischen Daten (siehe
Hardware-Manual). Typische Versorgungsspannungen sind 9.0 V .... 24
V. Wenn die dauerhafte Versorgungsspannung fehlt oder unter 9 Volt liegt,
zeigt das Terminal eine entsprechende Warnung an:
Bad standby supply voltage !
Measured: 06.8 Volt |
In diesem Fall sollten Sie die Verkabelung, die Stecker, und die Batteriespannung
prüfen.
SCHALTEN SIE DIE BEIDEN VERSORGUNSSPANNUNGEN NIEMALS PARALLEL ! Datenverluste
und ein zerstörtes Dateisystem auf der Speicherkarte werden die Folge
sein, wenn die dauerhafte zusammen mit der geschalteten
Versorgungsspannug abgeschaltet wird. Grund: Das Terminal hat dann keine
Chance die geöffneten Dateien zu schließen, wozu auch das
Aktualisieren des Inhaltsverzeichnisses und der File Allocation Tables(!)
gehört.
Weil beim Anlassen eines PKWs immer die Gefahr besteht, daß die
Batteriespannung unter 9 Volt zusammenbricht, muß das Terminal irgendwie
"informiert" werden ob die Spannungsversorgung sicher ist oder nicht. Details
dazu stehen im Kapitel über das
"Power-Good"-Flag.
Bei Fehlern in der Verkabelung oder in den Anschlüssen der
Versorgungsspannung könnten Sie beim Einschalten des Terminals die folgende
Meldung erhalten :
SOS - Device has not been shut down
properly,maybe the supply voltages
are connected in parallel ?
! RISK OF DESTROYING THE MEMORY CARD !
! NOW USE MS-"SCANDISK" TO REPAIR IT !
[press any key to continue] |
In diesem Fall sollten Sie...
-
Das Terminal abschalten, dieses Mal mit ordnungsgemäß angeschlossener
Standby-Versorgung, oder mit gelöschtem Power-Good-Flag. (Wenn Sie in
dieser Situation eine Taste betätigen um "fortzufahren" wird die Karte
für Schreibzugriffe gesperrt)
-
NACH dem Abschalten entnehmen Sie die Karte aus dem CF-Schlitz des Terminals,
setzen Sie in ein geeignetes Kartenlaufwerk am PC ein, und verwenden das
Programm Scandisk (oder ähnlich) um eventuelle Fehler im Dateisystem
zu korrigieren. Das Terminal selbst verfügt über kein derartiges
Utility (und wird auch niemals eine entsprechende Funktion bieten) !
-
Untersuchen Sie die Ursache für das fehlerhafte Abschalten "ohne
Herunterfahren". Wahrscheinlich sind die geschaltete und dauerhafte Versorgung
unzulässigerweise parallelgeschaltet. Verwenden Sie ein Voltmeter (oder
-noch besser- ein Oszilloskop) um die permantente Versorgungsspannung in
dem Moment zu messen, in den Sie die geschaltete Versorgung abschalten. In
vielen Fällen wird das Terminal per Zündschloss ein- und ausgeschaltet.
Stellen Sie sicher daß die dauerhafte Versorgung nicht über
das Zündschloss läuft. Bei PKW's läuft der
Zigarettenanzünder mal über das Zündschloss, mal nicht (bei
neueren Autos eher nicht). Weitere Informationen zur Stromversorgung finden
Sie in der Hardware-Beschreibung des Terminals.
-
Stellen Sie sicher, daß Sie das Interpreterkommando
power=1 in Ihrer Applikation nicht zu früh
aufrufen (Stichwort: Zusammenbruch der Batteriespannung beim Anlassen) !
-
Schalten Sie das Terminal wieder ein. Wenn das letzte Runterfahren
ordnungsgemäß funktioniert hat, wird die "SOS"-Meldung nicht wieder
erscheinen, und Schreibzugriffe auf die Karte sind wieder möglich.
Hinweise:
-
Es wird nur für wenige Sekunden ein nennenswerter Strom aus der
Dauer-Versorgung ("standby-supply") gezogen..
-
Die "permanente" Versorgung wird nur wenige Sekunden nach dem Abschalten
der "geschalteten" Versorgung gebraucht, danach nicht mehr. Die benötigte
Nachlaufzeit hängt unter Anderem vom Datenvolumen ab, welches aus einem
RAM-Puffer noch auf die Karte zurückgeschrieben werden muß. Für
den "worst possible case" werden mindestens 5 Sekunden Nachlaufzeit gefordert,
obwohl das Herunterfahren normalerweise viel schneller erfolgt.
-
Nach dem Abschluß des Herunterfahrens wandert ein schwarzer "Vorhang"
über das LC-Display. Wenn Sie diesen Vorhang sehen, wissen Sie, daß
die Runterfahr-Sequenz erfolgreich beendet wurde - wie bei einem Steinzeit-PC
mit der Meldung "Sie können den Computer jetzt ausschalten". Wenn sich
das Terminal danach nicht selbst abschaltet, könnte ein nur kurzer
Ausfall der geschalteten Spannung vorgelegen haben (Aussetzer). Grund:
Wenn die geschaltete Versorung während des Runterfahrens plötzlich
"wieder da" ist, hat das Terminal keine Möglichkeit sich abzuschalten.
In diesem Fall erscheint die folgende Meldung:
Error: Shutdown-Relais does not work !
Fehler: Abschalt-Relais tut's nicht ! |
-
Die Echtzeituhr im Terminal wird von einer eingebauten Batterie versorgt,
sie wird vom Wegfall der externen "Dauer-Versorung" nicht beeinträchtigt.
-
Probleme mit zusammenbrechender Spannungsversorgung beim MKT-View "Plus"
lassen sich mit der als Zubehör erhältlichen "Powerbox" vermeiden (geplant für
Frühjahr 2006 - bitte ggf. beim Hersteller nachfragen).
Inhalt
In diesem Dokument erwähnte Bezeichnungen von Produkten, bei denen es
sich um gesetzlich geschützte bzw. eingetragene Warenzeichen handelt,
sind hier im Zweifelsfall nicht als solche markiert. Entsprechendes gilt
für urheberrechtlich geschütztes Material. Aus diesem Grund bedeutet
ein fehlendes ®(r) oder ©(c) - Zeichen
nicht, das es sich um einen nicht geschützten Namen handelt.
Darüberhinaus lassen sich aus den hier verwendeten Namen keinerlei Hinweise
auf Patentrechte oder ähnliches ziehen.
CANdb®, CANoe, CANalyzer sind Warenzeichen oder eingetragene
Warenzeichen der Vector Informatik GmbH.
Compact Flash ist Warenzeichen der Sandisk Corp.
Intel® und das Intel logo sind eingetragene Warenzeichen der Intel
Corporation.
NI DIAdem ist ein eingetragenes Warenzeichen der National Instruments
Corporation.
Excel, Microsoft, Windows, Win95, WinNT, WinXP® sind eingetragene
Warenzeichen der Microsoft Corporation.
Die Software wurde vom Autor sorgfältig erstellt und getestet. Da es
unmöglich ist, Softwareprogramme so zu entwickeln, dass sie für
alle Anwendungsbedingungen fehlerfrei sind, nehmen Sie bitte den folgenden
Haftungsausschluss zur Kenntnis, bevor Sie die Software installieren
oder verwenden ! Darüberhinaus gelten die
allgemeinen Geschäftsbedingungen der
Firma MKT Systemtechnik.
DIESE SOFTWARE WIRD IHNEN VON MKT SYSTEMTECHNIK IM "IST-ZUSTAND" ZUR
VERFÜGUNG GESTELLT. WEDER AUTOR NOCH HERSTELLER ODER DISTRIBUTOREN
GARANTIEREN IHNEN DIE EIGNUNG DER SOFTWARE FÜR EINEN BESTIMMTEN
ANWENDUNGSFALL ODER EINE BESTIMMTE KONFIGURATION.
DER AUTOR ÜBERIMMT KEINERLEI HAFTUNG ODER GEWÄHRLEISTUNG FÜR
FEHLER IN DER SOFTWARE ODER FEHLER UND SCHÄDEN, DIE SICH AUS DER NUTZUNG
ODER UNFÄHIGKEIT ZUR NUTZUNG DER SOFTWARE ERGEBEN.
DIES SCHLIESST DEN VERLUST VON GESCHÄFTSGEWINNEN, DIE UNTERBRECHUNG
DER GESCHÄFTLICHEN ABLÄUFE, DEN VERLUST VON DATEN SOWIE ALLE
ÜBRIGEN MATERIELLEN UND IDEELLEN VERLUSTE UND DEREN FOLGESCHÄDEN
EIN UND GILT SELBST DANN, WENN DER AUTOR ZUVOR AUSDRÜCKLICH AUF DIE
MÖGLICHKEIT DERARTIGER SCHÄDEN HINGEWIESEN WORDEN IST.
DER AUTOR IST EBENFALLS NICHT HAFTBAR FÜR VIREN, DIE SICH ÜBER
DIE SOFTWARE WEITERVERBREITEN KÖNNTEN, UND DADURCH ENTSTANDENE SCHÄDEN
GLEICH WELCHER ART.
Aktivitäten mit hohem Gefahrenpotential
Die Software ist nicht fehlertolerant und wurde nicht entworfen, hergestellt
oder dafür vorgesehen, sie zum Gebrauch oder Weiterverkauf als
Online-Steuerung in sicherheitskritischen Umgebungen einzusetzen, wie sie
etwa für ausfallsichere Systeme erforderlich sind, wie sie zur Kontrolle
von Kernkraftwerken, zur Flugnavigation oder in Kommunikationssystemen des
Luftverkehrs, medizinischen Geräten, oder Waffensystemen zum Einsatz
kommen, in denen der Ausfall der Software direkt zum Tode,
Körperverletzungen, oder anderen ernsthaften Schädigungen der Umwelt
("Aktivitäten mit hohem Gefahrenpotential") führen könnte.
MKT Systemtechnik schließt jegliche Art einer ausdrücklichen oder
implizierten Garantie zur Eignung von Aktivitäten mit hohem
Gefahrenpotential aus.
Letzte Änderungen (mit Datum im ISO8601-Format, YYYY-MM-DD)
2014-02-04: Option zum Loggen von Script-Variablen.
2011-02-17: Unterstützung des ETAS-ASCII-Formates implementiert und dokumentiert (*.ascii, "ETASAsciiItemFile").
zurück zum Anfang