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 » 8.Programmazione dei PLC: il linguaggio a contatti I


Tecnologie dei Sistemi di Automazione

Programmazione dei PLC: il linguaggio a contatti I

Sommario della lezione

Programmazione dei PLC: il linguaggio a contatti

  • Elementi sintattici
  • Le istruzioni di base (contatti e bobine)

Elementi sintattici del linguaggio a contatti

  • Il linguaggio a contatti trae origine dagli schemi usualmente impiegati per descrivere il comportamento logico di una scheda a relay
  • Esso quindi si presenta come un linguaggio di tipo grafico, i cui elementi di base sono il contatto e la bobina
  • Questi elementi sono posti su una linea orizzontale chiamata rung (piolo)
  • Ogni rung è posto tra due linee verticali che rappresentano l’alimentazione
Schema del linguaggio a contatti

Schema del linguaggio a contatti


Elementi sintattici del linguaggio a contatti

  • Cosi come avviene negli schemi a relay, se il contatto è chiuso allora la bobina è alimentata
  • Nel secondo rung del programma nella figura a lato la bobina contrassegnata da d è alimentata se uno dei contatti contrassegnati da l o da k è chiuso
  • Senza ancora specificare il significato di contatti e bobine, ma semplicemente usando l’analogia elettrica e semplice rendersi conto di quali condizioni devono essere verificate affinché una bobina sia alimentata oppure no
Schema del linguaggio a contatti

Schema del linguaggio a contatti


Elementi sintattici del linguaggio a contatti

Nel linguaggio a contatti comunque si ipotizza (diversamente da quanto accade in una rete elettrica) che il flusso di energia può procedere soltanto da sinistra verso destra

Nell’ultimo rung quindi la bobina u1 può essere alimentata dai percorsi

  • a,i1,i2
  • a,i3,!i2
  • i4,!i2

Ma non può essere alimentata ad esempio dal percorso i4,i3,i1,i2. Questo percorso infatti implicherebbe un flusso di energia da destra verso sinistra.

Schema del linguaggio a contatti

Schema del linguaggio a contatti


Tipi di istruzioni del linguaggio a contatti

  • Istruzioni di base (contatti e bobine)
  • Istruzioni di temporizzazione e di conteggio
  • Istruzioni per il controllo del programma
  • Istruzioni per la manipolazione dati
  • Istruzioni speciali

Un PLC virtuale: Organizzazione della memoria

  • Essendo il linguaggio a contatti un linguaggio di basso livello, è necessario per definire l’hardware su cui i programmi scritti in tal linguaggio gireranno
  • A tal fine considereremo un PLC virtuale avente l’organizzazione della memoria indicata come:
  • area ingressi: 16 word da 16 bit
    • Ix:y accede al bit y della word x
    • Ix accede all’intera word x
  • area uscite: 16 word da 16 bit
    • Ux:y accede al bit y della word x
    • Ux accede all’intera word x
  • area utente: 512 Word da 16 bit
    • Wx:y accede al bit y della word x
    • Wx accede all’intera word x
  • area temporizzatori: T1-T16
  • area contatori: C1-C16
  • are PID: P1-P4

Un PLC virtuale: il ciclo operativo

Assumeremo per il nostro PLC virtuale il seguente ciclo operativo:

  1. Lettura degli ingressi e scrittura del loro stato nelle locazioni di memoria associate
  2. Esecuzione del programma utente un rung dopo l’altro, con operandi prelevati dalla memoria e risultati delle operazioni conservati in memoria (nell’esecuzione dei rung si procede dall’alto verso il basso)
  3. Scrittura delle uscite, prelevando il relativo stato dalle locazioni di memoria associate
  4. Ritorno al passo 1

Si noti come questo ciclo operativo si sposi bene con il ciclo a copia massiva degli ingressi e delle uscite, descritto nella lezione 3.

Istruzioni di base: i contatti

  • Un contatto è associato a bit ache può essere
    • Un bit di ingresso (Ix:y)
    • Un bit di uscita (Ux:y)
    • Un bit interno (Wx:y)
    • Al bit di stato di contatori e temporizzatori
  • Se il bit associato al contatto ha valore logico 1, allora il contatto è chiuso, altrimenti il contatto è aperto.
Contatto aperto

Contatto aperto


Istruzioni di base: i contatti

  • L’istruzione in figura rappresenta un contatto normalmente chiuso
  • Il comportamento è simile a quello di un contatto normale, con la differenza che se il bit associato al contatto ha valore logico 1, allora il contatto è aperto, altrimenti il contatto è chiuso
Contatto chiuso

Contatto chiuso


Istruzioni di base: le bobine

  • Una bobina è associato a bit ache può essere
    • Un bit di uscita (Ux:y)
    • Un bit di interno (Wx:y)
  • Una bobina va sempre posta come ultima istruzione alla destra di un rung
  • Se le condizioni logiche alla sua sinistra sono verificate (esiste quindi continuità elettrica sul rung) il bit associato alla bobina viene portato a 1 (stato logico ON), altrimenti esso viene portato a 0 (stato logico OFF)
Bobina

Bobina


Il primo programma in ladder

  • Questo programma usa gli ingressi I1:4 e I1:7, e l’uscita U3:15 del PLC
  • La bobina associata all’uscita U3:15 risulterà alimentata in uno dei seguenti due casi:
    • I1:4 vero e I1:7 falso
    • I1:4 falso e I1:7 vero
  • In altre parole questo programma preleva gli ingressi I1:4 e I1:7 e mette sull’uscita U3:15 l’or esclusivo (XOR) tra questi due bit
Schema del programma

Schema del programma


Il primo programma in ladder

L’esempio mostra che attraverso i contatti e le bobine risulta molto semplice realizzare programmi capaci di calcolare funzioni booleane di tipo combinatorio.

Schema del programma

Schema del programma

Diagramma orario

Diagramma orario


Realizzazione di un flip-flop SR

  • Il programma in figura realizza un flip-flop di tipo SET/RESET, l’ingresso I1:1 funge da set, l’ingresso I1:2 funge da reset.
  • E’ semplice rendersi conto, infatti, che il programma realizza la funzione booleana:
    • U1:1 := (U1:1+I1:1)*!I1:2

Provate a dimostrare che questo programma realizza un flip-flop con precedenza sul RESET (nel senso che se sia il SET che il RESET sono a 1, il programma ignora il segnale di SET).

Schema del programma

Schema del programma


Riconoscimento di un fronte di salita

Dimostrare che il programma in figura produce sulla variabile W1:1 un impulso in occasione di ogni fronte di salita dell’ingresso I1:1 (si guardi il diagramma orario).

Schema del programma

Schema del programma

Diagramma orario

Diagramma orario


Riconoscimento di un fronte di salita

Si noti che:

  • La durata dell’impulso su W1:1 è pari al tempo di scansione del programma
  • Per il corretto funzionamento del programma è essenziale che il programma venga eseguito dall’alto verso il basso
Schema del programma

Schema del programma


Riconoscimento di un fronte di discesa

Il programma in figura realizza un riconoscitore di fronte di discesa

Realizzare un diagramma orario che mostri come cambiano i valori di W1:1 e W1:2 in funzione di I1:1

Schema del programma

Schema del programma


Bobine a ritenute

  • Una bobina a ritenuta (detta anche latch) è usata per mantenere lo stato ON del bit associato, anche quando le condizioni che hanno attivato la bobina sono divenute false (ritenzione del bit)
  • Una bobina a ritenuta si distingue da una bobina normale per la presenza di una L (latch) all’interno del simbolo
  • Una bobina a ritenuta, una volta portata allo stato ON, deve essere esplicitamente portata ad OFF usando una bobina unlatch
Bobina (latch)

Bobina (latch)

Bobina (unlatch)

Bobina (unlatch)


Flip-flop RS con le bobine latch

  • Il programma in figura realizza un flip-flop di tipo RS usando le bobine di tipo latch
  • Il funzionamento è molto semplice, quando I:1 diventa 1 l’uscita U1:1 va a 1, e permane in quello stato fino a quando non si attiva il secondo rung, ovverosia fino a quando I1:2 non diventa 1
Schema del programma

Schema del programma


Flip-flop di tipo T

  • Il programma in figura realizza un flip-flop di tipo T, in particolare l’uscita U2:1 si inverte ad ogni fronte di salita di I1:1
  • Le variabili W1:1, W1:2, e W1:3 sono usate nel programma come variabili temporanee
Schema del programma

Schema del programma

Diagramma orario

Diagramma orario


Prossima lezione

Programmazione dei PLC: Il linguaggio a contatti II

  • Il simulatore trilogi
  • Istruzioni di temporizzazione
  • Istruzioni di conteggio
  • Istruzioni per il controllo del programma
  • Altre istruzioni

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