Editor

Mit Hilfe der Editors können Sie eigene Prüfprogramme erstellen. Werkzeuge wie der integrierte Debugger oder das Guardian-Labor unterstützen Sie dabei. In diesem Kapitel werden die einzelnen Konzepte des Editors vorgestellt. Scriptsprache gibt einen detaillierten Einblick in die Skriptsprache und Befehle beschreibt die verfügbaren Befehle.

Screenshots/editor.png

Erste Schritte im Editor

In diesem Abschnitt werden Sie mit den grundlegenden Funktionen des Editors vertraut gemacht. Anhand kurzer Beispiele werden die wichtigsten Befehle erläutert. Die Programme zu den Beispielen finden Sie im Winguard-Abschnitt des Startmenüs unter Beispiele.

Um in den Editor zu wechseln, verwenden Sie die Schaltfäche Editor oder Strg+F6. Sie können mit Ansicht/Testumgebung oder Strg+F6 in die Testumgebung zurückkehren.

Ein neues Projekt erstellen

Wählen Sie Projekt/Neu um ein neues Projekt zu erstellen. Es öffnet sich ein Dialog in dem Sie den Speicherort und den Namen des Projektes angeben. Nach dem Erzeugen wird das Projekt geladen.

Anmerkung

Ein Winguard-Projekt besteht aus mehreren Dateien. Es empfiehlt sich daher, jedes Projekt in einem eigenen Ordner zu sichern.

Editieren von Projekten

Nachdem ein Projekt erstellt oder geladen wurde, zeigt der Editor links eine Auflistung aller verfügbaren Befehle im Befehlsbrowser sowie rechts daneben das Skript an.

Der Befehlsbrowser verwaltet die verfügbaren Befehle in Kategorien. Wenn Sie eine Kategorie anklicken, wird diese aufgeklappt und die enthaltenen Befehle eingerückt angezeigt. Zum Beispiel sind die Befehle Infobox, Meldungsbox, Statusleiste und TextOut in der Kategorie Ausgabe.

Sie können die Befehle aus dem Befehlsbrowser ins Skript ziehen. Klicken Sie dazu auf den gewünschten Befehl und halten Sie die Maustaste gedrückt. Bewegen Sie dann den Mauszeiger mit gedrückter Taste ins Skript. Eine schwarze Linie zeigt die Position an, an der der Befehl eingefügt wird. Zum Einfügen lassen Sie die Maustaste los.

Viele Befehle haben Parameter, die Sie in einem Einstellungsdialog eingeben können. Dieser Dialog wird automatisch geöffnet wenn der Befehl ins Skript gezogen wird. Um den Befehl endgültig einzufügen schließen Sie den Dialog mit OK. Mit Abbrechen wird das Einfügen des Befehls verhindert. Sie können den Einstellungsdialog zu einem Befehl jederzeit wieder öffnen indem Sie doppelt auf die entsprechende Zeile klicken.

Hallo, Welt!

Traditionellerweise gibt das erste Programm den Text „Hallo Welt“ aus. Dieses Beispiel verwendet dafür das Messprotokoll.

Ein neues Projekt erstellen
Erstellen Sie wie oben beschrieben ein neues Projekt.
Einen Text ausgeben

Suchen Sie nun im Befehlsbrowser den Befehl TextOut. Dieser befindet sich in der Kategorie Ausgabe. Fügen Sie den Befehl an einer beliebigen Stelle in den Editor ein. Es öffnet sich ein Dialog. Geben Sie im Textfeld den Text "Hallo, Welt!" ein und schließen Sie den Dialog durch Klick auf OK. Im Editor sollte jetzt diese Zeile erscheinen:

TextOut(Text:"Hallo, Welt!");

Wird dieser Befehl beim Prüfablauf abgearbeitet erscheint im Messprotokoll der Testumgebung eine neue Zeile die den Text „Hallo, Welt!“ enthält.

Anmerkung

Soll im Prüfprogramm Text verwendet werden muss dieser immer in Anführungszeichen stehen.

Das Projekt starten

Starten Sie das Projekt indem Sie im Menü Ausführen den Punkt Start klicken oder die Taste F9 drücken. Winguard schaltet automatisch in die Testumgebung und startet dann das Programm. Da nur ein Text ausgegebenwird ist das Programm recht schnell abgearbeitet. Im Messprotokoll finden Sie dann den ausgegebenen Text:

Testschrittname

Untergrenze

Wert

Obergrenze

Bewertung

Hallo Welt

Anmerkung

Neben dem auszugebenden Text können Sie für den Befehl TextOut noch weitere Parameter festlegen. Eine vollständige Auflistung aller Befehle und aller Parameter finden Sie in Befehle.

Einlesen von Informationen

Mitunter ist es sinnvoll vom Bediener zusätzliche Informationen abzufragen. Dazu existiert in Winguard der Befehl InputBox.

In diesem Projekt werden wir vom Bediener die Eingabe einer Zahl verlangen. Dazu öffnen wir ein kleines Fenster in das die Zahl eingegeben werden soll. Danach geben wir die Zahl im Messprotokoll aus.

Ein neues Projekt erstellen
Erstellen Sie ein neues Projekt wie oben beschrieben.
Eine Bedienerabfrage durchführen

Suchen Sie in der Kategorie Eingabe den Befehl Inputbox und ziehen Sie diesen in den Skripteditor. Füllen Sie den erscheinenden Dialog aus. Der Text den Sie unter Überschrift eintragen erscheint als Titel des Fensters. Der Eingabetext stellt die Aufforderung an den Bediener dar. Der Wert der unter Defaultwert eingetragen wird ist der Standardwert. Er wird verwendet wenn der Bediener den Dialog ohne weitere Eingabe schließt.

Der letzte Punkt gibt den Namen der Variable an, in der die Eingabe des Benutzers gespeichert wird. Eine Variable verknüpft einen Wert (hier die Eingabe) mit einem Namen. Variablen müssen vor ihrer Benutzung definiert werden. Jedes Projekt erhält bei Erstellung allerdings eine Menge von vordefinierten Variablen. Geben Sie die Variable Messwert in das letzte Feld ein. Eine weiterführende Erklärung zu Variablen finden Sie unter „Variablen und Konstanten“.

Die Eingabe ausgeben

Fügen Sie einen TextOut-Befehl nach dem Eingabebefehl ein.

Da der Wert in der Variablen messwert gespeichert ist, müssen Sie diese als Text eintragen. Um die Ausgabe etwas interessanter zu gestalten geben Sie zusätzlich noch einen Text (wieder in Anführungszeichen) aus. Um beide Ausgaben zu verknüpfen wird der Operator + verwendet. Dieser hängt den Wert der Variablen messwert an den Text an.

Starten Sie das Programm
Starten Sie das Programm wie im letzten Abschnitt beschrieben. Winguard wird Sie nun zur Eingabe einer Zahl auffordern und danach diese Zahl im Messprotokoll ausgeben.

Auswertung von Messdaten

In diesem Beispiel werden wir vom Benutzer die Eingabe einer Zahl zwischen 10 und 20 verlangen. Anschliessend überprüfen wir die Eingabe des Benutzers indem wir einen Testschritt anlegen.

Neues Projekt erstellen
Erstellen Sie ein neues Projekt.
Eingabe der Zahl
Fordern Sie den Bediener zur Eingabe einer Zahl zwischen 10 und 20 auf. Speichern Sie das Ergebnis der Eingabe in der Variablen messwert.
Auswertung der Eingabe

Suchen Sie nun in der Kategorie Auswertung den Befehl Ergebnis und fügen Sie diesen in Ihr Programm ein. Tragen Sie in das Feld Testschrittname (Text) den Text "Eingabe" ein. Dieser Text erscheint im Messprotokoll als Name des Testschrittes.

Geben Sie unter Ergebnis (Wert) den Namen der Variablen ein, die den eingelesenen Wert enthält, also Messwert.

Nun tragen Sie neben Untergrenze / Obergrenze 10 und 20 ein. Der Wert aus dem Ergebnis-Feld wird dann später mit diesen Grenzen verglichen. Liegt er außerhalb der Grenzen wird der Test als fehlerhaft gewertet ansonsten gilt der Test als bestanden.

Starten des Programms
Starten Sie das Programm wie gehabt. Geben Sie in den Eingabedialog einen Wert ein, der innerhalb der Grenzen liegt, beendet der Test erfolgreich. Liegt der Wert hingegen außerhalb des erwarteten Bereichs wird der Test als fehlgeschlagen betrachtet.

Ablaufsteuerung

Wir wollen nun den Benutzer zu einer korrekten Eingabe zwingen. Dazu möchten wir das Eingabefenster sooft neu anzeigen, bis eine gültige Eingabe vorliegt.

Neues Projekt erstellen
Erstellen Sie wie gewohnt ein neues Projekt.
Ein Label definieren

Suchen Sie in der Kategorie Programmablauf den Befehl Label. Ziehen Sie den Befehl in den Editor und erstellen Sie ein Label mit dem Namen Einlesen.

Ein Label kann von einer anderen Stelle des Programms durch Verwendung des Befehls GOTO angesprungen werden. Die Ausführung des Programms wird dann an der Position des Labels fortgesetzt.

Eingabe der Zahl
Erfragen Sie vom Benutzer die Eingabe einer Zahl größer als 10 und speichern Sie das Ergebnis in der Variablen messwert.
Überprüfung der Eingabe und Anspringen des Labels

Suchen Sie in der Kategorie Programmablauf den Befehl GOTO Label und fügen Sie diesen hinter der Eingabe ein. Es öffnet sich der Eingabedialog für den Befehl GOTO.

Die Liste zeigt alle Label die angesprungen werden können. Wählen Sie hier das einzig mögliche Label Einlesen aus. Setzen Sie nun den Haken unter Bedingung und tragen Sie dann in das Eingabefeld (B) die Bedingung Messwert <= 10 ein.

Wird der Befehl ausgeführt und ist der Wert der Variablen Messwert kleiner oder gleich 10, so wird die Ausführung des Programmes am Label Einlesen fortgesetzt, d.h. der Benutzer wird erneut um eine Zahl gebeten.

Starten des Programms
Starten Sie das Programm.

Das Programm fordert solange die Eingabe einer Zahl, bis diese größer als 10 ist. Die einzige Möglichkeit das Programm ohne korrekte Eingabe zu beenden, ist im Eingabefenster die Schaltfläche Abbrechen zu klicken. In diesem Fall wird der Test allerdings als Abgebrochen gewertet.

Sie können Label immer dann verwenden, wenn der Ablauf des Prüfprogrammes nicht geradlinig sein soll, also zum Beispiel Wiederholungen enthält.

Ansprechen der Guardian-Hardware

Winguard wurde in erster Linie dazu entwickelt Prüfprogramme auf dem Guardian-Testsystem auszuführen. In diesem Abschnitt werden wir zuerst die Guardian-Stromversorgung einschalten und danach die ausgegebene Spannung messen. Sie benötigen ein angeschlossenes Guardian-Testsystem. Eine Anleitung zur Installation erhalten Sie unter „Inbetriebnahme des Guardian-Systems“.

Ein neues Projekt erstellen
Erstellen Sie ein neues Projekt.
Einschalten der Stromversorgung
Suchen Sie in der Kategorie Guardian den Befehl PSU-Karte und ziehen Sie diesen ins Skript. Im Einstellungsdialog wählen Sie DC und tragen Sie ins Feld Spannung 5 und ins Feld Strombegrenzung 0.1 ein. Damit wird die PSU-Karte 5V mit maximal 0,1A ausgeben. Schliessen Sie den Dialog mit OK.
Messen der Spannung
Suchen Sie in der Kategorie Guardian den Befehl ADX-Karte und ziehen Sie ihn ins Skript unter dem PowerSupply-Befehl. Wählen Sie die Messart DCV und den Messbereich 20V. Schliessen Sie den Dialog mit OK.
Auswertung des Messwertes
Der ADX-Befehle legt den Messwert in der Variablen messwert ab. Überprüfen Sie den Wert dieser Variablen mit Hilfe des Befehls Ergebnis aus der Kategorie Auswertung. Verwenden Sie als Grenzwerte 4 und 6.
Abschalten der Spannung
Abschliessend sollten Sie die Stromversorgung wieder abschalten. Verwenden Sie dazu in der Unit FINALIZATION ebenfalls den Befehl PSU-Karte, wählen Sie diesmal aber die Einstellung Aus.
Hardwareaufbau
Bereiten Sie nun den Guardian für die Messung vor. Verbinden Sie dazu die Ausgänge PSU1+ und PSU1- an der Frontseite des Testsystems mit den Eingängen ADX+ und ADX- (ebenfalls an der Frontseite).
Starten des Programmes
Starten Sie nun das Programm. Mit dem ersten Befehl wird eine Spannung von 5V auf der Guardian-Stromversorgung erzeugt. Diese 5V werden über die im letzten Schritt hinzugefügten Verbindungen an die Messkanäle der ADX-Karte angelegt. Mit dem Messbefehl wird diese Spannung abgefragt, um anschließend vom Befehls Ergebnis in das Messprotokoll geschrieben zu werden. Wenn Ihr Guardiansystem korrekt funktioniert sollte der Test mit Pass bewertet werden.

Units und Prozeduren

Ein Winguard-Prüfprogramm ist in Units und Prozeduren unterteilt. Eine Prozedur ist ein abgeschlossener Teil des Prüfprogrammes, der von anderen Teilen aufgerufen werden kann und nach dessen Abarbeitung zu der aufrufenden Stelle zurückgekehrt wird. Prozeduren werden durch ihren Namen eindeutig bestimmt. Außerdem können einer Prozedur mehrere Parameter übergeben werden, die die Art der Abarbeitung beeinflussen können.

Eine Unit fasst mehrere Prozeduren zu einer logischen Einheit zusammen. Units werden ebenfalls durch ihre Namen identifiziert.

Units und Prozeduren dienen der Organisation des Prüfprogramms und sollen die Wiederverwendbarkeit von Programmcode erleichtern. Im folgenden Beispiel werden wir eine neue Unit anlegen, in dieser Unit eine Prozedur definieren und diese dann im Hauptprogramm aufrufen. Weiterführende Informationen zu Units und Prozeduren finden Sie in den Abschnitten „Navigation in Units und Prozeduren“ und „Prozeduren“.

In diesem Beispiel erstellen wir eine Unit die eine Prozedur zur Ausgabe von Zahlen enthält. Die Zahl soll der Prozedur dabei als Parameter übergeben werden.

Neues Projekt erstellen
Erstellen Sie ein neues Projekt.
Neue Unit erstellen

Wählen Sie im Menü Projekt den Punkt Neue Unit. Winguard fragt Sie daraufhin nach dem Namen der neuen Unit. Geben Sie einen Namen für die neue Unit ein, zum Beispiel MeineUnit und klicken Sie OK.

Winguard erstellt daraufhin eine neue Unit und wechselt automatisch in die neue Unit. Alle Befehle die Sie jetzt erzeugen, werden in die neue Unit eingefügt.

Eine neue Prozedur erstellen

Suchen Sie in der Kategorie Unterprogramme den Befehl Neu Deklarieren und ziehen Sie ihn in die neue Unit.

Geben Sie unter Name der Routine den Namen Ausgabe des neuen Unterprogramms ein. Klicken Sie als nächstes in die obere Tabelle und geben Sie den Namen des Parameters Wert ein. Wechseln Sie in die nächste Spalte. Durch Klick auf den Pfeil oder Alt+ öffnen Sie eine Auswahlliste für den Typ des Parameters. Der Typ schränkt die Art der Daten ein, die beim Aufruf der Prozedur als Parameter verwendet werden können. Wählen Sie Real um nur Zahlen als Parameter zuzulassen.

Schließen Sie nun den Dialog mit OK. Im Skripteditor erscheinen nun zwei neue Zeilen. Die Zeile procedure Ausgabe(Wert : Real); wird Prozedurkopf genannt. Sie enthält alle wichtigen Informationen zu der Prozedur wie ihren Namen und die Liste der Parameter. Die Prozedur endet mit der Zeile end procedure. Wird die Prozedur aufgerufen werden alle Zeilen zwischen dem Kopf und dem Ende der Prozedur nacheinander abgearbeitet.

Die Prozedur füllen

Ziehen Sie den Befehl TextOut der Kategorie Ausgabe zwischen den Kopf und das Ende der Prozedur.

In der Prozedur können Sie die Parameter der Prozedur wie eine gewöhnliche Variable verwenden. Erzeugen Sie nun die Ausgabe des Parameters.

Aufruf der Prozedur

Zuletzt müssen Sie die Prozedur noch aufrufen. Dazu müssen Sie zuerst in das Hauptprogramm wechseln.

Mithilfe der Reiter können Sie zwischen Units hin- und herschalten. Wählen Sie hier die Unit Main-Unit aus.

Suchen Sie nun den Befehl Aufruf in der Kategorie Unterprogramme und ziehen Sie ihn in den Editor.

Im oberen Eingabefeld muss die aufzurufende Prozedur ausgewählt werden. Wir wählen die (einzige) Prozedur Ausgabe aus. In der Tabelle darunter werden die Parameter der aktuellen Prozedur angezeigt. In der Spalte Wert können wir den Wert des Parameters eintragen. Tragen Sie hier eine beliebige Zahl ein und schließen Sie den Dialog mit OK.

Wenn wir unser Programm ausführen erscheint im Messprotokoll die Ausgabe Die Zahl hat den Wert 12.

Wenn wir die Prozedur mehrmals in unserem Programm aufrufen reicht es aus, die Prozedur anzupassen um alle Ausgaben zu verändern. Prozeduren helfen somit Programme übersichtlich und wartbar zu halten. Um die Lesbarkeit Ihrer Programme zu erhöhen sollten Sie ihren Prozeduren „sprechende“ Namen geben, also Ausgabe statt x oder StromversorgungEinschalten statt On. Verwenden Sie in einem Programm mehrere Prozeduren, so organisieren Sie diese in Units. Vergeben Sie auch an Ihre Units sprechende Namen.