Salto condizionato, accumulatore TRUE
Se il contenuto dell'accumulatore è TRUE, l'esecuzione del programma continua in corrispondenza dell'etichetta definita nel campo dell'operando.
Gli operandi validi per questo operatore devono presentare uno dei seguenti tipi di dati: Qualsiasi etichetta esistente nel programma è valida. Il valore nell'accumulatore deve presentare il tipo di dato BOOL.
var_1 e var_2 possono presentare qualsiasi tipo di dato, in quanto il confronto è definito per tutti i tipi di dati. var_3, var_4 e var_5 devono presentare tipi di dati numerici in base alle operazioni eseguite con essi. LABEL1 e LABEL2 devono essere etichette valide all'interno del programma. Il salto viene eseguito solo se l'accumulatore mantiene il valore TRUE. In caso contrario, l'esecuzione del programma continua con l'istruzione che segue il comando JMPC.
L'etichetta deve essere seguita da due punti; nell'istruzione JMPC, tuttavia, i due punti dopo il nome dell'etichetta devono essere omessi.
Le etichette possono essere inserite solo all'inizio di una rete. Un'etichetta può essere inserita all'inizio di qualsiasi rete, anche se non si salta ad essa (p.es. LABEL0 in questo frammento di esempio di codice).
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.
(* Beginning of network 0 *) |
|||
LABEL0: |
LD |
var_1 |
(* Load var_1 in accu *) |
EQ |
var_2 |
(* Compare accu with var_2; store result of comparison in accu; result is of type BOOL*) |
|
JMPC |
LABEL1 |
(* If accu contains TRUE continue program execution at position LABEL1 *) |
|
(* Beginning of network 1 *) |
|||
LABEL1: |
MUL |
var_3 |
(* Multiply accu by var_3 *) |
SUB |
var_4 |
(* Subtract var_4 from accu; result is store in accu *) |
|
ST |
var_5 |
(* Store accu in var_5*) |