Testen mit PCAN Explorer

Stefan Heinrich

19/04/2021

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

Geschrieben von Stefan Heinrich

Seit Oktober 2020 gehört Stefan Heinrich zum MEDtech-Ingenieur Team. Hier ist er vor allem als Hardwareentwickler tätig.


Weitere Beiträge

  • 29/01/2025
  • Allgemein, Hardware, Testen

EinleitungUm bei der EMV Prüfung für die Zulassung neuer medizintechnischer Geräte das Risiko zu reduzieren machen wir gerne Vortests mit den Geräten in der Prototypen Phase. Aktuell unterstützen wir ...

Weiterlesen
  • 12/11/2024
  • Allgemein, Software, Testen, Tools

In sicherheitskritischen Softwareprojekten steht die Qualität der Software an erster Stelle. Besonders bei Klasse-C-Software, die nach strengen Normen wie IEC 62304 (Medizintechnik) zertifiziert werden muss, ist es essenziell, dass ...

Weiterlesen
  • 08/08/2024
  • Allgemein, Elektrostimulation, Software, Testen

Heutzutage sind Apps im Gesundheitsbereich sehr wichtig. Besonders Apps, die Daten von medizinischen Sensoren lesen und verarbeiten können, sind nützlich. Flutter ist ein Open-Source-Framework von Google, das sich hervorragend ...

Weiterlesen
Cookie-Übersicht

Die Internetseiten der MEDtech Ingenieur GmbH verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.

Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.

Durch den Einsatz von Cookies kann die MEDtech Ingenieur GmbH den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.

Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird.

Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.

Weitere Informationen erhalten Sie in unserer Datenschutzerklärung.

Unbedingt notwendige Cookies

Dieses Cookie wird benötigt, um Ihre Cookie-Einstellungen zu merken und weitere Hauptfunktionen zur Verfügung zu stellen

Um Ihnen eine Auskunft über Ihre gespeicherten personenbezogenen Daten hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) geben zu können, benötigen wir einen Cookie, um Sie bei der Datenabfrage identifizieren zu können. Dieser Cookie muss aus Sicherheitsgründen deshalb aktiviert sein. Ein weiterer Cookie wird gesetzt, um diesen Banner nicht erneut anzeigen zu müssen.

Cookie-Name Beschreibung
PHPSESSID Name: PHP session
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wir benötigt, um Sie bei der Anfrage von personenbezogenen Daten identifizieren zu können. Das Cookie wird nur gesetzt, wenn Sie eine Anfrage hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) stellen.
Laufzeit: Sitzungsende
Kategorie: Unbedingt notwendige Cookies
moove_gdpr_popup Name: Cookie-Box Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wird benötigt, um Ihre Cookie-Einstellungen zu speichern, um den Cookie-Banner nicht erneut anzeigen zu müssen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
comment_author_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_email_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_url_9c90e388e3e1be4a6c594fa6ac8a3eec
Name: Kommentar Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Cookie wird angelegt, wenn Sie ein Kommentar auf MEDtech Ingenieur veröffentlichen wollen, um Sie als Autor identifizieren und den aktuellen Status Ihres Kommentars anzeigen zu können. Das Cookie enthält den angegebenen Namen. Das Cookie wird erst gesetzt, wenn Sie der Speicherung Ihrer personenbezogenen Daten zustimmen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
rmp-rate Name: RMP Rate
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie eine Bewertung eines Blogbeitrags mithilfe des Sternebewertungssystems abgeben. Ihnen wird eine anonymisierte ID zugewiesen, um zu erkennen, ob Sie einen Artikel bereits bewertet haben oder nicht. Das Cookie wird nur verwendet, um zu verhindern, dass mehrfache Bewertung abgegeben werden und erst gesetzt, wenn Sie auf einen Stern klicken.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
medtech-download-page Name: Download Page
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie den Landing-Page Prozess erfolgreich durchlaufen haben. Dies geschieht nur, wenn Sie einen Content-Download von unserer Website anstreben.
Laufzeit: 1/2 Jahr
Kategorie: Unbedingt notwendige Cookies