EN - ENO, il controllo del flusso d’esecuzione
Secondo la specifica IEC61131-3, un ingresso booleano EN (ENable) ed eventualmente un’uscita booleana ENO (ENable Output) dovranno essere usate con le funzioni nel linguaggio Ladder.
L’esecuzione delle operazioni definite dalla funzione saranno controllate in accordo con le seguenti regole:
-
Se il valore di EN è FALSE (0) quando la funzione è invocata, le operazioni definite dal corpo della funzione non saranno eseguite ed il valore di ENO sarà impostato a FALSE (0) dal programmable controller system (QMove).
-
Altrimenti, il valore di ENO sarà impostato a TRUE (1) dal programmable controller system (QMove), e le operazioni definite dal corpo della funzione verranno eseguite.
Queste operazioni possono includere l’assegnamento di un valore booleano in ENO .
-
Se si dovessero verificare degli errori interni durante l’esecuzione di una delle funzioni standard, l’uscita ENO di quella funzione sarà impostata a FALSE (0) dal programmable controller system (QMove).
Nella figura soprastante è rappresentato un esempio dell’utilizzo degli stati EN - ENO in una rete Ladder.
Codice QCL equivalente :
; inzio del RUNG power_flow = 1 ; gestione del contatto normalmente aperto ADD_EN power_flow = power_flow AND ADD_EN ; gestione della funzione ADD (somma) in cui a Setpoint viene sommato il valore 1000 IF power_flow Setpoint = Setpoint + 1000 ENDIF ; gestione della bobina normalmente aperta ADD_OK ADD_OK = power_flow
Come si può vedere nel codice equivalente se l’ingresso EN della funzione ADD risulta OFF tutto il corpo della funzione non viene eseguito.
Gruppo di appartenenza della variabile di riferimento
Il linguaggio Ladder definisce che ogni variabile di riferimento ricada in uno dei seguenti gruppi di appartenenza :
Senza controlli | ( UNCHECKED ) |
Normale | ( NORMAL ) |
Comando | ( COMMAND ) |
Nome array | ( ARRAY NAME ) |
Nome timer | ( TIMER NAME ) |
Nome variabile statica | ( STATIC NAME ) |
Nome variabile indicizzata | ( INDEX NAME ) |
Nome device | ( DEVICE NAME ) |
Parametro device | ( DEVICE PARAMETER ) |
Comando device | ( DEVICE COMMAND ) |
Il gruppo senza controlli ( UNCHECKED ) è utilizzato per la definizione di variabili in cui non viene effettuato nessun controllo di validità. Questo tipo di gruppo viene utilizzato solo in caso di reale necessità in quanto non permette di individuare l’impostazione ad una variabile non valida durante le operazioni di Check e di Compilazione del progetto.
I tipi di accesso al dato della variabile di riferimento
Il linguaggio Ladder come il QCL dispone dei seguenti 3 tipi di accesso :
R | ( READ ) |
W | ( WRITE ) |
RW | ( READ / WRITE ) |
I tipi di dato della variabile di riferimento
Il linguaggio Ladder come il QCL dispone dei seguenti 5 tipi di dato base :
F | ( FLAG ) |
B | ( BYTE ) |
W | ( WORD ) |
L | ( LONG ) |
S | ( SINGLE ) |