È possibile definire le azioni e assegnarle ai blocchi funzione e ai programmi. Un'azione è un'implementazione aggiuntiva, che può essere creata in un linguaggio diverso dall'implementazione di base e alla quale viene attribuito un nome.
L'azione utilizza i dati del blocco funzione o del programma a cui appartiene. Utilizza le variabili di ingresso e di uscita e le variabili locali definite e non contiene dichiarazioni proprie.
L'illustrazione seguente mostra un'azione in FB
In questo esempio, ogni chiamata del blocco funzione FB1
aumenta o diminuisce la variabile di uscita out
, a seconda del valore della variabile di ingresso in
. La chiamata dell'azione Reset
del blocco funzione imposta la variabile di uscita out
su 0. La stessa variabile out
viene scritta in entrambi i casi.
Per aggiungere un'azione, selezionare il nodo del relativo programma o blocco funzione nella
o nel nodo della , fare clic sul pulsante verde con il segno più ed eseguire il comando . In alternativa, fare clic con il pulsante destro del mouse sul nodo del programma o del blocco funzione ed eseguire il comando . Nella finestra di dialogo , definire il dell'azione e il desiderato.EcoStruxure Machine Expert facilita la programmazione orientata agli oggetti tramite eredità nei blocchi funzione: quando si esegue su un blocco funzione che eredita da un altro blocco funzione, gli elementi , , e usati nel blocco funzione di base vengono elencati per la selezione:
Gli elementi
, , e con = , e definiti nel blocco funzione di base sono disponibili per la selezione. È possibile adattare la definizione per l'oggetto ereditato. Nell'oggetto ereditato, lo stesso viene assegnato agli elementi di origine.Gli elementi
, , e con = non sono disponibili per la selezione in quanto l'accesso è limitato al blocco funzione di base.Sintassi
<Program_name>.<Action_name>
oppure
<Instance_name>.<Action_name>
Esaminare la notazione in FBD (vedere l'esempio seguente).
Se è necessario richiamare l'azione all'interno del suo stesso blocco, cioè il programma o il blocco funzione a cui appartiene, è sufficiente utilizzare il nome dell'azione.
Questa sezione fornisce alcuni esempi di chiamata dell'azione descritta in precedenza da un'altra POU.
Dichiarazione di tutti gli esempi:
PROGRAM PLC_PRG
VAR
Inst : Counter;
END_VAR
Chiamata dell'azione Reset
in un'altra POU, programmata in IL:
CAL Inst.Reset(In := FALSE)
LD Inst.out
ST ERG
Chiamata dell'azione Reset
in un'altra POU, programmata in ST:
Inst.Reset(In := FALSE);
Erg := Inst.out;
Chiamata dell'azione Reset
in un'altra POU, programmata in FBD:
Azione in FBD