Sei sulla pagina 1di 60

TEORIA DEI SISTEMI

INTRODUZIONE La metodologia che studia un fenomeno deve essere tesa a riconoscere le cause che lo provocano, gli effetti che produce e la relazione che lega le cause agli effetti. Si consideri per esempio la figura sottostante: che cosa succede alla resistenza R2 quando si chiude l'interruttore S? Occorre decidere se si vuole conoscere la corrente che circola in R2 oppure la tensione ai suoi capi. Il ragionamento che porta a decidere le cause e gli effetti si chiama orientazione.

Un fenomeno ben individuato quando sono fissati: le cause gli effetti le relazioni tra cause ed effetti l'orientazione dello studio del fenomeno Inoltre, gli effetti di un fenomeno sono dipendenti da molte cause concorrenti, ognuno con un contributo diverso, pertanto per non complicare inutilmente lo studio, occorre definire quali siano le cause importanti e quali trascurabili ai fini della conoscenza dell'evento. Nell'esempio sopra indicato si pu considerare come causa il generatore di tensione e come effetto la corrente che circola nella resistenza R2 e quindi nel circuito. Nello studio non si considerano gli effetti che la temperatura e il tempo esercitano sulle resistenze. Un primo passo consiste nel rappresentare il sistema in osservazione utilizzando uno schema del seguente tipo: E I

In questo schema si utilizza una scatola nera (black box), nella quale si deve inserire la relazione causa ed effetto che al momento non conosciuta. La causa E rappresentata con una freccia entrante nella scatola e l'effetto I (corrente che circola nel circuito), con una freccia in uscita. Applicando la legge di Ohm e la legge di Kirchhoff alle maglie, tra causa ed effetto esiste la seguente relazione: SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 1

I=

E R1 + R2

che si pu inserire nello schema all'interno della scatola

E 1 R1 + R2

Se si considera come effetto la tensione V ai capi della resistenza R2 anzich la corrente, utilizzando le leggi precedenti si ottiene il seguente schema: E R2 R1 + R2 V

METODO DI STUDIO DEI FENOMENI


Il metodo analitico consiste nello scomporre il fenomeno in parti pi semplici, considerandolo come somma di fenomeni elementari.

Si supponga di voler calcolare la corrente che circola nel circuito alla chiusura dell'interruttore S. In base al principio di Kirchhoff, I = 11+12 e, poich le resistenze sono in parallelo tra loro e al generatore, segue che: I= E + E = E*( 1 + 1) R1 R2 R1 R2 considerando che 1 = 1 + 1 RT R1 R2 si pu scrivere I= E RT

dove RT rappresenta la resistenza equivalente alle due resistenze R1 e R2 in parallelo. In questo esempio il metodo funziona perch le reazioni tra fenomeno composto e i fenomeni elementari componenti sono dello stesso tipo. Consideriamo per esempio le squadre di calcio: se fosse sempre vero il metodo analitico non ci sarebbe bisogno di disputare un torneo dal momento che sarebbe vincente la squadra che ha i migliori giocatori. Per a volte squadre considerate minori riescono a battere squadre considerate sulla carta superiori. Occorre infatti considerare anche l'affiatamento, l'ambientamento, cio come si dice pi tecnicamente l'interazione tra i componenti. Una squadra rende al massimo quando tutti i suoi componenti collaborano per raggiungere l'obiettivo. Si pu affermare che, perch una collezione di oggetti possa essere considerata sistema, bisogna che SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 2

gli oggetti interagiscano per un fine comune prefissato. Tre persone vicino ad una macchina non fanno sistema, ma le stesse tre persone quando spingono la vettura per farla partire, formano un sistema perch interagiscono per raggiungere lo scopo prefissato. La definizione di sistema quindi la seguente: Il sistema un insieme di oggetti o sottosistemi, che interagiscono tra di loro e scambiano energia, informazione o materia con l'ambiente esterno allo scopo di raggiungere un obiettivo prefissato

CLASSIFICAZIONE DEI SISTEMI


I criteri utilizzati per classificare i sistemi fanno riferimento: all'origine o natura alla composizione o struttura al tipo di funzionamento o comportamento In base alla loro natura i sistemi possono essere:

Sistemi naturali: sono i sistemi gi presenti in natura come il sistema planetario, il sistema delle
maree, dei venti.

Sistemi artificiali: sono i sistemi opera delluomo, per esigenze organizzative o per bisogni personali: per esempio il sistema di distribuzione dell'energia elettrica, il sistema di elaborazione dei dati, il sistema scolastico, il sistema economico, il sistema televisivo, il sistema automobile, il sistema bancario, il sistema giudiziario. Sistemi misti: sono i sistemi risultanti dall'intervento dell'uomo su fenomeni naturali. Per
esempio il sistema di produzione del sale marino dove l'acqua del mare viene raccolta in vasche create dall'uomo, il sistema di trasformazione e produzione dellenergia elettrica (ad es. pensare alle centrali idro-elettriche, centrali eoliche e solari). In base alla loro struttura i sistemi possono essere:

Sistemi continui: sono i sistemi per i quali, eliminando un componente, si pregiudica il


funzionamento dell'intero sistema. Nel sistema orologio se manca un pezzo il meccanismo non funziona. Nel sistema automobile se non funziona la batteria la macchina non parte. Nelle serie luminose dellalbero di Natale se non funziona una lampadina non funziona tutta la serie.

Sistemi discreti: sono sistemi per quali il mancato funzionamento di una parte non pregiudica il
funzionamento dell'intero sistema. Per esempio in un supermercato, la momentanea mancanza di un prodotto non blocca il funzionamento dell'intero supermercato. In un appartamento, possibile abilitare/disabilitare le varie parti dellimpianto elettrico mediante interruttori (es. un interruttore dedicato alle prese di ciascun piano, un interruttore dedicato alle prese di potenza del locale cucina, un interruttore dedicato ai punti luce di ciascun piano..): il fuori servizio di una sezione non condiziona il resto dellimpianto. SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 3

In base al comportamento i sistemi possono essere:

Sistemi aperti: Indicando con ambiente esterno tutto ci che non appartiene al sistema, si
definiscono aperti sistemi che scambiano informazione, energia e materia con l'ambiente esterno. I sistemi meccanici, i sistemi e elettrici, i sistemi informatici sono tutti esempi di sistemi aperti. Un esempio di sistema aperto un qualsiasi elettrodomestico perch per funzionare ha bisogno di energia elettrica.

Sistemi chiusi: sono sistemi che non hanno un contesto, cio non interagiscono con l'ambiente
esterno. In realt non esistono sistemi chiusi in senso stretto, perch qualsiasi sistema agisce comunque in un contesto e ne viene in qualche modo influenzato. Per esempio un deposito bancario, anche se non sottoposto a versamenti o prelevamenti, subisce comunque una variazione dei tassi di interesse che ne modificano il comportamento costituto dall'ammontare del deposito. Quindi un sistema si pu considerare chiuso quando le interazioni con lambiente sono trascurabili rispetto al comportamento studiato. Es. lUniverso.

Sistemi combinatori o senza memoria: sono i sistemi che forniscono la stessa risposta in
conseguenza della stessa sollecitazione d'ingresso. Per esempio un circuito logico, costituito da sole porte logiche, fornisce la stessa uscita (stesso/i valore/i di uscita) quando sollecitato con gli stessi valori di ingresso. In un sistema combinatorio il comportamento del sistema dipende solo dallultimo stimolo ricevuto. I sistemi combinatori non sono in grado di immagazzinare energia, materia o informazione: sono cio sistemi senza memoria. Un esempio di sistema combinatorio il telefono, in cui lultimo numero telefonico immesso indipendente da tutti quelli fatti in precedenza.

Sistemi sequenziali o con memoria: sono sistemi in cui le uscite variano in funzione delle
sollecitazioni fornite dall'esterno e dallo stato in cui si trova il sistema (che a sua volta dipende dalla sequenza degli stimoli ricevuti). Nel sistema ascensore, premendo un pulsante relativo a un piano, esso pu salire, scendere o restare fermo in funzione del piano di partenza. Sono sistemi con memoria, cio in grado di immagazzinare energia, materia o informazione. Il distributore di lattine sequenziale e fornir o meno la lattina a seconda della somma inserita fino a quel momento.

Sistemi deterministici: sono sistemi dei quali si possono prevedere le uscite se sono noti gli ingressi. Ossia nelle stesse condizioni (partendo dalle stesse condizioni iniziali e subendo gli stessi stimoli) il sistema si comporta allo stesso modo. Pensare alle caratteristiche che ogni algoritmo deve possedere per essere tale: deve essere deterministico. Per esempio in un computer, posizionando l'interruttore generale su ON, si provoca lavvio del sistema; nel sistema auto un'azione sul volante produce l'effetto, prevedibile, di far cambiare verso alla direzione dell'auto. Sistemi probabilistici (o stocastici): sono sistemi. per i quali non possibile prevedere il
comportamento note le sollecitazioni, oppure che hanno comportamenti diversi se sottoposti alle stesse sollecitazioni. Ossia nelle stesse condizioni si comporta in modo casuale e non prevedibile. Appartengono a questa categoria i sistemi che forniscono uscite diverse quando sono sottoposti alle stesse sollecitazioni, per esempio il lancio di una moneta o di un dado.

Sistemi statici: sono i sistemi in cui le grandezze che descrivono il comportamento non evolvono (hanno sempre lo stesso valore) durante il periodo di osservazione dello studio. Per esempio nel sistema dei continenti lo spostamento praticamente nullo. Nella realt non esistono sistemi statici in
SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 4

senso stretto, perch tutte le grandezze fisiche di un sistema subiscono variazioni nel tempo anche se su periodi molto lunghi: la parola statico quindi riferita al tempo di osservazione. Quindi quando si parla di sistemi statici, ci si riferisce a sistemi che non cambiano con il tempo. In realt, il comportamento del sistema potrebbe degradarsi o deteriorarsi nel tempo, ossia non reagire pi allo stesso modo ai valori di ingresso: si parla di sistemi varianti. Ad es. pensando allimpianto idrico di un appartamento, supponendo che la portata dacqua in ingresso rimanga costante, negli anni si potr osservare un flusso di acqua ridotto in uscita dai rubinetti (a causa di rottura di tubi, incrostazioni di calcare nei filtri ecc..).

Sistemi dinamici: sono sistemi per le quali le grandezze che descrivono il comportamento
variano durante il periodo di osservazione. Le propriet di sistema statico o dinamico sono relative alla scala dei tempi adottata. Per esempio nel sistema costituito da una molla con un'estremit fissata in un punto, se nell'estremit libera si applica una forza, nel periodo compreso tra il momento di applicazione della forza e il momento in cui la molla raggiunge il nuovo punto di equilibrio, la lunghezza della molla varia: nel periodo dell'osservazione il sistema molla un sistema dinamico. Nel periodo successivo la lunghezza della molla non cambia e quindi il sistema diventa statico.

Sistemi invarianti o stazionari: sono i sistemi per i quali l'uscita si comporta sempre allo
stesso modo, indipendentemente dal momento in cui il sistema sottoposto a una certa sollecitazione. In pratica. applicando un ingresso all'istante t oppure all'istante t + t, l'uscita la stessa. Per esempio, girando la chiave di accensione dell'automobile a mezzogiorno o a mezzanotte, si ottiene sempre come risposta l'avvio del motore. Questo non esclude che il sistema non possa evolvere nel tempo: per evoluzione del sistema si intende il cambiamento delle uscite nel tempo in conseguenza degli ingressi, che la caratteristica dei sistemi dinamici.

Sistemi continui: sono i sistemi in cui tutte le grandezze fisiche variano in modo continuo nel
tempo. In ogni istante le grandezze sono diverse da ogni istante precedente per quanto per quanto piccolo possa essere l'intervallo di osservazione. Praticamente sono i sistemi in cu l'insieme di definizione delle variabili pu essere messo in corrispondenza biunivoca con i numeri reali. La rappresentazione di un sistema continuo sul piano cartesiano, con tempo sullasse x e risposta sullasse y, una funzione continua. Per esempio un'autovettura che viaggia cambia ad ogni momento la sua posizione; oppure il sistema idraulico, costituito da un serbatoio d'acqua che deve essere svuotato, rappresenta un sistema continuo, considerando come grandezza di uscita il livello dell'acqua nel serbatoio.

Sistemi discreti: sono i sistemi che hanno un numero finito di condizioni (o stati) e/o in cui almeno una grandezza fisica pu assumere valori discreti.. Per i sistemi discreti l'insieme di definizione delle variabili pu essere messo in corrispondenza biunivoca con l'insieme dei numeri interi. La rappresentazione di un sistema discreto sul piano cartesiano, con tempo sullasse x e risposta sullasse y, una sequenza di punti isolati. Per esempio nel sistema ascensore, quando la cabina raggiunge un piano vi resta, fino a quando non viene impostato un nuovo numero nella tastiera di selezione; oppure nel sistema orologio digitale l'indicazione dell'ora scatta ad ogni secondo.
NOTA: Come si pu intuire un sistema si classifica in base a natura, struttura e comportamento; per quanto attiene il comportamento un sistema pu appartenere a pi categorie. Ad es. il telefono un SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 5

sistema artificiale, discreto, deterministico; combinatorio (in quanto ogni numero telefonico completo immesso non dipende da quelli composti precedentemente) ma allo stesso tempo sequenziale se consideriamo una per una le cifre dello stesso numero telefonico (per cui le ultime cifre identificheranno un utente in base al prefisso).

ANALOGIE TRA SISTEMI DI NATURA DIVERSA


Lo studio dei fenomeni e dei sistemi fa ricorso a modelli che li rappresentano in modo pi o meno fedele e semplificato. Lo studio dei modelli matematici di diversi sistemi ha fatto emergere il fatto che alcuni sistemi possono essere rappresentati dallo stesso modello matematico. Questa analogia consente di studiare sistemi, la cui realizzazione presenta una certa complessit, simulandoli con sistemi di altro genere, ma pi semplici da realizzare e da manipolare, per prevederne il comportamento. Lanalogia fisica, o isomorfismo, si concretizza in formule matematiche (modelli), la cui struttura sembra indicare un solo generatore. Due sistemi si dicono analoghi quando sono rappresentati dalla stessa struttura matematica. Anche se sembra essere la ricerca di un sistema pi semplice a portare verso lo studi o dei sistemi analoghi, nella realt i concetto di unitariet dei fenomeni fisici a spingere lo studio verso le analogie. Il modo pi semplice per realizzare le analogie considerare modelli matematici di semplici sistemi fisici. Per esempio, possibile trovare a quale grandezza elettrica corrisponde una certa grandezza meccanica, idraulica o termica.

Esempio 1 - Analogia tra un sistema elettrico e un sistema meccanico Si consideri il modello matematico del resistore:
V= R * I Il modello matematico che esprime la legge d Ohm vale anche quando le grandezze variano ne tempo. Considerando il valore della tensione a un certo istante t si pu scrivere (equazione 1) V(t) = R * I(t) dove: V [volt]: tensione ai capi di un resistore I [Amperel: corrente che attraversa il resistore R [V/A o Ohm]: resistenza caratteristica del resistore

Un comportamento analogo si pu trovare nel sistema meccanico di un ammortizzatore durante il moto traslatorio

Il modello matematico del sistema dato dalla seguente relazione (equazione 2):

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 6

v= 1 *F

dove: v [m/s]: velocit di traslazione F [Newton] forza di reazione allo spostamento di velocit [Newton/(m/s)]: coefficiente viscoso

Confrontando i due sistemi, mediante il raffronto delle rispettive equazioni (equazione 1 ed equazione 2), si possono ricavare le seguenti analogie: alla velocit di traslazione v corrisponde la tensione V; al coefficiente di attrito viscoso corrisponde la conduttanza elettrica G = 1/R (inverso della resistenza); alla forza di reazione F corrisponde la corrente I. Il sistema meccanico ammortizzatore pu quindi essere studiato come sistema elettrico resistore sostituendo le variabili secondo la giusta analogia e utilizzando le unit di misura corrette.

Esempio 2 - Analogia tra un sistema elettrico e un sistema termico


Nello studio della trasmissione del calore, si perviene a regime quando il flusso di potenza termica attraverso i corpi (equazione 3): R * Q = T dove Q [Watt] rappresenta la potenza termica T [ Kelvin] rappresenta la differenza di temperatura tra gli estremi della sezione di controllo del flusso R [K / W] la resistenza termica

Lequazione precedente formalmente analoga alla legge di Ohm: R * I = V Le grandezze che si corrispondono sono: la differenza di potenziale con la differenza di temperatura; l'intensit di corrente con la potenza termica, la resistenza elettrica con la resistenza termica Questa analogia pu essere descritta nel seguente modo: In un corpo materiale l'intensit di corrente fluisce dal punto a potenziale pi alto verso il punto a potenziale pi basso, proporzionale alla differenza di potenziale e dipende dalla struttura del corpo materiale. La costante di proporzionalit, corrispondente al rapporto tra differenza di potenziale e 1'intensit di corrente, si chiama resistenza elettrica. Sostituendo le parole intensit di corrente con potenza termica, potenziale con temperatura, ed elettrico con termico, si ottiene la seguente descrizione analoga per i sistema termici. In un corpo materiale la potenza termica fluisce dal punto a temperatura pi alta verso un punto a temperatura pi bassa, proporzionale alla differenza di temperatura e dipende dalla natura fisica del corpo. La costante di proporzionalit, corrispondente al rapporto tra differenza di temperatura e la potenza termica, si chiama resistenza termica.

Esempio 3 - Analogia tra un sistema elettrico e un sistema idraulico


Si consideri il sistema idraulico costituito da un serbatoio cilindrico: si deve calcolare la variazione di SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 7

volume occupato dal liquido in funzione della variazione delle portate Q e quindi dellaltezza.

Indicando con Q la differenza tra le due portate Q2 - Q1 si ha Q= V/ t cio la variazione delle portate implica una variazione lineare del volume del liquido. Sapendo che fa variazione di volume data dalla formula: V = S2 * * h /4 (essendo S il diametro della sezione del serbatoio), facendo le opportune sostituzoni nella formula, si ricava: Q * t = S2 * * h /4 Indicando con A la parte costante della formula (ossia A = S2 * /4) V = A * h Il modello del sistema descritto dallo schema seguente: h V

V= Q * t indica la variazione del volume nel serbatoio, quando immessa una quantit di liquido data dalla variazione della portata Q nell'intervallo t. h indica la variazione d livello del liquido nel serbatoio d diametro di sezione S, proporzionale alla variazione di volume V in modo che il rapporto V/h sia la costante A. Si consideri ora il sistema condensatore caratterizzato dalla capacit C. Sapendo che Q = C * V, si pu rappresentare il sistema con seguente modello: Q V

1/C
SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 8

Osservando i modelli relativi ai due sistemi, idraulico ed elettrico, si pu ricavarne lanalogia associando: la variazione di livello h, in conseguenza di una variazione di flusso Q, con la variazione di carica Q del condensatore; la variazione del volume V con la variazione di tensione ai capi del condensatore; la costante A = S2 * /4con l'inverso della capacit 1/C.

I MODELLI
Il modello una rappresentazione semplificata di un sistema fisico, allo scopo di rendere pi semplice lo studio e lanalisi delle sue caratteristiche pi significative, in relazione al contesto in cui opera. Per esempio, per indicare a una persona la casa dove abitiamo, possiamo usare una piantina del percorso (modello): nello schema si possono trascurare il numero e il tipo di edifici e si indicano solamente i nomi delle vie da attraversare. Il percorso indicato diverso seconda che la persona debba fare il tragitto a piedi, in autobus, in treno o in macchina. In questultimo caso occorre fare attenzione alle strade con sensi di circolazione vietata. Quindi, prima di costruire il modello della realt da rappresentare, occorre definire il contesto in modo da selezionare le caratteristiche utili allo studio in oggetto: questo significa che si possono definire diverse rappresentazioni per la stessa realt. In base alla loro utilit i modelli possono essere: Modelli descrittivi: sono modelli che descrivono il sistema, praticamente sono una fotografia de sistema Modelli predittivi: sono modelli che descrivono i servizi che il sistema eroga senza specificarne la modalit Modelli prescrittivi: sono modelli che descrivono la modalit di erogazione di un servizio Per esempio, quando acquistiamo un persona computer, troviamo nella confezione la documentazione che contiene: Modello descrittivo, cio lo schema che mostra i componenti fondamentali del computer Modello predittivo, cio le caratteristiche del processore, la capacit di memoria e cos via Modello prescrittivo, cio le indicazioni operative per attivare un certo servizio, per esempio come si accende il computer oppure come si espande la memoria. I modelli si dividono in modelli fisici e modelli simbolici. I modelli fisici danno una rappresentazione fedele del sistema e raggruppano modelli dei seguenti tipi: iconico e analogico. Modelli iconici: un modello iconico di sistema riproduce in modo proporzionale le caratteristiche del sistema. Un esempio di questo genere il plastico in scala. Modelli analogici: sono modelli che simulano il sistema reale (per esempio, simulatori di volo) o che SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 9

hanno un comportamento analogo a quello del sistema oggetto di studio. I modelli simbolici raggruppano modelli dei seguenti tipi: matematici, logici e trasduttori. I Modelli simbolici danno una rappresentazione astratta del sistema oggetto di studio tramite simboli grafici convenzionali. I modelli simbolici sono comuni perch adatti a molte esigenze, una volta definite le regole e le convenzioni. Un esempio di modello simbolico rappresentato dai simboli utilizzati nei flow-chart, o dagli schemi elettrici che corredano il nostro televisore, o i tabelloni che nelle stazioni ferroviarie indicano il tipo di treno e la sua composizione oltre allorario e alle fermate. Modelli matematici: un modello matematico unespressione matematica contenente equazioni o relazioni che rappresentano il sistema. Per esempio, il calcolo dell'IVA al 20% di un prodotto rappresentato dalla relazione IVA = Prezzo * 20 /100, oppure il calcolo dell'area di un triangolo si ottiene dalia relazione A = Base * Altezza / 2. Pensate alle leggi del moto dei corpi: per studiare il movimento di un carrello in pendenza su una superficie non necessario un tratto di ferrovia collinare dove sperimentare, ma sufficiente utilizzare le espressioni matematiche appropriate. Le relazioni precedenti possono essere rappresentate anche con un grafico, mettendo in ascissa la variabile indipendente (prezzo nel primo caso, base o altezza nel secondo caso) e in ordinata la variabile dipendente (IVA o Area). In alternativa si possono rappresentare le relazioni con una tabella a doppia entrata (come nel tavola pitagorica).

Modelli logici (o algoritmici): rappresentano il comportamento del sistema tramite un algoritmo di simulazione, senza fornire indicazioni sul suo aspetto fisico. Un esempio un programma sorgente in un qualsiasi linguaggio: si descrive cosa deve essere fatto dal processore definendo la logica di procedimento. Modelli trasduttori: un modello trasduttore rappresenta il sistema evidenziandone il suo comportamento (come nel modello logico) anche se tramite grandezze diverse da quelle del sistema reale. Pensate a tutti i sistemi analoghi analizzati negli esempi precedenti.

Un modello, gi usato in precedenza per rappresentare gli esempi di sistema, lo schema a blocchi, che risulta molto utile per evidenziare l'aspetto funzionale di un sistema (cosa
fa), piuttosto che la sua struttura (come fatto). Lo schema a blocchi formato da un blocco rettangolare che rappresenta il sistema, da un insieme di frecce entranti, che rappresentano le sollecitazioni a cui il sistema sottoposto (ingressi), e da un insieme di frecce uscenti, che rappresentano le uscite o risposte del sistema come effetto delle sollecitazioni.
i1 i2 i3 u1

Sistema

u2 u3

La metodologia da utilizzare per rappresentare il sistema secondo lo schema a blocchi deve prevedere SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 10

la distinzione tra le parti del sistema, che interessano lo studio, da tutto quello che non interessa. Il sistema pu trovarsi internamente in pi condizioni diverse tra loro, ossia al suo interno in ogni istante, in base agli ingressi ricevuti fino a quel momento, si trover in un preciso stato. (Pensate ad una macchina distributrice di lattine nella quale possibile inserire monete da 10, 20, 50 cent : il sistema pu essere a riposo, in attesa di ulteriori monete se limporto immesso con una moneta non sufficiente, in distribuzione quando ha ricevuto tutto limporto necessario). Successivamente occorre definire le grandezze che condizionano il sistema relativamente allo studio che si vuole fare. Tra queste grandezze devono distinguere quelle che si possono modificare direttamente o indirettamente (variabili), da quelle che non si possono modificare, nel senso che sono prefissate (parametri) e restano costanti per tutto il periodo di osservazione. Le variabili modificabili direttamente si chiamano ingressi (variabili indipendenti), quelle che cambiano in conseguenza degli ingressi si chiamano uscite (variabili dipendenti). DEFINIZIONI Le variabili dingresso di un sistema sono le grandezze che devono fornite al sistema come sollecitazione o comando. I valori degli ingressi di un sistema sono tutti i valori che pu assumere ciascuna delle variabili di ingresso. Le variabili duscita di un sistema sono le grandezze ottenute come risposta ai valori di ingresso. I valori delle uscite di un sistema sono tutti i valori che pu assumere ciascuna delle variabili di uscita. Lo stato del sistema linsieme delle informazioni sufficiente a fornire un quadro completo della situazione interna al sistema in ogni singolo istante t. FORMALIZZAZIONE Il primo passo nellanalisi di un sistema consiste nel definire completamente i seguenti insiemi: I insieme delle variabili di ingresso VI insieme dei valori che possono assumere le variabili di ingresso U insieme delle variabili di uscita VU insieme dei valori che possono assumere le variabili di uscita S insieme degli stati T insieme dei tempi in cui avviene losservazione del sistema. In un sistema dinamico, con il trascorrere del tempo si ha una evoluzione del sistema (processo). Levoluzione del sistema pu essere descritta da leggi o relazioni che permettono di determinare in ogni istante lo stato in cui si trover il sistema e il valore delle uscite in funzione dello stato attuale del sistema e delle variabili di ingresso. Per meglio comprendere il legame che intercorre tra le variabili di ingresso, le variabili duscita e gli stati, immaginiamo che linterno del sistema sia costituito da 2 scatole: la prima scatola riceve gli ingressi e agisce sullo stato del sistema la seconda scatola riceve in ingresso il nuovo stato del sistema e agisce di conseguenza producendo valori in uscita. Ci che verr prodotto globalmente dal sistema luscita della seconda scatola.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 11

Il sistema completamente individuato quando, oltre agli insiemi gi elencati, vengono definite le seguenti funzioni: funzione di transizione degli stati che determina il valore dello stato in cui deve passare il sistema in base allo stato attuale e agli ingressi (allistante t1). Formalmente:

s(t2) = f ( t2, t1, s(t1), VI(t1) )


funzione di trasformazione delle uscite che determina il valore delle uscite in base allo stato attuale e in base agli ingressi (allistante t1). Formalmente:

VU(t2) = g ( t2, t1, s(t1) )


I sistemi dinamici possono essere rappresentati mediante gli schemi a blocchi, rappresentando il comportamento di ogni elemento del sistema mediante un blocco; i blocchi sono connessi tra loro. Ogni blocco definisce una funzione di trasformazione. Mediante lalgebra degli schemi a blocchi possibile determinare la funzione di trasformazione complessiva in funzione delle funzioni di trasformazione degli elementi rappresentati.

VARIABILI, PARAMETRI e DISTURBI


Le variabili influenzano il comportamento del sistema in modo qualitativo, mentre parametri lo influenzano dal punto di vista quantitativo. Esistono variabili che non si possono controllare, n direttamente n indirettamente: essi si chiamano disturbi, perch hanno un comportamento casuale e se ne avverte la presenza solamente quando agiscono. Un disturbo un evento asincrono (ossia non detto che si verifichi ogni volta che il sistema si trova in situazioni analoghe e perci non connesso in senso temporale al comportamento del sistema stesso). Es.: per il distributore di lattine un disturbo pu essere un calo di tensione che azzera il conteggio delle monete o rallenta il funzionamento; per una conversazione telefonica un disturbo un fulmine che provoca una scarica rumorosa sulla linea.

Indicando con le lettere i gli ingressi, u le uscite, d i disturbi e p i parametri, il modello generale del sistema pu essere rappresentato con il seguente schema blocchi.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 12

L'attivit descritta si chiama fase di identificazione del sistema. Il passo successivo consiste nel trovare legami matematici tra ingressi, uscite, parametri e disturbi al fine di studiare il sistema nella sua evoluzione. Le cose da fare sono: definizione della scala dei tempi di osservazione del sistema, scegliendo come unit di misura quella pi funzionale allo scopo dello studio; definizione degli ingressi per calcolare le uscite: in pratica si tratta di costruire una tabella che in ogni istante, per un certo ingresso, fornisca l'uscita corrispondente; costruzione di un grafico

Esempio Rappresentare il sistema formato da una leva per studiare la relazione che esiste tra peso P che si pu sollevare applicando la forza F

I valori dei bracci della leva X1 e X2 possono essere fissati a un valore costante per il periodo osservazione. Si tratta di trovare la relazione esistente tra F e P F P

X1

X2

La condizione di equilibrio data da: F * X1 = P * X2 SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 13

e quindi la relazione ingresso/uscita risulta P= X1 * F X2 par cui il modello si trasforma nel seguente modo F X1 / X2 X1 X2 P

Con questa relazione, data una leva, si pu calcolare quale peso possiamo sollevare al variare della forza applicata nell'altra estremit della leva. Se invece si vuole calcolare la forza da applicare per sollevare un certo peso, si pu usare lo stesso principio della fisica utilizzato precedentemente, scambiando lingresso con l'uscita, per cui la relazione matematica diventa: F= X2 * P X1 Essa rappresentata da seguente schema a blocchi: P X2 / X1 X1 X2 F

E importante osservare che in qualunque sistema non ben definita la distinzione tra ingressi e uscite: il ruolo assegnato alle variabili dipende dall'orientamento dello studio. Si pu dire che nello schema a blocchi la caratteristica del blocco funzionale (rettangolo) rappresenta la reazione ingresso/uscita che permette di calcolare l'uscita in funzione delle variabili d'ingresso e delle propriet intrinseche del sistema (parametri) Nei sistemi lineari e invarianti si definisce funzione di trasferimento il rapporto tra le variabili di uscita e le variabili d'ingresso. Nell'esempio precedente fa funzione di trasferimento nel primo caso : FT = P / F = X1 / X2 Mentre nel secondo caso la funzione di trasferimento : FT = F / P = X2 / X1

Esempio Rappresentare l'andamento temporale della tensione V ai capi di un condensatore C attraversato da una corrente I variabile nel tempo.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 14

La capacit di un condensatore data dalla relazione: C=Q/V dove Q rappresenta la carica accumulata ai capi de condensatore V la tensione ai capi del condensatore Dalla formula si ricava C*V=Q per cui a una variazione di carica corrisponde una variazione di tensione ai capi del condensatore secondo la legge: Q = C * V Dividendo entrambi i termini per t, con t molto piccolo tendente a zero, si ottiene Q/t = C *V/t Poich la corrente , per definizione, la variazione della carica nel tempo, si pu scrivere: I = C *V/t Indicando con I la corrente che circola nel condensatore. Se si vuole osservare come varia la tensione in un intervallo finito in funzione della variazione di corrente nel medesimo intervallo, dalla formula precedente si ottiene: V = (1 / C) * t * I Il seguente schema a blocchi rappresenta il modello del sistema: I t 1/C V

C La funzione di trasferimento : FT= 1 /C Dal modello si pu dedurre che, affinch ai capi di un condensatore ci sia una variazione di tensione, necessaria una variazione di corrente. Una corrente elevata, ma costante, non produce alcuna variazione di tensione Se invece si vuole studiare come varia la corrente che circola in un condensatore in relazione alla tensione, si ha: I = (V / t) * C e lo schema diventa il seguente: V t C SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 15 C I

La funzione di trasferimento : FT = C Quando la tensione ai capi del condensatore costante, cio non ha variazione, la corrente risulta nulla.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 16

IL CONTROLLO AUTOMATICO
Si definisce rumore ogni segnale di disturbo che si sovrapponga al segnale utile. Il rumore costituito in genere dalla somma di segnali a frequenza diversa, distribuiti su ampio intervallo e tra loro non correlati

Il rumore pu avere origine naturale o artificiale. Il rumore di origine artificiale quello indotto da interferenze tra segnali utili su linee vicine, per esempio scariche elettriche dovute a commutazione di interruttori e motori. Pertanto il rumore definibile solo caso per caso prendendo in esame una specifica situazione. Il rumore di origine naturale intrinseco in alcuni processi naturali ed perci possibile un'indagine in termini generali. In particolare a questa categoria appartengono i disturbi che si originano internamente a conduttori e dispositivi elettronici (disturbi interni). Per operare unanalisi attenta del comportamento del sistema necessario tener conto del rumore. Si definisce controllo una sequenza di azioni svolte per il raggiungimento di un obiettivo specifico. Il problema del controllo si ha: quando esiste un sistema; quando si desidera prefissare il valore delle grandezze di uscita (uscite primarie) quando le uscite primarie, sotto l'azione di ingressi non manipolabili, assumono un andamento non desiderato, per esempio una barca in balia delle onde e delle correnti, in sostanza quando si fissa un obiettivo che non si riesce a raggiungere per cause non previste; quando esistono ingressi che consentono di portare luscita primaria al livello desiderato In un sistema, i disturbi tendono a far scostare l'uscita dal riferimento, mentre gli ingressi manipolabili tendono a portare l'uscita al valore di riferimento desiderato. Quando il controllo teso a mantenere costante una variabile di uscita (per esempio la temperatura di una stanza) si parla di regolazione. Quando le grandezze di riferimento variano nel tempo, il controllo ha lo scopo di far seguire alle uscite l'andamento delle grandezze di riferimento: in questi casi si parla di asservimento. Una particolare categoria di asservimenti rappresentata dai casi in cui le grandezze controllate sono di tipo meccanico, come velocit e spostamenti: si parla di servomeccanismi. La modalit di comando pu essere di due tipi: SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 17

a catena aperta a catena chiusa

Per esempio, la cottura di una pizza con forno a microonde pu essere fatta con diverse strategie: 1. impostare la temperatura e il timer e aspettare che trascorra il tempo. In questo caso se qualcosa non funziona, non abbiamo alcuna garanzia sulla realizzazione della cottura desiderata.

2. Se il sistema dotato di un dispositivo in grado di valutare il grado di cottura e di intervenire sul sistema modificando la temperatura, in modo da ottenere la giusta cottura nel tempo desiderato, i modello pu essere modificato nel seguente modo:

Nel primo caso si ha un sistema con controllo a catena aperta, nel secondo caso si ha un controllo a catena chiusa. In base alla definizione, solo nei sistemi a catena chiusa ha senso di parlare di controllo e regolazione. Quando il controllo effettuato da macchine si parla di regolazione automatica. I blocchi che utilizzano i valori dell'uscita per condizionare gli ingressi si chiamano blocchi di retroazione e la linea che va dall'uscita del sistema controllato verso l'ingresso si chiama linea di retroazione: il sistema si dice retroazionato. Il sistema di controllo deve avere un ingresso aggiuntivo, detto segnale di riferimento, con quale si possa confrontare l'uscita letta. Lo schema seguente mostra quanto detto: in esso e (errore) indica la differenza tra il valore di riferimento e il valore in uscita.

Esempio - Rappresentare un sistema a controllo automatico di un serbatoio di acqua destinato ad alimentare una serie di utenti e rifornito da un condotto collegato a una rete di distribuzione
SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 18

Qi portata di acqua entrante; Qu portata di acqua in uscita; C: cisterna, SC scala graduata per il livello Sa : valvola di immissione; G: galleggiante; I: condotto

Il condotto controllato da una valvola di immissione che regola la portata entrante in modo automatico tramite un galleggiante. La portata uscente regolata casualmente dalle esigenze degli utenti. Supponendo di poter controllare il livello dell'acqua della cisterna, si pu regolare il galleggiante in modo che la valvola sia chiusa quando il livello dell'acqua coincide con quello prefissato. Appena il livello della cisterna diventa inferiore a quello prefissato, il galleggiante, abbassandosi, apre la valvola in modo da annullare la differenza di livello. Il modello del sistema il seguente:

Nello schematizzare una catena di controllo si utilizzano modelli grafici come i seguenti, che sono esempi di rappresentazione canonica di un sistema retroazionato.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 19

Nel primo schema il segnale di retroazione arriva nel blocco di confronto con il segno - mentre nel secondo schema arriva con il segno +. Si dice retroazione negativa il caso in cui la grandezza controllata entra con il segno - e retroazione positiva quando entra con segno + (la grandezza controllata viene sommata a quella di riferimento). Di seguito viene illustrato il calcolo del modello matematico equivalente alla catena di controllo, noto modello matematico dei singoli blocchi. Lo schema a blocchi generale il seguente:

In esso i simboli indicano: r: segnale di riferimento, c: grandezza controllata, e: errore, u: uscita, G: guadagno del sistema H: guadagno del blocco di retroazione Si hanno le relazioni E=r-c u=G*e=G*(r- c) c=H*u Sostituendo, si ottiene u=G*r - G*H*u u+ G*H*u=G*r u * (1 + G * H) = G * r u/r=G/(1 +G * H) che rappresenta la relazione ingresso/uscita del sistema Ge = G / (1 + G * H) si chiamano guadagno equivalente del sistema controllato. SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 20

Analizzando la formula si vede che Ge < G, per cui si pu dire che la retroazione negativa riduce guadagno del sistema. Si deduce che questo tipo di retroazione migliora la stabilit del sistema, perch riducendo il guadagno, il rumore ha un effetto trascurabile e sull'uscita. In sostanza, il contributo non desiderato del segnale di rumore viene annullato da una minore amplificazione. Nel caso della retroazione positiva, con un procedimento analogo si pu ricavare guadagno equivalente Ge = G / (1- G * H) da cui si vede che Ge > G: questo tipo di retroazione aumenta l'instabilit. Poich un sistema deve essere pi possibile rapido, preciso e stabile chiaro che la retroazione pi conveniente risulta essere quella negativa. I sistemi a retroazione negativa tendono verso uno stato di stabilit che coincide con il valore di riferimento. Appena un disturbo tende a portare l'uscita verso un valore diverso da quello di riferimento, il sistema reagisce annullandone l'effetto. La retroazione positiva si utilizza quando serve potenziare l'instabilit, come nelle macchine turbo dove i gas di scarico non vengono espulsi direttamente, ma vanno ad azionare una turbina che muove un compressore per spingere aria fresa nei cilindri.

Algebra degli schemi a blocchi


Per algebra degli schemi a blocchi si intende un insieme di regole che permettono di trasformare sistemi complessi in sistemi pi semplici, allo scopo di evidenziare in maniera chiara e semplice l'aspetto strutturale del sistema in esame. Lo schema a blocchi molto utilizzato in tutte le materie scientifiche ed molto utile nella simulazione dei sistemi, perch porta pi facilmente al modello matematico con relazioni che legano tutti i blocchi, definendo le propriet intrinseche al sistema. Negli esempi seguenti si suppone che esista una relazione di proporzionalit tra ingresso e uscita. Gli elementi che costituiscono gli schemi a blocchi sono:

u = k * i, se k una costante, rappresenta la funzione di trasferimento

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 21

u = G1 * G2 *.. * Gn * I per cui la catena dei sistemi in serie pu essere sostituita con un blocco che ha come guadagno equivalente Ge = G1 * G2 *.. * Gn

Il secondo caso si dice collegamento di blocchi funzionali in parallelo

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 22

u = u1 + u2 +.. * un = G1 * i + G2 * i .. + Gn * i = Ge = G1 + G2 +.. + Gn

Sistema lineare e disturbo (* approfondito in Appendice)


Finora sono stati utilizzati sistemi nei quali la reazione tra ingresso e uscita era di tipo proporzionale. Questa ipotesi restrittiva, perch non copre la maggior parte dei sistemi che esistono nella realt. Una parte consistente della teoria dei sistemi si occupa dello studio dei sistemi lineari, che rappresentano un insieme vasto e significativo. Un sistema si dice lineare se l'uscita legata agli ingressi (comandi o disturbi) da una combinazione lineare. Questo comporta che l'uscita pu essere scomposta in tanti termini quanti sono gli ingressi, dove ogni termine legato in modo proporzionale all'ingresso corrispondente. Il termine lineare legato al fatto che la funzione matematica, che la descrive, nel caso pi semplice del tipo y = k * x, rappresentata graficamente da una retta. Nel caso di due ingressi, uno che rappresenta un comando e l'altro un disturbo, si pu scrivere: u(t) = A * c(t) + B * d(t) con A e B costanti

Ovviamente il discorso si estende a qualsiasi numero di ingressi. In pratica si definiscono sistemi lineari i sistemi per i quali vale il principio di sovrapposizione degli effetti che si pu enunciare nel seguente modo:

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 23

In un sistema lineare l'effetto dovuto a pi cause diverse pari alla somma degli effetti delle singole cause, considerando nulle tutte le altre. I sistemi non lineari sono quelli per i quali non vale il principio di sovrapposizione degli effetti. Per disturbo si intende tutto quanto interferisce con l'attivit (o Processo) che si sta svolgendo, alterandone l'evoluzione. Poich l'andamento del disturbo imprevedibile sia nella natura che nell'andamento, poco o nulla si pu fare per eliminarlo: si pu solo farne una valutazione al fine di ridurne gli effetti sul sistema. Per esempio, si prenda in considerazione lo schema seguente: esso rappresenta un sistema lineare (vale il principio di sovrapposizione degli effetti) costituito da una catena di blocchi (sistema a catena aperta).

Applicando il principio di sovrapposizione dogi effetti si ha: u = ui + ud cio l'uscita data dalla combinazione lineare delle singole sollecitazioni (ingresso e disturbo) considerate separatamente. Perci, trascurando disturbo, si ha ui = G1 * G2 * G3 * i mentre, trascurando l'ingresso, si ha: ud = G2 * G3 * d Considerando il rapporto ui = G1 * G2 * G3 * i = G1 * i d ud G2 * G3 * d si pu osservare che il tutto funziona come se l'ingresso fosse amplificato solo dal blocco G1, mentre d rimane inalterato. Si consideri ora lo stesso schema, ma con il disturbo entrante dopo il blocco G2: con analoghi passaggi si ottiene: ui = G1 * G2 * G3 * i = G1 * G2 * i ud G3 * d d In questo caso l'ingresso amplificato dai blocc G1 * G2 e d passa inalterato. In pratica il fatto che l'ingresso i risulti amplificato significa che il disturbo in termini relativi meno efficace. Si pu quindi SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 24

concludere che il disturbo tanto meno efficace quanto pi vicino il suo ingresso rispetto all'uscita del sistema e tanto pi efficace quanto pi vicino il suo ingresso rispetto all'ingresso del sistema.

LO STATO DI UN SISTEMA
Lo stato di un sistema esprime le condizioni in un certo istante attraverso i valori assunti dalle grandezze che lo condizionano e lo caratterizzano, e che chiamiamo variabili di stato. Noti i valori a cui sar sottoposto il sistema possibile prevedere lo stato successivo del sistema e le risposte del sistema. Lo stato dipende dalle variabili di stato che sono state scelte come significative per il comportamento del sistema che si vuole studiare. Ad es. volendo studiare il moto di unautovettura, non interessa lo stato della carrozzeria, cos nello studio di un impianto di illuminazione ha poca importanza il colore degli interruttori. Ponendo dellacqua in una pentola non si pu prevedere in quanto tempo essa bollir perch lo stato dellacqua dipende dallo stato di partenza, caratterizzato dalla temperatura di partenza dellacqua, dalla pressione, umidit, ventilazione, materiale della pentola ecc.. Basta per conoscere la temperatura iniziale dellacqua per prevedere il tempo di ebollizione. La temperatura dellacqua risente della storia del sistema, cio dellevoluzione subita fino a quel momento e la temperatura la sintesi della storia precedente. E chiaro che per conoscere levoluzione del sistema in un intervallo di tempo, occorre conoscere oltre alle sollecitazioni anche lo stato iniziale del sistema. Indicando con s(t) il valore di una variabile di stato allistante t s(t0) il valore della stessa variabile di stato allistante t0 di inizio del periodo di osservazione levoluzione pu essere sintetizzata da due formule :

1. s(t) = s(t0) + f ( i(t - t0) , s(t0) ) * ( t t0 ) 2. u(t) = g( i(t), s(t0) ) ossia 1. lo stato allistante t dato dalla somma del suo valore allistante t0 e dal prodotto dellintervallo (t - t0) per una quantit f che dipende dal valore dello stato iniziale e dalla sollecitazione di ingresso nellintervallo (t - t0). 2. Luscita funzione dello stato iniziale e della sollecitazione di ingresso.
Si definisce sistema dinamico un sistema descritto da equazioni del tipo:

1. s(t) = f ( i(t) , s(t0) ) 2. u(t) = g ( i(t), s(t0) )


SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 25

Un sistema si dice sistema proprio se:

u(t) = g ( s(t) )

se luscita dipende solo dallo stato allistante t

Un sistema si dice sistema improprio se:

u(t) = g (i(t) , s(t0) ) se luscita dipende dallo stato allistante t0 oltre che dallingresso i(t)
Con lintroduzione dello stato un sistema non pi descritto da relazioni ingresso/uscita (teoria classica) ma da relazioni ingresso/stato-uscita (teoria moderna) .

I PROCESSI e IL DIAGRAMMA DEGLI STATI


Si definisce processo la sequenza di stati ordinati nel tempo attraverso i quali passa il sistema sollecitato da una qualsiasi sequenza di n-uple di valori di ingresso. Nei sistemi discreti il numero degli stati finito: possibile rappresentare ciascuno degli stati con le sollecitazioni che fanno evolvere il sistema da uno stato allaltro. Nei sistemi continui il numero degli stati infinito: non possibile rappresentare ciascuno stato, ma possibile descrivere le grandezze che rappresentano il sistema attraverso le leggi con cui variano. Un modello molto utilizzato per lanalisi dei sistemi il diagramma degli stati o grafo di transizione. Questo modello non mostra le interazioni tra le parti del sistema (come i diagrammi a blocchi) ma mostra levoluzione del sistema in funzione degli ingressi e degli stati. Il diagramma degli stati formato da nodi e archi orientati. Il nodo indica uno stato ed rappresentato da un cerchio o da unellisse con il nome dello stato. Gli archi orientati collegano gli stati e indicano le possibili evoluzioni del sistema. Sullarco orientato sono mostrate due informazioni (separate da una virgola o da una barra): la sollecitazione che fa evolvere da uno stato allaltro e luscita relativa.

Dopo aver definito le variabili di stato, per disegnare il grafo sono necessari i seguenti elementi: I insieme degli ingressi VI insieme dei valori che possono assumere gli ingressi U insieme delle uscite VU insieme dei valori che possono assumere le uscite S insieme degli stati S0 stato iniziale Uno o pi stati finali o stati obiettivi Tabella di transizione degli stati che indica levoluzione degli stati in conseguenza degli ingressi SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 26

Tabella di trasformazione delle uscite che associa allo stato luscita corrispondente. Con questi elementi si disegnano tanti nodi quanti sono gli stati, collegandoli con archi orientati secondo quanto indicato nella tabella di transizione di stato e nella tabella di trasformazione delle uscite.

ESEMPIO RAPPRESENTARE IL SISTEMA DI UN CIRCUITO ELETTRICO FORMATO DA UNA LAMPADA E DA UN INTERRUTTORE insieme degli ingressi: insieme dei valori che possono assumere gli ingressi : insieme delle uscite insieme dei valori che possono assumere le uscite insieme degli stati stato iniziale Tabella di transizione degli stati: VI Aperto STATO Lampada accesa Lampada spenta Lampada spenta Lampada spenta {INTERRUTTORE} {APERTO, CHIUSO} {EFFETTO OSSERVABILE} {BUIO, LUCE} {LAMPADA ACCESA, LAMPADA SPENTA} {LAMPADA SPENTA}

Chiuso Lampada accesa Lampada accesa

Tabella di trasformazione delle uscite: VI Aperto chiuso STATO Lampada accesa Buio Luce Lampada spenta Buio Luce Chiuso, Luce Aperto, Buio Lampada accesa

Chiuso, Luce

Lampada spenta

Aperto, Buio Per generare una trasformazione bisogna definire uno stato di partenza e applicare una possibile sequenza di ingressi che porta il sistema in uno degli stati finali. Ad es. supponendo di partire dallo stato Lampada Spenta e applicare la seguente sequenza di ingressi: Chiuso, Aperto, Aperto, Chiuso, Chiuso si ottengono le seguenti transizioni di stato: Lampada Accesa, Lampada Spenta, Lampada Spenta, Lampada Accesa, Lampada Accesa le seguenti transizioni delle uscite: Luce, Buio, Buio, Luce, Luce SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 27

ESEMPIO RAPPRESENTARE UN SISTEMA DI DUE LAMPADINE COLLEGATE A UN PULSANTE T IN MODO CHE ALLA PRIMA PRESSIONE SI ACCENDE LA LAMPADINA L1, ALLA SECONDA PRESSIONE SI ACCENDA ANCHE LA LAMPADINA L2, ALLA TERZA PRESSIONE SI SPENGANO ENTRAMBE Poich alla terza pressione si spengono entrambe si torna alle condizioni iniziali di buio e ripremendo il pulsante si ricomincia il ciclo. insieme degli ingressi: insieme dei valori degli ingressi: insieme delle uscite insieme dei valori delle uscite insieme degli stati stato iniziale {TASTO} {PREMUTO, NON PREMUTO} {LAMPADA1, LAMPADA2} { (Spento,Spento), (Acceso,Spento), (Acceso,Acceso) } Notare che non possibile lo stato (Spento, Acceso) coincide con i valori delle uscite { (Spento,Spento) }

Tabella di transizione degli stati: VI Premuto STATO (Spento,Spento) (Acceso,Spento) (Acceso,Spento) (Acceso,Acceso) (Acceso,Acceso) (Spento,Spento)

Non Premuto (Spento,Spento), (Acceso,Spento), (Acceso,Acceso)

Tabella di trasformazione delle uscite: VI Premuto Non Premuto STATO (Spento,Spento) (Acceso,Spento) (Spento,Spento), (Acceso,Spento) (Acceso,Acceso) (Acceso,Spento), (Acceso,Acceso) (Spento,Spento) (Acceso,Acceso) Diagramma degli stati: Non Premuto Premuto/ (Acceso,Spento) (Spento,Spento ) (Acceso,Spento ) Non Premuto

Premuto/ (Acceso,Acceso) Premuto/ (Spento,Spento)

(Acceso,Acceso) Non Premuto SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 28

Definendo come stato di partenza (Spento,Spento) e proviamo a seguire levoluzione temporale del sistema simulando limmissione dei valori di ingresso mostrati nella 1 riga della tabella. La 2 riga mostra il nuovo stato interno del sistema, la 3 riga riporta la conseguente uscita. VI: S: VU: P (A,S) (A,S) NP (A,S) (A,S) P (A,A) (A,A) P (S,S) (S,S) NP (S,S) (S,S) P (A,S) (A,S) P (A,A) (A,A) NP (A,A) (A,A) P (S,S) (S,S)

ESEMPIO CONSIDERARE LOPERAZIONE DI SOMMA TRA DUE VALORI BINARI COMPOSTI DI UNA SOLA CIFRA E CONSIDERARE ANCHE IL RIPORTO. La nostra operazione richiede i due operandi (contenuti nelle variabili che chiamiamo A e B) e produce come uscite una somma (nella variabile S) ed un eventuale riporto ( nella variabile R ). La somma binaria di due bit (binary digit) deterministico e combinatorio (il risultato in corso non dipende dalle somme svolte precedentemente), oltre che discreto e invariante. Insiemi di definizione: insieme degli ingressi: insieme dei valori degli ingressi: insieme delle uscite insieme dei valori delle uscite {A,B} {(0,0), (0,1), (1,0), (1,1) } {S,R} { (0,0), (1,0), (0,1) } Notare che non possibile lo stato (1,1) perch non possibile avere somma 1 con riporto 1 {coincide con i valori delle uscite} { (0,0) }

insieme degli stati stato iniziale Tabella di transizione degli stati: VI (0,0) STATO (0,0) (0,0) (1,0) (0,0) (0,1) (0,0)

(0,1) (1,0) (1,0) (1,0) (1,0) (1,0) (1,0)

(1,0) (0,1) (0,1) (0,1)

(1,1)

Tabella di trasformazione delle uscite: VI (0,0) (0,1) STATO (0,0) (0,0) (1,0) (1,0) (0,0) (1,0) (0,1) (0,0) (1,0)

(1,0) (1,0) (1,0) (1,0) (0,1) (0,1) (0,1)

(1,1)

Notare che le righe delle due tabelle sono identiche tra loro: questo accade perch il sistema combinatorio (senza memoria) e quindi non importa cosa successo allinterno del sistema fino a quel momento. Diagramma degli stati: SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 29

0,0 (0,0)

(0,1)/ (1,0)

(1,0)/ (1,0) (1,0)

(0,1) (1,0)

(0,0)/ (0,0)

(0,0) / (0,0) (1,1) / (0,1) (0,1)

(0,1) / (1,0) (1,0) / (1,0)

(1,1) / (0,1) (0,1)

(0,1) (1,1)

ESEMPIO CONSIDERARE LOPERAZIONE DI SOMMA TRA DUE VALORI BINARI CONSIDERANDO IL RIPORTO. Realizzare lautoma per realizzare la somma di due valori binari, considerando la presenza di un eventuale riporto (gi generato ed eventualmente da generare). La nostra operazione richiede due operandi (contenuti nelle variabili A e B) e produce come uscita la somma (nella variabile S) ed un eventuale riporto (nella variabile di stato R ). insieme degli ingressi: insieme dei valori degli ingressi: insieme delle uscite insieme dei valori di uscita {A,B} {(0,0), (0,1), (1,0), (1,1) } {S} { 0,1} Notare che non possibile lo stato (1,1) perch non possibile avere somma 1 con riporto 1 {R} { 0 (nessun riporto) , 1 (riporto) }

insieme degli stati insieme dei valori degli stati

Tabella di transizione degli stati (riporti): VI (0,0) STATO No riporto 0 0 0 Riporto 1 0 1

(0,1) 0 1

(1,0) 1 1

(1,1)

Tabella di trasformazione delle uscite (somma): VI (0,0) (0,1) STATO No riporto 0 0 1 Riporto 1 1 0

(1,0) 1 0 0 1

(1,1)

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 30

APPENDICE SISTEMI LINEARI TEORIA degli AUTOMI

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 31

SISTEMA LINEARE Nei sistemi lineari leffetto dovuto a pi cause diverse pari alla somma degli effetti delle singole cause, considerando le altre nulle. Ossia leffetto su una uscita dovuta allazione contemporanea dei vari ingressi uguale alla somma degli effetti dei singoli ingressi presi separatamente.
Il caso di un sistema lineare a due ingressi e una uscita si pu rappresentare mediante lo schema a blocchi x1(t) y1(t) + y2(t) x2(t) oppure x1(t)+ x2(t) y1(t) + y2(t)

Per quanto detto: x1(t) y1(t) 0 0 y2(t) x2(t)

Pi in generale per un sistema con n ingressi e m uscite: Per ogni uscita, ad es. per la i-esima, si pu analizzare leffetto di ciascun ingresso j-esimo (con j da 1 a n) quando tutti gli altri ingressi sono nulli. La notazione yi,j (t) denota luscita i-esima provocata dallingresso j-esimo.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 32

x1(t) x2(t) xn(t) n ingressi m uscite

yi,1(t) yi,j(t) yi,n(t)

x1(t) x2(t) xj(t)

i, 1 i, 2 i, j

yi,1(t) yi,2(t) yi,j(t)

Leffetto complessivo sulluscita iesima provocato dallazione contemporanea di tutti gli n ingressi si ottiene sommando i singoli contributi y i,j al variare di j da 1 a n.

xn(t)

i, n

yi,n(t)

n y i,j (t) = y i,j (t) j=1

Esempi di operatori matematici lineari


Prodotto di una sommatoria = Sommatoria dei prodotti x1 + x2 = 5 *5 y1 + y2 = 25

x1 = 2

*5

y1(t) = 10

x2 = 3

*5

y2(t) = 15

Percentuale di una sommatoria di valori = Sommatoria delle percentuali dei valori x1 + x2 = 250 10% y1 + y2 = 25 = 10 + 15

x1 = 100

10%

y1(t) = 15

x2 = 150

10%

y2(t) = 25

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 33

Esempi di operatori matematici non lineari


Lelevazione a potenza non lineare. Nel caso specifico di elevazione al quadrato, Sommatoria di quadrati Quadrato di una sommatoria Nel caso pi semplice, quello di un binomio (a + b)2 = a2 + b2 + 2ab a2 + b2 x1 = 2 x2 y1 = 4

x2 = 3

x2 x2

y2 = 9

x1 + x2 = 5

y3 = 25 13

La radice n-esima non lineare. Nel caso specifico di radice quadrata, Radice di una sommatoria di quadrati Somma delle radici quadrate ossia _______ ___ ___ a2 + b2 a2 + b2 Questo anche in virt del precedente esempio, poich la radice n-esima equivale ad elevare a 1/n. x1 + x2 = 25 y3 = 5 7

x1 = 16

y1 = 4

x2 = 9

y2 = 3

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 34

TEORIA degli AUTOMI Gli strumenti alla base della Teoria degli automi sono: i diagrammi di stato la funzione f (di transizione degli stati) la funzione g (di trasformazione delle uscite) le rispettive tabelle. Un automa costituito dagli insiemi I, VI, U, VU, S e T e dalle relative funzioni f e g che complessivamente descrivono formalmente una macchina (rappresentata come black box). Teoricamente gli insiemi indicati possono avere una quantit infinita di valori; in realt si limita lo studio agli automi identificati da insiemi finiti: ossia gli Automi a Stati Finiti. Il diagramma degli stati utile per rappresentare sistemi discreti e invarianti, che saranno le caratteristiche minime dei sistemi che considereremo. Considerando quanto introdotto a proposito della formalizzazione e al sistema pensato come due scatole, gli automi si suddividono in: Automi di Moore o automi propri, in cui:
funzione di transizione degli stati determina il valore dello stato in cui deve passare il sistema in base allo stato attuale e agli ingressi (allistante t1). Formalmente:

s(t2) = f ( t2, t1, s(t1), VI(t1) )


funzione di trasformazione delle uscite determina il valore delle uscite in base allo stato attuale. Formalmente:

VU(t2) = g ( t2, t1, s(t1) )

Automi di Mealy o automi impropri, in cui:


funzione di transizione degli stati determina il valore dello stato in cui deve passare il sistema in base allo stato attuale e agli ingressi (allistante t1). Formalmente:

s(t2) = f ( t2, t1, s(t1), VI(t1) )


funzione di trasformazione delle uscite determina il valore delle uscite in base allo stato attuale e in base agli ingressi (allistante t1). Formalmente:

VU(t2) = g ( t2, t1, s(t1) ), VI(t1) )


SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 35

Ossia, facendo riferimento alla figura con i blocchi f e g: negli automi di Moore la 2 scatola ha come input solo lo stato negli automi di Mealy la 2 scatola ha come input sia lo stato attuale sia lultimo ingresso fornito; quindi nella definizione della funzione g bisogna aggiungere VI come variabile indipendente.

Per tutte le applicazioni analizzate tramite gli automi c una situazione comune che lesistenza di una condizione iniziale dalla quale partir la macchina. Lo stato iniziale di un automa quello in cui si trova allinizio del suo funzionamento, cio quando non pervenuta alcuna informazione. Lo stato finale di un automa quello da cui non pu muoversi per qualsiasi valore dingresso. Lo stato di equilibrio di un automa quello in cui la macchina pu rimanere a tempo indeterminato per un dato valore in ingresso (graficamente una freccia che rientra nello stesso stato). Lo stato sn raggiungibile dallo stato sm se esiste una sequenza di valori di ingresso che fa transitare lautoma dallo stato iniziale sm allo stato sn.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 36

AUTOMA RICONOSCITORE DI SEQUENZA 010 Ingresso: bit da esaminare Valori di ingresso: 0, 1 STATI: S1 stato iniziale in cui si analizza il 1 bit immesso S2 stato in cui si analizza il 2 bit immesso (se il 1 corretto) S3 stato in cui si analizza il 3 bit immesso (se i primi due corretti) SF stato che si raggiunge al termine dellanalisi, stato finale in cui non si effettua alcuna analisi USCITA: messaggio riconosciuta o non riconosciuta VU: 0 (non riconosciuta), 1 (riconosciuta)
Tabella di transizione degli stati : VI 0 STATO S1 S2 S2 SF S3 SF 1 SF S3 SF

Tabella di trasformazione delle uscite : VI 0 STATO S1 0 (non riconosciuta) S2 0 (non riconosciuta) S3 1 (riconosciuta)

1 0 (non riconosciuta) 0 (non riconosciuta) 0 (non riconosciuta)

CODICE SORGENTE
// Programma che acquisisce simboli 1 e 0 da tastiera e riconosce la sequenza 010. /* Se si inserisce 1 oppure 00 oppure 011 viene lasciata la flag a 0, va nello Stato Finale, stampa NOK e termina */ // Se i tre bit immessi sono 010 mostra un messaggio OK, transita nello stato finale e termina #include "stdafx.h" using namespace std; #define S1 #define S2 #define S3 0 1 2 /* stato iniziale dell'automa */

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 37

#define SF

/* stato finale dell'automa */

int _tmain(int argc, _TCHAR* argv[]) { int stato; // stato attuale bool flag_seq_ric = 0; // flag sequenza riconosciuta: 0 non riconosciuta ; riconosciuta unsigned int bit; // valore 0 o 1 immesso da tastiera stato = S1; do { // acquisisci un bit do { cout << "\n inserisci un bit"; cin >> bit; } while (bit!= 0 && bit != 1); switch (stato) { case S1: { if (bit == 0) { cout << "\n Transito in S2 "; // prossimo stato stato = S2; flag_seq_ric = 0; // questo reset non cambia il valore iniziale } if (bit == 1) { cout << "\n Transito in SF "; stato = SF; // prossimo stato flag_seq_ric = 0; // questo reset non cambia il valore iniziale } }; break; case S2: { if (bit == 0) { cout << "\n Transito in SF "; // prossimo stato stato = SF; flag_seq_ric = 0; // questo reset non cambia il valore iniziale } if (bit == 1) { cout << "\n Transito in S3 "; stato = S3; // prossimo stato flag_seq_ric = 0; // questo reset non cambia il valore iniziale } }; break; case S3: { if (bit == 0) {

potrebbe essere commentato perche

potrebbe essere commentato perche

potrebbe essere commentato perche

potrebbe essere commentato perche

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 38

cout << "\n Transito in SF "; stato = SF; // prossimo stato flag_seq_ric = 1; // SOLO GIUNTI QUI SI RICONOSCE LA SEQUENZA!!! } if (bit == 1) { cout << "\n Transito in SF "; stato = SF; // prossimo stato flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } }; break; } // end switch } while (stato != SF); // a questo punto si giunti nello stato SF perci si controlla la flag if (flag_seq_ric == 0) { cout << "\n SEQUENZA NON VALIDA !!! "; } else { cout << "\n SEQUENZA VALIDA !!! "; } cout << "\n programma terminato !"; system("PAUSE"); return 0; }

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 39

AUTOMA RICONOSCITORE DI SEQUENZE di START e STOP BIT in un FLUSSO di BIT


Nellambito della comunicazione seriale asincrona di dati lungo una singola linea, si utilizzano tecniche di riconoscimento dei caratteri che indicano l'inizio (START) e la fine (STOP) del messaggio spedito secondo le regole definite nel protocollo di comunicazione. Supponiamo che sia lo START sia lo STOP siano rappresentati dalle sequenze di bit 111, allora si dovr fare in modo che il ricevitore analizzi i singoli bit che riceve e segnali, in qualche modo, la presenza del terzo 1 consecutivo quando questo si presenta. Immaginiamo di dover implementare un programma SW e che sulla linea di comunicazione transiti la seguente sequenza di bit: 00101110100011001100101110010 Tornando alla sequenza di bit riportata come esempio, possiamo notare che i primi quattro bit 0010 fanno in modo che il conteggio arrivi a uno e poi venga riazzerato. Il carattere di START costituito dai tre bit 111 che seguono: da questo momento il ricevitore sapr che i bit che sta ricevendo compongono il reale messaggio. La spedizione sar da considerare conclusa quando saranno rilevati di nuovo tre 1 in fila. Tutti i bit compresi tra le due terne di 1 rappresentano il nostro messaggio. (Nelle trasmissioni seriali asincrone la funzione del riconoscitore implementata ad HW, tramite FlipFlop di tipo D o JK, ed importante perch indica la presenza stessa del messaggio lungo il canale). Vediamo un automa che rileva la presenza di tre 1 consecutivi. Le variabili in gioco sono: I = D dato che sta viaggiando VI = {0,1} U = Controllo: vale 0 se non sono stati riscontrati tre 1 consecutivi 1 se sono stati riscontrati tre 1 consecutivi VU = {0,1} S = {S0, S1, S2, S3 } La numerazione degli stati indica quanti uno di seguito sono gi stati rilevati sino a quel momento. Se con il sistema nello stato S3 si rileva uno 0 il sistema torna allo stato iniziale; se viene letto un altro in pratica il sistema dovrebbe restare nello stesso stato poich ancora sono tre gli uno consecutivi ricevuti. La rappresentazione di questo sistema pu avvenire tramite un automa di Mealy del tipo rappresentato in tabella.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 40

Tabella o Matrice di transizione per automa riconoscitore di START e STOP bit: VI 0 1 STATO S0 S0, 0 S1,0 S1 S0, 0 S2,0 S2 S0, 0 S3,1 S3 S0, 0 S3,1 In questo automa ogni volta che viene letto sulla linea uno 0 si ritorna allo stato S0, mentre se si legge un 1 si passa progressivamente allo stato che segue.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 41

Flow-chart di un riconoscitore di Start e Stop bit in una sequenza di bit: riconosce lo start e lo stop per un messaggio solo. Non implementato secondo il modello ad automa

ESERCIZIO: implementare il relativo codice sorgente SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 42

CODIFICA del riconoscitore di START e STOP bit secondo il modello ad automa


Il programma sorgente riportato esamina pi messaggi consecutivi; per esaminare un solo messaggio bisogna levare i commenti alle istruzioni indicate attualmente commentate
#include "stdafx.h" using namespace std; #define STATO_0 0// lo stato in #define STATO_1 1// lo stato in #define STATO_2 2// lo stato in #define STATO_3 3// lo stato in /* Ogni volta che si riceve uno 0 si passa progressivamente allo stato successivo, a meno che cui sono stati ricevuti 0 uno consecutivi cui stato ricevuto 1 uno cui sono stati ricevuti 2 uno consecutivi cui sono stati ricevuti 3 uno consecutivi si ritorna allo STATO_0, mentre se si legge un 1 non si sia in S3 da cui si ritorna in S1 */

/* la sequenza 1110111 considerata come START 0 STOP */ /* la sequenza 111111 considerata come START STOP */ int _tmain(int argc, _TCHAR* argv[]) { unsigned short int stato = STATO_0; unsigned short int bit; unsigned short int controllo = 0; // assume valore 0 se non sono stati ricevuti 3 uno consecutivi // assume valore 1 se sono stati ricevuti 3 uno bool inizio_msg = 0; bool fine_simulazione = 0; do { do // acquisisci un bit { cout << "\n inserisci un bit"; cin >> bit; } while (bit!= 0 && bit != 1); /* IN QUALUNQUE STATO, se si riceve 0, si va in STATO_0, perci si preferisce scrivere una volta sola, prima dello switch sullo stato attuale, le azioni da svolgere, invece di ripetere lo stesso codice in ogni case */ if (bit == 0) { stato = STATO_0; controllo = 0; } else { // se il bit ricevuto 1 switch (stato) { case STATO_0: { stato = STATO_1; controllo = 0; }; break;

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 43

case STATO_1: { stato = STATO_2; controllo = 0; }; break; case STATO_2: { stato = STATO_3; controllo = 1; if (inizio_msg == 0) { cout << "DAL PROSSIMO BIT COMINCIA IL MSG"; inizio_msg = 1; } else { cout << "IL MESSAGGIO E' TERMINATO TRE BIT FA!"; inizio_msg = 0; //fine_simulazione = 1; // con questa istruzione commentata si possono esaminare pi messaggi consecutivi // con questa istruzione non commentata si esamina un solo messaggio } }; break; case STATO_3: { //cout << "\n sono in S3"; stato = STATO_1; // era STATO_3 controllo = 0; // stesso comportamento se = 0 }; break; } // end switch // chiusura else istruzioni commentate si possono esaminare pi messaggi istruzioni non commentate si esamina un solo messaggio == 1) dal ciclo

// con le due prossime consecutivi // con le due prossime // if (fine_simulazione // break; // esco } while (1);

cout << "\n finito"; system("PAUSE"); return 0; }

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 44

AUTOMI RICONOSCITORI DI PAROLE


Gli automi riconoscitori di parole riconoscono parole appartenenti a un certo linguaggio e formate da simboli appartenenti ad un alfabeto. Gli automi riconoscitori di sequenze sono automi che danno esito positivo qualora una frase rispetti le regole grammaticali di un certo linguaggio, e danno esito negativo in caso contrario. Unapplicazione si ha nei compilatori, interpreti e parser per la verifica delle keywords o degli identificatori. In sintesi: lautoma riconoscitore legge una sequenza in ingreso formata da simboli appartenenti a un certo alfabeto e produce una sequenza di simboli di uscita appartenenti ad un altro alfabeto. La sequenza di uscita determinata dalla sequenza di ingresso e dalla condizione iniziale Luscita allistante t dipende dallo stato iniziale e dalla sequenza degli ingressi fino allistante t. Un automa riconoscitore pu essere utilizzato anche per una normale operazione di ricerca di una parola in una sequenza di caratteri. Il procedimento da seguire sempre lo stesso: gli stati si riferiscono ai passi compiuti verso il riconoscimento della parola e quando l'ingresso rilevato devia dallobbiettivo da raggiungere, si fa in modo che lautoma ritorni allo stato iniziale.

ESEMPIO Riconoscere la parola abb appartenente ad un linguaggio che utilizza un alfabeto di due simboli {a, b} e produce in uscita simboli appartenenti allalfabeto {OK, NOK} Stati = {S1, S2, S3} Tabella o Matrice di transizione per automa riconoscitore di abb: VI a b STATO S1 S2, NOK S1, NOK S2 S2, NOK S3,NOK S3 S2, NOK S1, OK a/NOK b/NOK S1 a/NOK S2

a/NOK b/OK b/NOK

S3

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 45

Allinizio lautoma si trova nello stato S1. Nello stato iniziale S1 se riceve a che pu essere linizio della sequenza, passa in S2; se riceve b come se nulla fosse arrivato e non cambia stato. In S2 (lultimo ingresso valeva a), se riceve ancora una a non cambia nulla, perch potrebbe essere il primo simbolo della sequenza che sta aspettando, mentre se riceve una b passa in S3 perch questo stato il secondo ingresso della sequenza. Nello stato S3 (gli ultimi due ingressi sono stati una b preceduta da una a) se riceve b la sequenza viene riconosciuta dando luscita OK e passa allo stato iniziale, mentre se riceve a torna alla condizione S2 perch la sequenza corretta potrebbe ricominciare.

Con questa implementazione, inserendo la sequenza aababababbabbbaaabbaa verranno riconosciute tre sequenze valide

// automa_ricon_abb.cpp : Defines the entry point for the console application. // #include "stdafx.h" using namespace std; #define S1 #define S2 #define S3 1 2 3 /* stato iniziale dell'automa */

int _tmain(int argc, _TCHAR* argv[]) { int stato; // stato attuale bool flag_seq_ric = 0; // flag sequenza riconosciuta: 0 non riconosciuta ; riconosciuta char car; // carattere minuscolo immesso da tastiera stato = S1; do { // acquisisci un carattere minuscolo do { cout << "\n inserisci un carattere"; cin >> car; } while (car != 'a' && car != 'b');

switch (stato) { case S1: { if (car == 'a') { cout << "\n Transito in S2 "; stato = S2; // prossimo stato flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } if (car == 'b') { cout << "\n resto in S1 "; stato = S1; // prossimo stato

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 46

flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } }; break; case S2: { if (car == 'a') { cout << "\n resto in S2 "; stato = S2; // prossimo stato flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } if (car == 'b') { cout << "\n Transito in S3 "; stato = S3; // prossimo stato flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } }; break; case S3: { if (car == 'a') { cout << "\n Transito in S2 "; // prossimo stato stato = S2; flag_seq_ric = 0; // } if (car == 'b') { cout << "\n Transito in S1 "; stato = S1; // prossimo stato flag_seq_ric = 1; // sequenza riconosciuta cout << "\n SEQUENZA VALIDA !!! "; } }; break; } // end switch } while (1); system("PAUSE"); return 0; }

Lo stesso riconoscitore si pu implementare con un automa la cui matrice di transizione la seguente: Stati = {S1, S2, S3, SF} in cui la logica quella seguita per lautoma riconoscitore di 010. SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 47

Tabella o Matrice di transizione per automa riconoscitore di abb: VI a b STATO S1 S2, NOK SF, NOK S2 SF, NOK S3,NOK S3 SF, NOK SF, OK Nello stato finale SF viene visualizzato il messaggio OK o NOK

a/NOK S1 S2

b/NOK

a/NOK b/NOK a/OK SF

S3

b/OK

e codifica:
#include "stdafx.h" using namespace std; #define #define #define #define S1 S2 S3 SF 1 2 3 4 /* stato iniziale dell'automa */

/* stato finale dell'automa */

int _tmain(int argc, _TCHAR* argv[]) { int stato; // stato attuale char car; // carattere minuscolo immesso da tastiera do // questo do esterno serve a ripetere il programma, ossia il riconoscimento pi volte { // si inizializzano le variabili per ogni riconoscimento bool flag_seq_ric = 0; // flag sequenza riconosciuta: 0 non riconosciuta ; 1 riconosciuta stato = S1; do { // ciclo di riconoscimento di una singola sequenza // acquisisci un bit

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 48

do { cout << "\n inserisci un carattere"; cin >> car; } while (car != 'a' && car != 'b'); switch (stato) { case S1: { if (car == 'a') { cout << "\n Transito in S2 "; stato = S2; // prossimo stato flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } if (car == 'b') { cout << "\n Transito in SF "; stato = SF; // prossimo stato flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } }; break; case S2: { if (car == 'a') { cout << "\n Transito in SF "; stato = SF; // prossimo stato flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } if (car == 'b') { cout << "\n Transito in S3 "; // prossimo stato stato = S3; flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } }; break; case S3: { if (car == 'a') { cout << "\n Transito in SF "; // prossimo stato stato = SF; flag_seq_ric = 0; // questo reset potrebbe essere commentato perche non cambia il valore iniziale } if (car == 'b') { cout << "\n Transito in SF "; stato = SF; // prossimo stato flag_seq_ric = 1; // SOLO GIUNTI QUI SI RICONOSCE LA SEQUENZA!!! } }; break; } // end switch

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 49

} while (stato != SF); // a questo punto si giunti nello stato SF perci si controlla la flag if (flag_seq_ric == 0) { cout << "\n NOK !!! "; } else { cout << "\n OK !!! "; } } while (1); // end ciclo per ripetere la ricerca della sequenza cout << "\n programma terminato !"; system("PAUSE"); return 0; }

ESERCIZIO da SVOLGERE Provate a costruire un automa che, in una sequenza continua di lettere, deve riconoscere la parola CIAO. Partendo dallo Stato iniziale S0 si passer allo stato seguente quando si rilever una C e poi ancora si andr avanti se si ricever in ingresso subito dopo una I; qualsiasi lettere diversa dalla I, dopo la C, far tornare l'automa allo stato iniziale. Continuate cos per tutte le quattro lettere della parola. Luscita sar 0 se il conteggio sar nullo oppure se la parola ancora incompleta; al contrario otterremo 1 in uscita solo se la parola sar stata composta per intero.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 50

ESEMPIO RAPPRESENTARE LASCENSORE che collega i 3 PIANI DELLA SCUOLA Dal punto di vista dellutente si hanno a disposizione: la pulsantiera allinterno dellascensore il pulsante di chiamata ad ogni piano, affianco allingresso dellascensore Per semplicit: ad ogni piano installata una pulsantiera simile a quella interna allascensore. Gli ingressi al sistema sono la pressione su un pulsante. Le uscite (o risposte) osservabili sono le traslazioni tra piani diversi, ossia il movimento di salita o discesa che termina sempre in una nuova situazione di cabina ferma ad un piano; premendo il pulsante corrispondente allattuale piano di sosta ovviamente non si avr cambio di stato (lascensore resta fermo). insieme degli ingressi: insieme dei valori degli ingressi: insieme delle uscite insieme dei valori delle uscite insieme degli stati stato iniziale Tabella di transizione degli stati: VI 0 STATO P0 P0 P1 P0 P2 P0 {Pulsante} {0, 1, 2} { Movimento } { Discesa, Salita, Fermo} {Piano0, Piano1, Piano2} { Piano0 }

1 P1 P1 P1 P2 P2 P2

Tabella di trasformazione delle uscite: VI 0 1 STATO P0 Fermo Salita P1 Discesa Fermo P2 Discesa Discesa Diagramma degli stati: 0/Ferma P0 1/Salita 1/Ferma 2/Salita P1 2/Salita

2 Salita Salita Fermo

0/Discesa 0/Discesa 1/Discesa

2/Ferma SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

P2

Pagina 51

Tabella o Matrice di transizione PER LASCENSORE: VI 0 1 2 STATO P0 P0, Ferma P1, Salita P2, Salita P1 P0, Discesa P1, Ferma P2, Salita P2 P0, Discesa P1, Discesa P2, Ferma Questo sistema combinatorio o sequenziale ? Osservando la tabella si nota che gli stati sono ripetuti nella stessa sequenza in ogni riga. Quando accade ci il sistema combinatorio. Qui dobbiamo stare attenti: siamo in presenza di un automa di Mealy perch pur ottenendo in corrispondenza di ingresso uguale una stessa transizione di stato, le uscite invece dipendono sia dallingresso sia dallo stato precedente ossia il sistema combinatorio.

Esercizio Scrivere un programma C che simuli il comportamento dellascensore, che allinizio pu trovarsi ad un piano qualsiasi (acquisirlo da tastiera). Utilizzare costrutti switch-case. Utilizzare direttive #define per i valori delle variabili di ingresso, di uscita, di stato. // valori dello stato #define PIANO0 0 #define PIANO1 1 #define PIANO2 2 // valori dellingresso #define PIANO_RICH0 0 #define PIANO_RICH1 1 #define PIANO_RICH2 2 // valori delluscita #define FERMO 0 #define DISCESA 1 #define SALITA 2

// variabili del problema unsigned short int stato; // variabile che inizialmente conterr lo stato iniziale (immesso dallutente) // e successivamente evolver unsigned short int input; // piano di destinazione, da immettere unsigned short int output; // uscita, determinate in base allo stato e allinput boolean flag_fine; // flag di fine simulazione, inizializzata a false e testata nel ciclo do-while // viene posta a true se si inserisce uno stato non ammesso. Flow-chart seguente mostra in dettaglio solo un case allinterno dello switch pi esterno. Completare!

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 52

inizio

Inserisci piano iniziale

Leggi il piano iniziale Flag_fine = false;

Switch (stato)
PIANO0 PIANO1 PIANO2 default

A che piano vai ?

Non esiste questo piano

Flag_fine = true

Leggi input

Switch (input) default


PIANORICH0 PIANORICH1 PIANORICH2 Output = SALITA Stato = PIANO2 break; Output = FERMO Stato = PIANO0 break;

Output = FERMO Stato = PIANO0 (*) break;

Output = SALITA Stato = PIANO1 break;

break

break

break

break

Flag_fine= false vero falso

fine

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 53

ESEMPIO RAPPRESENTARE UN SEMPLICE SEMAFORO che commuta da un colore allaltro allo scadere di un tempo prefissato per ciascun colore (avremmo potuto semplificare ponendo tutti i tempi uguali ma non una situazione realistica perch in effetti il giallo dura pochi secondi, e il verde dura pi del rosso lungo una importante strada di comunicazione). Gli ingressi al sistema sono i tempi di permanenza di ciascun colore. Le uscite (o risposte) osservabili sono i cambiamenti di colore. insieme degli ingressi: insieme dei valori degli ingressi: {tempo_di_colore} {TEMPO_VERDE scaduto, TEMPO_GIALLO scaduto, TEMPO_ROSSO scaduto, TEMPO_VERDE non scaduto, TEMPO_GIALLO non scaduto, TEMPO_ROSSO non scaduto } { Colore } { GIALLO, ROSSO, VERDE} { GIALLO, ROSSO, VERDE} { GIALLO }

insieme delle uscite insieme dei valori delle uscite insieme degli stati stato iniziale

Tabella di transizione degli stati: VI TEMPO_GIALLO TEMPO_ROSSO scaduto scaduto STATO -GIALLO ROSSO -VERDE ROSSO --VERDE

TEMPO_VERDE scaduto --GIALLO

TEMPO_G non scaduto GIALLO ---

TEMPO_R non scaduto -ROSSO --

TEMPO_V non scaduto --VERDE

Tabella di trasformazione delle uscite: TEMPO_GIALLO TEMPO_ROSSO TEMPO_VERDE TEMPO_G VI scaduto scaduto scaduto non scaduto STATO ROSSO --GIALLO GIALLO -VERDE -ROSSO --GIALLO -VERDE TEMPO_GIALLO non scaduto/GIALLO

TEMPO_R non scaduto -ROSSO --

TEMPO_V non scaduto --VERDE

TEMPO_ROSSO non scaduto/ROSSO TEMPO_GIALLO scaduto /ROSSO ROSSO

GIALLO GIAL LO

TEMPO_VERDE scaduto /GIALLO

TEMPO_ROSSO scaduto/VERDE

TEMPO_VERDE non scaduto/VERDE

VERDE

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 54

Inizio

Stato = GIALLO

tempo = TEMPO_GIALLO

Tempo non scaduto F switch (stato)

GIALLO

ROSSO stato = VERDE accendi VERDE tempo = TEMPO_VERDE

VERDE

stato = ROSSO accendi ROSSO tempo = TEMPO_ROSSO

stato = GIALLO accendi GIALLO tempo = TEMPO_GIALLO

True (loop infinito)

Il precedente flow-chart mostra un programma funzionante che, una volta in esecuzione, gira allinfinito (il ciclo do while sempre vero) e quindi, a rigore, non un algoritmo perch non ha un punto di fine. Come si pu modificare perch lo sia? think about !!! (ad esempio impostando un tempo di simulazione massimo per cui il programma giri; oppure chiedendo alloperatore, in ogni case, se vuol terminare la simulazione e testando la variabile associata nel do while). Per impostare i tempi di ogni colore, potete utilizzare la funzione sleep() come spiegatovi in laboratorio, invece che implementare il loop di attesa realizzato con time(NULL).
#include "stdafx.h" using namespace std; #define TEMPO_GIALLO 5 #define TEMPO_ROSSO 10

// in secondi

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 55

#define TEMPO_VERDE 15 #define GIALLO 0 #define ROSSO 1 #define VERDE 2 int _tmain(int argc, _TCHAR* argv[]) { unsigned short int stato; // pu assumere i valori GIALLO, ROSSO, VERDE unsigned short int colore; // uscita visibile long int tempo_finale = time(NULL) + TEMPO_GIALLO; // tempo di sistema alla fine dell'attesa inizializzato con il tempo del giallo stato = GIALLO; cout << "\n stato iniziale!" << stato << endl; do { while ( time(NULL) < tempo_finale); // ciclo di attesa per il tempo impostato switch (stato) { case GIALLO: { stato = ROSSO; cout << "\n ROSSO!" << endl; tempo_finale = time(NULL)+ TEMPO_ROSSO; }break; case ROSSO: { stato = VERDE; cout << "\n VERDE!" << endl; tempo_finale = time(NULL)+ TEMPO_VERDE; }break; case VERDE: { stato = GIALLO; cout << "\n GIALLO!" << endl; tempo_finale = time(NULL)+ TEMPO_GIALLO; }break; } } while (1); system ("PAUSE"); return 0; }

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 56

ESEMPIO LINSEGNA DI UN BAR, COMPOSTA DELLE TRE LETTERE B A R HA UN DISPOSITIVO DI ILLUMINAZIONE CHE FA ACCENDERE OGNI 5 SECONDI IN ORDINE LE TRE LETTERE. QUANDO LA SCRITTA BAR E COMPLETAMENTE ACCESA, DOPO 5 SECONDI SI SPEGNE DEL TUTTO, TORNANDO COSI ALLO STATO INIZIALE. ANALIZZARE IL SISTEMA E COSTRUIRE IL DIAGRAMMA DEGLI STATI E LE DUE TABELLE DI TRANSIZIONE DEGLI STATI E DI TRASFORMAZIONE DELLE USCITE. Lingresso al sistema il timer che ogni 5 secondi invia un segnale. Lassenza di segnale associata al valore 0; la presenza del segnale associata al valore 1. Le uscite (o risposte) sono le tre luci (una posta in ogni lettera). I valori delle uscite osservabili sono i cambiamenti nellinsegna. Per convenzione indichiamo con X la/e lettera/e spenta nellinsegna insieme degli ingressi: insieme dei valori degli ingressi: insieme delle uscite insieme dei valori delle uscite insieme degli stati stato iniziale {timer} {0 , 1 } // rispettivamente segnale assente, segnale presente { Luce1, Luce2, Luce3 } { XXX, BXX, BAX, BAR } { XXX, BXX, BAX, BAR } { XXX } // tutte le lettere spente

Tabella di transizione degli stati: Timer Timer VI 0 1 STATO XXX BXX XXX BXX BAX BXX BAX BAR BAX BAR XXX BAR Tabella di trasformazione delle uscite: (uguale alla precedente) Si lascia per esercizio il diagramma degli stati e la codifica del programma C che rappresenta il comportamento del sistema (riferirsi, per similitudine, allesempio del semaforo). File: automa_insegna_bar

ULTERIORE ESEMPIO (Simile al precedente, con uno stato in pi) LINSEGNA DI UN BAR, COMPOSTA DELLE TRE LETTERE B A R HA UN DISPOSITIVO DI ILLUMINAZIONE CHE FA ACCENDERE OGNI 5 SECONDI IN ORDINE LE TRE LETTERE. QUANDO LA SCRITTA BAR E COMPLETAMENTE ACCESA, DOPO 5 SECONDI LAMPEGGIA E POI, DOPO ALTRI 5 SECONDI SI SPEGNE DEL TUTTO, TORNANDO COSI ALLO STATO INIZIALE. ANALIZZARE IL SISTEMA E COSTRUIRE IL DIAGRAMMA DEGLI STATI E LE DUE TABELLE DI TRANSIZIONE DEGLI STATI E DI TRASFORMAZIONE DELLE USCITE. Sviluppare completamente lesercizio, compresa la codifica. File: automa_insegna_bar_lamp SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 57

ESEMPIO LILLUMINAZIONE DI UNA STANZA E COSTITUITA DA DUE LAMPADE L1 E L2 E SU DI ESSE AGISCONO 3 INTERUTTORI I1, I2, I3. I1 AGISCE SU L1 I2 AGISCE SU L2 I3 AGISCE SU ENTRAMBE LE LAMPADE Assunzione: ogni volta si pu premere un solo tasto e le configurazioni permesse per gli ingressi prevedono un solo interruttore premuto su ON. insieme degli ingressi: {I1, I2, I3} insieme dei valori degli ingressi: {NNN, NNP, NPN, PNN} //P sta per premuto insieme delle uscite {L1, L2, L3} insieme dei valori delle uscite {(Spento,Spento),(Spento,Acceso),(Acceso,Spento),(Acceso,Acceso) } insieme degli stati coincide con i valori delle uscite stato iniziale { (Spento,Spento) }

Tabella di transizione degli stati: VI NNN NNP NPN STATO (Spento,Spento) (Spento,Spento) (Acceso,Acceso) (Spento,Acceso) (Spento,Acceso) (Spento,Acceso) (Acceso,Spento) (Spento,Spento) (Acceso,Spento) (Acceso,Spento) (Spento,Acceso) (Acceso,Acceso) (Acceso,Acceso) (Acceso,Acceso) (Spento,Spento) (Acceso,Spento) Tabella di trasformazione delle uscite: coincide con la precedente

PNN (Acceso,Spento) (Acceso,Acceso) (Spento,Spento) (Spento,Acceso)

Dire in quale stato si troveranno alla fine del processo le lampade, premendo gli interruttori secondo la sequenza di ingressi indicata di seguito: I1, I1, I2, I3, I3, I2, I2, I2, I3, I2, I1

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 58

ESEMPIO LILLUMINAZIONE DI UNA STANZA E COSTITUITA DA TRE LAMPADE L1, L2 E L3 e SU DI ESSE AGISCONO 2 INTERUTTORI I1 e I2. I1 AGISCE SU L1 e L2 contemporaneamente. I2 AGISCE SU L3 solo se le prime 2 sono gi entrambe accese. insieme degli ingressi: insieme dei valori degli ingressi: insieme delle uscite insieme dei valori delle uscite insieme degli stati stato iniziale {I1, I2, } {NN, NP, PN, PP} //P sta per premuto; N non premuto {L1, L2, L3} {(S,S,S),(A,A,S),(A,A,A),(S,S,A) } coincide con i valori delle uscite { (Spento,Spento,Spento) }

Assunzione: ogni volta possibile premere i due tasti, nellordine I1 e poi I2 (leffetto provocato da I2 si basa sullo stato di ingresso di L1 e L2). Tabella di transizione degli stati: VI NN NP PN STATO (S,S,S) (S,S,S) (S,S,S) (A,A,S) (A,A,S) (A,A,S) (A,A,A) (S,S,S) (A,A,A) (A,A,A) (A,A,S) (S,S,A) (S,S,A) (S,S,A) (S,S,A) (A,A,A) Tabella di trasformazione delle uscite: coincide con la precedente

PP (A,A,S) (S,S,A) (S,S,S) (A,A,A)

NN NP PN PP

(S,S,S)

PN PN

NN NP (S,S,A)

NN

(A,A,S) PP

PP

NP NP

PP PN (A,A,A)

NN SISTEMI Classe III I.T.I.S. VOLTA A.Mastore Pagina 59

Dire in quale stato si troveranno alla fine del processo le lampade, premendo gli interruttori secondo la sequenza di ingressi indicata di seguito: I2, I1, I1, I2, I2, I1, I1, I1, I2, I2, I2, I1, I2.

SISTEMI Classe III I.T.I.S. VOLTA A.Mastore

Pagina 60