29.01.2015 Views

LA PROGRAMMAZIONE DEL PLC /1 - Studium

LA PROGRAMMAZIONE DEL PLC /1 - Studium

LA PROGRAMMAZIONE DEL PLC /1 - Studium

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>LA</strong> <strong>PROGRAMMAZIONE</strong> <strong>DEL</strong> <strong>PLC</strong> /1<br />

Per programmare correttamente un <strong>PLC</strong> è necessario ...<br />

• determinare ciò che il sistema deve eseguire ed in quale<br />

ordine;<br />

• determinare il numero e il tipo di I/O (ingressi/uscite) che<br />

necessitano per il collegamento dei sensori e degli<br />

attuatori;<br />

• determinare quindi la configurazione hardware che dovrà<br />

avere il <strong>PLC</strong> e le caratteristiche della CPU che supporterà i<br />

vari moduli;<br />

• effettuare l' indirizzamento degli I/O;<br />

1


<strong>LA</strong> <strong>PROGRAMMAZIONE</strong> <strong>DEL</strong> <strong>PLC</strong> /2<br />

• approntare uno schema (elettrico, diagramma di flusso,<br />

elenco di azioni) che chiarisca inequivocabilmente la<br />

successione delle operazioni da svolgere, comprese<br />

eventuali situazioni di allarme;<br />

• codificare lo schema redatto in un programma editabile e<br />

trasferibile nella CPU tramite console di programmazione<br />

o personal computer;<br />

• inserire nel <strong>PLC</strong> il programma con i relativi parametri di<br />

lavoro;<br />

2


<strong>LA</strong> <strong>PROGRAMMAZIONE</strong> <strong>DEL</strong> <strong>PLC</strong> /3<br />

• ricercare eventuali errori di programmazione per quanto<br />

concerne la sintassi del programma o gli errori di<br />

esecuzione;<br />

• testare a tavolino il programma editato con l' ausilio di una<br />

stazione di simulazione (<strong>PLC</strong>, simulatore degli ingressi,<br />

personal computer per il monitoraggio);<br />

• collegare il <strong>PLC</strong> al sistema da controllare e verificarne il<br />

corretto funzionamento, con il relativo salvataggio in<br />

forma definitiva del programma.<br />

3


LINGUAGGI DI <strong>PROGRAMMAZIONE</strong> /1<br />

Normativa IEC1131-3: linguaggi di programmazione<br />

• Diagramma a contatti (Ladder Diagram) LD<br />

• Lista istruzioni (Instruction List) IL<br />

• Schema a blocchi funzionale (Functional Block Diagram)<br />

FBD<br />

• Letterale strutturato (Structured Text) ST<br />

• Sequential Function Chart SFC o diagramma funzionale<br />

in sequenza GRAFCET<br />

4


LINGUAGGI DI <strong>PROGRAMMAZIONE</strong> /2<br />

grafici<br />

ladder<br />

schema a blocchi funzionali<br />

sequential function chart<br />

Linguaggi di<br />

programmazione<br />

dei <strong>PLC</strong><br />

lista istruzioni<br />

letterali<br />

letterale strutturato<br />

5


<strong>LA</strong>DDER DIAGRAM /1<br />

Permette una rappresentazione della logica di comando<br />

simile allo schema eletromeccanico, poiché utilizza la<br />

stessa simbologia.<br />

6


<strong>LA</strong>DDER DIAGRAM /2<br />

• I segni grafici sono strutturati in reti delimitate da barre a<br />

sinistra e a destra, dette barre di alimentazione.<br />

• Le linee di collegamento dei segni grafici possono essere<br />

orizzontali o verticali e il loro stato di collegamento può<br />

essere "ON" o "OFF", che corrisponde ai valori booleani<br />

"1" e "0".<br />

• Lo stato di collegamento deve essere considerato come<br />

sinonimo di flusso di energia; se è ON il flusso transita se è<br />

OFF il flusso non transita.<br />

7


<strong>LA</strong>DDER DIAGRAM /3<br />

• La barra di sinistra è sempre considerata ON, mentre<br />

quella di destra non ha uno stato predefinito.<br />

• Una linea orizzontale trasmette lo stato dell' elemento alla<br />

sua sinistra a quello situato alla sua destra.<br />

• Una linea verticale deve essere sempre collegata a una<br />

linea orizzontale e può incrociare uno o più elementi di<br />

collegamento orizzontale. Essa rappresenta lo stato logico<br />

OR ed è ON se almeno un elemento orizzontale che<br />

incrocia è ON, oppure OFF se tutti gli elementi orizzontali<br />

sono OFF.<br />

8


<strong>LA</strong>DDER DIAGRAM /4<br />

• Lo stato di un collegamento verticale è assunto da tutti gli<br />

elementi di collegamento che stanno alla sua destra.<br />

• Un contatto è quell' elemento che trasmette alla linea di<br />

collegamento orizzontale alla sua destra lo stato logico<br />

risultante da un' operazione di AND tra lo stato logico della<br />

linea di collegamento orizzontale alla sua sinistra e la<br />

funzione di un ingresso, di una uscita o di una variabile di<br />

memoria che gli è stata associata.<br />

9


<strong>LA</strong>DDER DIAGRAM /5<br />

• Una bobina assume lo stato dell' elemento di collegamento<br />

situato alla sua sinistra, assegnandolo alla variabile<br />

booleana che gli è stata destinata.<br />

• Ogni riga circuitale è divisa in due parti:<br />

– zona dei test (con le variabili di ingresso o interne),<br />

contenente le condizioni necessarie per l' esecuzione di<br />

un' azione,<br />

– zona delle azioni (comprende le bobine di uscita e<br />

interne oltre a determinati blocchi funzione), contenente<br />

l' uscita o l' operazione risultante dai test ad essa<br />

collegati.<br />

10


<strong>LA</strong>DDER DIAGRAM /6<br />

• Nella zona riservata ai test non si possono editare delle<br />

bobine, come pure nella zona riservata alle azioni non si<br />

possono programmare dei contatti.<br />

• Un contatto di I/O, un' uscita interna, un timer, un counter,<br />

possono essere ripetuti all' infinito.<br />

• Non vi è limitazione al numero di contatti da collegare in<br />

serie ed in parallelo tra loro.<br />

• Una bobina o un counter o un timer non possono essere<br />

programmati più di una volta con lo stesso indirizzo<br />

11


ELEMENTI FONDAMENTALI <strong>LA</strong>DDER /1<br />

Contatto normalmente aperto. Lo<br />

stato della linea alla sinistra viene<br />

preso dalla linea alla destra<br />

solamente se lo stato della variabile<br />

booleana del contatto è ON.<br />

Contatto normalmente chiuso. Lo<br />

stato della linea alla sinistra viene<br />

preso dalla linea alla destra<br />

solamente se lo stato della variabile<br />

booleana del contatto è OFF.<br />

%I0001<br />

%I0002<br />

12


ELEMENTI FONDAMENTALI <strong>LA</strong>DDER /2<br />

Lo stato del collegamento a<br />

sinistra è copiato nella<br />

variabile booleana associata.<br />

%Q0001<br />

13


ELEMENTI FONDAMENTALI <strong>LA</strong>DDER /3<br />

ZONA TESTS<br />

ZONA<br />

AZIONI<br />

14


INSTRUCTION LIST /1<br />

• È composto da una sequenza di istruzioni scritte in<br />

linguaggio mnemonico.<br />

• Ciascuna istruzione comprende un indirizzo, un<br />

codice, seguito da un eventuale modificatore, e<br />

uno o più operandi, separati da virgole.<br />

• Corrispondenza diretta con diagramma ladder.<br />

15


INSTRUCTION LIST /2<br />

Esempio di programma<br />

scritto il lista istruzioni e<br />

sua corrispondenza con<br />

diagramma ladder<br />

16


FUNCTIONAL BLOCK DIAGRAM /1<br />

• Ad ogni funzione logica viene associato un blocco<br />

funzionale che realizza l’ operazione corrispondente<br />

• Richiede un approccio più matematico che logico<br />

• Il flusso del segnale segue le direzioni:<br />

– uscita a destra di una funzione o di un blocco funzionale<br />

– entrata a sinistra di una funzione o di un blocco funzionale<br />

• Non è permesso il collegamento tra loro delle uscite<br />

di un parallelo; di conseguenza è necessario<br />

utilizzare una funzione definita blocco OR<br />

17


FUNCTIONAL BLOCK DIAGRAM /2<br />

Esempio di programma<br />

scritto il lista istruzioni e<br />

sua corrispondenza il<br />

diagramma funzionale<br />

18


FASI DI <strong>PROGRAMMAZIONE</strong> <strong>DEL</strong> <strong>PLC</strong> /1<br />

Tabella assegnazione elementi<br />

19


FASI DI <strong>PROGRAMMAZIONE</strong> <strong>DEL</strong> <strong>PLC</strong> /2<br />

Tabella per la programmazione in lista istruzioni<br />

20


FASI DI <strong>PROGRAMMAZIONE</strong> <strong>DEL</strong> <strong>PLC</strong> /3<br />

Tabella per schemi<br />

ladder e lista<br />

istruzioni<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!