Der CAN-Tester ist als Testprogramm auf niedriger CAN-Bus-Telegramm-Ebene konzipiert, mit einigen Erweiterungen die für "hausinterne Tests" bei Firma MKT verwendet werden. Möglich sind:
Weil die CAN-Hardware unter Windows nicht -wie bei der DOS-Variante- direkt angesprochen werden kann, ist die Performance des "CAN-Testers für Windows" dem ähnlich funktionierenden CAN-TESTER FUER DOS unterlegen, was Geschwindigkeit und die Genauigkeit der Zeitmarken betrifft.
ACHTUNG: MKT ÜBERNIMMT KEINE HAFTUNG FUER SCHÄDEN, DIE DURCH DEN GEBRAUCH DIESER SOFTWARE ENTSTEHEN; WEDER AN SOFT- NOCH AN HARDWARE !
Installieren Sie zunächst ein CAN-Interface auf Ihrem PC. Dazu können Sie verschiedene Interfaces verschiedener Hersteller verwenden. Eine Übersicht finden Sie in den
Hinweisen zur Installation eines CAN-Interfaces unter Windows.
Beachten Sie: Die CAN-Interfaces und die dazugehörigen Softwaretreiber sind keine Produkte der Firma MKT; sie müssen ggf. extra vom jeweiligen Hersteller bezogen werden !
Hinweise und Tips zur Installation einiger CAN-Interfaces und der dazugehoerigen Softwaretreiber (VxD, SYS, DLL) finden Sie in der Datei can_inst.doc (Word 97-Format).
Um Ärger mit nicht schreibbaren Verzeichnissen zu vermeiden, empfehlen wir
die Installation des CAN-Testers außerhalb des Windows-"Programm"-Verzeichnisses.
Statt der Installation unter
"C:\Programme\MKT\CAN_Tester_for_Windows"
(bzw. C:\Program Files, C:\Program Files (x86), C:\Archivos de programa,
C:\Programmes, C:\Programmi, C:\Arquivos de Programas,
C:\Program, C:\Programmer, C:\Programfiler, etc, etc, etc),
installieren Sie die den CAN-Tester z.B. unter
"c:\MKT\CAN_Tester_for_Windows"
(oder wo-auch-immer Sie als Anwender Schreibrechte haben).
Nur so wird sichergestellt, dass die im Verzeichnis des CAN-Testers enthaltenen
Applikationen (CAN-Tester-Scripte mit der Erweiterung *.cts) nicht nur gelesen,
sondern nach eventuellen Modifikationen auch ohne Administratorprivilegien
wieder abgespeichert werden können.
Entsprechendes gilt auch für die Konfiguration des CAN-Bus-Testers,
die seit Dezember nicht mehr unter 'Windows\MKT_CanTester.ini', sondern im
o.g. Installationsverzeichnis (zusammen mit der ausführbaren Datei WinCan1.exe) abgelegt wird.
Durch den konsequenten Verzicht auf Einträge in der Windows-Registry
und durch die Ablage der Konfiguration im Verzeichnis der Anwendung
wird diese 'portabel', d.h. Sie können den CAN-Tester auf einer beliebigen
Partition der Festplatte, aber auch auf einem Wechseldatenträger
(z.B. USB Memory Stick) installieren, und durch einfaches Umkopieren des
Ordners inklusive aller Unterverzeichnis eine Installation auf einen anderen
PC 'übernehmen' (portieren), inklusive aller von Ihnen entwickelten
Applikationen.
Beim ersten Programmstart muss noch das geeignete CAN-Interface ausgewählt werden. Die Konfiguration (CAN-I/O-Adresse, IRQ, Baudrate etc) erfolgt im Menue Settings...CAN Interface Setup. Im daraufhin erscheinenden Dialogfenster können Sie "Ihr" CAN-Interface anwählen und ggf erforderliche Parameter, z.B. I/O-Adressen, Netzwerknamen etc eingeben. Bei Verwendung des PCCAN-Interfaces der Firma ESD muss vorher der NTCAN-Treiber installiert werden.
Erst danach können die Parameter für den CAN-Bus eingestellt werden
(Baudrate, etc). Dies erfolgt im Hauptmenü des CAN-Testers unter
Settings...CAN settings for user (d.h. CAN-Einstellungen für
den Anwender).
Die Konfigurationsdaten des CAN-Testers werden seit Dezember 2019 nur noch
im Verzeichnis des CAN-Testers, d.h. in dem Verzeichnis, in dem auch die
Datei WinCan1.exe steht, abgelegt. Das Programm bzw. dessen Anwender muss
die Berechtigung für Schreib- und Lesezugriffe (bzw. 'Vollzugriff')
für das Verzeichnis des CAN-Testers haben, andernfalls können Änderungen
an der Konfiguration nicht dauerhaft gespeichert werden.
Aus dem Grund empfiehlt es sich, wie im Kapitel Installation beschrieben,
das Programm nicht unter C:\Programme (o.Ä.) zu installieren.
Wählen Sie hier die Datenrate (für "Classical CAN", bzw. die
Arbitrierungsphase bei CAN FD), und (für CAN-FD) ggf. auch die 'schnelle' Datenrate.
CAN FD (Flexible Datarate) kann per Option abgeschaltet werden, selbst wenn das
verwendete CAN-Interface prinzipiell auch für 'FD' geeignet ist.
Wurde als CAN-Interface ein mehrkanaliges Gerät
ausgewählt, dann kann der zweite Kanal unter "CAN2" konfiguriert werden.
Abhängig von der verwendeten Hardware werden in der Gruppe "CAN1"
bzw. "CAN2" auch die entsprechenden Kanalnamen des CAN-Treibers
angezeigt, z.B. "Kvaser Hybrid 2xCAN/LIN #0 (Channel 0)".
Arbitrierung mit 500 kbit/sec : tq = 1/(500kHz * (1+63+16)) = 25 ns
"Fast Data" mit 2000 kbit/sec : tq_FD = 1/(2MHz * (1+15+4)) = 25 ns
Das 'time quantum' sollte laut CiA-Empfehlung für CAN FD den gleichen Wert
für die Arbitrierungs- und Datenphase haben (hier: tq = tq_FD = 25 ns). Zitat:
Hier steht alles, was -direkt oder indirekt- mit der Anzeige von CAN-Telegrammen ("frames") in den beiden Anzeigefenstern des CAN-Testers zu tun hat:
Im CAN-Tester ist ein *simpler* CAN-Logger eingebaut, mit dem man Telegramme (u.A. im Vector-ASCII-Format) abspeichern kann. Hat nichts mit MKT's CAN-Logger zu tun ! Log-Dateien im Vektor-ASCII-Format, und im PCAN-Explorer-Format ("Hex Format Files", *.log) können mit dem CAN-Tester auch abgespielt werden (im Menü "Datei").
Hier wird "Verschiedenes" eingestellt, wofür auf den anderen Tabs kein Platz mehr war:
Nur für CANopen ! Auf dieser Registerkarte werden Knotennummern und Timeout-Zeiten für den im CAN-Tester integrierten CANopen-SDO-Client und -Server eingestellt, und -wenn nötig- Client bzw Server ein- und ausgeschaltet (d.h. aktiv/passiv gemacht). Mit den Buttons "Externes OD zeigen" / "Lokales OD zeigen" können die CANopen-Objekt-Verzeichnisse angezeigt bzw (beim "Lokalen OD") sogar editiert werden. Damit kann z.B. ein kompletter CANopen-Knoten simuliert werden.
Hier werden verschiedene Unterverzeichnisse definiert, auf die der CAN-Tester zugreifen kann:
Damit sind AKUSTISCHE Signale gemeint, keine CAN-Signale. Mit den Optionen auf dieser Registerkarte können alle aktustischen Signale (die meistens vom Kommandoprogramm erzeugt werden) auf einen Schlag ausgeschaltet werden, damit schlagartig "Ruhe im Schiff" herrscht.
Beim CAN-Tester für Windows können aktustische Signale entweder
mit dem PC-Speaker oder mit dem MIDI-Synthesizer(*)
erzeugt werden.
Zur Erzeugung von Tönen mit dem internen PC-Lautsprecher (ohne die
Soundkarte) muss das Programm leider direkt auf die I/O-Ports im PC zugreifen,
was -speziell unter Windows XP und Vista- Probleme bereiten kann. Aus dem
Grund ist under Windows XP (etc) davon abzuraten, die Option "internal
PC-Speaker" zu verwenden. Verwenden Sie stattdessem lieber die Soundkarte
(mit integriertem, per MIDI steuerbaren Synthesizer). Damit Sie die Töne
vom Synthesizer hören können, benötigen Sie natürlich
einen externen Lautsprecher. Ferner muss in der Lautstärke-Einstellung
(in der Windows-Taskleiste) der Regler für den "SW-Synthesizer" (o.ä.)
aufgedreht sein, und die Option "Ton AUS" (die bei den meisten Soundkarten
existiert) darf für den Synthesizer *nicht* gesetzt sein.
Akustische Signale eignen sich gut zum schnellen Testen von CAN-E/A-Modulen. Z.B. könnte das Test-Script jedesmal einen Ton mit einer bestimmten Frequenz ausgeben, wenn sich der Zustand der digitalen Eingänge des Moduls ändert. Verwenden Sie dazu das Interpreterkommando "sound".
In der Kopfzeilen von Sende- und Empfangsfenster werden Zähler für empfangene und gesendete Telegramme angezeigt, ferner diverse Statusinformationen (u.A. ob die Anzeigen aktiv sind, ob die Listen "historisch" oder "sortiert nach CAN-Identifier" arbeiten, etc).
Im Empfangsfenster werden normalerweise alle empfangenen CAN-Telegramme aufgelistet. Dabei sind verschiedene Anzeigeoptionen möglich, die im Menü "Settings" eingestellt werden können:
Im Sendefenster werden normalerweise alle vom Programm gesendeten CAN-Telegramme angezeigt. Dazu gehören auch die vom eingebauten SDO-Server und -Client gesendeten Telegramme !
Zum Senden "eigener" Telegramme durch den User dient das Kommandofenster, in dem CAN-Telegramme als Textzeilen eingegeben werden können.
Im einfachsten Fall wird ein CAN-Telegramm folgendermaßen notiert:
<Identifier> <Byte0> <Byte1> .. <Byte7> (für "Classical" CAN)
<Identifier> <Byte0> <Byte1> .. <Byte63> (für CAN FD)
Direkt nach dem Identifier kann ein spezieller ID-Suffix
angegeben werden, um z.B. auch bei einem Identifier <= 0x3FF diesen mit 29 Bit ("extended" frame) zu codieren,
oder um auch 'kurze' Frames (mit bis zu 8 Datenbytes) als "FD Base Frame" oder "FD Extended Frame" zu senden.
Messages mit Identifier-Wert >= 0x400 werden automatisch als "extended frame" verschickt.
Ein Längencode (DLC) wird beim Senden (wie auch beim Empfang) normalerweise nicht angegeben
(die Anzahl zu sendender Datenbytes ergibt sich aus deren Zählung). Bei CAN FD wird
bis zur nächsten 'gültigen' DLC aufgerundet, und die überzähligen Bytes mit Nullen angefüllt:
Timestamp Bus ID Flag [Len] Data field (hexadecimal)
00067888: #1 155 BRS [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067902: #1 155 ESI [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067913: #1 155 BRS [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067925: #1 155 BRS [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067936: #1 155 BRS [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067948: #1 155 BRS [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067959: #1 155 BRS [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067972: #1 155 ESI [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
00067983: #1 155 ESI [64] 04 03 02 01 08 07 06 05 0C 0B 0A 09 10 0F 0E 0D 14 13 12 11 18 17 16 15 1C 1B 1A 19 20 1F 1E 1D 24 23 22 21 28 27 26 25 2C 2B 2A 29 30 2F 2E 2D 34 33 32 31 38 37 36 35 3C 3B 3A 39 40 3F 3E 3D
Das Kommandofenster dient zur Eingabe von Befehlen an den CAN-Tester, die von einem speziellen Interpreter abgearbeitet werden können. Dazu gehören unter anderem:
Um ein einzelnes Kommando aufzuführen (z.B. CAN-Telegramm senden),
drücken Sie F2 während der blinkende Cursor in der Zeile des
auszuführenden Kommandos steht.
Weitere Shortcuts (Tastaturkürzel) zum Starten, Stoppen, und Debuggen des
Scripts (im Kommandofenster des CAN-Testers) finden Sie im Hauptmenü unter 'Run'.
Am linken Rand des Editorfensters (in der 'Sidebar') werden Zeilennummern
und spezielle Symbole für die Programmentwicklung und Fehlersuche angezeigt.
Hier einige der in der Sidebar verwendeten Symbole:
Im Meldungsfenster werden u.A. Fehler wie
"CAN-Bus-Off" angezeigt, aber auch Meldungen
aus dem interpretiertem Kommandoprogramm.
Werden (mit einem geeigneten CAN-Interface) Error-Frames detektiert, dann
werden diese vom CAN-Tester gezählt und optional im Meldungsfenster
angezeigt. Um das Überfluten des Meldungsfensters bei massivem Auftreten
von Error-Frames zu vermeiden, wird eine neue Meldung (mit dem "Zählerstand")
unterdrückt, wenn die vorhergehende Error-Frame-Meldung vor weniger als einer Sekunde erfolgte.
Fehler- und CAN-Telegramm-Zähler können im Hauptmenü unter
"Meldungen" / "Rücksetzen der Message-Zähler", bzw "Messages" / "Clear Message Counters"
zurückgesetzt werden. Dadurch wird auch für die 'Statistik' eine neue Messung begonnen.
Auch ohne spezielles Test-Script im Kommandofenster kann eine einfache
CAN-Statistik als 'Bericht' im Meldungsfenster angezeigt werden.
Wählen Sie dazu im Hauptmenü unter Meldungen die Funktion Bericht 'CAN-Statistik' erzeugen.
Abhängig vom verwendeten CAN-Interface (und der Anzahl geöffneter CAN-Kanäle)
kann dieser 'Bericht' unterschiedlich ausführlich ausfallen. Hier ein Beispiel,
in dem der Bericht nach etwa 20 Sekunden Laufzeit angefordert wurde:
Loaded CAN test command file from "C:\cbproj\CanTest\programs\MktStandardSignals1.cts" .
<- automatisch angezeigte Fehlermeldungen
Loaded CANopen OD for SDO server from "C:\cbproj\CanTest\Objects\lenze_tha100_hbg22_sim.dic" .
CAN: UCAN_Init: Loaded Kvaser CANLIB32 V5.27 .
CAN: t=8938: ERROR FRAME RECEIVED (#7) on CAN1 !
CAN: t=17069: ERROR FRAME RECEIVED (#419) on CAN1 !
(an dieser Stelle wurde der Bericht 'CAN-Statistik' angefordert)
Siehe auch: Interpreterfunktionen für die Funktionen für die CAN-Bus-Fehlerstatistik.
CAN bus statistics after 20.0 seconds test duration:
CAN1 Status : no status flags, 4491 frames received, 0 sent, 746 error frames.
CAN2 Status : no status flags, 0 frames received, 0 sent, 0 error frames.
dient zur Darstellung des zeitlichen Verlaufs einzelner Signale oder Variablen. Zum Öffnen dieses Fensters dient die Funktion "View ... Plot Window" im Hauptmenü des CAN-Testers.
Die vertikalen Striche sind Zeitmarken, die i.A. den Beginn einer Sekunde
markieren, bei langsamen
Abtastintervallen alle 15 oder 60
Sekunden. Eine Beschriftung ist (noch) nicht vorgesehen.
In dieser Tabelle wird neben der Definition des darzustellenden Wertes (als Interpreter-Ausdruck, engl. expression) auch der Skalenbereich für das Plot-Fenster sowie der aktuelle Wert in numerischer Form (current value) dargestellt. Zu den Spalten in der Definitionstabelle zählen:
Der Kanalname wird eventuell in einer zukünftigen Version eine größere Rolle spielen, wenn das Plotfenster durch eine Legende ergänzt wird (in der dann der Kanalname in der Farbe des dazugehörigen Graphen angezeigt wird).
Unterhalb der Definitionstabelle können die wichtigsten Anzeigeparameter eingestellt werden:
Hinweis: Nach der Eingabe neuer Definitionen in der Tabelle "Watch Expressions" muss der Button "Apply" (="Übernehmen") angeklickt werden. Sobald in der Tabelle editiert wird, stoppt die periodische Aktualisierung der numerischen Anzeige (current values).
Seit 2006 kann auf der Registerkarte "Spectrum Analyzer" das Spektrum eines der 15 Eingangskanäle des Watch-Fensters dargestellt werden. Diese Funktion eignet sich z.B. zur Analyse von Störungen von analogen Eingangsmodulen (z.B "E/A-Modul mit DMS-Eingang"). Die maximal darstellbare Frequenz ist (frei nach Shannon) die halbe Abtastrate. Bei einem "Update Interval" (s.O.) von 10 Millisekunden sind dies z.B. 0.5 / 10ms = 50 Hz .
Die Amplituden werden auf einer logarithmischen Skala angezeigt, wobei "0
dB" dem Maximum des aktiven Kanals entspricht, welches auf der Registerkarte
"Watch Expressions" in der Spalte "Scale Max" definiert wurde. Die im
Spektrumanalysator dargestellten Dezibel-Werte sind daher normalerweise
negativ, solange das Signal unterhalb des Skalenendbereiches bleibt.
Für Signale, die von einem 16-Bit A/D-Wandler stammen, reicht ein
Amplitudenbereich von -100 bis 0 dB .
Hinweis: Der Spektrumanalysator basiert auf einer privaten Entwicklung von
W.B., sie darf von MKT bis auf Widerruf nur für nicht-kommerziellen
Einsatz verwendet werden. In zukünftigen Versionen des CAN-Testers
könnte dieser Analysator demnach wieder "verschwunden" sein !
Siehe auch:
sdo
zum Zugriff
auf ein abgesetztes Gerät per CANopen (SDO = Service Data Object)
Um das Hilfesystem aus dem Programm zu starten, gibt es folgende Möglichkeiten:
Die Statusflags des CAN-Treibers werden intern als 16-Bit-Parameter verwaltet.
Wenn sich der Zustand dieses Parameters aendert, wird dies automatisch im Meldungsfenster als Hex-Zahl angezeigt. Diese Hex-Zahl kann eine Kombination der folgenden Bitmasken sein:
$0001 : CAN-Hardware-Fehler oder "anderer Fehler"
$0002 : Ueberlauf des CAN-Empfangspuffers
$0004 : Ueberlauf des CAN-Sendepuffers
$0008 : Problem mit dem CAN-Interrupt (IRQ-Nummer falsch ?)
$0040 : CAN-Bus-Warnung, mindestens ein Fehlerzaehler zu hoch
$0080 : CAN-Bus-OFF, Grund z.B. falsche Baudrate
Siehe auch: CANopen-SDO-Fehlercodes
Dateien:
alte Anleitungen für DOS-CAN-Tester
Internet:
Inhalt der 'MKT-CD' (mittlerweile online verfügbar; enthält u.A. den Installer für MKT's CAN-Tester)
Homepage von MKT Systemtechnik
Hard- und Softwareprodukte von MKT, mit Download-Bereich (in dem der CAN-Tester anno 2010 allerdings nicht zu finden war)
CAN in Automation (CiA)
Hier gibt's alle Informationen zum Thema CANopen..
Zurück zum
Seitenbeginn
Neueste Änderung zuerst ! Datum im ISO 8601-Format : YYYY-MM-DD .
Zuletzt bearbeitet: 2019-08-27 (YYYY-MM-DD), W.B.