Download canAnalyser
Transcript
Softwarehandbuch canAnalyser Version 3 IXXAT Automation GmbH Leibnizstr. 15 88250 Weingarten Germany Tel.: +49 751 56146-0 Fax: +49 751 56146-29 Internet: www.ixxat.de E-Mail: [email protected] Support Sollten Sie zu diesem, oder einem unserer anderen Produkte Support benötigen, wenden Sie sich bitte schriftlich an: Fax: +49 751 56146-29 E-Mail: [email protected] Unsere internationalen Supportkontakte finden Sie im Internet unter www.ixxat.de Copyright Die Vervielfältigung (Kopie, Druck, Mikrofilm oder in anderer Form) sowie die elektronische Verbreitung dieses Dokuments ist nur mit ausdrücklicher, schriftlicher Genehmigung von IXXAT Automation GmbH erlaubt. IXXAT Automation GmbH behält sich das Recht zur Änderung technischer Daten ohne vorherige Ankündigung vor. Es gelten die allgemeinen Geschäftsbedingungen sowie die Bestimmungen des Lizenzvertrags. Alle Rechte vorbehalten. Geschützte Warenzeichen Alle in diesem Dokument genannten und ggf. durch Dritte geschützten Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigentümer. Eine fehlende Kennzeichnung von Marken- und Warenzeichen bedeutet nicht automatisch, dass diese nicht markenrechtlich geschützt sind. Handbuchnummer: 1.02.0133.30000 Version: D-3.00 Inhaltsverzeichnis Inhaltsverzeichnis 1 Übersicht 1.1 Einsatzbereich . . . . . . . . . 1.2 Funktionsweise . . . . . . . . . 1.3 Grundfunktionen . . . . . . . . 1.4 Der Begriff Analysekonfiguration . . . . 1 1 1 2 9 2 Installation und Inbetriebnahme 2.1 Systemvoraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Starten des canAnalysers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 11 3 Die Module des canAnalysers 3.1 Control Panel . . . . . . . . . . . . . . . . 3.1.1 Übersicht . . . . . . . . . . . . . . 3.1.2 Start/Stop der Hardware . . . . . . 3.1.3 Control Panel Hauptfenster . . . . . 3.1.4 Statusfenster . . . . . . . . . . . . 3.1.5 Ereignisprotokoll . . . . . . . . . . 3.1.6 Verwalten von Fensteranordnungen 3.1.7 Einfügen von Modulen . . . . . . . 3.1.8 Konfigurationsbaum . . . . . . . . 3.1.9 Startkonfiguration . . . . . . . . . . 3.1.10 Sprachauswahl . . . . . . . . . . . 3.1.11 Modul-Einstellungen . . . . . . . . 3.1.12 Zeitstempel-Einstellungen . . . . . 3.1.13 Menüreferenz . . . . . . . . . . . . 3.1.14 Schalterleiste . . . . . . . . . . . . 3.1.15 Tastaturkürzel . . . . . . . . . . . . 3.2 Receive-Modul . . . . . . . . . . . . . . . 3.2.1 Übersicht . . . . . . . . . . . . . . 3.2.2 Scroll-Ansicht . . . . . . . . . . . . 3.2.3 Overwrite-Ansicht . . . . . . . . . . 3.2.4 Datenänderungsanzeige . . . . . . 3.2.5 Anzeige von Fehlern . . . . . . . . 3.2.6 Filterung von Nachrichten . . . . . 3.2.7 Menüreferenz . . . . . . . . . . . . 3.2.8 Schalterleiste . . . . . . . . . . . . 3.2.9 Statusleiste . . . . . . . . . . . . . 3.2.10 Tastaturkürzel . . . . . . . . . . . . 3.3 Transmit-Modul . . . . . . . . . . . . . . . 13 13 13 13 13 15 15 16 16 17 22 23 24 24 26 27 27 28 28 29 30 30 31 31 32 33 33 34 34 canAnalyser . . . . . . . . . . . . . . . . iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copyright IXXAT Automation GmbH Inhaltsverzeichnis 3.4 3.5 3.6 3.7 3.3.1 Übersicht . . . . . . . . . . . . . . . . . . . 3.3.2 Programmfenster . . . . . . . . . . . . . . . 3.3.3 Erstellen von Sendeobjekten . . . . . . . . . 3.3.4 Bearbeiten der Sendetabelle . . . . . . . . . 3.3.5 Manuelles Senden . . . . . . . . . . . . . . 3.3.6 Zyklisches Senden . . . . . . . . . . . . . . 3.3.7 Drag-and-Drop . . . . . . . . . . . . . . . . 3.3.8 Menüreferenz . . . . . . . . . . . . . . . . . 3.3.9 Schalterleiste . . . . . . . . . . . . . . . . . 3.3.10 Statusleiste . . . . . . . . . . . . . . . . . . 3.3.11 Tastaturkürzel . . . . . . . . . . . . . . . . . Trace-Modul . . . . . . . . . . . . . . . . . . . . . 3.4.1 Übersicht . . . . . . . . . . . . . . . . . . . 3.4.2 Programmfenster . . . . . . . . . . . . . . . 3.4.3 Trace-Aufzeichnung . . . . . . . . . . . . . . 3.4.4 Triggerung . . . . . . . . . . . . . . . . . . 3.4.5 Weiterverarbeitung einer Trace-Aufzeichnung 3.4.6 Menüreferenz . . . . . . . . . . . . . . . . . 3.4.7 Schalterleiste . . . . . . . . . . . . . . . . . 3.4.8 Statusleiste . . . . . . . . . . . . . . . . . . 3.4.9 Tastaturkürzel . . . . . . . . . . . . . . . . . Replay-Modul . . . . . . . . . . . . . . . . . . . . . 3.5.1 Übersicht . . . . . . . . . . . . . . . . . . . 3.5.2 Replay-Fenster . . . . . . . . . . . . . . . . 3.5.3 Menüreferenz . . . . . . . . . . . . . . . . . 3.5.4 Statusleiste . . . . . . . . . . . . . . . . . . 3.5.5 Tastaturkürzel . . . . . . . . . . . . . . . . . Signal-Modul . . . . . . . . . . . . . . . . . . . . . 3.6.1 Übersicht . . . . . . . . . . . . . . . . . . . 3.6.2 Projektdatenbasen . . . . . . . . . . . . . . 3.6.3 Scroll-Ansicht . . . . . . . . . . . . . . . . . 3.6.4 Overwrite-Ansicht . . . . . . . . . . . . . . . 3.6.5 Datenänderungserkennung . . . . . . . . . . 3.6.6 Logging-Ansicht . . . . . . . . . . . . . . . . 3.6.7 Graphansicht . . . . . . . . . . . . . . . . . 3.6.8 Signalauswahlbaum . . . . . . . . . . . . . 3.6.9 Kontextmenü des Signalauswahlbaums . . . 3.6.10 Tastaturkürzel des Signalauswahlbaums . . . 3.6.11 Menüreferenz . . . . . . . . . . . . . . . . . 3.6.12 Schalterleiste . . . . . . . . . . . . . . . . . 3.6.13 Statusleiste . . . . . . . . . . . . . . . . . . 3.6.14 Tastaturkürzel . . . . . . . . . . . . . . . . . Signal-Transmit-Modul . . . . . . . . . . . . . . . . 3.7.1 Übersicht . . . . . . . . . . . . . . . . . . . 3.7.2 Programmfenster . . . . . . . . . . . . . . . 3.7.3 Auswählen von Signalen . . . . . . . . . . . 3.7.4 Senden von Signalen . . . . . . . . . . . . . 3.7.5 Menüreferenz . . . . . . . . . . . . . . . . . 3.7.6 Werkzeugleiste . . . . . . . . . . . . . . . . 3.7.7 Statusleiste . . . . . . . . . . . . . . . . . . canAnalyser iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 35 35 37 37 37 38 38 39 39 40 40 40 40 41 42 45 45 46 47 47 48 48 48 49 49 49 49 49 50 51 51 53 54 55 57 59 59 60 62 62 62 64 64 64 64 66 67 67 67 Copyright IXXAT Automation GmbH Inhaltsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . 67 67 67 68 69 72 73 73 74 74 75 76 77 78 80 80 80 82 83 84 84 84 86 86 86 . . . . 89 89 89 89 90 B Definitionen B.1 Definitionen, Akronyme, Abkürzungen . . . . . . . . . . . . . . . . . . . . . . . 91 91 C Urheberrechte C.1 Urheberrechte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.1.1 Urheberrecht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.1.2 Zusätzliche Urheberrechte . . . . . . . . . . . . . . . . . . . . . . . . . 93 93 93 93 3.8 3.9 3.10 3.11 3.7.8 Tastaturkürzel . . . . . . . . . . . . . . . . . . Sequencer-Modul . . . . . . . . . . . . . . . . . . . 3.8.1 Übersicht . . . . . . . . . . . . . . . . . . . . 3.8.2 Befehlssyntax . . . . . . . . . . . . . . . . . . 3.8.3 Befehlsübersicht . . . . . . . . . . . . . . . . 3.8.4 Menüreferenz . . . . . . . . . . . . . . . . . . 3.8.5 Schalterleiste . . . . . . . . . . . . . . . . . . 3.8.6 Statusleiste . . . . . . . . . . . . . . . . . . . 3.8.7 Tastaturkürzel . . . . . . . . . . . . . . . . . . Handhabung von Filtern . . . . . . . . . . . . . . . . 3.9.1 Filterkonfiguration . . . . . . . . . . . . . . . . 3.9.2 ID Range Filter . . . . . . . . . . . . . . . . . 3.9.3 ID/Data Mask Filter . . . . . . . . . . . . . . . Integration von eigenen Analysemodulen . . . . . . . Scripting-Host . . . . . . . . . . . . . . . . . . . . . 3.11.1 Übersicht . . . . . . . . . . . . . . . . . . . . 3.11.2 Der Scripting-Host in der Analyse-Konfiguration 3.11.3 Das Scripting-Host Fenster . . . . . . . . . . . 3.11.4 Skript bearbeiten . . . . . . . . . . . . . . . . 3.11.5 Skript ausführen . . . . . . . . . . . . . . . . 3.11.6 Skript anhalten . . . . . . . . . . . . . . . . . 3.11.7 Skript debuggen . . . . . . . . . . . . . . . . 3.11.8 Menüreferenz . . . . . . . . . . . . . . . . . . 3.11.9 Schalterleiste . . . . . . . . . . . . . . . . . . 3.11.10Tastaturkürzel . . . . . . . . . . . . . . . . . . A Export A.1 Export von CSV-Dateien . . . . . . . . A.1.1 Verwendetes CSV-Format . . . A.1.2 Import in Microsoft ® Excel . . . A.1.3 Import in OpenOffice/LibreOffice canAnalyser v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copyright IXXAT Automation GmbH Kapitel 1 Übersicht 1.1 Einsatzbereich Der canAnalyser ist ein modernes, leistungsfähiges Werkzeug für die Entwicklung, Inbetriebnahme, Pflege und den Test von CAN-Netzwerken. Der canAnalyser basiert auf der VCI-Softwareschnittstelle von IXXAT und ist für alle HardwareInterfaces von IXXAT verfügbar. 1.2 Funktionsweise Der canAnalyser basiert auf einem modularen Konzept: Die Kommunikation mit Treiber und Hardware wird von einer zentralen Server-Applikation, dem Control Panel übernommen, auf das mehrere Client-Applikationen, sog. Analyse-Module, aufsetzen können. Diese Analyse-Module werden vom Control Panel verwaltet und ihnen werden die von der Hardware empfangenen Nachrichten zur Verfügung gestellt. Auf der Hardware erfolgt die zeitkritische Vorverarbeitung wie die Zwischenspeicherung und das Stempeln der Telegramme mit dem Empfangszeitpunkt. Die Analyse-Module stellen durch die Weiterverarbeitung und Aufbereitung der vom Control Panel bereitgestellten Telegramme die eigentliche Analyse-Funktionalität zur Verfügung. Die Stimulation des Netzwerkes erfolgt gleichfalls über Analyse-Module, welche die zu sendenden Nachrichten dem Server übergeben, der die weitere Kommunikation mit der Hardware übernimmt. Der Vorteil dieser Struktur liegt in der Modularität und einfachen Erweiterbarkeit, außerdem können gleiche Analyse-Module mehrfach gestartet werden. Durch unterschiedliche ModulEinstellungen (z.B. Filter) wird eine bessere Übersichtlichkeit erreicht. Folgende Grundfunktionen werden von den Analyse-Modulen zur Verfügung gestellt: • Online-Anzeige von Schicht-2-Nachrichten (Receive-Modul) • Einmaliges und zyklisches Senden von Schicht-2-Telegrammen (Transmit-Modul) • Aufzeichnung und Offline-Auswertung von Schicht-2-Nachrichten (Trace-Modul) • Textuelle und grafische Anzeige von interpretierten Nachrichteninhalten (Signalen) sowie Statistik-Signalen (Signal-Modul) • Senden von Signalen (SignalTransmit-Modul) • Zeitsynchrones Analysieren mehrerer Busse canAnalyser 1 Copyright IXXAT Automation GmbH Kapitel 1. Übersicht • Darstellung der Buslast • Emulation von Knoten und Protokollabläufen durch Abarbeitung von kommandogesteuerten Nachrichtensequenzen (Sequencer-Modul, CAN) • Datenänderungs- und Zykluszeitüberwachung Weitergehende Analyse-Möglichkeiten können über benutzerdefinierte Module in .NETkompatiblen Sprachen realisiert werden. Beispiele in C# und VB.NET für die gängige Szenarien werden mitinstalliert. Weitere Informationen entnehmen Sie bitte der .NET API Dokumentation. 1.3 Grundfunktionen Das folgende Kapitel führt in die wichtigsten Funktionen des Control Panels und der AnalyseModule ein. Eine tiefergehende Erläuterung der einzelnen Programmmodule finden Sie in Kapitel 5 - Die Module des canAnalysers. Konfiguration Das Control Panel ist die Steuerzentrale des canAnalysers und stellt die folgenden Funktionen bereit: • Konfiguration der Hardware • Bestimmung der zu verwendenden Projektdatenbasen. Die Projektdatenbasen enthalten u.a. die Namen der Nachrichten die Zykluszeit und die Datenlänge und stellt die Grundlage für die Interpretation von Schicht-2-Nachrichten dar. • Anzeige von Bus- und Controller-Status • Erstellen, Laden und Speichern der Analyse-Konfiguration Das Control Panel (Abb. 1.1) stellt folgende Anzeigebereiche zur Verfügung: • Modul-Übersicht mit verfügbaren Analyse-Modulen • Konfigurationsbaum mit der aktuellen Analyse-Konfiguration • Busstatus-Fenster • Layouts-Fenster • Fehlerprotokoll-Fenster Aus dem Konfigurationsbaum sind folgende Informationen ersichtlich: • Name der geladenen Konfiguration • Liste der virtuellen Busse • Zuordnung der Controller mit ihren Einstellungen • Zuordnung der Analyse-Module zu den einzelnen virtuellen Bussen Um ein Analyse-Modul aus der Modulübersicht mit einem Controller zu verbinden, wird das entsprechende Modul mit der Maus per Drag und Drop von der Modulübersicht auf den gewünschten Controller gezogen. canAnalyser 2 Copyright IXXAT Automation GmbH 1.3. Grundfunktionen Abbildung 1.1: Control Panel des canAnalysers canAnalyser 3 Copyright IXXAT Automation GmbH Kapitel 1. Übersicht Abbildung 1.2: Receive-Modul Empfangen von Nachrichten Das Receive-Modul stellt die folgenden Analyse-Funktionen bereit: • Empfang und Darstellung von Schicht-2-Nachrichten in zeitlicher Empfangsreihenfolge (Scroll-Modus) • Darstellung der empfangenen Nachrichten sortiert nach Identifiern (Overwrite-Modus) • Ein- und Ausblenden beliebiger Nachrichten (Filterfunktion) • Anzeige von Änderungen im Datenbereich der empfangenen Nachrichten • Überwachung der Zykluszeit einzelner Nachrichten • Anzeige von Busfehlern/Errorframes • Anzeige der Daten in unterschiedlicher Darstellung (hexadezimal, dezimal, ASCII) • Anzeige der Anzahl der empfangenen Nachrichten insgesamt (Scroll-Modus) oder je Identifier (Overwrite-Modus) Zur einfacheren Identifizierung der Nachrichten wird in jedem Analyse-Modul der dem Identifier zugeordnete Name aus den Projektdatenbasen angezeigt. Abb. 1.2 zeigt ein Receive-Modul. Senden von Nachrichten Mit dem Transmit-Modul (Abb. 1.3) lassen sich Sende-Nachrichten spezifizieren und einzeln oder zyklisch versenden. Beim zyklischen Senden lässt sich die Anzahl der Nachrichten, ihre Zykluszeit und ein Inkrement festlegen. Nachrichtenaufzeichnung (Trace) von mehreren Bussen Das Trace-Modul ermöglicht die parallele Nachrichtenaufzeichnung von mehreren Bussen auf die Festplatte. canAnalyser 4 Copyright IXXAT Automation GmbH 1.3. Grundfunktionen Abbildung 1.3: Transmit-Modul Abbildung 1.4: Trace-Modul Die Nachrichtenaufzeichnung (Trace) erfolgt für die konfigurierten Bussysteme in getrennte Dateien. Die Nachrichten werden nach der Aufzeichnung in zeitlicher Relation zueinander und farblich gekennzeichnet dargestellt. Über das Trace-Modul (Abb. 1.4) erfolgt sowohl die Steuerung und Konfiguration des Trace als auch die Anzeige der Trace-Aufzeichnung. canAnalyser 5 Copyright IXXAT Automation GmbH Kapitel 1. Übersicht Abbildung 1.5: Signal-Modul, Overwrite-Modus Nachrichtenfilterung Filter werden dazu verwendet innerhalb von Analysemodulen das Nachrichtenaufkommen zu reduzieren. Hierzu konfiguriert der Anwender verschiedene Filter mit benutzerdefinierten Analysekriterien um den Nachrichtenstrom unter spezifischen Aspekten betrachten zu können. Filter sind applikationsweit verfügbar und werden über einen benutzerdefinierten Namen identifiziert. Der Anwender kann somit innerhalb eines Analysemoduls komfortabel einen Filter über dessen Namen auswählen und sehr schnell zwischen verschiedenen Filterkonfigurationen wechseln. Interpretation von Nachrichten Mit dem Signal-Modul ist es möglich, empfangene Schicht-2-Nachrichten in Form von Signalen interpretiert darzustellen. Grundlage für die Interpretation sind die Datenbasen, die bei der Konfiguration der Analyse-Umgebung spezifiziert wurden. Datenbasen können unter anderem mit dem Datenbasis-Editor erstellt werden. Weitere Informationen sind im Handbuch des Datenbasis-Editors zu finden. Auch im Signal-Modul kann die Nachrichtendarstellung in zeitlicher Empfangsreihenfolge (ScrollModus) oder vorkonfiguriert im Overwrite-Modus (Abb. 1.5) erfolgen. Im Overwrite-Modus wird die Anzeige von Signalwert-Änderungen und die Überwachung der Zykluszeit unterstützt. Zeitsynchrone Analyse Die Anzeige empfangener Schicht-2-Nachrichten und interpretierter Signale der verschiedenen Analyse-Module kann anhand des Zeitstempels synchronisiert werden. Durch Doppelklick auf eine empfangene Nachricht oder auf ein empfangenes Signal wird die canAnalyser 6 Copyright IXXAT Automation GmbH 1.3. Grundfunktionen Abbildung 1.6: Sequencer-Modul Anzeige der anderen Analyse-Module auf den der markierten Nachricht zeitlich am nächsten liegenden Eintrag gescrollt und dieser markiert. Die zeitsynchrone Analyse ist besonders hilfreich, wenn der Nachrichtenverkehr verschiedener Bussysteme mit unterschiedlich hohem Busverkehr analysiert werden müssen und wenn Korrelationen zwischen verschiedenen Bussystemen hergestellt werden müssen. Anzeige der Buslast Für einen schnellen Überblick über die Buslast und eventuelle Fehlerzustände kann im ControlPanel für jeden Bus ein Statusdialog geöffnet werden, der die entsprechenden Informationen anzeigt. Eine grafische Auswertung der Buslast kann auch über das Signal-Modul und die entsprechenden Statistik-Signal erfolgen. Emulation von Knoten oder Protokollen durch Abspielen von Sequenzen Das Sequencer-Modul (Abb. 1.6) stellt die Abarbeitung kommandogesteuerter NachrichtenSequenzen zur Verfügung und kann verwendet werden, um Knoten bzw. Protokollabläufe zu emulieren oder eine bestimmte Buslast zu generieren. Außerdem ermöglicht das Sequencer-Modul ein sog. Trace-Replay. Eine durch das Trace-Modul aufgezeichnete Trace-Datei kann zu einer Nachrichten-Sequenz konvertiert und abgearbeitet werden. Graphische Anzeige von Dateninhalten Das Signal-Modul unterstützt die Darstellung von Signalen in Form von y-t-Diagrammen (LinienSchreibern). Integration von eigenen Analysemodulen Durch die offene .NET Programmierschnittstelle hat der Anwender die Möglichkeit den canAnalyser um eigene Module oder Benutzerschnittstellen zu erweitern. Mit gängigen Windows Entwicklungssystemen (z. B. Visual Studio .NET, Delphi) können neue, eigenständige, auf .NET canAnalyser 7 Copyright IXXAT Automation GmbH Kapitel 1. Übersicht Abbildung 1.7: Control Panel mit "C# CAN Tx" Beispiel-Analysemodul Framework basierende Module entwickelt und dem canAnalyser hinzugefügt werden. So können z. B. Bedienoberflächen für eigene Systeme bzw. für bestimmte Geräte oder Werkzeuge mit systemspezifischen Analysefunktionen erstellt werden. .NET Module müssen einem vorgegebenen Schema entsprechen (siehe Beispiele und .NETAPI-Dokumentation) und werden in folgenden Verzeichnissen beim Start des canAnalysers gesucht: • im Installationspfad (z.B. "c:\Program Files (x86)\IXXAT\canAnalyser3 standard") • %UserDocs%\IXXAT\canAnalyser\3.0\UDModules (z.B. c:\Users\Hans\Documents\IXXAT\canAnalyse • %PublicDocs%\IXXAT\canAnalyser\3.0\UDModules c:\Users\Public\Documents\IXXAT\canAnalyser\3.0\UDModules) (z.B. Das Analysemodul wird übersetzt und dem canAnalyser als Assembly zur Verfügung gestellt. Die beim Startup der canAnalyser Applikation automatisch erkannten benutzerspezifischen Module werden zusammen mit den Standardmodulen in der Modulübersicht des Control Panels zur Verfügung gestellt und können so mittels Drag-and-Drop gestartet werden (Abb. 1.7). Ausführung von Skripten Skripte erleichterten sowohl die Arbeit des Entwicklers während der Testphase als auch dem Servicetechniker die Fehlersuche vor Ort, da die Erstellung und Änderung von Skripten sehr flexibel und kosteneffektiv durchgeführt werden kann. Hierbei ist nicht zwingend eine Entwicklungsumgebung erforderlich und jede Modifikation kann sofort getestet werden. Für die Konfiguration und Ausführung von Skripten stellt das Control Panel in der Modulübersicht einen Scripting-Host als Analysemodul bereit (Abb. 1.8). Hierin ausführbare Skripte basieren auf canAnalyser 8 Copyright IXXAT Automation GmbH 1.4. Der Begriff Analysekonfiguration Abbildung 1.8: Scripting-Host mit Programmierbeispielen. derselben offenen .NET Programmierschnittelle, die für die Integration von eigenen Analysemodulen verwendet wird. Der Scripting-Host unterstützt sowohl Console-basierte Skripte als auch Skripte mit grafischer Benutzerschnittstelle (GUI). 1.4 Der Begriff Analysekonfiguration Als Analysekonfiguration wird die Gesamtheit der Konfigurationsdaten im Control Panel und der Einstellungen aller darin konfigurierten Analysemodule bezeichnet. D.h. es sind sowohl Hardwareparameter als auch Filtereinstellungen und modulspezifische Einstellungen, wie die Liste der Sendenachrichten eines Transmit-Moduls enthalten. Des Weiteren umfasst eine Analysekonfiguration Layoutinformationen wie Position und Größe aller canAnalyser-Fenster. Über das Control Panel kann die komplette Analysekonfiguration zentral in eine Konfigurationsdatei abgespeichert und später anhand dieser wiederhergestellt werden. Um lediglich einzelne Teile einer Analysekonfiguration (z.B. die Liste der Sendenachrichten eines Transmit-Moduls oder die Filtereinstellungen) in eine zweite Analysekonfiguration übernehmen zu können bietet der canAnalyser an vielen Stellen die Möglichkeit, solche durch Export in eine separate Datei zu abzulegen. In einer anderen Analysekonfiguration können die exportierten Einstellungen an gleicher Stelle durch Importieren dieser Datei wiederhergestellt werden. canAnalyser 9 Copyright IXXAT Automation GmbH Kapitel 2 Installation und Inbetriebnahme 2.1 Systemvoraussetzungen Für den Betrieb des canAnalysers müssen die folgenden Systemvoraussetzungen erfüllt sein: • x86 kompatibler Processor mit minimum 800 MHz oder höher • Windows XP, Windows Vista, Windows 7 • Mindestens 1GB Arbeitsspeicher • Installierter IXXAT VCI-Treiber, Version 3 oder höher Vor der Installation des canAnalysers muss die zu verwendende Hardware mit dem IXXAT VCITreiber installiert werden. Zur Installation der CAN-Hardware lesen Sie bitte das Hardware-Installationshandbuch. Zur Installation des benötigten IXXAT VCI-Treibers beachten Sie bitte das VCI-Installationshandbuch. 2.2 Installation Zur Installation des canAnalysers legen Sie die mitgelieferte Programm-CD in das CD-Laufwerk ihres Rechners. Sollte das Installationprogramm nicht automatisch gestartet werden führen Sie bitte die Setup-Datei(z.B. canAna30_std_XXXX.exe) auf der CD aus. Folgen Sie den Anweisungen des Installationsprogramms. 2.3 Starten des canAnalysers Der canAnalyser wird durch Anklicken des auf dem Desktop angelegten Programmsymbols oder über das Windows-Startmenü gestartet. canAnalyser 11 Copyright IXXAT Automation GmbH Kapitel 3 Die Module des canAnalysers In diesem Kapitel werden die einzelnen Komponenten des canAnalysers detailliert beschrieben. Die Bedienelemente, Menüs und Dialoge werden jeweils im Zusammenhang mit den einzelnen Modulen erläutert. 3.1 3.1.1 Control Panel Übersicht Das Control Panel bildet die Steuerzentrale des canAnalysers. Über das Control Panel werden die Analyse-Konfigurationen zusammengestellt und die einzelnen Module gestartet. Die eigentliche Analyse-Funktionalität wird von den konfigurierten Analyse-Modulen bereitgestellt. 3.1.2 Start/Stop der Hardware Die Analyse kann über die Schalterleiste gestartet werden. Durch Betätigen des Schalters Controller starten in der Schalterleiste des Control Panels werden alle in der Konfiguration enthaltenen Feldbus-Controller gestartet. Zum Anhalten der Hardware wird der Schalter Controller stoppen betätigt. Nur wenn die Hardware gestartet ist, können Objekte empfangen oder gesendet werden. Das Starten und Stoppen der Controller/Hardware kann auch über die Menüpunkte Steuerung | Kommunikation starten und Steuerung | Kommunikation stoppen vorgenommen werden. 3.1.3 Control Panel Hauptfenster Das Programmfenster des Control Panels (Abb. 3.1) ist in folgende Bereiche unterteilt: • Modulübersicht mit allen verfügbaren Analyse-Modulen • Konfigurationsbaum mit der aktuellen Analyse-Konfiguration • Statusfenster für jeden vorhandenen Bus/Controller. • Ereignisprotokoll, hält interne Ereignisse fest • Layoutliste, verwaltet mehrere Fensteranordnungen (Layouts) per Namen canAnalyser 13 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.1: Die sichtbaren Bereiche des Control Panels canAnalyser 14 Copyright IXXAT Automation GmbH 3.1. Control Panel Abbildung 3.2: CAN-Statusfenster 3.1.4 Statusfenster Für jeden vorhanden Controller hält das Control Panel ein Statusfenster (Abb. 3.2). Durch einen Rechtsklick auf einen Controller im Konfigurationsbaum wird ein Popup-Menü (Abb. 3.6) sichtbar, welches das ein- bzw. ausblenden des entsprechenden Statusfensters ermöglicht. CAN-Statusfenster Das CAN-Statusfenster enthält folgende Informationen: Bedeutung Anzeige aus Anzeige an CAN Pend (Transmit pending) CAN-Controller ist gestartet Alle Nachrichten versendet, Sendequeue ist leer Ovr (Data overrun) Warn (Warning level) - B.off (Bus off) - CAN-Controller ist gestoppt Es stehen noch nicht gesendete Nachrichten in der HardwareSendequeue CAN-Controller Overrun CAN-Controller Fehlerzähler in Error Warning Level CAN-Controller in Bus off Eine Online-Analyse ist ausschließlich bei gestarteter Hardware möglich. Nach erstmaligem Auftreten eines Data Overrun bleibt die Data Overrun-LED an, sie erlischt erst nach Stoppen und erneutem Starten der Controller. Leuchtet die Bus off-LED, befindet sich der CAN-Controller im Bus off-Zustand, d.h. er wurde vom Bus abgetrennt und nimmt somit nicht mehr an der Netzwerkkommunikation teil. Die Hardware muss gestoppt und wieder gestartet werden, um eine CAN-Kommunikation wiederherzustellen. Die Buslast-Anzeige (Abb. 3.2) zeigt die prozentuale Auslastung des Busses an. Die Buslastmessung ist eine Hardwarefunktion, die nicht von allen Interfacekarten unterstützt wird. Die Anzeige der Buslast erfolgt nur dann wenn dies vom Interface unterstützt wird. 3.1.5 Ereignisprotokoll Das Control Panel hat eine eigene Protokolleinrichtung zur Aufzeichnung von internen Ereignissen und Fehlern. Über den Menübefehl Ansicht | Ereignisprotokoll wird es angezeigt mit den folgenden Informationen: canAnalyser 15 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.3: Control Panel, Modul-Liste Spalte Bedeutung Symbol Timestamp Sequence Code Thread Module Message Art des Ereignisses: Erfolg, Nachricht, Warnung, Fehler, oder Folgezeile Datum und Uhrzeit des Eintritts Nachrichtennummer bezogen auf den jeweiligen canAnalyser Programmlauf Hexadezimaler Fehlercode Hexadezimaler Thread identifier canAnalyser Modul, bei dem das Ereignis aufgetreten ist Meldungstext Das Ereignisprotokoll ist eine durch Kommata getrennte Textdatei, die sich im Benutzerverzeichnis unter C:\Users\fferg\AppData\Local\IXXAT\canAnalyser\3.0\Log\*\canAnalyser.log befindet. Mit den entsprechenden Menübefehlen des Ansicht-Menüs läßt sich festlegen, welche Ereignisarten im Ereignisprotokollfenster angezeigt werden sollen. Der Menübefehl Ansicht | Ereignisprotokoll löschen leert das Ereignisprotokoll. 3.1.6 Verwalten von Fensteranordnungen In der Layoutliste kann das aktuelle Fenster-Layout gespeichert, benannt und mit einem Hotkey versehen werden, mit dem schnell auf ein gepeichertes Layout umgeschaltet werden kann. 3.1.7 Einfügen von Modulen Einfügen von Modulen über Drag und Drop Die Modul-Liste (Abb. 3.3) zeigt alle verfügbaren Analyse Funktionen und ist in Verbindung mit der Erstellung einer Konfiguration relevant. Durch Drag und Drop der Icons wird die gewählte Analyse-Funktion aus der Modul-Liste in den Konfigurationsbaum auf einen Bus gezogen und kann in dieser Konfiguration als Analyse-Modul aktiviert werden. Eine Analyse-Funktion kann durch wiederholtes Ziehen von der Modul-Liste in den Konfigurationsbaum für eine bestimmte Konfiguration beliebig häufig aktiviert werden (nur bei canAnalyser standard möglich). canAnalyser 16 Copyright IXXAT Automation GmbH 3.1. Control Panel Abbildung 3.4: Kontextmenü des Konfigurationsbaums zum Einfügen von Modulen Einfügen von Modulen über das Menü des Konfigurationsbaums Durch Drücken der Einfügen-Taste wird im Konfigurationsbaum ein Menü (Abb. 3.4) angezeigt, welches das Einfügen von Modulen in die Konfiguration ermöglicht. Das Menü zeigt jeweils nur die vom Controller unterstützen Module an. 3.1.8 Konfigurationsbaum Im Konfigurationsbaum (Abb. 3.5) ist die aktuelle Analyse-Konfiguration hierarchisch dargestellt. Eine Analyse-Konfiguration definiert die folgenden Objekte: • Projekt mit Namen der Projekt-/Konfigurations-Datei. • Bus mit Kommunikationsparametern • Analyse-Module In diesem Abschnitt werden die Einstellungen, die über die Popup-Menüs des Konfigurationsbaums konfiguriert werden können, erläutert. Die vollständige Analyse-Konfiguration kann gespeichert und wieder hergestellt werden. Um eine Analyse-Konfiguration zu erstellen werden die benötigten Analyse-Funktionen per Drag und Drop von der Modul-Liste in den Konfigurationsbaum auf einen Bus/Controller gezogen. Anschließend werden die Elemente des Konfigurationsbaums konfiguriert. Hierzu hat jedes Symbol im Konfigurationsbaum ein eigenes Popup-Menü (Abb. 3.6), welches über die rechte Maustaste aktiviert werden kann. Folgende Einstellungen müssen vorgenommen werden: • Einstellen der Eigenschaften des Busses • Einstellen der Eigenschaften des Controllers • Benutzerdefinierte Bezeichnung der Analyse-Module Nach einer Änderung der Konfigurationseinstellungen wird eine aktive Konfiguration automatisch kurzzeitig gestoppt und anschließend mit den aktualisierten Einstellungen wieder gestartet. canAnalyser 17 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.5: Konfigurationsbaum des Control Panels Abbildung 3.6: Popup-Menü eines CAN-Busses canAnalyser 18 Copyright IXXAT Automation GmbH 3.1. Control Panel Abbildung 3.7: Einstellung eines symbolischen Busnamens Abbildung 3.8: Interpretations-Datenbasis auswählen/entfernen Eingabe eines symbolischen Busnamens Im Eingabefeld Name in der Kategorie Bus des Buseigenschaften-Dialogs (Abb. 3.7) kann der Benutzer einen symbolischen Namen für den Bus definieren, der anschließend im Konfigurationsbaum des Control Panels angezeigt wird. Auswahl einer Interpretations-Datenbasis Mit dem Datenbasis Editor (siehe Handbuch Datenbasis-Editor) ist es möglich, einzelnen Identifiern und Daten von Schicht-2-Nachrichten symbolische Bedeutungen zuzuordnen und sie unter Verwendung dieser Informationen zu interpretieren. Existiert noch keine Datenbasis, so kann der Datenbasis-Editor direkt aus dem Menü Tools | DIM Editor des Control Panels gestartet werden. Durch Betätigen des Öffnen-Schalters im Feld Datenbasen (Abb. 3.8) öffnet sich eine Dialogbox mit der die Datenbasis, die dem Bus zugrunde liegen soll, ausgewählt werden kann. Diese Datenbasis kann entweder im DIM(*.xml), FIBEX(*.xml) oder im CANDB(*.dbc) Format vorliegen. Das Format der Datenbasis kann in der der Dateityp Dropdown Liste des "Import File" Dialogs ausgewählt werden. canAnalyser 19 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.9: CAN-Einstellungen Alle Analyse-Module zeigen dann in ihrer Nachrichten-Spalte den symbolischen Namen, der dem jeweiligen Identifier in der Datenbasis zugeordnet ist. Das Signal-Modul verwendet die Datenbasis zur vollständigen Interpretation einer empfangenen Schicht-2-Nachricht. Einer Interpretationsdatenbasis liegt immer ein bestimmtes Nachrichtenformat zugrunde. Stimmen die Nachrichtenformate von Bus und Datenbasis nicht überein, werden Telegramme nicht oder falsch interpretiert. Es ist darauf zu achten, dass die Nachrichtenformate von Bus und Datenbasis zusammenpassen. CAN-Einstellungen Über den Eigenschaften-Eintrag des Popup-Menüs eines CAN-Busses werden die Einstellungen des CAN-Controllers festgelegt. Dies sind: • Nachrichtenformat • Fehlertelegrammerkennung • Bestätigungs-Verhalten • Timing-Parameter • Busankopplung (High- oder Lowspeed) Abb. 3.9 zeigt den Dialog zur Einstellung der CAN-Controller-Parameter. Um Timing-Parameter leichter zu identifizieren, werden diese über symbolische Namen verwaltet. Über die neben dem Namen stehenden Schaltsymbole können die Parameter, die zu diesem Namen konfiguriert sind, geändert werden und es können neue Einträge hinzugefügt werden. Die Bedeutung der Parameter im CAN-Einstellungen-Dialog: canAnalyser 20 Copyright IXXAT Automation GmbH 3.1. Control Panel Abbildung 3.10: Bitrate auswählen, hinzufügen, bearbeiten oder löschen Einstellung Operation Mode Funktion Protokoll Definiert das Nachrichtenformat, mit dem der CAN-Controller arbeitet (standard 11 Bit Identifier bzw. extended 29 Bit Identifier) Ist diese Checkbox gesetzt, so werden auch Errorframes an die verbunden Analyse-Module weitergeleitet Ist diese Checkbox gesetzt, so wird der CAN-Controller im TxPassive Modus initialisiert, d.h. er hört am Bus, verhält sich aber passiv und sendet somit keine Bestätigungen oder Fehlerrahmen. Auswahl der physikalischen Busankopplung des CANControllers (Normalerweise Highspeed, ggf. Lowspeed). Lowspeed ist ein fehlertoleranter 2-Draht Standard mit einer maximalen Bitrate von 125 kBit/sec. Fehlertelegramme erkennen Tx passiv Busankopplung Einstellung Bitrate Die Bitrate wird über den symbolischen Namen des Timings ausgewählt. Die dem Namen zugeordneten Timing-Parameter können geändert werden und es können neue Parametersätze hinzugefügt oder alte gelöscht werden. Hierzu werden die Schalter neben dem symbolischen Namen (Abb. 3.10) betätigt. CAN Bitratenrechner Der Bitratenrechner (Abb. 3.11) kann durch Betätigen des Hinzufügen oder Bearbeiten Schalters geöffnet werden. Hier können mittels Eingabe der gewünschten Bitrate die entsprechenden Bittimingwerte berechnet werden. Beschreibung der Eingabefelder im Bitraten-Einstellungsdialog: Eingabefeld Beschreibung Bezeichnung Bitrate (kbit/s) Der symbolische Name des Timings Zu berechnende Bitrate in kbit pro Sekunde Beschreibung der Spalten in der Berechnungsliste: canAnalyser 21 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.11: Der Bitratenrechner Spalte Beschreibung BRP TSEG1 TSEG2 SJW Reg 0 (hex) Reg 1 (hex) Sample Point Bitrate (kbit/s) Baudrate Prescaler Timing Segement 1 Timing Segement 2 Synchronisation Jump Width Bus Timing Register 0 (Hexadezimale Darstellung) Bus Timing Register 1 (Hexadezimale Darstellung) Sample Location Berechnete Bitrate mit den Werten der markierten Zeile Analyse-Modul Popup-Menü Durch Rechtsklick auf das Symbol eines Analyse-Moduls im Konfigurationsbaum erscheint ein Popup-Menü (Abb. 3.12). Jedes Analyse-Modul kann über dieses Kontextmenü gestartet, umbenannt oder aus der Konfiguration entfernt werden. Außerdem ist es möglich, die Fenstergröße eines Moduls zu verändern. Ein Doppelklick auf ein Symbol eines Analyse-Moduls hat dieselbe Wirkung, wie das Modul wiederherstellen-Kommando im Popup-Menü und versetzt das Fenster des entsprechenden Moduls in der Vordergrund. 3.1.9 Startkonfiguration Über den Optionen-Dialog kann festgelegt werden, welche Konfiguration das Programm beim Start verwenden soll. Möglich sind: • die Grundkonfiguration • die leere Konfiguration canAnalyser 22 Copyright IXXAT Automation GmbH 3.1. Control Panel Abbildung 3.12: Popup-Menü der Analyse-Module Abbildung 3.13: Dialog zur Startkonfiguration • die zuletzt verwendete Konfiguration • die Konfiguration aus einer festgelegten Konfigurationsdatei Die Einstellung wird beim nächsten Neustart des canAnalysers angewendet. 3.1.10 Sprachauswahl Mit dem Sprachauswahldialog (Abb. 3.14) kann die Spracheinstellung des canAnalysers verändert werden. In einer Liste werden die verfügbaren Sprachen angezeigt. Nach dem Ändern der canAnalyser 23 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.14: Dialog zur Sprachauswahl Spracheinstellungen ist ein Neustart des canAnalysers notwendig, um die Änderung wirksam werden zu lassen. 3.1.11 Modul-Einstellungen In diesem Dialog (Abb. 3.15) können Modul-spezifische Einstellungen vorgenommen werden. Momentan ist das • Die Sichtbarkeit der Module in der Taskleiste • Zeilenanzahl der Scrollanzeige in ReceiveModulen (Standard 10000, max. 50000 Zeilen) • Größe der Konsole in Scripting-Host Programmen (Standard 200, max. 20000 Zeilen) Um die Einstellungen wirksam werden zu lassen, ist ein Neustart des canAnalysers notwendig. 3.1.12 Zeitstempel-Einstellungen Der Zeitstempel-Einstellungen Dialog (Abb. 3.16). dient dazu die für Zeitstempel verwendete Referenz-Zeit einzustellen. Zwei Optionen sind möglich: • Zeitstempel bei Start der Kommunikation zurücksetzen • Start der Kommunikation auf Systemzeit beziehen Die erste Option setzt die Referenzzeit zum Zeitpunkt des Starts der Kommunikation auf null. Alle weiteren Zeitstempel sind relativ zu diesem Zeitpunkt. Bei Verwendung der zweiten Option wird zum Startzeitpunkt der Kommunikation die aktuelle Systemzeit ermittelt, und als Referenzzeit für die folgenden Zeitstempel verwendet. Für die Synchronisation der Startzeit gibt es zwei Verfahren, zwischen denen mit den Optionen: canAnalyser 24 Copyright IXXAT Automation GmbH 3.1. Control Panel Abbildung 3.15: Modul-Einstellungen Dialog • Gemeinsame Uhr • Mehrere Uhren umgeschaltet werden kann. Die Grundeinstellung "Gemeinsame Uhr" sollte verwendet werden, wenn entweder nur eine CAN-Karte verwendet wird oder wenn alle verwendeten Karten PCIe basiert sind (diese verwenden eine gemeinsame Uhr). Da hier alle Quellen eine gemeinsame Uhr verwenden, wird der erste Zeitstempel auf den Start der ersten Quelle bezogen. Die Einstellung "Mehrere Uhren" ist nur dann sinnvoll, wenn der Startzeitpunkt mehrerer CANKarten, die keine gemeinsame Zeit-Basis haben, synchronisiert werden soll. Aufgrund der Laufzeiten im System kann dabei ein kleiner Versatz zwischen den verschiedenen Quelle auftreten. Da zudem nur der Startzeitpunkt synchronisiert wird, kann sich über die Laufzeit hinweg die unterschiedlich Drift der Uhren auswirken und die Beziehung der empfangenen Nachrichten zueinander verfälschen. Um die Einstellungen wirksam werden zu lassen, ist ein Neustart der Kommunikation notwendig. canAnalyser 25 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.16: Zeitstempel-Einstellungen Dialog 3.1.13 Menüreferenz Datei-Menü Menüpunkt Funktion Neu Öffnen ... Speichern Erstellt eine neue leere Konfiguration Öffnet eine bestehende Konfiguration und stellt diese her Speichert die aktuelle Konfiguration unter dem bereits angegebenen Dateinamen Speichert die aktuelle Konfiguration unter einem neu einzugebenden Dateinamen Anzeige der zuletzt geöffneten Analyse-Konfigurationen Beendet den canAnalyser Speichern unter... zuletzt geöffnete Dateien Beenden Ansicht-Menü Menüpunkt Funktion Modulübersicht Hardwarecontroller Layoutliste Ereignisprotokoll Symbolleiste Statusleiste Schaltet die Modulübersicht sichtbar/unsichtbar Schaltet die Hardwarecontroller Übersicht sichtbar/unsichtbar Schaltet die Layoutliste sichtbar/unsichtbar Einstellungen des Ereignisprotokolls Schaltet die Symbolleiste sichtbar/unsichtbar Schaltet die Statusleiste sichtbar/unsichtbar canAnalyser 26 Copyright IXXAT Automation GmbH 3.1. Control Panel Steuerung-Menü Menüpunkt Funktion Kommunikation starten Kommunikation stoppen Starten der Online-Analyse Anhalten der Online-Analyse Fenster-Menü Menüpunkt Funktion Alle schließen Alle wiederherstellen Alle anordnen Horizontal anordnen Vertikal anordnen Layout merken Frühere Layouts Schließt alle Modulfenster Schließt alle Modulfenster Ordnet die Module hintereinander an Ordnet die Module nebeneinander an (horizontale Aufteilung) Ordnet die Module nebeneinander an (vertikale Aufteilung) Speichert die aktuellen Fensterpositionen und -größen Listet die zuletzt gespeicherten Layouts auf Konfiguration-Menü Menüpunkt Funktion Einstellungen... Öffnet den Dialog zur Auswahl der modulübergreifenden canAnalyser Einstellungen Einstellen von applikationsweit verfügbaren Nachrichtenfiltern (siehe Kapitel 3.9.1) Verfügbare Filter... Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe des Control Panels Öffnet die Anzeige der Versionsinformationen des canAnalysers 3.1.14 Schalterleiste Die wichtigsten Funktionen des Control Panels sind auch über die Schalterleiste (Abb. 3.17) aufrufbar. 3.1.15 Tastaturkürzel Strg+N Strg+O Strg+S Strg+M Strg+L F5 Umschalten+F5 Alt+L F1 Entf canAnalyser Eine neue Konfiguration erstellen Eine vorhandene Konfiguration öffnen Aktuelle Konfiguration speichern Module ein/ausblenden Layout Liste ein/ausblenden Kommunikation starten Kommunikation stoppen Layout merken Öffnet die Online-Hilfe Modul entfernen 27 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.17: Schalterleiste des Control Panels 3.2 3.2.1 Receive-Modul Übersicht Das Receive-Modul stellt ein zentrales Modul für die Analyse von Schicht-2-Nachrichten dar. Es stellt die folgenden Analyse-Funktionen bereit: • Empfang und Anzeige von Schicht-2-Nachrichten in zeitlicher Empfangsreihenfolge (Scroll-Modus) • Darstellung der empfangenen Nachrichten sortiert nach Identifiern (Overwrite-Modus) • Ein- und Ausblenden beliebiger Nachrichten (Filterfunktion) • Anzeige von Änderungen im Datenbereich der empfangenen Nachrichten (OverwriteModus) • Überwachung der Zykluszeit einzelner Nachrichten (Overwrite-Modus) • Anzeige von Busfehlern/Errorframes • Anzeige der Daten in unterschiedlicher Darstellung (hexadezimal, dezimal, ASCII) • Anzeige der Anzahl der empfangenen Nachrichten insgesamt (Scroll-Modus) oder je Identifier (Overwrite-Modus) • Anzeige der Namen von Nachrichten anhand der Definitionen Projektdatenbasis Die Overwrite- und die Scroll-Ansicht (Abb. 3.18) werden simultan aktualisiert, somit ist es möglich während des Nachrichtenempfangs zwischen den Ansichts-Modi zu wechseln. In Klammern hinter dem Modusname steht die Anzahl der vorgehaltenen empfangenen Nachrichten (Zeilen). Da verschiedene Instanzen des Receive-Moduls vom Control Panel gestartet werden können, kann jedes Receive-Modul individuell an die zu analysierenden Nachrichten oder Nachrichtengruppen angepasst werden. canAnalyser 28 Copyright IXXAT Automation GmbH 3.2. Receive-Modul Abbildung 3.18: Receive-Modul 3.2.2 Scroll-Ansicht In der Scroll-Ansicht (Abb. 3.18) werden die Nachrichten in der Reihenfolge ihres Empfangs mit folgenden Informationen aufgelistet: Spalte Bedeutung Nr Zeit (rel/abs) Laufende Nummer des empfangenen Objektes Zeitstempel des Empfangs, wahlweise absolut im UTC-Zeitformat oder relativ zur zuvor empfangenen Nachricht; durch Rechtsklick auf die Spaltenüberschrift kann die Anzeige von Stunden und Minuten ein- und ausgeschaltet werden Anzeige des Empfangsstatus Identifier der empfangenen Nachricht Data length code, Anzahl der Datenbytes Name, der in der zugrunde liegenden Datenbasis dem Identifier der empfangenen Nachricht zugeordnet ist Anzeige der empfangenen Daten in Byte-Interpretation Anzeige der empfangenen Daten in ASCII-Interpretation Status ID (hex/dez) Länge Nachricht Daten (hex/dez) ASCII Anzeige des Empfangsstatus Der Empfangsstatus wird im Receive-Modul in der Spalte Status durch verschiedene Buchstaben angezeigt. Ist der Buchstabe sichtbar, so ist der Status gesetzt: Status Typ Bedeutung C D - Q - S - E CAN Controller Overrun: Es gingen Nachrichten verloren. Treiber Queue Overrun: Der PC konnte die Treiber Queue nicht schnell genug auslesen. Es gingen Nachrichten verloren. Software-Queue Overrun: Der PC konnte die interne Softwarequeue nicht schnell genug auslesen. Es gingen Nachrichten verloren. Self reception: Sende- und Empfangsmodul verwenden den gleichen Controller Extended CAN frame: Wenn E nicht angezeigt wird, wurde ein standard CAN frame empfangen. canAnalyser 29 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.19: Erster Empfang eines Identifiers in der Overwrite-Ansicht 3.2.3 Overwrite-Ansicht Diese Anzeigeart ist hilfreich um den aktuellen Stand der Nachrichten im Netzwerk zu überblicken. In der Overwrite-Ansicht des Receive-Moduls (Abb. 3.18) werden die Nachrichten nach Identifiern sortiert aufgelistet. Es werden immer die jeweils zuletzt eingegangenen Informationen einer Nachricht angezeigt. Bei eingeschalteter Änderungsanzeige werden geänderte Daten farblich hervorgehoben. Ist in der Datenbasis eine Zykluszeit definiert, werden Überschreitungen signalisiert. dieser durch das Symbol Die Registerkarte Overwrite ist in die folgenden Spalten aufgeteilt: Spalte Bedeutung Anzahl Zykluszeit / Zeit (abs) Anzahl empfangener Nachrichten mit diesem Identifier Wahlweise letzte Zykluszeit der Nachricht oder absoluter Zeitstempel des letzten Empfangs bezogen auf den Startzeitpunkt der Hardware; durch Rechtsklick auf die Spaltenüberschrift kann die Anzeige von Stunden und Minuten ein- bzw. ausgeschaltet werden Ist in der Datenbasis eine Zykluszeit definiert, werden Überschrei- Zykluszeitüberwachung Status ID (hex/dez) Länge Nachricht Daten (hex/dez) ASCII Min.Zykluszeit Max.Zykluszeit Durchschn.Zykluszeit 3.2.4 tungen dieser durch ein -Symbol angezeigt Anzeige des Empfangsstatus (wie Scroll-Ansicht) Identifier der empfangenen Nachricht Data length code, Anzahl der Datenbytes In der Datenbasis zugeordneter Name der Nachricht Anzeige der empfangenen Daten in Byte-Interpretation. Ist die Änderungsanzeige aktiviert, sind hier die Dateninhalte, die sich einmal geändert haben, farbig markiert Anzeige der empfangenen Daten in ASCII-Interpretation Kleinste gemessene Zykluszeit der Nachricht Größte gemessene Zykluszeit der Nachricht Gemittelte Zykluszeit der Nachricht Datenänderungsanzeige Die Datenänderungsanzeige erfolgt im Overwrite-Modus des Receive-Moduls und kann über den Menüpunkt Optionen aktiviert und deaktiviert werden. Mit dem ersten Empfang eines Identifiers wird in der Overwrite-Ansicht eine neue Nachricht eingefügt (Abb. 3.19). Der Empfangszähler (Anzahl) zählt eine empfangene Nachricht. Es wird noch keine Zykluszeit angezeigt, da zur Berechnung einer solchen derselbe Identifier mindestens zwei Mal empfangen worden sein muss. Nach dem zweiten Empfang des Identifiers werden in der Spalte Daten die gegenüber dem ersten Empfang veränderten Nachrichteninhalte farblich markiert dargestellt, sofern die Datenänderungsanzeige eingeschaltet ist. Ist die Darstellung der Daten auf hexadezimal eingestellt, dann werden die veränderten Nibbles (obere bzw. untere 4 Bits eines Datenbytes) eingefärbt (Abb. 3.20). Bei dezimaler Ausgabe des Datenfelds können Änderungen der empfangenen Datenbytes nur als Ganzes markiert werden. (Abb. 3.21). canAnalyser 30 Copyright IXXAT Automation GmbH 3.2. Receive-Modul Abbildung 3.20: Hexadezimale Datenänderungsanzeige Abbildung 3.21: Dezimale Datenänderungsanzeige Die Datenänderungsanzeige und die Signalisierung von Timeouts kann im Kontextmenü des Anzeigebereichs zurückgesetzt werden. Durch Anklicken einer Nachricht mit der rechten Maustaste kann ausgewählt werden, ob die Datenänderungsanzeige für diese oder für alle Nachrichten zurückgesetzt werden soll (Abb. 3.22). Die Datenänderungsanzeige erfolgt immer in Bezug auf die Datenbytes des ersten Empfangs eines Identifiers bzw. in Bezug auf den Inhalt des Datenfelds zum Zeitpunkt des Zurücksetzens der Datenänderungsanzeige. Wenn für ein Datenbyte einmal ein anderer Wert als in der Referenznachricht (erster Empfang oder Nachricht beim Zurücksetzen) empfangen wurde, dann bleibt dieses Datenbyte markiert, selbst wenn wieder ein mit der Referenznachricht identisches Datenfeld empfangen wird. 3.2.5 Anzeige von Fehlern Gestörte bzw. fehlerhafte Nachrichten werden im Receive-Modul wie gewöhnliche Nachrichten behandelt. Statt dem Identifier oder symbolischem Namen wird Error in der Identifierspalte angezeigt. Der Grund für das Auftreten des Fehlers wird in folgender Form in der Daten-Spalte angegeben: Error <ECC Fehlercode> : <Beschreibung der gesetzten Fehlercode-Bits> Der ECC Fehlercode ist der Inhalt des Error Code Capture Registers eines SJA1000 CANControllers. Nach dem Doppelpunkt folgen, jeweils durch ein "|"-Zeichen getrennt, Beschreibungen der im ECC-Fehlercode gesetzten Bits. Fehlertyp Bedeutung bit error stuff error Bitmonitoring-Fehler Bitstuffing-Fehler: Ein über Bitstuffing codiertes Formatfeld enthält eine Folge von 6 oder mehr gleichwertigen Bits Formfehler: Bitfeld mit festgelegtem Wert hat unzulässigen Wert Anderer als die oben genannten Fehler form error other error 3.2.6 Filterung von Nachrichten Für jedes Receive-Modul lässt sich konfigurieren, welche Nachrichten es empfangen soll. Mit Hilfe eines Filters werden bestimmte Nachrichten für das Receive-Modul sichtbar oder unsichtbar. Über den Menüpunkt Funktionen | Verfügbare Filter... können globale Nachrichtenfilter erstellt Abbildung 3.22: Kontextmenü zur Überwachungsanzeige canAnalyser 31 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers werden, die einzelne Nachrichten für den Empfang zulassen oder sperren. Die Filterauswahl erfolgt über Menüpunkt Funktionen | Filter auswählen. 3.2.7 Menüreferenz Datei-Menü Menüpunkt Funktion Datei-Export... Beenden Exportiert die empfangenen Nachrichten in eine Datei Beendet das Receive-Modul Bearbeiten-Menü Menüpunkt Funktion Kopieren als CSV Markierte Zeilen im CSV-Format in die Zwischenablage kopieren Anlegen oder Entfernen eines Lesezeichens für die markierte Nachricht Zum vorigen Lesezeichen springen Zum folgenden Lesezeichen springen Nullzeitpunkt auf markierte Nachricht legen / Zuvor festgelegten Nullzeitpunkt freigeben Zum zuvor festgelegten Nullzeitpunkt springen Lesezeichen umschalten * Voriges Lesezeichen * Folgendes Lesezeichen * Nullzeitpunkt festlegen/freigeben * Zum Nullzeitpunkt gehen * * Steht nur in der Scroll-Ansicht zur Verfügung Ansicht-Menü Menüpunkt Funktion Zeit relativ Anzeige des Zeitstempels absolut oder relativ zum zuvor angezeigten Telegramm Anzeige der Nachrichten-Identifier in hexadezimaler oder dezimaler Notation Darstellungsoptionen der Identifier Spalte Anzeige der Daten der Schicht-2-Nachricht in hexadezimaler oder dezimaler Notation Darstellungsoptionen der Daten Spalte Stellt die Daten BYTE-weise dar oder fasst jeweils zwei Bytes als WORD zusammen. Bei WORD-Darstellung kann zwischen Little Endian- (Intel) oder Big Endian-Format (Motorola) ausgewählt werden. Stellt das Datenfeld über mehrere Zeilen dar, falls die angegebene Spaltenbreite nicht zur Darstellung des gesamten Datenfeldes ausreicht. Es werden im Scroll-Modus immer die aktuellsten Telegramme angezeigt Schaltet die Fortlaufende Ansicht sichtbar/unsichtbar Schaltet die Kumulierte Ansicht sichtbar/unsichtbar Schaltet die Schalterleiste sichtbar/unsichtbar Schaltet die Statusleiste sichtbar/unsichtbar ID hex ID Darstellung Daten hex Daten Darstellung Datengranularität Zeilenumbruch Letzte Nachrichten anzeigen Fortlaufende Ansicht Kumulierte Ansicht Symbolleiste Statusleiste canAnalyser 32 Copyright IXXAT Automation GmbH 3.2. Receive-Modul Funktionen-Menü Menüpunkt Funktion Start Starten des Nachrichtenempfangs des ReceiveModuls Anhalten des Nachrichtenempfangs Einstellen von applikationsweit verfügbaren Nachrichtenfiltern (siehe Kapitel 3.9.1) Auswahl eines Nachrichtenfilters Setzt die Datenänderungsanzeige zurück Setzt die Zykluszeitüberwachung zurück Löschen der Anzeige und Zurücksetzen der Empfangszähler Stellt ideale Spaltenbreiten ein Stop Verfügbare Filter... Filter auswählen Datenänderungsanzeige zurücksetzen Alle Zykluszeitüberwachung zurücksetzen Alle Anzeige löschen Automatische Spaltenbreiten Optionen-Menü Menüpunkt Funktion Datenänderungsanzeige Zykluszeitüberwachung Farbe der Datenänderungsanzeige... Schaltet die Datenänderungsanzeige ein oder aus Schaltet die Zykluszeitüberwachung ein oder aus Öffnet einen Dialog zur Auswahl der Farbe, mit der geänderten Daten hervorgehoben werden Öffnet einen Dialog zu Auswahl der Schriftart, in der die Daten angezeigt werden Schriftart... Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe des Receive-Moduls Öffnet die Anzeige der Versionsinformationen des Receive-Moduls 3.2.8 Schalterleiste Die wichtigsten Funktionen des Receive-Moduls sind auch über die Schalterleiste (Abb. 3.23) aufrufbar. 3.2.9 Statusleiste In der Statusleiste befindet sich ein LED-Symbol, das den Status des Control Panels bzw. des Receive-Moduls anzeigt: LED-Farbe Bedeutung Grün: Rot blinkend: Rot: Control Panel und Receive-Modul sind gestartet Control Panel ist gestoppt Receive-Modul ist gestoppt canAnalyser 33 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.23: Schalterleiste des Receive-Modul 3.2.10 Tastaturkürzel Strg+E Strg+C Strg+F2 Umschalten+F2 F2 Strg+0 F5 Umschalten+F5 Strg+I F8 F1 Strg+TAB BildNachOben BildNachUnten Strg+BildNachOben Strg+BildNachUnten Strg+1..9 3.3 3.3.1 Exportiert alle vorgehaltenen empfangenen Nachrichten in eine Datei Kopiert die markierten Zeilen in die Zwischenablage Lesezeichen umschalten Zum vorigen Lesezeichen springen Zum folgenden Lesezeichen springen Zum Nullzeitpunkt springen Startet den Datenempfang Stoppt den Datenempfang Filterdialog öffnen Anzeige löschen Öffnet die Online-Hilfe Umschalten zwischen Scroll-Ansicht und Overwrite-Ansicht Eine Seite zurück scrollen Eine Seite voraus scrollen 1000 Nachrichten zurück scrollen 1000 Nachrichten voraus scrollen Zu 10%..90% des vorgehaltenen Anzeigebereichs springen Transmit-Modul Übersicht Das Transmit-Modul stellt Funktionen zum manuellen und zyklischen Senden von CANNachrichten bereit und kann verwendet werden, um Knoten zu simulieren oder die Reaktion von Knoten auf bestimmte Nachrichten zu testen. Folgende Funktionalität wird vom Transmit-Modul bereitgestellt: • Senden einzelner Daten- und Remote-Nachrichten canAnalyser 34 Copyright IXXAT Automation GmbH 3.3. Transmit-Modul • Senden einer beliebigen Anzahl von Daten- bzw. Remote-Nachrichten – mit einer bestimmten Zykluszeit – mit Inkrementierung des Identifiers oder eines beliebigen Datenbytes oder -worts 3.3.2 Programmfenster Im Transmit-Modul (Abb. 3.24) werden die zu sendenden Objekte in eine Tabelle eingetragen, die zentral im Transmit-Modul angezeigt wird. Das Senden der Einträge erfolgt durch Selektion der Nachricht und den Befehl Nachricht senden bzw. Nachricht zyklisch senden. Die Sendetabelle hat die folgenden Spalten: Spalte Tx Symbol Identifier Nachricht Beschreibung Ext. RTR Daten Zyklisches Senden Anzahl Intervall Modus Byte 3.3.3 Bedeutung rotiert während zyklischem Sendens der Nachricht. Symbol zeigt an, dass das Senden direkt auf der Hardware ausgeführt wird. Identifier des Sendeobjektes Name, der dem Identifier in der verwendeten Datenbasis zugeordnet ist Zusätzliche benutzerdefinierte Beschreibung zu diesem Sendeobjekt. Diese Beschreibung erlaubt eine Unterscheidung der Sendeobjekte mit gleichem Identifier und wird nur innerhalb des Transmit-Moduls verwendet. Legt fest ob die Nachricht als Extended Frame (29 Bit Identifier) gesendet wird. Diese Einstellung überschreibt NICHT die Protokoll Einstellung im CAN-Eigenschaften Dialog. Legt fest, ob ein Daten- oder ein Remote-Telegramm gesendet wird (nur CAN) Daten der Schicht-2-Nachricht Innerhalb dieser Spalten werden die Einstellung für zyklische Sendeobjekte spezifiziert Anzahl der Sendewiederholungen; 0 steht für andauerndes Senden Zykluszeit in Millisekunden Betriebsart des zyklischen Sendens (mit/ohne Inkrement). None: Kein inkrementieren. Identifier: Inkrementieren des Identifieres bei jedem Senden. Byte (Data): Inkrementieren des in der Spalte Byte definierten Datenbytes bei jedem Senden. Word (Data): Inkrementieren eines 16-bit Werts (zusammengefasst aus 2 Datenbytes), beginnend mit dem in der Spalte Byte definierten Datenbyte bei jedem Senden Startbyte, bei dem ein Inkrement des Datenfeldes vorgenommen wird, wenn ein Inkrement-Modus eingeschaltet ist (siehe Modus-Spalte). Erstellen von Sendeobjekten Um eine neue Sendenachricht zu definieren wird eine freie Zeile in der Sendeliste angewählt. Ist kein freier Eintrag vorhanden, wird über den Menü-Befehl Bearbeiten | Nachricht einfügen ein neuer Eintrag generiert. Ein neuer Eintrag wird auch erzeugt, wenn in der letzten Zeile der Sendetabelle die Cursortaste gedrückt wird. Die neue Zeile ist dann mit dem Selektionsbalken markiert. Die einzelnen Spalten können mit der Maus oder mit den Cursortasten und canAnalyser 35 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.24: Transmit-Modul Abbildung 3.25: Editier-Modus der Zellen ausgewählt werden. Editierbare Felder sind durch eine andersartige Farbe innerhalb des Selektionsbalkens zu erkennen. Ein Sendeobjekt wird durch Eingabe des Identifiers, der Beschreibung und der zu sendenden Daten definiert. Hierbei wechseln die Editierfelder automatisch in den Editiermodus sobald eine numerische bzw. alphanumerische oder die Taste F2 gedrückt wird (Abb. 3.25). Der Nachrichtenname eines Sendeobjektes wird der im Control Panel spezifizierten Projektdatenbasis entnommen und automatisch eingefügt. Die Bearbeitung der einzelnen Editierfelder bzw. Spalten der Sendetabelle wird durch Betätigen der Taste Enter, der Cursortasten oder oder durch Anklicken einer anderen Zelle der Sendetabelle abgeschlossen. canAnalyser 36 Copyright IXXAT Automation GmbH 3.3. Transmit-Modul 3.3.4 Bearbeiten der Sendetabelle Die Sendetabelle kann beliebig bearbeitet werden. Hierfür stehen unter dem Menüeintrag Bearbeiten die folgenden Funktionen zur Verfügung: Funktion Beschreibung Nachricht einfügen Nachricht verdoppeln Anlegen einer neuen Nachricht Duplizieren der selektierten Nachricht, die Kopie erscheint direkt unter der selektierten Nachricht in der Liste Löschen der selektierten Nachricht Nachricht löschen 3.3.5 Manuelles Senden Das Senden einzelner Nachrichten aus der Tabelle erfolgt durch die Auswahl der Botschaft und das Auslösen des Sendebefehls. Eine Botschaft wird ausgewählt durch: • Anklicken der Botschaft mit der Maus • Verschieben des Markierungsbalkens mit den Cursortasten oder . Eine farblich hinterlegte Nachricht ist ausgewählt. Sie wird gesendet durch: • Betätigen der Taste F5 • Betätigen des Menüpunktes Funktion | Nachricht senden • Betätigen des Nachricht senden-Schalters in der Schalterleiste • Klick mit der linken Maustaste auf das Sendesymbol in der ersten Spalte. In der Statuszeile des Transmit-Moduls wird angezeigt, ob eine Nachricht erfolgreich gesendet werden konnte. 3.3.6 Zyklisches Senden Um Nachrichten zyklisch versenden zu können, müssen in den Feldern Anzahl und Intervall der Spalte Zyklisches Senden Werte eingetragen sein. Eine zyklische Nachricht kann sowohl zyklisch (automatisch) als auch manuell einzeln versendet werden. Vor dem Senden muss die zyklische Nachricht selektiert werden. Das Zyklische Senden erfolgt durch: • die Tastenkombination F6 • Betätigen des Menüeintrages Funktion | Nachricht zyklisch senden • Betätigen des Nachricht zyklisch senden-Schalters in der Schalterleiste • Drücken der Strg-Taste und gleichzeitiger Klick mit der linken Maustaste auf das Sendesymbol in der ersten Spalte • Drücken der Strg-Taste und gleichzeitiger Klick auf den Nachricht zyklisch sendenSchalter um alle Nachrichten zyklisch zu senden canAnalyser 37 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Solange die ausgewählte Nachricht zyklisch versandt wird, rotiert deren Symbol in der Sendetabelle . Ist die Nachrichte so oft wie unter Anzahl angegeben versendet worden, bleibt das Symbol wieder stehen. Der zyklische Versand einer selektierten Nachricht kann manuell gestoppt werden durch: • Erneutes Betätigen des Nachricht zyklisch senden-Schalters in der Schalterleiste • Erneutes Drücken der F6-Taste. 3.3.7 Drag-and-Drop Empfangene CAN-Nachrichten lassen sich aus der Scrolldarstellung eines anderen canAnalyser Moduls auf die Sendetabelle des TransmitModuls ziehen. Sie werden beim Fallenlassen als neue Sendenachricht in der Sendeliste angelegt und alle ihre Eigenschaften (CAN-Identifier, Datenfeld, RTR, Extended Format) bleiben erhalten. 3.3.8 Menüreferenz Datei-Menü Menüpunkt Funktion Neu Sendeobjekte importieren... Sendeobjekte exportieren... Zuletzt geöffnete Dateien Beenden Erstellen einer neuen, leeren Sendetabelle Sendetabelle aus einer Datei importieren (siehe Kapitel 1.4) Sendetabelle in eine Datei exportieren (siehe Kapitel 1.4) Anzeige der zuletzt geöffneten Sendetabellen Beendet das Transmit-Modul Bearbeiten-Menü Menüpunkt Funktion Nachricht einfügen Nachricht verdoppeln Erstellt einen neuen Eintrag in der Sendetabelle Kopiert das selektierte Sendeobjekt und trägt die Kopie unterhalb des selektierten Objektes in die Liste ein Löscht das selektierte Sendeobjekt aus der Liste Nachricht löschen Ansicht-Menü Menüpunkt Funktion ID Hex Daten Hex Datengranularität Anzeige der Objekt-Identifier in hexadezimaler oder dezimaler Notation Anzeige der Objektdaten in hexadezimaler oder dezimaler Notation Stellt die Daten BYTE-weise dar oder fasst jeweils zwei Bytes als WORD zusammen. Bei WORD-Darstellung kann zwischen Little Endian- (Intel) oder Big Endian-Format (Motorola) ausgewählt werden. Anzeigen bzw. Verbergen der Spalten: Nachricht, Beschreibung, Zyklisches Senden Schaltet die Schalterleiste sichtbar/unsichtbar Schaltet die Statusleiste sichtbar/unsichtbar Spalten Symbolleiste Statusleiste canAnalyser 38 Copyright IXXAT Automation GmbH 3.3. Transmit-Modul Abbildung 3.26: Schalterleiste des Transmit-Moduls Funktionen-Menü Menüpunkt Funktion Nachricht senden Nachricht zyklisch senden Zeile nach oben bewegen Zeile nach unten bewegen Automatische Spaltenbreite Senden einer selektierten Einzelnachricht Senden der selektierten zyklischen Nachricht Ausgewählte Zeile um eine Position nach oben schieben Ausgewählte Zeile um eine Position nach unten schieben Ideale Spaltenbreiten einstellen Optionen-Menü Menüpunkt Funktion Schriftart... Öffnet einen Dialog zu Auswahl der Schriftart, in der die Daten angezeigt werden Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe des Transmit-Moduls Öffnet die Anzeige der Versionsinformationen des Transmit-Moduls 3.3.9 Schalterleiste Die wichtigsten Funktionen des Transmit-Moduls sind auch über die Schalterleiste (Abb. 3.26) aufrufbar. 3.3.10 Statusleiste In der Statusleiste des Transmit-Moduls befindet sich ein LED-Symbol, das den Status des Control Panels bzw. des Transmit-Moduls anzeigt: canAnalyser 39 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers LED-Farbe Bedeutung Grün Rot blinkend Control Panel und Transmit-Modul sind gestartet Control Panel ist gestoppt. 3.3.11 Tastaturkürzel Strg+Einfg Strg+D Strg+Entf F5 F6 Strg+NachOben Strg+NachUnten F1 3.4 Nachricht einfügen Nachricht verdoppeln Nachricht löschen Nachricht senden Nachricht zyklisch senden Zeile nach oben bewegen Zeile nach unten bewegen Öffnet die Online-Hilfe Trace-Modul 3.4.1 Übersicht Das Trace-Modul dient zum gleichzeitigen Aufzeichnen des Busverkehrs von mehreren Bussen. Somit besteht die Möglichkeit, den Nachrichtenverkehr busübergreifend und nach dem Ablauf eines gesamten Kommunikationszyklusses zu analysieren. Durch Verwendung verschiedener Trigger kann die Trace-Aufzeichnung automatisch gestartet und wieder gestoppt werden, um die Aufzeichnung auf bestimmte Daten zu beschränken und übersichtlich zu halten. Folgende Funktionalität wird vom Trace-Modul bereitgestellt • Aufzeichnung des Busverkehrs von mehreren Bussen • Konfiguration verschiedener Trigger zum automatischen Starten bzw. Stoppen der TraceAufzeichnung – Triggerung auf eine konfigurierbare Anzahl empfangener Nachrichten – Triggerung auf über Bit-Masken spezifizierbare Identifier und/oder Datenbyte-Werte – Triggerung auf CAN RTR und/oder Errorframes • Verknüpfung der Trigger der aufzuzeichnenden Busse 3.4.2 Programmfenster Das Programmfenster des Trace-Moduls (Abb. 3.27) zeigt zwei Ansichten: Ansicht Verwendung Aufnahme Einstellung von Parametern für die Trace-Aufzeichnung (Auswahl der aufzuzeichnenden Busse/Controller, Konfiguration der Filter und Triggerereignisse) Stellt die aufgezeichneten (und nicht ausgefilterten) Nachrichten in der Reihenfolge ihres Empfangs dar. Dies entspricht der Scroll-Anzeige des Receive-Moduls. Nach Beenden einer Trace-Aufzeichnung wechselt das Programm automatisch auf diese Ansicht. Anzeiger canAnalyser 40 Copyright IXXAT Automation GmbH 3.4. Trace-Modul Abbildung 3.27: Trace-Modul In der Ansicht Aufnahme (Abb. 3.27) ist für jede Trace-Aufzeichnung zunächst der Dateiname zu wählen, unter dem die Aufzeichnung abgespeichert werden soll. Hierzu muss im Feld Tracedatei ein Dateiname mit vollständigem Pfad eingetragen sein. Durch Mausklick auf das DiskettenSymbol wird ein Dialog zur Festlegung des Speicherorts angezeigt. Im Feld Buskonfiguration sind die aufzuzeichnenden Busse, evtl. Vorfilterungen und Triggerereignisse zu bestimmen. Eine abgeschlossene Trace-Aufzeichnung wird im Trace-Modul im Anzeiger (Abb. 3.27) ausgegeben. Die aufgezeichneten Telegramme werden in der zeitlichen Reihenfolge des Empfangs dargestellt und entsprechend dem Bus, von dem sie stammen, farblich markiert. Die Farbe der Markierung wird im Menü Optionen | Anzeigeoptionen... zugewiesen. Die Anzahl sichtbarer Telegramme kann über den Menü-Befehl Funktionen | Filter der Traceanzeige... (Abb. 3.28) mittels Filterung von Nachrichten oder Ausblenden eines ganzen Busses/Controllers reduziert werden. 3.4.3 Trace-Aufzeichnung Das Trace-Modul zeichnet den Busverkehr von mehreren Bussen gleichzeitig auf. Deshalb wird dieses Modul nicht einem einzelnen Bus/Controller, sondern übergeordnet allen Bussen/Controllern in der aktuellen Konfiguration zugeordnet. Der Busverkehr wird vom PC direkt auf die Festplatte gespeichert und die Trace-Aufzeichnung erfolgt für alle Bussysteme in getrennte Dateien. Nach Beenden des Trace werden die aufgezeichneten Nachrichten in zeitlicher Relation zueinander angezeigt. Nach der zwingend erforderlichen Definition des Speicherorts für die Tracedatei(en) kann die Trace-Aufzeichnung über den Schalter Start gestartet werden. Ist kein Starttrigger eingestellt, so beginnt das Trace-Modul sofort mit der Aufzeichnung auf die Festplatte. Ohne einen konfigucanAnalyser 41 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.28: Filter der Traceanzeige rierten Stoptrigger muss die Aufzeichnung manuell durch Betätigen des Schalters Stop wieder angehalten werden. Optional können Busse/Controller in der Spalte Bus von der Aufzeichnung ausgeschlossen werden. Nicht aufzuzeichnende Busse/Controller werden grau dargestellt und haben keine Einfluss auf die Triggerung. Mit einem Klick auf den Eintrag in der Spalte Filter eines Busses/Controllers läßt sich ein Filter auswählen. Dieser reduziert den aufzuzeichnenden Nachrichtenverkehr. Zur Konfiguration von Filtern lesen Sie bitte Kapitel 3.9.1. Zur Filterkonfiguration ist allerdings zu beachten, daß die Filterung keinen Einfluß auf die Triggerung hat. Der ungefilterte Nachrichtenstrom wird zur Prüfung der Triggerbedinungen verwendet, d.h der Trigger ist dem Filter vorgeschaltet. 3.4.4 Triggerung Die Trace-Aufzeichnung kann durch die Definition von Start- und/oder Stoptrigger-Ereignissen in Abhängigkeit vom Busverkehr automatisch gestartet bzw. gestoppt werden. D.h. das TraceModul beginnt erst nach dem Eintritt des Starttriggerer-Ereignisses die Aufzeichnung bzw. hält diese automatisch nach dem Eintritt des Stoptrigger-Ereignisses an. Nach Beenden der Aufzeichnung wechselt das Trace-Modul automatisch in den Anzeiger. Die Prüfung der Stoptrigger-Bedingungen beginnt erst nach Beginn der Aufzeichnung, d.h. nach eingetretenem Starttrigger-Ereignis (falls ein Starttrigger konfiguriert wurde). Die Start- und Stoptrigger der aufzuzeichnenden Busse/Controller sind untereinander über UNDoder ODER-Operatoren verknüpft. Operator Funktion ODER Das Trigger-Ereigniss ist eingetreten, sobald die Trigger-Bedingung eines der Startbzw. Stoptrigger erfüllt ist Das Trigger-Ereigniss tritt ein, wenn die Trigger-Bedingungen aller Start- bzw. Stoptrigger erfüllt sind UND Das Trace-Modul stellt verschiedene Trigger zur Auswahl. Die Auswahl und Konfiguration der Trigger erfolgt über ein Popup-Menü, das über die rechte Maustaste geöffnet wird. Der ausgewählte Trigger kann über einen Doppelklick konfiguriert werden. canAnalyser 42 Copyright IXXAT Automation GmbH 3.4. Trace-Modul Abbildung 3.29: Message Count Trigger Abbildung 3.30: ID/Daten Trigger Trigger Funktion Message Count Trigger Triggerung auf eine konfigurierbare Anzahl empfangener Nachrichten Triggerung auf Identifier und/oder Datenbyte-Werte, die über Bit-Masken spezifiziert werden Triggerung auf CAN RTR und/oder Errorframes ID/Daten Trigger CAN RTR/Errorframe Trigger Message Count Trigger Die Trigger-Bedingung des Message Count Triggers (Abb. 3.29) ist nach Empfang der konfigurierten Anzahl Nachrichten erfüllt. D.h. als Stoptrigger definiert der Message Count Trigger die Anzahl aufzuzeichnender Nachrichten. ID/Daten Trigger Mit dem ID/Daten Trigger (Abb. 3.30) kann auf bestimmte Identifier und/oder Datenbytes getriggert werden. Die Triggerbedingung wird über Bitmasken definiert, die später mit den Feldern je- canAnalyser 43 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.31: CAN RTR/Errorframe Trigger der Empfangsnachricht verglichen werden. Die Trigger-Bedingung der einzelnen Bits kann über einen Klick mit der linken Maustaste verändert werden. Bit Bedeutung 0 1 x Mit 0 beschriftete Bits müssen den Wert 0 haben damit die Trigger-Bedingung erfüllt ist Mit 1 beschriftete Bits müssen den Wert 1 haben damit die Trigger-Bedingung erfüllt ist Mit x beschriftete Bits sind für die Trigger-Bedingung nicht relvant und werden nicht geprüft Die Bitmasken der Triggerbedingungen können auch manuell über die Eingabefelder Maske und Wert verändert werden. In Maske werden die Bits mit Wert 1 für die Trigger-Bedingung als relevant markiert. In Wert erhalten diese relevanten Bits ihren Sollwert (0 oder 1). Die Eingabe/Anzeige der Eingabefelder kann entsprechend den Einstellungen in der Box DEZ/HEX in dezimaler oder hexadezimaler Form erfolgen. Die Schalter Byte und Word legen die Granularität des Datenfelds fest. Ist Word-Granularität ausgewählt, kann für die Bytereihenfolge Intel- (little endian) oder Motorola- (big endian) Format eingestellt werden. Die Triggerbedingung ist erfüllt, wenn alle als relevant markierten Bits den für sie definierten Sollwert besitzen. Das heißt aber auch, daß eine Trigger-Bedingung, in der alle Bits als nicht relevant markiert sind, für jedes Telegramm erfüllt ist. CAN RTR/Errorframe Trigger Mit einem CAN RTR/Errorframe Trigger (Abb. 3.31) kann auf CAN-Remoteframes und/oder CAN-Errorframes getriggert werden. Die Triggerung auf den jeweiligen Frametyp kann über den entsprechenden Schalter Aktiv ein- oder ausgeschalten werden. Die Definition des Remote-Identifiers erfolgt über Bitmasken (siehe Kapitel 3.4.4), über das Feld DLC kann die Datenlänge definiert werden. Bei der Einstellung Alle wird die Datenlänge bei Prüfung der Triggerbedingung nicht berücksichtigt. Ist weder Trigger Errorframes noch Trigger Remoteframes aktiviert so ist die TriggerBedingung für jedes empfangene CAN-Datentelegramm erfüllt. canAnalyser 44 Copyright IXXAT Automation GmbH 3.4. Trace-Modul 3.4.5 Weiterverarbeitung einer Trace-Aufzeichnung Eine abgespeicherte Trace-Aufzeichnung kann zur erneuten Analyse über den Menüpunkt Datei | Trace öffnen... ins Trace-Modul importiert werden. Im Replay-Modul kann eine Traceaufzeichnung erneut wiedergegeben werden. Dadurch kann die Aufzeichnung beliebig oft in den verschiedenen Modulen des canAnalysers analysiert werden. Das Sequencer-Modul ermöglicht den Import von Tracedateien. Hierbei werden die CANTelegramme der Trace-Datei zu Sendebefehlen des Sequencer-Moduls konvertiert. Soll eine Trace-Aufzeichnung in einem anderen Programm weiterverarbeitet werden, so kann die aktuell angezeigte Trace-Aufzeichnung in eine Textdatei exportiert werden. Der Export erfolgt in der Schalterleiste. Die über den Menüeintrag Datei | Daten-Export... oder den Schalter erzeugte Textdatei enthält alle Spalten des Trace-Moduls. Durch die Trennung der Spalten mittels Kommata bzw. Semikolon kann die ASCII-Tracedatei problemlos als CSV(Comma Separated Value)-Datei in Standardwerkzeugen wie z.B. Excel, importiert und weiterverarbeitet werden. 3.4.6 Menüreferenz Datei-Menü Menüpunkt Funktion Trace öffnen... Daten-Export... Beenden Öffnet eine zuvor abgespeicherte Trace-Aufzeichnung Exportiert die angezeigte Trace-Aufzeichnung in eine Textdatei Beendet das Trace-Modul Bearbeiten-Menü Menüpunkt Funktion Suchen Öffnet ein Dialogfeld zur Festlegung der Suchoptionen für eine bestimmte Nachricht in einer Trace-Datei Zeigt die nächste Nachricht an, die den Suchoptionen entspricht Markierte Zeilen im CSV-Format in die Zwischenablage kopieren Anlegen oder Entfernen eines Lesezeichens für die markierte Nachricht Zum vorigen Lesezeichen springen Zum folgenden Lesezeichen springen Nullzeitpunkt auf markierte Nachricht legen / Zuvor festgelegten Nullzeitpunkt freigeben Zum zuvor festgelegten Nullzeitpunkt springen Weitersuchen Kopieren als CSV Lesezeichen umschalten Voriges Lesezeichen Folgendes Lesezeichen Nullzeitpunkt festlegen/freigeben Zum Nullzeitpunkt gehen canAnalyser 45 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Ansicht-Menü Menüpunkt Funktion Zeit relativ Anzeige der Zeit im Anzeiger absolut oder relativ zur zuvor angezeigten Nachricht Anzeige der Nachrichtenidentifier im Anzeiger in hexadezimaler oder dezimaler Notation Darstellungsoptionen der Identifier Spalte im Anzeiger Anzeige der Nachrichtendaten im Anzeiger in hexadezimaler oder dezimaler Notation Darstellungsoptionen der Daten Spalte im Anzeiger Stellt die Daten im Anzeiger BYTE-weise dar oder fasst jeweils zwei Bytes als WORD zusammen. Bei WORD-Darstellung kann zwischen Little Endian- (Intel) oder Big Endian-Format (Motorola) ausgewählt werden. Stellt das Datenfeld im Anzeiger über mehrere Zeilen dar, falls die angegebene Spaltenbreite nicht zur Darstellung des gesamten Datenfeldes ausreicht. Schaltet die Aufnahme Ansicht sichtbar/unsichtbar Schaltet die Anzeiger Ansicht sichtbar/unsichtbar Schaltet die Schalterleiste sichtbar/unsichtbar Schaltet die Statusleiste sichtbar/unsichtbar ID Hex ID Darstellung Daten Hex Daten Darstellung Datengranularität Zeilenumbruch Aufnahme Anzeiger Symbolleiste Statusleiste Funktionen-Menü Menüpunkt Funktion Aufnahme starten Aufnahme stoppen Verfügbare Filter... Beginnt eine Trace-Aufzeichnung Beendet eine Trace-Aufzeichnung Einstellen von applikationsweit verfügbaren Nachrichtenfiltern (siehe Kapitel 3.9.1) Öffnet einen Dialog zur Filterung der Nachrichtenaufzeichnung Ideale Spaltenbreiten einstellen Filter der Traceanzeige... Automatische Spaltenbreiten Optionen-Menü Menüpunkt Funktion Anzeigeoptionen... Öffnet einen Dialog zur Auswahl der Farben, in denen die Nachrichten der verschiedenen Busse im Anzeiger angezeigt werden Öffnet einen Dialog zur Auswahl der Schriftart in der die Nachrichten im Anzeiger angezeigt werden Schriftart... Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe des Trace-Moduls Öffnet die Anzeige der Versionsinformationen des Trace-Moduls 3.4.7 Schalterleiste Die wichtigsten Funktionen des Trace-Moduls sind auch über die Schalterleiste (Abb. 3.32) aufrufbar. canAnalyser 46 Copyright IXXAT Automation GmbH 3.4. Trace-Modul Abbildung 3.32: Schalterleiste des Trace-Moduls 3.4.8 Statusleiste In der Statusleiste des Trace-Moduls befindet sich ein LED-Symbol, das den Status des Control Panels bzw. des Trace-Moduls anzeigt: LED-Farbe Bedeutung Grün: Rot blinkend: Gelb: Control Panel ist gestartet Control Panel ist gestoppt Nachrichtenaufzeichnung im Trace-Modul läuft 3.4.9 Tastaturkürzel Strg+O Strg+E Strg+F F3 Strg+C Strg+F2 Umschalten+F2 F2 Strg+0 F5 Umschalten+F5 Strg+I F1 Strg+TAB BildNachOben BildNachUnten Strg+BildNachOben Strg+BildNachUnten Strg+1..9 canAnalyser Vorhandene Traceaufzeichnung öffnen Exportiert empfangene Nachrichten in eine Datei Suchdialog anzeigen Zum nächsten Vorkommen des Suchbegriffs Kopiert die markierten Zeilen in die Zwischenablage Lesezeichen umschalten Zum vorigen Lesezeichen springen Zum folgenden Lesezeichen springen Zum Nullzeitpunkt springen Startet den Datenempfang Stoppt den Datenempfang Filterdialog öffnen Öffnet die Online-Hilfe Wechseln zwischen Aufzeichnungssteuerung und Nachrichtenanzeige Eine Seite zurück scrollen Eine Seite voraus scrollen 1000 Nachrichten zurück scrollen 1000 Nachrichten voraus scrollen Zu 10%..90% des vorgehaltenen Anzeigebereichs springen 47 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.33: Replay-Modul 3.5 3.5.1 Replay-Modul Übersicht Das Replay-Modul dient zum Abspielen von Tracedateien. Das Abspielen wird dabei je nach Zustand des Controllers unterschiedlich gehandhabt: • Ist der Controller online, werden die Nachrichten auf den physischen Bus übertragen, und per Selfreception wieder empfangen. Die Zeitstempel der Nachrichten spiegeln dabei den Empfangszeitpunkt wider. • Im Offline-Modus werden die Nachrichten an die angeschlossenen Module verteilt, dabei werden die Zeitstempel aus der Tracedatei beibehalten. 3.5.2 Replay-Fenster Das Replay-Modul (Abb. 3.33) bietet verschiedene Möglichkeiten, das Abspiel-Verhalten zu beeinflussen. Im oberen Teil wird der Dateiname der Tracedatei angezeigt. Das Info-Feld beinhaltet einige Kenndaten, die aus der Tracedatei entnommen werden. Des weiteren gibt es die Möglichkeit, die Abspielgeschwindigkeit zu beeinflussen. Dabei sind drei Optionen verfügbar: • Maximale Geschwindigkeit • Einstellbare Verzögerung zwischen den Nachrichten • Verzögerung aus den Zeitstempeln der Tracedatei berechnen Mit der Einstellung Schrittweise Abarbeitung kann der Anwender die Tracedatei schrittweise mit einer einstellbaren Schrittweite abspielen. Mit der Einstellung Stop bei kann das Abspielen bei einer bestimmten Nachricht gestoppt werden. Im Feld Aktuelle Nachricht wird der aktuelle Nachrichtenindex angezeigt. Dieser kann auch manuell geändert werden, um das Abspielen an einer bestimmten Position zu starten. Die zwei Schalter auf der linken Seite ermöglichen das Zurücksetzen des aktuellen Nachrichtenindex bzw. das Abspielen der Tracedatei. canAnalyser 48 Copyright IXXAT Automation GmbH 3.6. Signal-Modul 3.5.3 Menüreferenz Datei-Menü Menüpunkt Funktion Trace öffnen... Trace Schließen Beenden Öffnet eine Trace-Datei Schließt die Trace-Datei Beendet das Replay-Modul Ansicht-Menü Menüpunkt Funktion Statusleiste Schaltet die Statusleiste sichtbar/unsichtbar Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe des Replay-Moduls Öffnet die Anzeige der Versionsinformationen des Replay-Moduls 3.5.4 Statusleiste In der Statusleiste befindet sich ein LED-Symbol, das den Status des Control Panels anzeigt: LED-Farbe Bedeutung Grün: Rot blinkend: Control Panel ist gestartet Control Panel ist gestoppt 3.5.5 Tastaturkürzel Strg+O F5 Umschalten+F5 F4 F7 F1 3.6 3.6.1 Trace öffnen Wiedergabe Wiedergabe anhalten Zurückspulen Schrittweise Abarbeitung Öffnet die Online-Hilfe Signal-Modul Übersicht Das Receive- und das Trace-Modul des canAnalysers zeigen die in einem Feldbus-System übertragenen Nachrichten mit ihren Schicht-2-Informationen (Identifier und Daten) an. Durch eine Interpretation der übertragenen Daten und deren Darstellung in Klartext wird die Analyse eines Systems sehr viel transparenter. Mit dem Signal-Modul (Abb. 3.34) ist es möglich, empfangene Schicht-2-Nachrichteninhalte in interpretierter Form anzuzeigen. Dieses Analyse-Modul ist daher für Installation, Test und Wartung von Feldbussystemen besonders geeignet, da es einen einfachen Umgang mit physikalischen und logischen Größen ermöglicht. canAnalyser 49 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Die interpretierten Signale können bezüglich der Änderungen ihrer Werte und der Einhaltung der in der Datenbasis festgelegten Zykluszeit überwacht werden. Auch die Einhaltung der definierten Grenzwerte eines Signals wird überwacht, und eine Überschreitung farblich und mit Statussymbol angezeigt. Um das Signal-Modul nutzen zu können, muss zuvor im Control Panel für den Virtuellen Bus die zu verwendende Projektdatenbasis und daraus der gewünschte Strang spezifiziert werden. Das Hauptfenster des Signal-Moduls ist zweigeteilt: Auf der linken Seite befindet sich der zentrale Signalauswahlbaum, der die Struktur der Projektdatenbasen hierarchisch anzeigt. Den größeren Teil des Fensters nehmen die rechts davon gelegenen Einzelansichten der empfangenen Signale ein: • Scroll-Ansicht • Overwrite-Ansicht • Graph-Ansicht • Logging-Ansicht Jede Ansicht kann so konfiguriert werden, dass sie nur bestimmte Signale empfängt. Dazu dient der zentrale Signalauswahlbaum. Die Logging-Ansicht stellt eine spezialisierte Scroll-Ansicht dar, die derzeit Wertebereichsabweichungen protokolliert. Da verschiedene Instanzen des Signal-Moduls vom Control Panel gestartet werden können, kann jedes Signal-Modul individuell an die zu analysierenden Signale oder Signalgruppen angepasst werden. 3.6.2 Projektdatenbasen Grundlage für die Interpretation und symbolische Darstellung der in Schicht-2-Nachrichten übertragenen Daten ist eine Projektdatenbasis. Diese kann mit Hilfe des Datenbasis-Editors vom Anwender erstellt werden. Der Datenbasis-Editor ist Bestandteil des canAnalysers. Er wird im Control Panel gestartet. In der Projektdatenbasis kann jeder Schicht-2-Nachricht ein symbolischer Name zugeordnet werden. Innerhalb einer Nachricht lassen sich Einzeldaten (Signale) definieren. Jedes Signal ist festgelegt durch Bitposition und Länge in der Schicht-2-Nachricht und kann eine analoge Information, eine Zustandsinformation oder eine Zeichenkette (String) beinhalten: • Analoge Signale werden beschrieben durch ihren Datentyp und Datenformat (Intel/Motorola), Skalierung, Offset, Wertebereich sowie physikalischer Einheit. • Einzelnen Werten von Zustandssignalen können symbolische Bezeichner zugeordnet werden, die bei der Interpretation als Text angezeigt werden (Zustände). • Bei Stringsignalen wird ein Teil der Schicht-2-Nachricht als ASCII-String interpretiert Wichtig: Die Nachrichten werden in der Interpretationsdatenbasis mit einer festen Datenlänge definiert. Telegramme, deren Identifier zwar in der Datenbasis definiert ist, aber deren Datenlänge nicht mit der in der Datenbasis definierten übereinstimmt, werden nicht interpretiert. Nicht interpretierte Nachrichten werden vom Signal-Modul in der Scroll-Ansicht nicht aufgelistet bzw. in der Overwrite-Ansicht grau markiert. canAnalyser 50 Copyright IXXAT Automation GmbH 3.6. Signal-Modul Abbildung 3.34: Signal-Modul Scroll-Ansicht 3.6.3 Scroll-Ansicht Auf der Scroll-Registerseite (Abb. 3.34) werden die Signale in der Reihenfolge ihres Empfangs dargestellt. Die einzelnen Spalten der Scroll-Ansicht haben folgende Bedeutung: Spalte Bedeutung Nr Zeit (abs/rel) Laufende Nummer des empfangenen Objektes Zeitstempel des Empfangs, wahlweise absolut (bezogen auf den Startzeitpunkt des Controllers) oder relativ zur zuvor empfangenen Nachricht Wenn Nachrichten verlorengegangen sind, wird dies hier durch das Symbol Status angezeigt. Ist der zulässige Wertebereich unter- oder überschritten, so wird Channel dies durch die Symbole und angezeigt Name des physikalischen Busses bzw Strangs gemäß Projektdatenbasis. Wird bei der Wahl der zu verwendenden Projektdatenbasis im Control Panel festgelegt. ( ) Quell-ECU Sender der Nachricht ( Signal Phys.Wert Rohwert Untergrenze Obergrenze Signalbezeichnung in der Datenbasis ( ) Wert des Signals und ggf. physikalische Einheit Uninterpretierter aus der Nachricht extrahierter Zahlenwert Untergrenze des Wertebereichs Obergrenze des Wertebereichs 3.6.4 ) Overwrite-Ansicht Auf der Registerkarte Overwrite (Abb. 3.35) werden die jeweils neuesten Werte ausgewählter Signale angezeigt. Die anzuzeigenden Signale sind hierzu im Signalauswahlbaum per Doppelklick bzw. Menübefehl in das Empfangsfenster zu übernehmen. Die Overwrite-Ansicht kann außerdem auf eine benutzerdefinierte Darstellungsreihenfolge der Signale konfiguriert werden. Die Schalter der Schalterleiste zur Darstellungskonfiguration dienen dazu, den jeweils markierten Eintrag von der Ansicht zu löschen, ihn innerhalb der Liste nach oben oder unten zu verschieben oder alle Einträge der Ansicht zu löschen. canAnalyser 51 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.35: Signal-Modul in Overwrite-Ansicht Die Datenanzeige der Overwrite-Ansicht hat die folgenden Spalten: canAnalyser 52 Copyright IXXAT Automation GmbH 3.6. Signal-Modul Spalte Bedeutung Anzahl Zykluszeit / Zeit (abs) Anzahl der empfangenen Nachrichten Wahlweise letzte Zykluszeit des Signals oder absoluter Zeitstempel des letzten Empfangs bezogen auf den Startzeitpunkt; durch Rechtsklick auf die Spaltenüberschrift kann die Anzeige von Stunden und Minuten ein- bzw. ausgeschaltet werden Störungen des Empfangs werden mit Symbolen angezeigt: Status • Nachrichten sind verloren gegangen und angezeigte Daten können dadurch eventuell verfälscht sein • Nachrichten sind verloren gegangen. Die angezeigte Anzahl in der Spalte Anzahl ist dadurch eventuell zu klein • Eine Überschreitung zu der in der Datenbasis vorgegebenen Zykluszeit ist aufgetreten • Ein empfangener Wert lag unterhalb seines zulässigen Wertebereichs • Ein empfangener Wert lag oberhalb seines zulässigen Wertebereichs Channel Name des physikalischen Busses bzw Strangs gemäß Projektdatenbasis. Wird bei der Wahl der zu verwendenden Projektdatenbasis im Control Panel festgelegt. ( ) Quell-ECU Sender der Nachricht ( Signal Phys.Wert Rohwert Untergrenze Obergrenze Min.Zykluszeit Max.Zykluszeit Signalbezeichnung in der Datenbasis ( ) Wert des Signals und ggf. physikalische Einheit Uninterpretierter aus der Nachricht extrahierter Zahlenwert Untergrenze des Wertebereichs Obergrenze des Wertebereichs Kleinste gemessene Zykluszeit der Nachricht Größte gemessene Zykluszeit der Nachricht ) Zu jedem in der Overwrite-Ansicht eingetragenen Signal gibt es eine Signalwert-Historie, die beim Auswählen des Eintrags im Signalverlauf-Fenster grafisch dargestellt wird. Das Signalverlauf-Fenster wird auf dieselbe Art bedient wie die Graphansicht. Es ist außerdem möglich, einen zweiten Signalverlauf zum Vergleich dazu mit anzuzeigen. Klicken sie dazu mit der linken Maustaste auf das Vergleichssignal und halten dabei die Strg-Taste gedrückt (Strg+Klick). In den Koordinatensystemen der Signalwert-Historie sind die zulässigen Wertebereiche des Signals farblich hinterlegt. Der Signalverlauf verläßt also idealerweise nie diesen Bereich, so daß die Hintergrundfärbung möglicherweise vom Anwender gar nicht bewußt wahrgenommen wird. 3.6.5 Datenänderungserkennung Die Datenänderungserkennung erfolgt in der Overwrite-Ansicht des Signal-Moduls und kann über den Menü-Befehl Optionen | Datenänderungsanzeige aktiviert und deaktiviert werden. Es gibt sowohl eine Erkennung der Wertänderung eines Signals, als auch seiner Wertebereichsüberschreitung. Eine weitere Überwachung prüft die zulässige Zykluszeit der Signale. Auch für canAnalyser 53 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.36: Signal zur Overwrite-Ansicht hinzugefügt Abbildung 3.37: Erster Empfang eines Signals in der Overwrite-Ansicht letztere Erkennungen gibt es entsprechende Menübefehle am gleichen Ort, mit denen sie aktiviert und deaktiviert werden können. Wird eine Abweichung erkannt, erscheint ein entsprechendes Symbol in der Statusspalte, das so lange ansteht, bis es einzeln manuell zurückgesetzt wird, oder bis der Anwender den Inhalt des Anzeigefensters löscht. Nach der Übernahme eines Signals in die Overwrite-Ansicht des Signal-Moduls erscheint das Signal vor dem ersten Empfang der Nachricht in grauer Schrift (Abb. 3.36). Mit dem ersten Empfang wird das Signal in der Overwrite-Ansicht in blauer Schrift und mit dem empfangenen Wert dargestellt. Es wird noch keine Zykluszeit angezeigt, da zu deren Berechnung das Signal mindestens zweimal empfangen worden sein muss (Abb. 3.37). Nach dem zweiten Empfang des Signals wird bei eingeschalteter Datenänderungsanzeige in der Spalte Phys.Wert der gegenüber dem ersten Empfang veränderte Wert farblich markiert (Abb. 3.38). Die Änderungserkennungen und die Signalisierung von Timeouts kann im Kontextmenü des Anzeigebereichs zurückgesetzt werden. Hierzu wird mit der rechten Maustaste auf das Signal geklickt, dessen Datenänderungsanzeige zurückgesetzt werden soll. Im erscheinenden Kontextmenü kann die Anzeige für das selektierte Signal oder für alle Signale zurückgesetzt werden (Abb. 3.39). Die Datenänderungsanzeige erfolgt immer in Bezug auf den Signalwert des ersten Empfangs eines Signals bzw. in Bezug auf den Signalwert zum Zeitpunkt des Zurücksetzens der Datenänderungsanzeige. Wenn also für ein Signal einmal ein anderer Wert als der Referenzwert (erster empfangener Wert oder Signalwert beim Zurücksetzen) empfangen wurde, dann bleibt der Signalwert markiert, selbst wenn wieder ein mit dem Referenzwert identischer Signalwert empfangen wird. 3.6.6 Logging-Ansicht Die Logging Registerseite (Abb. 3.40) zeigt das Ereignisprotokoll der Wertebereichsüberwachung in chronologischer Reihenfolge an. Dieses beinhaltet den Zeitpunkt der Wertebereichsüber- bzw. -unterschreitung, sowie den Zeitpunkt der Rückkehr in den Normalbereich. Die einzelnen Spalten des Ereignisprotokolls haben folgende Bedeutung: Abbildung 3.38: Zweiter Empfang des Signals mit verändertem Wert canAnalyser 54 Copyright IXXAT Automation GmbH 3.6. Signal-Modul Abbildung 3.39: Kontextmenü zur Überwachungsanzeige Abbildung 3.40: Signal-Modul Logging-Ansicht Spalte Bedeutung Zeit (abs/rel) Zeitstempel des Empfangs, wahlweise absolut (bezogen auf den Startzeitpunkt des Controllers) oder relativ zur zuvor empfangenen Nachricht Beschreibung des Ereignisses Wenn Signalwerte ihren zulässigen Wertebereich verlassen, wird dies durch die Ereignis Status Symbole Channel bzw angezeigt. Wenn Signalwerte wieder in ihren Normbereich bzw angezeigt zurückkehren, wird dies durch die Symbole Name des physikalischen Busses bzw Strangs gemäß Projektdatenbasis. Wird bei der Wahl der zu verwendenden Projektdatenbasis im Control Panel festgelegt. ( ) Quell-ECU Sender der Nachricht ( Signal Phys.Wert Rohwert Untergrenze Obergrenze Signalbezeichnung in der Datenbasis ( ) Wert des Signals und ggf. physikalische Einheit Uninterpretierter aus der Nachricht extrahierter Zahlenwert Untergrenze des Wertebereichs Obergrenze des Wertebereichs 3.6.7 ) Graphansicht Die Graphansicht kann bis zu 15 Signale in bis zu 4 Koordinatensystemen gleichzeitig darstellen (Abb. 3.41). Verschiedene Modi ermöglichen das automatische Anpassen der Zeitachse während der Datenerfassung: • Aus - es wird keine Anpassung der Zeitachse vorgenommen. Nach dem Zoomen der Zeitachse mit der Maus wird automatisch in diesen Modus geschaltet. canAnalyser 55 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.41: Signal-Modul in Graphansicht canAnalyser 56 Copyright IXXAT Automation GmbH 3.6. Signal-Modul • Bereich - Die Zeitachse wird automatisch am kleinsten und am größten Zeitstempel ausgerichtet, d.h. der Zoomfaktor wird laufend angepasst. Nach dem Start ist dieser Modus aktiv. • Ausrichten - Der Zoomfaktor bleibt konstant, der Bereich wird am letzten Zeitstempel ausgerichtet. Nach der Zuweisung beginnt die grafische Darstellung der empfangenen Werte für die ausgewählten Signale. Dabei kann online gescrollt und gezoomt werden. Die Koordinatensysteme blenden zusätzliche waagerechte gestrichelte Linien zur Visualisierug des zulässigen Wertebereichs ein. Der Signalverlauf bleibt also idealerweise immer zwischen diesen beiden. Im unteren Teilfenster werden die aktuellen Signalwerte und Zeitstempel tabellarisch im Klartext ausgeben. Wurde für ein Signal noch kein Wert empfangen, ist dies durch den fehlenden Zeitstempel zu erkennen. Nach dem Stoppen der Datenerfassung über Funktionen | Stop können die aufgenommenen Daten im Graphfenster genauer analysiert werden. Durch Scrollen und Zoomen kann der auszuwertende Zeitabschnitt ausgewählt werden. Durch das Positionieren des Cursors mit einem Mausklick auf das Graphfenster können genaue Signalwerte ermittelt werden. Die Werte werden im unteren Teilfenster unter "Phys.Wert" ausgegeben. Die Wirkung der Mausbedienung ist durch verschiedene Modi in der Schalterleiste vorgegeben. Diese Modi sind: • Zoom Zeitachse - Die Maus kann benutzt werden, um Zoom-Operationen auf der Zeitachse durchzuführen. Durch Klicken bzw. Klicken und Ziehen, kann der gewünschte Bereich vergrößert (linke Maustaste) bzw. verkleinert (rechte Maustaste) werden. • Zoom Wertachse - Die Maus kann benutzt werden, um Zoom-Operationen auf der Wertachse durchzuführen. Durch Klicken bzw. Klicken und Ziehen, kann der gewünschte Bereich vergrößert (linke Maustaste) bzw. verkleinert (rechte Maustaste) werden. Diese Funktion bezieht sich auf die Wertachsen aller Signale eines Tracks. • Verschieben - Die Maus kann benutzt werden, um den sichtbaren Bereich eines Tracks zu verschieben. Diese Funktion bezieht sich auf die Wertachsen aller Signale eines Tracks sowie auf die gemeinsame Zeitachse. Beim Überfahren der Signal- und Zeitachsen mit der Maus werden Zoom-Leisten eingeblendet, die eine Veränderung des Zoombereichs erlauben. Damit können auch die Offsets und ZoomFaktoren der Signal-Wertachsen unabhängig voneinander verändert werden. Hinweis: Die Datenaufnahme kann über Funktionen | Start fortgesetzt werden. Alle Ereignisse zwischen Stoppen und erneutem Starten werden ignoriert. Hinweis: Der grafische Werteverlauf eines im unteren Teilfenster markierten Signals wird fett dargestellt. 3.6.8 Signalauswahlbaum In der Baumstruktur der Datenbasisanzeige werden alle dem Virtuellen Bus zugeordneten Channels und Datenbasen sowie die interne Statistikdatenbasis dargestellt (Abb. 3.42). Die Bedienung erfolgt entweder über die Tastatur oder mit der Maus. canAnalyser 57 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.42: Signalauswahlbaum im Signalmodul Der Signalauswahlbaum dient dazu, die anzuzeigenden Signale für jede der vier Ansichten (Scroll, Overwrite, Logging, Graph) unabhängig voneinander auszuwählen. Gewählte, also anzuzeigende Signale sind fett dargestellt. Beim Umschalten der aktiven Ansicht paßt sich der Signalauswahlbaum entsprechend an. Organisiert ist der Signalauswahlbaum in drei hierarchischen Ebenen: . Der Knoten • Channel Oberste Ebene des Signalauswahlbaums, symbolisiert durch repräsentiert einen im Datenbankauswahldialog des ControlPanels selektierten Datenbasischannel und zeigt seinen Namen, und den der Datenbasis in Klammern an. Darunter sind die ECUs angeordnet. . Jeder Knoten reprä• ECU Zweite Ebene des Signalauswahlbaums, symbolisiert durch sentiert ein sogenanntes ECU (elektronisches Steuergerät) vom übergeordneten Channel, und zeigt seinen Namen an. Darunter sind die von diesem Steuergerät übertragenen Signale angeordnet. Um alle Signale des ECUs für die jeweilige Signalansicht auszuwählen, klicken Sie Ihn entweder doppelt, oder drücken die "Einfg"-Taste, oder rufen den Kontextmenübefehl Ausgewähltes Element im View anzeigen auf. Entsprechendes gilt für den umgekehrten Fall, zum Abwählen aller ECU-Signale. Klicken Sie entweder doppelt, oder drücken die "Entf"-Taste, oder rufen den Kontextmenübefehl Ausgewähltes Element vom View entfernen auf. Im Tooltip des Knotens werden zur schnelleren Übersicht die von Ihm bereitgestellten Signalnamen aufgelistet. . Dieser Knoten • Signal Unterste Ebene des Signalauswahlbaums, symbolisiert durch repräsentiert ein einzelnes Signal. Um es für die jeweilige Signalansicht auszuwählen, klicken Sie den Knoten entweder doppelt, oder drücken die "Einfg"-Taste, oder rufen den Kontextmenübefehl Ausgewähltes Element im View anzeigen auf. Entsprechendes gilt für den umgekehrten Fall, zum Abwählen des Signals. Klicken Sie entweder doppelt, oder drücken die "Entf"-Taste, oder rufen den Kontextmenübefehl Ausgewähltes Element vom View entfernen auf. Bei aktiver Graphansicht werden die Signalfarbe und das Koordinatensystem mittels zusätzlicher Icons visualisiert. Über die verschachtelten Kontextmenübefehle Signalfarbe und Koordinatensystem lassen sich diese Attribute ändern. canAnalyser 58 Copyright IXXAT Automation GmbH 3.6. Signal-Modul Abbildung 3.43: Kontextmenü des Signalauswahlbaums 3.6.9 Kontextmenü des Signalauswahlbaums Das Kontextmenü (Abb. 3.43) enthält folgende Elemente: Element Bedeutung Ausgewähltes Element im View anzeigen Fügt das Signal oder alle Signale eines ECUs der jeweils aktiven Anzeige hinzu. Zuweisung, mit welcher Farbe ein Signal in der Graphanzeige dargestellt wird. Die momentane Farbe ist unterlegt. Durch Auswählen des entsprechenden Menüeintrags wird die Farbe geändert. Zuweisung, in welchem der vier möglichen Koordinatensysteme ein Signal in der Graphanzeige dargestellt wird. Das momentane Koordinatensystem ist unterlegt. Durch Auswählen des entsprechenden Menüeintrags wird das Signal auf ein anderes Koordinatensystem verschoben. Entfernt das Signal oder alle Signale eines ECUs von der jeweils aktiven Anzeige. Klappt den Signalauswahlbaum so ein, daß nur noch die Channelebene sichtbar ist. Klappt die Knoten des Signalauswahlbaum so ein oder aus, daß nur noch die ECU-Knoten sichtbar sind. Klappt den Signalauswahlbaum voll aus, so daß alle Signale sichtbar sind. Signalfarbe Koordinatensystem Ausgewähltes Element vom View entfernen Channels anzeigen ECUs anzeigen Signale anzeigen 3.6.10 Tastaturkürzel des Signalauswahlbaums Einfg Entf Strg+T, n canAnalyser Fügt das Signal oder alle Signale eines ECUs der jeweils aktiven Anzeige hinzu. Entfernt das Signal oder alle Signale eines ECUs von der jeweils aktiven Anzeige. Verschiebt das Signal auf das Koordinatensystem 1 bis 4. Drücken Sie Strg+T, lassen Sie wieder los, und dann innerhalb von 600ms eine der Zifferntasten 1 bis 4. 59 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers 3.6.11 Menüreferenz Datei-Menü Menüpunkt Funktion Einstellungen importieren... Moduleinstellungen aus einer Datei importieren (siehe Kapitel 1.4) Moduleinstellungen in eine Datei exportieren (siehe Kapitel 1.4) Speichert den Inhalt der aktiven Anzeige im CSV-Format in eine Datei Speichert die momentane Graphanzeige als Bild in eine Datei. Dies umfaßt alle Koordinatensysteme, die Signalbeschriftungen und den sichtbaren Signalverlauf. Beendet das Signal-Modul Einstellungen exportieren... Anzeigedaten exportieren... Signalkurven exportieren... Beenden Bearbeiten-Menü Menüpunkt Funktion Kopieren als CSV Markierte Zeilen im CSV-Format in die Zwischenablage kopieren Anlegen oder Entfernen eines Lesezeichens für die markierte Nachricht Zum vorigen Lesezeichen springen Zum folgenden Lesezeichen springen Nullzeitpunkt auf markierte Nachricht legen / Zuvor festgelegten Nullzeitpunkt freigeben Zum zuvor festgelegten Nullzeitpunkt springen Textsuchdialog zur Suche nach einem Signalnamen im Signalauswahlbaum öffnen Lesezeichen umschalten * Voriges Lesezeichen * Folgendes Lesezeichen * Nullzeitpunkt festlegen/freigeben * Zum Nullzeitpunkt gehen * Signal suchen im Signalauswahlbaum... * Steht in der Overwrite-Ansicht nicht zur Verfügung Ansicht-Menü Menüpunkt Funktion Zeit relativ Anzeige des Zeitstempels absolut oder relativ zum zuvor angezeigten Signal Es werden im Scroll-Mode immer die aktuellsten Telegramme angezeigt Aktiviert die Scrollanzeige und bringt sie in den Vordergrund Aktiviert die Overwriteansicht und bringt sie in den Vordergrund Aktiviert die Graphansicht und bringt sie in den Vordergrund Aktiviert die Loggingansicht und bringt sie in den Vordergrund Schaltet die Schalterleiste sichtbar/unsichtbar Schaltet die Statusleiste sichtbar/unsichtbar Letzte Nachrichten anzeigen Scroll-Ansicht Overwrite-Ansicht Graphansicht Logging-Ansicht Symbolleiste Statusleiste canAnalyser 60 Copyright IXXAT Automation GmbH 3.6. Signal-Modul Funktionen-Menü Menüpunkt Funktion Start Stop Datenänderungsanzeige rücksetzen Alle Startet die Interpretation von Nachrichten Stoppt die Interpretation von Nachrichten Setzt die Wertanderungsanzeige für alle Signale zurück Setzt die untere Grenzwertüberwachung für alle Signale zurück Setzt die obere Grenzwertüberwachung für alle Signale zurück Setzt die Zykluszeitüberwachung für alle Signale zurück Einzelwerte in Graphansicht mittels Kästchen markieren Löscht den Inhalt aller Anzeigefensters Ideale Spaltenbreiten einstellen Untere Grenzwertüberwachung rücksetzen Alle Obere Grenzwertüberwachung rücksetzen Alle Zykluszeitüberwachung rücksetzen Alle Signalempfang markieren Alles löschen Automatische Spaltenbreite Optionen-Menü Menüpunkt Funktion Datenänderungsanzeige Schaltet die Datenänderungsanzeige ein oder aus Schaltet die Überwachung des Wertebereichs ein oder aus Schaltet die Zykluszeitüberwachung ein oder aus Öffnet einen Dialog zur Auswahl der Farbe, mit der geänderten Daten hervorgehoben werden Öffnet einen Dialog zur Auswahl der Textfarbe, mit der Werte außerhalb des gültigen Bereichs hervorgehoben werden Über ein Untermenü kann die Breite des sichtbaren Ausschnitts als Zeitspanne fest eingestellt werden. Neue Signalwerte werden permanent rechts angefügt, und der sichtbare Ausschnitt wandert nach links hinaus, wie bei einem technischen Schreiber mit fest installierten Nadeln. Mögliche einstellbare Zeitspannen sind 1, 5, 10 oder 30 Sekunden, und 1 oder 5 Minuten. Blendet die Y-Achsenbeschriftungen ein oder aus Öffnet einen Dialog zu Auswahl der Schriftart und Textfarbe, in der die Signale in allen Ansichten angezeigt werden Wertebereichsüberwachung Zykluszeitüberwachung Farbe der Datenänderungsanzeige... Textfarbe bei Wertebereichsüberschreitung... Signalschreiber Ansicht Sichtbarer Ausschnitt Signalschreiber Ansicht Achsenbeschriftungen sichtbar Schriftart... canAnalyser 61 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe Öffnet die Anzeige der Versionsinformationen 3.6.12 Schalterleiste Die wichtigsten Funktionen des Signal-Moduls sind auch über die Schalterleiste (Abb. 3.44) aufrufbar. 3.6.13 Statusleiste In der Statusleiste des Signal-Moduls befindet sich ein LED-Symbol, das den Status des Control Panels bzw. des Signal-Moduls anzeigt: LED-Farbe Bedeutung Grün Rot blinkend Rot Control Panel und Signal-Modul sind gestartet Control Panel ist gestoppt Signal-Modul ist gestoppt. 3.6.14 Tastaturkürzel TAB Strg+TAB F1 F2 Umschalten+F2 Strg+F2 F5 Umschalten+F5 F8 F11 Strg+C Strg+E Strg+F Strg+M Strg+O Strg+S Strg+1 Strg+2 BildNachOben BildNachUnten Strg+BildNachOben Strg+BildNachUnten Strg+0 Strg+1..9 canAnalyser Wechsel zwischen Signalauswahlbaum und Signalansichten Umschalten zwischen den verschiedenen Ansichten Öffnet die Online-Hilfe Zum folgenden Lesezeichen springen Zum vorigen Lesezeichen springen Lesezeichen umschalten Startet den Datenempfang Stoppt den Datenempfang Anzeige löschen Ein- und Ausblenden des Signalauswahlbaums Kopiert die markierten Zeilen in die Zwischenablage Exportiert empfangene Nachrichten in eine Datei Suche nach einem Signalnamen im Signalauswahlbaum Einzelwerte in Graphansicht mittels Kästchen markieren Moduleinstellungen aus Datei laden Moduleinstellungen in Datei speichern Messbalken 1 beim Mauszeiger in der Graphanzeige platzieren Messbalken 2 beim Mauszeiger in der Graphanzeige platzieren Eine Seite zurück scrollen Eine Seite voraus scrollen 1000 Nachrichten zurück scrollen 1000 Nachrichten voraus scrollen Zum Nullzeitpunkt springen Zu 10%..90% des vorgehaltenen Anzeigebereichs springen 62 Copyright IXXAT Automation GmbH 3.6. Signal-Modul Abbildung 3.44: Schalterleiste des Signal-Moduls canAnalyser 63 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.45: Signal-Transmit-Modul 3.7 3.7.1 Signal-Transmit-Modul Übersicht Das Signal-Transmit-Modul stellt Funktionen zum Ändern von Signalen und dem Versenden der betroffenen Nachrichten bereit. Es stützt sich dabei auf Signaldatenbanken die zuvor im Control Panel dem virtuellen Bus zugewiesen wurden. 3.7.2 Programmfenster Im Signal-Transmit-Modul (Abb. 3.45) werden die verfügbaren Signale in den Listen im unteren Bereichs angezeigt. Die Signalauswahl steht in Form eines hierarchischen Baums und einer Suchliste zur Verfügung. Signale die ausgewählt wurden, erscheinen im oberen Bereich des Modulfensters. 3.7.3 Auswählen von Signalen Signalbaum Die Auswahl der Signale erfolgt über Listen im unteren Bereich des Moduls. Auf dem Reiter Signale sind die Signale als Baum dargestellt. Jede Ebene des Baums kann selektiert werden. Per Drag & Drop oder über das Tastenkürzel Strg+I kann der selektierte Knoten in die Sendetabelle eingefügt werden. Alternativ kann auch der Eintrag Signal hinzufügen aus dem Kontextmenü verwendet werden. Dabei werden alle Signale eingefügt die Kindknoten des aktuell ausgewählten Knotens darstellen. Im Kontextmenü können alle Knoten über den Eintrag Alle öffnen expandiert werden. Ebenso können alle Knoten über Alle schließen wieder eingeklappt werden. Über den Eintrag Signaleigenschaften wird ein Dialog geöffnet in dem weitere Eigenschaften des gewählten Signals angezeigt werden. Diese Option steht nur zur Verfügung wenn ein Signalknoten gewählt wurde. canAnalyser 64 Copyright IXXAT Automation GmbH 3.7. Signal-Transmit-Modul Signalsuche Die weite Auswahlmöglichkeit stellt die Suchliste auf dem Reiter Suchen dar. Diese Liste zeigt im Grundzustand alle Signale zusammen mit ihrem virtuellen Pfad an. Dieser Pfad entspricht dem Baum auf dem Reiter Signale. Über der Liste befindet sich das Suchfeld. Hier können Suchanfragen eingegeben werden. Die Suchliste muss beim Hinzufügen einer neuen Datenbank zuerst einen Suchindex erstellen. Daher kann es bei größeren Datenbanken vorkommen dass die Liste nicht sofort verfügbar ist. Der Indizierungvorgang wir durch das rotierende Symbol am rechten Rand des Suchfelds angezeigt. Sobald der Vorgang abgeschlossen ist kann die Suche verwendet werden. Durch Eingabe eines Begriffs kann nach Signalnamen gesucht werden. Die Suchmaschine unterschiedet nicht zwischen Groß- und Kleinschreibung. Es werden auch Teilstrings an beliebiger Position im Namen gefunden. Enthält der Suchbegriff ein Leerzeichen sollte die Anfrage in einfache oder doppelte Anführungszeichen eingeschlossen werden. Ist ein Anführungszeichen oder Doppelpunkt Teil des Suchbegriff müssen diese mit einem Backslash maskiert werden. Sonst meldet das Suchfeld einen Syntaxfehler. Fehler werden durch die rote Einfärbung des Suchfelds angezeigt. Durch Überfahren des Suchfelds mit der Maus wird der Fehlertext im Tooltip angezeigt. oder der Enter-Taste gestartet. DauDie eigentliche Suche wird durch drücken des Symbols ert die Suche länger erscheint das Symbol am rechten Rand des Suchfelds. In diesem Fall kann die Suche durch drücken des Symbols oder der Esc-Taste abgebrochen werden. Die Liste zeigt dann nur die bisher gefunden Signale an. am rechten Ist eine Suche abgeschlossen oder wurde abgebrochen erscheint das Symbol Rand des Suchfelds. Durch Drücken des Symbols oder der Esc-Taste wird das Ergebnis gelöscht. Die Suchliste zeigt dann wieder alle verfügbaren Signale an. Wird die Esc-Taste ein weiteres Mal gedrückt wird zusätzlich die Suchanfrage gelöscht. Außer der Suche nach dem Signalnamen wird auch die Suche nach weiteren Eigenschaften des Signals unterstützt. Dafür stehen spezielle Schlagwörter zur Verfügung. Für ein Schlagwort gilt die Syntax [Schlagwort]:[Suchbegriff]. Schlagwörter können kombiniert werden. Die mehrfache Verwendung desselben Schlagworts wird nicht unterstützt. Die Groß- und Kleinschreibung wird, wie bei den Suchbegriffen, nicht berücksichtigt. Schlagwort Suchanfrage channel Findet alle Signale die sich in einem Kanal befinden der den Suchbegriff in der ElementID trägt Findet alle Signale die sich in einem Frame befinden der den Suchbegriff in der ElementID trägt Findet alle Signale die sich in einem PDU befinden der den Suchbegriff in der ElementID trägt Findet alle Signale die sich in einer ECU befinden der den Suchbegriff in der ElementID trägt. Mir dem Suchbegriff "(none)" können alle Signale gesucht werden denen keiner ECU zugeordnet wurde frame pdu ecu Um ein Signal der Sendeliste hinzuzufügen muss es erst selektiert werden. Die Auswahl kann über die Maus oder Tastatur erfolgen. Dabei steht die Mehrfachselektion mit der Strg- und ShiftTaste zur Verfügung. Durch Drag & Drop oder drücken der Tastenkombination Strg+I werden die selektierten Signale in die Sendetabelle kopiert. canAnalyser 65 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers 3.7.4 Senden von Signalen In der Sendeliste werden die Signale angezeigt die zuvor über die Auswahllisten hinzugefügt wurden. Die Sendeliste hat die folgenden Spalten: Spalte Bedeutung Wert Der Wert der für das Signal übertragen werden soll. Diese Zellen färben sich rot wenn der Wert außerhalb der Signalgrenzen liegt und die Wertebereichsprüfung aktiv ist. Eine Liste von Umrechnungsvorschriften die von der Datenbank definiert werden. Diese Vorschriften geben an wie der eingegebenen Wert in den Sendewert umgerechnet wird. Gibt an ob der Wertebereich des Signals beachtet werden soll. Wenn dieses Flag gesetzt ist kann das Signal nur versendet werden wenn sich der eingegeben Wert im gültigen Bereich befindet. Legt fest auf welche Ebene der Versand des Signal simuliert wird. Bei der Ebene Frame Triggering wird nur das eine Frame versandt über welches das Signal hinzugefügt wurde. Bei der Ebene ECU werden ggf. noch weiter Frames verschickt falls das Signal in mehreren Frames enthalten ist. Der Name des Signals welches von der Zeile repräsentiert wird. Gibt an ob das Signal zyklisch oder azyklisch versandt wird. Es ist zu beachten dass ein zyklisches Signal auf einem weiteren Frame auch azyklisch übertragen werden kann. Der Standardwert des Signals laut Datenbank Die untere Grenze für den Wertebereich des Signals. Der Wert ändert sich je nach gewählter Umrechnungsvorschrift. Die obere Grenze für den Wertebereich des Signals. Der Wert ändert sich je nach gewählter Umrechnungsvorschrift. Die Maßeinheit des Signals Der Pfad des Signal wie er in den Suchlisten definiert ist. Umrechnung Bereichsprüfung Simulationsebene Signal Typ Standardwert Min Wert Max Wert Einheit Pfad Durch anklicken der Spaltenköpfe ist eine Sortierung der Signale möglich. Bei gedrückter ShiftTaste ist auch eine Sortierung nach mehreren Spalten möglich. Um ein Signal zu senden muss zuerst ein neuer Wert in die Spalte Wert eingegeben werden. Ist der Wert gültig färbt sich die gesamte Spalte gelb. Damit wird angedeutet, dass der Wert zwar verändert, aber noch nicht verschickt wurde. Dieses Verhalten ermöglicht es mehrere Signale zu verändern und dann gleichzeitig zu versenden. Die geänderten Signale werden über das in der Werkzeugleiste oder den Eintrag Signal versenden im Kontextmenü versandt. Symbol Daraufhin entfärben sich die Signale wieder um anzuzeigen dass der dargestellte Wert aktuelle verwendet wird. Das Senden eines Signalwerts führt intern zu einer Aktualisierung von PDUs bzw. Nachrichten, die das geänderte Signal enthalten. Die endgültig verschickten Nachrichten hängen aber von den Informationen in der Datenbasis ab, die sowohl zyklische (cyclic triggered) als auch einmalig abhängige (event triggered) Vorgänge beschreiben können. Signale können über das Symbol in der Werkzeugleiste aus der Sendeliste entfernt. Alternativ enthält das Kontextmenü den Befehl Signal entfernen. Als dritter Weg steht noch die Entf-Taste zur Verfügung. Beim Laden von Projekt-Dateien im ControlPanel kann es vorkommen dass die verwendeten Datenbanken temporär oder dauerhaft nicht verfügbar sind. In diesem Fall kann das SignalTransmit-Modul die gespeicherte Signalliste nicht mehr vollständig wiederherstellen. Signale bei denen dieses Problem auftritt werden grau markiert. Solche Signale können nicht versandt werden. Es werden auch nicht alle Daten angezeigt. Sie können aber aus der Signalliste entfernt canAnalyser 66 Copyright IXXAT Automation GmbH 3.8. Sequencer-Modul werden. Dies ist aber nicht zwingen notwendig. Ist die Datenbank beim nächsten Laden des Projekts wieder verfügbar werden die Signal wieder normal dargestellt. Sowohl in den Suchlisten als auch in der Sendeliste bietet das Kontextmenü den Punkt Signaleigenschaften an. Er öffnet einen Dialog in dem erweiterte Eigenschaften des gewählten Signals angezeigt werden. 3.7.5 Menüreferenz Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe des Signal-Transmit-Moduls Öffnet die Anzeige der Versionsinformationen des Signal-Transmit-Moduls 3.7.6 Werkzeugleiste Symbol Funktion Versendet alle Signale Löscht das ausgewählte Signal von der Sendeliste Öffnet die Hilfedatei 3.7.7 Statusleiste In der Statusleiste des Signal-Transmit-Moduls befindet sich ein LED-Symbol, das den Status des Control Panels anzeigt: LED-Farbe Bedeutung Grün Rot blinkend Control Panel ist gestartet Control Panel ist gestoppt. 3.7.8 Tastaturkürzel Entf F1 Strg+I 3.8 3.8.1 Ausgewählte Signale löschen Öffnet die Online-Hilfe Ausgewählten Knoten zur Sendeliste hinzufügen Sequencer-Modul Übersicht Das Sequencer-Modul (Abb. 3.46) ermöglicht die Abarbeitung kommandogesteuerter Nachrichten-Sequenzen und kann somit benutzt werden, um Knoten bzw. Protokollabläufe zu simulieren oder eine bestimmte Buslast zu generieren. Es verfügt über Befehle zum: • Senden von Daten- und Remote-Nachrichten • Warten auf Daten- oder Remote-Nachrichten • Einfügen von Wartezeiten canAnalyser 67 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.46: Sequencer-Modul • Warten auf Benutzereingabe • Wiederholen von Befehlsblöcken Nach jedem Befehl ist es möglich, eine Wartezeit einzufügen. Die Benutzeroberfläche des Sequencer-Moduls besteht aus einer Menüleiste, einer Schalterleiste, einer Statusleiste sowie dem Editorfenster. Beim Abarbeiten einer Sequenz wird die aktuell gesendete Nachricht der Sequenz über einen Laufbalken visualisiert. 3.8.2 Befehlssyntax Bei der Syntax der Befehle ist folgendes zu beachten: • Die Groß-/Kleinschreibung der Befehle ist nicht relevant. • Die Parameter der Befehle müssen mit mindestens einem Leer- oder Tab-Zeichen getrennt werden. • Ein Befehl darf sich nur über eine Zeile erstrecken. • Die Parameter können dezimal, hexadezimal oder oktal angegeben werden. Die Unterscheidung wird anhand des Präfixes getroffen. Präfixe für Parameter: Präfix Bedeutung Beispiel 0x oder 0X 0 hexadezimale Angabe oktale Angabe dezimale Angabe 0xF8 080 100 canAnalyser 68 Copyright IXXAT Automation GmbH 3.8. Sequencer-Modul Kommentare Kommentare können am Ende einer Befehlszeile durch ";" oder "//" getrennt angegeben werden. Zeilen, die keine gültigen Befehle enthalten, werden automatisch als Kommentare gewertet. Beispiel: td 20 2 100 0x01 0x02 0x03 ; Kommentar am Ende ; einer Befehlszeile // Kommentarzeile Auch dies ist eine Kommentarzeile 3.8.3 Befehlsübersicht Das Sequencer-Modul unterstützt die folgenden Befehle: Befehl Bedeutung Aktion td tds tde tr trs transmit data transmit data (std) transmit data (ext) transmit remote transmit remote (std) tre transmit remote (ext) wd wr wait for data wait for remote delay pause repeat endrep delay pause repeat end repeat Senden einer Nachricht Senden einer Nachricht (std) Senden einer Nachricht (ext) Senden einer Nachrichten-Anforderung Senden einer Nachrichten-Anforderung (std) Senden einer Nachrichten-Anforderung (ext) Warten auf eine Nachricht Warten auf eine NachrichtenAnforderung Einfügen einer Wartezeit in ms Warten auf Benutzereingabe Wiederholung eines Blocks Ende eines Blocks Wichtig: Der Parameter <Verzögerungszeit> gibt an, wie lange der Sequencer-Betrieb nach einem Befehl verzögert wird. Diese Zeitspanne kann, bedingt durch das Betriebsystem und die Auslastung des Prozessors, größer sein als der angegebene Wert. Senden einer Nachricht: td[s|e] <Anzahl_der_Wiederholungen> <Verzögerungszeit> <Nachrichten-ID> <Datenfeld> Eine Nachricht mit dem Identifier <Nachrichten-ID> und dem Datenfeld <Datenfeld> wird gesendet. Nach dem Senden eines Objekts wird <Verzögerungszeit> ms gewartet. Dieser Vorgang wird <Anzahl_der_Wiederholungen> mal wiederholt. Das td/tds-Kommando versendet Standard-Nachrichten (11 Bit Identifier), das tde-Kommando Extended-Nachrichten (29-Bit Identifier). Bei einem Transmit-Befehl (td, tr) wird ein Telegramm in die Sendequeue gestellt. Es wird nicht gewartet, bis das CAN-Telegramm auf dem Bus gesendet wurde. Bei niedrigen Baudraten kann es daher vorkommen, dass die Telegramme nicht schnell genug transportiert werden können, und die Sende-Queue volläuft. In diesem Fall stimmen auch die Verzögerungszeiten zwischen den Telegrammen nicht mehr. Andererseits ist es dadurch möglich, hohe Buslasten zu erzeugen. Beispiel: canAnalyser 69 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers // Senden von 20 Nachrichten mit // Datenfeld = 11 22 33 44 55 66 // zwischen den Nachrichten wird // td 20 100 0x10A 11 22 33 44 55 66 ID = 0x10A, 77 88 jeweils 100 ms gewartet 77 88 Senden einer Nachrichten-Anforderung: tr[s|e] <Anzahl_der_Wiederholungen> <Verzögerungszeit> <Nachrichten-ID> <Länge_des_Datenfeldes> Eine Remote-Nachricht mit dem Identifier <Nachrichten-ID> und <Länge_des_Datenfeldes> Datenbytes wird mit einer Verzögerungszeit <Verzögerungszeit>, <Anzahl der Wiederholungen> hintereinander gesendet. Das tr/trs-Kommando versendet Standard-Nachrichten (11 Bit Identifier), das tre-Kommando Extended-Nachrichten (29-Bit Identifier). Beispiel: // Senden von 10 Remote-Nachrichten mit ID = 33 mit // Data Length Code = 4 // zwischen den Nachrichten wird jeweils 200 ms gewartet // tr 10 200 33 4 Warten auf eine Nachricht: wd <Verzögerungszeit> <Nachrichten-ID> Der Sequenzbetrieb wird solange angehalten, bis eine Nachricht mit Identifier <Nachrichten-ID> eingetroffen ist. Im Anschluss wird noch <Verzögerungszeit> ms gewartet, bevor der nächste Befehl bearbeitet wird. Beispiel: // Warten auf eine Nachricht mit ID = 0x54 // anschließend 500 ms verzögern // wd 500 0x54 Warten auf eine Nachrichten-Anforderung: wr <Verzögerungszeit> <Nachrichten-ID> Der Betrieb wird solange angehalten, bis eine Remote-Nachricht mit Identifier <Nachrichten-ID> eingetroffen ist. Im Anschluss wird noch <Verzögerungszeit> ms gewartet, bevor der nächste Befehl bearbeitet wird. Beispiel: // Warten auf eine Remote-Nachricht mit ID = 0x54 // anschließend 500 ms warten // wr 500 0x54 canAnalyser 70 Copyright IXXAT Automation GmbH 3.8. Sequencer-Modul Einfügen einer Wartezeit: delay <Verzögerungszeit> Wartet <Verzögerungszeit< ms, bevor der nächste Befehl bearbeitet wird. Beispiel: // warte eine Sekunde lang // delay 1000 Wiederholung eines Blocks: repeat <Anzahl der Wiederholungen> <Weitere Befehle> endrep Der Befehl repeat gibt die Anzahl der Wiederholungen an, mit der ein nachfolgender Block wiederholt wird. Ein Block wird mit dem Befehl endrep abgeschlossen. Beispiel: // Ein Satz von vier Nachrichten soll 5 mal // gesendet werden. // Nach Absenden der Nachrichten soll auf eine Nachricht mit // Identifier 60 gewartet werden. // Danach wird die Sequenz 10 mal wiederholt. // Die Einrückungen sind nicht notwendig, // verdeutlichen aber die Struktur der Sequenz. // repeat 10 repeat 5 ; Count Delay ID Data td 1 1 41 12 13 14 15 td 1 1 0x3f 33 44 55 td 1 10 0x0a 22 33 td 1 100 32 76 65 43 26 endrep wd 1 60 endrep Warten auf Benutzereingabe: pause <Ausgabetext> Es wird ein Dialog geöffnet und der Text <Ausgabetext< angezeigt. Danach wird die Sequenz solange angehalten bis der OK-Schalter im Dialogfenster betätigt wird, über den Abbruch-Schalter besteht die Möglichkeit die Bearbeitung zu beenden. Beispiel: // Warten auf Benutzereingabe // pause Drücken Sie OK, um die Sequenz fortzusetzen ! canAnalyser 71 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers 3.8.4 Menüreferenz Datei-Menü Menüpunkt Funktion Neu Öffnet ein neues Editorfenster. Gegebenenfalls besteht Gelegenheit, Änderungen in einem zuvor geöffneten Editorfenster zu speichern Öffnen einer zuvor gespeicherten Sequencer-Datei Speichert eine Sequencer-Datei Speichert einer Sequencer-Datei unter einem neuen Dateinamen Importiert eine vorhandene canAnalyser Trace-Datei (Endung: .tr0, .tr1, ...) in das Sequencer-Modul. Die einzelnen CAN-Telegramme in der Trace-Datei werden aufbereitet und als td-Befehle an der aktuellen Cursor-Position in den Editor eingefügt. Der Delay-Parameter wird aus den Timestamps der CAN-Telegramme berechnet und auf 1 ms gerundet. Wichtig: Die Anzahl der importierten Telegramme ist beschränkt. Es werden maximal die ersten 50000 Telegramme einer Trace-Datei importiert. Druckt die aktuelle Sequencer-Datei aus Zeigt eine Vorschau des Ausdrucks Öffnet ein Fenster zur Auswahl der Seitenränder für den Ausdruck Öffnet den Windows-Druckerdialog Beendet das Sequencer-Modul Öffnen... Speichern Speichern unter... Trace-Aufzeichnung importieren... Drucken Druckvorschau Seite einrichten... Druckeinrichtung... Beenden Bearbeiten-Menü Menüpunkt Funktion Rückgängig Wiederherstellen Ausschneiden Macht die letzte Änderung rückgängig Stellt die rückgängig gemachte Änderung wieder her Entfernt den markierten Bereich des Editorenfensters und kopiert ihn in die Windows-Zwischenablage Kopiert den markierten Bereich des Editorenfensters in die Windows-Zwischenablage Fügt den Inhalt der Windows-Zwischenablage an der Cursorposition ein Löscht den markierten Bereich des Editorenfensters Markiert den gesamten Inhalt des Editorenfensters Öffnet einen Dialog zur Eingabe einer zu suchenden Zeichenkette Sucht das nächste Vorkommen der eingegebenen zu suchenden Zeichenkette Sucht das letzte Vorkommen der eingegebenen zu suchenden Zeichenkette Ersetzt eine zu suchende Zeichenkette durch eine einzugebende andere Zeichenkette Kopieren Einfügen Löschen Alles markieren Suchen... Weitersuchen Nach oben weitersuchen Ersetzen... canAnalyser 72 Copyright IXXAT Automation GmbH 3.8. Sequencer-Modul Ansicht-Menü Menüpunkt Funktion Symbolleiste Statusleiste Schaltet die Schalterleiste sichtbar/unsichtbar Schaltet die Statusleiste sichtbar/unsichtbar Nachrichtensequenz-Menü Menüpunkt Funktion Start Stop Einzelschritt Startet das Senden der aktuell geladenen Nachrichten-Sequenz Stoppt den Sequenz-Betrieb Nächsten einzelnen Programmschritt ausführen Optionen-Menü Menüpunkt Funktion Tabulator... Öffnet einen Dialog zur Bestimmung der Tabulatorenweite des Editorfensters Öffnet einen Dialog zur Bestimmung der Schriftart des Editorfensters Öffnet einen Dialog zur Auswahl der Schriftart für den Ausdruck Führt nicht die gesamte Nachrichten-Sequenz, sondern nur den jeweils nächsten Programmschritt aus Verschiebt immer den sichtbaren Bildausschnitt zum gerade aktiven Programmschritt Schriftart... Schriftart für Ausdruck... Einzelschritt-Modus Automatischer Bildlauf Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe des Sequencer-Moduls Öffnet die Anzeige der Versionsinformationen des Sequencer-Moduls 3.8.5 Schalterleiste Die wichtigsten Funktionen des Sequencer-Moduls sind auch über die Schalterleiste (Abb. 3.47) aufrufbar. 3.8.6 Statusleiste In der Statusleiste befindet sich ein LED-Symbol, das den Status des Control Panels bzw. des Sequencer-Modul anzeigt: LED-Farbe Bedeutung Grün Rot blinkend Control Panel und Sequencer-Modul sind gestartet Control Panel ist gestoppt. canAnalyser 73 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.47: Schalterleiste des Sequencer-Moduls 3.8.7 Tastaturkürzel Strg+N Strg+O Strg+S Strg+P Strg+Z Strg+Y Strg+X Strg+C Strg+V Entf Strg+A Strg+F F3 Umschalten+F3 Strg+H F5 Umschalten+F5 F7 F9 F1 3.9 Neue Sequencer-Datei erstellen Sequencer-Datei öffnen Sequecer-Datei speichern Sequencer-Datei drucken Änderungen rückgängig machen Änderungen wiederherstellen Text ausschneiden Text kopieren Text einfügen Text löschen Alles markieren Text suchen Weitersuchen Nach oben weitersuchen Text ersetzen Nachrichtensequenz starten Nachrichtensequenz anhalten Einzelschritt-Modus ein-/ausschalten Einzelschritt durchführen Öffnet die Online-Hilfe Handhabung von Filtern Mit Hilfe von Filtern werden bestimmte Nachrichten für ein Analysemodul sichtbar oder unsichtbar. Nachrichtenfilterdefinitionen haben im canAnalyser applikationsweite Gültigkeit. Die Filterkonfiguration erfolgt an zentraler Stelle, wodurch die Filter in den einzelnen Analysemodulen durch simples Auswählen aktiviert werden können. canAnalyser 74 Copyright IXXAT Automation GmbH 3.9. Handhabung von Filtern Abbildung 3.48: Dialog zum Anlegen und Konfigurieren von Filtern 3.9.1 Filterkonfiguration Das Anlegen und die Konfiguration von Filtern erfolgt im Dialog Verfügbare Filter (Abb. 3.48) welcher aus dem Control Panel, dem Receive-Modul, oder dem Trace-Modul heraus über das Symbol oder den Menüeintrag Verfügbare Filter... geöffnet werden kann. Neuen Filter anlegen Um einen neuen Filter anzulegen muss für diesen ein Name definiert und eine Filterkategorie ausgewählt werden. Das anschließende betätigen des Schalters Hinzufügen erzeugt den eingestellten Filter und öffnet automatisch dessen Konfigurationsdialog. Sobald dieser mit OK geschlossen wurde ist der Filter in den Analysemodulen verfügbar. Filterkonfiguration ändern Um die Konfiguration eines existierenden Filters zu ändern öffnen Sie dessen Konfigurationsdialog über die Leertaste oder den Schalter Bearbeiten. Die neue Filterkonfiguration wird von den Analysemodulen, die diesen gerade verwenden, automatisch übernommen. Filter umbenennen Ein existierender Filter kann über die Taste F2 oder über den Schalter Umbenennen umbenannt werden. Der neue Name wird von den Analysemodulen automatisch übernommen. Filter entfernen Einzelne Filter werden über die Taste Entf oder den Schalter Entfernen aus der Liste der verfügbaren Filter entfernt. Der Schalter Alle entfernen entfernt alle Filter, wobei hier zuvor eine Sicherheitsabfrage erfolgt. canAnalyser 75 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.49: ID Range Filter Konfiguration Analysemodule die den entfernten Filter in Verwendung haben reagieren hierauf indem der Nachrichtenstrom nicht mehr gefiltert wird, d.h. es werden alle eintreffenden Nachrichten akzeptiert und die Filterauswahl wird auf <Kein Filter> umgeschaltet. Filter kopieren Um mehrere Filter anzulegen, welche sich aber nur geringfügig unterscheiden, kann über den Schalter Kopieren eine vorhandene Filterkonfiguration dupliziert und anschließend Name und Einstellungen des Duplikats angepasst werden. Filter in andere Analysekonfiguration übernehmen Um die erstellten Filter in eine zweite Analysekonfiguration zu übernehmen, müssen diese über den Schalter Exportieren in eine separate Datei exportiert werden. Von dort aus können die Filter über den Schalter Importieren in weitere Analysekonfigurationen eingelesen werden (siehe auch Kapitel 1.4). 3.9.2 ID Range Filter Mit Hilfe des ID Range Filters können einzelne Nachrichten für den Empfang zugelassen oder gesperrt werden (Abb. 3.49). Die Auswahl erfolgt über den Identifier. Der Filterdialog enthält folgende Elemente: canAnalyser 76 Copyright IXXAT Automation GmbH 3.9. Handhabung von Filtern Element Bedeutung Gesperrte IDs Liste der Identifier, deren zugeordnete Nachrichten den Filter nicht passieren Liste der Identifier, die den Filter passieren Zuweisung der in der Liste Gesperrte IDs selektierten Identifier Gruppe in die Liste Aktzeptierte IDs Löschen des in der Liste Aktzeptierte IDs selektierten Eintrags Bei Betätigen dieses Schalters werden alle Nachrichten empfangen (alle Identifier werden in die Liste Aktzeptierte IDs eingetragen) Bei Betätigen dieses Schalters werden alle Nachrichten gesperrt (alle Identifier werden aus der Liste Aktzeptierte IDs gelöscht und in die Liste Gesperrte IDs eingetragen) Über diese Kommandozeile kann eine Filterfunktion alphanumerisch eingegeben werden. Dies ermöglicht die schnelle Auswahl von Identifiern. Es können einzelne Identifier oder ganze IdentifierBereiche gesperrt/freigegeben werden. Die Trennung von einzelnen Filterbefehlen erfolgt mittels eines Leerzeichens. Durch die Kommandozeile wird die Auswahl von Identifiern erleichtert. Durch diese Checkbox wird ausgewählt, ob in diesem Dialogfenster die Identifier in hexadezimaler oder dezimaler Darstellung angezeigt werden. Akzeptierte IDs >> << Alle akzeptieren Alle sperren ID (Auswahl durch Befehl) DEZ/HEX Syntax der Kommandozeile: Befehl Bedeutung -ID -ID1,ID2 +ID +ID1,ID2 z.B.: -3,8 Identifier ID in die Liste gesperrter IDs verschieben Identifierbereich ID1 bis ID2 in die Liste gesperrter IDs verschieben Identifier ID in die Liste aktzeptierter IDs verschieben Identifierbereich ID1 bis ID2 in die Liste aktzeptierter IDs verschieben Verschiebt die Identifier 3 bis 8 in die Liste gesperrter IDs, d.h. die Identifier 3 bis 8 werden ausgefiltert 3.9.3 ID/Data Mask Filter Mit dem ID/Data Mask Filter (Abb. 3.50) kann auf bestimmte Identifier und/oder Datenbytes gefiltert werden. Die Filterbedingung wird über Bitmasken definiert, die später mit den Feldern jeder Empfangsnachricht verglichen werden. Nur Nachrichten, die diese Filterbedingung erfüllen passieren den Filter. Die Filterbedingung der einzelnen Bits kann über einen Klick mit der linken Maustaste verändert werden. Die Bitmasken der Filterbedingungen können auch manuell über die Eingabefelder Maske und Wert verändert werden. In Maske werden die Bits mit Wert 1 für die Filterbedingung als relevant markiert. In Wert erhalten diese relevanten Bits ihren Sollwert (0 oder 1). Die Eingabe/Anzeige der Eingabefelder kann entsprechend den Einstellungen in der Box DEZ/HEX in dezimaler oder hexadezimaler Form erfolgen. Bit Bedeutung 0 1 x Mit 0 beschriftete Bits müssen den Wert 0 haben damit die Filterbedingung erfüllt ist Mit 1 beschriftete Bits müssen den Wert 1 haben damit die Filterbedingung erfüllt ist Mit x beschriftete Bits sind für die Filterbedingung nicht relvant und werden nicht geprüft canAnalyser 77 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.50: ID/Data Mask Filter Konfiguration Die Schalter Byte und Word legen die Granularität des Datenfelds fest. Ist Word-Granularität ausgewählt, kann für die Bytereihenfolge Intel- (little endian) oder Motorola- (big endian) Format eingestellt werden. Die Filterbedingung ist erfüllt, wenn alle als relevant markierten Bits den für sie definierten Sollwert besitzen. D.h. aber auch, daß eine Filterbedingung, in der alle Bits als nicht relevant markiert sind, für jedes Telegramm erfüllt ist und somit alle Nachrichten den Filter passieren. 3.10 Integration von eigenen Analysemodulen Durch die offene .NET Programmierschnittstelle hat der Anwender die Möglichkeit den canAnalyser um eigene Module oder Benutzerschnittstellen zu erweitern. Mit gängigen Windows Entwicklungssystemen (z. B. Visual Studio .NET, Delphi) können neue, eigenständige, auf dem .NET Framework basierende Module entwickelt und dem canAnalyser hinzugefügt werden. So können z. B. Bedienoberflächen für eigene Systeme bzw. für bestimmte Geräte oder Werkzeuge mit systemspezifischen Analysefunktionen erstellt werden. Eine Anleitung zur Entwicklung eigener Analysemodule und eine detaillierte Beschreibung der API finden Sie in der mitinstallierten Onlinehile IXXAT.MbsAnalyser.chm. Zur Vereinfachung der ersten Schritte werden Programmierbeispiele mitinstalliert, die auch als Grundlage für benutzerspezifische Module herangezogen werden können. Abhängig vom Umfang und Verwendungszweck des Analysemoduls und dessen Benutzer kann es von Vorteil sein das Analysemodul als fertig übersetztes Assembly in den canAnalyser zu integrieren: • Das Analysemodul wird bereitgestellt, dessen Sourcecode soll aber nicht weitergegeben oder verändert werden können. • Das Analysemodul ist umfangreich und muss in mehrere Quelldateien gegliedert werden. canAnalyser 78 Copyright IXXAT Automation GmbH 3.10. Integration von eigenen Analysemodulen Abbildung 3.51: Control Panel mit "C# CAN Tx" Beispiel-Analysemodul Benutzerdefinierte Analysemodule werden über ein Plug-in-Konzept ins Control Panel des canAnalysers integriert. Hierzu müssen die Assemblies der benutzerdefinierten Analysemodule inklusiv deren referenzierten Assemblies sich in einem der folgenden Verzeichnisse befinden: • Installationsverzeichnis • Öffentliche Dokumente\IXXAT\canAnalyser\3.0\UDModules • Eigene Dokumente\IXXAT\canAnalyser\3.0\UDModules Die beim Startup der canAnalyser Applikation automatisch erkannten benutzerspezifischen Module werden zusammen mit den Standardmodulen in der Modulübersicht des Control Panels zur Verfügung gestellt (Abb. 3.51) und können so mittels Drag-and-Drop gestartet werden. Änderungen am Quellcode eines Analysemoduls werden somit erst nach dessen Übersetzung in ein Assembly und Neustart des canAnalysers wirksam. Während der Installation können Beispielprojekte für Analysemodule in C# und VB.NET im Verzeichnis "Öffentliche Dokumente\IXXAT\canAnalyser\3.0\Api\Examples" installiert werden. Vorkompilierte Assemblies werden wenn gewünscht im Verzeichnis "Öffentliche Dokumente\IXXAT\canAnalyser\3.0\UDModules" installiert. Der Ausgabepfad der Beispielprojekte zeigt ebenfalls auf diesen Pfad, deshalb überschreibt ein Neukompilieren der Beispielprojekte die vorkompilierten Assemblies. canAnalyser 79 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers 3.11 Scripting-Host 3.11.1 Übersicht Skripte erleichterten sowohl die Arbeit des Entwicklers während der Testphase als auch dem Servicetechniker die Fehlersuche vor Ort, da die Erstellung und Änderung von Skripten sehr flexibel durchgeführt werden kann. Hierbei ist nicht zwingend eine Entwicklungsumgebung erforderlich. Für die Konfiguration und Ausführung von Skripten stellt das Control Panel in der Modulübersicht einen Scripting-Host als Analysemodul bereit (Abb. 3.52). Hierin ausführbare Skripte basieren auf derselben offenen .NET Programmierschnittelle, die für die Integration von eigenen Analysemodulen verwendet wird (Abb. 3.53). Jedoch unterstützt der Scripting-Host nicht nur Skripte mit grafischer Benutzerschnittstelle, sondern auch Console basierte Skripte. Skripte mit grafischer Benutzerschnittstelle besitzen immer ein eigenes Fenster. Console basierte Skripte haben ein optionales, textorientiertes Ein-/Ausgabefenster, welches direkt im Scripting-Host Fenster integriert ist und können alternativ unsichtbar ausgeführt werden. Gegenüber der Integration eines Analysemoduls über dessen Assembly birgt der Scripting-Host den Vorteil, nach Änderungen am Quellcode den canAnalyser nicht neu starten zu müssen. Der Anwender startet innerhalb des Scripting-Hosts direkt die Quellcode-Datei des Skripts. Es sind bei Verwendung des Scripting-Hosts folgende Einschränkungen zu beachten: • Das Skript muss aus einer einzigen Quellcode-Datei bestehen. • Es muss in C# oder VisualBasic.NET kodiert sein. • Außer den Formularresourcen (entsprechende .resx- oder resources-Datei) werden keine weiteren eingebetteten Resourcen unterstützt. • Der Scripting-Host bietet keine integrierte Debugging-Möglichkeit. Solange bei der Kodierung diese Einschränkungen beachtet werden kann der identische Quellcode sowohl als Skript ausgeführt, als auch in ein Assembly übersetzt und als vollwertiges Analysemodul ins Control Panel integriert werden (Abb. 3.53). Über diesen Weg ist dann wieder integriertes Debugging möglich. Console-Skripte können nicht als Analysemodul integriert werden. Somit besteht für diese wirklich keine Möglichkeit für integriertes Debugging. 3.11.2 Der Scripting-Host in der Analyse-Konfiguration Das Control Panel stellt den Scripting-Host als Analysemodul in der Control Panel Modulübersicht bereit. Dieser kann per Drag-and-Drop auf den Rootknoten der Analyse-Konfiguration oder auf einen einzelnen Bus gezogen werden (Abb. 3.54), was abhängig vom einzelnen Anwendungsfall ist: • Für ein Gateway-Skript wird der Scripting-Host an den Rootknoten der AnalyseKonfiguration gehängt, da ein solches Skript Zugriff auf mehrere Busse gleichzeitig benötigt. • Ein Skript zur Gerätesimulation wird in der Regel in einem Scripting-Host ausgeführt, der an einem einzelnen Bus hängt. Mit Hilfe von mehreren Instanzen des Scripting-Host ist es somit auch möglich, mehrere Geräte vom selben Typ im System zu simulieren. canAnalyser 80 Copyright IXXAT Automation GmbH 3.11. Scripting-Host Abbildung 3.52: Als Skript ausgeführtes GUI- und Console Programmierbeispiel Abbildung 3.53: Integration "C# CAN Tx"-Beispiel über Assembly-DLL und Scripting-Host. canAnalyser 81 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers Abbildung 3.54: Scripting-Host kann an einem einzigen oder an allen Bussen hängen Abbildung 3.55: Scripting-Host Kontextmenü 3.11.3 Das Scripting-Host Fenster Das Scripting-Host Fenster zeigt im oberen Bereich zwei Registerkarten: • Skripte: In dieser Registerkarte wird der Scripting-Host bedient. Es können Skripte geladen, entladen, konfiguriert, gestartet und angehalten werden. • Übersetzungsfehler: Diese Registerkarte dient zur Ausgabe von Fehlern beim Übersetzen oder Starten eines Skripts. canAnalyser 82 Copyright IXXAT Automation GmbH 3.11. Scripting-Host Das untere Teilfenster zeigt Registerkarten mit Ein-/Ausgabe-Fenster für Console-Skripte. Die Console eines Skripts wird erst dargestellt, wenn das Skript explizit eine Console anfordert. Dies ermöglicht das Ausführen von unsichtbaren Skripten. Um ein Skript ausführen zu können muss vorab dessen Quellcode-Datei geladen werden. Dies kann entweder über den Schalter , über das Kontextmenü (Abb. 3.55) oder per Drag-and-Drop erfolgen. Da jedes Analysemodul Klassen und Interfaces der canAnalyser-API benutzt und mindestens ein Formular enthält (bei GUI-Skripten), werden automatisch vier Standardreferenzen vorkonfiguriert: • IXXAT.MbsAnalyser.dll • System.dll • System.Drawing.dll • System.Windows.Forms.dll Falls das geladene Skript weitere Assemblies verwendet, müssen diese über den Befehl Referenz hinzufügen im Kontextmenü referenziert werden. Auch das Hinzufügen von Referenzassemblies mittels Drag-and-Drop wird unterstützt. Diese Assemblies lassen sich in folgenden Verzeichnissen direkt durch deren Dateinamen lokalisieren: • Installationsverzeichnis • C:\Users\Public\Documents\IXXAT\canAnalyser\3.0\UDModules • Verzeichnis des Skripts • .NET Framework Andernfalls müssen die Referenzen mittels absolutem Pfad angegeben werden. Es genügt nicht, wenn eine zu referenzierende Assembly nur im GAC (Global Assembly Cache) liegt! Notfalls muss eine Kopie dieser Assembly in ein herkömmliches Verzeichnis abgelegt werden. Generell gilt aber, dass ein zu referenzierendes Assembly entweder im .NET Framework oder innerhalb des canAnalyser Programmverzeichnisses, bzw. eines direkten oder indirekten Unterverzeichnis dessen liegen muss. 3.11.4 Skript bearbeiten oder den entsprechenden Kontextmenüeintrag kann die Quellcode-Datei Über den Schalter eines Skripts bearbeitet werden. Hierzu öffnet der Scripting-Host den für den jeweiligen Dateitypen beim Betriebssystem registrierten Editor. Die Verknüpfung mit dem Editor lässt sich im Windows-Explorer in den Eigenschaften der Quellcode-Datei definieren. Ist kein spezieller Editor registriert, so wird das Skript im Windows-Standardeditor Notepad geöffnet. Wesentlich komfortabler gestaltet sich das Bearbeiten von Quellcode aber mit spezialisierten Editoren. Als Alternative zum kommerziellen Microsoft Visual Studio .NET bieten sich vor allem frei verfügbare Werkeuge, wie #Develop (www.sharpdevelop.net) an. Insbesondere für die Bearbeitung von graphischen Benutzeroberflächen ist eine solche Umgebung fast unverzichtbar. canAnalyser 83 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers 3.11.5 Skript ausführen Ein geladenes und konfiguriertes Skript wird über den Schalter oder den entsprechenden Kontextmenüeintrag gestartet. Hierzu muss der Benutzer zuvor das auszuführende Skript markiert haben. Wenn der Quellcode Fehler enthält oder das Skript nicht gestartet werden kann wird dies mit Fehlermeldungen in der Registerkarte Übersetzungsfehler quittiert. Ist dagegen alles fehlerfrei so wird das Hauptfenster des Skripts dargestellt und das Skript im Scripting-Host mit als ausgeführt angezeigt. Skripte, deren Option Automatisch ausführen im Kontextmenü eingeschaltet ist, werden beim nächsten Laden der abgespeicherten Analyse-Konfiguration automatisch ausgeführt. 3.11.6 Skript anhalten , den entsprechenden KontextmenüeinDie Ausführung eines Skripts kann über den Schalter trag, oder durch manuelles Schließens des Skriptfensters angehalten werden. Dies wird von Scripting-Host in der Darstellung des Skripts mit wiedergegeben. Auch das Entladen des , bzw. den entsprechenden Kontextmenüeintrag oder das SchlieSkripts über den Schalter ßen des Scripting-Hosts bewirkt das Anhalten von ausgeführten Skripts. 3.11.7 Skript debuggen Bei Problemen zur Laufzeit kann das Debuggen eines Skripts erforderlich sein. Der ScriptingHosts bietet hierfür die Möglichkeit ein Skript mit Debuginformationen auszuführen. Benutzen Sie hierzu den Menüeintrag Skript | Debuggen oder den entsprechenden Befehl im Kontextmenü. Der Skripting-Host zeigt daraufhin den Dialog aus Abb. 3.56, der das eigentliche Ausführen des Skripts solange verzögert, bis Sie Ihre Debugumgebung gestartet und mit dem canAnalyserProzess verbunden haben. Die folgenden Schritte veranschaulichen das Debuggen eines Skripts mit Microsoft Visual Studio 2008: • Sobald der Script Host den in Abb. 3.56 abgebildeten Dialog anzeigt starten Sie Visual Studio 2008 und führen den Menüeintrag Tools | Attach to Process... aus. • Im daraufhin angezeigten Visual Studio-Dialog Attach to Process (Abb. 3.57) markieren Sie den canAnalyser-Prozess (MbsCPan.exe) und drücken einfach die Schaltfläche Attach. • Laden Sie die Skript-Datei in Visual Studio und setzen Sie die Haltepunkte. • Setzen Sie die Ausführung des Skripts fort, indem Sie den OK-Schalter im Scripting-Host Dialog betätigen (Abb. 3.56). Das Skript wird nun bis zum Haltepunkt ausgeführt. Von hieraus können Sie den Skriptcode nun debuggen. Änderungen am Skript werden erst nach Neustart des Skripts im Skripting-Host wirksam. canAnalyser 84 Copyright IXXAT Automation GmbH 3.11. Scripting-Host Abbildung 3.56: Scripting-Host wartet, bis Debugger gestartet ist Abbildung 3.57: Verbinden des Debuggers mit dem canAnalyser canAnalyser 85 Copyright IXXAT Automation GmbH Kapitel 3. Die Module des canAnalysers 3.11.8 Menüreferenz Datei-Menü Menüpunkt Funktion Laden Entladen Beenden Laden eines Skripts Entladen des markierten Skripts Beendet Skripting-Host Skript-Menü Menüpunkt Funktion Ausführen Debuggen Markiertes Skript ausführen Ausführen des markierten Skripts mit Debuginformation (Kapitel 3.11.7) Ausführung von markiertem Skript beenden Markiertes Skript bei nächstem Laden der Analysekonfiguration automatisch ausführen Bearbeiten des markierten Skripts. Hierzu wird der beim System hierfür registrierte Editor geöffnet. Anhalten Automatisch ausführen Bearbeiten Referenz-Menü Menüpunkt Funktion Neu Entfernen Bearbeiten Markiertem Skript neue Referenz hinzufügen Markierte Referenz entfernen Markierte Referenz bearbeiten. Hilfe-Menü Menüpunkt Funktion Hilfethemen Info... Öffnet die Online-Hilfe Öffnet die Anzeige der Versionsinformationen 3.11.9 Schalterleiste Die wichtigsten Funktionen des Scripting-Hosts sind auch über die Schalterleiste (Abb. 3.58) aufrufbar. 3.11.10 Tastaturkürzel F5 Strg+F5 Umschalten+F5 Entf F2 F1 canAnalyser Skript ausführen Skript debuggen Skript anhalten Referenz entfernen Referenz bearbeiten Öffnet die Online-Hilfe 86 Copyright IXXAT Automation GmbH 3.11. Scripting-Host Abbildung 3.58: Schalterleiste des Scripting-Host-Moduls canAnalyser 87 Copyright IXXAT Automation GmbH Anhang A Export A.1 Export von CSV-Dateien Viele Exportmöglichkeiten im canAnalyser erzeugen CSV-Dateien (comma separated value). Dieses Text-Format ist für Daten in Tabellenform vorgesehen, und kann von den meisten Tabellenkalkulationen importiert werden. Trotzdem gibt es Unterschiede beim Import auf die in diesem Anhang eingegangen werden sollen. A.1.1 Verwendetes CSV-Format Als Trennzeichen zwischen den einzelnen Zellen wird beim CSV-Export das sprachabhängige Listentrennzeichen, das in der Windows-Systemsteuerung bei den Spracheinstellungen eingetragen ist, verwendet. Zeilen werden mit dem Zeilenendezeichen abgeschlossen. Zelleninhalte werden in Anführungszeichen eingeschlossen ("). Anführungszeichen in Zelleninhalten werden durch eine Escape-Sequenz ("") ersetzt. A.1.2 Import in Microsoft ® Excel CSV-Dateien können in Excel importiert werden, indem man beim Öffnen den Dateityp "Textdateien" auswählt. Abhängig von der Dateiendung (.csv bzw. .txt) der ausgewählten Datei, werden unter Excel verschiedene Import-Filter benutzt. Dateien mit der Endung ".csv" werden von Excel ohne weitere Interaktion mit dem Anwender importiert. Da Excel dabei versucht, das Datenformat der Zellen automatisch zu bestimmen, kann es dabei auch zu Fehlern kommen. Ein einfaches Beispiel hierzu: In eine Excel-Tabelle wird die Zeichenkette "3e0" eingetragen und anschließend in eine CSV-Datei exportiert. Nach einem Import dieser Datei steht in der Zelle der Wert "3,00E+00", da der Wert als FließkommaZahl interpretiert worden ist. Als Trennzeichen zwischen den einzelnen Zellen wird beim Excel CSV-Import das sprachabhängige Listentrennzeichen, das in der Windows-Systemsteuerung bei den Spracheinstellungen eingetragen ist, verwendet. Beim Importieren von Dateien mit der Endung ".txt" öffnet Excel den Textkonvertierungsassistenten mit dem der Anwender den Import-Vorgang parametrieren kann. So kann ein anderes Listentrennzeichen bzw. Texterkennungszeichen verwendet werden und der Datentyp einzelner Spalten kann festgelegt werden. Folgende Parameter können zum Import von Dateien verwendet werden, die vom canAnalyser erzeugt wurden: • Getrennt - Zeichen trennen Felder canAnalyser 89 Copyright IXXAT Automation GmbH Anhang A. Export • Trennzeichen - Semikolon (;), Komma (,) oder andere, je nach Spracheinstellung zum Zeitpunkt des Exports • Falls Spalten mit Hexadzimalzahlen enthalten sind, sollte der Datentyp dieser Spalten auf "Text" gesetzt werden. Andernfalls werden bestimmte Hexadezimalzahlen als Fließkomma-Zahlen interpretiert. Es gibt noch eine weitere Besonderheit im Zusammenhang mit Excel: Das Ziehen einer CSVDatei auf eine offene Excel-Instanz (Drag&Drop) ist nicht immer gleichzusetzen mit dem Öffnen der Datei über den Menüpunkt "Datei|Öffnen". Dateien mit der Endung .csv werden bei Drag&Drop bzw. Öffnen gleich behandelt. Hat die Datei aber die Endung .txt wird der Inhalt der Datei zeilenweise in die erste Spalte der Tabelle kopiert. A.1.3 Import in OpenOffice/LibreOffice OpenOffice zeigt beim Import von Dateien mit der Endung ".csv" automatisch den TextimportAssistenten an, mit dem der Import parametriert werden kann. Die folgenden Parameter können beim Import verwendet werden: • Getrennt - Zeichen trennen Felder • Trennzeichen - Semikolon (;), Komma (,) oder andere, je nach Spracheinstellung zum Zeitpunkt des Exports • Falls Spalten mit Hexadzimalzahlen enthalten sind, sollte der Datentyp dieser Spalten auf "Text" gesetzt werden. Andernfalls werden bestimmte Hexadezimalzahlen als Fließkomma-Zahlen interpretiert. Sofern beim Import nicht explizit der CSV-Importfilter gewählt wurde, werden Dateien mit der Endung ".txt" von OpenOffice als Textdateien behandelt, und als solche mit OpenOffice.org Writer geöffnet. Aus diesem Grund funktioniert Drag&Drop nur für Dateien mit der Endung ".csv". canAnalyser 90 Copyright IXXAT Automation GmbH Anhang B Definitionen B.1 Definitionen, Akronyme, Abkürzungen Bitrate Übertragungsrate in Bit/s mit der ein Bus betrieben wird. CAN Controller Area Network CAN-Status Um ein CAN-Netz nicht durch einen defekten Teilnehmer zu blockieren, verfügen CAN-Controller über interne Fehlerzähler. Überschreiten diese Fehlerzähler eine bestimmte Grenze, wechselt der Status des CANControllers in den Warning Level. Beim Überschreiten einer weiteren Grenze wird der Knoten vom Bus abgeschaltet (Bus off). Data Frame Standard Datentelegramm des CAN-Bus. Ein Data Frame besteht aus einem 11 oder 29 Bit breiten Identifier (COBID), einem zwischen 0 und 8 Byte großen Datenfeld sowie Protokollinformationen wie RTR-Flag und DLC (data length code). Datenbasis Editor Applikation zum Erstellen und Ändern von Datenbasen auf denen die Interpretation von Schicht-2-Nachrichten aufbaut. Error Frame spezielles Telegramm zur Fehlersignalisierung auf dem CAN-Bus FIBEX Field Bus Exchange Format - Fibex ist ein XML basiertes Austauschformat, daß für den Austausch von Daten über nachrichtenorientierte Kommunikationssysteme vorgesehen ist. Die Spezifikation des FIBEX Formats ist auf der Homepage der ASAM e.V. (Association for Standardisation of Automation- and Measuring Systems) auf http://www. asam.net verfügbar. Filter Modul, um Nachrichten nach bestimmten Kriterien für die Anzeige bzw. den Trace auszuwählen bzw. auszuschließen. FlexRay FlexRay ist ein schnelles, deterministisches und fehlertolerantes Bussystem für den Einsatz im Automobil. FlexRay CCM IXXAT PC-Interface für FlexRay und CAN Online-Modus Aufzeichnung oder Anzeige von Nachrichten unmittelbar nach dem Empfang ohne weitere Bearbeitung. canAnalyser 91 Copyright IXXAT Automation GmbH Anhang B. Definitionen Remote Frame CAN-Anforderungstelegramm. Spezielles Telegrammformat ohne Datenfeld zum Anfordern eines Datentelegramms RTR RemoteTransmitRequest: Das RTR-Bit innerhalb einer CAN-Nachricht unterscheidet Daten-Telegramme und Datenanforderungs-Telegramme Standard/Extended Der CAN-Bus unterstützt zwei Nachrichtenformate, die sich durch die Länge des Identifiers unterscheiden. Standard mit 11Bit Identifier und Extended mit 29Bit Identifier. Trace Aufzeichnung von Nachrichten in eine Datei Tracefile eine durchgeführte Aufzeichnung von Schicht-2-Nachrichten, welche als Binär- oder Textdatei abgespeichert werden, und die anschließend ausgewertet werden können Trigger Ereignis, das zum Starten/Stoppen einer Aufzeichnung (Trace) verwendet wird. TX-echo Modus, in dem der canAnalyser auch Nachrichten empfängt, die er selbst gesendet hat. TX-passiv Modus, in dem über Hardware der aktive Zugriff auf den Bus verhindert wird. Weder Acknowledge noch Fehler können aufgeschaltet werden. Der canAnalyser ist ausschließlich Zuhörer. VCI universeller CAN-Treiber für alle PC/CAN-Karten von IXXAT canAnalyser 92 Copyright IXXAT Automation GmbH Anhang C Urheberrechte C.1 C.1.1 Urheberrechte Urheberrecht © 2004-2014 IXXAT Automation GmbH, all rights reserved C.1.2 Zusätzliche Urheberrechte Dundas software This software contains material that is © 1994-2000 DUNDAS SOFTWARE LTD., all rights reserved. Microsoft This software installs or updates Microsoft OS components (MSXML3 SP5) which are copyrighted by © Microsoft Corp. Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www. apache.org/). Portions of this software was originally based on the following: • software copyright (c) 1999, IBM Corporation., http://www.ibm.com. Castle windsor Apache License, Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. • "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. canAnalyser 93 Copyright IXXAT Automation GmbH Anhang C. Urheberrechte • "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. • "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. • "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. • "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. • "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. • "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). • "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. • "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." • "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. canAnalyser 94 Copyright IXXAT Automation GmbH C.1. Urheberrechte 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and 2. You must cause any modified files to carry prominent notices stating that You changed the files; and 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any partof the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. canAnalyser 95 Copyright IXXAT Automation GmbH Anhang C. Urheberrechte 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS Lua.org, PUC-Rio License for Lua 5.0 and later versions Copyright © 1994-2010 Lua.org, PUC-Rio. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. canAnalyser 96 Copyright IXXAT Automation GmbH C.1. Urheberrechte THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. OxyPlot The MIT License (MIT) Copyright (c) 2012 Oystein Bjorke Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. OpenTK The Open Toolkit library license Copyright (c) 2006 - 2013 Stefanos Apostolopoulos ([email protected]) for the Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. canAnalyser 97 Copyright IXXAT Automation GmbH Anhang C. Urheberrechte Third parties OpenTK.Platform.Windows and OpenTK.Platform.X11 include portions of the Mono class library. These portions are covered by the following license: Copyright (c) 2004 Novell, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (c) 2003-2007 Tao Framework Team OpenTK.Compatibility includes portions of the Tao Framework library (Tao.OpenGl, Tao.OpenAl and Tao.Platform.Windows.SimpleOpenGlControl). These portions are covered by the following license: Copyright (c) 2003-2007 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. OpenTK.Half offers Half-to-Single and Single-to-Half conversions based on OpenEXR source code, which is covered by the following license: Copyright (c) 2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. canAnalyser 98 Copyright IXXAT Automation GmbH C.1. Urheberrechte • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. • Neither the name of Industrial Light & Magic nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. canAnalyser 99 Copyright IXXAT Automation GmbH