La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

IL Linguaggio per la programmazione del PLC Ing. Marco Giannini Prof. Giuseppe Mastronardi Architettura e Programmazione dei Microelaboratori Anno accademico.

Presentazioni simili


Presentazione sul tema: "IL Linguaggio per la programmazione del PLC Ing. Marco Giannini Prof. Giuseppe Mastronardi Architettura e Programmazione dei Microelaboratori Anno accademico."— Transcript della presentazione:

1 IL Linguaggio per la programmazione del PLC Ing. Marco Giannini Prof. Giuseppe Mastronardi Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009

2 Ladder Diagram (Linguaggio a contatti)

3 Linguaggio a contatti La forma del programma deriva dalla logica a relè, con le due linee verticali laterali (i montanti della scala) rappresentati lalimentazione e con le linee orizzontali (i pioli o rung) che alimentano una bobina se una certa combinazione di contatti abilita il flusso di energia. I contatti sono associati agli ingressi digitali oppure a condizioni interne al dispositivo (rappresentati entrambi da bit di memoria). Una bobina è associata a un bit della memoria e, col suo tramite, comandare una uscita digitale o segnalare una condizione interna.

4 Linguaggio a contatti Regola fondamentale: il flusso di energia ha come unico verso quello che va dal montante sinistro al montante destro; la bobina U1 può essere accesa se sono chiusi i contatti I1, I2, I3, I4 e non quando sono chiusi i contatti I7, I5, I2, I3, I4.

5 Tipi di istruzioni del linguaggio a contatti 1.Istruzioni di base: contatti e uscite di tipo relè 2.Istruzioni di temporizzazione e conteggio 3.Istruzioni per il controllo del programma 4.Istruzioni per la gestione dei dati 5.Istruzioni per funzioni speciali (regolatori PID)

6 Descrizione della memoria RAM di un PLC virtuale Area degli ingressi: 32 word da 16 bit con indirizzi I1-I32; Ix:y indica il bit y della word x; ad ogni ingresso digitale corrisponde un bit; ad ogni ingresso analogico corrisponde una word di 16 bit. Area delle uscite: 32 word da 16 bit con indirizzi U1-U32; si utilizzano le stesse convenzioni dellarea degli ingressi.

7 Descrizione della memoria RAM di un PLC virtuale Area utente: 512 word da 16 bit indirizzabili con W1-W512; è utilizzata per memorizzare dati, tabelle, risultati parziali dellelaborazione del programma utente. Area PID: sono previste 4 strutture di tipo regolatore PID indirizzabili con P1-P4. sono previste 16 strutture di temporizzazione con indirizzi T1-T16. Area dei Temporizzatori :

8 Modalità di esecuzione di un programma scritto in linguaggio a contatti 1.Lettura degli ingressi e scrittura del loro stato in memoria. 2.Esecuzione del programma un rung dopo laltro, procedendo dallalto verso il basso, da sinistra verso destra. 3.Scrittura delle uscite, prelevando il loro stato dalla memoria.

9 Istruzioni di base Contatto normalmente aperto: se il bit ad esso associato è ad 1 (ON) il processore chiude il contatto; se il bit è a 0 (OFF) il contatto rimane aperto. Il bit ad esso associato può appartenere allarea di memoria degli ingressi (Ix:y), delle uscite (Ux:y) e allarea utente (Wx:y). Contatto normalmente chiuso: se il bit ad esso associato è ad 1 (ON) il processore apre il contatto; se il bit è a 0 (OFF) il contatto rimane chiuso. Valgono le stesse considerazioni dellistruzione precedente.

10 Istruzioni di base Bobina: è utilizzata per settare il bit ad essa associato che può essere un bit dellarea delle uscite (Ux:y) o un bit dellarea utente (Wx:y). Questa istruzione deve essere sempre inserita allestrema destra del rung; se le istruzioni che la precedono realizzano la continuità elettrica e logica, il bit ad essa associato assume valore 1, altrimenti assume valore 0. Latch bobina: mantiene lo stato ON del bit associato anche quando le condizioni che lo hanno attivato sono diventate false; lunico modo di portarlo nello stato OFF è utilizzare listruzione UNLATCH BOBINA.

11 Istruzioni di base Unlatch bobina: è listruzione duale della LATCH BOBINA e quindi mantiene lo stato OFF del bit associato anche quando le istruzioni precedenti realizzano la continuità elettrica e logica. Per portare allo stato ON il bit associato, si deve utilizzare necessariamente listruzione LATCH BOBINA.

12 Esempi di programmi con istruzioni di base Si vuole memorizzare nel bit U1:1 il risultato della OR tra i bit I1:1 e I1:2.

13 Annotazione importante Lordine in cui vengono scritti i rung è molto importante. Nel programma a sinistra tutte le uscite vengono aggiornate in un solo ciclo di esecuzione, mentre nel programma a destra le tre uscite vengono aggiornate in tre cicli successivi una dopo laltra.

14 Riconoscimento del fronte di salita Primo ciclo di esecuzione: il primo rung viene abilitato quando I 1:1 = 1, per cui W 1:1 viene portato a 1. Successivamente viene eseguito il secondo rung e quindi anche W 1:2 = 1. Secondo ciclo di esecuzione: W 1:2 era stato portato a 1 per cui W 1:1 va a 0.

15 Istruzioni di temporizzazione e conteggio Il temporizzatore deve essere sempre posizionato allestrema destra del rung; Tx è il suo indirizzo con x = ; la durata massima è di centesimi di secondo (unora). Se viene stabilita la continuità logica del rung, il temporizzatore inizia il conteggio e la sua locazione di memoria contiene 0; quando termina il conteggio, Tx = 1 fin quando il temporizzatore non viene resettato; se durante il conteggio si interrompe lalimentazione, si resetta. Temporizzatore a ritenuta: il suo funzionamento è molto simile al temporizzatore semplice; se viene interrotta lalimentazione, viene conservato il valore raggiunto nel conteggio. Per resettare questo temporizzatore si utilizza listruzione -(RES)-. Il valore corrente del conteggio è nellindirizzo Tx.acc.

16 Contatore ad incremento: Cx indica lindirizzo (x = 1- 16), e il massimo numero di eventi contati è Deve essere sempre posizionato a destra del rung e, se il rung in cui si trova subisce una transizione falso/vero (0- 1), incrementa di uno il suo valore. Quando il contatore raggiunge il n. di eventi impostato, il bit ad esso associato assume 1 e viene resettato automaticamente il conteggio. Per resettare a zero il conteggio da programma, si utilizza listruzione -(RES)-; il valore corrente del conteggio è disponibile allindirizzo Cx.acc. Istruzioni di temporizzazione e conteggio

17 Istruzioni per il controllo del programma Se alimentata, permette di saltare ad un rung dove è presente listruzione di etichetta corrispondente indicata mediante un numero; deve essere posizionata allestrema destra del rung. Indica la destinazione del salto e deve essere posizionata a sinistra del rung. Permette di controllare, attraverso un solo insieme di condizioni, lesecuzione di unintera parte di programma racchiuse tra due istruzioni MCR (Master Control Relay); se la prima viene alimentata, viene eseguita quella parte, altrimenti tutte le bobine di quella parte sono messe a zero. Le due istruzioni sono posizionate alla destra dei rung.

18 Il funzionamento del ZCL (Zone Control Last state) è identico a quello dellistruzione precedente; lunica differenza è che, se la prima delle due istruzioni non viene alimentata, le uscite presenti nella parte di programma controllata rimangono nel loro stato. Salto a sottoprogramma: il sottoprogramma è racchiuso tra due istruzioni, una di inizio –I SBR I-, corredata dal numero di sottoprogramma, e laltra di fine –( RET )-. Istruzioni per il controllo del programma

19 Istruzioni per la movimentazione di dati Trasferisce il contenuto di una word di memoria (OP 1) oppure un valore assoluto in OP 2. E unistruzione di uscita e quindi va posizionata a destra del rung. Esegue operazioni aritmetico/logiche tra due operandi; il risultato delloperazione è memorizzato in RES. Le operazioni sono: ADD, MUL, SUB, DIV, AND, OR. Si posiziona a destra del rung.

20 Istruzioni per la attivazione dei rung Esegue operazioni di comparazione tra due operandi; il risultato delloperazione è memorizzato in RES. Le operazioni sono: EQU, NEQ, GEQ, LEQ, GRT, LES. Si posiziona a sinistra del rung.

21 Istruzioni PID Kp: guadagno proporzionale Kd : guadagno derivativo Ki: guadagno integrale rif: word del riferimento var: variabile da controllare com: valore del controllo

22 Istruzioni di connessione La coppia di istruzioni di connessione -->zyx> e >zyx>-- viene utilizzata per spezzare un rung troppo lungo:

23 Esempi

24 U3:15 = (I1:4 AND NOT(I1:7)) OR (NOT(I1:4) AND I1:7) Programmazione di una XOR

25 Riconoscimento del Fronte di Salita

26 Riconoscimento del Fronte di Discesa

27 Flip Flop di tipo D

28 Ritardo di spegnimento

29 Esercizi

30 Esercizio Tradurre in LD la seguente istruzione in ST

31 Soluzione I


Scaricare ppt "IL Linguaggio per la programmazione del PLC Ing. Marco Giannini Prof. Giuseppe Mastronardi Architettura e Programmazione dei Microelaboratori Anno accademico."

Presentazioni simili


Annunci Google