Sonstiges

EXE starten

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.

BEEP

Ein akustisches Signal wird über PC-Lautsprecher bzw. die Soundkarte ausgegeben. Wenn kein Dateiname angegeben ist, wird der Windows-Standard-Ton ausgegeben.

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.

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

JSON

Liest bzw. schreibt Winguard-Script-Werte von bzw. in einen String oder Datei im JSON-Format.

Da Winguard keinen Nullwert hat, können JSON mit null nicht unverändert eingelesen werden. Standardmäßig gibt es eine Fehlermeldung. Mit der Option Ignoriere "null" werden Nullwerte stattdessen entfernt — bei Arrays werden die nächsten Elementn vorgerückt, bei Objekten wird der betroffene Schlüssel entfernt, und bei einer alleinstehenden null wird die Ergebnis-Variable nicht verändert. Mit der Option Ersetze "null" mit können Nullwerte stattdessen mit einem beliebigen anderen Wert ersetzt werden.

Systemutilities

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 Dateiname 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.
FileMove
Verschiebt eine Datei.
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.

Scope

Der Scope-Befehl dient zur Auswertung von Kurven.

Die Registerkarte Data IN

Im Bereich Input wählen Sie die Datenquelle für die Kurvendarstellung aus. Es können bis zu vier Kurven gleichzeitig dargestellt werden. Wählen Sie die Datenquellen mit den -Knöpfen am rechten Rand.

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 anzeigen
Wenn dieser Befehl ausgeführt wird, wird ein Fenster mit den Kurven angezeigt.
Scope belassen
Das Fenster mit den Kurven wird weiterhin angezeigt, falls vorher ein Befehl mit Scope anzeigen ausgeführt wurde.
Scope ausblenden
Das Fenster mit den Kurven wird gegebenenfalls geschlossen.
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

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. Alternativ kann ein Array mit X-Werten angegeben werden, das genau so lang wie das für die Y-Werte ist.
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 Faktor X oder Faktor Y kann die Kurve optional in X bzw. Y Richtung skaliert werden. Durch Eingabe eines Wertes in Offset X oder Offset Y kann die Kurve optional in X bzw. Y Richtung verschoben werden. Die Kurve wird zuerst skaliert, dann verschoben.

Die Registerkarte Funktionen

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

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

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

In diesem Bereich stellen Sie die Skalierung (Differenz X, Differenz Y), 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

Falls die Option Scope anzeigen 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 Schiebereglern oder dem Mausrad geändert werden, die Position mit der linken Maustaste. Diese Einstellung bleibt solange erhalten, bis sie durch das Programm neu gesetzt wird (siehe Checkbox Skalierungswerte in Befehlszeile übernehmen). Außerdem kann die Intensität des Rasters eingestellt werden. Mit den oberen Schaltflächen mit den Kurvennamen 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.

PicoScope

Liest Spannungsverläufe mit einem PicoScope.

PicoScope

Gibt Spannungsverläufe mit einem PicoScope aus.

Die Frequenz gibt an, wie viele der Kurven pro Sekunde ausgegeben werden.

Die Wellenform muss ein Array mit der Kurvenform in V enthalten.

Mit Wiederholungen kann die Kurve mehrmals ausgegeben werden.

Falls die ausgegebene Kurve mit demselben Pico-Scope gemessen werden soll, muss Bei nächster Pico-Scope-Messung starten verwendet werden, da eine neue Kurvenform nicht während einer Messung konfiguriert werden kann.

Schrittmotorsteuerung

Mit dem MotorControl-Modul können Motorsteuerungen von Trinamic gesteuert werden.

Es können mehrere Motorsteuerungen konfiguriert werden. Der Steuerungs-Parameter Module bestimmt, an welche Steuerung ein Befehl geschickt wird. Der Befehls-Parameter Command bestimmt, welcher TMCL-Befehl gesendet wird. Die Parameter Axis, Param, Value entsprechen den TMCL-Befehls-Parametern. In die in Result angegebene Variable wird die Antwort der Motorsteuerung geschrieben.

Die Achsenparameter next target position, actual position, snapshot position, last reference position, encoder position, maximum encoder deviation, next target speed, actual speed, maximum positioning speed, minimum speed, referencing search speed, referencing switch speed, actual acceleration, und maximum acceleration werden automatisch zwischen TMCL-Einheiten und Umdrehungen, Umdrehungen pro Sekunde und Umdrehungen pro Sekunde pro Sekunde umgerechnet. Dabei wird der Steuerungsparameter Einheiten pro Umdrehung berücksichtigt. Um beispielsweise die Position einer Achse, die mit der Motorachse über eine 2:1 Übersetzung verbunden ist, in Grad zu bestimmen, müssen 180 Einheiten pro Umdrehung eingestellt werden.

Die Option „Warten bis Position erreicht“ blockiert den Programmablauf, bis ein Position-Anfahren-Befehl die gewünschte Position erreicht hat. Wenn dabei ein Problem auftritt, wird eine Exception ausgelöst.

DLL.Call

Dieser Befehl dient nur der Abwärtskompatibilität mit früheren Versionen.

CallNamedPipe

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