SEQUENTIAL FUNCTIONAL CHART PARTE II

Slides:



Advertisements
Presentazioni simili
Progetto di un sistema di parcheggio automatizzato basato su
Advertisements

Teoria e Tecniche del Riconoscimento
Meccanismi di IPC Problemi classici di IPC
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
Capitolo 3 Risorse e Stallo 3.1. Risorse 3.2. Introduzione
Linguaggi algoritmici
Hard disk.
Il problema dello stallo
Informatica Generale Marzia Buscemi
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Sequential Function Chart (SFC)
Esercizio 1 Un filo indefinito è costituito da due semirette AB e BC formanti un angolo retto, come in figura Il filo è percorso da una corrente I = 10.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Deadlock Modello del sistema Caratterizzazione dei deadlock
4. Automi temporizzati Il comportamento dei sistemi ad eventi temporizzati non è definito semplicemente da una sequenza di eventi o di valori dello stato,
Algoritmi e Dimostrazioni Stefano Berardi
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
2 luglio 2006URM2 – ING- OOP0304 OL G. Cantone e A. Lomartire 1 Programmazione Orientata agli Oggetti Processi, task e thread Java (ed esempi) Università
MACCHINE DI TURING Le macchine di Turing sono dispositivi astratti per la manipolazione di simboli, ideati nel 1936 dal matematico e logico britannico.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Algoritmi e Strutture Dati (Mod. B)
Risorse e Stallo.
Corso di Informatica per Giurisprudenza Lezione 5
Seminario su clustering dei dati – Parte II
Architettura del World Wide Web
Ottimizzazione Combinatoria
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
Modelli simulativi per le Scienze Cognitive
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
Sincronizzazione fra thread
Sistemi Operativi GESTIONE DEI PROCESSI.
Strutture di controllo in C -- Flow Chart --
Programmazione logica
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Di Ilaria Bertoletti Progetto Asincrono Esame Reti Logiche 30/01/13.
4 Tipi di dati & variabili
ELEMENTI DI PROGRAMMAZIONE
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
CODIFICA Da flow-chart a C++.
Lo sviluppo del progetto informatico
ALGORITMI DI SCHEDULING PARTE II
IL PROBLEMA DELLO SCHEDULING
PORTALE GESTIONE PERIZIE
Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit.
Facoltà di Ingegneria Corso di Laurea: Insegnamento: Lezione n°: Titolo: Docenti: INGEGNERIA AUTOMAZIONE II 2 LINGUAGGI FORMALI ED AUTOMI PROF. ALESSANDRO.
Strumentazione Dipartimento di Informatica e Sistemistica
Facoltà di Ingegneria Corso di Laurea: Insegnamento: Lezione n°: Titolo: Docenti: INGEGNERIA AUTOMAZIONE I 4 CONTROLLO SUPERVISIVO DR. VINCENZO SURACI.
TECNOLOGIE INFORMATICHE IMPIEGATE NEI MES
Facoltà di Ingegneria Corso di Laurea: Insegnamento: Docente: INGEGNERIA AUTOMAZIONE II PROF: ALESSANDRO DE CARLI DR. VINCENZO SURACI SAPIENZA - Universit.
I.P.S.I.A. “L. Settembrini” Via G. Deledda, 11 – Milano
Il controllo di Sistemi ad Eventi Discreti
Le regole per la stesura di un articolo di tipo scientifico
Docente: Simone Zambenedetti. Spiegazione dei Ruoli con successiva attribuzione di shortcut nella toolbar ed attribuzione dei permessi.
Politecnico di Torino maggio DIDAMATICA 2011 Insegnare Futuro EXCEL4PS&SP – 6 Maggio 2011 Prof. Nicola Armenise, PhD I.T.E.S. “A. Olivetti” -
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
La modellazione degli oggetti
Facoltà di Ingegneria Corso di Laurea: Insegnamento: Lezione n°: Titolo: Docenti: INGEGNERIA AUTOMAZIONE II 4 CONTROLLO SUPERVISIVO PROF. ALESSANDRO DE.
I processi.
controllo supervisore
Normativa di riferimento
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
1 Risorse e Stallo 2 Risorse (1) Esempi di risorse –stampanti –nastri –tabelle I processi devono accedere alle risorse in un ordine ragionevole Supponiamo.
Modello E-R Andrea Dori Dipartimento di Ingegneria informatica, automatica e gestionale Antonio Ruberti GLAD – Gruppo di Lavoro Ateneo Drupal.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Lezione n° 5: Esercitazione
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Logica Lezione 11, Annuncio Non si terrà la lezione di Lunedì 16 Marzo.
Transcript della presentazione:

SEQUENTIAL FUNCTIONAL CHART PARTE II AUTOMAZIONE I SEQUENTIAL FUNCTIONAL CHART PARTE II

STRUTTURA DEL NUCLEO TEMATICO STRUTTURE DI COLLEGAMENTO

STRUTTURE DI COLLEGAMENTO

INTRODUZIONE Abbiamo visto la STRUTTURA DI BASE del linguaggio SFC. Passiamo ora a studiare le STRUTTURE DI COLLEGAMENTO tra i diversi STATI. 1.X 1.T Q1 A1 V1 n.X – TIMER –DURATA dell’intervallo di ATTIVAZIONE. n.T – MARKER – TRUE se lo stato è ATTIVO; Am – IDENTIFICATORE (UNIVOCO) della azione; Qm – QUALIFICATORE della tipologia di azione; Vm – VARIABILE TRUE se l’azione è stata terminata; Condizione 1 2.X 2.T Q2 A2 V2

SCELTA o DIVERGENZA La prima STRUTTURA DI COLLEGAMENTO è la SCELTA o DIVERGENZA tra due o più stati successivi. Quando lo STATO n è ATTIVO, le CONDIZIONI A VALLE sono ABILITATE. Per decidere quale sarà lo stato SUCCESSIVO, è necessario verificare quale delle condizioni abilitate è TRUE. n cond n+1 cond n+2 cond n+k n+1 n+2 … n+k

SCELTA o DIVERGENZA ESEMPIO Riprendendo L’ESEMPIO DALLA TAGLIERINA, supponiamo che A VALLE del dispositivo di taglio vi sia un SENSORE DI MISURAZIONE che IN BASE ALLA MISURA del pezzo tagliato esegue DUE STAMPI DIFFERENTI. È evidente che per un corretto funzionamento è necessario che le AZIONI DI STAMPO siano MUTAMENTE ESCLUSIVE. SENSORI DI INZIO E FINE CORSA MOTORE LINEARE MOTORE LINEARE MOTORE LINEARE Taglierina verticale A SENSORE OTTICO SENSORE MISURA B film nastro trasportatore nastro trasportatore

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

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. Per IMPORRE tale vincolo, viene aggiunto alle condizioni di scelta l’AND LOGICO di tutte le CONDIZIONI precedenti NEGATE. 𝑐𝑜𝑛𝑑 𝑛+𝑖 :=𝑐𝑜𝑛𝑑 𝑛+𝑖 ∗ 𝑗=1 𝑖−1 𝑐𝑜𝑛𝑑 𝑛+𝑖−𝑗 𝑖=2,..,𝑘 n cond n+1 cond n+2 cond n+k n+1 n+2 … n+k

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

CONVERGENZA La CONVERGENZA è la logica TERMINAZIONE di una DIVERGENZA MUTUAMENTE ESCLUSIVA. n DIVERGENZA MUTUAMENTE ESCLUSIVA cond n+1 cond n+2 cond n+k n+1 n+2 … n+k cond n+k+1 cond n+k+2 cond n+2k CONVERGENZA n+k+1

CONVERGENZA A B SSssssSSSSSSSSS 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 A B SENSORE QUALITÀ SSssssSSSSSSSSS nastro trasportatore

CONVERGENZA 1 Movimento Nastro Il diagramma SFC sarà: Prodotto rilevato 2 Misurazione DIVERGENZA MUTUAMENTE ESCLUSIVA Tratto lungo Tratto breve 3 Stampo A 4 Stampo B Stampo A terminato Stampo B terminato CONVERGENZA 5 Test qualità Foto terminata 6 Espulsione Espulsione eseguita

PARALLELISMO La STRUTTURA DI COLLEGAMENTO che permette l’attivazione di SEQUENZE PARALLELE a partire da una singola TRANSIZIONE, è il PARALLELISMO. Quando la TRANSIZIONE viene ATTIVATA, TUTTI gli STATI A VALLE vengono ATTIVATI. cond n n n+2 n+1 n+k …

PARALLELISMO SSSS 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. 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 CONTEMPORANEAMENTE prima FORATO e in seguito SALDATO. Riscaldamento Tipo A Foratura Tipo B MOTORE LINEARE MOTORE LINEARE Saldatura MOTORE LINEARE SSSS SENSORE OTTICO nastro trasportatore

Prodotto rilevato dal sensore ottico PARALLELISMO Progettiamo la logica di controllo tramite diagrammi SFC. Innanzitutto AZIONIAMO IL NASTRO TRASPORTATORE ed IDENTIFICHIAMO IL PEZZO DA LAVORARE usando una DIVERGENZA: 1 Movimento Nastro Prodotto rilevato dal sensore ottico 2 Identificazione DIVERGENZA Prodotto di tipo A Prodotto di tipo B

Prodotto rilevato dal sensore ottico PARALLELISMO Considerando il ramo a sinistra (Prodotto di tipo A), dovremmo utilizzare un PARALLELISMO per attuare RISCALDAMENTO e FORATURA come da specifica. 1 Movimento Nastro Prodotto rilevato dal sensore ottico 2 Identificazione DIVERGENZA Prodotto di tipo A Prodotto di tipo B PARALLELISMO

Prodotto rilevato dal sensore ottico PARALLELISMO Ma questa rappresentazione VIOLA il FORMALISMO dei DIAGRAMMI SFC. 1 Movimento Nastro Prodotto rilevato dal sensore ottico 2 Identificazione DIVERGENZA Prodotto di tipo A Prodotto di tipo B PARALLELISMO VIOLAZIONE Prima del PARALLELISMO c’è una TRANSIZIONE, PRECEDUTA da uno STATO e non da una DIVERGENZA o altro…

Prodotto rilevato dal sensore ottico 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. 1 Movimento Nastro Prodotto rilevato dal sensore ottico 2 Identificazione DIVERGENZA Prodotto di tipo A Prodotto di tipo B 3 4 true true PARALLELISMO PARALLELISMO

Prodotto rilevato dal sensore ottico PARALLELISMO Terminiamo quindi l’esempio, riportando le azioni degli stati da eseguire in parallelo. 1 Movimento Nastro Prodotto rilevato dal sensore ottico 2 Identicazione Prodotto di tipo A Prodotto di tipo B 3 4 true true 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A 7 Riscaldamento pezzo di tipo B 8 Foratura di tipo B Foratura completata Foratura completata Riscaldamento completato Riscaldamento completato 9 Saldatura di tipo B Saldatura completata

SINCRONIZZAZIONE La STRUTTURA DI COLLEGAMENTO duale al parallelismo è la SINCRONIZZAZIONE. Essa è data da una TRANSIZIONE con A MONTE più STATI. La TRANSIZIONE viene ABILITATA solo quando TUTTI gli STATI A MONTE vengono ATTIVATI. n - k n – k +1 … n SINCRONIZZAZIONE cond n n + 1 cond n+1

SINCRONIZZAZIONE SSssssSSSSSSSSS SSSS 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. Tracciamo i DIAGRAMMI SFC del processo industriale completo. Riscaldamento Tipo A Foratura Tipo B MOTORE LINEARE MOTORE LINEARE CIRCUITO DI ESPULSIONE Saldatura MOTORE LINEARE SSSS SENSORE QUALITÀ SENSORE OTTICO SSssssSSSSSSSSS nastro trasportatore

Prodotto rilevato dal sensore ottico SINCRONIZZAZIONE Sembra intuitivo aggiungere una SINCRONIZZAZIONE al termine degli stati 5,6 e 7,9… 1 Movimento Nastro Prodotto rilevato dal sensore ottico 2 Identicazione Prodotto di tipo A Prodotto di tipo B 3 4 true true 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A 7 Riscaldamento pezzo di tipo B 8 Foratura di tipo B Foratura completata Riscaldamento completato Foratura completata Riscaldamento completato 9 Saldatura di tipo B Saldatura completata VIOLAZIONE - Prima della SINCRONIZZAZIONE NON ci sono TRANSIZIONI, ma STATI…

Prodotto rilevato dal sensore ottico SINCRONIZZAZIONE 1 Movimento Nastro Prodotto rilevato dal sensore ottico È pertanto necessario aggiungere degli STATI di ATTESA (10-13). 2 Identicazione Prodotto di tipo A Prodotto di tipo B 3 4 true true 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A 7 Riscaldamento pezzo di tipo B 8 Foratura di tipo B Foratura completata Riscaldamento completato Foratura completata Riscaldamento completato 9 Saldatura di tipo B Saldatura completata 10 11 12 13 true true

Prodotto rilevato dal sensore ottico SINCRONIZZAZIONE 1 Movimento Nastro Prodotto rilevato dal sensore ottico Le due SINCRONIZZAZIONI sono seguite da due TRANSIZIONI poste a TRUE. 2 Identicazione Prodotto di tipo A Prodotto di tipo B 3 4 true true 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A 7 Riscaldamento pezzo di tipo B 8 Foratura di tipo B Foratura completata Riscaldamento completato Foratura completata Riscaldamento completato 9 Saldatura di tipo B Saldatura completata 10 11 12 13 true true

Prodotto rilevato dal sensore ottico SINCRONIZZAZIONE 1 Movimento Nastro Prodotto rilevato dal sensore ottico Chiude quindi una CONVERGENZA. 2 Identicazione Prodotto di tipo A Prodotto di tipo B 3 4 true true 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A 7 Riscaldamento pezzo di tipo B 8 Foratura di tipo B Foratura completata Riscaldamento completato Foratura completata Riscaldamento completato 9 Saldatura di tipo B Saldatura completata 10 11 12 13 true true CONVERGENZA

Prodotto rilevato dal sensore ottico SINCRONIZZAZIONE 1 Movimento Nastro Prodotto rilevato dal sensore ottico Chiude quindi una CONVERGENZA. 2 Identicazione Prodotto di tipo A Prodotto di tipo B 3 4 true true NASCOSTA SLIDE 5 Riscaldamento pezzo di tipo A 6 Foratura di tipo A 7 Riscaldamento pezzo di tipo B 8 Foratura di tipo B Foratura completata Foratura completata Riscaldamento completato Riscaldamento completato 9 Saldatura di tipo B Saldatura completata 10 11 12 13 true true CONVERGENZA 14 Test qualità Foto completata 15 Espulsione Espulsione completata

SINCRONIZZAZIONE Si chiude quindi il DIAGRAMMA SFC.

STATI di ATTESA L’inserimento degli STATI di ATTESA serve a far TERMINARE gli stati operativi INDIPENDENTEMENTE l’uno dall’altro.

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. Prodotto di tipo A Prodotto di tipo A 3 3 true 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

MUTUA ESCLUSIONE Cosa succede se due SEQUENZE INDIPENDENTI devono accedere ad una RISORSA CONDIVISA, MUTUAMENTE ESCLUSIVA, del sistema da automatizzare? Sequenza n Sequenza m Risorsa condivisa Mutuamente esclusiva n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 manipolatore Condizione m+2

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 Sequenza m Risorsa condivisa Mutuamente esclusiva n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 manipolatore Condizione m+2

MUTUA ESCLUSIONE È necessario EVITARE che gli stati n o n+1 siano ATTIVI CONTEMPORANEAMENTE con gli stati m o m+1. Sequenza n Sequenza m Risorsa condivisa Mutuamente esclusiva n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 manipolatore Condizione m+2

Condizione m-1 := (Condizione m-1) * (not Condizione n-1) MUTUA ESCLUSIONE OSSERVAZIONE PROVIAMO ad imporre una condizione di MUTUA ESCLUSIONE sulle CONDIZIONI… Sequenza n Sequenza m Risorsa condivisa Mutuamente esclusiva n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 manipolatore Condizione m+2 Condizione m-1 := (Condizione m-1) * (not Condizione n-1)

Condizione m-1 := (Condizione m-1) * (not Condizione n-1) 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 CONFLITTO Azione m Condizione m-1 := (Condizione m-1) * (not Condizione n-1)

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. OSSERVAZIONE In generale per indicare che all’avvio del controllo logico sequenziale una risorsa è disponibile, il SEMAFORO è rappresentato da uno STATO INIZIALE. Risorsa condivisa Mutuamente esclusiva Semaforo S S.X = 1   risorsa disponibile Semaforo S

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

SEMAFORO PER LA MUTUA ESCLUSIONE Supponiamo che gli STATI n-1 , m-1 sono ATTIVI. Supponiamo che la risorsa condivisa sia LIBERA. Supponiamo che le Condizioni n-1 ed 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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione m Condizione n S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione m Condizione n S n+1 Azione n+1 m+1 Azione m+1 Condizione m+1 Condizione n+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione m Condizione n S n+1 Azione n+1 m+1 Azione m+1 Condizione m+1 Condizione n+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 CONFLITTO Condizione n-1 Condizione m-1 n Azione n m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

SEMAFORO PER LA MUTUA ESCLUSIONE La SOLUZIONE consiste nell’evitare questa possibile AMBIGUITÀ, ASSEGNANDO UNA PRIORITÀ alle CONDIZIONI. Ad esempio: Sequenza n Sequenza m Condizione m-1 := (Condizione m-1) * (not (n-1).X ) n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Risorsa condivisa Mutuamente esclusiva Condizione n Condizione m S n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

SINCRONIZZAZIONE DI SEQUENZE Cosa succede se due SEQUENZE PARALLELE sono DIPENDENTI l’una dall’altra? Sequenza A Sequenza B La SEQUENZA B non può procedere oltre lo STATO m PRIMA che la SEQUENZA A non abbia completato le azioni dello STATO n n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

SINCRONIZZAZIONE DI SEQUENZE Una soluzione basata sull’uso di SINCRONIZZAZIONE e PARALLELISMO non va bene. Sequenza A Sequenza B Tale soluzione IMPONE una DIPENDENZA anche allo STATO n. Lo STATO n NON PUÒ PROSEGUIRE senza che lo STATO m possa transire nello STATO m+1… n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m (Condizione n) * (Condizione m) n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

SINCRONIZZAZIONE DI SEQUENZE Una soluzione basata sull’imposizione di determinate CONDIZIONI è anch’essa destinata a FALLIRE. Sequenza A Sequenza B Condizione m := (Condizione m) * (Condizione n) n-1 Azione n-1 La condizione n può ESSERE VERIFICATA INDIPENDENTEMENTE se le azioni delle STATO n siano state eseguite o meno. m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

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 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, oppure DOPO CHE la Condizione n sia VERIFICATA, allora la TRANSIZIONE m non si ATTIVA mai… m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

SEMAFORO PER LA SINCRONIZZAZIONE Per sopperire alla mancanza di MEMORIA è necessario usare un SEMAFORO per la SINCRONIZZAZIONE di SEQUENZE PARALLELE. Sequenza A Sequenza B 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. Quando lo STATO m passa allo STATO m+1 il semaforo viene DISATTIVATO. n-1 Azione n-1 m-1 Azione m-1 Condizione n-1 Condizione m-1 n Azione n m Azione m Condizione n S Condizione m n+1 Azione n+1 m+1 Azione m+1 Condizione n+1 Condizione m+1 n+2 Azione n+2 m+2 Azione m+2 Condizione n+2 Condizione m+2

BIBLIOGRAFIA Sezione 7.3 TITOLO Sistemi di automazione industriale Architetture e controllo AUTORI Claudio Bonivento Luca Gentili Andrea Paoli EDITORE McGraw-Hill