47
Ingegneria e Tecnologie Ingegneria e Tecnologie dei dei Sistemi di Controllo Sistemi di Controllo Programmazione di sistemi di Programmazione di sistemi di controllo industriale (PLC) controllo industriale (PLC) PARTE 1 Prof. Prof. Alberto Alberto Tonielli Tonielli , , Ing. Ing. Andrea Tilli Andrea Tilli DEIS DEIS Alma Alma Mater Mater Studiorum Studiorum Universit Universit à à di Bologna di Bologna E E - - Mail: Mail: atonielli atonielli , [email protected] , [email protected] Revisionato: 14/11/2004

Ingegneria e Tecnologie dei Sistemi di Controllo ... · Da un SFC alla Programmazione ... Îlegata alla tecnologia implementativa diagrammi temporali ... Linguaggi di Programmazione

  • Upload
    ngodiep

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Ingegneria e Tecnologie Ingegneria e Tecnologie dei dei

Sistemi di ControlloSistemi di Controllo

Programmazione di sistemi di Programmazione di sistemi di controllo industriale (PLC)controllo industriale (PLC)

PARTE 1Prof.Prof. Alberto Alberto TonielliTonielli, , Ing.Ing. Andrea TilliAndrea Tilli

DEIS DEIS –– Alma Alma MaterMater StudiorumStudiorum UniversitUniversitàà di Bolognadi BolognaEE--Mail: Mail: atonielliatonielli, [email protected], [email protected]

Revisionato: 14/11/2004

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 22

SommarioSommario

Parte 1Parte 1Progettazione di controlli sequenzialiProgettazione di controlli sequenziali

un esempioun esempio

Lo standard IEC 1131Lo standard IEC 1131strumenti e linguaggi di programmazionestrumenti e linguaggi di programmazione

SequentialSequential functionalfunctional chartchart (SFC)(SFC)concetti baseconcetti base

sintassisintassi

strutturestrutture

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 33

SommarioSommario

Parte 2Parte 2SequentialSequential functionalfunctional chartchart (SFC)(SFC)

esempi di utilizzo delle struttureesempi di utilizzo delle strutture

Strumenti per la gestione delle eccezioniStrumenti per la gestione delle eccezioniGEMMAGEMMA

Un linguaggio testuale di basso livelloUn linguaggio testuale di basso livelloAWLAWL

dai diagrammi a relais alla programmazionedai diagrammi a relais alla programmazione

caratteristiche del linguaggiocaratteristiche del linguaggio

Da un SFC alla ProgrammazioneDa un SFC alla Programmazioneuna possibile soluzioneuna possibile soluzione

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 44

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

IntroduzioneIntroduzioneLa progettazione del Software di Automazione per un La progettazione del Software di Automazione per un Sistema Industriale Sistema Industriale èè un compito complessoun compito complessoLa metodologia generale di soluzione esula dagli scopi di La metodologia generale di soluzione esula dagli scopi di questo corsoquesto corsoMediante un esempio verranno presentati i passi logici Mediante un esempio verranno presentati i passi logici della soluzionedella soluzione

Chiarimento del compito e strutturazione del sistemaChiarimento del compito e strutturazione del sistemaElaborazione dei documenti di specificaElaborazione dei documenti di specificaRealizzazione del ProgettoRealizzazione del ProgettoCollaudo del sistema di controllo e messa in funzione della Collaudo del sistema di controllo e messa in funzione della macchinamacchinaStesura della documentazioneStesura della documentazione

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 55

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

Chiarimento del compito e strutturazione del sistemaChiarimento del compito e strutturazione del sistemaDescrizione generale della macchina da automatizzareDescrizione generale della macchina da automatizzareDescrizione del funzionamentoDescrizione del funzionamentoDescrizione dettagliata della macchinaDescrizione dettagliata della macchina

liste sensoriliste sensoriliste liste attuatoriattuatori

Strutturazione della macchina in parti omogeneeStrutturazione della macchina in parti omogeneefunzionalmente funzionalmente

correlazione nel processo produttivocorrelazione nel processo produttivospazialmentespazialmente

collocazione fisica adiacentecollocazione fisica adiacenteGrado di automazione delle partiGrado di automazione delle parti

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 66

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

Descrizione del processo produttivoDescrizione del processo produttivoimpacchettatriceimpacchettatrice

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

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 77

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

Elaborazione dei documenti di specificaElaborazione dei documenti di specificaCruciale per la buona riuscita del progettoCruciale per la buona riuscita del progetto

Distribuzione Hardware/Software dei compitiDistribuzione Hardware/Software dei compiti

Scelta dei sensori e degli Scelta dei sensori e degli attuatoriattuatori

Lavoro di gruppoLavoro di gruppospecifiche chiare e non ambiguespecifiche chiare e non ambigue

interfacce ben definiteinterfacce ben definite

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 88

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

Realizzazione del ProgettoRealizzazione del ProgettoHardwareHardware

acquistoacquistoacquisto + progettazione di parti specificheacquisto + progettazione di parti specificheprogettazione completaprogettazione completa

SoftwareSoftwarenormalmente va progettatonormalmente va progettatosoftware per uso industrialesoftware per uso industriale

realizzazionerealizzazionegruppo di lavorogruppo di lavoro

manutenzione, aggiornamento, riutilizzomanutenzione, aggiornamento, riutilizzonoi o altre personenoi o altre persone

Controllo digitale diretto, Controllo digitale diretto, controllo di sequenzecontrollo di sequenze

AttivitAttivitàà crucialecruciale

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 99

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

Collaudo del sistema di controllo e messa in funzione Collaudo del sistema di controllo e messa in funzione dell'impiantodell'impianto

Fase costosa e delicataFase costosa e delicatarealizzata da altre personerealizzata da altre personerealizzata presso il clienterealizzata presso il clienteesigenze di avvio della produzioneesigenze di avvio della produzione

tempi e costi dipendono fortemente dalla qualittempi e costi dipendono fortemente dalla qualitàà della della fase di progettazionefase di progettazione

meglio investire tempo e risorse sulla progettazione che spendermeglio investire tempo e risorse sulla progettazione che spendere e poi nel collaudo e nella messa in serviziopoi nel collaudo e nella messa in servizio

Nella pratica industriale raramente viene seguita questa Nella pratica industriale raramente viene seguita questa filosofia per diverse motivazioni, solitamente non filosofia per diverse motivazioni, solitamente non

tecnichetecniche

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1010

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

Stesura della documentazioneStesura della documentazioneLa documentazione La documentazione èè parte integrante e fondamentale di parte integrante e fondamentale di un progetto industrialeun progetto industriale

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

La predisposizione della documentazione va effettuata La predisposizione della documentazione va effettuata congiuntamente con lo sviluppo di ogni fase della congiuntamente con lo sviluppo di ogni fase della progettazioneprogettazioneTecniche di progettazione che intrinsecamente Tecniche di progettazione che intrinsecamente producono documentazione sono da privilegiareproducono documentazione sono da privilegiare

CADCADprogrammazione strutturataprogrammazione strutturataSFCSFCGEMMAGEMMA

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1111

Progettazione di Controlli SequenzialiProgettazione di Controlli Sequenziali

Strumenti di modellazione per il controllo logico Strumenti di modellazione per il controllo logico descrizione letterale (a parole)descrizione letterale (a parole)

lunga, imprecisa, troppo personalelunga, imprecisa, troppo personaledescrizione puramente logicadescrizione puramente logica

troppo particolareggiatatroppo particolareggiatalegata alla tecnologia legata alla tecnologia implementativaimplementativa

diagrammi temporalidiagrammi temporalicarenza nella descrizione degli elementi sequenzialicarenza nella descrizione degli elementi sequenzialinon consente di mettere in evidenza sequenze simultaneenon consente di mettere in evidenza sequenze simultanee

diagramma degli statidiagramma degli statistrumento idoneo per sistemi di modesta complessitstrumento idoneo per sistemi di modesta complessitàà perchperchéétroppo particolareggiatotroppo particolareggiatoidoneo con una opportuna idoneo con una opportuna ridefinizioneridefinizione del concetto di statodel concetto di stato

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1212

Lo Standard IEC 1131Lo Standard IEC 1131--33

Strumenti software standardizzati per la descrizione e la Strumenti software standardizzati per la descrizione e la progettazione del ciclo operativo di macchine ed progettazione del ciclo operativo di macchine ed

impiantiimpiantiscoposcopo

stimolare una normalizzazione della sintassi dei linguaggi di stimolare una normalizzazione della sintassi dei linguaggi di programmazione per l'automazioneprogrammazione per l'automazione

obiettiviobiettiviprogrammazione strutturataprogrammazione strutturatamodularitmodularitàà del softwaredel softwareriusabilitriusabilitàà del softwaredel softwareportabilitportabilitàà del codice tra macchine diversedel codice tra macchine diversesemplicitsemplicitàà di programmazionedi programmazionetempi e costi di sviluppo ridottitempi e costi di sviluppo ridotti

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1313

Lo Standard IEC 1131Lo Standard IEC 1131--33

Linguaggi di Programmazione Grafici Linguaggi di Programmazione Grafici SequentialSequential FunctionalFunctional ChartChart (SFC)(SFC)

Rappresentazione a diagrammi a stati Rappresentazione a diagrammi a stati ““evolutoevoluto””ProgettazioneProgettazione delle sequenze di Controllodelle sequenze di Controllo

11

22

33

44

55

StatiStati

TransizioniTransizioni

CondizioniCondizioniper laper la

transizionetransizione

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1414

Lo Standard IEC 1131Lo Standard IEC 1131--33

Linguaggi di Programmazione graficiLinguaggi di Programmazione graficiLinguaggio a contatti (Linguaggio a contatti (LadderLadder DiagramDiagram))

AND( )

E1.0 E1.1 A4.01

( )OR

E1.2

E1.1

A4.12

V+V+ VV--

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1515

Lo Standard IEC 1131Lo Standard IEC 1131--33

Linguaggi di Programmazione graficiLinguaggi di Programmazione graficiSchemi a blocchi funzionali (Schemi a blocchi funzionali (FunctionFunction Block Block DiagramDiagram))

&E1.0E1.1

A4.01

>= 1A4.1

E1.2

E1.12

V+V+ VV--

( )( )

( )( )

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1616

Lo Standard IEC 1131Lo Standard IEC 1131--33

Linguaggi di Programmazione testualiLinguaggi di Programmazione testualiTesto Strutturato (Testo Strutturato (pseudopseudo--PascalPascal))

…………..ifif (fine_corsa)(fine_corsa)

thenthenmotore := off;motore := off;

else else motore := on;motore := on;

end_ifend_if;;…………..

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1717

Lo Standard IEC 1131Lo Standard IEC 1131--33

Linguaggi di Programmazione testualiLinguaggi di Programmazione testualiLista di istruzioni (Lista di istruzioni (InstructionInstruction list)list)

………………..AND FINE_CORSAAND FINE_CORSASET MOTORESET MOTOREANDN FINE_CORSAANDN FINE_CORSARESET MOTORERESET MOTORE……………….. ..

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1818

Lo Standard IEC 1131Lo Standard IEC 1131--33

ConsiderazioniConsiderazioniSFC strumento di piSFC strumento di piùù alto livello rispetto agli altrialto livello rispetto agli altri

Da utilizzare per il Da utilizzare per il progetto del sistema di gestione progetto del sistema di gestione delldell’’automazioneautomazioneGli altri strumenti sono piGli altri strumenti sono piùù implementativiimplementativi

Se SFC non Se SFC non èè direttamente direttamente ““compilabilecompilabile””Per la gestione di sezioni particolariPer la gestione di sezioni particolari

Attenzione: i linguaggi grafici sono indipendenti dal Attenzione: i linguaggi grafici sono indipendenti dal modello modello implementativoimplementativo, mentre i testuali ne risentono, mentre i testuali ne risentono

Modello Modello implementativoimplementativo: HW + S.O. : HW + S.O. RealReal TimeTimeEsEs: Attesa evento, divisione in processi : Attesa evento, divisione in processi

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 1919

Strumento per la Progettazione di Controlli SequenzialiStrumento per la Progettazione di Controlli Sequenziali

SequentialSequential FunctionalFunctional ChartChartFormalismo gerarchicamente superiore agli altri Formalismo gerarchicamente superiore agli altri linguaggilinguaggi

serve per serve per progettare il controllo sequenzialeprogettare il controllo sequenzialegli altri linguaggi, a discrezione del progettista, servono per gli altri linguaggi, a discrezione del progettista, servono per implementare il controlloimplementare il controllo

Descrizione e progettazione del ciclo operativo di Descrizione e progettazione del ciclo operativo di macchine ed impiantimacchine ed impiantiassimilabile ad un diagramma degli statiassimilabile ad un diagramma degli statiindipendente dalla tecnologia utilizzata per indipendente dalla tecnologia utilizzata per ll’’implementazioneimplementazione

formalismo astrattoformalismo astrattosemplifica la rappresentazione stimolando la semplifica la rappresentazione stimolando la scomposizione in sottoproblemiscomposizione in sottoproblemi

in ogni situazione operativa solo un sottoinsieme delle in ogni situazione operativa solo un sottoinsieme delle informazioni informazioni èè indispensabile per il controlloindispensabile per il controllo

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2020

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseStato (fase, tappa, passo)Stato (fase, tappa, passo)

ll’’evoluzione temporale del funzionamento di un impianto evoluzione temporale del funzionamento di un impianto complesso complesso èè descrivibile mediante una descrivibile mediante una successione temporale di successione temporale di situazioni operative pisituazioni operative piùù semplicisemplici (fasi), nelle quali solo un (fasi), nelle quali solo un sottoinsieme dei comandi e delle misure sottoinsieme dei comandi e delle misure èè attivoattivo

definizione di Statodefinizione di Statouno Stato uno Stato èè una condizione operativa della macchina alla quale una condizione operativa della macchina alla quale èèassociato un ben preciso associato un ben preciso algoritmo di controllo (Azioni)algoritmo di controllo (Azioni), diverso , diverso da quelli associati agli altri Stati. da quelli associati agli altri Stati. il verificarsi di un particolare evento forza il il verificarsi di un particolare evento forza il passaggio passaggio (Transizione)(Transizione) ad un altro Statoad un altro Statoin generale, durante il tempo di permanenza in uno Stato in generale, durante il tempo di permanenza in uno Stato ((codizionecodizione di di stato attivostato attivo) le uscite del controllo (comandi) ) le uscite del controllo (comandi) possono variare in risposta alle variazioni degli ingressi (senspossono variare in risposta alle variazioni degli ingressi (sensori) ori) o allo scorrere del tempoo allo scorrere del tempo

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2121

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseTransizioniTransizioni

possibilitpossibilitàà di di evoluzioneevoluzione da uno Stato ad un altroda uno Stato ad un altronon tutti gli Stati ammettono tra loro una Transizionenon tutti gli Stati ammettono tra loro una Transizionead ogni Transizione ad ogni Transizione èè associata una Condizione che deve essere associata una Condizione che deve essere verificata affinchverificata affinchéé la Transizione avvengala Transizione avvenga

Condizioni (di transizione)Condizioni (di transizione)evento che determina il passaggio ad un altro statoevento che determina il passaggio ad un altro stato

La sintassi per definire gli Stati, le Transizioni e le La sintassi per definire gli Stati, le Transizioni e le Condizioni Condizioni èè molto precisamolto precisa

nn StatoStato

mm

TransizioneTransizioneCondizioneCondizione

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2222

pistone pneumatico

testa di timbratura

oggetto da timbrare

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2323

attesa pezzonessuna azione

1

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

tre statitre stati

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2424

pezzo presente

1

2

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

tre statitre stati

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2525

esecuzione timbraturacomando pistone avanti

1

2

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

tre statitre stati

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2626

timbratura o.k.

1

2

3

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

tre statitre stati

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2727

evacuazione pezzocomando evacuazione pezzo

comando pistone indietro

1

2

3

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

tre statitre stati

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2828

1

2

3

timbro su

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

tre statitre stati

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 2929

attesa pezzonessun comando

1

2

3

Strumenti Software Strumenti Software -- SFCSFC

Concetti baseConcetti baseEsempio Esempio -- timbratrice automaticatimbratrice automatica

tre statitre stati

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3030

Strumenti Software Strumenti Software -- SFCSFC

SintassiSintassiStatiStati

ad ogni stato vanno associate le ad ogni stato vanno associate le AzioniAzioni da intraprendere quando da intraprendere quando si si èè in quello stato in quello stato

algoritmo di controllo attivo quando il sistema si trova in quelalgoritmo di controllo attivo quando il sistema si trova in quello lo statostato

due stati vanno sempre separati da una transizionedue stati vanno sempre separati da una transizioneATTENZIONE: in un diagramma a ATTENZIONE: in un diagramma a ““runrun timetime”” ci possono essere ci possono essere pipiùù ““stati stati attviattvi””

pipiùù generale rispetto a diagrammi a stati classici (automi)generale rispetto a diagrammi a stati classici (automi)il nome il nome ““statostato”” non non èè proprio corretto dal punto di vista della proprio corretto dal punto di vista della teoria dei sistemiteoria dei sistemi

Lo stato dellLo stato dell’’SFC (nel senso della teoria dei sistemi) SFC (nel senso della teoria dei sistemi) èè ll’’insieme insieme degli stati attivi degli stati attivi I I ““quadratiniquadratini”” vengono detti comunque vengono detti comunque ““statistati”” con con ““abuso di abuso di notazionenotazione””

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3131

Strumenti Software Strumenti Software -- SFCSFC

SintassiSintassiTransizioniTransizioni

ad ogni transizione va associata una sola ad ogni transizione va associata una sola CondizioneCondizione che ne che ne determina ldetermina l’’attivazione (passaggio ad un nuovo stato)attivazione (passaggio ad un nuovo stato)due transizioni successive non separate da uno stato sono due transizioni successive non separate da uno stato sono proibiteproibite

CollegamentiCollegamentipartono da uno stato ed arrivano ad un altro statopartono da uno stato ed arrivano ad un altro statodi solito linee verticali, ma di solito linee verticali, ma èè opportuno indicare i collegamenti opportuno indicare i collegamenti con frecce per evitare ambiguitcon frecce per evitare ambiguitàà

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3232

Strumenti Software Strumenti Software -- SFCSFC

Regole di evoluzioneRegole di evoluzioneInizializzazioneInizializzazione

Occorre definire gli Occorre definire gli stati attivistati attivi allall’’avviamentoavviamentostati inizialistati iniziali

gli stati iniziali possono essere pigli stati iniziali possono essere piùù di uno di uno concetto di stato in senso lato... concetto di stato in senso lato...

si indicano con due quadretti uno dentro lsi indicano con due quadretti uno dentro l’’altroaltropossono non essere i primi stati di uno schemapossono non essere i primi stati di uno schema

Abilitazione delle transizioniAbilitazione delle transizioniuna transizione si dice una transizione si dice AbilitataAbilitata quando lo stato di partenza quando lo stato di partenza èèattivoattivouna transizione una transizione non Abilitatanon Abilitata non viene testatanon viene testatauna transizione diventa una transizione diventa AttivaAttiva quando quando èè Abilitata eAbilitata e la Condizione la Condizione associata associata èè veravera. . la transizione la transizione AttivaAttiva determina il determina il cambio di statocambio di stato. Il controllo . Il controllo relativo allo stato precedente viene interrotto e viene attivatorelativo allo stato precedente viene interrotto e viene attivatoquello relativo allo stato successivoquello relativo allo stato successivo

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3333

Strumenti Software Strumenti Software -- SFCSFC

Tipi di AzioniTipi di Azioni

n Azione A

Condizione n

C

A

Azione condizionataAzione condizionata

m

n

Azione A

Azione A

m

n

A

Azione continuaAzione continua

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3434

Strumenti Software Strumenti Software -- SFCSFC

Tipi di AzioniTipi di Azioni

Azione temporizzataAzione temporizzatalimitata nel tempolimitata nel tempoTxTx = Timer n. x= Timer n. xn = stato triggern = stato triggerd = duratad = durata

n Azione A

n

A

TxNOT (Tx/n/d)

d

Azione temporizzataAzione temporizzataritardataritardata

n Azione A

n

C

A

Tx/n/d

d

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3535

Strumenti Software Strumenti Software -- SFCSFC

Tipi di AzioniTipi di AzioniAltri tipi di azione:Altri tipi di azione:

P, S, R P, S, R ……. Esercitazioni ISAGRAF . Esercitazioni ISAGRAF

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3636

No No

Strumenti Software Strumenti Software -- SFCSFC

Strutture di collegamentoStrutture di collegamento

Scelta alternativa Parallelismo

MutuamenteMutuamenteesclusiveesclusive

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3737

No No

Strumenti Software Strumenti Software -- SFCSFC

Strutture di collegamentoStrutture di collegamento

SincronizzazioneConvergenza

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3838

Strumenti Software Strumenti Software -- SFCSFC

Strutture di collegamentoStrutture di collegamento

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

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

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 3939

Strumenti Software Strumenti Software -- SFCSFC

Strutture di collegamentoStrutture di collegamento

Mutua Esclusione tra Sequenze

4

8

T3-4

3

9

11

17

T10-11

10

18

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

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 4040

Strumenti Software Strumenti Software -- SFCSFC

Strutture di collegamentoStrutture di collegamentoMutua Esclusione tra Sequenze

3

4

8

9

T3-4

10

11

17

18

T10-11

S Semaforo

Sincronizzazione

Sblocco

Il semaforo Il semaforo deve esseredeve essere stato inizialestato iniziale

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 4141

Strumenti Software Strumenti Software -- SFCSFC

Strutture di collegamentoStrutture di collegamentoSincronizzazione 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 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

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

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 4242

Strumenti Software Strumenti Software -- SFCSFC

Strutture di collegamentoStrutture di collegamento

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 2Sincronizzazione di sequenze indipendenti

Il semaforo Il semaforo non non èè uno stato inizialeuno stato iniziale

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 4343

Strumenti Software Strumenti Software -- SFCSFC

Strutture specialiStrutture specialiMacrostati

4

6

3 10

11

12

13

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 4444

Strumenti Software Strumenti Software -- SFCSFC

Strutture specialiStrutture specialiMacroazioni - Forzatura

4

6

3

ForzareSFCX:{Y}

10

11

12

SFCX

=1=1

=1

Y= set 11

10

11

12

SFCX

aa

bb

cc

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 4545

Strumenti Software Strumenti Software -- SFCSFC

Strutture specialiStrutture specialiMacroazioni - Forzatura in Sospensione

4

6

3

ForzareSFCX:{}

10

11

12

SFCX

Y= vuoto

=1

=1

=1

10

11

12

SFCX

aa

bb

cc

Prof. A. Tonielli, Prof. A. Tonielli, Ing.Ing. A. A. TilliTilli -- DEIS DEIS -- UnivUniv. di Bologna. di Bologna Programmazione per PLCProgrammazione per PLC 4646

Strumenti Software Strumenti Software -- SFCSFC

Strutture specialiStrutture specialiMacroazioni - 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

Ingegneria e Tecnologie Ingegneria e Tecnologie dei dei

Sistemi di ControlloSistemi di Controllo

Programmazione di sistemi di Programmazione di sistemi di controllo industriale (PLC)controllo industriale (PLC)

PARTE 1 - FINEProf.Prof. Alberto Alberto TonielliTonielli, , Ing.Ing. Andrea TilliAndrea Tilli

DEIS DEIS –– Alma Alma MaterMater StudiorumStudiorum UniversitUniversitàà di Bolognadi BolognaEE--Mail: Mail: atonielliatonielli, [email protected], [email protected]