ExecuteScript: Ejecutar comandos de script
Descripción de bloques de funciones
Este bloque de funciones puede ejecutar los siguientes comandos de USB:
oDownload
oUpload
oSetNodeName
oDelete
oReboot
Consulte Generación de scripts y archivos con el almacenamiento masivo en USB
Para ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.
Descripción de variables de E/S
En esta tabla se describen las variables de entrada:
Entrada |
Tipo |
Comentario |
---|---|---|
xExecute |
BOOL |
Cuando se detecta un flanco ascendente, inicia la ejecución del bloque de funciones. Cuando se detecta un flanco descendente, restablece las salidas del bloque de funciones cuando finaliza cualquier ejecución en curso. NOTA: Con el flanco descendente, la función continúa hasta que concluye su ejecución y actualiza sus salidas. Las salidas se conservan durante un ciclo y se restablecen. |
sCmd |
STRING |
Sintaxis de comando de secuencia de comandos de USB. No se permiten ejecuciones de comando simultáneas: si se ejecuta un comando desde otro bloque de funciones o desde una secuencia de comandos de USB, el bloque de funciones pone el comando a la cola y no lo ejecuta inmediatamente. NOTA: Una secuencia de comandos de USB ejecutada desde una llave de memoria USB se considerará que se está ejecutando hasta que se extraiga la llave USB. |
En esta tabla se describen las variables de salida:
Salida |
Tipo |
Comentario |
---|---|---|
xDone |
BOOL |
TRUE indica que la acción se ha completado correctamente. |
xBusy |
BOOL |
TRUE indica que se está ejecutando el bloque de funciones. |
xError |
BOOL |
TRUE indica que se ha detectado un error; el bloque de funciones interrumpe la acción. |
eError |
Indica el tipo de error detectado de la secuencia de comandos de ejecución. |
En este ejemplo se describe cómo ejecutar un comando de script Upload:
VAR
EXEC_FLAG: BOOL;
ExecuteScript: ExecuteScript;
END_VAR
ExecuteScript(
xExecute:= EXEC_FLAG,
sCmd:= 'Upload "/usr/Syslog/*"',
xDone=> ,
xBusy=> ,
xError=> ,
eError=> );