8.7. Sonstiges

8.7.1. EXE starten

Abbildung 8.43. externes Programm ausführen
images/runexedlg.png

Dieser Befehl startet eine externe Anwendung. Sie haben die Möglichkeit, an die Anwendung mehrere Parameter zu übergeben. Geben Sie an, in welchem Verzeichnis das Programm gestartet werden soll.

Wählen Sie die Option Warten bis Programm beendet wurde, damit die Ausführung des Skripts erst fortgesetzt wird, wenn das gestartete Programm beendet wurde. Mit Timeout gleich -1 kann unbegrenzt gewartet werden.

Sie können den mit Exit Code das Ergebnis des Programms in einer Variablen speichern lassen. Falls das Programm erfolgreich beendet wurde, wird 0 geschrieben, andernfalls ExitCode - 65536. Wenn die Wartezeit abgelaufen ist, wird in Exit Code -2 geschrieben.

Wenn Sie die Option Winguard während der Ausführung ausblenden aktivieren, wird Winguard minimiert, solange das andere Programm läuft. Mit Programm minimiert ausführen wird hingegen das neu gestartete Programm minimiert.

8.7.2. BEEP

Ein akustisches Signal wird über PC-Lautsprecher bzw. die Soundkarte ausgegeben. Dieser Befehl hat kein Dialogfenster.

8.7.3. IniFiles

Dieses Modul ermöglicht den Zugriff auf Konfigurationsdateien im INI Format. Sie können Einträge mit verschiedenen Formaten schreiben, lesen, löschen oder auf Vorhandensein prüfen.

Konfigurationsdateien sind in einzelne Abschnitte unterteilt, so genannte Sections. In jedem Abschnitt sind mehrere Identifier und deren Werte gespeichert. Geben Sie beim Lesen eines Wertes im Feld Result eine Variable an, in die das Ergebnis gespeichert wird.

Abbildung 8.44. IniFiles Einstellungen
images/inifilescmd.png

Aktion

Beschreibung

Ergebnis

Wert

Eintrag

Read

Liest den Wert, der im angegebenen Abschnitt unter dem Namen Eintrag gespeichert ist, aus der Datei und sichert ihn in der Variable, die in Ergebnis angegeben ist.

Ja

-

Ja

Write

Sichert den Wert in die Datei im angegebenen Abschnitt unter Eintrag.

-

Ja

Ja

Delete

Löscht den Eintrag oder Abschnitt aus der Datei.

-

-

bei Value

Section Exists

Sichert eine "1" in der in Ergebnis angegebenen Variablen falls der angegebene Abschnitt in der Datei existiert.

Ja

-

-

Ident Exists

Sichert eine "1", falls im angegebenen Abschnitt ein Eintrag mit dem Namen existiert.

Ja

-

Ja

8.7.4. Kommentarzeile

Dieser Befehl hat keinen Effekt auf die Ausführung des Programms. Er ermöglicht Ihnen das Einfügen von Kommentaren in Ihren Quelltext, damit dieser besser verständlich ist.

8.7.5. Pause

Dieser Befehl fügt Wartezeiten in den Testlauf ein. Wenn Sie die Option visible aktivieren, erscheint während der Verzögerung ein Countdown in der Mitte des Bildschirms.

Abbildung 8.45. Einstellungen Pause
images/pausecmd.png

8.7.6. Systemutilities

Abbildung 8.46. Einstellungen Systemutilities
images/sysutilscmd.png

Dieses Modul stellt Ihnen Funktionen zum Zugriff auf das Dateisystem zur Verfügung. Nach erfolgter Operation wird über die Variable im Ergebnisfeld eine 1 zurückgegeben. Konnte die Funktion nicht ausgeführt werden, wird eine 0 zurückgegeben.

Im Feld Filename wird die Datei oder das Verzeichnis eingetragen, mit dem die Operationen ausgeführt werden. Mit der gepunkteten Schaltfläche kann ein Dateiauswahldialog geöffnet werden.

FileExists

Gibt eine 1 zurück, wenn die angegebene Datei existiert, ansonsten den Wert 0.

DeleteFile

Löscht die angegebene Datei.

FileCopy

Erzeugt eine Kopie einer Datei unter anderem Namen.

FileSize

Gibt die Größe der Datei in Bytes zurück.

DirectoryExists

Prüft, ob ein Verzeichnis existiert.

CreateDir

Erzeugt ein Verzeichnis.

File in use

Prüft, ob eine Datei in Benutzung ist.

GetFilePath

Extrahiert den Pfad aus einem Dateinamen.

8.7.7. Scope

Der Scope-Befehl dient zur Auswertung von Kurven.

Die Registerkarte Data IN

images/scope_data_in.png

Im Bereich Input wählen Sie die Datenquelle für die Kurvendarstellung aus. Es können bis zu vier Kurven gleichzeitig dargestellt werden. Markieren Sie dazu die Kurve in der entsprechenden Checkbox und klicken Sie die gepunktete Schaltfläche hinter der Eingabezeile an, um den Dialog für die Quellenauswahl zu öffnen.

Alte Scopedaten löschen
Alle dargestellten Kurven werden gelöscht. Die Option sollte ausgewählt werden, wenn eine neue Kurve gezeichnet wird. Ansonsten werden aktuelle Daten an vorherige Kurvendarstellungen angehängt.
Scope ausblenden
Mit dieser Option bleibt das Scope im Hintergrund und ist nicht sichtbar.
Auf Taste >Weiter< warten
Nach der Anzeige einer Kurve hält das Programm an und wartet auf das Anklicken der Schaltfläche Weiter bzw. die Betätigung der -Taste. Um diesen Programmstop flexibel zu gestalten, kann er mit dem folgenden kombiniert werden:
Nur auf Taste >Weiter< warten, falls Variable […] <> 0 ist
Um während der Entwicklungsphase eines Testprogramms zu überprüfen, ob ein Kurvenverlauf aussieht wie erwartet oder die Triggerschwellen richtig gesetzt sind, ist es sinnvoll das Programm nach einer Scopemessung stoppen zu lassen. Durch Verwendung einer globalen Variable in dieser Funktion können mehrere Stopps durch zuweisen des Wertes 0 bzw. 1 an einer zentralen Stelle gemeinsam aktiviert oder aufgehoben werden.
Text X, Text Y
Hier können Maßeinheiten für die Achsenbeschriftung eingegeben werden. Wenn Sie den Prefix Modus im Register Skalierung aktivieren, werden vor den Maßeinheiten Kennbuchstaben wie m (Milli) oder µ (Mikro) ausgegeben.

Quellenauswahl

images/scope_quelle.png

In diesem Dialog geben Sie die Quelle für die anzuzeigenden Daten an. Folgende Datenquellen stehen Ihnen dabei zur Auswahl:

Datei

Hier können Sie X/Y Werte aus einer ASCII-Datei laden. Diese müssen paarweise, getrennt durch den angegebenen Separator, jeweils in einer Zeile vorliegen. Zum Beispiel:

0,005|1,2
0,006|1,3
0,007|1,4
...

Der erste Wert entspricht dem X-Wert, der zweite dem Y-Wert. Gibt es nur eine Spalte, werden die Daten als Y-Werte interpretiert und für die X-Werte ein Vorgabewert verwendet.

Array
Hier können Sie den Inhalt eines Real-Arrays aus Winguard darstellen. Die Werte des Arrays werden auf der Y-Achse dargestellt. Die dazugehörigen X-Werte werden durch die angegebene Frequenz ermittelt.
Punkt
Hier können Sie einzelne Punkte in das Koordinatensystem eintragen. Jeder einzelne Punkt wird bei der Darstellung mit dem vorherigen Punkt verbunden.
ADX Aufzeichnung
Hier werden die zuletzt mit der ADX-Karte aufgezeichneten Werte übernommen.
Interner Bild-Puffer
Ein einzelner Farbkanal einer Reihe oder Spalte von Pixeln des Bildes im internen Puffer wird übernommen.

Durch Eingabe eines Wertes in Offset X oder Offset Y können die Kurven optional in X bzw. Y Richtung verschoben werden.

Die Registerkarte Funktionen

images/scope_funktionen.png

Zur Auswertung von Kurven stehen mehrere Funktionen zur Verfügung. Die jeweils benötigten Parameter sind editierbar. In Feld Kanal wird die zu verwendende Kurve (1-4) eingestellt. Das Ergebnis einer Auswertung wird in die Variable geschrieben, die im Feld Ergebnis-Variable angegeben ist. Durch Eingabe von Werten oder Variablen in die Felder von / bis kann aus der gesamten Kurve ein Teilbereich selektiert werden.

Offset (Nulldurchgang)
Berechnet den Mittelwert einer Kurve vom ersten positiven Nulldurchgang bis zum letzten positiven Nulldurchgang.
Effektivwert
Berechnet den Effektivwert einer Kurve (Wurzel aus dem Mittelwert der Quadrate). Der Parameter Offset bezieht den angegebenen Offsetwert mit in die Berechnung ein. Mit dem Parameter Nulldurchgang berücksichtigen werden nur ganze Schwingungszüge ausgewertet. Dies erhöht die Genauigkeit, wenn eine Kurve nur wenige Schwingungszüge enthält.
Mittelwert
Berechnet den Mittelwert einer Kurve.
Klirrfaktor
Berechnet den Klirrfaktor in % (Summe der Oberwellen im Verhältnis zur Grundschwingung).
dB Sinad
Berechnet das Signal / Rauschverhältnis in dB. Hier müssen folgende Parameter angegeben werden: Abtastrate, Nutzsignal, Bandbreite, FFT-Fenster (Square, Parsen, Hanning, Welch, Hamming)
Zeitdifferenz
Berechnet die Zeitdifferenz zwischen zwei Flanken. Parameter: Y1 / Y2 Sollwerte der ersten bzw. zweiten Flanke, Flanke Y1 / Y2 (positiv / negativ / positiv Kurvenanfang / negativ Kurvenanfang): Triggerung der unter Y1 / Y2 angegebene Werte bei steigender oder fallender Flanke. Optional kann als erste Flanke bereits der Kurvenanfang genommen werden, wenn der Y1 Sollwert bereits überschritten ist.
Frequenz
Ermittelt den Kehrwert des Mittelwerts der Zeitdifferenz zwischen aufeinanderfolgenden Flanken. Y1 gibt den Schwellwert dieser Flanken an und Flanke Y1 die Richtung. Um Fehlmessungen durch Rauschen zu vermeiden, muss zwischen jeweils zwei Flanken eine weitere mit Y2 und Flanke Y2 angegebene Flanke erscheinen. Dazu sollte der Abstand zwischen Y1 und Y2 größer sein als die Störung durch Rauschen.
Impulszahl
Zählt die Anzahl der Flanken. Die Ermittlung der Flanken funktioniert genau wie oben bei Frequenz beschrieben.
Tastgrad
Ermittelt Flanken wie oben bei Frequenz beschrieben. Das Ergebnis ist das Verhältnis der Zeit zwischen einer „Y1“-Flanke und der folgenden „Y2“-Flanke zur Zeit zwischen zwei „Y1“-Flanken in Prozent. Dies wird auch „Duty-Cycle“ genannt, und ist nützlich zum Testen einer Pulsweitenmodulation („PWM“).
Peak

Sucht den kleinsten, größten oder den Unterschied zwischen dem kleinsten und größten Wert einer Kurve.

Wenn „lokale Extrema = mit“ angegeben ist, wird stattdessen ein lokales Minimum oder Maximum gesucht. Es wird der Y-Wert des ersten Extrema zurückgegeben.

Die Parameter Epsilon X und Y dienen der Rauschunterdrückung. Innerhalb eines Bereiches Epsilon X um das lokale Extrema muss ein Wert liegen, der mehr als Epsilon Y vom Extrema abweicht. Die Epsilon-Parameter sind optional, ohne sie wird jedes Extrema gefunden. Epsilon Y sollte größer als die Störung durch Rauschen sein, und Epsilon X so groß, dass die Steigung vor oder nach dem Extrema gerade so Epsilon Y erreicht.

Phasenverschiebung
Berechnet die Phasenverschiebung zwischen zwei Kurven in Grad. Mit den Parametern Kurve1 / Kurve2 wird bestimmt zwischen welchen Kurven die Verschiebung berechnet werden soll.
X/Y-Abfrage
Gibt zum abgefragten X-Wert den dazugehörigen Y-Wert und umgekehrt zurück. Parameter: Kurvenwert für die Abfrage.
Differenzkurve
Erzeugt eine Kurve aus den Differenzen von aufeinander folgenden Momentanwerten. Bei Ergebnis-Variable muss hier ein Real-Array angegeben werden. Parameter: Skalierungsfaktor der einzelnen Differenzen zur Originalkurve. Wenn die Punkte ihrer Kurve alle den gleichen Abstand in X-Richtung haben (wie etwa Kurven aus einem Array oder von der ADX-Karte), können Sie durch Angabe der Frequenz die Ableitung der Kurve berechnen.
In Array kopieren
Die Kurve wird ohne weitere Bearbeitung in die Ergebnis-Variable kopiert. Diese muss vom Typ array of Real sein.
Hüllkurve
Die Funktion stellt fest, ob eine Kurve in einem Toleranzband liegt, d.h. es wird Wert für Wert verglichen, ob die erfasste Kurve die untere Kurve unterschreitet oder die obere Kurve überschreitet. Liegt die Messkurve im Toleranzband wird der Wert 1 in die Ergebnis-Variable geschrieben, andernfalls der Wert 0. Im Feld Hüllkurvendatei wird in Anführungszeichen der Name Hüllkurvendatei incl. Pfad oder eine Variable mit diesem Inhalt angegeben.

Erstellen von Toleranzbändern

images/scope_huellkurve.png

Zeichnen Sie eine Kurve auf, ohne das Scope auszublenden, und halten Sie das Programm danach an. Klicken Sie auf die Schaltfläche Hüllkurve. Unter dem Koordinaten System wird eine Toolbox zum Erzeugen von Hüllkurvendateien eingeblendet. Wählen Sie zuerst, ob Sie die untere oder die obere Hüllkurve erzeugen wollen. Nach Anklicken der Schaltfläche Zeichnen können Sie dann mit der Maus auf die gewünschten Positionen im Koordinatensystem zeigen und mit der linken Maustaste einen Punkt setzen. Fahren Sie die nächste Position an und klicken Sie erneut. Zwischen den beiden Punkten wird jetzt eine Linie gezeichnet. Alternativ können Sie auch eine Hüllkurve mit der Funktion Punkt setzen durch Eingabe von X/Y Koordinaten erzeugen. Sind beide Toleranzbänder erstellt, sichern Sie diese mit der Schaltfläche Speichern als Datei mit der Endung HKV in das Projektverzeichnis.

Wechseln Sie in den Endwicklungsmodus und tragen Sie den Dateinamen incl. Pfad in das Feld Hüllkurvendatei ein. Durch Voranstellen der Systemvariable (z.B. PROJEKTPFAD+"Envelope.HKV") ist das Testprogramm leichter auf andere Laufwerke oder Verzeichnisse portierbar. Da die Hüllkurvendateien in einem einfachen ASCII Format vorliegen, können sie auch softwaremäßig mit Winguard oder einem anderen Programm erzeugt werden. In dem mitgelieferten Beispielskript Hüllkurve finden Sie eine entsprechende Vorlage.

Das interne Format von Hüllkurvendateien. 

[UpperCurve]
Values=10
XValue0=0
YValue0=1,174
XValue1=1
YValue1=1,348
XValue2=2

usw ...

[LowerCurve]
Values=10
XValue0=0
YValue0=-0,825
XValue1=1
YValue1=-0,651
XValue2=2

Die Registerkarte Farben

images/scope_farbe.png

In diesem Bereich können Sie individuelle Farbeinstellungen zum Scope vornehmen. Damit die Einstellungen gespeichert und im Skriptablauf übernommen werden, aktivieren Sie bitte die Checkbox Farben in Befehlszeile übernehmen. Wir empfehlen, diese Einstellungen nur einmal am Anfang eines Testprogramms vorzunehmen. Damit sind sie im Nachhinein leicht änderbar.

Um Ihren Drucker nicht unnötig zu belasten, wird beim Ausdrucken der Kurven der Hintergrund des Scopes automatisch in weiß geändert. Wenn Sie für die Kurven dunklere Farben und für den Hintergrund einen hellen Farbton einstellen ist auf dem Ausdruck alles gut erkennbar.

Die Registerkarte Skalierung

images/scope_skalierung.png

In diesem Bereich stellen Sie die Skalierung (X-Div / Y-Div), den Offset und die Position der Achsen ein. Wählen Sie die gewünschte Funktion mit den Radiobuttons aus und stellen Sie den gewünschten Wert mit dem Drehregler ein. Wenn Sie den Drehregler anklicken, können die Werte auch mit den Cursortasten eingestellt werden. Mit der Schaltfläche Clr Offset werden die Offsetwerte auf Null gestellt.

Mit der Funktion Autoscale wird das Koordinatensystem so skaliert, dass alle angezeigten Kurven vollständig und in maximaler Größe dargestellt werden.

Der Prefix Modus erzeugt, entsprechend der gewählten Skalierung vor den Maßeinheiten, ggf. einen Kennbuchstaben wie m (Milli) oder µ (Mikro), wie das bei Oszilloskopen üblich ist.

Damit die Einstellungen gespeichert und in das Skript übernommen werden, aktivieren Sie bitte die Checkbox Skalierungswerte in Befehlszeile übernehmen. Dadurch können Sie in Ihren Testschritten unterschiedliche Skalierungen aufrufen und die Messkurven optimal darstellen.

Das Scopefenster während des Testablaufs

images/scope_laufzeit.png

Falls die Option Scope ausblenden nicht gewählt wurde, sieht der Bediener nach der Ausführung einer Scopemessung dieses Fenster. Die Kurven werden entsprechend der Einstellungen skaliert und automatisch ausgewertet. Die Triggerpunkte werden zur Kontrolle mit roten Kreuzen markiert. Das Ergebnis der gewählten Funktion wird neben MESSWERT angezeigt und der eingetragenen Variablen zugewiesen. Die Skalierung kann mit den Drehreglern wie bei einem Hardware-Oszilloskope geändert werden. Diese Einstellung bleibt solange erhalten, bis sie durch das Programm neu gesetzt wird (siehe Checkbox Skalierungswerte in Befehlszeile übernehmen). Mit den Reglern im darunterliegenden Panel können die Farben und die Intensität des Rasters eingestellt werden. Mit den Schaltflächen OFF können die 4 Kurven ein- und ausgeschaltet werden.

Mit der Schaltfläche Kurvenmessung können Sie die einzelnen Punkte (Y-Werte) einer Kurve anzeigen lassen. Es erscheint dazu unter der Kurve ein Schieberegler, mit dem die Position auf der X-Achse per Maus eingestellt werden kann. Selektieren Sie die gewünschte Kurve, indem Sie auf einen der Drehregler (CH1-CH4) klicken.

Mit der Funktion Autoscale wird das Koordinatensystem so skaliert, dass alle Kurven vollständig und in maximaler Größe dargestellt werden. Die Funktion bezieht sich nur auf die eingeschalteten Kurven.

Mit der Schaltfläche Save können Sie die Kurven im ASCII Format speichern. Nach der Auswahl der Kurvennummer (1-4) erscheint ein Dateiauswahldialog. Die Dateiendung ist „*.Kur“. Das Format ist so aufgebaut, dass die Kurven von dem Modul auch wieder gelesen werden können (siehe Quellenauswahl).

Mit der Schaltfläche Print können die Kurven ausgedruckt werden. Sie haben dabei die Möglichkeit, einen Kommentar einzugeben und den Drucker zu wählen.

8.7.8. CallNamedPipe

Der CallNamedPipe-Befehl entspricht der gleichnamigen Windows-API-Funktion. Er dient zur Kommunikation mit darauf vorbereiteten Programmen.