ExecuteScript : Exécution de commandes de script

Description des blocs fonction

Ce bloc fonction peut exécuter les commandes de script USB suivantes :

oDownload

oUpload

oSetNodeName

oDelete

oReboot

Consultez la section Génération d'un script et de fichiers par le biais du stockage de masse USB.

Représentation graphique

G-SE-0017244.2.jpg

 

 

Représentation en langage IL et ST

Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des fonctions et blocs fonction.

Description des variables d'E/S

Le tableau suivant décrit les variables d'entrée :

Entrée

Type

Commentaire

xExecute

BOOL

En cas de détection d'un front montant, lance l'exécution du bloc fonction.

En cas de détection d'un front descendant, réinitialise les sorties du bloc fonction lorsque toute exécution en cours prend fin.

NOTE : Sur front descendant, la fonction continue de s'exécuter jusqu'au bout et elle met à jour ses sorties en conséquence. Les sorties sont conservées pendant un cycle avant d'être réinitialisées.

sCmd

STRING

Syntaxe de commande de script USB.

L'exécution simultanée de commandes n'est pas autorisée : si une commande est exécutée par un autre bloc fonctionnel ou un script USB, le bloc fonctionnel met la commande en file d'attente et ne l'exécute pas immédiatement.

NOTE : un script USB exécuté à partir d'une clé USB est considéré comme en cours d'exécution jusqu'à ce que la clé soit retirée.

Le tableau suivant décrit les variables de sortie :

Sortie

Type

Commentaire

xDone

BOOL

TRUE indique que l'action a abouti.

xBusy

BOOL

TRUE indique que le bloc fonction s'exécute.

xError

BOOL

TRUE indique une détection d'erreur. Le bloc fonction annule l'action.

eError

ExecuteScriptError

Indique le type de l'erreur détectée lors de l'exécution du script.

Exemple

Cet exemple décrit comment exécuter une commande de script Upload :

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