Sistemi e Tecnologie per l'Automazione LS · Controllo Logico nell’Automazione Industriale Laurea...
-
Upload
nguyentram -
Category
Documents
-
view
230 -
download
0
Transcript of Sistemi e Tecnologie per l'Automazione LS · Controllo Logico nell’Automazione Industriale Laurea...
Sistemi e Tecnologie per l'Automazione LS
Controllo Logico nell’Automazione Industriale
Laurea Specialistica in Ingegneria InformaticaLaurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni
Revisionato il 27/01/2009Revisionato il 27/01/2009Revisionato il 27/01/2009
Ing. Andrea TilliDEIS - Università di Bologna
Tel. 051-2093924E-mail: [email protected]
http://www-lar.deis.unibo.it/atilli
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 2
Sommario
PremessaControllo logico nell’automazione
→ “storicamente” visto da un punto di vista implementativo/tecnologico non funzionale
a differenza dei controlli diretti di variabili temporali (tempocontinui e tempodiscreti)
Spesso indicato come:
→ Programmazione di sistemi di controllo perl’automazione (tipicamente PLC)
→ SW per l’automazione
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 3
Sommario
Parte 1Introduzione alla progettazione di controlli logici (o di sequenze o sequenziali)
Linee guida generali
Qualche dettaglio in più su progetto tecnologico e realizzazione
Lo standard IEC 61131-3strumenti e linguaggi di programmazione
Sequential Function Chart (SFC)concetti base
sintassi
strutture
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 4
Sommario
Parte 2Sequential Function Chart (SFC)
esempi di utilizzo delle strutture
Altri linguaggi della norma IEC 61131-3
Da un SFC alla Programmazioneuna possibile soluzione
CoDeSysIntroduzione all’uso, Peculiarità, Esempi
Una procedura per la progettazione funzionale del controllo di sequenze
Concetto base: attuatore generalizzato
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 5
Generalità sulProgetto di Controlli Logici
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 6
Progettazione di Controlli LogiciIntroduzione
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 sistemaProgetto funzionale:Definizione automa per imporre la sequenza volutaProgetto implementativo/tecnologico:Elaborazione dei documenti di specificaCenni sulla realizzazione del ProgettoCollaudo del sistema di controllo e messa in funzione della macchinaStesura della documentazione
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 7
Progettazione di Controlli LogiciChiarimento del compito e strutturazione del
sistemaDescrizione generale del sistema da automatizzareDescrizione del funzionamento che si vuole ottenereDescrizione dettagliata del sistema
Grado di automazione delle partitutto senza operatore?
Definizione di cosa misurare e di come e dove attuareInterconnessione con CONTROLLI DIRETTI DI VAR. TEMPORALI… spesso già fissato a priori….
Strutturazione della macchina in parti omogeneefunzionalmente
correlazione nel processo produttivo/operativospazialmente
collocazione fisica adiacente
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 8
Progettazione di Controlli LogiciDescrizione del processo
impacchettatrice
AlimentazioneAlimentazionedel prodottodel prodotto
Formazione Formazione del paccodel pacco
Stesura del film e Stesura del film e movimentazione del paccomovimentazione del pacco
AvvolgimentoAvvolgimentodel paccodel pacco
SaldaturaSaldatura EspulsioneEspulsionePacco finitoPacco finito
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 9
Progettazione di Controlli LogiciProgetto Funzionale
Dalla descrizione di funzionamentoDalla struttura di massima
Grado di automazioneDove attuare e misurareInterconnessione con CONTROLLI DIRETTI
Definizione di Automa o di Automi interagenti per imporre la sequenza volutaMa:
Quale linguaggio per descriverlo?Vedi dopo
Documento fondamentaleSpesso omesso…
NB: il progetto del controllo logico, in senso stretto, finirebbe qui…
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 10
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 compitiINSIEME 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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 11
Progettazione di Controlli Logici: il seguito
Elaborazione dei documenti di specifica(Inizio del Progetto Implementativo)
Lavoro di gruppoDiverse persone che si occupano delle diverse parti
sensori/attuatori
elaboratori e implementazione SW
Elaboratori “cablati”
specifiche chiare e non ambigue
interfacce ben definite
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 12
Progettazione di Controlli Logici: il seguitoRealizzazione del Progetto
Hardwareacquisto ⇒ controllori industrialiacquisto + progettazione di parti specificheprogettazione completa
Software applicativo Va progettato/realizzato secondo l’automa risultante dal progetto funzionaleDeve 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/attuatoriCaratteristiche del sistema di comunicazione/interfacciamentoCaratteristiche degli elaboratori per controllo diretto
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 13
Progettazione di Controlli Logici: il seguitoRealizzazione del Progetto
Software applicativo (continuazione)Seguire regole generali per progetto/sviluppo SW per uso professionale/industriale
realizzazionegruppo di lavoro
manutenzione, aggiornamento, riutilizzonoi o altre persone
Attività cruciale
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 14
Progettazione di Controlli Logici: il seguitoCollaudo del sistema di controllo e messa in
funzione dell'impiantoFase costosa e delicata
realizzata da altre personerealizzata presso il clienteesigenze 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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 15
Progettazione di Controlli Logici: il seguitoStesura 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 progettazioneTecniche di progettazione che intrinsecamente producono documentazione sono da privilegiare
CADprogrammazione strutturataSFC(GEMMA)
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 16
Progettazione di Ctrl Logici: torniamo all’automaStrumenti di modellazione per il controllo di
sequenze
Come rappresentare l’automa o l’insieme di automi?
Obiettivi della rappresentazione:Elevato potere espressivoComplessità ridottaFacile leggibilitàIndipendenza dall’implementazione
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 17
Progettazione di Ctrl Logici: torniamo all’automaStrumenti di modellazione per il controllo di
sequenze:Possibili soluzioni:
descrizione letterale (a parole)lunga, imprecisa, troppo personale
descrizione puramente logicatroppo particolareggiatalegata alla tecnologia implementativa
diagrammi temporalipesantecarenza nella descrizione degli elementi sequenziali
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 18
Progettazione di Ctrl Logici: torniamo all’automaStrumenti di modellazione per il controllo di
sequenze:Possibili soluzioni:
diagramma degli statiMolto interessanteConcetto di stato esplicito
Rappresentazione concentrata ed efficace della situazione operativa raggiunta in funzione del passatoRestringe 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 particolareggiatoIdoneo anche per sistemi complessi con una opportuna ridefinizione del concetto di stato…. SFC…
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 19
Lo standard IEC 61131-3
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 20
Lo Standard IEC 61131-3
SCOPODefinire linguaggi standard per la programmazione di PLCStimolare una normalizzazione della sintassi dei linguaggi di programmazione per l'automazione
ConsiderazioniParte della norma IEC61131 (1993, recepita in Italia nel 1996, revisione in 2003): standardizzazione PLCIEC61131-1: Definizione PLCIEC61131-2: Architettura HW/SW dei PLC (Real-time Time Driven)IEC61131-3: Linguaggi di programmazione per implementare su PLC i controlli di sequenze
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 21
Lo Standard IEC 61131-3
5 linguaggi proposti:Grafici: SFC, LD, FBDTestuali: ST, ILCinque sono tanti!Stesura della norma condizionata dalla precedente pratica industriale…
Linguaggi molto diversi tra loroTengono conto in modo diverso delle caratteristiche del PLC:
Esecuzione sequenzialePLC sistema tipicamente monoprocessore (modello della macchina di Von Neumann)
S.O. Real Time, Time Driven: “ciclo while intrinseco”
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 22
Lo Standard IEC 61131-3
Comunque: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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 23
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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 24
Lo Standard IEC 61131-3Linguaggio a contatti (Ladder Diagram, LD)
AND( )
E1.0 E1.1 A4.01
( )OR
E1.2
E1.1
A4.12
V+V+ VV--
GraficoRiprende schemi a relayRegole base:
Flusso di potenza da sxverso dxEsecuzione da alto verso bassoFeedback: rete sincrona
NB: Allontanamento da schema a relay:- no esecuzione parallela- no corse critiche- no ambiguità su percorsi
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 25
Lo Standard IEC 61131-3Schemi a blocchi funzionali logici
(Function Block Diagram, FBD)
&E1.0E1.1
A4.01
>= 1A4.1
E1.2
E1.12( )( )
( )( )
GraficoRiprende reti logiche cablateRegole base:
Flusso di segnaleEsecuzione dall’alto al bassoFeedback: rete sincrona
NB: Allontanamento da rete logica pura:- no esecuzione parallela- no corse critiche
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 26
Lo Standard IEC 61131-3Testo Strutturato
(Structured Text, ST)
…….if (fine_corsa)
thenmotore := off;
else motore := on;
end_if;…….
TestualePseudo Pascal
Costrutti evolutiRegole base:
Nessuna particolareRegole di sviluppo:
Per implementare Ctrldi sequenze: no loop di attesa evanti(sfrutta mappatura in task pseudotrasf. Ciclici, tipica di RTOS time-driven )
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 27
Lo Standard IEC 61131-3Lista di istruzioni (Instruction List, IL)
……….LD ENABLEANDN FINE_CORSASTR MOTORE………..
TestualePseudo AssemblyRegole base:
Istruzioni monooperando con uso dell’accumulatore(current result, IL register)
Regole di sviluppo:Per implementare Ctrldi sequenze: no loop di attesa eventi(sfrutta mappatura in task pseudotrasf. Ciclici, tipica di RTOS time-driven )
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 28
Lo Standard IEC 61131-3Sequential Function Chart
11
22
33
44
55
StepStep/Fasi/Fasi
TransizioniTransizioni
CondizioniCondizioniper laper la
transizionetransizione
GraficoRappresentazione a diagrammi a stati “evoluto”:
Piu’ step attivi…..
Linguaggio “incompleto”: transizioni e azioni definite per mezzo degli altri Livello di astrazione e capacità rappresentativa elevataDeriva da Grafcet
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 29
Lo Standard IEC 61131-3Tipi di Dato
Per tutti e 5 i linguaggiSimili ad altri linguaggi (C, Pascal, etc.):
INT, DINT, REAL, LREAL…Tipi particolari:
Gestione di stringhe di bit:BOOL, BYTE, WORD…
Rappresentativi di date e tempiTIME, 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
PeculiaritPeculiaritàà del PLCdel PLC
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 30
Lo Standard IEC 61131-3Organizzazione del SW
Obiettivo:Organizzare l’architettura del SW PLCStimolare approccio Top-Down Modularità e Riutilizzo Legato all’implementazione, ma utile anche per progetto funzionale…
Program Organization Units (POUs):FUNCTIONFUNCTION BLOCKPROGRAM
Vedi Libro Bonfatti et al. per approfondimenti
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 31
Lo Standard IEC 61131-3Organizzazione del SW
FUNCTIONSProcedure prive di memoria che dati certi IN producono un OUTInvocazione/definizione in linguaggi grafici o testualiPredefinite o customPredefinite: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
EsempiADD, 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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 32
Lo Standard IEC 61131-3Organizzazione del SW
FUNCTION BLOCKSProcedure con memoria che dati certi IN e lo stato producono uno o più OUTInvocazione/definizione in linguaggi grafici o testualiDiverse Istanze (diversi set di dati di memoria, stato)Predefinite o customEsempi di Predefinite:
Bistabili: SR, RSEdge-detection: R_TRIG, F_TRIGCounters: CTU, CTD, CTUDTimers: TP, TON, TOFF
Manuale Codesys (in seguito) o Libro Bonfatti et al. per dettagli
BasateBasate susu peculiaritpeculiaritàà del PLCdel PLC
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 33
Lo Standard IEC 61131-3Organizzazione del SW
PROGRAMSInsieme di unità e/o istruzioni costituiscono l’implementazione del controllo di sequenze di una macchina/impianto o una parte rilevante di essoMacro unità
In generale racchiuderà più Functions e Function Blocks
Manuale Codesys (in seguito) o Libro Bonfatti et al. per dettagli
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 34
Lo Standard IEC 61131-3Considerazioni 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 PLCRegole aggiuntive per adattare a “PLC”
esecuzione non parallelaIn ogni caso: poco astratti e poco leggibili
IL, ST, LD, FBD poco adatti alla rappresentazione funzionale del controllo di sequenze
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 35
Lo Standard IEC 61131-3Considerazioni sui linguaggi
SFC:Evoluzione di diagramma a stati
Vantaggi dell’uso esplicito del concetto di statoAlto grado di astrazioneSemplicità e leggibilità
Parallelismo e SincronismoNessuna tecnologia di riferimento (o quasi)
Rare le regole legate a implementazione su PLCVedremo 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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 36
Lo Standard IEC 61131-3Precisazione: SFC vs. Grafcet
SFC deriva da GrafcetGrafcet nasce in FranciaGrafcet 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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 37
Sequential Function Chart
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 38
Sequential Function ChartDa tenere a mente che:
Si analizzano le regole per SFC definite nella norma IEC 61131-3
Legame con PLC (anche se blando)SFC deriva da formalismo chiamato Grafcet (IEC60848)
Alcune discrepanze tra i dueNella presentazione si evidenzieranno
La norma in alcuni casi non è precisaI vari ambienti di sviluppo IEC61131-3 presentano deroghe rispetto alla norma
Ottica: utilizzo di SFC per modellazione e progetto funzionale del controllo logico
Maggiore astrazione possibile rispetto a qualunque implementazione (anche PLC) Non è importante il rigoroso rispetto di IEC61131-3
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 39
Sequential Function ChartConcetti 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 (odi una parte di essa) che ne definisce il comportamentoA 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)
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 40
Sequential Function ChartConcetti base
Transizioniil verificarsi di un particolare evento forza il passaggio (Transizione) da uno stato a un altro statoUn evento rappresenta l’occorrenza di una particolare condizione
Definizione di TransizioneMediante le transizioni si realizza il controllo logico tra un passo/i e il successivo/ipossibilità di evoluzione da uno Stato ad un altro
non tutti gli Stati ammettono tra loro una Transizionead ogni Transizione è associata una Condizione logica che deve essere verificata affinché la Transizione avvenga
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 41
Sequential Function ChartConcetti 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 automale 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)
nnStatoStato
mm
TransizioneTransizioneCondizioneCondizione
azioni
azioni
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 42
pistone pneumatico
testa di timbratura
oggetto da timbrare
Sequential Function ChartConcetti base
Esempio - timbratrice automatica
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 43
attesa pezzo 1
Sequential Function ChartConcetti base
Esempio - timbratrice automaticatre stati
nessun comando
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 44
pezzo presente
1
2
Sequential Function ChartConcetti base
Esempio - timbratrice automaticatre stati
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 45
esecuzione timbratura
1
2
Sequential Function ChartConcetti base
Esempio - timbratrice automaticatre stati
comandopistone avanti
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 46
timbratura o.k.
1
2
3
Sequential Function ChartConcetti base
Esempio - timbratrice automaticatre stati
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 47
evacuazione pezzo
1
2
3
Sequential Function ChartConcetti base
Esempio - timbratrice automaticatre stati
Comando pistone indietro
Comando evacuazione
pezzo
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 48
1
2
3
timbro su
Sequential Function ChartConcetti base
Esempio - timbratrice automaticatre stati
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 49
attesa pezzo 1
2
3
Sequential Function ChartConcetti base
Esempio - timbratrice automaticatre stati
nessun comando
Esecuzione ciclica dei passi
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 50
Sequential Function ChartSintassi
Statiad 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 transizioneTransizioni
partono da uno stato ed arrivano ad un altro statodi 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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 51
Sequential Function ChartRegole di evoluzione
Stato attivo/inattivoSe lo stato è attivo le sue azioni vengono eseguitePossono 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 sistemiLo stato dell’SFC (nel senso della teoria dei sistemi) è l’insieme degli stati attivi
InizializzazioneOccorre definire gli stati attivi all’avviamento
stati inizialigli stati iniziali possono essere più di uno
si indicano con due quadretti uno dentro l’altropossono 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!
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 52
Sequential Function ChartRegole di evoluzione
Abilitazione delle transizioniuna transizione si dice Abilitata quando TUTTI gli stati precedenti alla transizione sono attivi
Vengono testate SOLO le transizioni Abilitateuna transizione diventa Attiva quando contemporaneamente
è Abilitatala Condizione associata è vera
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 53
Sequential Function ChartRegole 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, ma dipendono dalla capacità computazionale dell’elaboratore
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 54
Sequential Function ChartVariabili associate ad uno stato in SFC
Step flag: Statename.xindica che lo stato "Statename" è attivo
variabile logica che assume il valore “vero” (1) per tutto il tempo di permanenza nello stato
Step time: Statename.tindica 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 statoall'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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 55
Sequential Function ChartAzioni 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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 56
Sequential Function ChartAzioni associate ad uno stato
Qualificatori dell'azioneStabiliscono l’intervallo temporale di esecuzione dell’azione
N Non Stored eseguita finché lo stato è attivoP Pulsed eseguita solo una volta quando lo stato è
attivatoS 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 tempoDS Delayed/Stored inizia azione Set se lo stato rimane attivo
per un certo tempoSL Stored/time-Limited inizia azione Set e la termina dopo un
certo tempoIn c
ombi
nazi
one
con
R
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 57
Sequential Function ChartTipi di Azioni
nAzione PAzione Ppulsatapulsata
m
nAzione NAzione Nnon memorizzatanon 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 Nota su legame con implementazione RT: RT: PseudoPseudo--TrasfTrasf. Ciclica!!!. Ciclica!!!
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 58
Sequential Function ChartTipi di Azioni
m
Azione S/RAzione S/Rmemorizzatamemorizzata
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
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 59
Sequential Function ChartTipi di Azioni
Azione DAzione Dritardataritardata n Azione AD
t=3
3
n
tA
Azione LAzione Ltemporizzatatemporizzata
t5 5
nn Azione ALt=5
m Azione ALt=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)
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 60
Sequential Function Chart
Regole per l’esecuzione delle azioniL’esecuzione delle azioni è condizionata allo stato di una rete logica, dipendente dal tipo di qualificatore
Q identifica l’esecuzione dell’azioneLe variabili S, R, ecc. sono associate a un passo
FF SRSR Q
SR Q&
Q Qualificatori Set e Reset
R TRIGCLK QP
QQualificatore Pulsed
Flip flop set/reset
Rilevatore del fronte di salita
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 61
Sequential Function Chart
Regole per l’esecuzione delle azioniL’esecuzione delle azioni è condizionata allo stato di una rete logica, dipendente dal tipo di qualificatore
Q identifica l’esecuzione dell’azione
TONINPT Q
Dt
Q Qualificatore time Delayed
TONINPT Q
Lt
Q&Q Qualificatore time Limited
Timer On: l’uscita Q diventa vera se IN rimane vero per un tempo PT (se IN èfalso, Q è falso)
Operatore logico And
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 62
Sequential Function Chart
Regole per l’esecuzione delle azioniL’esecuzione delle azioni è condizionata allo stato di una rete logica, dipendente dal tipo di qualificatore
Q identifica l’esecuzione dell’azione
TONINPT Q
SDR Q
Qualificatore Stored Delayed
TONINPT Q
DSt Q
Qualificatore Delayed Stored
FF SRSR Q
t
FF SRSR QR
inizia azione Set dopo un certo tempo
inizia azione Set se lo stato rimane attivo per
un certo tempo
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 63
Sequential Function Chart
Regole per l’esecuzione delle azioniL’esecuzione delle azioni è condizionata allo stato di una rete logica, dipendente dal tipo di qualificatore
Q identifica l’esecuzione dell’azione
TONINPT Q
SLR
Q
Qualificatore Stored time Limited
FF SRSR Q
t
&Q
inizia azione Set e la termina dopo un certo tempo
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 64
No No
Sequential Function ChartStrutture di collegamento
Scelta alternativa
5
7 8 10 9
Parallelismo
5
7 8 10 9
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 65
No No
Sequential Function ChartStrutture di collegamento
Convergenza
5
7 8 10 9
Sincronizzazione
5
7 8 10 9
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 66
Sequential Function ChartStrutture di collegamento
Scelta alternativa (anche detta: divergenza singola)Più transizioni collegate allo stesso passoIl flusso segue UN SOLO percorsoÈ importante definire in modo esplicito condizioni mutualmente esclusiveper definire precedenze e evitare ambiguità
Garanzia logica sui segnali a prescindere dal loro significato fisico e applicativo
Evitare comportamenti impredicibili per disturbiIEC61131-3 non chiara in merito
Se più condizioni vere si attiva solo la transizione più a sxCodesys fa così
Oppure il sistema genera errore Addirittura in IsaGraf si attivavano più step!!!!
⇒ Meglio mutua esclusione esplicita imposta da progettistaOBBLIGATORIO NEI PROGETTI D’ESAME!!!!!
Convergenza (singola)Tipicamente serve per chiudere la diramazione di più percorsi generati da una scelta alternativa
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 67
Sequential Function ChartStrutture di collegamento
Parallelismo (divergenza doppia)Da una singola transizione a più passiI passi diventano simultaneamente attivi
Sincronizzazione (convergenza doppia)Da più passi a una sola transizioneQuando tutti i passi precedenti sono attivi e la condizione è vera, i passi precedenti vengono disattivati e il passo successivo diventa attivoN.b. affinché la transizione sia abilitata, è necessario che TUTTI i passi precedenti siano attivi (se ciò non accade si ha deadlock).
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 68
Sequential Function ChartMutua esclusione fra scelte alternative
5
7 8 10
Tx Ty Tz
Tx
Tz
Ty Tx’
Tz’
Ty’
Ty’=TyTz’=Tz and not TyTx’=Tx and not (Ty or Tz)
Definizione di scelte alternativePriorità fra scelte
Per assegnare una prioritàdecrescente a Ty, Tz, Tx, si sostituiscono le condizioni con
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 69
Sequential Function ChartMutua esclusione fra scelte alternative
5
7 8 10
Tx’ Ty’ Tz’
Tx
Tz
Ty Tx’
Tz’
Ty’
Ty’=TyTz’=Tz and not(Ty or Tx)Tx’=Tx and not(Ty or Tz)Tx-z=Tx and Tz and notTy
Definizione di scelte alternativeSe è necessario fare azioni di Step 7 e Step 10 in paralleloquando Tx e Tz vere e Ty falsa
Tx-z
7 10
Tx-z
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 70
Sequential Function ChartStrutture di collegamento: errori
1
32
6 7
T12 T13
T67
1
32
6 7
T12
T68 T68
8
Errore: scelta alternativa con sincronizzazione! (deadlock) Ambigua: parallelismo con convergenza
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 71
Sequential Function ChartStr. di collegamento: corretto uso di Parallelismo
Regole di buon progetto (VINCOLANTI PER PROG. D’ESAME!!!)Se derogate dovete convincere il docente che è comunque “pulito”
Non vincolato dalla normaCodesys aiuta fornendo costrutto di parallelismo molto bloccato
Ma non per tutti i casi
PARALLELISMO N-RAMI CHIUSO DA SINCRONISMO(ANCHE CON ALTRI PAR O SINC INTERMEDI)
1
32
6 7
T12
T688
1
32
6 7
T12
PARALLELISMO N-RAMI CICLICI SEPARATI(CON EVENTUALI SINCR O PAR A MONTE DEI CICLI)
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 72
Sequential Function ChartStrutture di collegamento speciali
Mutua Esclusione tra Sequenze
Sequenze da rendereSequenze da renderemutuamente esclusivemutuamente esclusivead es. agiscono sulla ad es. agiscono sulla
stessa parte di impiantostessa parte di impiantocon azioni diversecon azioni diverse
4
8
T3-4
3
9
11
17
T10-11
10
18
(T10-11) * (T3-4) = 0non basta
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 73
Sequential Function ChartStrutture di collegamento speciali
Mutua Esclusione tra Sequenze
4
8
T3-4
3
9
11
17
T10-11
10
18
errore
(T10-11) * (T3-4) = 0non basta
Non basta garantire la mutua esclusione (es. sostituendo T10-11 con “T10-11 and not(T3-4))”
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 74
Sequential Function ChartStrutture 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 Il semaforo deve esseredeve essere stato inizialestato inizialeAttenzione: vincoli della Attenzione: vincoli della normanorma……
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 75
Sequential Function ChartStrutture di collegamento speciali
Sincronizzazione di sequenze indipendenti
10
11
12
13
4
5
6
3
Punto di sincronizzazioneT4-5
T12-13
sequenza 1sequenza 1
sequenza 2sequenza 2La sequenza 2 non può andare oltreLa sequenza 2 non può andare oltrelo stato 12 finchlo stato 12 finchéé la sequenza 1 nonla sequenza 1 nonha completato il controllo relativo ha completato il controllo relativo
allo stato 4allo stato 4
Non basta condizionare T12Non basta condizionare T12--1313a T4a T4--5 perch5 perchéé dopo che Seq.1 dopo che Seq.1 èè uscitauscita
da S4 la T4da S4 la T4--5 può diventare falsa5 può diventare falsa
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 76
Sequential Function ChartStrutture 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 oltreLa sequenza 2 non può andare oltrelo stato 12 lo stato 12 finchfinchèè la sequenza 1 nonla sequenza 1 nonha completato il controllo relativo ha completato il controllo relativo
allo stato 4allo stato 4
sequenza 1sequenza 1
sequenza 2sequenza 2
Il semaforo Il semaforo non non èè uno stato inizialeuno stato iniziale
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 77
Sequential Function ChartMutua Esclusione e Blocco
tramite Semaforo di parti di SFCCollegamento con quanto detto in Sistemi RT e su non interazione applicazioni?Mutua esclusione e blocco a livello di controllo (cioè a livello funzionale) non di risorse di elaborazione, attuazione e misura
La deadline di azione che puo essere ritardata da mutua esclusione deve essere specificata in modo congruente a livello funzionale
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 78
Sequential Function ChartMutua Esclusione e Blocco
tramite Semaforo di parti di SFCCollegamento con schema funzionale?Tipicamente gestito inuna unica funzione di controlloMa se si dividesse?
Controllori cooperanti?Si
Piccola deroga al modello generale
Per la gestione implemetativasi tenta di non avere variazioni
Soprattutto su time-drivenVariabile semaforo condivisa!
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 79
Sequential Function ChartMutua Esclusione e Blocco
tramite Semaforo di parti di SFCO.S. Real Time può dare infrastrutture?
Normalmente no task interagenti non graditi per schedulazione
Se rimango all’interno di una funzione (task) no problemi di concorrenza (li gestisce il progettista)Se divido in piu’ task con variabile condivisa per semaforo
Attenzione sezioni criticheSe mappo ctrl seq in task pseudotraf. ciclici (normale per TimeDriven, spesso anche per Event Driven):modello di esecuzione imposto a progetto per evitare concorrenza (es: task in seq su stesso Ts per time Driven)
CoDeSys?Costruire semaforo per seq. mutuamente esclusive è complesso
Vincoli grafici
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 80
Sequential Function ChartStrutture speciali
MacrostatoRappresenta un insieme di stati e transizioni
4
42
43
41
stato iniziale
stato finale
4
6
3
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 81
Sequential Function Chart
Strutture speciali: Macrostatoper consentire una rappresentazione più sintetica è possibile raggruppare pezzi di SFC in un macrostato:
All’ingresso nel macrostato, viene eseguito lo stato inizialeViene eseguita la successione degli stati nel macrostato secondo le regole standard di SFCL’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 cicliIn Grafcet: definizione chiaraIn IEC61131-3: definizione non chiara
Azione di step definita in SFC Gestione in Codesys e non chiarissima
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 82
Sequential Function ChartStrutture speciali
Macroazioni - Forzatura
4
6
3
ForzareSFCX:{Y}
10
11
12
SFCX
=1=1
=1
Y= set 11
10
11
12
SFCX
aa
bb
cc
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 83
Sequential Function ChartStrutture speciali
Macroazioni - Forzatura in Sospensione
4
6
3
ForzareSFCX:{}
10
11
12
SFCX
Y= vuoto
=1
=1
=1
10
11
12
SFCX
aa
bb
cc
Ing. Andrea Tilli - Sistemi e Tecnologie per l'Automazione LS Controllo Logico 1 84
Sequential Function ChartStrutture speciali
Macroazioni - Forzatura in Blocco nello stato attuale
4
6
3
ForzareSFCX:{*}
10
11
12
SFCX
Y= *
10
11
12
SFCX
aa
bb
cc
aa**NOT1NOT1
aa**NOT1NOT1
aa**NOT1NOT1
Laurea Specialistica in Ingegneria InformaticaLaurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni
Ing. Andrea TilliDEIS - Università di Bologna
Tel. 051-2093924E-mail: [email protected]
http://www-lar.deis.unibo.it/atilli
Sistemi e Tecnologie per l'Automazione LS
Controllo Logico nell’Automazione IndustrialeFINE