Vai alla Home Page About me Courseware Federica Virtual Campus 3D Gli eBook di Federica
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Alfredo Pironti » 9.Programmazione dei PLC: il linguaggio a contatti II


Tecnologie dei Sistemi di Automazione

Programmazione dei PLC: il linguaggio a contatti II

Sommario della lezione

Programmazione dei PLC: il linguaggio a contatti

  • Il simulatore Trilogi
  • Istruzioni di temporizzazione e conteggio
  • Istruzioni per il controllo del flusso del programma
  • Altre istruzioni

Il simulatore Trilogi

Per provare i programmi studiati nella passata lezione è possibile utilizzare il software Trilogi. Questo software (liberamente scaricabile, previa registrazione) è un simulatore di PLC. Esso mette a disposizione:

  • Un editor per l’immissione di un programma in Ladder
  • Un simulatore che consente di eseguire il debug di programmi

Oltre al software è consigliabile scaricare anche il manuale d’uso, che contiene le istruzioni operative.

Il simulatore Trilogi

Si noti che la sintassi del Trilogi è leggermente diversa da quella presentata per il PLC virtuale.

Questi aspetti saranno approfonditi in una delle esercitazioni a vista.


Temporizzatore

  • L’istruzione di temporizzazione è rappresentata da un rettangolo contenente due parametri:
    • Tx: l’indirizzo del temporizzatore da impiegare
    • n: l’intervallo di temporizzazione espresso in centesimi di secondo
  • Tale istruzione va sempre posta a destra alla fine del rung.
  • La temporizzazione parte quando la condizione a sinistra dell’istruzione diventa vera
  • Il nome (Tx)del temporizzatore impiegato corrisponde ad una variabile indicatrice dello stato:
    • Essa vale 0 quando il tempo trascorso dall’attivazione del temporizzatore è inferiore a quello indicato dal parametro n
    • Vale 1 quando il temporizzatore è attivo da un tempo maggiore o uguale a quello indicato dal parametro n
  • Il temporizzatore si resetta (anche se non è stato ancora raggiunto il valore finale) quando la condizione di attivazione del rung diviene falsa

Temporizzatore

Esempio di utilizzo di un temporizzatore

Si noti che il tempo parziale è conservato nella word T2.acc


Temporizzatore a ritenuta

  • Il temporizzatore a ritenuta si arresta (senza azzerarsi) quando la condizione che l’ha attivato diviene falsa
  • In questo modo è possibile eseguire temporizzazioni parziali
  • Si noti che in questo caso è necessaria la presenza di una istruzione apposita per azzerare il temporizzatore
  • Un temporizzatore diventa a ritenuta quando si appende al suo indirizzo la lettera R. Restano inalterati i significati dell’indicatore di stato Tx, e dell’accumulatore Tx.acc
  • L’azzeramento avviene attivando una bobina di reset

Temporizzatore a ritenuta

Esempio di utilizzo di un temporizzatore a ritenuta


Esempi: ritardo di spegnimento

  • Questo programma realizza un cosiddetto ritardo di spegnimento
  • Dimostrare che:
    • L’uscita U2:1 è vera quando l’ingresso I1:1 è vero
    • Quando I1:1 diventa falso, U2:1 diventa falsa con un ritardo di 7s

Esempio di applicazione: Interruttore luce con ritardo programmato di spegnimento (per dare tempo di lasciare la stanza).


Esempi: Generatore di onda quadra

Questo programma, quando l’ingresso I10:3 è alto, genera sull’uscita U2:1 un onda quadra di periodo 5s: nei primi 2s l’uscita è bassa, mentre nei successivi 3s essa è alta.


Esempi: Impulso all’accensione

  • Questo programma genera un impulso di durata pari ad un secondo sull’uscita U2:1, in corrispondenza dei fronti di salita dell’ingresso I3:3
  • Si noti che se I3:3 resta alto per meno di 1s, allora l’impulso su U2:1 avrà durata uguale al tempo per cui I3:3 è rimasto alto

Contatori

  • Un contatore è rappresentato da un rettangolo contenente due parametri:
    • Cx: l’indirizzo del contatore da impiegare
    • n: il valore da raggiungere nel conteggio
  • Tale istruzione va sempre posta a destra alla fine di un rung
  • Il contatore si incrementa in occasione di ogni passaggio da OFF a ON della condizione logica posta a sinistra del contatore
  • Il nome (Cx) del contatore corrisponde ad una variabile indicatrice dello stato:
    • Essa vale 0 quando il valore del contatore è inferiore a quello indicato dal parametro n
    • Vale 1 quando il valore del contatore ha raggiunto il valore indicato dal parametro n
  • Il contatore richiede una specifica istruzione di azzeramento, questa istruzione consiste in una bobina di reset avente come argomento l’indirizzo del contatore

Contatori

Esempio di utilizzo di un contatore

Il valore parziale di conteggio è contenuto nella word C2.acc


Istruzioni di salto

  • L’istruzione di salto consente di saltare da un rung verso un altro, evitando che quelli intermedi siano valutati. Si noti che il salto assume la forma di una bobina, e quindi esso è sempre di tipo condizionato
  • Si tenga infine presente che la disponibilità di una istruzione di salto condizionato consente di realizzare strutture di tipo IF-THEN-ELSE, DO-WHILE, etc.

Procedura di inizializzazione

  • Assumendo che la variabile W1:1 parta da un valore nullo, allora la zona compresa tra l’istruzione di salto e la label sarà eseguita soltanto durante il ciclo di scansione
  • Ovviamente il programma non deve alterare il valore della variabile W1:1

Istruzioni per la manipolazione di dati


Altre istruzioni

  • Chiamata di procedure (JSR)
  • Master control relay (MCR)
  • Zone control laste state (ZCL)
  • Registri di scorrimento (RSD,LSD)
  • Sequenziatori (SEQ)
  • Controllori PID
  • Comunicazioni tra PLC (SEND, GET)

Prossima lezione

Programmazione dei PLC: il Sequential Functional Chart I

L’SFC

  • Elementi di base
  • Fasi e passi
  • Azioni
  • Primi esempi

I materiali di supporto della lezione

P. Chiacchio e F. Basile, Cap. 1 e 2.

J. Hugh, Cap. 6 e 9

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93