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:
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.
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.
Il linguaggio Ladder come il QCL dispone dei seguenti 3 tipi di accesso :
R | ( READ ) |
W | ( WRITE ) |
RW | ( READ / WRITE ) |
Il linguaggio Ladder come il QCL dispone dei seguenti 5 tipi di dato base :
F | ( FLAG ) |
B | ( BYTE ) |
W | ( WORD ) |
L | ( LONG ) |
S | ( SINGLE ) |