Corso Base Plc

38
corso base plc PREFAZIONE STORIA DEL PLC DOVE E QUANDO HARDWARE CICLO DI SCANSIONE LINGUAGGI DI PROGRAMMAZIONE ZONE E FORMATI STRUTTURA DELLA MEMORIA INDIRIZZAMENTI PROCEDURE DIDATTICA 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. 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/master.htm21/06/2004 18.18.15

Transcript of Corso Base Plc

Page 1: Corso Base Plc

corso base plc

PREFAZIONE

STORIA DEL PLC

DOVE E QUANDO

HARDWARE

CICLO DI SCANSIONE

LINGUAGGI DI PROGRAMMAZIONE

ZONE E FORMATI

STRUTTURA DELLA MEMORIA

INDIRIZZAMENTI

PROCEDURE

DIDATTICA

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.

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/master.htm21/06/2004 18.18.15

Page 2: Corso Base Plc

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

Page 3: Corso Base Plc

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

Page 4: Corso Base Plc

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

Page 5: Corso Base Plc

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

Page 6: Corso Base Plc

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

Page 7: Corso Base Plc

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

Page 8: Corso Base Plc

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

Page 9: Corso Base Plc

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

Page 10: Corso Base Plc

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

Page 11: Corso Base Plc

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

Page 12: Corso Base Plc

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

Page 13: Corso Base Plc

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

Page 14: Corso Base Plc

PLC Forum - Didattica

DIDATTICAHOME

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 scaricabile Descrizione

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 AUTORE NOTE

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

Page 15: Corso Base Plc

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 NOVITA'

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 FORUMTutti 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

Page 16: Corso Base Plc

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

Page 17: Corso Base Plc

***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 :

Prima parte

Storia del PLC

Hardware del PLC

Seconda parte

Algebra booleana

Teorema di De Morgan

Sistemi di numerazione

Differenza tra un circuito a relè e la logica del PLC

Terza parte

IN COSTRUZIONE

Linguaggi dei PLC

Istruzioni base dei PLC

Esempi di programmazione

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

Page 18: Corso Base Plc

***PLCforum*** Corso PLC

Quarta parte

IN COSTRUZIONE

PLC Siemens

PLC Omron

PLC Allen Bradley

PLC Telemecanique

PLC Matsushita

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

Page 19: Corso Base Plc

***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

Page 20: Corso Base Plc

***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

Page 21: Corso Base Plc

***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

Page 22: Corso Base Plc

***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 fondamentali2. derivazione dei postulati partendo dai concetti fondamentali3. 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

Page 23: Corso Base Plc

***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

Page 24: Corso Base Plc

***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

Page 25: Corso Base Plc

***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 ingresso2. elaborazione programma3. elaborazione stato uscite

< INDIETRO

AVANTI >

http://www.plcforum.info/didattica/01/seconda.htm (4 of 4)21/06/2004 18.21.01

Page 26: Corso Base Plc

***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

Page 27: Corso Base Plc

***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

Page 28: Corso Base Plc

***PLCforum*** Corso PLC Terza parte

LOAD-NOT

STR-NOT

STR-NOT LN LN STRT-NOT LD-NOT STR-NOT LN

AND AND AND A A AND AND U AND A

AND-NOT AND-NOT

AND-NOT AN AN AND-NOT AND-

NOT UN AND-NOT AN

OR OR OR O O OR OR O OR O

OR-NOT OR-NOT OR-NOT ON ON OR-NOT OR-

NOT ON OR-NOT ON

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 SPRECHERSCHUCH TELEMECANIQUE

< INDIETRO

AVANTI >

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

Page 29: Corso Base Plc

***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 ANDEsso corrisponde al collegamento in serie della logica cablata

Circuito con combinazione logica AND

In AWL Siemens:

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

Circuito con combinazione logica OREsso corrisponde al collegamento in parallelo della logica cablata

Circuito con combinazione logica OR

In AWL Siemens:

O E0.0O E0.1 = A1.0

http://www.plcforum.info/didattica/01/terza_a.htm (1 of 8)21/06/2004 18.21.40

Page 30: Corso Base Plc

***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 E0.0U E0.1OU E0.2U 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.0O E0.1)U(O E0.2O E0.3) = A1.0

http://www.plcforum.info/didattica/01/terza_a.htm (2 of 8)21/06/2004 18.21.40

Page 31: Corso Base Plc

***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

Page 32: Corso Base Plc

***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

Page 33: Corso Base Plc

***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

Page 34: Corso Base Plc

***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

Page 35: Corso Base Plc

***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

Page 36: Corso Base Plc

***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

Page 37: Corso Base Plc

***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) U A1.0 (KM1)= A1.1 (HL1)

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.

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

Page 38: Corso Base Plc

***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) UN T0L KT 050.0SE T1 U T1L KT 050.0SE T0 U T0= M0.0 //clock

Esempio di clock variabile utilizzando 1 timer (in AWL Siemens S5) UN T0L KT 100.0SE T0 L T0L KF +50>F=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