Operazioni di controllo del programma

UC (Richiamo incondizionato di blocco)

Indipendentemente da RLC, l’elaborazione del programma viene fatta proseguire dalla prima istruzione del blocco specificato come operando. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultimo, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva. Non è possibile la parametrizzazione.

Operandi ammessi: FC

CC (Richiamo condizionato di blocco)

Se RLC=1, l’elaborazione del programma viene fatta proseguire dalla prima istruzione del blocco specificato come operando. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultimo, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva.

Se RLC=0, l’operazione viene ignorata, RLC viene impostato ad 1 [PC1] e l’elaborazione continua con l’istruzione successiva.

Non è possibile la parametrizzazione.

Operandi ammessi: FC

CALL (Richiamo di blocco con parametri)

Indipendentemente dallo stato di RLC, viene richiamata la funzione specificata come operando. L’elaborazione del programma viene fatta proseguire dalla prima istruzione della funzione. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultima, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva.

Racchiusi tra parentesi e separati da punto e virgola, devono essere specificati gli operandi attuali da passare alla funzione che verranno utilizzati all’interno di essa al posto degli operandi formali, secondo la corrispondenza specificata nella tabella parametri della funzione.

Prima del richiamo, lo stato o il valore degli operandi attuali corrispondenti a parametri di “in” e “in_out” viene ricopiato nei corrispondenti operandi formali. Al ritorno dalla funzione, lo stato o il valore degli operandi formali corrispondenti a parametri di “out” e “in_out” viene ricopiato nei corrispondenti operandi attuali.

Operandi ammessi: FC (p1; p2; …)

BE (Fine blocco)

E’ l’istruzione di chiusura, cioè l’ultima, di un blocco. Indipendentemente da RLC, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC, non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l’elaborazione di questa istruzione, il controllo ritorna al Sistema Operativo del PLC simulato.

Operandi ammessi: nessuno

BEA [BEU] (Fine blocco incondizionata)

Indipendentemente da RLC, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC, non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l’elaborazione di questa istruzione, il controllo ritorna al Sistema Operativo del PLC simulato. L’operazione BEA, a differenza dell’operazione BE, può essere utilizzata anche all’interno di un blocco.

Operandi ammessi: nessuno

BEB [BEC] (Fine blocco condizionata)

Se RLC=1, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC (1 in questo caso), non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l’elaborazione di questa istruzione, il controllo ritorna al Sistema Operativo del PLC simulato.

Se RLC=0, l’operazione non viene eseguita, RLC viene impostato ad 1 e l’elaborazione continua con l’istruzione successiva.

Operandi ammessi: nessuno

Tabella 41: collegamento tra operazioni ed RLC

RLC

Significato Valori

Spiegazione

D

Dipendente S

L’esecuzione dell’operazione dipende dal valore di RLC; per RLC=1 viene eseguita, per RLC=0 non viene eseguita.

L’esecuzione dell’operazione dipende dal valore di RLC. Essa viene eseguita soltanto in corrispondenza del fronte di salita di RLC.

L’esecuzione dell’operazione dipende dal valore di RLC. Essa viene eseguita soltanto in corrispondenza del fronte di discesa di RLC.

N

L’esecuzione dell’operazione non dipende dal valore di RLC. Essa viene eseguita sempre.

I

Influente S

L’elaborazione dell’operazione influisce sul valore di RLC. Il nuovo RLC dipenderà dal tipo di operazione, dallo stato dell’operando e dal precedente RLC.

N

L’elaborazione dell’operazione non influisce sul valore di RLC che rimane quindi inalterato.

L

Limitante 1

L’elaborazione dell’istruzione influisce sul valore di RLC che viene posto incondizionatamente a 1.

S

L’operazione è limitante nel calcolo di RLC. Quando si incontrerà la prossima operazione RLC influente, il valore di RLC dipenderà soltanto dal tipo di operazione e dallo stato dell’operando, ma non dal precedente valore di RLC.

N

L’operazione non è limitante nel calcolo di RLC. Quando si incontrerà la prossima operazione RLC influente, il calcolo del nuovo RLC verrà effettuato in base al tipo di operazione, allo stato dell’operando ed al precedente valore di RLC.

^