Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC-...

48
Programmable Logic Controllers - PLC Lezione 3

Transcript of Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC-...

Page 1: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Programmable Logic Controllers - PLC

Lezione 3

Page 2: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

PLC- Programmazione

Introdurremo nel seguito i fondamenti della programmazione dei PLC Siemens, disponibili in laboratorio

Il laboratorio ha 10 postazioni con Simatic S7-300, che vengono programmati col linguaggio STEP 7

Tale linguaggio consente la programmazione sia a contatti, che a blocchi che con liste di istruzioni

Page 3: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Generalità

Un programma per PLC è costituito da blocchi che vengono richiamati all'interno di un blocco principale e/o di altri blocchi.

Il blocco principale, denominato OB1, deve essere sempre presente nella memoria del PLC.

Possono essere realizzati:Blocchi Organizzativi, OBFunzioni, FCBlocchi Funzionali, FB

Page 4: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi organizzativi

Si tratta di blocchi messi a disposizione dal sistema operativo che normalmente non vengono usati per realizzare delle logiche di funzionamento di impianto, bensì per caratterizzare il funzionamento del PLC: decidere le modalità di avviamento, scegliere le

reazioni del PLC in caso di errori di programmazione, fissare il tempo di ciclo massimo, programmare routine di interruzione a tempo, ecc.

Page 5: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi organizzativi

Il numero e il tipo di OB a disposizione sono variabili a seconda del PLC. Essi vengono individuati dalla sigla OB seguita da un numero: così ad esempio OB10 è il blocco organizzativo numero 10.

Il più importante tra questi blocchi è OB1il sistema operativo del PLC inizia l'esecuzione del

programma utente proprio con OB1E' il blocco principale dal quale possono essere

richiamati tutti gli altri.

Page 6: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi organizzativi

Page 7: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi organizzativi

Page 8: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi organizzativi

Page 9: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Funzioni

Sono blocchi programmabili adatti a realizzare logiche di funzionamento di impianto.

Il set di istruzioni messo a disposizione dal linguaggio Step7 consente una programmazione strutturata e quindi la realizzazione di cicli iterativi e strutture decisionali di tipo IF-THEN-ELSE

Anche questi blocchi vengono individuati dalla sigla (FC) seguita dal numero

Page 10: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Funzioni

Sono blocchi programmabili adatti a realizzare logiche di funzionamento di impianto.

Il set di istruzioni messo a disposizione dal linguaggio Step7 consente una programmazione strutturata e quindi la realizzazione di cicli iterativi e strutture decisionali di tipo IF-THEN-ELSE

Anche questi blocchi vengono individuati dalla sigla (FC) seguita dal numero

Page 11: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Funzioni

La quantità totale di funzioni a disposizione dipende dal tipo di PLCAd esempio per la CPU 315 del PLC S7-300 ne sono

disponibili 128, da FC1 a FC128

Come per le routine dei comuni linguaggi di programmazione, alle funzioni in esecuzione viene assegnata un’area di memoria di lavoro, detta stack

Page 12: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Funzioni

Le funzioni possono avere dei parametri di ingresso e/o di uscita: si tratta di variabili che quando si scrive la funzione

vanno dichiarate in maniera formale e che, quando la funzione viene richiamata all’interno di un blocco, devono essere sostituite con degli operandi reali.

Per una funzione possono anche essere definite delle variabili temporanee locali (memorizzate nello stack), utilizzate esclusivamente nell’ambito della funzione stessa.

Page 13: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Funzioni

L’istruzione di richiamo di una funzione è CALL. Quando il sistema operativo incontra questa

istruzione passa ad eseguire la funzione con i parametri specificati nella sintassi di chiamata.

E’ anche possibile eseguire il richiamo condizionato di una funzione con l’istruzione CC (conditional call) l’esecuzione della funzione avviene se un

determinato bit (denominato risultato logico combinatorio, RLC) aggiornato dal SO vale 1. In caso contrario il richiamo viene ignorato.

Page 14: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi Funzionali

Si tratta di blocchi analoghi alle funzioni, con la differenza che essi danno la possibilità di definire anche delle variabili statiche.

Inoltre, a ogni blocco funzionale devono essere collegate specifiche aree di memoria denominate blocchi dati di istanza, le quali permettono la memorizzazione del valore dei parametri e delle variabili statiche.

Page 15: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi Funzionali

Più in dettaglio, come sarà chiarito in seguito, con il termine blocco dati si intende in generale un insieme di variabili raggruppate in un area specifica identificata dal numero del blocco.

Quando un blocco dati di istanza viene associato a un blocco funzionale, il sistema di sviluppo automaticamente riporta nel blocco dati tutti i parametri del blocco funzionale e le variabili statiche.

Page 16: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Blocchi Funzionali

La sintassi di chiamata di un blocco funzionale prevede che venga specificato anche il blocco dati di istanza associato. Pertanto, ad esempio, l’istruzione CALL FB10, DB15

esegue il richiamo del blocco funzionale 10 usando come blocco dati di istanza il numero 15.

Il sistema operativo del PLC ha il compito, durante l’esecuzione del blocco funzionale, di mantenere aggiornati i valori delle variabili nel blocco dati di istanza associato.

Page 17: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Operandi ed istruzioni

Un'istruzione nel linguaggio di programmazione Step7 è costituita da codice operativo e operando.

Il codice operativo identifica univocamente l’istruzione, mentre l’operando specifica “l’oggetto” dell’istruzione stessa.

I principali tipi di operandi sono i seguenti:Ingressi UsciteMerkerDati

Page 18: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Ingressi

Gli ingressi sono operandi che provengono direttamente dal collegamento del PLC con il campo.

Essi vengono identificati univocamente con il numero di byte.

Normalmente un PLC mette a disposizione i byte di ingresso che iniziano dal numero 0 e vanno sino a un valore che dipende dalle caratteristiche del PLC (63, 127, 255, ecc.).

Page 19: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Ingressi

Anche i bit che compongono i byte di ingresso possono essere usati come operandi; per identificarli è necessario specificare il byte e il

numero del bit all’interno del byte.

E’ inoltre possibile riferirsi a strutture più complesse quali ad esempio una word o una doppia word di ingresso. Una word di ingresso è costituita da due byte contigui; una doppia word da quattro byte contigui. sono identificate dal numero del primo byte che le

compone.

Page 20: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Ingressi

Esempi di operandi Step7 di tipo ingresso sono:E 5.4 bit 4 del byte di ingresso 5EB 7 byte di ingresso 7EW 10 word di ingresso 10 (byte 10 e 11) ED 4 doppia word di ingresso 4 ( byte 4, 5, 6, 7).

Si noti infine che l’uso del simbolo E per gli ingressi deriva dalla lingua tedesca (Eingabe).

Page 21: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Uscite

Le uscite sono gli operandi che permettono al PLC di inviare comandi verso il campo.

Per quanto riguarda la loro organizzazione valgono tutte le considerazioni fatte per gli ingressi.

Il simbolo che individua le uscite è A (dal tedesco Ausgabe).

Page 22: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Uscite

Esempi di operandi Step7 di tipo uscita sono:A 6.3 bit 3 del byte di uscita 6AB 100 byte di uscita 100AW 88 word di uscita 88, ( byte 88 e 89)AD 16 doppia word di uscita 16 (byte 16, 17, 18, 19)

Come già visto per gli ingressi, anche il numero di byte di uscita a disposizione dipende dal tipo di controllore programmabile.

Page 23: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Merker

I merker sono dei registri residenti nella memoria di sistema del PLC da usare come memorie di lavoro.

Il sistema operativo del PLC garantisce l’accesso ai merker con modalità analoghe a quelle viste per gli ingressi e le uscite.

E’ anche possibile specificare il comportamento dei merker a ogni avviamento ad esempio si può scegliere che essi vengano azzerati,

oppure che il loro valore precedente venga mantenuto.

Page 24: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Merker

Esempi di operandi Step7 di tipo merker sono:M 3.3 bit 3 del byte di merker 3MB 108 byte di merker 108MW 18 word di merker 18, (byte 18 e 19) MD 20 doppia word di merker 20 ( byte 20, 21, 22, 23).

Il numero di byte di merker a disposizione dipende dal tipo di PLC.

Page 25: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Dati

I blocchi dati sono delle aree di memoria, identificati da un numero e definibili con ampia libertà dall’utente, che devono essere inserite nella memoria di programma del PLC.

Successivamente alla loro introduzione, i dati all’interno dei blocchi possono essere acceduti con modalità analoghe a quelle viste per ingressi, uscite e merker.

Page 26: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Dati

I blocchi dati sono organizzati a byte, tuttavia oltre ai formati usuali dei dati (bit, byte, word, doppia word) possono essere introdotti formati molto più complessi quali array e strutture.

Esempi di operandi Step7 di tipo dato sono:DB10.DBX 3.7 Bit 7 del byte 3 del blocco dati numero10DB100.DBB 11 Byte 11 del blocco dati numero 100DB8.DBW 12 Word 12 del blocco dati 8 (byte 12 e 13)DB16.DBD 4 Doppia word 4 del blocco dati 16 ( byte 4, 5, 6, 7).

Page 27: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Dati

Si noti che non è sempre necessario specificare il numero di blocco dati per identificare l’operando. può essere usata l’istruzione AUF DBn con la quale

viene “aperto” il blocco dati specificato dal numero n. Nella parte di programma successiva a tale istruzione si

possono usare ad esempio operandi del tipo DBX 2.1 che identifica il bit 1 del byte 2 del blocco dati aperto in precedenza, oppure anche DBB12 che individua il byte 12 sempre del blocco dati aperto.

Page 28: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Dati

I blocchi dati devono essere esplicitamente introdotti dall’utente nella memoria di programma, e come tali occupano parte di questa memoria, riducendo quella a disposizione per il programma utente è opportuno usare i blocchi dati solo quando essi sono

effettivamente necessari e prestando attenzione alle loro dimensioni.

Lo stesso problema non si presenta con i merker in quanto essi sono in numero fisso e risiedono nella memoria di sistema del PLC.

Page 29: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Formato dei numeri

Il linguaggio dà la possibilità di usare diversi formati per la rappresentazione dei numeri.

booleano (1 bit)esadecimali a 8/16/32 bit interi a 8/16/32 bitvirgola mobile a 32 bit

Sono inoltre disponibili formati speciali per esprimere tempi, date, valori di conteggio.

I PLC che si stanno analizzando sono dotati di due accumulatori a 32 bit (ACCU1 e ACCU2)

Page 30: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Operazioni su bit

Le operazioni logiche combinatorie a bit interpretano gli stati di segnale di 1 e 0, e li combinano secondo la logica booleana per eseguire una varietà di funzioni.

Queste combinazioni producono un risultato di 1 o 0 che è chiamato “risultato logico combinatorio” (RLC).

Page 31: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Operazioni su bit

Per le combinazioni logiche con operandi a bit vi sono le seguenti operazioni di base: U AND UN AND negato O OR ON OR negato X OR esclusivo XN OR esclusivo negato

Page 32: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Operazioni su bit

Page 33: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Operazioni su bit

Page 34: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Operazioni su bit

Page 35: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Parola di stato

I bit di stato che sono raccolti nella parola di stato forniscono informazioni sul risultato oppure sullo stato di operazioni.Il bit 0 (/bit ER) della parola di stato è il cosiddetto

bit di prima interrogazione. Se lo stato di segnale del / bit ER è uguale a "0", allora la catena combinatoria inizia con una prima interrogazione.

Lo stato del segnale "0" indica quindi che con la prossima operazione combinatoria nel programma applicativo comincia una nuova sequenza combinatoria.

Page 36: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Parola di statoIl bit 1 della parola di stato è il bit di RLC (RLC=

"Risultato Logico Combinatorio") e serve come memoria intermedia nelle combinazioni binarie.

Una operazione in una catena di operazioni combinatorie interroga lo stato del segnale di un contatto e combina il risultato dell'interrogazione (bit di stato), secondo le regole della logica booleana, con il bit di RLC. Il risultato viene nuovamente depositato nel bit di RLC.

Il bit 2 (bit di stato) memorizza il valore di un bit interrogato e, nelle operazioni di interrogazione (A, AN, O, ..) opp. di scrittura (=, S, R), mostra sempre lo stato del bit interrogato.

Page 37: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

RLCSi tratta di un bit che viene continuamente

elaborato dal PLC. Ogni istruzione del linguaggio Step7 può dipendere

dal RLC, lo può influenzare oppure può essere indipendente dall’RLC.

All'inizio di una sequenza logico combinatoria l’RLC assume il valore del primo bit interrogato (indipendentemente dal tipo di operazione)

Nelle istruzioni successive l’RLC è calcolato tenendo in considerazione il suo valore precedente, il tipo di operazione e il valore dell'operando.

Page 38: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

RLCL'elaborazione dell’RLC continua fino ad incontrare una

istruzione che la termina, quale ad esempio l’istruzione di assegnazione (=).

Il calcolo di un nuovo RLC riprende con la prima istruzione di interrogazione di una nuova sequenza logico combinatoria

Si può quindi affermare che le istruzioni U e O dipendono dall’RLC e lo influenzano, mentre l’istruzione = dipende dall’RLC ma non lo influenza (anche se ne termina l’elaborazione).

Page 39: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

AND negato

Page 40: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

AND negato

Page 41: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

AND prima di OR

Page 42: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

AND prima di OR

Page 43: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Istruzioni con parentesi

Si possono adoperare le seguenti operazioni per combinare espressioni a parentesi: U( AND con diramazione UN( AND negato con apertura parentesi O( OR con apertura parentesi ON( OR negato con apertura parentesi X( OR esclusivo con apertura parentesi XN( OR esclusivo negato con apertura parentesi ) Chiusura parentesi

Page 44: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

AND con parentesi

Page 45: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

AND con parentesi

Page 46: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Set, reset e assegnazione

Si può terminare una stringa logica a bit usando una delle seguenti operazioni: = Assegnazione R Resetta S Imposta

Durante il funzionamento del PLC l’operando dell’operazione di assegnazione può assumere dinamicamente valori diversi a seconda dell’RLC e quindi in definitiva dei valori dei bit coinvolti nelle operazioni logico combinatorie

Page 47: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Set, reset e assegnazione

Le istruzioni Set (S) e Reset (R) dipendono dall’RLC ma non lo influenzano. Il loro funzionamento consiste nel settare o

resettare l’operando quando l’RLC vale 1. Se per esempio si usa l’istruzione di Set, la prima

volta che l’RLC vale 1 l’operando viene posto anch’esso uguale a 1. Tutte le successive esecuzioni del programma con qualsiasi valore dell’RLC sono ininfluenti e l’operando rimane al valore 1.

Analogamente l'istruzione di Reset (R) azzera il valore dell’operando quando l’RLC vale 1.

Set e Reset terminano l’elaborazione dell’RLC.

Page 48: Programmable Logic Controllers - PLCstatic.gest.unipd.it/~oboe/aut_ind/lucidi/Lez_PLC_3.pdf · PLC- Programmazione Introdurremo nel seguito i fondamenti della programmazione dei PLC

Set, reset e assegnazioneSi può adoperare una delle seguenti operazioni

per modificare il risultato logico combinatorio (RLC): NOT Nega RLC SET Imposta RLC (=1) CLR Resetta RLC (=0) SAVE Salva RLC nel registro BIE

Altre operazioni rispondono ad una transizione di fronte di salita: FN Fronte di discesa FP Fronte di salita