Testen mit PCAN Explorer

Die Software PCAN Explorer von PEAK-System ermöglicht das Senden, Überwachen und Auswerten von Botschaften auf einem systeminternen CAN (Controller Area Network). Zu einem vergleichbar günstigen Preis bietet sie eine übersichtliche, anpassbare Benutzeroberfläche und enthält hilfreiche Tools für Tests der CAN Kommunikation eines Systems. Je nach Art, der auf dem CAN Bus gesendeten Daten können nicht nur Aussagen zur Kommunikationsfähigkeit eines Systems, sondern auch zum Systemverhalten abgeleitet werden. Mithilfe von Makros in der Skriptsprache VBScript sind Testabläufe und Testauswertung weitgehend automatisierbar. Dadurch bietet sich auch die Möglichkeit CAN Kommunikation zu simulieren und isolierte Subsysteme autonom zu testen. PCAN Explorer enthält einige nützliche Features, welche die Protokollierung und Dokumentation des Datenflusses auf einem stark frequentierten CAN Bus erleichtern.

Symbolbasierte Interpretation der Daten

Bei Tests an einem System mit vielen Sendern und Empfängern wird man schnell mit Daten überflutet. PCAN Explorer ermöglicht die Interpretation der empfangenen Daten anhand von Symbolfiles. Diese Dateien lassen sich mit dem zugehörigen Symboleditor erstellen und weisen den jeweiligen CAN Botschaften beliebige Namen (Symbole) und Strukturen zu. Die enthaltenen Datenbytes oder auch einzelne Bits der Botschaften können mit unterschiedlichen Bezeichnungen oder Datentypen versehen und entsprechend der festgelegten Struktur angezeigt werden. Enumerationen ermöglichen die Auflösung von Zahlenwerten in Statustexte. Eine vom System gesendete Botschaft mit einem sieben Byte langen Wert wird so anhand der CAN ID automatisch mit einem Symbol versehen und als vier Byte Messwert mit Maßeinheit und Statustexten oder als Notification mit leicht verständlichem Inhalt dargestellt:

Botschaftsdaten mit und ohne symbolische Auflösung

Abb. 1: Botschaftsdaten mit und ohne symbolische Auflösung

Botschaftsfilter

Mithilfe von Filtern können die angezeigten CAN Botschaften reduziert werden. Benötigt man für einen Test Case nur Botschaften von einem bestimmten Subsystem, kann PCAN Explorer die Nachrichten aller anderen Komponenten ausblenden. Dadurch wird es leichter den Überblick zu behalten oder die Aktualisierung eines bestimmten Status oder Wertes zu beobachten. Gefiltert werden kann dabei zum Beispiel nach dem Inhalt eines bestimmten Symbolfiles. Wird für jedes Subsystem ein eigenes Symbolfile angelegt, ist es bei Tests einfach, ausschließlich relevante CAN Botschaften anzuzeigen. Auch wichtige CAN IDs oder ID-Bereiche können Filterkriterium sein. Die angelegten Filter können für spätere Wiederverwendung gespeichert und in einem Dropdown-Menü über der Empfangsliste ausgewählt werden (siehe Abb. 1).

Aufzeichnung und Darstellung des Datenflusses

Mit einer integrierten Trace-Funktion kann während eines Tests die gesamte CAN Kommunikation aufgezeichnet werden. Das macht es anschließend einfacher das Timing eines Status, eine Messwertveränderung oder Reaktionen eines Subsystems auf gesendete Botschaften nachzuweisen. Die Trace-Funktion wird außerdem durch einen Plotter unterstützt, der bei Bedarf Messwertverläufe oder Statusänderungen im Zeitbezug darstellt:

Plot von Testdaten in PCAN Explorer

Abb. 2: Plot von Testdaten in PCAN Explorer

Lesen und Senden auf dem CAN Bus

Im einfachsten Anwendungsfall wird PCAN Explorer an den CAN Bus angeschlossen und liest sämtliche Kommunikation des Systems mit. Auf diese Weise kann im Test nachgewiesen werden, ob das System CAN Botschaften entsprechend der Anforderungen sendet, ob Subsysteme auf bestimmte Botschaften reagieren oder ob Systemgrößen und Messwerte in einem sinnvollen Bereich liegen. Mit dem gleichen Setup ist es möglich bestimmte Systemzustände zu provozieren oder manuell bestimmte Firmwarefunktionen in Subsystemen auszulösen. Die erforderlichen Signale oder Messwerte werden einfach mit PCAN Explorer auf den CAN Bus gesendet, sodass es bei Tests nicht notwendig ist auf Systemzustände zu warten oder bestimmte Umgebungsbedingungen zu erzeugen.

Lesen und Senden am CAN Bus

Abb. 3: Lesen und Senden am CAN Bus

Automatisierung von Testabläufen

Komplexere Tests werden in PCAN Explorer durch die Verwendung von Makros ermöglicht. Mit ihrer Hilfe können Botschaften automatisch gesendet und Inhalte empfangener Botschaften automatisch überprüft werden. Unter Anwendung grundlegender Programmierkenntnisse wie If-Else-Anweisungen und Schleifen können die entstehenden Skripte auf Knopfdruck ganze Testprotokolle abarbeiten.

Beispiel:
Bei Softwaretests an einem CAN gesteuerten Schrittmotor werden mit einem Makro mechanische Minimal- und Maximalpositionen vom CAN Bus eingelesen. Anschließend wird die Minimalposition angesteuert. Das Makro berechnet Sollpositionen basierend auf der minimalen Schrittweite des Motors, steuert alle möglichen Positionen zwischen Minimum und Maximum an und fährt dann im gleichen Bewegungsmuster zurück zur Minimalposition. Die entsprechenden Messdaten liest das Makro über den CAN Bus ein und vergleicht sie, während neue Daten für die Sollposition generiert und als CAN Botschaft versendet werden. Ein Plot der Daten ist während des Testlaufs möglich. Mithilfe des Makros wird sichergestellt, dass der Motor in der Lage ist mit der festgelegten Auflösung alle 4000 in der Anwendung verfügbaren Positionen anzusteuern, ohne nennenswert vom Sollwert abzuweichen.

Automatisierte Soll-Position (blau) und eingelesene Ist-Position (überlagert von Soll) des Schrittmotors

Abb. 4: Automatisierte Soll-Position (blau) und eingelesene Ist-Position (überlagert von Soll) des Schrittmotors

Mit ein wenig mehr Aufwand lassen sich Symbolfiles im Makro integrieren, sodass direkt mit Symbolen und Statustexten gearbeitet werden kann. Das Makro sucht dann automatisch CAN IDs und Werte von Enumerationen aus dem Symbolfile und versendet die Botschaft mit den dazugehörigen Daten. Auf diese Weise kann der Code deutlich verständlicher geschrieben werden. Auch wenn die verfügbaren Funktionen und Operatoren etwas limitierter sind als man das von höheren Programmiersprachen wahrscheinlich gewöhnt ist, erlaubt VBScript fast vollständigen Zugang zur Objektstruktur von PCAN Explorer und damit Zugriff auf Projektdateien, Symbolfiles, Sende- und Empfangslisten, Verbindungen und anderen Funktionen der Software. Sogar E-Mail-Benachrichtigungen können in Abhängigkeit von Testresultaten realisiert werden.

Simulation und autonomes Testen

Das interessanteste Anwendungsszenario von PCAN Explorer ist die Simulation von Systemkomponenten und Subsystemen. Ist beispielsweise ein Sensor oder ein Bedienpanel zum Test nicht verfügbar, kann ihre CAN Kommunikation mit PCAN Explorer simuliert werden. Fehlt ein übergeordnetes System kann PCAN Explorer verwendet werden, um notwendige Botschaften an Subsysteme zu senden und den Test trotzdem durchführen zu können.

PCAN Explorer zur Simulation der Botschaften einer fehlenden Komponente

Abb. 5: PCAN Explorer zur Simulation der Botschaften einer fehlenden Komponente

Auf diese Weise ist es auch möglich Komponenten die eigentlich durch Systembotschaften gesteuert werden autonom zu testen. Alle notwendigen Botschaften werden dabei mit PCAN Explorer versendet.

In einem aktuellen Projekt wird dieser Anwendungsfall genutzt um eine Komponente, die zwischen zwei CAN Bussystemen übersetzen soll zu testen. Dabei stehen die Geräte, welche am zweiten Bussystem mit der Komponente kommunizieren nicht zum Test zur Verfügung. Die Komponente sendet jedoch ein Timeout und stoppt die Kommunikation auf beiden Bussystemen, falls das korrekte Kommunikationsprotokoll nicht eingehalten wird. Zum Test muss daher mit PCAN Explorer die Kommunikation auf dem zweiten Bussystem simuliert werden, während auf dem ersten Bus das Testprotokoll für die Komponente ausgeführt wird.

Isoliertes Testen eines Subsystems durch beidseitige Simulation der CAN Kommunikation

Abb. 6: Isoliertes Testen eines Subsystems durch beidseitige Simulation der CAN Kommunikation

Vorteile beim Testen mit PCAN Explorer

  1. Überschaubare Anschaffungskosten der Software
    (Vergleichbare Software kann je nach Anbieter einige tausend Euro kosten)
  2. Ermöglicht autonomes Testen von Systemkomponenten
  3. Ermöglicht einfache Automatisierung von Testprotokollen

Nachteile beim Testen mit PCAN Explorer

  1. Teilweise limitierte Möglichkeiten von VBScript
  2. Suboptimaler integrierter Texteditor
    (Ausweichen auf Notepad++ oder ähnliches ist empfehlenswert)
  3. Zusatzkosten bei Verwendung von verschiedenem Zubehör

Kontaktieren Sie uns!

Autor

Auch interessant:

Gastvorlesung an der OTH Amberg-Weiden

Letzten Montag (01.06.2015) durfte ich eine Gastvorlesung über mein Lieblingsthema Systems Engineering an der Ostbayerischen Technischen Hochschule in Weiden halten. Im Masterstudiengang Medizintechnik bei Professor Clemens Bulitta habe ich den Studenten praktische Einblicke in das Themengebiet Systems Engineering gegeben. Gesprochen habe ich dabei über: Werdegang eines Systemarchitekten Vorgehen in der…
Getagged mit: , , , , , , , , , ,