ExecuteScript: esecuzione comandi script

Descrizione del blocco funzione

Questo blocco funzione permette di eseguire i seguenti comandi script da SD Card:

oDownload

oUpload

oSetNodeName

oDelete

oReboot

oChangeModbusPort

Per informazioni sul formato di file di script richiesto, consultare File di script per SD Card.

Rappresentazione grafica

G-SE-0017244.2.jpg

 

 

Rappresentazione IL e ST

Per la rappresentazione generale in linguaggio IL o ST, fare riferimento al capitolo Rappresen­tazione di funzioni e blocchi funzione.

Descrizione delle variabili di I/O

Questa tabella descrive le variabili di ingresso:

L'ingresso

Tipo

Commento

xExecute

BOOL

Sul rilevamento di un fronte di salita, avvia l'esecuzione del blocco funzione.

Sul rilevamento di un fronte di discesa, azzera le uscite del blocco funzione al termine di un'esecuzione in corso.

NOTA: Con il fronte di discesa, la funzione continua fino a concluderne l'esecuzione e aggiornarne le uscite. Le uscite sono mantenute per un ciclo e azzerate.

sCmd

STRING

Sintassi del comando script della SD card.

L'esecuzione simultanea di più comandi non è consentita: se un comando viene eseguito da un altro blocco funzione o da uno script SD Card, il blocco funzione mette in coda quindi il comando e non lo esegue immediatamente.

NOTA: Uno script della SD card eseguito da una SD card è considerato come eseguito fino a quando non viene rimossa la SD card.

Questa tabella descrive le variabili di uscita:

Uscita

Tipo

Commento

xDone

BOOL

TRUE indica che l'azione è stata conclusa correttamente.

xBusy

BOOL

TRUE il blocco funzione è in esecuzione.

xError

BOOL

TRUE indica il rilevamento di un errore; il blocco funzione interrompe l'azione.

eError

ExecuteScriptError

Indica l'errore rilevato dello script di esecuzione.

Esempio

Questo esempio illustra come eseguire un comando script Upload:

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