- userLoginStatus
Welcome
Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.
Computer Engineering - Automazione Industriale
Full exam
Appello di “Sistemi a Eventi Discreti” – 25 gen 2023 – Traccia della soluzione Proff. L. Ferrarini e L. Piroddi 1/4 • Riportare in alto su ogni foglio protocollo Cognome, Nome, Codice Studente e Firma • Non riportare sulla stessa pagina risposte a domande di esercizi diversi. • Non si possono consultare libri, appunti, dispense, ecc. • Si raccomandano chiarezza, precisione e concisione nelle risposte. • E’ possibilire scrivere le risposte a matita ESERCIZIO 1 – Si consideri la rete di Petri di seguito rappresentata. t2 t3 p1 p2 p3 t1 t4 1.1) Determinare la matrice di incidenza della rete. -1 +1 -1 +1 +1 -1 -1 0 0 0 +1 -1 1.2) Dire se la rete è un grafo marcato, una macchina a stati, una rete a scelta libera. Nessuna delle tre (vedi arco p 1→t 3). 1.3) Tracciare il grafo di raggiungibilità. L’albero di raggiungibilità (da cui si può facilmente ottenere il grafo) è riportato in figura, con a lato le rispettive marcature. M 0 = [ 2 0 0 ] T M 1 = [ 1 1 0 ] T M 2 = [ 0 2 0 ] T M 3 = [ 0 0 1 ] T M 4 = [ 1 0 0 ] T M 5 = [ 0 1 0 ] T 1.4) Dire, motivando sinteticamente la risposta, se la rete è limitata, reversibile, viva. La rete è non viva, limitata e non reversibile. Non esistono marcature morte. Appello di “Sistemi a Eventi Discreti” – 25 gen 2023 – Traccia della soluzione Proff. L. Ferrarini e L. Piroddi 2/4 1.5) Calcolare i P-invarianti minimi della rete. Non ce ne sono 1.6) Si dica, motivando la risposta, se la rete è conservativa e strettamente conservativa. Non è conservativa, quindi nemmeno strettamente conservativa 1.7) Calcolare un sifone per la rete data. {p1, p2, p3} 1.8) Dire cosa cambierebbe nel grafo di raggiungibilità e nelle proprietà della rete se la marcatura iniziale fosse [ 1 0 0 ]’. Poiché non è cambiata la topologia, la tipologia della rete non muta. L’albero di raggiungibilità è contenuto in quello di prima, visto che la nuova marcatura iniziale coincide con una di quelle trovate in precedenza (M 4). La rete è non viva, limitata e reversibile. Non esistono marcature morte. ESERCIZIO 2 2.1) Scrivere il programma SFC che controlla la sbarra di accesso a un parcheggio ove si entra tramite badge. L’accesso è bidirezionale, quindi vi sono due lettori di badge, uno per ogni lato della sbarra. Quando il guidatore attiva il lettore di badge, se il badge è riconosciuto la sbarra deve alzarsi, per poi riabbassarsi quando il veicolo è passato; se invece il badge non è riconosciuto, la sbarra deve restare abbassata, deve suonare per 1s un cicalino, poi il sistema deve rimettersi in attesa del badge. E’ presente un sensore di presenza veicolo ad ogni lato della sbarra, in modo che si possa determinare quando un veicolo arriva in prossimità di essa e quando l’abbandona. Per semplicità non si considerino i sensori di fine corsa della sbarra (si forniscono solo comandi impulsivi per alzare ed abbassare la sbarra). Se due veicoli arrivano contemporaneamente alla sbarra, uno per entrare e l’altro per uscire, deve essere data priorità al veicolo in uscita. Non è richiesto, sempre per semplicità, d’impedire che due veicoli entrino passando l’uno subito dietro l’altro. S’ignorino eventuali inserimenti di badge che avvengono a sbarra alzata. Appello di “Sistemi a Eventi Discreti” – 25 gen 2023 – Traccia della soluzione Proff. L. Ferrarini e L. Piroddi 3/4 La tabella seguente riassume i comandi e le misure utilizzabili: AbbassaSbarra comando impulsivo per abbassare la sbarra AlzaSbarra comando impulsivo per alzare la sbarra AvviaVerificaBadge comando impulsivo per avviare la procedura di verifica dell’ultimo badge inserito Comand i Cicalino comando per far suonare il cicalino InseritoBadgeLatoX variabile che segnala la presenza di un badge nel lettore sul lato X (X = 1, 2) FineVerificaBadge variabile che segnala il termine della procedura di verifica di un badge BadgeOK variabile che segnala l’esito dell’ultima verifica di un badge Misure SensoreVeicoloLatoX sensore posto sul lato X (X = 1, 2) della sbarra, che dà in uscita 1 quando è ricoperto da un veicolo Nella figura di seguito è mostrata una possibile soluzione. A valle del passo 1 c’è una OR divergenza in mutua esclusione con priorità. La sequenza di t 3 - p 4 - t 4 serve per assicurarsi che l’auto entrata dal lato 1 abbia oltrepassato la sbarra andando a verificare il sensore opposto (in alternativa, basta controllare il sensore presenza lato 1 con un timer). Lo stesso dicasi per t 9 - p 8 - t 10 NB: il timer sulle transizione 6 e 12 può essere espresso come t/X6/1s e t/X12/1s. 2.2) Discutere come potrebbe essere completato il codice di controllo per gestire il caso in cui un veicolo voglia entrare con parcheggio pieno, facendo scattare una luce rossa per avvisare il guidatore di conseguenza. Chiaramente, ci vorrebbe un contatore di auto presenti (facile da fare poichè sappiamo quando un’auto entra/esce). Il contatore va incrementato di 1 quando entra un’auto (ad es., a valle di t 4 e prima di tornare nel passo 1) e decrementato di 1 quando esce un’auto (ad es., a valle di t 10 e prima di tornare nel passo 1). Nel passo 1 (oppure in uno schema SFC a parte) si può valutare il valore del contatore (OR divergenza) e accendere o spegnere la luce rossa di conseguenza. Inizializzare il contatore fuori al ciclo principale, ad es. in un ipotetico passo 0. Appello di “Sistemi a Eventi Discreti” – 25 gen 2023 – Traccia della soluzione Proff. L. Ferrarini e L. Piroddi 4/4 ESERCIZIO 3 Si vuole automatizzare un lasciapassare per muletti in un capannone attraverso un PLC. Il sistema deve funzionare nel modo seguente: • Per far sollevare il cancelletto, deve essere premuto un pulsante ALZA sul telecomando per almeno 2s (ALZA = 1), in modo da evitare che accidentali pressioni del pulsante possano far alzare inavvertitamente la sbarra. • Quindi, se il pulsante ALZA viene rilasciato prima dei 2s la sbarra non si deve alzare. • Dopo che il pulsante ALZA è stato premuto per 2s, la sbarra si alza (MOT_SU = 1) fino alla posizione del sensore di fine corsa (FC = 1), dove la sbarra si arresta (MOT_SU = 0). • Trascorsi 20s in cui la sbarra è ferma nella posizione alzata, la sbarra comincia ad abbassarsi (MOT_GIU = 1) fino alla posizione del sensore di inizio corsa (IC = 1) dove si arresta (MOT_GIU = 0). 3.1) Realizzare un programma LD che implementi questa funzionalità, assumendo che il PLC abbia gli ingressi ALZA, IC e FC e le uscite MOT_SU e MOT_GIU. Un semplice soluzione è la seguente: ALZA IC T1 L MOT_SU T2 L MOT_GIU T1 2S FC U MOT_SU T2 20S IC U MOT_GIU