Sistemi e Architetture per l'Automazione...

117
Sistemi e Architetture per l'Automazione L Laurea in Ingegneria e Scienze Informatiche Ing. Lorenzo Moriello DEI - Università di Bologna E-mail: [email protected] https://www.unibo.it/sitoweb/lorenzo.moriello2 Controllo Logico nellAutomazione Industriale

Transcript of Sistemi e Architetture per l'Automazione...

Page 1: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Sistemi e Architetture per l'Automazione L

Laurea in Ingegneria e Scienze Informatiche

Ing. Lorenzo Moriello

DEI - Università di Bologna

E-mail: [email protected]

https://www.unibo.it/sitoweb/lorenzo.moriello2

Controllo Logico nell’Automazione Industriale

Page 2: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 5

Generalità sul

Progetto di Controlli Logici

Page 3: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 6

Progettazione di Controlli Logici

Introduzione

La progettazione del Controllo di Sequenze per un Sistema Industriale è un compito complesso

Verranno presentati, in modo intuitivo e non formale, i passi logici della soluzione Chiarimento del compito e strutturazione del sistema

Progetto funzionale:

Definizione automa per imporre la sequenza voluta

Progetto implementativo/tecnologico:

Elaborazione dei documenti di specifica

Realizzazione del Progetto

Collaudo del sistema di controllo e messa in funzione della macchina

Stesura della documentazione

Page 4: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 7

Progettazione di Controlli Logici

Chiarimento del compito e strutturazione del sistema

Descrizione generale del sistema da automatizzare

Descrizione del funzionamento che si vuole ottenere

Descrizione dettagliata del sistema Grado di automazione delle parti

tutto senza operatore?

Definizione di cosa misurare e di come e dove attuare

Interconnessione con CONTROLLI DIRETTI DI VAR. TEMPORALI

… spesso già fissato a priori….

Strutturazione della macchina in parti omogenee funzionalmente

correlazione nel processo produttivo/operativo

spazialmente

collocazione fisica adiacente

Page 5: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 8

Progettazione di Controlli Logici

Chiarimento del compito e strutturazione del sistema

Descrizione generale del sistema da automatizzare

Ogni livello individua entità astratte o concreteopportunamente cooperanti, contraddistinte da ben

predefiniti ruoli, funzionalità, interfacce e protocolli di interazione con le altre entità operanti

nello stesso livello e nei livelli adiacenti della gerarchia.

Esplorando i livelli della gerarchia dall’altoverso il basso, aumenta il numero di

componenti,ma diminuisce la complessità sia

comportamentaleche strutturale di ciascuno di essi.

La descrizione del comportamento complessivo

di una macchina può essere più e più voltedecomposta in comportamenti più semplici

(approccio “divide et impera”).

Page 6: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 9

Progettazione di Controlli Logici

Descrizione del processo impacchettatrice

Alimentazione

del prodotto

Formazione

del pacco

Stesura del film e

movimentazione del pacco

Avvolgimento

del pacco

Saldatura Espulsione

Pacco finito

Page 7: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 10

Progettazione di Controlli Logici

Progetto Funzionale Dalla descrizione di funzionamento

Dalla struttura di massima

Grado di automazione

Dove attuare e misurare

Interconnessione con CONTROLLI DIRETTI

Definizione di Automa o di Automi interagenti per imporre la sequenza voluta

Ma:

Quale linguaggio per descriverlo?

Vedi dopo

Documento fondamentale

Spesso omesso…

NB: il progetto del controllo logico, in senso stretto, finirebbe qui…

Page 8: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 11

Progettazione di Controlli Logici: il seguito

Elaborazione dei documenti di specifica delle parti

(Inizio del Progetto Implementativo)

Cruciale per la buona riuscita del progetto

Mappatura su architettura Hardware/Software dei compiti

INSIEME ALLA MAPPATURA DI CONTROLLI DIRETTI

Scelta dei sistemi di elaborazione e mappatura degli automi

Riprogrammabili o cablati?

Scelta di dettaglio dei sensori e degli attuatori

Scelta dei sistemi di comunicazione

… eventuale loop col progetto funzionale…

Già accennato all’inizio del corso

Page 9: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 12

Progettazione di Controlli Logici: il seguito

Elaborazione dei documenti di specifica

(Inizio del Progetto Implementativo)

Lavoro di gruppo

Diverse persone che si occupano delle diverse parti

sensori/attuatori

elaboratori e implementazione SW

Elaboratori “cablati”

specifiche chiare e non ambigue

interfacce ben definite

Page 10: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 13

Progettazione di Controlli Logici: il seguito

Realizzazione del Progetto Hardware

acquisto controllori industriali

acquisto + progettazione di parti specifiche

progettazione completa

Software applicativo Va progettato/realizzato secondo l’automa risultante dal progetto

funzionale

Deve tenere in conto delle caratteristiche dell’arch. HW

Elaboratore:

Risorse computazionali

S.O. RT Event Driven o Time Driven?

Applicazione reattiva o ciclica pseudotrasformazionale?

Caratteristiche dei sensori/attuatori

Caratteristiche del sistema di comunicazione/interfacciamento

Caratteristiche degli elaboratori per controllo diretto

Page 11: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 14

Progettazione di Controlli Logici: il seguito

Realizzazione del Progetto

Software applicativo (continuazione)

Seguire regole generali per progetto/sviluppo SW per uso

professionale/industriale

realizzazione

gruppo di lavoro

manutenzione, aggiornamento, riutilizzo

noi o altre persone

Attività cruciale

Page 12: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 15

Progettazione di Controlli Logici: il seguito

Collaudo del sistema di controllo e messa in

funzione dell'impianto

Fase costosa e delicata

realizzata da altre persone

realizzata presso il cliente

esigenze di avvio della produzione

tempi e costi dipendono fortemente dalla qualità della fase

di progettazione

meglio investire tempo e risorse sulla progettazione che spendere

poi nel collaudo e nella messa in servizio

Nella pratica industriale raramente viene seguita

questa filosofia per diverse motivazioni,

solitamente non tecniche

Page 13: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 16

Progettazione di Controlli Logici: il seguito

Stesura della documentazione

La documentazione è parte integrante e fondamentale di

un progetto industriale

un progetto non è completato finché non è corredato da adeguata

documentazione

La predisposizione della documentazione va effettuata

congiuntamente con lo sviluppo di ogni fase della

progettazione

Tecniche di progettazione che intrinsecamente producono

documentazione sono da privilegiare

CAD

programmazione strutturata

SFC

(GEMMA)

Page 14: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 17

Progettazione di Ctrl Logici: torniamo all’automa

Strumenti di modellazione per il controllo di

sequenze

Come rappresentare l’automa o l’insieme di automi?

Obiettivi della rappresentazione:

Elevato potere espressivo

Complessità ridotta

Facile leggibilità

Indipendenza dall’implementazione

Page 15: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 18

Progettazione di Ctrl Logici: torniamo all’automa

Strumenti di modellazione per il controllo di

sequenze:

Possibili soluzioni:

descrizione letterale (a parole)

lunga, imprecisa, troppo personale

descrizione puramente logica

troppo particolareggiata

legata alla tecnologia implementativa

diagrammi temporali

pesante

carenza nella descrizione degli elementi sequenziali

Page 16: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 19

Progettazione di Ctrl Logici: torniamo all’automa

Strumenti di modellazione per il controllo di

sequenze:

Possibili soluzioni:

diagramma degli stati

Molto interessante

Concetto di stato esplicito

Rappresentazione concentrata ed efficace della situazione

operativa raggiunta in funzione del passato

Restringe analisi dell’informazione: solo ciò che è interessante

in una data condizione operativa

Soluzione “tipo reti logiche”: strumento idoneo per sistemi di

modesta complessità perché troppo particolareggiato

Idoneo anche per sistemi complessi con una opportuna

ridefinizione del concetto di stato…. SFC…

Page 17: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 24

Lo standard IEC 61131-3

Page 18: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 25

Lo Standard IEC 61131-3

SCOPO

Definire linguaggi standard per la programmazione di PLC

Stimolare una normalizzazione della sintassi dei linguaggi di

programmazione per l'automazione

Considerazioni

Parte della norma IEC61131 (1993, recepita in Italia nel 1996,

revisione in 2003) riguarda la standardizzazione PLC

IEC61131-1: Definizione PLC

IEC61131-2: Architettura HW/SW dei PLC (Real-time Time

Driven)

IEC61131-3: Linguaggi di programmazione per implementare

su PLC i controlli di sequenze e linee guida per il loro utilizzo

Linguaggi di programmazione, tipi di dato, variabili, risorse,

program organization unit (POU)

Tutti i documenti della norma disponibili a:

https://webstore.iec.ch/searchform&q=61131

Page 19: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 26

Lo Standard IEC 61131-3

5 linguaggi proposti:

Grafici: SFC, LD, FBD

Testuali: ST, IL

Cinque sono tanti!

Stesura della norma condizionata dalla precedente pratica

industriale…

Linguaggi molto diversi tra loro

Tengono conto in modo diverso delle caratteristiche del

PLC:

Esecuzione sequenziale

PLC sistema tipicamente monoprocessore (modello della

macchina di Von Neumann)

S.O. Real Time, Time Driven: “ciclo while intrinseco”

Page 20: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 27

Lo Standard IEC 61131-3

Tra i diversi linguaggi proposti nella norma ve ne è uno

(SFC) che mostra:

elevata potenza espressiva

elevata semplicità e leggibilità

potenziale… necessario corretto utilizzo

scarso legame con l’implementazione

solo in alcuni punti non fondamentali…

NB: addirittura nella norma è tenuto separato dagli altri linguaggi

BUONO PER LA RAPPRESENTAZIONE FUNZIONALE DEL

CONTROLLO DI SEQUENZE

Insieme ad alcuni costrutti particolari (Function Blocks, FB), che

vedremo in seguito

Page 21: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 28

Lo Standard IEC 61131-3

In seguito (in questo gruppo di lucidi):

Carrellata dei 5 linguaggi

Cenni a tipi di dato e organizzazione del SW secondo la

IEC 61131-3

Approfondimento dell’SFC

Page 22: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 29

Ladder Diagram

Page 23: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 30

Ladder Diagram

• Schema a contatti

• Traduzione informatica degli schemi logici a relè che erano utilizzati nella

definizione di controllori logico/sequenziali cablati

• Nato proprio per permettere un passaggio indolore dalla progettazione

cablata alla programmazione

• Simboli di provenienza elettrica per permettere una semplice

comprensione a tecnici dalle conoscenze informatiche scarse o nulle

• Istruzioni rappresentate tramite contatti normalmente aperti o chiusi di un

relè

• bobine di eccitazione per la memorizzazione delle variabili;

• Forma del programma deriva dagli armadi a relè che definivano la logica

cablata.

• Questo linguaggio rimane tuttora il linguaggio di programmazione per

PLC più utilizzato

Page 24: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 31

Ladder Diagram (LD)

Linguaggio a contatti (Ladder Diagram, LD)

AND

( )E1.0 E1.1 A4.0

1

( )OR

E1.2

E1.1

A4.1

2

V+ V-

Grafico

Riprende schemi a relay

Regole base:

Flusso di potenza da sx

verso dx

Esecuzione da alto verso

basso

NB:

Allontanamento da schema

a relay:

- no esecuzione parallela

- no corse critiche

- no ambiguità su percorsi

RELE’

BOBINA

NEGAZIONE

Page 25: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 33

Ladder Diagram (LD)

Rappresentazione grafica di operazioni booleane mediante schemielettrici a relè evoluti

Gli operandi sono rappresentati da contatti

Interruttori che lasciano passare o meno la corrente a seconda del valore della variabile associata

Operazione definita da interconnessione dei contatti

Il risultato dell’operatore è rappresentato da una bobina

Memorizzano il risultato in una variabile di uscita

( )IN1

( )OUT1

V+ V-

IN4

IN2

IN3

OUT2

( )OUT3

IN1

OUT2 := (IN1 or IN2 or not(IN3))

and not(IN4)

OUT3 := (IN1 or IN2 or not(IN3))

and not(IN4)

OUT1 := not (IN1)

Page 26: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 34

Ladder Diagram (LD)

Linguaggio a contatti (Ladder Diagram, LD)

Page 27: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 35

Ladder Diagram (LD)

Linguaggio a contatti (Ladder Diagram, LD)

Page 28: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 37

Function Block Diagram

Page 29: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 38

Function Block Diagram

Rappresentazione di schemi a blocchi funzionali logici

Riprende le reti logiche cablate

Un blocco rappresenta

una funzione

Es. funzione logica, aritmetica, relazionale, ecc.

un function block (equivalente a un’istanza di un oggetto)

Es. contatori, timer, generatori di segnali, ecc.

Tali blocchi funzionali sono rappresentati come delle scatole nere

e sono caratterizzati da dati in ingresso e in uscita e

dall’algoritmo che viene processato al loro interno

V. librerie standard

L’esecuzione avviene dall’alto verso il basso (a parte

utilizzando jump)

Page 30: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 39

Function Block Diagram

Schemi a blocchi funzionali logici

(Function Block Diagram, FBD)

&

E1.0

E1.1

A4.0

1

>= 1

A4.1

E1.2

E1.1

2( )

( )

Grafico

Riprende reti logiche cablate

Regole base:

Flusso di segnale

Esecuzione dall’alto al

basso

Feedback: rete sincrona

NB:

Allontanamento da rete

logica pura:

no esecuzione parallela

no corse critiche

Page 31: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 40

Structured Text

Page 32: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 41

Testo Strutturato

Adatto per

definizione di funzionalità e procedure particolarmente complesse

che richiederebbero una scrittura molto lunga e complessa utilizzando i

linguaggi grafici

Caratterizzato da una lista di istruzioni separate dal

simbolo “;” che indica il termine di ogni istruzione.

L’assegnamento di un valore a una variabile viene espresso

mediante un’istruzione del tipo var := expr;

Per rappresentare gli operatori AND e OR nelle espressioni logiche,

possono anche essere utilizzati i simboli “*” e “+” rispettivamente

Page 33: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 42

Testo Strutturato

Testo Strutturato

(Structured Text, ST)

…….

if (fine_corsa)

then

motore := off;

else

motore := on;

end_if;

…….

Testuale

Pseudo Pascal

Costrutti evoluti

Regole base:

Nessuna particolare

Regole di sviluppo:

Per implementare Ctrl

di sequenze: no loop di

attesa eventi

(sfrutta mappatura in

task pseudotrasf.

Ciclici, tipica di RTOS

time-driven )

Page 34: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 43

Instruction List

Page 35: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 44

Instruction List (IL)

Lista di istruzioni (programmazione basso livello, simil ASSEMBLER)

La maggior parte delle istruzioni

è composta da

un operatore (con modificatore, es. negazione, ritardo)

un solo operando

Fa riferimento al contenuto di un registro di memoria

Per il contenuto dell’ operando

Per memorizzare il risultato dell’operazione

L’operatore indica l’operazione che deve essere eseguita tra il valore

corrente del registro e l’operando. Il risultato viene memorizzato nel

registro.

result:= result OPERATOR operand

LABEL: OPERATOR OPERAND (*COMMENT*)

Lab1: LD BOO1 (*result:=BOO1 *)

AND BOO2 (* result:= result and BOO2 *)

ST BOO3 (* BOO3:=result*)

(* BOO1 and BOO2*)

Page 36: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 45

Instruction List (IL)

Operatori di IL LD (load)

Carica un valore (costante, variabile, ecc.) nel registro

ST (store)

Assegnamento

LD false

ST BOO1 (* BOO1:= false *)

S (set), R (reset)

Inizializzazione condizionata al valore del registroLD true (* se result = true allora BOO1:= true *)S BOO1 (* altrimenti non viene modificato *)

Altri operatori Logici

AND, OR, XOR

Aritmetici

ADD, SUB, MUL, DIV

Relazionali

GT, GE, EQ, LE, LT, NE

Controllo del programma (salto a label, chiamata a funzione,ecc.)

CAL, JMP, RET

Page 37: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 46

Instruction List (IL)

L’esecuzione delle istruzioni avviene dall’alto al basso

Modificatori:

N (negazione)

ORN BOO1 (* result := result OR NOT(BOO1) *)

C (operazione condizionata)

Solo con JMP, CAL, RET

JMPNC LAB1 (* se result=false allora salta a LAB1 *)

(* LAB1 è un’etichetta *)

( ) (operazione ritardata)

AND ( BOO1

OR BOO2

) (* result := result and (BOO1 or BOO2)*)

LD ENABLE

ANDN FINE_CORSA

STR MOTORE

Testuale

Pseudo Assembly

Regole base:

Istruzioni mono-operando con

accumulatore (current result, IL register)

Page 38: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 48

Sequential Function Chart

Page 39: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 49

Lo Standard IEC 61131-3

Sequential Function Chart

1

2

3

4

5

Step/Fasi

Transizioni

Condizioni

per la

transizione

Grafico

Rappresentazione a

diagrammi a stati

“evoluto”:

Piu’ step attivi

…..

Linguaggio

“incompleto”:

transizioni e azioni

definite per mezzo degli

altri

Livello di astrazione e

capacità

rappresentativa elevata

Deriva da Grafcet

Page 40: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 50

Lo Standard IEC 61131-3

Tipi di Dato

Per tutti e 5 i linguaggi

Simili ad altri linguaggi (C, Pascal, etc.):

SINT, INT, DINT, LINT, REAL, LREAL…

Tipi particolari:

Gestione di stringhe di bit:

BOOL, BYTE, WORD…

Rappresentativi di date e tempi

TIME, DATE, TOD, DT

Indicatore di tipo generico:

Per raggruppare diversi tipi:

ANY, ANY REAL…

Manuale Codesys (in seguito) o Libro Bonfatti et al. per dettagli

Peculiarità del PLC

Page 41: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 51

Lo Standard IEC 61131-3

Organizzazione del SW

Obiettivo:

Organizzare l’architettura del SW PLC

Stimolare approccio Top-Down Modularità e Riutilizzo

Legato all’implementazione, ma utile anche per progetto

funzionale…

Program Organization Units (POUs):

FUNCTION

FUNCTION BLOCK

PROGRAM

Vedi Libro Bonfatti et al. per approfondimenti

Page 42: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 52

Lo Standard IEC 61131-3

Organizzazione del SW

FUNCTIONS Procedure prive di memoria che dati certi IN producono un OUT

Invocazione/definizione in linguaggi grafici o testuali

Predefinite o custom

Predefinite:Sono parte degli operatori base di IL, FBD, STSono blocchi particolari per LD

Uso di EN e ENO per garantire “flusso di corrente” in caso di IN-OUT non booleani

Esempi

ADD, TRUNC, SHL, MAX, GE…

Funzioni per ottenere il tempo di sistema

Ma allora i task possono sapere il tempo…. Ma non possono sapere come sarà allocato il tempo CPU.

Manuale Codesys (in seguito) o Libro Bonfatti et al. per dettagli

Page 43: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 53

Lo Standard IEC 61131-3

Organizzazione del SW

FUNCTION BLOCKS

Procedure con memoria che dati certi IN e lo stato producono uno

o più OUT

Invocazione/definizione in linguaggi grafici o testuali

Diverse Istanze (diversi set di dati di memoria, stato)

Predefinite o custom

Esempi di Predefinite:

Bistabili: SR, RS

Edge-detection: R_TRIG, F_TRIG

Counters: CTU, CTD, CTUD

Timers: TP, TON, TOFF

Manuale Codesys (in seguito) o Libro Bonfatti et al. per dettagli

Basate su peculiarità del PLC

Page 44: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 54

Lo Standard IEC 61131-3

Organizzazione del SW

PROGRAMS

Insieme di unità e/o istruzioni costituiscono l’implementazione del

controllo di sequenze di una macchina/impianto o una parte

rilevante di esso

Macro unità

In generale racchiuderà più Functions e Function Blocks

Manuale Codesys (in seguito) o Libro Bonfatti et al. per dettagli

Page 45: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 55

Lo Standard IEC 61131-3

Considerazioni sui linguaggi

Linguaggi testuali IL e ST:

Implementazione Ctrl. Seq fortemente legate alla struttura RT time-

driven del PLC

Leggibilità media per ST e bassa per IL

Linguaggi grafici LD e FBD:

Legati a tecnologie implementative, diverse da PLC

Regole aggiuntive per adattare a “PLC”

esecuzione non parallela

In ogni caso: poco astratti e poco leggibili

IL, ST, LD, FBD poco adatti alla rappresentazione

funzionale del controllo di sequenze

Page 46: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 56

Lo Standard IEC 61131-3

Considerazioni sui linguaggi SFC:

Evoluzione di diagramma a stati

Vantaggi dell’uso esplicito del concetto di stato

Alto grado di astrazione

Semplicità e leggibilità

Parallelismo e Sincronismo

Nessuna tecnologia di riferimento (o quasi)

Rare le regole legate a implementazione su PLC

Vedremo in seguito

E’ ADATTO PER IL PROGETTO FUNZIONALE DEI CONTROLLI DI SEQUENZE NB: SFC incompleto nella definizione di azioni e condizioni di

transizione:

si consiglia uso di ST

Page 47: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 57

Lo Standard IEC 61131-3

Precisazione: SFC vs. Grafcet

SFC deriva da Grafcet Grafcet nasce in Francia

Grafcet normato in IEC60848 (1988 e poi 2002)

Formalismo Grafcet ancora più astratto da di SFC rispetto a implementazione Ma non trova utilizzo diretto negli ambienti di sviluppo comuni in

automazione

Per questo, in tale corso, si sceglie di presentare SFC come strumento funzionale di rappresentazione del controllo logico

Page 48: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 58

Sequential Function Chart

Page 49: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 59

Sequential Function Chart

Concetti base

Stato (fase, tappa, passo)

l’evoluzione temporale del funzionamento di un impianto

complesso è descrivibile mediante una successione temporale di

situazioni operative più semplici (fasi), nelle quali solo un

sottoinsieme dei comandi e delle misure è attivo

Definizione di Stato (fase, tappa, passo)

Uno stato rappresenta una condizione operativa della macchina (o

di una parte di essa) che ne definisce il comportamento

A ogni stato sono associati uno o più algoritmi di controllo

(Azioni), diversi da quelli associati agli altri Stati

In generale, durante il tempo di permanenza in uno Stato le

uscite del controllo (comandi) possono variare in risposta alle

variazioni degli ingressi (sensori) o allo scorrere del tempo (es.

in dipendenza dal controllo diretto di variabili continue)

Page 50: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 60

Sequential Function Chart

Concetti base

Transizioni

il verificarsi di un particolare evento forza il passaggio

(Transizione) da uno stato a un altro stato

Un evento rappresenta l’occorrenza di una particolare condizione

Definizione di Transizione

Mediante le transizioni si realizza il controllo logico tra un passo/i

e il successivo/i

possibilità di evoluzione da uno Stato ad un altro

non tutti gli Stati ammettono tra loro una Transizione

ad ogni Transizione è associata una Condizione logica che deve

essere verificata affinché la Transizione avvenga

Page 51: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 61

Sequential Function Chart

Concetti base Condizioni (di transizione)

Il verificarsi di una condizione corrisponde all’evento che determina il passaggio ad un altro stato

La condizione dipende da segnali di ingresso, dall’evoluzione del tempo, da variabili interne, ecc.

La sintassi per definire gli Stati, le Transizioni, le Azioni e le Condizioni di transizione è molto precisa SFC è simile a un automa

le Condizioni vengono espresse con espressioni booleane o una lista di istruzioni (in ST, IL) o con reti a relè o logiche (in LD, FBD)

Le Azioni vengono espresse in un qualsiasi linguaggio:

lista di istruzioni (in ST, IL), variabili booleane, reti logiche (in FBD) o a relè (LD)

nStato

m

TransizioneCondizione

azioni

azioni

Page 52: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 62

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

pistone pneumatico

testa di timbratura

oggetto da timbrare

Page 53: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 63

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

tre stati

attesa pezzo 1 nessun comando

Page 54: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 64

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

tre stati

pezzo presente

1

2

Page 55: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 65

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

tre stati

esecuzione

timbratura

1

2 comando

pistone avanti

Page 56: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 66

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

tre stati

timbratura o.k.

1

2

3

Page 57: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 67

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

tre stati

evacuazione

pezzo

1

2

3

Comando

pistone indietro

Comando

evacuazione

pezzo

Page 58: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 68

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

tre stati

1

2

3

timbro su

Page 59: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 69

Sequential Function Chart

Concetti base

Esempio - timbratrice automatica

tre stati

attesa pezzo 1

2

3

nessun comando

Esecuzione ciclica dei passi

Page 60: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 70

Sequential Function Chart

Sintassi Stati

ad ogni stato vanno associate le Azioni da eseguire quando quello stato è attivo

algoritmo di controllo attivo quando il sistema si trova in quello stato

È possibile non definire alcuna azione associata allo stato (stato di attesa)

due stati vanno sempre separati da una transizione

Transizioni partono da uno stato ed arrivano ad un altro stato

di solito sono indicate mediante linee verticali, ma è opportuno indicare i collegamenti con frecce per evitare ambiguità

ad ogni transizione va associata una sola Condizione che ne determina l’attivazione (passaggio ad un nuovo stato)

due transizioni successive non separate da uno stato sono proibite

Page 61: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 71

Sequential Function Chart

Regole di evoluzione

Stato attivo/inattivo

Se lo stato è attivo le sue azioni vengono eseguite

Possono esistere più stati attivi contemporaneamente

SFC è più generale rispetto ai diagrammi a stati classici (automi)

Il nome “stato” non è propriamente corretto dal punto di vista della teoria

dei sistemi

Lo stato dell’SFC (nel senso della teoria dei sistemi) è l’insieme degli stati

attivi

Inizializzazione

Occorre definire gli stati attivi all’avviamento

stati iniziali

gli stati iniziali possono essere più di uno

si indicano con due quadretti uno dentro l’altro

possono non essere i primi stati di uno schema

GRAFCET consente più step iniziali

Norma IEC61131-3 e Codesys prevedeno UN SOLO STEP INIZIALE PER

PROGRAMMA O FB in SFC

- Aggirabile con costrutto di parallelismo (vedi dopo)…. Cmq brutto!

Page 62: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 72

Sequential Function Chart

Regole di evoluzione

Abilitazione delle transizioni

una transizione si dice Abilitata quando TUTTI gli stati precedenti

alla transizione sono attivi

Vengono testate SOLO le transizioni Abilitate

una transizione diventa Attiva quando contemporaneamente

è Abilitata

la Condizione associata è vera

NB: “TUTTI” ?

“TUTTI” = 1 cioè lo stato immediatamente a monte per quanto

visto fino ad ora

“TUTTI” = Molti con costrutti visti in seguito (sincronismo)

Page 63: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 73

Sequential Function Chart

Regole di evoluzione

La transizione Attiva determina il cambio di stato

Lo stato precedente (o gli stati precedenti) diventa inattivo

(e le azioni associate vengono interrotte)

lo stato successivo (o gli stati successivi) viene attivato

(e le azioni associate vengono eseguite)

Se più transizioni diventano attive contemporaneamente, sono

superate simultaneamente

Il tempo di attivazione di una transizione (e del cambio di stato) e il

tempo di esecuzione di uno stato possono essere considerati

istantanei (astrazione)

Nell’implementazione pratica non sono nulli

Dipendono dal modello di esecuzione imposto

In PLC Ts

Page 64: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 74

Sequential Function Chart

Variabili associate ad uno stato in SFC

Step flag: Statename.x

Indica se lo stato "Statename" è attivo

variabile logica che assume il valore “vero” (1) per tutto il

tempo di permanenza nello stato

Step time: Statename.t

indica il tempo trascorso dall’attivazione dello stato "Statename"

variabile timer

inizializzata a zero all'entrata nello stato, contiene l'indicazione del

tempo trascorso dall'entrata nello stato

all'uscita dallo stato rimane costante (al valore pari al tempo di

permanenza nello stato)

Queste variabili possono essere utilizzate in ogni

linguaggio

la sintassi di definizione dei nomi associati agli stati dipende dalla

specifica implementazione dello standard

Page 65: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 75

Sequential Function Chart

Azioni associate ad uno stato

m

n

Qm Am Vm

Qualificatore dell'azione

Azione da eseguire

Variabile logica (opzionale) che

indica l’avvenuta esecuzione

dell’azione

Qm Am Vm

Action Am:

Num:=Num+1

……

end_action

di solito descritta a parte

se semplice può essere

riportata nel blocco stesso

• A ogni stato possono essere associati uno o più blocchi di azione

• Il qualificatore determina le regole di esecuzione dell’azione

• Si può scegliere liberamente il linguaggio con cui programmare

le azioni (ST, LD, IL, FBD) tra i diversi linguaggi disponibili

Page 66: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 76

Sequential Function Chart

Azioni associate ad uno stato Qualificatori dell'azione

Stabiliscono l’intervallo temporale di esecuzione dell’azione

N Non Stored eseguita finché lo stato è attivo

P Pulsed eseguita solo una volta quando lo stato è attivato

S Set eseguita finché il qualificatore R non è eseguito (azione memorizzata)

R Reset termina l'azione memorizzata (S)

L time Limited termina esecuzione dopo un certo tempo

(se lo stato rimane attivo)

D time Delayed inizia esecuzione dopo un certo tempo

(se lo stato rimane attivo)

SD Stored/Delayed inizia azione Set dopo un certo tempo

DS Delayed/Stored inizia azione Set se lo stato rimane attivo per un certo tempo

SL Stored/time-Limited inizia azione Set e la termina dopo un certo tempoIn

co

mb

ina

zio

ne

co

n R

Page 67: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 77

Sequential Function Chart

Tipi di Azioni

n

Azione Ppulsata

m

nAzione Nnon memorizzata

m

n

Azione A

Azione A

N

Nt

t

n Azione APA

A

eseguita solo una volta

quando lo stato è attivato

eseguita in tutti gli stati a

cui è associata

Nota su legame con implementazione

RT: Pseudo-Trasf. Ciclica!!!

Page 68: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 78

Sequential Function Chart

Tipi di Azioni

m

Azione S/Rmemorizzata

m

n

Azione A

Azione A

S

R

t

n

A

• si ottiene lo stesso comportamento con azioni N in tutti i

blocchi compresi fra m (incluso) e n (escluso)

• è importante garantire che l’evoluzione del diagramma

porti all’attivazione dello stato n

Page 69: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 79

Sequential Function Chart

Tipi di Azioni

Azione Dritardata n Azione A

D

t=3

3

n

t

A

Azione Ltemporizzata

t5 5

nn Azione AL

t=5

m Azione AL

t=5

m

A

• L’esecuzione di azioni D e L può essere realizzata (in modo

equivalente) con azioni N condizionate all’evoluzione della

variabile temporale “stato.t”

3

termina esecuzione

dopo un certo tempo

(se lo stato rimane

attivo)

inizia esecuzione dopo

un certo tempo (se lo

stato rimane attivo)

Page 70: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 84

Sequential Function Chart

Strutture di collegamento

No No

Scelta alternativa

5

7 8 10 9

Parallelismo

5

7 8 10 9

Page 71: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 85

Sequential Function Chart

Strutture di collegamento

No No

Convergenza

5

7 8 10 9

Sincronizzazione

5

7 8 10 9

Page 72: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 86

Sequential Function Chart

Strutture di collegamento Scelta alternativa (anche detta: divergenza singola)

Più transizioni collegate allo stesso passo

Il flusso segue UN SOLO percorso

È importante definire in modo esplicito condizioni mutualmente esclusive per definire precedenze e evitare ambiguità

Garanzia logica sui segnali a prescindere dal loro significato fisico e applicativo

Evitare comportamenti impredicibili per disturbi

IEC61131-3 non chiara in merito

Se più condizioni vere si attiva solo la transizione più a sx

Codesys fa così

Oppure il sistema genera errore

Addirittura in IsaGraf si attivavano più step!!!!

Meglio mutua esclusione esplicita imposta da progettista

Convergenza (singola)

Tipicamente serve per chiudere la diramazione di più percorsi generati da una scelta alternativa

Page 73: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 87

Sequential Function Chart

Strutture di collegamento

Parallelismo (divergenza doppia)

Da una singola transizione a più passi

I passi diventano simultaneamente attivi

Sincronizzazione (convergenza doppia)

Da più passi a una sola transizione

Quando tutti i passi precedenti sono attivi e la condizione è vera, i

passi precedenti vengono disattivati e il passo successivo diventa

attivo

N.b. affinché la transizione sia abilitata, è necessario che TUTTI i

passi precedenti siano attivi (se ciò non accade si ha deadlock).

Page 74: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 96

Sequential Function Chart

Lavorazione di due diverse tipologie di prodotti (tipo A e tipo B)

- I prodotti vengono fatti scorrere su un nastro trasportatore

- Un sensore rileva la presenza di un prodotto nella zona di lavorazione

- Un sensore di misurazione ci permette di distinguere tra le due tipologie

di prodotto

- Le azioni sequenziali da effettuare per la lavorazione sono differenti a

seconda del pezzo che effettivamente si trova nella zona di lavorazione

- Alla fine delle lavorazioni segue una fase di verifica

- Dopo la fase di verifica i prodotti vengono espulsi dalla zona di

lavorazione

96

Esempio 1

Page 75: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 97

Sequential Function Chart

Soluzione Esempio 1

97

Le condizioni di

transizione presentano

una “mutua esclusione”

tra scelte alternative?

Page 76: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 98

Sequential Function Chart

Esempio 2 (estensione Esempio 1)

- Stesso impianto da Esemio 1

- le azioni da compiere in presenza di un pezzo di tipo A sono:

- un riscaldamento dello stesso e, contemporaneamente a tale

riscaldamento, una foratura

- le azioni da compiere in presenza di un pezzo di tipo B sono

- un riscaldamento e, contemporaneamente, una foratura seguita da una

saldatura supplementare.

98

Page 77: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 99

Sequential Function Chart

Soluzione Esempio 2

99

Passi “DUMMY”

Che differenza c’è tra

lavorazione tipo A e

tipo B?

La fase 9 resta attiva

fino alla conclusione

della fase 11

La fase 5 si disattiva

al termine del

riscaldamento

indipendentemente

dalla durata della

fase 6

Page 78: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 100

Sequential Function Chart

Strutture di collegamento speciali

Mutua Esclusione tra Sequenze

Sequenze da rendere

mutuamente esclusive

ad es. agiscono sulla

stessa parte di impianto

con azioni diverse

4

8

T3-4

3

9

11

17

T10-11

10

18

(T10-11) * (T3-4) = 0

non basta

Page 79: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 101

Sequential Function Chart

Strutture di collegamento speciali

Mutua Esclusione tra Sequenze

4

8

T3-4

3

9

11

17

T10-11

10

18

(T10-11) * (T3-4) = 0

non basta

Non basta garantire la mutua esclusione

(es. sostituendo T10-11 con “T10-11 and not(T3-4))”

Page 80: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 102

Sequential Function Chart

Strutture di collegamento speciali

Mutua Esclusione tra Sequenze

3

4

8

9

T3-4

10

11

17

18

(T10-11) &

not(3.x & T3-4)

S Semaforo

Sincronizzazione

Sblocco

Il semaforo deve essere stato iniziale

Attenzione: vincoli della norma…

Page 81: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 103

Sequential Function Chart

Esempio 3

103

Page 82: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 104

SFC - esempi

Mutua esclusione tra sequenze

Scarico di due vagoni

Il carico avviene in zone diverse per i due vagoni

lo scarico è in comune

A

carico

B Scarico

Attesa

A

B

Page 83: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 105

SFC - esempi

Mutua esclusione tra sequenze

Scarico di due vagoni

Il carico avviene in zone diverse per i due vagoni

lo scarico è in comune

A

B

A

carico

B Scarico

Attesa

Page 84: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 106

SFC - esempi

Mutua esclusione tra sequenze

Scarico di due vagoni

Il carico avviene in zone diverse per i due vagoni

lo scarico è in comune

B

A

carico

B Scarico

Attesa

Page 85: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 107

SFC - esempi

Mutua esclusione tra sequenze

Scarico di due vagoni

Il carico avviene in zone diverse per i due vagoni

lo scarico è in comune

A

carico

B Scarico

Attesa

B

Page 86: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 108

SFC - esempi

Mutua esclusione tra sequenze

Scarico di due vagoni

Il carico avviene in zone diverse per i due vagoni

lo scarico è in comune

A

carico

B Scarico

AttesaA

B

Page 87: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 109

SFC - esempi

2

posizione attesa A

posizione scarico

attesa

=1

scambio in A avanza

scarico

fine scarico

ritorno carrello

posizione attesa A

ritorno carrello

posizione carico A

carica A avanza carrello

se pieno

3

4

5

6

7

12

posizione attesa B

posizione scarico

attesa

s3

scambio in B avanza

scarico

fine scarico

ritorno carrello

posizione attesa B

ritorno carrello

posizione carico B

carica B avanza carrello

se pieno

13

14

15

16

17

1sema

foro

Scarico di due vagoni

Page 88: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 112

Sequential Function ChartSoluzione Esempio 3

112

INIT

101

102

103

104

start

101

NOT start

.

start

INIT

true

R Semaforo

S Semaforo

S Semaforo

N Azione 1

N Azione 2

Semaforo

201

202

203

204

NOT start

R Semaforo

S Semaforo

N Azione 1

N Azione 2

Semaforo AND (NOT 102.X)

201

start

105 205

Page 89: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 113

Sequential Function Chart

Strutture di collegamento speciali

Sincronizzazione di sequenze indipendenti

10

11

12

13

4

5

6

3

Punto di sincronizzazioneT4-5

T12-13

sequenza 1

sequenza 2La sequenza 2 non può andare oltre

lo stato 12 finché la sequenza 1 non

ha completato il controllo relativo

allo stato 4

Non basta condizionare T12-13

a T4-5 perché dopo che Seq.1 è uscita

da S4 la T4-5 può diventare falsa

Page 90: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 114

Sequential Function Chart

Strutture di collegamento speciali

Sincronizzazione di sequenze indipendenti

S Semaforo

4

5

6

3

T4-5

10

11

12

13

T12-13

La sequenza 2 non può andare oltre

lo stato 12 finchè la sequenza 1 non

ha completato il controllo relativo

allo stato 4

sequenza 1

sequenza 2

Il semaforo non è uno stato iniziale

Page 91: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 115

Sequential Function Chart

115

Esempio 4

Page 92: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 116

Sequential Function Chart

116

Esempio 4

Cisterna in cui devono essere miscelati tre liquidi differenti

• Introdurre liquido 1 sino a che il relativo sensore non indica il valore 100;

• Misurare l’alcalinità del composto attivando la misurazione per 10 secondi. Se

acido: introdurre di nuovo liquido 1 fino a che il relativo sensore non indica il valore 50.

• Contemporaneamente alle azioni al punto precedente, introdurre il liquido 2 sino a

che il relativo sensore non misuri il valore 1000.

• Il liquido 3 deve essere immesso solo dopo che sono stati completamente immessi

sia il liquido 1 che il liquido 2; il sensore relativo alla quantità di liquido 3 immesso deve

arrivare al valore 200.

• Non appena introdotto il liquido 1, deve essere attivata la macchina di pulizia per

10 min e, di seguito, la macchina di smerigliatura per 5 min;

• Quando i liquidi 1, 2 e 3 sono stati completamente immessi nella cisterna, si

deve iniziare a riscaldare il composto: la temperatura deve arrivare a 300◦C e,

contemporaneamente, deve essere attivata una pala.

• Una volta ottenuto il composto e raggiunta la temperatura desiderata, si deve

attendere 60 minuti (la pala deve comunque rimanere attiva)

• dopo di che deve essere interrotto il movimento della pala e attivato lo

svuotamento della cisterna: quando il sensore indica che il liquido non è più all’interno

della cisterna, il processo di miscelazione deve essere avviato nuovamente se il

pulsante start è attivo.

Page 93: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 117

Sequential Function Chart

117

Esempio 4

Comandi da operatore:

• start (input da utente per avvio processo)

Sensori

• por1, por2, por3 (misura di liquido 1, 2 e 3 immessi)

• acido (risultato della misurazione di acidità)

• livserb (livello di liquido nella cisterna)

• temp (sensore di temperatura)

Attuatori

• liq1, liq2, liq3 (comando immissione liquido 1, 2 e 3)

• pulisci1, smeriglia1 (comando per la pulizia e la smerigliatura del condotto 1)

• misura (comando per attivare la misura di acidità)

• pala (comando di attivazione pala per miscelazione)

• svuota (comando evacuazione liquido)

• heat (comando per l’attivazione della resistenza di riscaldamento)

Page 94: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 118

Sequential Function Chart

118

Soluzione Esempio 4

Page 95: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 122

Sequential Function Chart

Strutture speciali: Macrostato

per consentire una rappresentazione più sintetica è possibile

raggruppare pezzi di SFC in un macrostato:

All’ingresso nel macrostato, viene eseguito lo stato iniziale

Viene eseguita la successione degli stati nel macrostato

secondo le regole standard di SFC

L’esecuzione del macrostato termina all’uscita dallo stato

finale (si continua l’esecuzione dello schema SFC)

La transizione in uscita dal macrostato è abilitata solo se è stato

raggiunto lo stato terminale dentro il macrostato

No cicli

In Grafcet: definizione chiara

In IEC61131-3: definizione non chiara

Azione di step definita in SFC

Gestione in Codesys non chiarissima

Page 96: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 123

Sequential Function Chart

Strutture speciali

Macrostato

Rappresenta un insieme di stati e transizioni

4

42

43

41

stato iniziale

stato finale

4

6

3

Page 97: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 124

Sequential Function Chart

Gerarchia Padre/Figlio- Diagramma SFC ha un proprio nome identificativo

- Particolari comandi che permettono a un diagramma di generare uno o

più diagrammi figli

- Un diagramma figlio:

- una volta generato, evolve parallelamente e in maniera del tutto

indipendente al padre

- In generale deve esistere un unico diagramma SFC principale (main)

che:

- genera e controlla SFC figli -> avvia, mette in pausa, riavvia e termina il

diagramma SFC figlio

124

Strutturazione del SFC

Page 98: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 125

Sequential Function Chart

Gerarchia Padre/FiglioComandi per le generazione e gestione dei diagrammi figli:

• Gstart(Nome-Figlio) per avviare il diagramma SFC Nome-figlio;

• Gkill(Nome-Figlio) per terminare l’evoluzione del diagramma SFC

Nome-figlio;

• Gfreeze(Nome-Figlio) per sospendere l’evoluzione del diagramma SFC

Nomefiglio;

• GRST(Nome-Figlio) per riavviare l’evoluzione del diagramma SFC

Nome-Figlio precedentemente sospeso.

Tali comandi devono essere utilizzati come azioni caratterizzate dal

qualificatore P: devono cioè essere implementati come azioni pulse ed

eseguite solo una volta nel momento in cui lo step a cui sono associate

diventa attivo.

125

Strutturazione del SFC

Page 99: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 126

Sequential Function Chart

Gerarchia Padre/Figlio

126

Strutturazione del SFC

In Figura sono rappresentati

un diagramma SFC padre

(main) e un diagramma figlio

(child);

Page 100: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 127

Sequential Function Chart

Gerarchia Padre/Figlio

127

Strutturazione del SFC

Differenze fondamentali tra la struttura gerarchica padre/figlio

e un parallelismo:

- Il SFC padre può agire in qualsiasi istante sul SFC figlio terminandolo,

sospendendolo o riavviandolo;

-Al contrario, due sequenze parallele attivate tramite un semplice

parallelismo non sono assolutamente influenzabili: evolveranno infatti

seguendo il loro diagramma SFC sino alla naturale conclusione del

parallelismo (normalmente una sincronizzazione).

La struttura gerarchica padre/figlio particolarmente

appropriata per gestione e supervisione:

- diagramma SFC padre utilizzato come controllore e supervisore del

funzionamento dei diagrammi SFC figli

- diagrammi SFC figli svolgono le reali azioni sequenziali che

caratterizzano il problema.

Page 101: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 128

Sequential Function Chart

Gerarchia Padre/Figlio

128

Strutturazione del SFC

Corretta strutturazione del software

permette dunque la definizione di una struttura che rimane inalterata

anche al variare delle reali azioni da svolgere

- solo la struttura del figlio sarà modificata

- Il suo rapporto con il padre e i compiti di supervisione di questo saranno

preservati.

esempio

Page 102: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 129

Sequential Function Chart

Gerarchia Padre/Figlio

129

Strutturazione del SFC

Corretta strutturazione del software Soluzione NON strutturata

Richiesta di modifica algoritmo per introduzione logica di scartamento pacco

difettoso

Page 103: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 130

Sequential Function Chart

Gerarchia Padre/Figlio

130

Strutturazione del SFC

Corretta strutturazione del software Soluzione strutturata

Richiesta di modifica algoritmo per introduzione logica di scartamento pacco

difettoso

Page 104: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 131

Sequential Function Chart

131

Esempio 5

Page 105: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 132

Sequential Function Chart

132

Esempio 5

Si vuole progettare il software di controllo sequenziale per una macchina di foratura: si

deve eseguire un foro in un pezzo meccanico e misurare che il foro sia stato eseguito

correttamente.

• La macchina di foratura è composta da una giostra rotante a quattro posizioni

equidistanziate e da quattro stazioni di lavoro: stazione di carico pezzi, stazione di

lavorazione, stazione di misura e scarico pezzi buoni e stazione di scarico pezzi

difettosi.

• Il processo di lavorazione viene attivato da un pulsante start.

• Il funzionamento della giostra permette di far lavorare contemporaneamente le quattro

stazioni: quando tutte le stazioni hanno terminato i loro compiti è possibile far ruotare la

giostra e iniziare una nuova lavorazione.

• I pezzi da lavorare arrivano con cadenza irregolare e si accumulano in un buffer di

carico gestito separatamente. Si deve prestare attenzione al fatto che non è assicurata

la presenza di un pezzo da lavorare in ogni stazione: può anche capitare che il buffer di

carico sia vuoto.

DESCRIZIONE GENERALE

Page 106: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 133

Sequential Function Chart

133

Esempio 5Stazione di carico.

A giostra ferma, se è presente un pezzo da caricare (il sensore pezzoC è vero), si

deve attivare il pistone (attuatore pistoC) sino al fine corsa segnalato dal segnale

FCCA. Il pistone, se non azionato, torna autonomamente nello stato iniziale tramite

un meccanismo a molle; un pezzo si può considerare caricato sulla giostra nel momento

in cui il pistone raggiunge il fine corsa nella posizione di riposo (segnalato dal sensore

FCCI).

Stazione di lavorazione.

Le azioni sequenziali per la lavorazione sono le seguenti: a giostra ferma, se un pezzo è

presente nella stazione (segnalato del sensore pezzoF), si deve azionare il

riscaldamento tramite il comando heat. Un sensore di temperatura (segnale temp)

permette di controllarne il riscaldamento: la temperatura deve rimanere circa costante

durante tutto il processo di lavorazione intorno al valore 200◦C; non appena la

temperatura ha raggiunto il suo valore di regime, il processo di lavorazione può

continuare. Devono essere effettuate le operazioni sequenziali per la foratura: si deve

attivare la rotazione del trapano tramite il comando ROT e deve essere movimentato

verso il basso fino al fine corsa di lavorazione (la movimentazione del trapano utilizza il

comando FORA, mentre il fine corsa di lavorazione viene indicato dal segnale FCTGIU).

Il trapano deve essere lasciato in tale posizione per almeno 2 secondi per ottenere una

foratura adeguata. A questo punto può essere disattivato il comando di movimentazione

FORA per permettere al trapano di tornare nella posizione di riposo (segnalata dal

sensore di finecorsa FCTSU) e, di seguito, disabilitare il movimento di rotazione così

come le operazioni di riscaldamento.

Page 107: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 134

Sequential Function Chart

134

Esempio 5

Stazione di misura e scarico pezzi buoni.

Le operazioni di misura non possono avvenire se, nell’adiacente zona di lavorazione, è

attivo il trapano per la foratura: le vibrazioni farebbero risultare la misura falsata. Tele

misura può essere invece effettuata mentre nella stazione di lavorazione è in opera il

riscaldamento del pezzo. A giostra ferma, in presenza di un pezzo nella zona di misura e

scarico pezzi buoni (segnalata dal segnale pezzoSB), la misurazione può essere attivata

tramite il comando Mis e deve rimanere attiva per 20 secondi. Dopo tale lasso di tempo,

il segnale Ris segnala se è possibile evacuare il pezzo come buono, tramite il comando

impulsivo EVB (il sensore SCB segnala l’avvenuta evacuazione del pezzo), oppure se il

pezzo deve essere evacuato dalla successiva stazione di scarico pezzi difettosi.

Stazione di scarico pezzi difettosi.

In presenza di un pezzo in tale stazione (indicata dal segnale pezzoSD) si deve

attivare l’evacuazione tramite il comando impulsivo EVD (il sensore SCD segnala

l’avvenuta evacuazione del pezzo).

Giostra.

Quando tutte le stazioni hanno terminato i loro compiti si può ruotare la giostra tramite il

comando RotG sino a quando il sensore PosLav diventa vero indicando che un quarto di

giro `e stato compiuto.

Page 108: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 135

Sequential Function Chart

135

Esempio 5Comandi da operatore:

• start (input da utente per avvio processo)

Sensori

• PosLav (rotazione 90 gradi avvenuta)

• FCCA, FCCI (fine corsa pistone avanti, indietro)

• presESP, presP, presG (sensori di posizione)

• pezzoF (presenza pezzo da forare/misurare)

• temp (temperatura del pezzo nella stazione di lavorazione)

• FCTSU, FCTGIU (fine corsa trapano posizione di riposo e di lavorazione)

• Ris (risultato della misurazione)

• pezzoSB (presenza pezzo da scaricare buono)

• pezzoSD (presenza pezzo da scaricare difettoso)

• SCB (scarico completo pezzo buono)

• SCD (scarico completo pezzo difettoso)

Attuatori

• RotG (rotazione della giostra)

• pistoC (attivazione pistone: ritorna in posizione di riposo se non attuato)

• ROT (rotazione trapano)

• heat (riscaldamento pezzo da forare)

• FORA (trapano giù, ritorna automaticamente alla posizione di riposo)

• Mis (effettua la misurazione)

• EVB (evacuazione pezzo buono - impulsivo)

• EVD (evacuazione pezzo difettoso - impulsivo)

Page 109: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 136

Nota

Approccio alla gestione di pipe-line Macchine a pipe-line: più stazioni di lavorazione sistema di movimentazione

Catena di montaggio

Giostre

Approccio al controllo logico: AUTOMAZIONE ORIENTATA AL PEZZO

Operazioni in sequenza sul pezzo singolo

Una nuova istanza di controllo logico per ogni pezzo

Stazioni di lavoro: risorse di impianto condivise (semafori)

AUTOMAZIONE ORIENTATA ALLA MACCHINA

Operazioni in parallelo su più pezzi

Buffer dei pezzi per gestire stato di ogni pezzo

Gestione più semplice della movimentazione condivisa tra pezzi

NORMALMENTE SI PREFERISCE

Page 110: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 137

SFC - esempi

Isola di foratura (soluzione orientata alla macchina)

CaricamentoMisura ed

espulsione2 3

Rotazione

giostra5

tutto O.K

1 Attesa

4

Tutti fermi

Fine rotazione

Lavorazione

Page 111: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 138

SFC - esempi

2 caric. avanti

3 caric. indiet.

caricato

sezione caricamento

tutto O.K.

1

Page 112: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 139

SFC - esempi

5 foratura

serrato

forato

6 risalita

risalito

sezione lavorazione

tutto O.K.

1

4 serraggio

sblocco7

Page 113: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 140

SFC - esempi

Esempio: isola di foratura

11esp.

indietro

9risalita

tastat.

o.k.

tastatore su

10 espuls.

espulso

non o.k.

tast. su

sezione misura ed espulsione

tutto O.K.

1

8 misura

13 espuls.

man.

12risalita

tastat.

Fine corsa

espulsore

Pezzo

espulso

14

Page 114: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 141

Sequential Function Chart

141

Soluzione Esempio 5

Page 115: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 142

Sequential Function Chart

142

Soluzione Esempio 5

Page 116: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo Logico A - 143

Sequential Function Chart

143

Soluzione Esempio 5

Page 117: Sistemi e Architetture per l'Automazione Lsapa.campusfc.unibo.it/SAPA_04_Controllo_Logico_A_2018.pdf · Ing. Lorenzo Moriello - Sistemi e Architetture per l'Automazione L Controllo

Sistemi e Architetture per l'Automazione L

Laurea in Ingegneria e Scienze Informatiche

Ing. Lorenzo Moriello

DEI - Università di Bologna

E-mail: [email protected]

https://www.unibo.it/sitoweb/lorenzo.moriello2

Controllo Logico nell’Automazione Industriale

FINE