LA PROGRAMMAZIONE DEL PLC /1 - Studium
LA PROGRAMMAZIONE DEL PLC /1 - Studium
LA PROGRAMMAZIONE DEL PLC /1 - Studium
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