CONFIGURE_OTB: inviare la configurazione software del Advantys OTB
Descrizione del blocco funzionale
Questo blocco funzionale invia i dati di configurazione di EcoStruxure Machine Expert di un Advantys OTB al dispositivo fisico tramite Modbus TCP.
Consente di aggiornare i parametri di configurazione di una isola I/O senza software di terza parte.
Il Modbus TCP IOScanner deve essere arrestato prima di chiamare questa funzione.
L'esecuzione di questo blocco funzionale è asincrona. Per controllare il completamento della configurazione, i flag di uscita Done, Busy e Error devono essere sottoposti a test a ogni ciclo dell'applicazione.
Per vedere la rappresentazione generale in linguaggio IL o ST, fare riferimento a Rappresentazione di funzioni e blocchi funzionali.
Descrizione delle variabili di I/O
Questa tabella descrive le variabili di ingresso:
Ingresso |
Tipo |
Commento |
---|---|---|
Execute |
BOOL |
Voce attivazione. Avviare la configurazione sul fronte di salita. |
sAddr |
STRING |
Indirizzo IP OTB. Il formato della stringa deve essere 3{xx.xx.xx.xx} |
Questa tabella descrive le variabili di uscita:
Uscita |
Tipo |
Commento |
---|---|---|
Done |
BOOL |
Impostare a TRUE quando riesce il completamento della configurazione. |
Busy |
BOOL |
Impostare a TRUE quando la configurazione è in corso. |
Error |
BOOL |
Impostare a TRUE quando la configurazione termina con un errore rilevato. |
ConfError |
Valori restituiti: configurationOTBErrorCodes |
|
CommError |
Valori restituiti: CommunicationErrorCodes |
Questo è un esempio di chiamata di questa funzione:
VAR
(*Blocco funzionale per configurare OTB, occorre arrestare IOscanner prima dell'esecuzione del BF*)
configure_OTB1: CONFIGURE_OTB;
(*valore iniziale diverso da 16#00000000, IO_start_done=0 in presenza di avvio corretto*)
IO_start_done: UDINT := 1000;
(*valore iniziale diverso da 16#FFFFFFFF, IO_start_done=16#FFFFFFFF in presenza di arresto corretto*)
IO_stop_done: UDINT := 1000;
(*Configure_OTB_done= true quando si configura correttamente OTB, è quindi possibile avviare lo scanner IO*)
Configure_OTB_done: BOOL;
myBusy: BOOL;
myError: BOOL;
myConfError: configurationOTBErrorCodes;
myCommError: UINT;
myExecute: BOOL;
END_VAR
(* Innanzitutto, arrestare lo IOScanner, prima di configurare OTB *)
IF NOT myExecute THEN
IO_stop_done:=IOS_STOP();
END_IF
(* Inviare i dati di configurazione a OTB, all'indirizzo IP 95.15.3.1, quando myExecute è TRUE *)
configure_OTB1(
Execute:= myExecute,
sAddr:='3{95.15.3.1}' ,
Done=> Configure_OTB_done,
Busy=> myBusy,
Error=> myError,
ConfError=> myConfError,
CommError=> myCommError);
(* Dopo aver configurato correttamente OTB, avviare IOScanner *)
IF Configure_OTB_done THEN
IO_start_done:=IOS_START();
END_IF