Uploaded by armando manfredi

corso base plc(1)

advertisement
corso base plc
PREFAZIONE
STORIA DEL PLC
DOVE E QUANDO
Questo corso è dedicato a chi si affaccia al mondo del PLC per la prima volta.
Il nostro intento è quello di spiegare al lettore i rudimenti del controllore programmabile,partendo dalla nascita
del PLC, illustrando poi la struttura fisica e il concetto di funzionamento, per poi arrivare ai linguaggi di
programmazione all'indirizzamento ed infine alla programmazione vera e propia.
HARDWARE
CICLO DI SCANSIONE
LINGUAGGI DI PROGRAMMAZIONE
ZONE E FORMATI
STRUTTURA DELLA MEMORIA
INDIRIZZAMENTI
PROCEDURE
DIDATTICA
http://www.plcforum.info/didattica/CORSO/master.htm21/06/2004 18.18.15
il seguente corso è stato redatto da Massimo Vergani prendendo spunto da vari file trovati in rete, tra i quali
citiamo "APPUNTI PLC" redatto da Claudio Ferrari, e gentilmente messo a disposizione degli utenti del forum
nella sezione UP DOWNLOAD .
http://www.plcforum.info/didattica/CORSO/pagina5.htm
CICLO DI SCANSIONE
(ciclo di funzionamento del PLC)
Da questo diagramma di flusso possiamo vedere e sopratutto capire come funziona o (passatemi il
termine) come ragiona un PLC
una cosa scontata ma fondamentale è che il plc esegue il ciclo di scansione solo quando il suo modo di
funzionamento è su RUN o su PROGRAM, mai quando è su STOP. questi stati , a seconda del plc ,
sono selezionati da un selettore fisico posto sulò plc o da un comando impartito tramite il computer
direttamente collegato al PLC per la programmazione.
la prima operazione che compie è la lettura degli ingressi, e con questo intendiamo propio tutti , digitali ,
analogici, on board o su bus di campo (su schede remotate ovvero collegate al plc tramite una rete di
http://www.plcforum.info/didattica/CORSO/pagina5.htm (1 of 2)21/06/2004 18.18.26
http://www.plcforum.info/didattica/CORSO/pagina5.htm
comunicazione).
Dopo aver letto tutti gli ingressi , il loro stato viene memorizzato in una memoria definita REGISTRO
IMMAGINE DEGLI INGRESSI.
A questo punto viene elaborato il programma. Le istruzioni di comando vengono elaborate in Sequenza
dalla cpu.
Al termine dell'elaborazione, il risultato viene memorizzato nel REGISTRO IMMAGINE DELLE
USCITE.
in fine , il contenuto dell'immagine delle uscite viene scritto sulle uscite fisiche ovvero le uscite vengono
attivate.
Poichè l'elaborazione delle istruzioni si ripete continuamente, si parla di elaborazione ciclica, Il tempo
che il controllore impiega per una singola elaborazione delle istruzioni del programma, è denominato
tempo di ciclo .
Quest'ultimo è costantemente controllato da un apposito sistema definito watchdog, che al superamento
del tempo massimo preimpostato causa un allarme che pone il plc nello stato di STOP.
http://www.plcforum.info/didattica/CORSO/pagina5.htm (2 of 2)21/06/2004 18.18.26
Nuova pagina 3
INDIETRO
LINGUAGGI DI PROGRAMMAZIONE
TIPOLOGIE
LADDER
INSTRUCTION LIST
STRUCTURED TEXT
GRAFCET
http://www.plcforum.info/didattica/CORSO/indice2.htm21/06/2004 18.18.36
http://www.plcforum.info/didattica/CORSO/pagina6.htm
LINGUAGGI DI PROGRAMMAZIONE
Normativa IEC1131-3:
LINGUAGGI DI PROGRAMMAZIONE:
●
GRAFICI :
❍
Diagramma a contatti (Ladder Diagram) LD
❍
Schema a blocchi funzionale (Functional Block Diagram) FBD
❍
●
Sequential Function Chart SFC o diagramma funzionale in sequenza
GRAFCET
LETTERALI :
❍
❍
Lista istruzioni (Instruction List) IL
Letterale strutturato (Structured Text) ST
http://www.plcforum.info/didattica/CORSO/pagina6.htm21/06/2004 18.18.40
http://www.plcforum.info/didattica/CORSO/pagina7.htm
LINGUAGGI DI PROGRAMMAZIONE
LADDER
Normativa IEC1131-3:
●
●
Contatto normalmente aperto. Lo stato della linea alla sinistra viene preso dalla linea alla destra solamente se lo stato della
variabile booleana del contatto è ON.
Contatto normalmente chiuso. Lo stato della linea alla sinistra viene preso dalla linea alla destra solamente se lo stato della
variabile booleana del contatto è OFF. /1Normativa IEC1131-3
Lo stato del collegamento a sinistra è copiato nella variabile booleana associata.
Il linguaggio Ladder Permette una rappresentazione della logica di comando simile allo schema eletromeccanico, poiché utilizza la stessa
simbologia.
http://www.plcforum.info/didattica/CORSO/pagina7.htm (1 of 2)21/06/2004 18.18.52
http://www.plcforum.info/didattica/CORSO/pagina7.htm
NOZIONI FONDAMENTALI DEL LINGUAGGIO LADDER
1. I segni grafici sono strutturati in reti delimitate da barre a sinistra e a destra, dette barre di alimentazione.
2. Le linee di collegamento dei segni grafici possono essere orizzontali o verticali e il loro stato di
http://www.plcforum.info/didattica/CORSO/pagina7.htm (2 of 2)21/06/2004 18.18.52
http://www.plcforum.info/didattica/CORSO/pagina8.htm
LINGUAGGI DI PROGRAMMAZIONE
INSTRUCTION LIST
Normativa IEC1131-3:
Questo linguaggio di programmazione è composto da una sequenza di istruzioni scritte in linguaggio mnemonico.
Ogniiistruzione comprende un indirizzo, un codice, seguito da un eventuale modificatore, e uno o più operandi, separati da
virgole. Nel confronto con gli altri linguaggi trova una corrispondenza diretta con diagramma ladder.
Esempio di programma scritto il lista istruzioni e sua corrispondenza con diagramma ladder
http://www.plcforum.info/didattica/CORSO/pagina8.htm21/06/2004 18.19.00
http://www.plcforum.info/didattica/CORSO/pagina9.htm
LINGUAGGI DI PROGRAMMAZIONE
STRUCTURED TEXT
Normativa IEC1131-3:
Il linguaggio letterale strutturato è un linguaggio molto simile al Visual
Basic , per cui sui avvicina molto a coloro che provengono dal settore
informatico anzichè elettrotecnico.
http://www.plcforum.info/didattica/CORSO/pagina9.htm21/06/2004 18.19.10
http://www.plcforum.info/didattica/CORSO/pagina10.htm
LINGUAGGI DI PROGRAMMAZIONE
GRAFCET
Normativa IEC1131-3:
Il GRAFCET è un diagramma funzionale , il principio di funzionamento è quello di di
descrivere graficamente con un flow chart il comportamento di un automatismo
sequenziale. Ogni blocco di questo flow chart è diviso in tre settori programmabili in
ladder, uno attivo alla prima lettura del blocco, uno attivo fino a che il blocco è in
esecuzione, uno attivo all'ultima lettura del blocco. anche le diramazioni contengono delle
condizioni programmabili. In fine nella struttura del programma si creano dei blocchi
sempre attivi che possono fare riferimento al blocco in esecuzione, ovveroo alla fine del
programma io ho dei blocchi dove posso dire.. "se è in esecuzione il blocco 1 ed ho
l'ingresso %I1.2 allora accendo l'uscita %Q4.3 " ( queste istruzioni dovranno essere
editate in ladder).
http://www.plcforum.info/didattica/CORSO/pagina10.htm (1 of 2)21/06/2004 18.19.15
http://www.plcforum.info/didattica/CORSO/pagina10.htm
http://www.plcforum.info/didattica/CORSO/pagina10.htm (2 of 2)21/06/2004 18.19.15
http://www.plcforum.info/didattica/CORSO/pagina11.htm
ZONE E FORMATI
Normativa IEC1131-3:
Nel PLC sono presenti 5 zone che identificano tipologie di dispositivi o aree di memoria
con funzione assegnata.
Zona memoria
(%M)
Zona degli Ingressi
(%I)
Zona delle Uscite
(%Q)
Zona delle Costanti
(%K)
Zona Sistema
(%S)
Ad ognuna di queste zone è possibile accedervi con un determinato formato. Il formato è
la quantità di bit che viene presa in considerazione dall'istruzione che stiamo componendo.
Ad esempio se vogliamo utilizzare una memoria come se fosse un relè (on-off)
utilizzeremo il formato a BIT, ovvero un singolo bit può contenere gli stati 0 - 1 . Se
dobbiamo elaborare un valore avremo bisogno di unire più bit la cui codifica sarà il nostro
valore, quindi, in base alla grandezza del valore da contenere dovremo scegliere quanti bit
ci servono.
Bit
(X)
Byte
(B) =8 bit
Word
(W) =16 bit
Doppia Word
(D) =32 bit
Word flottanti
(F) =32 bit
http://www.plcforum.info/didattica/CORSO/pagina11.htm21/06/2004 18.19.43
http://www.plcforum.info/didattica/CORSO/pagina12.htm
SRUTTURA DELLA MEMORIA VARIABILI
E' necessario fare molta attenzione agli indirizzi di memoria utilizzati. infatti come si vede dalla tabella seguente a volte
i vari formati si sovrappongono. Se ad esempio utilizziamo la %MW0 o la %MW1, non potremo usare anche la %MD0
o la %MD1 , altrimenti avremmo dei valori non reali. Attenzione sopratutto alle Dword, ad esempio se usiamo la %
MD0, non possiamo usare la MD1, la prima libera sarà %MD2, infatti sia %MD0 che %MD1 utilizzano la %MW1
http://www.plcforum.info/didattica/CORSO/pagina12.htm21/06/2004 18.20.00
PLC Forum - Didattica
DIDATTICA
HOME
PLC - HMI -PID
DESCRIZIONE
AUTORE
Corso base PLC
Massimo Vergani
Corso base PLC Dal vecchio sito
Gabriele Riva
Esempio di programmazione del pannello operatore Esa VT60 file
Descrizione
scaricabile
ESA - Pietro Ravasio
Corso controllo e regolazione
Livio Orsini
Come utilizzare i puntatori dei PLC Siemens famiglia S7-300
Federico Milan
Introduzione di blocchi standard nella stesura di software plc
Gabriele Corrieri
Documentazioni varie su PLC e Scada
Marco Dalpra
Introduzione ai comandi elettronici e ai controllori logici
programmabili (1a parte) file scaricabile
Claudio Ferrari
Introduzione ai comandi elettronici e ai controllori logici
programmabili (2a parte) file scaricabile
Claudio Ferrari
Corso PLC (power point) file scaricabile
Claudio Ferrari
Corso software (power point) file scaricabile
Claudio Ferrari
Esempio di manipolatore motorizzato con ventosa file scaricabile
Giorgio Ponzo
Programma Base file scaricabile
Giorgio Ponzo
Che cos'è STEP5 file scaricabile
Giorgio Ponzo
Corso PLC new (power point) file scaricabile
Claudio Ferrari
Testo accademico in inglese su IEC 61131
Karl-Heinz
ELETTROTECNICA
DESCRIZIONE
http://www.plcforum.info/didattica/index.htm (1 of 3)21/06/2004 18.20.16
AUTORE
NOTE
NOTE
PLC Forum - Didattica
I principi fondamentali dell'elettrotecnica file scaricabile 201kb
Federico Milan
Corso base per elettricisti
Gabriele Riva
Il vademecum dell'elettrotecnico (foglio di calcolo di numerose misure
elettriche, da non perdere)
FabioM
ELETTRONICA
DESCRIZIONE
AUTORE
Introduzione ai microprocessori file scaricabile
Claudio Ferrari
Il microcontrollore ST6 (1a parte) file scaricabile
Claudio Ferrari
Il microcontrollore ST6 (2a parte) file scaricabile
Claudio
Ferrari
Il microcontrollore ST6 (3a parte) file scaricabile
Claudio
Ferrari
Il microcontrollore ST6 (4a parte) file scaricabile
Claudio Ferrari
Il microcontrollore ST6 (5a parte) file scaricabile
Claudio Ferrari
NOVITA'
NOTE
Introduzione all'utilizzo di un oscilloscopio analogico Claudio
Ferrari
Introduzione all'utilizzo di un oscilloscopio digitale
MATEMATICA
DESCRIZIONE
Claudio Ferrari
AUTORE
NOTE
Prontuario di matematica - Matematica dal punto di vista tecnico Federico Milan
© Copyright 2004 - Associazione PLC FORUM
Tutti i diritti riservati.
Le immagini grafiche, i bottoni e i testi contenuti in questo sito Web sono di proprietà
http://www.plcforum.info/didattica/index.htm (2 of 3)21/06/2004 18.20.16
PLC Forum - Didattica
di Associazione PLC FORUM e non possono essere copiati, utilizzati o distribuiti senza il
consenso esplicito di Associazione PLC FORUM, eccetto che con un browser HTML.
HOME
www.plcforum.it
.
http://www.plcforum.info/didattica/index.htm (3 of 3)21/06/2004 18.20.16
***PLCforum*** Corso PLC
CORSO SUI PLC (Controllori a logica programmabile)
Questo corso è dedicato a tutti coloro che vogliono avvicinarsi per la prima volta ai PLC.
N.B.: Questo corso è tuttora in fase di sviluppo, infatti troverete alcuni capitoli ancora vuoti, scusateci,
verranno pubblicati al più presto.
INDICE :
Storia del PLC
Prima parte
Hardware del PLC
Algebra booleana
Teorema di De Morgan
Seconda parte
Sistemi di numerazione
Differenza tra un circuito a relè e la logica del PLC
Linguaggi dei PLC
Terza parte
Istruzioni base dei PLC
IN COSTRUZIONE
Esempi di programmazione
http://www.plcforum.info/didattica/01/corsoind.htm (1 of 2)21/06/2004 18.20.43
***PLCforum*** Corso PLC
PLC Siemens
PLC Omron
PLC Allen Bradley
PLC Telemecanique
Quarta parte
PLC Matsushita
IN COSTRUZIONE PLC Mitsubishi
PLC Hitachi
Altri PLC
Bibbliografia
Link
http://www.plcforum.info/didattica/01/corsoind.htm (2 of 2)21/06/2004 18.20.43
***PLCforum*** Corso PLC Prima parte
CORSO SUI PLC (Controllori a logica programmabile)
PRIMA PARTE
Storia del PLC
Hardware del PLC
Storia del PLC
Il PLC (Programmable Logic Controller) nasce intorno agli anni '70 come sistema di controllo nelle
fabbriche produttrici di materiali pesanti, in sostituzione dei sistemi che utilizzano relè.
Oggigiorno il PLC ha in gran parte soppiantato i quadri a logica cablata a relè, esso è considerato il
punto di intermediazione tra elettromeccanica ed elettronica.
Hardware del PLC
Ogni PLC è costituito da:
●
Unità alimentatore
Alcuni modelli di PLC hanno l'alimentatore direttamente dalla rete 230V, altri modelli
invece usano un'ingresso a 24VDC, il quale viene solitamente poi ridotto a 5V per la
CPU.
Alcuni modelli di PLC hanno a disposizione un'uscita stabilizzata a 24VDC per
alimentare direttamente i suoi ingressi digitali.
●
Unità centrale o CPU
CPU dall'inglese Central Processing Unit è il cuore del sistema, le sue funzioni sono:
eseguire l'acquisizione dei segnali d'ingresso, creandone l'immagine negli
appositi registri di memoria dati
http://www.plcforum.info/didattica/01/prima.htm (1 of 3)21/06/2004 18.20.51
***PLCforum*** Corso PLC Prima parte
controllare la sequenza con cui le istruzioni del programma vengono lette
nella memoria programma, interpretate secondo i loro codici operativi e
infine eseguite secondo lo stato logico assegnato agli ingressi
interrompere la sequenza normale di programma in presenza di salti, di
richiami a sottoprogrammi e interruzioni
generare le uscite abilitate dell'elaborazione delle varie istruzioni del
programma, aggiornandole di volta in volta a ogni ciclo di scansione
●
Unità di memoria
L'unità di memoria dei PLC può essere di diversi tipi: RAM, ROM, PROM, EPROM,
EEPROM.
In genere le memorie di tipo RAM vengono utilizzate per la memoria dati e la memoria
programma in esecuzione, esse sono di tipo volatile, cioè perdono il contenuto se viene
a mancare tensione, quindi devono essere tamponate da batteria.
Le memorie di tipo ROM-PROM contengono il firmware (sistema operativo del PLC).
Le memorie di tipo EPROM e EEPROM contengono il programma utente in veste
definitiva, con la differenza che le EPROM per essere scritte hanno bisogno di un
apposito scrittore e per essere cancellate hanno bisogno di una lampada a raggi
ultravioletti, invece le EEPROM possono essere scritte e riscritte con dei semplici
comandi da programma o da PLC. Queste in alcuni modelli di PLC sono di tipo estraibile.
●
Unità di ingresso e uscita I/O
La loro funzione è di trasformare i segnali elettrici dai/ai dispositivi esterni al PLC in
segnali interpretabili dalla CPU.
Esistono tante tipologie di unità ingresso e uscita in seguito trovate un breve riassunto,
per informazioni dettagliate potete fare riferimento ai manuali hardware dei rispettivi
PLC, oppure richiedermeli via e-mail.
●
Unità ingresso digitale
PNP a logica positiva (dal dispositivo d'ingresso proviene un segnale
positivo)
NPN a logica negativa (dal dispositivo d'ingresso proviene un segnale
negativo)
http://www.plcforum.info/didattica/01/prima.htm (2 of 3)21/06/2004 18.20.51
***PLCforum*** Corso PLC Prima parte
●
Unità ingresso analogico
in tensione 0-10V
in corrente 4-20mA
Il valore rilevato in ingresso viene convertito in digitale con risoluzione di 8,
10, 12 ,16 bit.
Per esempio, se abbiamo un convertitore digitale a 8 bit, in ingresso una
tensione che varia da 0 a 10V l'uscita digitale del convertitore varierà da 0
a 255.
●
Unità uscite digitali
PNP (transistor)
NPN (transistor)
a relè
a triac
●
Unità uscite analogiche
sono l'inverso degli ingressi analogici
●
Moduli speciali (vedere il rispettivo manuale)
interfacciamento termocoppia, PT100
conteggio veloce
posizionamento assi
comunicazione
PID
seriali
AVANTI >
http://www.plcforum.info/didattica/01/prima.htm (3 of 3)21/06/2004 18.20.51
***PLCforum*** Corso PLC Seconda parte
CORSO SUI PLC (Controllori a logica programmabile)
SECONDA PARTE
Algebra booleana
Teorema di De Morgan
Sistemi di numerazione
Differenza tra un circuito a relè e la logica del PLC
Algebra booleana
L'algebra di Boole (1815/1864) venne sviluppata come modello matematico da applicarsi alle
operazioni sugli insiemi formati da due soli valori (0,1).
Lo studio si articola su tre passi distinti:
1. definizione dei concetti fondamentali
2. derivazione dei postulati partendo dai concetti fondamentali
3. teoremi
CONCETTI FONDAMENTALI:
CLASSE(K) è definita come l'insieme costituito dagli elementi 0,1
OR(+) o somma binaria, è un'operazione definita su due elementi della classe
AND(*) o prodotto binario, è un'operazione definita su due elementi della classe
NOT(-) o negazione, un'operazione definita su un solo elemento della classe
= uguale, è il simbolo che definisce l'uguaglianza di elementi della classe
POSTULATI:
Proprietà commutativa:
http://www.plcforum.info/didattica/01/seconda.htm (1 of 4)21/06/2004 18.21.01
***PLCforum*** Corso PLC Seconda parte
A+B=B+A
A*B=B*A
Proprietà distributiva:
A+(B*C)=(A+B)*(A+C)
A*(B+C)=A*B+A*C
Elementi identità:
0+A=A
1*A=A
Uguaglianze:
A+A/=1
A*A/=0
TEOREMI:
Teorema di idempotenza:
A+A=A
A*A=A
Teorema dell'involuzione (doppia negazione):
A//=A (con numero pari di negazioni)
A///=A/ (con numero dispari di negazioni)
Teorema dell'assorbimento:
A+A*B=A
A*(A+B)=A
http://www.plcforum.info/didattica/01/seconda.htm (2 of 4)21/06/2004 18.21.01
***PLCforum*** Corso PLC Seconda parte
Teorema dell'unione e dell'intersezione:
A+1=1
A*0=0
Teorema dell'associazione:
A+(B+C)=(A+B)+C
A*(B*C)=(A*B)*C
Teorema di De Morgan
Il teorema afferma che:
A+B(tutto negato)=A/*B/
A*B(tutto negato)=A/+B/
quindi:
un nor equivale ad un and con gli ingressi negati
un nand equivale ad un or con gli ingressi negati
Sistemi di numerazione
Numerico decimale:
0,1,2,3,4,5,6,7,8,9
Ottale:
0,1,2,3,4,5,6,7
http://www.plcforum.info/didattica/01/seconda.htm (3 of 4)21/06/2004 18.21.01
***PLCforum*** Corso PLC Seconda parte
Esadecimale:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Binario:
0,1
bit 0
bit 1
byte 11001100 (gruppo di otto bit)
word 11001100 11001100 (due byte) (16bit)
doppia word 11001100 11001100 11001100 11001100 (due
word) (32 bit)
Differenza tra un circuito a relè e la logica del PLC
In un circuito di tipo a relè (od a logica cablata) l'attivazione delle uscite avviene in modo
parallelo e quindi il rinfresco delle stesse avviene con tempi legati alla sola risposta delle
singole apparecchiature.
In un circuito a logica programmabile l'elaborazione avviene in modo sequenziale:
1. elaborazione segnali in ingresso
2. elaborazione programma
3. elaborazione stato uscite
< INDIETRO
AVANTI >
http://www.plcforum.info/didattica/01/seconda.htm (4 of 4)21/06/2004 18.21.01
***PLCforum*** Corso PLC Terza parte
CORSO SUI PLC (Controllori a logica programmabile)
TERZA PARTE
Linguaggi dei PLC
Istruzioni base dei PLC
Esempi di programmazione
Linguaggi dei PLC
I linguaggi di programmazione dei PLC sono svariati e soddisfano in genere le necessità dell'operatore che si
avvicina a tale ambiente.
Anche in questo settore, si è sentita l'esigenza di uniformare i linguaggi utilizzati; è infatti nata la norma IEC
1131 la quale, partendo da un'analisi dei linguaggi impiegati dalle varie ditte produttrici, indica quali sono gli
standard.
Vediamo ora, i principali linguaggi utilizzati dai PLC:
●
●
●
●
Ladder diagram
Linguaggio booleano (mnemonico o lista istruzioni)
Linguaggio letterale
Linguaggio grafcet
Ladder diagram
Il ladder diagram è il primogenito tra i linguaggi utilizzati per la programmazione dei PLC.
Questo si deve al fatto che inizialmente il PLC andava a sostituire la logica cablata che utilizzava i relè.
Il ladder (chiamato anche schema a contatti o diagramma a relè) è tuttora il linguaggio più diffuso, poiché
permette l'avvicinamento al PLC in modo immediato.
E' un linguaggio molto assomigliante ad una elaborazione di tipo elettromeccanico, dove il programma è
scritto all'interno di due barre verticali che indicano le alimentazioni (la barra di destra alcuni software la
omettono).
Ogni riga circuitale è divisa in due parti: zona di test (con le variabili d'ingresso o interne) e zona delle azioni
(comprende le bobine d'uscita ed interne oltre a determinati blocchi funzione).
Nella lettura del programma la CPU esegue una scansione ciclica, che compie il suo percorso segmento per
segmento, da sinistra verso destra e dall'alto verso il basso. Questa differenza tra logica cablata è molto
http://www.plcforum.info/didattica/01/terza.htm (1 of 3)21/06/2004 18.21.17
***PLCforum*** Corso PLC Terza parte
importante da comprendere prima di iniziare a programmare un PLC. (Per approfondimenti postate nella
sezione PLC didattica del PLCforum).
Linguaggio booleano
Esso è il metodo di programmazione che più si avvicina alla logica con cui lavora il microprocessore.
Tale linguaggio è usato anche dalle console di programmazione. La programmazione assume la sembianza di
una lista istruzioni, dove compare il passo di programma associato al codice della funzione logica e l'indirizzo
a cui si riferisce l'operazione.
Le istruzioni variano da marca a marca. In particolare Siemens utilizza un linguaggio un po' diverso chiamato
AWL.
Linguaggio letterale
Sono quei linguaggi di base informatica, evoluzioni del Basic, C, Fortran o Pascal.
Esso è costituito da una successione di stringhe che contengono:
- un'etichetta identificatrice di linea
- una frase letterale, che è il programma vero e proprio
- un commento alla riga di programma
Questo è senza dubbio il linguaggio più potente per la programmazione dei PLC che però non è supportata da
tutti i PLC.
Linguaggio grafcet
Il linguaggio grafcet (Graphe de Commande Etape/Transition) nasce in Francia con l'obbiettivo di creare una
rappresentazione grafica delle funzioni che un ciclo automatico compie.
E' un'insieme di simboli grafici che descrivono delle fasi e delle transizioni che rispettano determinate regole di
sintassi.
Il grafcet è stato normalizzato con la normativa NF C03-190 dell'UTE.
Istruzioni base del PLC
Le varie istruzioni variano da marca a marca e solo in questi ultimi anni quasi tutte le case produttrici stanno
uniformando i linguaggi di programmazione utilizzando la norma IEC 1131.
Quindi tutti i software dichiarati IEC1131 compatibili sono tutti simili tra loro, col le stesse funzioni.
Tabella di esempio delle principali funzioni logiche analizzate tra varie marche di PLC:
LOAD
STR
STR
L
L
http://www.plcforum.info/didattica/01/terza.htm (2 of 3)21/06/2004 18.21.17
STRT
LD
STR
L
***PLCforum*** Corso PLC Terza parte
LOADNOT
STRNOT
STRNOT
LN
LN
AND
AND
AND
A
A
AND
AND
AND-NOT
ANDNOT
ANDNOT
AN
AN
AND-NOT
OR
OR
O
O
ON
OR
STRT-NOT LD-NOT
STR-NOT
LN
U
AND
A
ANDNOT
UN
AND-NOT
AN
OR
OR
O
OR
O
ON
OR-NOT
ORNOT
ON
OR-NOT
ON
OR-NOT
OROR-NOT
NOT
OUT
OUT
OUT
=
=
OUT
OUT
=
OUT
=
TIMER
TMR
T
TR
PT
T
TIM
T
TMR
=T
COUNTER CNT
C
C
PP
C
CNT
Z
CNT
CU/CD
CGE HITACHI MOELLER LOVATO NATIONAL OMRON SIEMENS
SPRECHER
TELEMECANIQUE
SCHUCH
< INDIETRO
AVANTI >
http://www.plcforum.info/didattica/01/terza.htm (3 of 3)21/06/2004 18.21.17
***PLCforum*** Corso PLC Terza parte
Esempi di programmazione
Veniamo ora alla parte più interessante, faremo degli esempi su come trasferire un circuito a logica cablata su un PLC.
Circuito con combinazione logica AND
Esso corrisponde al collegamento in serie della
logica cablata
Circuito con combinazione logica AND
In AWL Siemens:
U E0.0
U E0.1
= A1.0
Circuito con combinazione logica OR
Esso corrisponde al collegamento in parallelo
della logica cablata
Circuito con combinazione logica OR
In AWL Siemens:
O E0.0
O E0.1
= A1.0
http://www.plcforum.info/didattica/01/terza_a.htm (1 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
Circuito con combinazione logica AND prima
di OR
Circuito con combinazione logica AND prima di OR
In AWL Siemens:
U
U
O
U
U
=
E0.0
E0.1
E0.2
E0.3
A1.0
Circuito con combinazione logica OR prima di
AND
Circuito con combinazione logica OR prima di AND
In AWL Siemens:
U(
O E0.0
O E0.1
)
U(
O E0.2
O E0.3
)
= A1.0
http://www.plcforum.info/didattica/01/terza_a.htm (2 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
Circuito di temporizzazione con ritardo all'eccitazione (Siemens SE)
Esempio di programma in ladder:
http://www.plcforum.info/didattica/01/terza_a.htm (3 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
Circuito di temporizzazione con uscita ad impulso (Siemens SI)
Esempio di programma in ladder:
Circuito di temporizzazione con uscita ad impulso prolungato (Siemens SV)
http://www.plcforum.info/didattica/01/terza_a.htm (4 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
Esempio di programma in ladder:
Circuito di temporizzazione con ritardo all'eccitazione con memoria (Siemens SS)
http://www.plcforum.info/didattica/01/terza_a.htm (5 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
Esempio di programma in ladder:
http://www.plcforum.info/didattica/01/terza_a.htm (6 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
Circuito di temporizzazione con ritardo alla diseccitazione (Siemens SA)
Esempio di programma in ladder:
http://www.plcforum.info/didattica/01/terza_a.htm (7 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
< INDIETRO
AVANTI >
http://www.plcforum.info/didattica/01/terza_a.htm (8 of 8)21/06/2004 18.21.40
***PLCforum*** Corso PLC Terza parte
Esempi di programmazione
IN COSTRUZIONE
Esempio di circuito marcia-arresto + spia di segnalazione
Esempio di programma in ladder
Su PLC Siemens in AWL:
U E0.0
U(
O E0.1
O A1.0
)
= A1.0
(SB1)
U A1.0
= A1.1
(KM1)
(HL1)
(SB2)
(KM1)
(KM1)
http://www.plcforum.info/didattica/01/terza_b.htm (1 of 2)21/06/2004 18.21.55
Esempio di programma utilizzando le istruzioni SET e RESet
Nota: se i pulsanti SB1 e SB2 sono premuti contemporaneamente, sia il SET che il RES vengono
comandati; in questo caso prevale il RES che è l'ultima operazione svolta dal programma.
***PLCforum*** Corso PLC Terza parte
Esempio di timer simmetrico:
il tempo di ON e' uguale al tempo di OFF
Esempio di clock variabile utilizzando 2 timer (in AWL Siemens S5)
Esempio di clock variabile utilizzando 1 timer (in AWL Siemens S5)
UN T0
L KT 050.0
SE T1
UN T0
L KT 100.0
SE T0
U T1
L KT 050.0
SE T0
L T0
L KF +50
>F
=M0.0
U T0
= M0.0
//clock
(clock)
Cambiando la base dei tempi ed il valore di
comparazione, e' possibile variare indipendentemente
il tempo di OFF e di ON
IN COSTRUZIONE
< INDIETRO
AVANTI >
http://www.plcforum.info/didattica/01/terza_b.htm (2 of 2)21/06/2004 18.21.55
Download