Sequential Functional Chart (SFC) - Parte 2

Похожие документы
Sequential Functional Chart (SFC) - Parte 1

Sequential Functional Chart

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Introduzione alle macchine a stati (non definitivo)

Ingegneria e Tecnologie dei Sistemi di Controllo. Programmazione di sistemi di controllo industriale (PLC) PARTE 1.

Il linguaggio SFC. Il linguaggio SFC (Sequential

Esercizi di utilizzo del semaforo semplice di competizione per l'uso di una risorsa comune

AUTOMAZIONE INDUSTRIALE. 14 gennaio Cognome Nome Matricola Corso integrato

Modelli di interazione tra processi

COMANDO DI TRE NASTRI TRASPORTATORI

Modelli di interazione tra processi

25 Comandi elettrici d emergenza

Sistemi di Controllo Real Time

Reggio Calabria, 29 Aprile 2009 ING.VALERIO SCORDAMAGLIA

SEMAFORI SEMAFORI. Sul semaforo sono ammesse solo due operazioni (primitive)

diagramma funzionale sequenziale Sequential functional chart (SFC)

Ingegneria e Tecnologie dei Sistemi di Controllo Programmazione di sistemi di controllo industriale (PLC)

Laboratorio in C su Processi e POSIX IPC (Inter Process Communications) Dalla nona lezione di laboratorio in avanti

Implementazione di sistemi real time

Sequential Function Chart (SFC)

Sequential Function Chart

ESERCIZIO. 1l 1l 1l PM1 S1H S1L. Valv. S4b. Macchina di chiusura. S4a

MT-NET-BDCT. Guida rapida software per centrali termiche con regolatore Multinet ISO emissione 03/2015 DMP102i

1 Definizione di sistema lineare non-omogeneo.

20 Tecnica del sequenziatore

Manuale Utente Guglielmo SmartClient

Luigi Piroddi

Modello a scambio di messaggi

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROGRAMMAZIONE: Le strutture di controllo

Algoritmi di scheduling - Parte 2

Analisi e specifica dei requisiti

Rappresentazione con i diagrammi di flusso (Flow - chart)

classe: 5APT docenti: Fraterno Giovanni - Azzaro Nicola PIANO di LAVORO di SISTEMI a.s Libro di testo: Bufalino Domenico - Fratangelo Pio

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

PLC CodeSys. Esercitazione 5. Automation Robotics and System CONTROL. Università degli Studi di Ferrara

PREMESSA In questa lezione analizziamo le diverse modalità di programmazione del PLC, soffermandoci in particolare sulle programmazioni KOP e AWL.

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Esercizio 1. semaforo verde semaforo rosso T V1 VG 1. semaforo verde-giallo semaforo rosso T G V 2. semaforo rosso semaforo verde T V2 VG 2

MANUALE DI UTILIZZO WINCAR PER GESTIONE PRATICHE FIAT

ESEMPIO QUATTRO: CARROPONTE

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Filtro attivo per la compensazione delle armoniche

Soluzione degli esercizi del Capitolo 8

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CIM Computer Integrated Manufacturing

Risoluzione di problemi ingegneristici con Excel

Manuale operativo Multi azienda

ARCHITETTURA DEI CALCOLATORI

APPENDICE N.1 AL MANUALE OPERATIVO E-LEARNING

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

PRO V2 A-105. Manuale (IT)

Come presentare una domanda di partecipazione a concorso

Le risorse. Alcune definizioni

Function Block Diagram

Frequenza 2016/2017 Anagrafe nazionale alunni-aggiornamento frequenze

LA MEMORIA NEL CALCOLATORE

SISTEMA GESTIONE TOMBINI

SendMed Client v Manuale d uso-

PLC CodeSys. Esercitazione 3. Automation Robotics and System CONTROL. Università degli Studi di Ferrara

Corso di Informatica Modulo T1 1 - Il concetto di problema

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Interruttori di sicurezza

Formalismi per la descrizione di algoritmi

Sistemi Web per il turismo - lezione 3 -

Fondamenti per la Programmazione delle Macchine a Controllo Numerico

I Diagrammi di Flusso OO

I Processi. Il Concetto di Processo

LA SALDATURA. 2. La rappresentazione schematica comprende un segno grafico elementare, che può essere completato da:

HARVIA GRIFFIN INFRA. Centralina di controllo

Manuale del Termostato TACTO. v 2

GUIDA VALIDA PER LE SOLE SCUOLE DELL INFANZIA

Massimi e minimi vincolati

CH-6616 Losone +41 (0) , BSystem Sagl. 1.1 Meridiana per Android ii

Dispositivi e Strumenti Software per l'automazione PLC e SFC

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Università degli Studi del Piemonte Orientale Facoltà di Scienze M.F.N. Precorso di Matematica APPUNTI (preparati da Pier Luigi Ferrari)

Grandezze fisiche e loro misura

Elaborazione dell informazione

ACSO Programmazione di Sistema e Concorrente

PREMESSA. Procedure di protezione che, ovviamente, dovranno essere riabilitate al termine dell'installazione.

Sistemi Operativi. Lez. 6: Problemi classici della programmazione concorrente

Grandezze fisiche e loro misura

MICROFONO DEL TORSO ED ENCODER

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29

Esercitazione sui grafi di precedenza, fork/join, cobegin/coend.

Транскрипт:

Sequential Functional Chart (SFC) - Parte 2 Vincenzo Suraci Automazione

STRUTTURA DEL NUCLEO TEMATICO STRUTTURE DI COLLEGAMENTO Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 2

STRUTTURE DI COLLEGAMENTO Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 3

INTRODUZIONE Abbiamo visto la STRUTTURA DI BASE del linguaggio SFC. 1.X 1.T Q 1 A 1 V 1 n.x TIMER DURATA dell intervallo di ATTIVAZIONE n.t MARKER TRUE se lo stato è ATTIVO 2.X 2.T Condizione 1 Q 2 A 2 V 2 A m IDENTIFICATORE (UNIVOCO) della azione Q m QUALIFICATORE della tipologia di azione V m VARIABILE TRUE se l azione è stata terminata Passiamo ora a studiare le STRUTTURE DI COLLEGAMENTO tra i diversi STATI. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 4

SCELTA o DIVERGENZA La prima STRUTTURA DI COLLEGAMENTO è la SCELTA o DIVERGENZA tra due o più stati successivi. n cond n+1 cond n+2 cond n+k n+1 n+2 n+k Quando lo STATO n è ATTIVO, le CONDIZIONI A VALLE sono ABILITATE. Per decidere quale sarà lo stato SUCCESSIVO, è necessario verificare quale delle condizioni abilitate è TRUE. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 5

SCELTA o DIVERGENZA ESEMPIO Riprendendo L ESEMPIO DALLA TAGLIERINA, supponiamo che A VALLE del dispositivo di taglio vi sia un SENSORE DI MISURA che IN BASE ALLA MISURAZIONE del pezzo tagliato esegue DUE STAMPI DIFFERENTI. film SENSORI DI INIZIO E FINE CORSA SENSORE OTTICO MOTORE LINEARE Taglierina verticale SENSORE MISURA MOTORE LINEARE "# MOTORE LINEARE! nastro trasportatore nastro trasportatore È evidente che per un corretto funzionamento è necessario che le AZIONI DI STAMPO siano MUTAMENTE ESCLUSIVE. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 6

SCELTA o DIVERGENZA Tracciando il diagramma SFC avremo: 1 Movimento Nastro Prodotto rilevato 2 Misurazione Tratto lungo Tratto breve 3 Stampo A 4 Stampo B Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 7

SCELTA o DIVERGENZA PROPRIETÀ DI MUTUA ESCLUSIONE Lo standard IEC 61131-3 richiede che la STRUTTURA DI COLLEGAMENTO di tipo SCELTA o DIVERGENZA soddisfi il vincolo di MUTUA ESCLUSIONE delle scelte. n cond n+1 cond n+2 cond n+k n+1 n+2 n+k Per IMPORRE tale vincolo, viene aggiunto alle condizioni di scelta l AND LOGICO di tutte le CONDIZIONI successive NEGATE. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 8

CONVERGENZA La STRUTTURA DI COLLEGAMENTO che vede TERMINARE PIÙ SEQUENZE in un MEDESIMO STATO attraverso DIFFERENTI TRANSIZIONI, è la CONVERGENZA. n+1 n+2 n+k cond n+k+1 cond n+k+2 cond n+2k n+k+1 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 9

CONVERGENZA La CONVERGENZA è la logica TERMINAZIONE di una DIVERGENZA MUTUAMENTE ESCLUSIVA. DIVERGENZA MUTUAMENTE ESCLUSIVA n cond n+1 cond n+2 cond n+k n+1 n+2 n+k CONVERGENZA cond n+k+1 cond n+k+2 cond n+2k n+k+1 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 10

CONVERGENZA ESEMPIO Riprendendo L ESEMPIO di prima, supponiamo che A VALLE del dispositivo di stampo vi sia un SENSORE DI QUALITÀ che FOTOGRAFA il pezzo e quindi un circuito di espulsione del pezzo. MOTORE LINEARE MOTORE LINEARE CIRCUITO DI ESPULSIONE SENSORE MISURA! SENSORE QUALITÀ SSSSSSSSSSSSSSSS! nastro trasportatore Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 11

CONVERGENZA Il diagramma SFC sarà: 1 Movimento Nastro Prodotto rilevato DIVERGENZA MUTUAMENTE ESCLUSIVA Tratto lungo 2 Misurazione Tratto breve CONVERGENZA 3 Stampo A 4 Stampo A terminato 5 Test qualità Foto terminata Stampo B Stampo B terminato 6 Espulsione Espulsione eseguita Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 12

PARALLELISMO La STRUTTURA DI COLLEGAMENTO che permette l attivazione di SEQUENZE PARALLELE a partire da una singola TRANSIZIONE, è il PARALLELISMO. n cond n n+1 n+2 n+k Quando la TRANSIZIONE viene ATTIVATA, TUTTI gli STATI A VALLE vengono ATTIVATI. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 13

PARALLELISMO ESEMPIO Si consideri un sistema di lavorazione di due ELEMENTI METALLICI (TIPO A e TIPO B) composto da un NASTRO TRASPORTATORE, un SENSORE OTTICO per la rilevazione del tipo di pezzo e tre azionamenti deputati al RISCALDAMENTO, alla FORATURA e alla SALDATURA. Riscaldamento Foratura MOTORE LINEARE MOTORE LINEARE Saldatura SENSORE OTTICO nastro trasportatore Se il pezzo da lavorare è di TIPO A, deve essere CONTEMPORANEAMENTE RISCALDATO ad una temperatura prefissata e FORATO; Se il pezzo da lavorare è di TIPO B, deve essere RISCALDATO e FORATO e in seguito RISCALDATO e SALDATO. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 14

PARALLELISMO Progettiamo la logica di controllo tramite diagrammi SFC. Innanzitutto AZIONIAMO IL NASTRO TRASPORTATORE ed IDENTIFICHIAMO IL PEZZO DA LAVORARE usando una DIVERGENZA: DIVERGENZA 1 2 Prodotto di tipo A Movimento Nastro Prodotto rilevato dal sensore ottico Identificazione Prodotto di tipo B Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 15

PARALLELISMO Considerando il ramo a sinistra (Prodotto di tipo A), dovremmo utilizzare un PARALLELISMO per attuare RISCALDAMENTO e FORATURA come da specifica. DIVERGENZA PARALLELISMO 1 2 Prodotto di tipo A Movimento Nastro Prodotto rilevato dal sensore ottico Identificazione Prodotto di tipo B Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 16

PARALLELISMO Ma questa rappresentazione VIOLA il FORMALISMO dei DIAGRAMMI SFC. 1 2 Movimento Nastro Prodotto rilevato dal sensore ottico Identificazione DIVERGENZA PARALLELISMO Prodotto di tipo A Prodotto di tipo B VIOLAZIONE Prima del PARALLELISMO c è una TRANSIZIONE, PRECEDUTA da uno STATO e non da una DIVERGENZA o altro Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 17

PARALLELISMO La soluzione è quella di introdurre uno STATO DUMMY, che non fa NULLA, la cui TRANSIZIONE è sempre TRUE. L utilità degli stati dummy è quella di conservare la CORRETTEZZA FORMALE del diagramma SFC. DIVERGENZA 1 2 Prodotto di tipo A Movimento Nastro Prodotto rilevato dal sensore ottico Identificazione Prodotto di tipo B 3 4 PARALLELISMO true PARALLELISMO true Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 18

PARALLELISMO Terminiamo quindi l esempio, riportando le azioni degli stati da eseguire in parallelo. 1 Movimento Nastro Prodotto rilevato dal sensore ottico 2 Identificazione Prodotto di tipo A Prodotto di tipo B 3 true 4 true 5 Riscaldamento pezzo di tipo A 6 Riscaldamento completato Foratura di tipo A Foratura completata 7 Riscaldamento pezzo di tipo B Riscaldamento completato 8 9 Foratura di tipo B Foratura completata Saldatura di tipo B Saldatura completata Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 19

SINCRONIZZAZIONE La STRUTTURA DI COLLEGAMENTO duale al parallelismo è la SINCRONIZZAZIONE. Essa è data da una TRANSIZIONE con più STATI A MONTE. n - k n k +1 n - 1 SINCRONIZZAZIONE cond n n cond n+1 La TRANSIZIONE viene ABILITATA solo quando TUTTI gli STATI A MONTE vengono ATTIVATI. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 20

SINCRONIZZAZIONE ESEMPIO Si consideri il sistema dell esempio precedente. A valle di esso ci sono un SENSORE DI QUALITÀ che fotografa il pezzo e un CIRCUITO DI ESPULSIONE. MOTORE LINEARE MOTORE LINEARE Riscaldamento Foratura Saldatura CIRCUITO DI ESPULSIONE SENSORE OTTICO SENSORE QUALITÀ SSSSSSSSSSSSSSSS! nastro trasportatore Tracciamo i DIAGRAMMI SFC del processo industriale completo. Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 21

SINCRONIZZAZIONE Sembra intuitivo aggiungere una SINCRONIZZAZIONE al termine degli stati 5,6 e 7,9 1 2 Movimento Nastro Prodotto rilevato dal sensore ottico Identificazione Prodotto di tipo A Prodotto di tipo B 3 true 4 true 5 Riscaldamento pezzo di tipo A 6 Riscaldamento completato Foratura di tipo A Foratura completata 7 Riscaldamento pezzo di tipo B Riscaldamento completato 8 9 Foratura di tipo B Foratura completata Saldatura di tipo B Saldatura completata VIOLAZIONE - Prima della SINCRONIZZAZIONE NON ci sono TRANSIZIONI, ma STATI Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 22

SINCRONIZZAZIONE 1 Movimento Nastro È pertanto necessario aggiungere degli STATI di ATTESA (10-13). 2 Prodotto rilevato dal sensore ottico Identificazione Prodotto di tipo A Prodotto di tipo B 3 true 4 true 5 Riscaldamento pezzo di tipo A 6 Riscaldamento completato Foratura di tipo A Foratura completata 7 Riscaldamento pezzo di tipo B Riscaldamento completato 8 9 Foratura di tipo B Foratura completata Saldatura di tipo B Saldatura completata 10 11 12 13 true true Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 23

SINCRONIZZAZIONE 1 Movimento Nastro Le due SINCRONIZZAZIONI sono seguite da due TRANSIZIONI poste a TRUE. 2 Prodotto rilevato dal sensore ottico Identificazione Prodotto di tipo A Prodotto di tipo B 3 true 4 true 5 Riscaldamento pezzo di tipo A 6 Riscaldamento completato Foratura di tipo A Foratura completata 7 Riscaldamento pezzo di tipo B Riscaldamento completato 8 9 Foratura di tipo B Foratura completata Saldatura di tipo B Saldatura completata 10 11 12 13 true true Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 24

SINCRONIZZAZIONE 1 Movimento Nastro Chiude quindi una CONVERGENZA. 2 Prodotto rilevato dal sensore ottico Identificazione Prodotto di tipo A Prodotto di tipo B 3 true 4 true 5 Riscaldamento pezzo di tipo A 6 Riscaldamento completato Foratura di tipo A Foratura completata 7 Riscaldamento pezzo di tipo B Riscaldamento completato 8 9 Foratura di tipo B Foratura completata Saldatura di tipo B Saldatura completata 10 11 12 13 CONVERGENZA true true Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 25

SINCRONIZZAZIONE Si chiude quindi il DIAGRAMMA SFC. Identificazione Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 26

STATI di ATTESA L inserimento degli STATI di ATTESA serve a far TERMINARE gli stati operativi INDIPENDENTEMENTE l uno dall altro. Identificazione Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 27

STATI di ATTESA Nel diagramma SFC a SINISTRA, gli stati 5 e 6 devono RIMANERE ENTRAMBI ATTIVI fino a quando il più lento dei due stati termina. Nel diagramma SFC a DESTRA, gli stati 5 e 6 possono DIVENTARE INATTIVI INDIPENDENTEMENTE L UNO DALL ALTRO. 3 Prodotto di tipo A true 3 Prodotto di tipo A true 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A Riscaldamento completato Foratura completata (Riscaldamento completato)*(foratura completata) 10 11 true true Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 28

MUTUA ESCLUSIONE Cosa succede se due SEQUENZE INDIPENDENTI devono accedere ad una RISORSA CONDIVISA, MUTUAMENTE ESCLUSIVA, del sistema da automatizzare? Sequenza n n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 Risorsa condivisa mutuamente esclusiva manipolatore Sequenza m m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 29

MUTUA ESCLUSIONE Supponiamo che gli STATI n ed n+1 della SEQUENZA n e gli STATI m ed m+1 della SEQUENZA m ACCEDANO CONCORRENTEMENTE alla STESSA RISORSA CONDIVISA. Sequenza n n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 Risorsa condivisa mutuamente esclusiva manipolatore Sequenza m m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 30

MUTUA ESCLUSIONE È necessario EVITARE che gli stati n o n+1 siano ATTIVI CONTEMPORANEAMENTE con gli stati m o m+1. Sequenza n n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 Risorsa condivisa mutuamente esclusiva manipolatore Sequenza m m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 31

MUTUA ESCLUSIONE OSSERVAZIONE PROVIAMO ad imporre una condizione di MUTUA ESCLUSIONE sulle CONDIZIONI Sequenza n n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 Risorsa condivisa mutuamente esclusiva manipolatore Sequenza m m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Condizione m-1 := (Condizione m-1) * (not Condizione n-1) Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 32

MUTUA ESCLUSIONE OSSERVAZIONE PROVIAMO ad imporre una condizione di MUTUA ESCLUSIONE sulle CONDIZIONI Ma tale soluzione NON GARANTISCE la MUTUA ESCLUSIONE!!! Condizione n-1 Condizione m-1 Azione n Azione m CONFLITTO Condizione m-1 := (Condizione m-1) * (not Condizione n-1) Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 33

SEMAFORO PER LA MUTUA ESCLUSIONE DEFINIZIONE Si definisce SEMAFORO uno STATO associato ad una RISORSA CONDIVISA MUTUAMENTE ESCLUSIVA. Un SEMAFORO È ATTIVO SE E SOLO SE LA RISORSA È DISPONIBILE. Risorsa condivisa mutuamente esclusiva S Semaforo S.X = 1! " risorsa disponibile OSSERVAZIONE In generale per indicare che all avvio del controllo logico sequenziale una risorsa è disponibile, il SEMAFORO è rappresentato da uno STATO INIZIALE. S Semaforo Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 34

SEMAFORO PER LA MUTUA ESCLUSIONE Usiamo il SEMAFORO, il PARALLELISMO e la SINCRONIZZAZIONE per risolvere il problema di ACCESSO CONCORRENTE ad una RISORSA CONDIVISA MUTUAMENTE ESCLUSIVA. Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 35

SEMAFORO PER LA MUTUA ESCLUSIONE Supponiamo che gli STATI n-1, m-1 siano ATTIVI. Supponiamo che la risorsa condivisa sia LIBERA. Supponiamo che le Condizioni n-1 e m-1 NON SIANO VERIFICATE. Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 36

SEMAFORO PER LA MUTUA ESCLUSIONE Dato che gli STATI n-1 ed S sono ATTIVI, la Transizione n-1 è ABILITATA. Dato che gli STATI m-1 ed S sono ATTIVI, la Transizione m-1 è ABILITATA. Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 37

SEMAFORO PER LA MUTUA ESCLUSIONE Supponiamo che ad un ISTANTE DI TEMPO t, la Condizione n-1 sia VERIFICATA Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 38

SEMAFORO PER LA MUTUA ESCLUSIONE Conseguentemente la Sequenza n può passare allo stato n e BLOCCARE la RISORSA CONDIVISA (S.X = 0). Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 39

SEMAFORO PER LA MUTUA ESCLUSIONE Supponiamo ora che la Condizione m-1 sia VERIFICATA Essendo lo STATO S INATTIVO, la TRANSIZIONE m-1 non è ABILITATA!!! Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 40

SEMAFORO PER LA MUTUA ESCLUSIONE Supponiamo intanto che la Sequenza n proceda. Prima passando allo stato n+1 Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 41

SEMAFORO PER LA MUTUA ESCLUSIONE Supponiamo intanto che la Sequenza n proceda. Prima passando allo stato n+1 quindi allo stato n+2 che LIBERA LA RISORSA CONDIVISA Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 42

SEMAFORO PER LA MUTUA ESCLUSIONE appena la risorsa condivisa si libera, la TRANSIZIONE m-1 è ATTIVATA e quindi l azione m viene ESEGUITA, occupando nuovamente la risorsa condivisa. Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 43

SEMAFORO PER LA MUTUA ESCLUSIONE OSSERVAZIONE Dato lo stato in figura, cosa succede se le condizioni n-1 e m-1 si attivano assieme? Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 44

SEMAFORO PER LA MUTUA ESCLUSIONE Si corre il rischio di ATTIVARE ENTRAMBI GLI STATI che ACCEDONO IN MANIERA CONCORRENTE ALLA RISORSA CONDIVISA, generando così un CONFLITTO Sequenza n Sequenza m n-1 Azione n-1 m-1 Azione m-1 n Condizione n-1 Azione n Condizione n n+1 Azione n+1 Condizione n+1 CONFLITTO S Risorsa condivisa mutuamente esclusiva m Condizione m-1 Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 45

SEMAFORO PER LA MUTUA ESCLUSIONE La SOLUZIONE consiste nell evitare questa possibile AMBIGUITÀ, ASSEGNANDO UNA PRIORITÀ alle CONDIZIONI. Ad esempio: Sequenza n Condizione m-1 := (m-1).x * (not (n-1).x ) Sequenza m n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 S Risorsa condivisa mutuamente esclusiva m Azione m Condizione m m+1 Azione m+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 46

SINCRONIZZAZIONE DI SEQUENZE Cosa succede se due SEQUENZE PARALLELE sono DIPENDENTI l una dall altra? Sequenza A n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 La SEQUENZA B può procedere oltre lo STATO m SOLO DOPO CHE la SEQUENZA A ha completato le azioni dello STATO n Sequenza B m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 47

SINCRONIZZAZIONE DI SEQUENZE Una soluzione basata sull uso di SINCRONIZZAZIONE e PARALLELISMO non va bene. Sequenza A Tale soluzione IMPONE una DIPENDENZA anche allo STATO n. Sequenza B n-1 Azione n-1 Condizione n-1 n Azione n Lo STATO n NON PUÒ PROSEGUIRE se lo STATO m non può transire nello STATO m +1 m-1 Azione m-1 Condizione m-1 m Azione m (Condizione n) * (Condizione m) n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 48

SINCRONIZZAZIONE DI SEQUENZE Una soluzione basata sull imposizione di determinate CONDIZIONI è anch essa destinata a FALLIRE. Sequenza A Condizione m := (Condizione m) * (Condizione n) Sequenza B n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 La condizione m può ESSERE VERIFICATA INDIPENDENTEMENTE dal fatto che le azioni dello STATO n siano state eseguite o meno. m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 49

SINCRONIZZAZIONE DI SEQUENZE Una soluzione basata sull imposizione di determinate CONDIZIONI è anch essa destinata a FALLIRE. Sequenza A Condizione m := (Condizione m) * (Condizione n) * (n.x) Sequenza B n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 In questo caso NON SI HA MEMORIA che lo STATO n sia stato eseguito. Pertanto se la Condizione m è VERIFICATA DOPO CHE lo STATO n viene terminato (n.x = 0), la TRANSIZIONE m non si ATTIVA mai m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 50

SEMAFORO PER LA SINCRONIZZAZIONE Per sopperire alla mancanza di MEMORIA è necessario usare un SEMAFORO per la SINCRONIZZAZIONE di SEQUENZE PARALLELE. Sequenza A n-1 Azione n-1 Condizione n-1 n Azione n Condizione n n+1 Azione n+1 Condizione n+1 n+2 Azione n+2 Condizione n+2 Quando lo STATO n passa allo STATO n+1, il SEMAFORO viene ATTIVATO, permettendo allo STATO m di passare allo STATO m+1. Se il SEMAFORO NON viene ATTIVATO, lo STATO m NON POTRÀ passare allo STATO m+1. S Quando lo STATO m passa allo STATO m+1 il semaforo viene DISATTIVATO. Sequenza B m-1 Azione m-1 Condizione m-1 m Azione m Condizione m m+1 Azione m+1 Condizione m+1 m+2 Azione m+2 Condizione m+2 Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 51

BIBLIOGRAFIA Sezione 7.3 TITOLO Sistemi di automazione industriale Architetture e controllo AUTORI Claudio Bonivento Luca Gentili Andrea Paoli EDITORE McGraw-Hill Via Ariosto 25-00185 Roma http://www.diag.uniroma1.it 52