You are on page 1of 38

corso base plc

Questo corso è dedicato a chi si affaccia al mondo del PLC per la prima volta.
PREFAZIONE

STORIA DEL PLC 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
DOVE E QUANDO
programmazione all'indirizzamento ed infine alla programmazione vera e propia.

HARDWARE

CICLO DI SCANSIONE 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
LINGUAGGI DI PROGRAMMAZIONE nella sezione UP DOWNLOAD .

ZONE E FORMATI

STRUTTURA DELLA MEMORIA

INDIRIZZAMENTI

PROCEDURE

DIDATTICA

http://www.plcforum.info/didattica/CORSO/master.htm21/06/2004 18.18.15
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 NOTE


Corso base PLC Massimo Vergani
Corso base PLC Dal vecchio sito Gabriele Riva
Esempio di programmazione del pannello operatore Esa VT60 file ESA - Pietro Ravasio
scaricabile Descrizione
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 Claudio Ferrari
programmabili (1a parte) file scaricabile
Introduzione ai comandi elettronici e ai controllori logici Claudio Ferrari
programmabili (2a parte) file scaricabile
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 AUTORE NOTE

http://www.plcforum.info/didattica/index.htm (1 of 3)21/06/2004 18.20.16


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 FabioM NOVITA'
elettriche, da non perdere)

ELETTRONICA DESCRIZIONE AUTORE NOTE


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
Introduzione all'utilizzo di un oscilloscopio analogico Claudio
Ferrari
Introduzione all'utilizzo di un oscilloscopio digitale Claudio Ferrari

MATEMATICA DESCRIZIONE 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 STRT LD STR L

http://www.plcforum.info/didattica/01/terza.htm (2 of 3)21/06/2004 18.21.17


***PLCforum*** Corso PLC Terza parte

LOAD- STR- STR-


LN LN STRT-NOT LD-NOT STR-NOT LN
NOT NOT NOT
AND AND AND A A AND AND U AND A
AND- AND- AND-
AND-NOT AN AN AND-NOT UN AND-NOT AN
NOT NOT NOT
OR OR OR O O OR OR O OR O
OR- OR-
OR-NOT OR-NOT ON ON OR-NOT ON OR-NOT ON
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
SPRECHER
CGE HITACHI MOELLER LOVATO NATIONAL OMRON SIEMENS 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 Circuito con combinazione logica AND
Esso corrisponde al collegamento in serie della
logica cablata

In AWL Siemens:

U E0.0
U E0.1
= A1.0

Circuito con combinazione logica OR Circuito con combinazione logica OR


Esso corrisponde al collegamento in parallelo
della logica cablata

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 Circuito con combinazione logica AND prima di OR
di OR

In AWL Siemens:

U E0.0
U E0.1
O
U E0.2
U E0.3
= A1.0
Circuito con combinazione logica OR prima di Circuito con combinazione logica OR prima di AND
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 (SB1)
U(
O E0.1 (SB2)
O A1.0 (KM1)
)
= A1.0 (KM1)
Esempio di programma utilizzando le istruzioni SET e RESet
U A1.0 (KM1)
= A1.1 (HL1)
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.

http://www.plcforum.info/didattica/01/terza_b.htm (1 of 2)21/06/2004 18.21.55


***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 UN T0
L KT 050.0 L KT 100.0
SE T1 SE T0

U T1 L T0
L KT 050.0 L KF +50
SE T0 >F
=M0.0 (clock)
U T0
= M0.0 //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

You might also like