Aktion: ExecuteExternalCommand
Funktion: Die Aktion startet einen Prozess (Anwendung, Batch-Skript usw.) außerhalb von CODESYS und fängt dessen Ausgabe sowie Exit-Code ab.
Aufruf: Testreiber System
Das Verhalten der Aktion hängt grundsätzlich von den Optionen Nur Starten und Überprüfen des vorherigen Prozesses aus dem Eingangsparameter ab. Folgende Fälle sind möglich:
Die Optionen Nur Starten und Überprüfen des vorherigen Prozesses aus dem Eingangsparameter sind deaktiviert. Dies dient dazu, einen Prozess synchron zu starten, und auf dessen Beendigung zu warten. Das Testskript ist solange angehalten.
Nur die Option Nur Starten ist aktiviert. Dies dient dazu, einen Prozess asynchron zu starten, und später im Testskript sein Ergebnis abzufragen. Der Kontext des Prozesses wird dazu in eine Variable gespeichert.
Nur die Option Überprüfen des vorherigen Prozesses aus dem Eingangsparameter ist aktiviert. Dies dient dazu, das Ergebnis eines asynchron gestarteten Prozesses anhand seines gespeicherten Kontexts abzufragen.
Registerkarte: Konfiguration
Ausführbare Datei | Namen des Prozesses, der gestartet wird Beispiel: Voraussetzung: Option Überprüfen des vorherigen Prozesses aus dem Eingangsparameter ist deaktiviert. |
Argumente | Kommandozeilenargumente Optional Beispiel: Voraussetzung: Die Option Überprüfen des vorherigen Prozesses aus dem Eingangsparameter ist deaktiviert. |
Arbeitsverzeichnis | Arbeitsverzeichnis des Prozesses Optional Voraussetzung: Die Option Überprüfen des vorherigen Prozesses aus dem Eingangsparameter ist deaktiviert. |
Nur starten |
Voraussetzung: Die Option Überprüfen des vorherigen Prozesses aus dem Eingangsparameter ist deaktiviert. |
Speichere Prozess in Ausgangsparameter (zum Ignorieren leerlassen) | Ausgangsparameter Angabe ohne Anführungszeichen Beispiel: Der Ausführungskontext des Prozesses wird in diesen Ausgangsparameter gespeichert. Wenn bei einer späteren Ausführung des Befehls die Option Überprüfen des vorherigen Prozesses aus dem Eingangsparameter aktiviert wird, kann dieser Ausgangsparameter ausgewertet werden. Optional Voraussetzung: Die Option Nur starten ist aktiviert. |
Überprüfen des vorherigen Prozesses aus dem Eingangsparameter |
|
Auf Exit warten [ms] | Anzahl der Millisekunden, die auf das Beenden des Prozesses gewartet wird Wenn der externe Prozess länger dauert als dieses Zeitlimit, schlägt die Aktion fehl. Wenn hier kein Wert eingegeben wird, gibt es kein Zeitlimit, und die Aktion wartet möglicherweise unendlich lange. Voraussetzung: Die Option Nur starten ist deaktiviert. |
Verzögerung [ms] | Zeitspanne, die die Aktion wartet, bevor sie zurückkehrt Wenn hier kein Wert eingegeben wird, kehrt die Aktion sofort nach dem Starten des Prozesses zurück, ohne auf das Beenden des Prozesses zu warten. Voraussetzung: Die Option Nur starten ist aktiviert. |
Exit-Code | Prüft den Exit-Code des Prozesses Wenn der Code nicht übereinstimmt, schlägt die Aktion fehl. Wenn das Feld leer gelassen wird, gibt es keine Prüfung des Exit Codes. Voraussetzung: Die Option Nur starten ist deaktiviert. |
Speichere StdOut in | Name des Ausgangsparameters Angabe ohne Anführungszeichen Beispiel: Wenn ein gültiger Parameternamen eingegeben wird, speichert die Aktion den Standard-Ausgabestrom des externen Prozesses in den angegebenen Ausgangsparameter. Voraussetzung: Die Option Nur starten ist deaktiviert. |
Überprüfe Ergebnis von StdOut |
Voraussetzung: Die Option Nur starten ist deaktiviert. |
String ist in Ergebnis enthalten |
Voraussetzung: Die Option Überprüfe Ergebnis von StdOut ist aktiviert. |
Ergebnis entspricht | Eingabefeld Der Inhalt wird bei Aktivierung der Optionen Überprüfe Ergebnis von StdOut oder String ist in Ergebnis enthalten mit dem Ausgabestroms des Prozesses verglichen. Voraussetzung: Die Option Überprüfe Ergebnis von StdOut ist aktiviert. |
Registerkarte: Parameter
Die in der Registerkarte Parameter definierten Parameter werden verwendet, um Werte zwischen Testskriptvariablen und Parametern von Testaktionen auszutauschen. Parameter können in der Registerkarte Konfiguration als Platzhalter verwendet werden. Dabei wird der Name des Parameters im Konfigurationsdialog in geschweifte Klammern gesetzt. Beispielsweise {name}
.
Tipp
Global im Skript definierte Variablen (mit Präfix $GLOBALS.
) können Sie direkt in der Testaktion verwenden. Eine Übergabe durch Eingangsparameter ist dabei nicht notwendig. Für das Schreiben von globalen Variablen ist die Verwendung von Ausgangsparametern notwendig.
Eingangsparameter: Bei der Ausführung der Testaktion werden die Werte der Testskriptvariablen den Eingangsparametern der Testaktion übergeben und können in der Konfiguration der Testaktion verwendet werden. | |
Ausgangsparameter: Bei der Ausführung der Testaktion werden die Werte der Ausgangsparameter der Testaktion den Testskriptvariablen übergeben und können so beispielsweise in anderen Testaktionen verwendet werden. | |
Name | Name des Eingangs- / Ausgangsparameters Dieser Name wird zusätzlich zum Variablennamen definiert, um die Herkunft des Parameters erkenntlich machen zu können, wenn er an ein anderes Skript übergeben wird. Beim Testlauf wird dieser Name als Name außerhalb Im Fenster Testfortschritt in der Registerkarte Variablen (Gültigkeitsbereich #<n>) mit angezeigt. Hintergrund: Wenn ein Skript Um zu sehen, dass diese Variable „außerhalb“ des Skripts |
Variable | Name der Testskriptvariablen Beispiel: |
Nach oben | Verschiebt die selektierte Variable um 1 Zeile nach oben |
Nach unten | Verschiebt die selektierte Variable um 1 Zeile nach unten |
Entfernen | Entfernt die selektierte Variable aus der Liste |