Presentazione -...

139
1 Corso teorico-pratico programmazione PLC • Presentazione – Scopo del corso Acquisire conoscenze di base alla programmazione di PLC orientati al controllo di macchine industriali, sistemi, processi... Approccio “progettuale– Prerequisiti Conoscenze generali di Elettrotecnica Comprensione Schemi Funzionali Utilizzo del Personal Computer

Transcript of Presentazione -...

1

Corso teorico-pratico programmazione PLC

• Presentazione– Scopo del corso

• Acquisire conoscenze di base alla programmazione di PLC orientati al controllo di macchine industriali, sistemi, processi...

• Approccio “progettuale”– Prerequisiti

• Conoscenze generali di Elettrotecnica• Comprensione Schemi Funzionali• Utilizzo del Personal Computer

2

3

Corso teorico-pratico programmazione PLC

• Organizzazione generale del corso– Orari: Lunedì – Martedì dalle ore 19 alle 20 – Contatti: per.ind.Giulio Bernardinello

[email protected]

– Struttura lezioni• Parte introduttiva (teorica)• Parte progettazione/programmazione (teorico -pratica)

4

Corso teorico-pratico programmazione PLC

• Introduzione– Cenni storici

• Necessità di realizzare processi produttivi, di controllo, regolazione e comando senza l'intervento umano.

– Rivoluzione industriale (meccanica-pneumatica)• Circuiti pneumatici (aria compressa, tubo rame,..)

– Elettrotecnica (relè)• Logica cablata con tecnologia elettrica (relè,temporizzatori,ecc.).

– Rivoluzione elettronica (transistor, diodi)• Transistor, componente inventato nel 1945 nei laboratori Bell.• Logica cablata con tecnologia elettronica analogica

– Rivoluzione digitale (microprocessori)• Logica programmabile basata su calcolatori elettronici (PLC)

5

Corso teorico-pratico programmazione PLC

• Introduzione– Cenni storici – Rivoluzione digitale

• Il termine digitale deriva dal termine inglese digit (cifra), per il fatto che i calcolatori elettronici operano mediante l'elaborazione di quantità numeriche elementari, i bit.

• 1968 - documento di specifica della General Motors nel quale si elencano le caratteristiche che avrebbero dovuto avere i controllori di nuova generazione:

– Facilità di programmazione e riprogrammazione, possibilmente anche sull’impianto;

– Facilità di manutenzione (modularità);– Dimensioni ridotte;– Costi competitivi.

– Metà anni 70 - primo PLC basato su microprocessore prodotto dallaAllen-Bradley

6

Corso teorico-pratico programmazione PLC

• Introduzione– Algebra di Boole

• George Boole matematico inglese vissuto nell'800• Algebra booleana tratta variabili binarie che possono assumere solo due

valori (0,1) , denominata bit (dall'inglese "binary unit");• Circuiti elettronici: sistemi sono caratterizzati da grandezze fisiche

(segnali) che assumono due gamme distinte di livelli logici H (alto) L (basso) ai quali è spontaneo far corrispondere i valori 0 e 1 detti stati logici;

• Elettrotecnica ElettronicaRelè eccitato Bit = 1 (Vero)Relè diseccitato Bit = 0 (Falso)Collegamento in serie di contatti Logica ANDCollegamento in parallelo Logico OR

7

Corso teorico-pratico programmazione PLC

• Introduzione– Algebra di Boole

• Tavole della verità: riportano tutte le combinazioni binarie che si possono formare tra le variabili in essa contenute:

– AND (serie)

• Contatti in serie

A B L = A * B0 0 00 1 01 0 01 1 1

8

Corso teorico-pratico programmazione PLC

• Introduzione– Algebra di Boole

– OR (parallelo)

• Contatti in parallelo

A B L = A + B0 0 00 1 11 0 11 1 1

9

Corso teorico-pratico programmazione PLC

• Introduzione– Algebra di Boole

– NOT (inversione)

• Circuito equivalente

A L=Ā1 00 1

10

Corso teorico-pratico programmazione PLC

• Introduzione– Sistemi di regolazione

• I sistemi di controllo di una macchina o di un qualunque processo possono essere essenzialmente essere divisi in due categorie : sistemi ad anello chiuso e sistemi ad anello aperto.

• Sistemi ad anello chiuso

11

Corso teorico-pratico programmazione PLC

• Introduzione– Sistemi di regolazione

• Sistemi ad anello aperto

mancando un segnale di retroazione in questi casi non si parla di sistema di regolazione ma solo di comando

12

Corso teorico-pratico programmazione PLC

• Hardware - concetti base– Definizioni (IEC – Comitato Elettrotecnico Internazionale)

• PLC:Controllore a Logica Prgrammabile è un sistema elettronico digitale destinato all’uso in ambito industriale che utilizza una memoria programmabile per l’archiviazione del programma utente orientato al controllo di macchine e processi.

• Sistema PLC: è una configurazione realizzata dall’utilizzatore formata da un PLC e dalle periferiche associate, necessarie al sistema automatizzato previsto.

– In questo corso il termine PLC verrà utilizzato per indicare sia un PLC che un Sistema PLC.

13

Corso teorico-pratico programmazione PLC

• Hardware - concetti base– Configurazione minima per un PLC:

• Telaio o armadio (rack);• Modulo alimentatore; • Modulo microprocessore;• Modulo di ingresso e uscita;• Terminale di programmazione.

– Tipologie • PLC compatti:

– per sistemi semplici (circa 40 I/O)– Unico dispositivo fisico contentente tutti i componenti

14

Corso teorico-pratico programmazione PLC

• Hardware - concetti base– Tipologie

• PLC compatti:

15

Corso teorico-pratico programmazione PLC

• Hardware - concetti base– Tipologie

• PLC modulari– Sistemi complessi– Architettura a bus (proprietario):

• una maggiore capacità di elaborazione; • una capacità di trattare un numero elevato di ingressi e

uscite; • la possibilità di comunicare attraverso reti informatiche; • la possibilità di realizzare interfacce uomo-macchina

complesse (SCADA)

16

Corso teorico-pratico programmazione PLC

• Hardware - concetti base• PLC modulari

– Il Bus• è un insieme di linee elettriche, raggruppate per funzioni, che

connettono tra loro varie schede o moduli• è caratterizzato dal protocollo attraverso il quale i moduli

possono usare le linee elettriche per comunicare tra loro• definisce anche le caratteristiche elettriche e meccaniche dei

connettori che servono per collegare i moduli tra loro.

17

Corso teorico-pratico programmazione PLC

• Hardware - concetti base– Tipologie

• PLC modulari

18

Corso teorico-pratico programmazione PLC

• Hardware – Modulo microprocessore (CPU)

• Rappresenta il cuore di un sistema PLC• La CPU compie operazioni logiche e matematiche, contenute nel

programma utente;• Programma : elenco di operazioni che deve compiere la CPU;• La CPU esegue anche istruzioni della logica binaria (AND,OR..)

può essere utilizzato per elaborare segnale elettrici e comandare delle macchine;

• Conseguenza: Ogni schema funzionale può essere tradotto in una sequenza di istruzioni per un microprocessore.

19

Corso teorico-pratico programmazione PLC

• Hardware – Modulo microprocessore (CPU) - Memoria

• La CPU è dotata di una serie di memorie:– la memoria ROM (Read Only Memory) -

• Contiene il Firmware (Sistema Operativo) del PLC;• Non modificabile.

– la memoria RAM (Random Access Memory)• La CPU pone i dati del programma utente;• Memoria di tipo volatile.

20

Corso teorico-pratico programmazione PLC

• Hardware – Modulo microprocessore (CPU) - Memoria

– la memoria EEPROM (Elettrically Erasable Programmable Read Only Memory)

• viene memorizzato il programma dell’utente;• Memoria non volatile;• Aggiornamento tramite opportuni impulsi elettrici;• Mantenimento del programma utente in qualsiasi

condizione di funzionamento.

21

Corso teorico-pratico programmazione PLC

• Hardware – Comparazione tra PC e PLC

22

Corso teorico-pratico programmazione PLC

• Hardware – Modulo Alimentatore

• Il modulo alimentatore deve garantire l’alimentazione anche in presenza di microinterruzioni della rete.

• Modulo alimentatore = trasformatore + circuito rettificatore + stabilizzatore + circuito di protezione da sovraccorrenti e cortocircuiti.

• I moduli alimentatori di ultima generazione prevedono una segnalazione al modulo processore in caso di mancanza di alimentazione dalla rete. Questa segnalazione può essere utilizzata per attivare una procedura speciali prima dello spegnimento.

23

Corso teorico-pratico programmazione PLC

• Hardware – Modulo di ingresso e di uscita

• Possono essere sia analogici che digitali.• Consentono di interfacciare il PLC direttamente con sensori ed

attuatori senza l’utilizzo di ulteriori sistemi di condizionamento del segnale.

– I livelli di tensione comunemente utilizzati per i moduli digitali sono: (0,24) V, (0,220) V (continua o alternata), (0,5) V e (0,50) V (continua).

– I valori tipici dei segnali trattati dai moduli analogici sono (-5,5) V, (-10,10) V, (0,5) V oppure (4,20) mA . La trasmissione in corrente viene spesso utilizzata in ambito industriale perchè meno sensibile ai disturbi elettromagnetici e perchè permette di risparmiare un cavo per ogni collegamento.

– Data la diffusione di sensori quali termocoppie e RTD esistono moduli di ingresso per il loro utilizzo diretto.

24

Corso teorico-pratico programmazione PLC

• Hardware – Terminale di programmazione

• Un PLC non prevede né tastiera né schermo, quindi la sua programmazione deve essere effettuata tramite un dispositivo esterno.

• Per i vecchi modelli di PLC (e ancora oggi per alcuni PLC piccoli) venivano utilizzati dei terminali a tastiera

25

Corso teorico-pratico programmazione PLC

• Hardware – Programmazione da PC

• Oggi tutti i PLC vengono programmati attraverso un Personal Computer sul quale viene eseguito il sistema di sviluppo proprietario.

26

Corso teorico-pratico programmazione PLC

• Hardware – Moduli speciali

• Moduli di ingresso e uscita remoti• Moduli per la comunicazione di rete (Ethernet, Profibus,…)• Moduli Servo (per il controllo di motori passo passo)• Moduli Encoder (dotati di contatori ad alta velocità)• Moduli Interfaccia Utente (Pannelli Operatore)

27

Corso teorico-pratico programmazione PLC

• Principio di funzionamento (1)

SENSORI

Ingressi

Consensi

HARDWARE

SOFTWARE

Uscite

Comandi

ATTUATO

IR

PLC

28

Corso teorico-pratico programmazione PLC

• Principio di funzionamento (2)UNITA' DI

PROGRAMMAZIONE

MEMORIAPROGRAMMA

CPU MEMORIADATI

ALIMENTATORE UNITA' CENTRALE

MEMORIADI MASSA

STAMPANTE SIMULATORE

UNITA' I/O

1

0

C

A

M

P

O

PERIFERICHE

PLC

29

Corso teorico-pratico programmazione PLC

• Normative– Le norme sono documenti di standardizzazione emessi da comitati

tecnici nazionali, europei o internazionali, nei campi più svariati della tecnologia;

– Direttive sono le “leggi” emesse dal Parlamento Europeo;– Le normative nel mondo:

• le norme di orientamento generale in quasi tutti i campi, dal comitato ISO;(Nota: Il termine "ISO" non è un acronimo anche se in inglese l'ISO viene anche chiamata International Standards for Organizations. Il termine "ISO" deriva invece dal greco σος (pronuncia: isos) che significa "uguale". Se fosse ἴun acronimo dovrebbe essere OIN per il nome italiano, IOS per quello inglese, OIN per quello francese, ecc. quindi i fondatori scelsero ISO come abbreviazione universale)

30

Corso teorico-pratico programmazione PLC

• Normative• le norme di orientamento elettrico ed elettronico, dalla

commissione IEC (International Electrotechnical Commission);• In Italia la gestione delle norme tecniche è curata da questi due

enti :– l’ UNI, che emette norme norme di orientamento generale;– il CEI, che emette le norme nei settori Elettrico, Elettronico e

Telecomunicazioni.

31

Corso teorico-pratico programmazione PLC

• Normative• L’iter delle norme tecniche (detti Standard in inglese) a partire

dai comitati internazionali, passando per i comitati europei, arriva agli enti italiani, risulta il seguente:

32

Corso teorico-pratico programmazione PLC

• Normative– Le norme “elettriche” che incidono nella progettazione e

programmazione di un PLC sono essenzialmente due :

– Dato che l’applicazione prevalente dei PLC è sugli impianti “a bordo macchina” la norma EN 6024-1 è quella più importante da conoscere.

33

Corso teorico-pratico programmazione PLC

• Normative– Le norme “di prodotto” relative ai PLC sono invece :

34

Corso teorico-pratico programmazione PLC

• Numeri binari e variabili – Introduzione al sistema di numerazione binaria e di come è

utilizzato all’interno dei PLC;– Riferimento alla norma quadro sulla programmazione dei

PLC, la IEC 61131-3;– Il concetto di rappresentazione dei numeri decimali con un

numero binario deve essere chiaro, in quanto i PLC hanno vari modi di rappresentare i numeri al loro interno, che in fase di programmazione si dovranno scegliere sulla base delle proprie esigenze.

35

Corso teorico-pratico programmazione PLC

• Bit – Bit : informazione digitale di base;– Cella di memoria che fisicamente è costituita da un

transistor e che si considera che possa valere 0 (quando non attivo) o 1 (quando attivo);

– Raggruppando i Bit si ottiene:

36

Corso teorico-pratico programmazione PLC

• Nibble – Unità di misura per indicare 4 bit;– Rappresenta comunemente la metà di un byte;– Utilizzato specialmente per rappresentare in binario ogni

singola cifra esadecimale, potendo esprimere con 4 bit i valori compresi tra [0000,1111] cioè [0,15] o [0,F] in esadecimale;

– Con un nibble è possibile rappresentare una cifra della codifica BCD.

37

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Utilità della rappresentazione binaria

• Esempio 1Nei PLC le Word sono tipicamente organizzate nel seguente modo:

– Ne consegue che una word viene a rappresentare un numero decimale intero nel range :

- 32760 ... + 32768– Questa variabile tipicamente è chiamata Numero Intero (o Integer ).

38

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Esempio 2

• Una DoubleWord è un elemento nella memoria di un microprocessore costituito da 2 word, cioè 32 bit, e permette 232 combinazioni.

• Nei PLC è tipicamente utilizzata per visualizzare un numero a virgola mobile, detto anche Floating, secondo lo standard americano IEEE-754.

• In tal modo si rappresenta un numero nel range :- 3,4028 x 10-38 ... + 3,4028 x 1038detto anche Numero Reale (o Real).

39

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Esempio 3

• Il Byte molto spesso è utilizzato per rappresentare dei caratteri alfanumerici

• A tal fine, agli albori dell’era informatica, è stata creata una tabella dei caratteri ASCII, la quale esprime l’equivalenza di un byte con una lettera o un simbolo della tastiera.

• Ad esempio se un byte vale 65 significa che rappresenta la lettera A.

• I PLC tipicamente funzionano a 16 bit si tratta sempre di informazioni organizzate come Word.

Byte (8 bit) 0100 0001Significato decimale 65Carattere rappresentato “A”

40

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Tabella codici ASCII

41

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Aritmetica binaria

• Il sistema di numerazione binario è basato sull'uso dei simboli “0” e “1”;

• Associati agli stati logici assumibili da una variabile binaria, risulta compatibile con la logica booleana;

• La disposizione ordinata delle cifre binarie, permette di codificare espressioni numeriche secondo una logica del tutto analoga alla usuale numerazione decimale;

• Ogni singolo bit assume un peso corrispondente alla sua posizione sulla base di una progressione di potenze di 2;

esempio: 10111

B= 1*24+0*23+1*22+1*21+1*20= 23

D

42

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Aritmetica binaria

• Conversione decimale-binario;– Dato un numero in formato decimale, il corrispettivo binario si ottiene

operando successive divisioni per due sui quozienti così ottenuti (fino ad ottenere come risultato zero):

– I Resti di ciascuna divisione rappresentano la sequenza di bit del valore binario, a partire dal bit meno significativo (LSB):

43

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Aritmetica binaria

• Conversione decimale-binario - ESEMPIO125 :2 1 LSB

62:2 0

31:2 1

15:2 1

7:2 1

3:2 1

1:2 1 MSB

0RESTO Valore binario : 1111101 (125

D)

44

Corso teorico-pratico programmazione PLC

• Bit, Byte e Word – Numerazione binaria meno compatta e scomoda della decimale;– Sono state introdotte codifiche più compatte :

• Codifica ottale : un simbolo a una campo di 3 bit (base 8 - 23)es. 100101110010

B = 100 101 110 010

= 4 5 6 2 = 4562O

7321

O =7*83+3*82+2*81+1*80= 3793

D

• Codifica esadecimale : un simbolo a un campo di 4 bit (base 16 – 24)es. 0111010011101010

B = 0111 0100 1110 1010

= 7 4 E A = 74EAH

74EAH = 7*163+4*162+14*161+10*160= 29920

D

45

Corso teorico-pratico programmazione PLC• Bit, Byte e Word

– Tabella corrispondenza : binario-esadecimale-decimaleBinario Esadecimale Decimale

0000 0 0

0001 1 1

0010 2 2

0011 3 3

0100 4 4

0101 5 5

0101 5 5

0110 6 6

0111 7 7

1000 8 8

1001 9 9

1010 A 10

1011 B 11

1100 C 12

1101 D 13

1110 E 14

46

Corso teorico-pratico programmazione PLC

• Segnali analogici– Problematiche inerenti all'uso dei segnali analogici nei sistemi di

automazione industriale e loro gestione tramite PLC;– Nelle automazioni, nei sistemi di climatizzazione, e nell’industria di

processo si presenta spesso il problema di gestire temperature, pressioni, pesi, portate ed altre variabili legate a fenomeni “fisici”;

– Queste misure vengono trasformate in segnali elettrici da appositi strumenti di misura detti convertitori o trasduttori;

– Successivamente questi segnali elettrici vengono acquisiti dal sistema di controllo che li elabora e comanda degli attuatori sulla base di un programma.

47

Corso teorico-pratico programmazione PLC

• Segnali analogici

– Modalità di gestione del sistema di controllo dal segnale proveniente dai “sensori” fino alla programmazione per realizzare la gestione delle uscite, e quindi il funzionamento di tutto l’apparato.

48

Corso teorico-pratico programmazione PLC

• Sensori analogici– Negli strumenti di misura generalmente si distinguono due componenti:

• Il trasduttore :converte la grandezza fisica in un segnale elettrico;• Il convertitore : adatta il segnale elettrico del trasduttore agli standard

dei segnali analogici.

– per alcune misure di temperatura si usa installare nell’impianto solamente il trasduttore, mentre la conversione e linearizzazione del segnale è realizzata all’interno del sistema di controllo.

49

Corso teorico-pratico programmazione PLC

• Sensori analogici– Gli strumenti di misura dotati di convertitore “a bordo” hanno il vantaggio

di poter effettuare compensazioni locali della misura: ad esempio i misuratori di portata talvolta hanno anche una sonda della temperatura ambiente per correggere la misura a seconda della variazione della densità del fluido misurato;

– Nei convertitori i costruttori programmano le linearizzazioni degli errori di misura del trasduttore, le tarature ed i range di lavoro, dando all’utilizzatore finale un prodotto pronto all’uso ed accompagnato dal Certificato di Taratura.

50

Corso teorico-pratico programmazione PLC

• Misure analogiche– I segnali analogici si contrappongo a quelli digitali in quanto assumono

qualunque valore “elettrico” nel range di lavoro;– Un segnale digitale per definizione assume solo due valori, uno alto che

rappresenta lo stato 1 (ad esempio 24Volt) ed uno basso che rappresenta lo stato 0 (ad esempio 0 Volt);

– Un segnale analogico invece può assumere tutti i valori compresi tra i due estremi del campo, cosicché può rappresentare il valore di una grandezza fisica così com’è nella realtà (umidità, peso, temperatura,...)

– In altri casi non esiste un semplice trasduttore, in quanto la misura della grandezza fisica è molto complessa, come nel caso di analisi chimiche;

51

Corso teorico-pratico programmazione PLC

• Misure analogiche

– il segnale analogico non esce da un trasduttore direttamente, ma da una scheda a microprocessore che lo elabora;

– è il caso di misure di pH, proprietà di Gas, Liquidi, ecc..– per eseguire una misura di Potenza si devono combinare assieme le 3

correnti e le 3 tensioni di un sistema elettrico trifase.

52

Corso teorico-pratico programmazione PLC

• Comandi analogici

– Nel caso in cui devo comandare apparti particolari come:• Valvole proporzionali• Serrande• Inverter• Strumenti indicatori analogici

53

Corso teorico-pratico programmazione PLC

• Segnali analogici standardizzati– In tensione : 0-10 [Vcc]– In corrente : 4-20 [mA]

• Segnali in tensione– Semplici da utilizzare– Basso costo– Scarsa immunità disturbi– Distanze raggiungibili tra sensore/convertitore – PLC circa

15-20 [m]

54

Corso teorico-pratico programmazione PLC

• Segnali in corrente– Il più utilizzato– Alta immunità ai distrurbi elettromagnetici– Tratte di cavo 200-300 [m] senza particolari accorgimenti;– Ampio range di alimentazione 12 – 30 [Vdc]– possibilità di alimentare lo strumento di misura con lo

stesso segnale, risparmiando sul lavoro di cablaggio e sui cavi;

– possibilità di portare lo stesso segnale anche a più “destinatari” (registratori su carta, visualizzatori, PLC), collegandoli in serie, formando il cosiddetto “Loop di corrente”;

55

Corso teorico-pratico programmazione PLC

• Segnali in corrente– Loop di corrente

• è necessario che la somma dell’impedenza interna di ciascun “destinatario” non sia superiore al carico massimo alimentabile dallo strumento di misura, che tipicamente è di 500 Ω;

56

Corso teorico-pratico programmazione PLC

• Conversione Analogica-Digitale– I PLC sono dotati nei loro ingressi di convertitori

Analogico/Digitali che convertono il segnale elettrico in ingresso in un vero e proprio numero, che rappresenta il “valore” del segnale analogico acquisito;

– Tipicamente questo numero non esprime il segnale in mA o Volt e né la misura in unità fisiche reali (metri, gradi, litri, ecc), ma si tratta di una word che varia dal massimo al minimo nello stesso Range del segnale elettrico analogico;

– Le caratteristiche salienti di un convertitore Analogico/Digitale :• Velocità di conversione• Risoluzione esperessa in numero di bit (la precisione).

57

Corso teorico-pratico programmazione PLC

• Conversione Analogica-Digitale– un buon convertitore è costituito da una uscita a 14 bit, ma

talvolta per contenere i costi si utilizzano moduli di ingressi analogici da 12 bit o anche a 10 bit;

– il bit del segno non si considera, in quanto non incide nella risoluzione;

– Per quanto riguarda la velocità di conversione :• compresa tra i 20-60 Hz.• Funzione da filtro, in quanto elimina eventuali variazioni troppo

rapide del segnale in ingresso, dovute ad esempio a disturbi elettrici.

58

Corso teorico-pratico programmazione PLC

• Conversione Analogica-Digitale– Esempi sulle precisioni risultanti a seconda del numero di bit

adottati dal convertitore per segnali in ingresso di tipo 4-20 mA e 0-10V:

– La risoluzione è in pratica la “minima variazione apprezzabile” dal convertitore, ossia il rapporto 20mA / Valore massimo ( o 10 V / Valore massimo);

59

Corso teorico-pratico programmazione PLC

• Conversione Analogica-Digitale– Per i segnali 4-20 mA, la precisione sulla misura reale non è

determinabile allo stesso modo di quella relativa al segnale 0-10V, in quanto i primi 4 mA sono convertiti dal sistema ma non fanno parte della misura reale;

– E’ quindi necessario dividere il Fondo Scala (f.s.) delle unità ingegneristiche per il valore di conteggi che varia nell’intervallo 4-20 mA.

60

Corso teorico-pratico programmazione PLC

• Conversione Analogica-Digitale– Ad esempio se al segnale 4-20mA è collegato un sensore di

pressione con range 0-10 Bar la risoluzione ottenuta con un convertitore a 12 bit :

NON è di 10 Bar / 4096 = 0,0024 Barma è di 10 Bar / 3277 = 0,003 Bar

61

Corso teorico-pratico programmazione PLC

• Gestione guasti– Il segnale 4-20 mA permette il riconoscimento di situazioni di

guasto o comunque di anomalie;– Tutta la gamma di valori da 0 a 4 mA sono infatti invalidi e

rappresentano una situazione di errore;– E’ quindi necessario configurare il sistema di controllo affinché la

gestione dell’automatismo venga sospesa nel caso in cui il valore della corrente in ingresso sia inferiore a 4mA;

– Dato però che a seconda del numero di bit utilizzato dal convertitore A/D si hanno valori diversi della “soglia” dei 4 mA, possiamo estrapolare questi valori dalle precedenti tabelle:

62

Corso teorico-pratico programmazione PLC

• Gestione guasti

– quando il valore espresso dal convertitore è inferiore al numero indicato significa che l’ingresso analogico corrispondente è in una situazione di guasto o malfunzionamento

63

Corso teorico-pratico programmazione PLC

• Conversione unità ingegneristiche– Unità Ingegneristiche (kg, lt, Bar, °C, ecc).– Nei PLC, la conversione di un segnale analogico nella

misura reale deve essere fatta con opportuni calcoli da inserire nel programma;

– E' necessario trasformare la Word espressa dal modulo di conversione A/D dell’ingresso nel valore della misura in Unità Ingegneristiche;

– Per comprendere questo aspetto facciamo un esempio reale:

64

Corso teorico-pratico programmazione PLC

• Conversione unità ingegneristiche– Sistema composto da:

• Un trasmettitore di pressione, con uscita 4-20mA e range di lavoro 0-10 Bar;• Un PLC con scheda di acquisizione A/D a 14 bit, (range numerico 0-16384)• Si ipotizza che venga trasmesso un segnale di 16,3 mA.

– In tale situazione la scheda di acquisizione riporta un dato numerico = 13360 (decimale) desumibile anche dal calcolo 16,3 / 0,00122 (risoluzione su 0-20mA).

– Questo numero non è ancora la misura in quanto è “sporcato” dalla parte di segnale in mA estranea alla misura, ossia quella da 0 a 4 mA, che il convertitore acquisisce comunque;

65

Corso teorico-pratico programmazione PLC

• Conversione unità ingegneristiche– E’ quindi necessario epurarlo dalla parte in eccesso, detta

Offset, che per il caso in questione è pari a :Offset = 4 / (20mA/16384) = 3277

– Eliminare dal numero ottenuto con la conversione “diretta” il numero che esprime effettivamente la misura acquisita:Segnale Reale = Segnale Analogico - Offset = 13360 - 3277 = 10083 (decimale)

– Calcoliamo il numero massimo di conteggi che il convertitore utilizza quando acquisisce il segnale in ingresso nel range 4-20mA :

Valore massimo di lavoro = 16384 - 3277 = 13107– Questo ci permette di calcolare la risoluzione della conversione,

rapportando il Fondo Scala delle Unità Ingegneristiche con il valore massimo di conteggi elaborati dal convertitore:

Fondo Scala Misura / conteggi = 10 / 13107 = 0,00076 Bar/conteggio

66

Corso teorico-pratico programmazione PLC

• Conversione unità ingegneristiche– Riassumendo:

• 1. Il trasmettitore invia un segnale 4-20mA equivalente a 0-10Bar;

• 2. Il convertitore A/D esprime questa misura con un numero che varia da 0 a 13107.

• 3. Ogni numero espresso dal convertitore vale 0,00076 Bar– E’ ora possibile moltiplicare il numero che rappresenta il Segnale

Reale con la precisione:Misura Rilevata = 0,00076 * 10084 = 7,69 Bar

67

Corso teorico-pratico programmazione PLC

• Conversione unità ingegneristiche– Schema di scalatura segnale analogico

68

Corso teorico-pratico programmazione PLC

• Modi di funzionamento e scansione– La programmazione dei PLC, tipicamente si esegue mediante

un software dal Personal Computer;– Questa fase di scrittura del programma si svolge Off-Line, cioè

scollegati dal PLC, che può non essere ancora nelle mani del programmatore;

– Una volta preparato il programma, si collega il PC al PLC con un cavetto seriale e si “scarica” il programma nella memoria del PLC stesso;

– Questa operazione è chiamata Download.

69

Corso teorico-pratico programmazione PLC

• Modi di funzionamento e scansione– I modi di funzionamento di un PLC sono pricipalmente:

• Modalità Program (Programmazione);• Modalità Run (Esecuzione);

– Il passaggio tra le diverse modalità può avvenire tramite opportuno switch presente sul PLC oppure via software.

– Modalità Program (Programmazione)• il PLC è “fermo” o in STOP e attende che il

programmatore effettui modifiche al programma stesso o alla configurazione della memoria;

• le uscite sono tutte disabilitate e quindi tutti gli apparecchi da esso controllati sono spenti;

• Necessità di pianificare gli interventi di aggiornamento.

70

Corso teorico-pratico programmazione PLC

• Modi di funzionamento e scansione– Modalità Run (Esecuzione);

• il PLC esegue il programma interno;• le uscite vengono aggiornate sulla base dello stato degli

ingressi e delle condizioni imposte dal programma;• Attenzione alle condizioni di riavvio PLC – Impianto.

– Scansione• PLC è in Run, il programma è praticamente sempre in

esecuzione per tenere sotto controllo la macchina o l’impianto al quale è collegato;

• il PLC esegue la Scansione del programma, in quanto viene eseguito dall’inizio alla fine ad intervalli di tempo piuttosto regolari.

71

Corso teorico-pratico programmazione PLC

• Modi di funzionamento e scansione– Scansione

• in condizione di Run il PLC non si cura solo dell’esecuzione del programma, ma si occupa anche di :

– controllare se il programma ha causato errori;– controllare se l’esecuzione (scansione) del programma è

durata troppo;– controllare lo stato dell’ Hardware, ossia di tutte le

periferiche che lo compongono;– aggiornare lo stato dei file degli ingressi e delle uscite;– comunicare con altri PLC o altri dispositivi connessi via porte

di comunicazione.

72

Corso teorico-pratico programmazione PLC

• Modi di funzionamento e scansione• Tempi di scansione PLC commerciali 2-3 [ms]

73

Corso teorico-pratico programmazione PLC

• Modi di funzionamento e scansione– Scansione

• È importante ricordare che l’aggiornamento degli ingressi avviene in un momento distinto dall’esecuzione del programma, quindi mentre questo è in esecuzione anche se fisicamente gli ingressi cambiano, il programma non se ne rende conto !

• Questo fino alla prossima scansione, che comunque avviene ogni pochissimi millisecondi.

74

Corso teorico-pratico programmazione PLC

• Caratteristiche software del PLC– il PLC è un piccolo computer, del quale eredita le caratteristiche

principali;– E’ quindi è dotato di un microprocessore, una memoria interna, un

“sistema operativo”, e di dispositivi di Input / Output;– Tipicamente i microprocessori dei PLC sono a 16 bit, e questo si

riflette sulla struttura dei dati interna;– Il set di istruzioni a disposizione di questi micoprocessori è

generalmente molto vasto e potente, consentendo moltissime funzioni rispetto a quelle basilari usate per il controllo di un impianto elettrico.

75

Corso teorico-pratico programmazione PLC

• Caratteristiche software del PLC– Tipi di processore

• Due grandi famiglie:– PLC dotati di microprocessori multipurpose, liberamente reperibili

sul mercato, non espressamente progettati per questa funzionalità;• comporta tipicamente un costo minore.

– PLC dotati di microprocessori custom, ossia progettati espressamente per essere integrati in un PLC e quindi per la gestione di un sistema elettrico di automazione;

• vantaggi notevoli in fase di programmazione, con istruzioni ottimizzate che fanno risparmiare tempo al programmatore e risorse di memoria nel PLC

• La differenza tra i due mondi, in realtà è molto sottile, e tipicamente agli effetti pratici nel funzionamento non sortisce alcun effetto.

76

Corso teorico-pratico programmazione PLC• Set di istruzioni

77

Corso teorico-pratico programmazione PLC

• Caratteristiche software del PLC– La memoria del PLC

• Memoria Statica– memoria rigidamente divisa tra dati e programmi ed anche tra

tipi diversi di dati;– questo tipo non permette di personalizzare la memoria a

seconda dell’applicazione, e spesso molte aree dati restano inutilizzate a scapito di altre aree che hanno la necessità di ampliamento;

– il programma, benchè possa venir suddiviso in subroutine, in realtà appare come un unica sequenza di istruzioni;

78

Corso teorico-pratico programmazione PLC

• Caratteristiche software del PLC– La memoria del PLC

• Memoria Statica– paragone con l’ambiente PC, è un po’ come se nel nostro PC

tutti i documenti Word fossero concentrati in un unico file;– questo sistema è ampiamente usato per piccoli PLC con

applicazioni semplici e pochi ingressi e uscite da gestire, dove la gestione della memoria non influisce nel risultato.

79

Corso teorico-pratico programmazione PLC

• Caratteristiche software del PLC– La memoria del PLC

• Memoria Dinamica– come un Hard Disk di un Personal Computer, con file di dati

e file di programmi;– In fase di caricamento del software applicativo il PLC alloca

dinamicamente la memoria a seconda delle risorse che sono richieste;

– A parte certe aree di sistema, ed alcune aree preconfezionate al fine di facilitare la programmazione ai meno esperti, la memoria per il resto è liberamente configurabile;

80

Corso teorico-pratico programmazione PLC

• Caratteristiche software del PLC– La memoria del PLC

• Memoria Dinamica– Ogni area dati può avere un nome, denominato Nome File, e

tipicamente ogni area al suo interno può avere fino a 256 elementi;

– Per i programmi se ne possono creare a piacere (tipicamente fino a 256 subroutine), con l’unico limite se non quello dovuto alla dimensione massima della memoria fisica;

– Il file di programma già pronto viene di solito denominato Main Program.

81

Corso teorico-pratico programmazione PLC• Caratteristiche software del PLC

– Organizzazione interna dei dati• File di Input / Output

– il PLC è un dispositivo che dialoga con l’esterno, vi saranno anche due file appositamente destinati a tale attività, relativa ai moduli di Ingresso e Uscita;

– I dati di ingesso ed uscita sono infatti acquisiti dal microprocessore in momenti distinti dall’esecuzione del programma e conservati in questi due file detti anche File di Immagine degli Ingressi e File di Immagine delle Uscite.

82

Corso teorico-pratico programmazione PLC• Caratteristiche software del PLC

– Organizzazione interna dei dati• File di Sistema

– di memoria, di tipo statico e non facente parte delle aree programmabili, vi sono memorizzate la configurazione del PLC ed altri parametri necessari per il suo funzionamento.

– La conoscenza di quest’area di memoria al programmatore è indispensabile in quanto in essa si trovano i bit di errore, le configurazione delle porte seriali e di programmazione, i bit di allarme e di overflow nei calcoli matematici.

83

Corso teorico-pratico programmazione PLC• Caratteristiche software del PLC

– Organizzazione interna dei dati• File di Dati Interni

– In ogni PLC vi sono dei file dati molto utili nella programmazione e che svolgono funzioni virtuali dei componenti usati nell’elettrotecnica, quali Temporizzatori, Contaimpulsi e Relè;

– Naturalmente questi elementi cambiano a seconda del PLC utilizzato, ma sono quasi tutti presenti in tutti i modelli, anche se con nomi diversi;

– Una lista dei Dati Interni può essere la seguente:

84

Corso teorico-pratico programmazione PLC• Caratteristiche software del PLC

– Organizzazione interna dei dati• File di Dati Interni

85

Corso teorico-pratico programmazione PLC• Caratteristiche software del PLC

– Organizzazione interna dei dati• File Speciali

– Per alcune attività sono necessari dei file di dati strutturati in modo particolare, come ad esempio i file per gestire le comunicazioni o per la manipolazione di stringhe ASCII;

• Aree di memoria retentive– zone della memoria nelle quali i dati restano memorizzati

anche al mancare della tensione di alimentazione.

86

Corso teorico-pratico programmazione PLC

• Caratteristiche software del PLC– Indirizzamento

• Di fondamentale importanza quando si approccia ad un PLC, anche per gli esperti programmatori, è quella che bisogna conoscere il modo di indirizzamento;

• Con questo termine si intende la sintassi con la quale il programma accedere ai dati nella memoria o nei dispositivi di Ingresso e Uscita.

87

Corso teorico-pratico programmazione PLC• Caratteristiche software del PLC

– Indirizzamento

• Segnali Digitali– Per i segnali di tipo digitale si trova la seguente sintassi :

• I:1/3 segnale di ingresso 3 (bit) nel modulo 1• I:2.0 word di ingresso di tutti i bit del modulo 2• O:3/12 segnale di uscita 12 del modulo 3 • O:4.0 word di uscita di tutti i bit del modulo 4

88

Corso teorico-pratico programmazione PLC• Caratteristiche software del PLC

– Indirizzamento• Segnali Analogici

– I segnali analogici, che praticamente sono delle word, la sintassi normalmente usata è la seguente:

• I:5.0 word dell’ingresso Analogico 0 nel modulo 5• I:5.7 word dell’ingresso Analogico 7 nel modulo 5• O:6.1 word dell’uscita Analogica 1 del Modulo 6

• L’indirizzamento vale per tutti i file di dati a esempio :– · T4:1 Timer 1 del File di temporizzatori nr. 4– · C5:3 Counter 3 del File di contatori (contaimpulsi) nr. 5 – · N7:9 Numero intero posto nella Word 9 del file di interi 7

89

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Introduzione

• Verranno introdotti i concetti di base relativi alla programmazione dei PLC e dello standard IEC 61131-3;

• Malgrado i PLC possano essere ritenuti nei normali calcolatori elettronici, lo sviluppo degli strumenti e dei linguaggi di programmazione per essi, ha difatti seguito una via differente rispetto a quanto è avvenuto per i calcolatori elettronici general purpose;

• Infatti i PLC venivano inizialmente programmati con una tecnica basata sugli schemi logici delle schede a relay; questo eliminava la necessità di insegnare ai primi utilizzatori dei PLC (prevalentemente tecnici elettricisti) come programmare un calcolatore;

90

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Introduzione

• Questo modo di programmazione sopravvive ancora oggi, e molti PLC odierni possono essere ancora programmati nel cosiddetto linguaggio a contatti (ladder diagram);

• Ovviamente con il passare del tempo anche le tecniche di sviluppo del software per i PLC si sono ammodernate, e quindi il linguaggio a contatti è stato via via affiancato da linguaggi di programmazione più moderni ed efficienti;

• Inoltre in passato le case costruttrici di PLC hanno favorito l’uso di strumenti di programmazione di tipo proprietario, ed in particolare ciascuna di esse ha creato il proprio dialetto di programmazione (spesso basato sul linguaggio a contatti, o su una sorte di assembler).

91

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Introduzione

• Questo fatto ha reso difficile la migrazione di programmi da una marca di PLC ad un’altra, ed ha spesso costituito un problema per gli utilizzatori.

• Recentemente per risolvere questo problema il Comitato Elettrotecnico Internazionale (IEC) ha emanato lo standard IEC 61131-3. Questo standard definisce 5 linguaggi di programmazione tra loro intercambiabili.

92

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3

• Lo standard IEC 61131 è stato sviluppato con lo scopo di fornire un ambiente aperto, in cui collocare le architetture di controllo basate sui PLC. I principali componenti dello standard sono:

– IEC 61131-1 Overview– IEC 61131-2 Requirements and Test Procedures– IEC 61131-3 Data types and programming– IEC 61131-4 User Guidelines– IEC 61131-5 Communications– IEC 61131-7 Fuzzy control

• Noi siamo interessati alla parte - 3 – dello standard, che definisce i tipi di dati ed i linguaggi di programmazione.

93

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3

• I linguaggi definiti nella parte 3 dello standard IEC 61131 sono i seguenti:

– IL (Istruction list)– ST (Structured Text) – LD (Ladder Diagram, il linguaggio a contatti)– FBD (Function Block Diagram) – SFC (Sequential Functional Chart)

• Molti costruttori di PLC già supportano alcuni di questi linguaggi.

94

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3

• I linguaggi definiti nella parte 3 possono essere suddivisi in:

95

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3

• Linguaggi testuali– IL (Istruction list)

• è praticamente il linguaggio macchina, ossia un linguaggio che usa direttamente le istruzioni del microprocessore;

• Aspetto di un programma in IL: START: LD \%IX0.1 // (* if Button-1 *) ANDN \%MX1.5 // (* and not Inhibition *) ST \%QX3.2 //(* Light-3 on *)

96

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3

• Linguaggi testuali– ST (Structured Text)

• linguaggio di programmazione ad alto livello, come lo sono il Pascal, il Basic, il linguaggio C++, ecc.

• Aspetto di un programma in ST:

97

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3

• Linguaggi grafici– si presentano come veri e propri schemi elettrici o schemi a

blocchi.– LD (Ladder Diagram, il linguaggio a contatti)

• è il linguaggio di programmazione più usato, in quanto è analogo ad uno schema elettrico funzionale;

• Ladder significa letteralmente “scala a pioli”, dato che esteticamente lo schema ricorda appunto una scala; nel mondo anglosassone ogni ramo orizzontale viene chiamato rung, ossia piolo;

98

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3 – Linguaggi grafici

• Aspetto di un programma in LD:

99

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3 - Linguaggi grafici

– FBD (Function Block Diagram – Schema a blocchi di funzione ) • E’ un linguaggio a “porte logiche” che permette di disegnare

uno schema classico dell’elettronica digitale;• E’ molto usato nei sistemi di controllo dei grossi impianti di

processo (centrali termoelettriche, impianti chimici, ecc);• Aspetto di un programma in FBD:

100

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3 – Linguaggi grafici

– SFC (Sequential Functional Chart)• E’ un linguaggio sviluppato in Francia con il nome di

“Linguaggio Grafcet”;• Rappresenta il funzionamento per passi di un processo

automatico in modo del tutto similare ad un Flow-chart, ma dove ogni blocco rappresenta uno stato del processo di lavorazione della macchina;

101

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo standard IEC 61131-3 – Linguaggi grafici

– Aspetto di un programma in SFC (Sequential Functional Chart):

102

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo schema funzionale Europeo

• Nelle norme del gruppo EN 61082 riguardanti la documentazione degli impianti elettrici, il termine “schema funzionale” non esiste

• Il termine schema funzionale è comunque ampiamente consolidato, e consente di distinguere chiaramente lo schema di comando (tipicamente un circuito FELV- Functional Extra Low Voltage – Bassisima tensione funzionale ), dallo schema di potenza (tipicamente a 230/400Vac);

• In esso si trovano i contatti e tutti i relè che compongolo la parte elettrica, cosicchè talvolta nel gergo viene chiamato anche “Schema degli ausiliari”.

103

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo schema funzionale Europeo

• Lo schema funzionale, in ogni caso, è un disegno che si sviluppa con i rami disposti in senso verticale, e nel quale si trova nella parte alta la sorgente di alimentazione dei circuiti ausiliari, e nella parte bassa il conduttore “comune” (detto anche di ritorno o anche neutro nel caso di circuiti a 230V).

104

Corso teorico-pratico programmazione PLC

• Modi di programmazione– Lo schema funzionale Americano

• Negli Stati Uniti lo schema di comando di una macchina viene tracciato in per linee orizzontali, e da sinistra verso destra come nella scrittura ordinaria;

• In pratica è come se si ruotasse lo schema Europeo di 90°;• In tale schema si parte da sinistra con l’alimentazione e passando

per i vari contatti si arriva alla bobina del relè nella parte destra;• Questo modo di fare gli schemi di comando è stato di

grandissimo aiuto per l’invenzione del PLC, infatti i software nei PC non fanno altro che riproporre sullo schermo lo schema elettrico, mentre al loro interno in realtà lo traducono in una sequenza di istruzioni per il PLC.

105

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Elementi sintattici

• Il linguaggio a contatti trae origine dagli schemi usualmente impiegati per descrivere il comportamento logico di una scheda a relè;

• Esso quindi si presenta come un linguaggio di tipo grafico, i cui elementi di base sono il contatto e la bobina;

• Questi elementi sono posti su una linea orizzontale chiamata rung (piolo);

• Ogni rung è posto tra due linee verticali che rappresentano l’alimentazione;

106

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Elementi sintattici – schema

107

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Elementi sintattici

• Cosi come avviene negli schemi a relay, se il contatto è chiuso allora la bobina è alimentata;

• Nel secondo rung del programma la bobina contrassegnata da d è alimentata se uno dei contatti contrassegnati da l o da k è chiuso;

• Senza ancora specificare il significato di contatti e bobine, ma semplicemente usando l’analogia elettrica e semplice rendersi conto di quali condizioni devono essere verificate affinché una bobina sia alimentata oppure no.

108

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Elementi sintattici

• Nel linguaggio a contatti comunque si ipotizza (diversamente da quanto accade in una rete elettrica) che il flusso di energia può procedere soltanto da sinistra verso destra;

• Nell’ultimo rung quindi la bobina u1 può essere alimentata dai percorsi :

• a,i1,i2• a,i3,!i2• i4,!i2

• Ma non può essere alimentata ad esempio dal percorso i4,i3,i1,i2. Questo percorso infatti implicherebbe un flusso di energia da destra verso sinistra

109

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Tipi di istruzioni del linguaggio a contatti

• Istruzioni di base (contatti e bobine)• Istruzioni di temporizzazione e di conteggio• Istruzioni per il controllo del programma• Istruzioni per la manipolazione dati (*)• Istruzioni speciali (*)

(*) istruzioni che faranno parte del corso di programmazione PLC avanzato.

110

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: i contattti

• Un contatto è associato a bit a che può essere– o Un bit di ingresso (I:1/3 )– o Un bit di uscita (O:3/12)– o Un bit interno (B3:0/1)– o Al bit di stato di contatori e temporizzatori

• Se il bit associato al contatto ha valore logico 1, allora il contatto è chiuso, altrimenti il contatto è aperto.

111

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: i contatti

• L’istruzione in figura rappresenta un contatto normalmente chiuso;

• Il comportamento è simile a quello di un contatto normale, con la differenza che se il bit associato al contatto ha valore logico 1, allora il contatto è aperto, altrimenti il contatto è chiuso.

112

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: le bobine

• Una bobina è associato a bit a che può essere:• o Un bit di uscita (O:3/12)• o Un bit di interno (B3:2/12)

• Una bobina va sempre posta come ultima istruzione alla destra di un rung;

• Se le condizioni logiche alla sua sinistra sono verificate (esiste quindi continuità elettrica sul rung) il bit associato alla bobina viene portato a 1 (stato logico ON), altrimenti esso viene portato a 0 (stato logico OFF).

113

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: esempio 1

114

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: esempio 1

• In pratica premendo il pulsante Start si causerà l’avviamento della pompa, che rimarrà in moto fino a che non verrà premuto il pulsante Stop, o non viene spento il PLC;

• Il Pulsante Stop, ai fini della sicurezza, dovrà essere di tipo Normalmente Chiuso;

• Da notare il bit O:3/0 (bobina) assegnato al contatto (ingresso), quando un bit associato ad una bobina viene alimentato da un contatto a cui è stato associato lo stesso bit si dice che si “Autoalimenta”.

115

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: esempio 2 – Marcia-Arresto con memoria

116

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: esempio 2 - Marcia-Arresto con memoria

• Questo secondo esempio serve per eseguire la stessa funzione, di arresto e marcia visto nell'esmpio 1, ma è stato utilizzato un relèinterno per fare in modo che alla mancanza di energia elettrica non venga “cancellato” il comando di avviamento;

• Sono stati anche inseriti alcuni consensi di sicurezza (che comunque agiscono anche nella logica cablata del quadro elettrico);

• In particolare è stato inserito il contatto relativo al relè termico di protezione del motore, e un contatto di sicurezza posto in un portello apribile;

• Con questo programma il relè interno viene settato (eccitato) dal pulsante Start, e viene resettato dal pulsante Stop o dalle sicurezze.

117

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: esempio 2 - Marcia-Arresto con memoria

• Le istruzioni “Set” e “Reset”, da adesso si troveranno con le sigle “L” ed “U”, che significano, per analogia, “Latch” e “Unlatch”;

• Ciò per non confondersi con il comando Reset, che serve per resettare timer e contatori.

– Il programma appena presentato potrebbe funzionare in modo pericoloso se si inseriscono le righe di start e stop nell’ordine inverso;

– In tal caso infatti succederebbe che il comando Start avrebbe la prevalenza sullo Stop;

– Al fine di evitare questi problemi, ed al fine di rendere più evidente se una macchina è abilitata a funzionare, si è creato un apposito relè interno denominato “OK Sicurezze” e posto all’inizio del programma.

118

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: esempio 2 - Marcia-Arresto con memoria migliorato

119

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer

• Nei circuiti di controllo il temporizzatore è il secondo elemento più usato dopo il relè;

• Tale componente è presente anche nei PLC con il nome di TIMER;

• Nella memoria dati del PLC un Timer occupa tre Word :– Preset è la word che contiene il valore prestabilito (anche detto Set-

Point);– Acc è la word che il PLC incrementa col passare del tempo

(Accumulatore);– Bit di stato danno lo stato di funzionamento del timer.

120

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer

• Base dei Tempi– Il range di lavoro di un Timer tipicamente è da 0 a 32767, ma

questo valore ha un significato diverso a seconda della base dei tempi che si sceglie;

– Al fine di determinarne la precisione quindi, in fase di programmazione è possibile, e anche indispensabile, scegliere la base dei tempi con cui lavora il timer stesso :

121

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer

• L'istruzione di temporizzazione e rappresentata da un rettangolo contenente alcuni parametri:

• L'istruzione Timer va sempre posta a destra alla fine del rung;• La temporizzazione parte quando la condizione a sinistra

dell'istruzione diventa vera;• Il temporizzatore si resetta (anche se non è stato ancora raggiunto

il valore finale) quando la condizione di attivazione del rung diviene falsa.

122

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer

• Tipologie– Nei PLC sono disponibili due “istruzioni timer”, che

funzionano in modo opposto :• Timer ritardato all’eccitazione sigla TON• Timer ritardato alla diseccitazione sigla TOF•

– Timer ON Delay • Questo temporizzatore eccita la sua uscita solo se il contatto di

ingresso rimane attivato per almeno un certo tempo, dopodichè l’uscita del timer si attiva fino a quando non viene rilasciato il contatto di ingresso.

123

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer – TON

• Timer ON Delay – Questo temporizzatore eccita la sua uscita solo se il contatto di

ingresso rimane attivato per almeno un certo tempo, dopodichè l’uscita del timer si attiva fino a quando non viene rilasciato il contatto di ingresso.

124

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer – TON

– Nel grafico al primo segnale di “start” proveniente dal contatto di ingresso il temporizzatore non risponde, in quanto la durata del segnale è inferiore al tempo di Preset;

– Nel secondo caso trascorso il tempo “t”, l’uscita del PLC si attiva, finchè il segnala di ingresso viene a cessare.

125

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer – TON

• Indirizzamento– es. T4:1 rappresenta il Timer nr. 1 (del file nr. 4 di Timers)– Altri parametri:

• T4:1.PRE Contiene il valore di preset (ad esempio 5 secondi);• T4:1.ACC E’ la locazione di memoria dove il PLC incrementa

il tempo;• T4:1 / EN Bit di ENABLE : si attiva quando l’ingresso del

Timer è a “1”;• T4:1 / DN Bit di DONE : si attiva quando il tempo è trascorso*

*Questo ultimo bit rappresenta l’uscita vera e propria del Timer, infatti la parola DONE si traduce con “Fatto!”, intendendo che il timer ha finito di contare.

126

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer – TON

• Graficamente un timer si presenta nel PLC in questo modo :•

127

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer – TON

• Quando il relè interno denominato “Fase_1_On” si attiva, il timer a sua volta attiva il bit Enable (EN) ed inizia il conteggio;

• Dopo 5 secondi il conteggio termina, e viene posto a 1 anche il bit di Done (DN);

• Se durante il conteggio qualcuno preme il pulsante reset (ingresso I:1/15) il timer si ripristina e riparte da zero (come se l’ingresso fosse venuto a mancare per un istante);

• N.B. Attenzione a non confondere il Timer con l’Istruzione Timer !Un Timer è rappresentato dalla locazione nella memoria dati che contiene tutti i suoi elementi (tempo trascorso, set-point, ecc), ed è individuato da una sigla univoca, come ad esempio T4:1.Le istruzioni invece TON e TOF possono essere utilizzate a piacimento, ma ovviamente con timer diversi : è quindi necessario fare la dovuta attenzione a non usare più volte lo stesso timer !

128

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer

• Timer OFF delay - TOF– Questo temporizzatore eccita la sua uscita appena viene chiuso il

contatto di ingresso, e rimane attivo fino a che il tempo non è trascorso;

– Praticamente questo timer funziona come i “Temporizzatori Luci Scale” che si usano in tutti i palazzi.

129

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer - TOF

• Dal grafico si puo' notare che appena giunge il segnale di “start” proveniente dal contatto di ingresso l’uscita del Timer viene subito eccitata;

• Il conteggio inizia solamente quando il segnale di ingresso torna Off;• Trascorso il tempo “t”, l’uscita del temporizzatore si diseccita.

130

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer - TOF

• Il grafico evidenzia come il timer venga attivato a prescindere dalla durata dell’impulso proveniente dall’ingresso.

• N.B. Il timer TOF, una volta avviato, non può essere resettato (ossia fermato).Sarà quindi necessario porre dei contatti di “sicurezza” in serie alle uscite comandate da questi tipi di temporizzatori.

131

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Contatori

• Altro componente discretamente utilizzato nei circuiti di controllo è il contaimpulsi;

• Tale elmento è presente nei PLC con il nome di Counter , e viene detto anche contatore;

• Un contatore è rappresentato da un rettangolo contenente alcuni parametri:

• Tale istruzione va sempre posta a destra alla fine di un rung;• Il contatore si incrementa in occasione di ogni passaggio da OFF a ON

della condizione logica posta a sinistra del contatore.

132

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Contatori

• Questo dispositivo conteggia quante volte un certo ingresso ha compiuto una transazione da “0” a “1”, indipendentemente dal tempo;

• in pratica conteggia quante volte si è chiuso un contatto;• Quando il valore di conteggio (accumulatore) raggiunge il numero

predeterminato, il contatore eccita la propria uscita;• Il contatore richiede una specifica istruzione di azzeramento, questa

istruzione consiste in una bobina di reset avente come argomento l’indirizzo del contatore.

• Nella memoria del PLC il contatore occupa tre Word :– Preset è la word che contiene il valore prestabilito (il Set-Point);– Acc è la word che il PLC incrementa (o decrementa) ad ogni impulso;– Bit di Stato danno lo stato di funzionamento del counter.

133

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Contatori

• Range di lavoro : da -32768 a 32767• Indirizzamento:

– C5:1 rappresenta il Counter nr. 1 (del file di contatori nr. 5 );– Il contatore a sua volta è composto dai seguenti elementi :

• C5:1.PRE Contiene il valore di preset (ad esempio 10 conteggi);• C5:1.ACC E’ la locazione di memoria che contiene il valore da

conteggiare;• C5:1 / OV Bit di OVerflow - il conteggio ha superato il massimo

(32767);• C5:1 / UN Bit di UNderflow - il conteggio ha superato il minimo (-

32768);• C5:1 / DN Bit di DONE : si attiva quando il preset è stato raggiunto

(uscita)

134

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Contatori

• Tipologie:– I counter sono disponibili in due modalità di funzionamento :

• Counter UP sigla CTU (conteggio a salire);• Counter Down sigla CTD (conteggio a decrescere).

• N.B. Attenzione a non confondere il Counter con le istruzioni che lo gestiscono !Un Counter è rappresentato dalla locazione nella memoria dati che contiene tutti i suoi elementi, ed è individuato da una sigla univoca, come ad esempio C5:1Le istruzioni CTU e CTD invece, possono essere utilizzate a piacimento.

135

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Counter UP - “CTU”

• Questa istruzione elabora il contatore in modo che ogni volta che l’ingresso passa da 0 a 1 il conteggio venga incrementato;

• Quando il valore di conteggio raggiunge il Preset, l’uscita viene attivata;

• Per disattivare l’uscita ci sono due possibilità :– 1. Si decrementa il conteggio in mondo da farlo diventare inferiore

al Preset, oppure– 2. Si esegue una istruzione RESET (indirizzata a quel contatore)

ed il valore di conteggio viene riportato a zero.

136

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Counter UP - “CTU”

• Esempio

137

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Counter UP - “CTU”

• Esempio– Nell’esempio riportato qui sopra quando è attiva la “fase 1” ad ogni

impulso proveniente dal Sensore (I:1/3) il contatore C5:1 incrementa il conteggio (nel caso è arrivato a 12), e quando arriva al Preset (nell’esempio 50) si attiva l’uscita C5:1/DN.

– Il pulsante Reset in questo caso lancia l’istruzione che resetta il contatore, mente se il contatore raggiunge il valore di overflow (32767) si attiva un bit di Allarme.

138

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Counter DOWN - “CTD”

• Questa istruzione elabora il contatore in modo che ogni volta che l’ingresso passa da 0 a 1 il conteggio venga decrementato;

• Quando il valore di conteggio raggiunge il Preset, l’uscita viene attivata;

• Per disattivare l’uscita ci sono due possibilità :– 1. Si incrementa il conteggio in mondo da farlo diventare maggiore

del Preset, oppure– 2. Si esegue una istruzione RESET (indirizzata a quel contatore)

ed il valore di conteggio viene riportato a zero.

139

Corso teorico-pratico programmazione PLC

• Il linguaggio a contatti– Istruzioni di base: Timer e Counter

• RESET– Questa istruzione, come già visto negli esempi precedenti, serve

per resettare timer e counter;– Quando la riga del programma esegue questa istruzione, essa

resetta il singolo timer o singolo il counter che è stato indicato;– Il reset consiste essenzialmente nel portare a zero il valore

dell’Accumulatore e nel resettare tutti i bit di stato del contatore o temporizzatore.

– Non è possibile resettare con un unica istruzione di reset tutti i timer e/o counter nel programma.