Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  ·...

36
lunedì 10 novembre 2008 Stefano Maggi Marco Bassetti Dipartimento di Elettrotecnica Sistemi per l’automazione industriale Programmable Logic Controller Seconda Parte

Transcript of Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  ·...

Page 1: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

lunedì 10 novembre 2008

Stefano MaggiMarco BassettiDipartimento di Elettrotecnica

Sistemi per l’automazione industriale

Programmable Logic

Controller

Seconda Parte

Page 2: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 1

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Contenuti

Principio di funzionamento di un PLC e limiti

imposti da questo

Limiti imposti dalla programmazione tradizionale e

caratteristiche principali dello standard IEC 1131

Modello software di PLC, a singolo o multi

processore, rete di PLC, struttura gerarchica del

SW, comunicazione tra PLC, partenza di PLC

Linguaggio Ladder

Page 3: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 2

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Principio di funzionamento dei PLC

Lettura degli ingressi

Aggiornamento delle Uscite

Programma

Copia Ingressi in RAM

Copia dalla RAM verso le Uscite

Uso della RAM in

accordo al programma

Program Scan: tipicamente 2-3 ms per Kbyte di programma

Page 4: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 3

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Limiti imposti dal funzionamento (1/2)

Limite sul periodo dei segnali di input:Teorema di Shannon

se f è la frequenza di variazione, essa deve essereminore o uguale a 1/(2•durata del Program Scan)

Esempio: se la durata del Program Scan è 40 ms,allora la massima frequenza del segnale di input può

essere 1/(0.08)=12.5 Hz.

Page 5: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 4

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Limiti imposti dal funzionamento (2/2)

Ritardi Casuali tra dati di ingresso e uscita del programma

Page 6: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 5

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Limiti della programmazione tradizionale dei PLC (1/2)

Stessi linguaggi ma differenti implementazioni, o

differenti linguaggi di programmazione

Difficoltà nell'utilizzo di sub-routine

Difficoltà nel produrre software riutilizzabile

Limiti nella definizione di strutture dati più

complesse

Page 7: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 6

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Limiti della programmazione tradizionale dei PLC (2/2)

Limiti dei linguaggi di programmazione tipo Ladder

per applicazioni di sequencing

Difficoltà nel differenziare l'esecuzione di pezzi di

uno stesso programma o di più programmi in base

alle esigenze temporali

Difficoltà nell'eseguire semplici funzioni

matematiche (somma, prodotto) in linguaggi di

natura “elettrica” come il Ladder

Page 8: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 7

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Caratteristiche principali dello standard IEC 1131-3 (1/2)

Lo standard definisce più linguaggi (5):

Ladder, Sequential Function Chart,Instruction List, Function Block Diagram,Structured Text

Lo standard permette approcci: top-down ebottom-up. Un programma viene decompostoin Program Organisation Unit (POU)(funzioni, function block, programmi)

Lo standard permette il pieno controllodell'esecuzione di ciascun programma ofunction block, tramite l'assegnazione a task

Page 9: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 8

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Caratteristiche principali dello standard IEC 1131-3 (2/2)

Lo standard permette la definizione distrutture dati

Lo standard garantisce la portabilità di granparte del software. Ciò avviene se coincidono:

i sottoinsieme di caratteristiche dilinguaggio che ciascun produttore di PLCoffre

gli aspetti implementativi di ciascunlinguaggio

Lo standard permette lo sviluppo diprogrammi orientati al sequencing (adesempio tramite il Sequential Function Chart- SFC)

Lo standard è basato sulla programmazionegrafica

Page 10: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 9

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Modello software di un PLC

Page 11: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 10

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Il modello software: CONFIGURATION

• La configurazione definisce il software per un PLC completo o di un sistema di controllo programmabile

• Una configurazione è specifica per un particolare tipo di PLC e per una particolare configurazione hardware che include:– Risorse di calcolo (schede con certi tipi di

microprocessore)

– Indirizzi di memoria per i canali di input o output

– Caratteristiche di sistema (es. numero max di task diversi ammissibili e tempo di esecuzione delle istruzioni)

Page 12: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 11

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

• Una risorsa definisce il supporto per l’esecuzione dei programmi IEC.

• Una risorsa è definita all’interno di una configurazione usando la parola RESOURCE seguita da un identificatore e dal tipo di processore sulla quale la risorsa deve essere caricata.

• La definizione di risorsa contiene la definizione di:– Variabili globali– Acces path ovvero le variabili che permettono

l’accesso remoto– Programmi– Task e function blocks

Il modello software - RESOURCE

Page 13: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 12

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Il modello software - TASK

• Generalmente le differenti parti di un programma sono eseguite a differenti velocità determinate dalle caratteristiche del sistema.

• La dichiarazione di una task è introdotta dalla parola chiave TASK, dall’identificatore della task e dal valore dei seguenti parametri:

SINGLE BOOL Passando da 0 a 1 causa l’esecuzione del task una volta sola

INTERVAL TIME Il periodo che passa tra due

esecuzioni successive

PRIORITY UINT La priorità del task. 0 è la più alta.

Parametro Tipo Descrizione

Page 14: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 13

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Il modello software - PROGRAM

• Il concetto di programma è quello di un blocco software di considerevoli dimensioni (ad es.il controllo di una parte dell’impianto)

• Può contenere la dichiarazione di variabili globali e ad allocazione fissa

• Può anche fare riferimento ad access variables

• Non può contenere istanze di altri programmi

• Può contenere istanze di Function Blocks che possono essere eseguiti da task diversi

• Il corpo del programma può essere definito con uno dei linguaggi definiti dalla norma.

Page 15: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 14

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Il modello software - FB

• Un FUNCTION BLOCK (FB) è caratterizzato da:– variabili di ingresso

– variabili di uscita

– variabili locali

– variabili locali che identificano il suo stato

– un algoritmo espresso utilizzando uno dei linguaggi permessi dalla norma

• Le variabili interne del FB non sono accessibili dall’esterno

• E’ possibile accedere ai valori correnti delle variabili di ingresso e uscita di un FB

Page 16: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 15

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Il modello software – FUNCTION

• Spesso le FUNCTION sono scambiate per FB

• Una FUNCTION è un elemento software che con un particolare set di input produce un risultato primario. (ad es. la funzione SIN())

• Le FUNCTION a differenza dei FB non hanno uno stato interno: producono sempre lo stesso risultato per medesimi ingressi.

• Una funzione ha solo un output (per controllare il flusso dati nei linguaggi grafici ci sono un input e output addizionali, EN ed ENO)

Page 17: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 16

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Il modello software - POU• Lo standard definisce program, function blocks

e function come Program Organisation Units (POU).

• Le POU sono componenti dal comportamento ripetitivo che possono essere usate in differenti parti di una applicazione

• Le POU incoraggiano la riusabilità del codice dal macro-livello con i program, al micro-livello con le function

• A differenza dei linguaggi di alto livello, la IEC 1131-3 impedisce l’utilizzo di POU ricorsive. Questo perché è difficile testare il software ricorsivo e non è predicibile il suo comportamento real-time.

• Program e Function blocks possono essere descritte con ST, IL, FBD, LD, SFC. Le function con ST, IL, FBC, LD.

Page 18: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 17

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

PLC a singolo processore

Page 19: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 18

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

PLC multi-processore

Page 20: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 19

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Rete di PLC

Page 21: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 20

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Struttura gerarchica del SW di un PLC

Page 22: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 21

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Comunicazione tra PLC

Page 23: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 22

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Partenze di un PLC

COLD

Durante una partenza COLD tutte levariabili sono inizializzate a valori di defaulto a quelli ridefiniti dall’utente

WARM

Durante una partenza WARM solo levariabili NON-RETENTIVE (attributo RETAINnon presente) sono inizializzate ai valori didefault o a quelli ridefiniti dall’utente.

Le variabili con attributo RETAIN nonvengono inizializzate ma continuano adassumere l’ultimo valore precedente allaWARM start

HOT

Durante una partenza HOT nessunavariabile viene inizializzata

Page 24: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 23

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Linguaggio di programmazione Ladder

E' il più vecchio linguaggio diprogrammazione per PLC

Si basa su simboli di provenienza "elettrica":

binari di potenza (power rail), contattielettrici e avvolgimenti magnetici (coil)

Si articola in linee orizzontali dette “rung”

Ciascun “rung” può contenere contatti, coil,Function Block e Funzioni

Ciascun "rung" deve essere connessonecessariamente al binario di potenzasinistro (left power rail), mentre ilcollegamento con quello destro è opzionale

Page 25: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 24

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Elementi di base Ladder

Power rail

Linee Elettriche orizzontali

Connessioni ai power rail

Contatto normalmente aperto

Contatto normalmente chiuso

Coil

Negated coil

Page 26: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 25

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Utilizzo dei contatti

Ad ogni contatto viene associata una variabilebinaria. Tale variabile viene solamente letta (puòcoincidere con un ingresso).

Contatto Normalmente Aperto: la corrente fluisce dasinistra a destra se la variabile IN è 1. La corrente fluiscea destra per qualunque scansione del ProgrammaLadder fino a quando la variabile IN diviene 0

IN

Contatto Normalmente Chiuso: la corrente fluisce dasinistra a destra se la variabile IN è 0. La corrente fluiscea destra per qualunque scansione del DiagrammaLadder fino a quando la variabile IN diviene 1

IN

Page 27: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 26

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Utilizzo dei coil

Ad ogni coil viene associata una variabile binaria.La variabile viene scritta (può coincidere con unauscita fisica).

Coil: la variabile OUT associata al Coil è posta a 1 se viè una corrente che fluisce da sinistra. La variabilerimane a 1 per qualunque scansione del ProgrammaLadder fino a quando la corrente cessa di fluire dasinistra. OUT

Negated Coil: la variabile OUT associata al NegatedCoil è posta a 0 se vi è una corrente che fluisce dasinistra. La variabile rimane a 0 per qualunquescansione del Programma Ladder fino a quando lacorrente cessa di fluire da sinistra.

OUT

Page 28: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 27

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Altri contatti del linguaggio Ladder (1/2)

La corrente fluisce da sinistra a destra del PositiveTransition-Sensing Contact, se la variabile INpassa da 0 a 1. La corrente fluisce a destra soloper una scansione del Programma Ladder (quellarelativa alla transizione).

Contatto sensibile alla transizione 0-1 (Positive

Transition-Sensing Contact)

IN

P

Valore di IN quando viene valutato il rung

Corrente alla Destra

1 OFF OFF

2 ON ON

3 ON OFF

4 ON OFF

5 OFF OFF

Scansione

Page 29: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 28

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Altri contatti del linguaggio Ladder (2/2)

La corrente fluisce da sinistra a destra delNegative Transition-Sensing Contact, se lavariabile IN passa da 1 a 0. La corrente fluisce adestra solo per una scansione del DiagrammaLadder (quella relativa alla transizione).

Contatto sensibile alla transizione 1-0 (Negative

Transition-Sensing Contact)

IN

N

Valore di IN quando viene valutato il rung

Corrente alla Destra

1 ON OFF

2 OFF ON

3 OFF OFF

4 OFF OFF

5 ON OFF

Scansione

Page 30: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 29

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Altri coil del linguaggio Ladder

La variabile OUT associata al coil e' posta a 1 se vie' una corrente che fluisce da sinistra. La variabilerimane a 1 per qualunque scansione delDiagramma Ladder fino a quando viene utilizzatoun coil RESET.

La variabile OUT associata al coil e' posta a 0 se vie' una corrente che fluisce da sinistra. La variabilerimane a 0 per qualunque scansione delDiagramma Ladder fino a quando viene utilizzatoun coil SET.

Set Coil S

OUT

Reset Coil R

OUT

Page 31: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 30

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Logiche Ladder di base

Logica AND

STOP FANSTART M

Logica OR

STOP FAN

IN

MSTART

S

Page 32: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 31

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Regole di esecuzione dei Rung

Un programma scritto in linguaggio Ladderviene eseguito valutando un rung alla volta.

L'ordine di valutazione dei rung è quello cheprocede dal primo rung in alto verso l'ultimorung in basso.

Quando l'ultimo rung viene valutato, si inizianuovamente a valutare il primo rung (dopoaver aggiornato le uscite e letti gli ingressi).

Nel caso in cui vengano disegnati rungadiacenti, l'ordine di valutazionegeneralmente procede dal rung posto asinistra verso quello posto alla destra.

Page 33: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 32

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Effetti collaterali delle regole di esecuzione dei Rung

L'ordine di valutazione comporta la necessità diriunificare i rung che operano delle modifiche(Write) sulle stesse variabili o sulle stesse uscite.

Esempio:

L'effetto di IN1, IN2,e IN3 sulla variabileFAN è nullo. Lavariabile può esseremodificata solo da IN4e IN5, a causa dellaposizione del rung cheli contiene

IN2 FAN

IN5

IN1 IN3

IN4 FAN

........

........

........

IN2 FAN

IN5

IN1 IN3

IN4

Riunificando i rung, lavariabile FAN verràaggiornata solo dopoaver valutato il rungcomposto dagli ingressiIN1, IN2, IN3, IN4 eIN5

Page 34: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 33

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Uso di istanze di Function Block e di Funzioni

E' possibile connettere coil con le uscite dell'istanza del FB odella funzione, purché esse siano binarie

Nel caso in cui una Istanza di FB o una funzione richieda uningresso binario sempre TRUE, e' possibile collegare taleingresso direttamente al power rail di sinistra

Eventuali variabili analogiche o valori analogici (interi, reali,temporali, etc.) possono essere connessi direttamente aicorrispondenti ingressi dell'istanza del FB o della funzione

E' possibile connettere contatti con gli ingressi dell'istanzadel FB o della funzione, purché essi siano binari

x

FB1

Nome Istanza

T#1s

y

In1

In2

In4

In5

Out1

Out2

In3

Page 35: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 34

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Feedback Paths

Il valore della variabile associata al contatto FAN è quello

valutato nell'ultima valutazione (rung precedente).

NOTA: L'uso dei Feedback può essere pericoloso, in quanto

può portare ad una instabilità delle uscite del PLC.

Ad esempio, l'uscita FAN diviene instabile se inizialmenteFAN=0 e nel tempo gli ingressi IN1, IN2, IN3 e IN4 simantengono costanti e pari a IN1=0, IN2=0, IN3=1, IN4=1

E' possibile che un rung

presenti dei contatti e dei coil ai

quali vengono associate le

stesse variabili

IN2 FAN

FAN

IN1 IN3

IN4

OUTFAN

Page 36: Programmable Logic Controller - Seconda partedocenti.etec.polimi.it/IND32/Didattica... ·  · 2011-07-18Maggi –Bassetti –Mauri lunedì 10 novembre 2008 2 Sistemi per l’automazione

Maggi – Bassetti – Mauri lunedì 10 novembre 2008 35

Sistemi per l’automazione industriale Programmable Logic Controller – Seconda parte

Tecnica di programmazione Ladder

Rappresentare la soluzione del problema con unamacchina a stati.

Ogni stato viene rappresentato da una variabilelocale.

Per ogni stato vengono identificate le azioni daeseguire.

Vengono identificate gli eventi che producono ilpassaggio di stato. Ciascun evento dovràcorrispondere ad una variabile.

Il programma in Ladder si compone di tre porzioni:

Rappresentazione dell’attivazione di un nuovo statoa partire da ciascuno stato per un determinatoevento

Rappresentazione della disattivazione di ciascunodegli stati a causa dell’attivazione di un altro stato

Rappresentazione delle azioni eseguite in ciascunodegli stati