Automazione
(SFC)
- Parte 2
• STRUTTURE DI COLLEGAMENTO
STRUTTURE DI COLLEGAMENTO
Abbiamo visto la STRUTTURA DI BASE del linguaggio SFC.
Passiamo ora a studiare le STRUTTURE DI COLLEGAMENTO tra i diversi STATI.
1.X 1.T
2.X 2.T
Condizione 1 Q1 A1 V1
Q2 A2 V2
• n.X – TIMER –DURATA dell’intervallo di ATTIVAZIONE
• n.T – MARKER – TRUE se lo stato è ATTIVO
• Am – IDENTIFICATORE (UNIVOCO) della azione
• Qm – QUALIFICATORE della tipologia di azione
• Vm – VARIABILE TRUE se l’azione è stata terminata
La prima STRUTTURA DI COLLEGAMENTO è la SCELTA o DIVERGENZA tra due o più stati successivi.
Quando lo STATO n è ATTIVO, le CONDIZIONI A VALLE sono ABILITATE. Per decidere n
n+2
n+1
…
n+kcond n+1 cond n+2 cond n+k
ESEMPIO
Riprendendo L’ESEMPIO DALLA TAGLIERINA, supponiamo che A VALLE del dispositivo di taglio vi sia un SENSORE DI MISURA che IN BASE ALLA MISURAZIONE del pezzo
tagliato esegue DUE STAMPI DIFFERENTI.
È evidente che per un corretto funzionamento è necessario che le AZIONI DI STAMPO siano MUTAMENTE ESCLUSIVE.
Taglierina verticale
nastro trasportatore film
MOTORE LINEARE
SENSORE OTTICO SENSORI DI INIZIO
E FINE CORSA
MOTORE LINEARE
MOTORE LINEARE
SENSORE
!
MISURA
nastro trasportatore
"#
Tracciando il diagramma SFC avremo:
2
3 4
1
Prodotto rilevato Movimento
Nastro
Misurazione
Tratto lungo Tratto breve
Stampo A Stampo B
PROPRIETÀ DI MUTUA ESCLUSIONE
Lo standard IEC 61131-3 richiede che la STRUTTURA DI COLLEGAMENTO di tipo SCELTA o DIVERGENZA soddisfi il vincolo di MUTUA ESCLUSIONE delle scelte.
Per IMPORRE tale vincolo, viene aggiunto alle condizioni di scelta l’AND LOGICO di tutte le CONDIZIONI successive NEGATE.
n
n+2
n+1
…
n+kcond n+1 cond n+2 cond n+k
La STRUTTURA DI COLLEGAMENTO che vede TERMINARE PIÙ SEQUENZE in un MEDESIMO STATO attraverso DIFFERENTI TRANSIZIONI, è la CONVERGENZA.
n+k+1
n+2
…
cond n+k+1 cond n+k+2 cond n+2k
n+1 n+k
La CONVERGENZA è la logica TERMINAZIONE di una DIVERGENZA MUTUAMENTE ESCLUSIVA.
n+k+1
n+2
…
cond n+k+1 cond n+k+2 cond n+2k
n+1 n+k
n
cond n+1 cond n+2 cond n+k
DIVERGENZA MUTUAMENTE ESCLUSIVA
CONVERGENZA
ESEMPIO
Riprendendo L’ESEMPIO di prima, supponiamo che A VALLE del dispositivo di stampo vi sia un SENSORE DI QUALITÀ che FOTOGRAFA il pezzo e quindi un circuito di espulsione del pezzo.
SSSSSSSSSSSSSSSS!
CIRCUITO DI ESPULSIONE MOTORE
LINEARE
MOTORE LINEARE
SENSORE
!
MISURA
nastro trasportatore
SENSORE QUALITÀ
Il diagramma SFC sarà:
2
3 4
Prodotto rilevato Misurazione
Tratto lungo Tratto breve
Stampo A Stampo B
Stampo A terminato Stampo B terminato
5 Test qualità
6
Foto terminata Espulsione DIVERGENZA
MUTUAMENTE ESCLUSIVA
CONVERGENZA
La STRUTTURA DI COLLEGAMENTO che permette l’attivazione di SEQUENZE PARALLELE a partire da una singola TRANSIZIONE, è il PARALLELISMO.
Quando la TRANSIZIONE viene ATTIVATA, TUTTI gli STATI A VALLE vengono ATTIVATI.
cond n n
n+2
n+1
…
n+kESEMPIO
Si consideri un sistema di lavorazione di due ELEMENTI METALLICI (TIPO A e TIPO B) composto da un NASTRO TRASPORTATORE, un SENSORE OTTICO per la rilevazione del tipo di pezzo e tre azionamenti deputati al RISCALDAMENTO, alla FORATURA e alla SALDATURA.
• Se il pezzo da lavorare è di TIPO A, deve essere CONTEMPORANEAMENTE RISCALDATO ad una temperatura prefissata e FORATO;
• Se il pezzo da lavorare è di TIPO B, deve essere RISCALDATO e FORATO e in seguito RISCALDATO e SALDATO.
MOTORE LINEARE
nastro trasportatore
MOTORE LINEARE
SENSORE OTTICO
Riscaldamento Foratura
Saldatura
Progettiamo la logica di controllo tramite diagrammi SFC. Innanzitutto AZIONIAMO IL NASTRO TRASPORTATORE ed IDENTIFICHIAMO IL PEZZO DA LAVORARE usando una DIVERGENZA:
2 1
Prodotto rilevato dal sensore ottico Movimento
Nastro
Identificazione
Prodotto di tipo A Prodotto di tipo B DIVERGENZA
Considerando il ramo a sinistra (Prodotto di tipo A), dovremmo utilizzare un PARALLELISMO per attuare RISCALDAMENTO e FORATURA come da specifica.
2 1
Prodotto rilevato dal sensore ottico Movimento
Nastro
Identificazione
Prodotto di tipo A Prodotto di tipo B DIVERGENZA
PARALLELISMO
Ma questa rappresentazione VIOLA il FORMALISMO dei DIAGRAMMI SFC.
2 1
Prodotto rilevato dal sensore ottico Movimento
Nastro
Identificazione
Prodotto di tipo A Prodotto di tipo B DIVERGENZA
PARALLELISMO
VIOLAZIONE
Prima del PARALLELISMO c’è una
La soluzione è quella di introdurre uno STATO DUMMY, che non fa NULLA, la cui TRANSIZIONE è sempre TRUE. L’utilità degli stati dummy è quella di conservare la CORRETTEZZA FORMALE del diagramma SFC.
2 1
Prodotto rilevato dal sensore ottico Movimento
Nastro
Identificazione
Prodotto di tipo A Prodotto di tipo B DIVERGENZA
PARALLELISMO
3
true
PARALLELISMO
4
true
Terminiamo quindi l’esempio, riportando le azioni degli stati da eseguire in parallelo.
2 1
Prodotto rilevato dal sensore ottico Movimento Nastro
Prodotto di tipo A Prodotto di tipo B
3
true
4
true Identificazione
5 Riscaldamento
pezzo di tipo A 6 Foratura di tipo A 8 Foratura di
tipo B
7 Riscaldamento pezzo di tipo B
9 Saldatura di tipo B
Foratura completata Riscaldamento
completato Riscaldamento
completato
Foratura completata
La STRUTTURA DI COLLEGAMENTO duale al parallelismo è la SINCRONIZZAZIONE.
Essa è data da una TRANSIZIONE con più STATI A MONTE.
La TRANSIZIONE viene ABILITATA solo quando TUTTI gli STATI A MONTE vengono ATTIVATI.
cond n n
n – k +1
n - k
…
n - 1cond n+1 SINCRONIZZAZIONE
ESEMPIO
Si consideri il sistema dell’esempio precedente. A valle di esso ci sono un SENSORE DI QUALITÀ che fotografa il pezzo e un CIRCUITO DI ESPULSIONE.
MOTORE LINEARE
nastro trasportatore
MOTORE LINEARE
SENSORE OTTICO
Riscaldamento Foratura
Saldatura CIRCUITO DI ESPULSIONE SENSORE
QUALITÀ SSSSSSSSSSSSSSSS!
Sembra intuitivo aggiungere una SINCRONIZZAZIONE al termine degli stati 5,6 e 7,9…
2 1
Prodotto rilevato dal sensore ottico Movimento Nastro
Prodotto di tipo A Prodotto di tipo B
3
true
4
true Identificazione
5 Riscaldamento
pezzo di tipo A 6 Foratura di tipo A 8 Foratura di
tipo B
7 Riscaldamento pezzo di tipo B
9 Saldatura di tipo B
Foratura completata Riscaldamento
completato
Saldatura completata Riscaldamento
completato
Foratura completata
VIOLAZIONE - Prima della SINCRONIZZAZIONE NON ci sono TRANSIZIONI, ma STATI…
È pertanto necessario aggiungere
degli STATI di ATTESA (10-13). 2
Prodotto rilevato dal sensore ottico
Prodotto di tipo A Prodotto di tipo B
3
true
4
true Identificazione
5 Riscaldamento
pezzo di tipo A 6 Foratura di tipo A 8 Foratura di
tipo B
7 Riscaldamento pezzo di tipo B
9 Saldatura di tipo B
Foratura completata Riscaldamento
completato
Saldatura completata Riscaldamento
completato
Foratura completata
13 11 12
10
Le due SINCRONIZZAZIONI sono seguite da due TRANSIZIONI
poste a TRUE. 2
Prodotto rilevato dal sensore ottico
Prodotto di tipo A Prodotto di tipo B
3
true
4
true Identificazione
5 Riscaldamento
pezzo di tipo A 6 Foratura di tipo A 8 Foratura di
tipo B
7 Riscaldamento pezzo di tipo B
9 Saldatura di tipo B
Foratura completata Riscaldamento
completato
Saldatura completata Riscaldamento
completato
Foratura completata
13 11 12
10
true true
Chiude quindi una CONVERGENZA.
2
Prodotto rilevato dal sensore ottico
Prodotto di tipo A Prodotto di tipo B
3
true
4
true Identificazione
5 Riscaldamento
pezzo di tipo A 6 Foratura di tipo A 8 Foratura di
tipo B
7 Riscaldamento pezzo di tipo B
9 Saldatura di tipo B
Foratura completata Riscaldamento
completato
Saldatura completata Riscaldamento
completato
Foratura completata
13 11 12
10
Si chiude quindi il DIAGRAMMA SFC. Identificazione
L’inserimento degli STATI di ATTESA serve a far TERMINARE gli stati operativi
INDIPENDENTEMENTE l’uno dall’altro.
Identificazione
Nel diagramma SFC a SINISTRA, gli stati 5 e 6 devono RIMANERE ENTRAMBI ATTIVI fino a quando il più lento dei due stati termina. Nel diagramma SFC a DESTRA, gli stati 5 e 6 possono DIVENTARE INATTIVI INDIPENDENTEMENTE L’UNO DALL’ALTRO.
5 Riscaldamento
pezzo di tipo A 6 Foratura di tipo A
Riscaldamento completato
11 10
true
Prodotto di tipo A
3
true
5 Riscaldamento
pezzo di tipo A 6 Foratura di tipo A
true
Prodotto di tipo A
3
true
(Riscaldamento completato)*(Foratura completata)
Foratura completata
Cosa succede se due SEQUENZE INDIPENDENTI devono accedere ad una RISORSA CONDIVISA, MUTUAMENTE ESCLUSIVA, del sistema da automatizzare?
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m
Condizione m+1
Condizione m+2
manipolatore
Sequenza n Sequenza m
Risorsa condivisa mutuamente esclusiva
Supponiamo che gli STATI n ed n+1 della SEQUENZA n e gli STATI m ed m+1 della SEQUENZA m ACCEDANO CONCORRENTEMENTE alla STESSA RISORSA CONDIVISA.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m
Condizione m+1
Condizione m+2
manipolatore
Sequenza n Sequenza m
Risorsa condivisa mutuamente esclusiva
È necessario EVITARE che gli stati n o n+1 siano ATTIVI CONTEMPORANEAMENTE con gli stati m o m+1.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m
Condizione m+1
Condizione m+2
manipolatore
Sequenza n Sequenza m
Risorsa condivisa mutuamente esclusiva
OSSERVAZIONE
PROVIAMO ad imporre una condizione di MUTUA ESCLUSIONE sulle CONDIZIONI…
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m
Condizione m+1
Condizione m+2
manipolatore
Sequenza n Sequenza m
Risorsa condivisa mutuamente esclusiva
Condizione m-1 := (Condizione m-1) * (not Condizione n-1)
OSSERVAZIONE
PROVIAMO ad imporre una condizione di MUTUA ESCLUSIONE sulle CONDIZIONI…
…Ma tale soluzione NON GARANTISCE la MUTUA ESCLUSIONE !!!
Condizione n-1
Condizione m-1 Azione n
Azione m
CONFLITT O
DEFINIZIONE
Si definisce SEMAFORO uno STATO associato ad una RISORSA CONDIVISA MUTUAMENTE ESCLUSIVA. Un SEMAFORO È ATTIVO SE E SOLO SE LA RISORSA È DISPONIBILE.
OSSERVAZIONE
In generale per indicare che all’avvio del controllo logico sequenziale una risorsa è disponibile, il SEMAFORO è rappresentato da uno STATO INIZIALE.
Risorsa condivisa
mutuamente esclusiva S Semaforo
S.X = 1 ! " risorsa disponibile
S Semaforo
Usiamo il SEMAFORO, il PARALLELISMO e la SINCRONIZZAZIONE per risolvere il problema di ACCESSO CONCORRENTE ad una RISORSA CONDIVISA MUTUAMENTE ESCLUSIVA.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Supponiamo che gli STATI n-1, m-1 siano ATTIVI. Supponiamo che la risorsa condivisa sia LIBERA. Supponiamo che le Condizioni n-1 e m-1 NON SIANO VERIFICATE.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1
m+2 Azione m+2 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Dato che gli STATI n-1 ed S sono ATTIVI, la Transizione n-1 è ABILITATA.
Dato che gli STATI m-1 ed S sono ATTIVI, la Transizione m-1 è ABILITATA.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Supponiamo che ad un ISTANTE DI TEMPO t, la Condizione n-1 sia VERIFICATA…
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1
m+2 Azione m+2 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Conseguentemente la Sequenza n può passare allo stato n e BLOCCARE la RISORSA CONDIVISA (S.X = 0).
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Supponiamo ora che la Condizione m-1 sia VERIFICATA… Essendo lo STATO S INATTIVO, la TRANSIZIONE m-1 non è ABILITATA !!!
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1
m+2 Azione m+2 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Supponiamo intanto che la Sequenza n proceda. Prima passando allo stato n+1…
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Supponiamo intanto che la Sequenza n proceda. Prima passando allo stato n+1…
…quindi allo stato n+2 che LIBERA LA RISORSA CONDIVISA…
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1
m+2 Azione m+2 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
…appena la risorsa condivisa si libera, la TRANSIZIONE m-1 è ATTIVATA e quindi l’azione m viene ESEGUITA, occupando nuovamente la risorsa condivisa.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
OSSERVAZIONE
Dato lo stato in figura, cosa succede se le condizioni n-1 e m-1 si attivano assieme?
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1
m+2 Azione m+2 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
Si corre il rischio di ATTIVARE ENTRAMBI GLI STATI che ACCEDONO IN MANIERA CONCORRENTE ALLA RISORSA CONDIVISA, generando così un CONFLITTO…
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1 Condizione m+1
S Risorsa condivisa mutuamente esclusiva
CONFLITT O
La SOLUZIONE consiste nell’evitare questa possibile AMBIGUITÀ, ASSEGNANDO UNA PRIORITÀ alle CONDIZIONI. Ad esempio:
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Sequenza n Sequenza m
m-1 Azione m-1
m Azione m
Condizione m-1
Condizione m
m+1 Azione m+1
m+2 Azione m+2 Condizione m+1
S Risorsa condivisa mutuamente esclusiva Condizione m-1 := (m-1).X * (not (n-1).X )
Cosa succede se due SEQUENZE PARALLELE sono DIPENDENTI l’una dall’altra?
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m
Condizione m+1
Condizione m+2
Sequenza A Sequenza B
La SEQUENZA B può procedere oltre lo STATO m
SOLO DOPO CHE
la SEQUENZA A ha completato le
azioni dello STATO n
Una soluzione basata sull’uso di SINCRONIZZAZIONE e PARALLELISMO non va bene.
n-1 Azione n-1
n Azione n
Condizione n-1
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m
m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m+1
Condizione m+2
Sequenza A Sequenza B
(Condizione n) * (Condizione m)
Tale soluzione IMPONE una DIPENDENZA anche allo STATO n.
Lo STATO n NON PUÒ PROSEGUIRE se lo STATO m non può transire nello STATO m +1…
Una soluzione basata sull’imposizione di determinate CONDIZIONI è anch’essa destinata a FALLIRE.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m
Condizione m+1
Condizione m+2
Sequenza A Condizione m := (Condizione m) * (Condizione n) Sequenza B
La condizione m può ESSERE VERIFICATA INDIPENDENTEMENTE dal fatto che le
azioni dello STATO n siano state eseguite o meno.
Una soluzione basata sull’imposizione di determinate CONDIZIONI è anch’essa destinata a FALLIRE.
n-1 Azione n-1
n Azione n
Condizione n-1
Condizione n
n+1 Azione n+1
n+2 Azione n+2 Condizione n+1
Condizione n+2
m-1 Azione m-1
m Azione m m+1 Azione m+1
m+2 Azione m+2 Condizione m-1
Condizione m
Condizione m+1
Condizione m+2
Sequenza A Condizione m := Sequenza B
(Condizione m) * (Condizione n) * (n.X)
In questo caso NON SI HA MEMORIA che lo STATO n sia stato eseguito.
Pertanto se la Condizione m è
VERIFICATA DOPO CHE lo STATO n viene terminato (n.X = 0), la
TRANSIZIONE m non si ATTIVA mai…
Per sopperire alla mancanza di MEMORIA è necessario usare un SEMAFORO per la SINCRONIZZAZIONE di SEQUENZE PARALLELE.
n-1 Azione n-1
n Azione n
Condizione n-1
n+1 Azione n+1 Condizione n+1
m-1 Azione m-1
m Azione m
m+1 Azione m+1 Condizione m-1
Condizione m+1
Sequenza A Quando lo STATO n passa allo STATO n+1, Sequenza B
il SEMAFORO viene ATTIVATO, permettendo allo STATO m di passare allo STATO m+1.
Se il SEMAFORO NON viene ATTIVATO, lo STATO m NON POTRÀ passare allo STATO m+1.
Quando lo STATO m passa allo STATO m+1 il semaforo viene DISATTIVATO.
S
Condizione n
Condizione m
Sezione 7.3
TITOLO
Sistemi di automazione industriale
Architetture e controllo
AUTORI
Claudio Bonivento Luca Gentili
Andrea Paoli EDITORE McGraw-Hill