ExecuteScript: Ausführen von Skriptbefehlen

Beschreibung des Funktionsbausteins

Dieser Funktionsbaustein kann folgende SD-kartenspezifische Skriptbefehle ausführen:

  • Download

  • Upload

  • SetNodeName

  • Delete

  • Reboot

  • ChangeModbusPort

Informationen zum erforderlichen Skriptdateiformat finden Sie unter Skriptdateien für SD-Karten.

Grafische Darstellung

Darstellung in AWL (IL) und ST

Die allgemeine Darstellung in den Sprachen AWL (IL) oder ST finden Sie im Kapitel Darstellung von Funktionen und Funktionsbausteinen.

Beschreibung der E/A-Variablen

In der folgenden Tabelle werden die Eingangsvariablen beschrieben:

Eingang

Typ

Kommentar

xExecute

BOOL

Startet die Ausführung des Funktionsbausteins bei Erkennung einer steigenden Flanke.

Bei Erkennung einer fallenden Flanke werden die Ausgänge des Funktionsbausteins zurückgesetzt, sobald die laufende Ausführung abgeschlossen ist.

HINWEIS: Bei fallender Flanke wird die Funktion bis zum Abschluss ausgeführt und die zugehörigen Ausgänge werden aktualisiert. Die Ausgänge behalten ihren Wert für einen Zyklus und werden dann zurückgesetzt.

sCmd

STRING

SD-Karten-Skriptbefehlssyntax

Die gleichzeitige Ausführung von Befehlen ist nicht zulässig: Wenn ein Befehl von einem anderen Funktionsbaustein oder vom SD-Karten-Skript ausgeführt wird, setzt der Funktionsbaustein den Befehl in die Warteschleife und führt ihn nicht sofort aus.

HINWEIS: Wenn ein SD-Karten-Skript von einer SD-Karte ausgeführt wird, wird dieses solange als in der Ausführung begriffen angesehen, bis die SD-Karte entfernt wird.

In der folgenden Tabelle werden die Ausgangsvariablen beschrieben:

Ausgang

Typ

Kommentar

xDone

BOOL

TRUE gibt an, dass die Aktion erfolgreich abgeschlossen wurde.

xBusy

BOOL

TRUE gibt an, dass der Funktionsbaustein ausgeführt wird.

xError

BOOL

TRUE gibt an, dass ein Fehler festgestellt wurde. Der Funktionsbaustein bricht die Aktion ab.

eError

ExecuteScriptError

Gibt den Typ des bei der Skriptausführung erkannten Fehlers an.

Beispiel

Das folgende Beispiel illustriert die Ausführung eines Upload-Skriptbefehls:

VAR
EXEC_FLAG: BOOL;
ExecuteScript: ExecuteScript;
END_VAR
ExecuteScript(
xExecute:= EXEC_FLAG,
sCmd:= 'Upload "/usr/Syslog/*"',
xDone=> ,
xBusy=> ,
xError=> ,
eError=> );