Interoperabilität ist Trumpf

Warum Standards gerade für Cross-Tools so wichtig sind

29. Oktober 2010, 14:42 Uhr | Von Heiko Rießland
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Kopplung von Werkzeugen verschiedener Hersteller

Tool-Kopplung EasyCODE mit Universal Debug Engine
Bild 1. Tool-Kopplung EasyCODE mit Universal Debug Engine. Über den COM-Mechanismus (Component Object Model) lassen sich Funktionen des einen Tools aus der Bedienoberfläche des anderen Tools aufrufen.
© pls Programmierbare Logik & Systeme

Wie einfach eine Kopplung verschiedener Tools auf Basis von COM-Schnittstellen funktionieren kann, zeigt die Zusammenführung einer Entwicklungsumgebung mit Struktogramm- und Zustandsdiagramm-Editor von EasyCODE und der Universal Debug Engine von PLS. Der Anwender kann auf Struktogramm-Ebene debuggen, das heißt Einzelschritte ausführen, Unterbrechungspunkte setzen, das Target-Programm starten und stoppen und Variablen ansehen.

Zur Suche von Fehlern auf Struktogramm- und Hochsprachen-Ebene muss er den EasyCODE-Editor nicht verlassen. Die Steuerung des Targets wird von der UDE zeitgleich im Hintergrund ausgeführt. Da beide Tools synchron laufen, ist jederzeit ein Wechsel in den Debugger möglich, um zum Beispiel hardwarespezifische Probleme zu untersuchen (Bild 1).

Aber der Anwender kann die Tools auch selbst koppeln. Dazu nachfolgend ein praktisches Beispiel, das folgende Schritte umfasst: Starten eines Debuggers durch ein externes Skript, Übertragen einer Applikation in den Flash-Speicher des Target-Mikrocontrollers, Ausführung der Applikation für eine bestimmte Zeit, Starten von MS Excel und Anlegen einer Tabelle mit Daten aus dem Target.

passend zum Thema

Skriptsprache „Windows Power Shell“
Bild 2. Die Universal Debug Engine und MS Excel können mit der Skriptsprache „Windows Power Shell“ gesteuert werden.
© pls Programmierbare Logik & Systeme

Als Skriptumgebung dient die PowerShell 2.0, die ab Windows 7 Bestandteil jeder Windows-Installation ist. Für Windows XP und Vista gibt es Download-Pakete zur Nachinstallation. Die Powershell 2.0 ersetzt die frühere Windows-Kommandozeile und den Windows-Scripting-Host. Sie baut stark auf das .NET-Framework 2.0 auf und erweitert die Konzepte von herkömmlichen Shells, die Text mit Pipes und Filtern verarbeiten. Für den Umgang mit Objekten des .NET-Frameworks und COM-Objekten stellt Powershell mit der „PowerShell Scripting Language“ eine einfache Skript- Sprache zur Verfügung. Außerdem erleichtert eine kostenfreie Entwicklungsumgebung namens „Integrated Scripting Environment“ das Erstellen, interaktive Ausführen und Debuggen von PowerShell-Skripts.

Bild 2 zeigt die Zusammenarbeit der Werkzeuge als Blockschaltbild, das PowerShell-Skript sowie die Anzeige in MS Excel. Im ersten Abschnitt des Skripts (siehe Listing) wird eine Debugger-Instanz als COM-Objekt angelegt und damit das Debugger-Fenster minimiert gestartet. Als nächstes wird einem neu angelegten Workspace eine Target-Konfiguration übergeben. Anschließend wird die in Folge verwendete Schnittstelle mit den benötigten Debugger-Funktionen in der Variable $Debugger gespeichert und eine erfolgreiche Verbindung mit dem Target abgewartet.

Steuerung der Tools über ein PowerShell-Skript
Listing: Über ein PowerShell-Skript werden die Tools gesteuert: Starten des Debuggers, Laden der Applikation in den Flash-Speicher, Ablaufenlassen des Programms und Übertragen von Werten in eine Excel-Tabelle.
© pls Programmierbare Logik & Systeme

Im Block 2 des Skripts wird zuerst ein Add-in des Debuggers zur Flash- Programmierung aktiviert, dann ein Applikations-File in den Debugger geladen und dieser anschließend in den Flash-Speicher des Mikrocontrollers geladen. Im Abschnitt 3 wird das Target nach der Flash-Programmierung zurückgesetzt und die Programmausführung im internen Flash gestartet. Nach zehn Sekunden wird die Applikation auf dem Target gestoppt.

Im vierten Skriptblock werden nach dem Start von MS Excel einige Daten aus dem Target gelesen, in eine Excel-Tabelle übertragen und als Datei abgespeichert. Bei entsprechender Gestaltung des Debugger-Objektmodells z.B. durch Aufzählungstypen und geeignete Variablennamen lässt sich auf diesem Weg gut lesbarer Skriptcode realisieren.

Das Ergebnis ist im Listing zu sehen. Das Skript ist bis auf die Definition einiger rechnerspezifischer Zeichenkettenvariablen ($WorkspaceFile, $TargetConfigFile, $ProgramFile, $ExcelFile) vollständig und so lauffähig.


  1. Warum Standards gerade für Cross-Tools so wichtig sind
  2. Kopplung von Werkzeugen verschiedener Hersteller
  3. Eclipse als Framework für Tools

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu pls Programmierbare Logik & Systeme GmbH