Comments
Description
Transcript
Esercizi sul controllo supervisivo
Esercizio 1 Si disegni la rete di Petri con matrice di incidenza: −1 0 1 0 −1 0 0 1 1 −1 0 0 0 1 −1 0 0 1 0 −1 T e marcatura iniziale M0 = 1 1 0 0 0 . Verificare se la sequenza di scatto t1t2t3t4 è ammissibile a partire dalla marcatura iniziale e, in caso affermativo, calcolare la marcatura finale. Esercizio 2 Si disegni la rete di Petri con matrice di incidenza: −1 −1 0 0 −1 1 0 0 0 0 1 −1 0 0 −1 1 Si illustri il procedimento di sintesi del supervisore con vincoli di mutua esclusione generalizzati e se ne esemplifichi l’applicazione nel caso in cui la rete di Petri assegnata abbia marcatura iniziale T M0 = 1 0 1 0 e si desideri che M (2) + M (4) ≤ 1. Si dia una interpretazione fisica al modello e al vincolo considerato. Esercizio 3 Si determini lautoma C = A||B ottenuto mediante composizione concorrente degli automi in fig. 1: A1 A2 B1 B2 s1 r1,f2 f1 g1 r1 g1 B A3 A Figura 1: Automa A ed automata B Verificare se l’automa C è rifinito. Sol: L’automa C in fig. 2 ha sei stati (massimo numero di stati). Tuttavia, gli stati A1B2, A2B2 non sono raggiungibili, mentre lo stato A3B1 non è co-raggiungibile, pertanto C non è rifinito. Esercizio 4 Nell’ipotesi che gli automi A e B degli esercizi precedenti descrivano il funzionamento di due processi, si determini il supervisore monolitico. 1 A1B1 f2 A2B1 s1 f1 f2 g1 r1 s1 A3B2 A2B2 A1B2 A3B1 f1 f2 C Figura 2: Automa C = A||B Non sono presenti nè specifiche statiche nè specifiche dinamiche. L’automa C = A||B è controllabile ma non rifinito; eliminando da C gli stati A1B2, A2B2 e A3B1, si ottiene un automa controllabile che, pertanto, è il supervisore monolitico. Si noti che il supervisore ottenuto si limita a inibire l’evento controllabile f2 in tutte le condizioni di funzionamento. Esercizio 5 Si considerino gli automi in fig. 3 in cui A rappresenta una macchina caratterizzata dagli stati A1 (ferma), A2 (in lavorazione) e A3 (guasta), B rappresenta una macchina caratterizzata dagli stati B1 (ferma) e B2 (in lavorazione), e Sp rappresenta una specifica dinamica caratterizzata dagli stati N (macchina A funzionante) e G (macchina A guasta) che fa in modo che la macchina B possa lavorare solo quando la macchina A è guasta. Si individui il supervisore monolitico. A1 A2 B1 B2 s1 s2 f1 f2 N G r1 s2 r1 s1 g1 g1 B Sp A3 A Figura 3: Automi A, B, Sp Sol: L’automa F = A||B||Sp in fig. 4 presenta sei stati (quelli raffigurati a destra) che non sono nè raggiungibili nè co-raggiungibili. Eliminando tali stati, F si riduce all’automa a 6 stati raffigurato a sinistra che, essendo controllabile e rifinito, coincide con il supervisore monolitico. 2 f2 A1B1N A2B1N s1 A1B1G f2 A2B2N A1B2G f2 f1 f1 s2 f1 A2B2G g1 r1 A2B1G g1 s1 f1 f2 s2 A3B1G s2 f2 A3B1N A3B2G r1 A3B2N A1B2N f2 Figura 4: Automa F = A||B||Sp Esercizio 6 Si trovi il supervisore monolitico per l’esercizio precendente nell’ipotesi di considerare anche una specifica statica che impone che le macchine A e B non possano mai lavorare contemporaneamente. Sol: L’automa ottenuto nell’esercizio precedente è controllabile e rifinito ma, in base alla specifica statica, lo stato A2B2N non è illegale; dopo l’eliminazione di tale stato, il nuovo automa F in fig. 5 risulta rifinito e controllabile e pertanto è il supervisore. f2 A2B1N s1 f1 g1 s2 A3B1G f2 A3B2G r1 A1B2G Figura 5: Automa F rifinito Esercizio 7 Per i due automi A e B in fig. 3, si trovi il supervisore monolitico in assenza della specifica dinamica Sp e in presenza della specifica statica che impone che le macchine A e B non possano mai lavorare contemporaneamente. 3 Sol: Eliminando lo stato A2B2 dall’automa P = A||B, si ottiene l’automa F in fig. 6 che, essendo controllabile e rifinito, è il supervisore monolitico. Il supervisore ottenuto consente alla macchina B di lavorare anche quando la macchina A non è guasta ma è semplicemente inattiva (transione dallo stato A1B1 a A1B2). r1 A1B1 A2B1 s1 g1 A3B1 f1 s2 f2 f2 s2 r1 A1B2 A3B2 Figura 6: Esercizio 8 Si risolva l’esercizio precedente utilizzando le reti di Petri come modello e realizzando la specifica statica con un vincolo di tipo GMEC. B1 A1 f2 s2 f1 s1 r1 A2 W1 B2 g1 A3 Figura 7: Sol: Le due macchine possono essere di incidenza: −1 1 0 0 0 rappresentate mediante la rete di Petri in fig. 7 con matrice 1 0 1 0 0 −1 −1 0 0 0 0 1 −1 0 0 0 0 0 −1 1 0 0 0 1 −1 4 T e marcatura iniziale M0 = 1 0 0 1 0 , dove ogni nodo degli automi A e B corrisponde a un posto della rete, l’ordine dei posti è A1,A2,A3,B1,B2 e quello delle transizioni s1, f1, g1, r1, s2, f2. Il vincolo statico si traduce nella disuguaglianza M(A2) + M (B2) ≤ 1. Il supervisore consiste in un posto di controllo con matrice di incidenza cc = −1 1 1 0 −1 1 e marcatura iniziale mc = 1 come mostrato in fig. 8. pC B1 A1 f2 s2 f1 s1 r1 A2 W1 B2 g1 A3 Figura 8: Esercizio 9 Si consideri il sistema in fig. 9 costituito da 3 pompe (P1,P2,P3) e da un serbatoio di accumulo di acqua piovana. Le tre pompe devono immettere l’acqua in una condotta posta al di sopra del livello del serbatoio. Se l’acqua nel serbatoio è al di sotto del livello l1 bisogna tenere spente le pompe. Se l’acqua nel serbatoio raggiunge il livello l1 bisogna accendere solo una pompa. Se l’acqua nel serbatoio raggiunge il livello l2 bisogna accendere due pompe. Se l’acqua nel serbatoio raggiunge il livello l3 bisogna accendere tutte le pompe. Al fine di mantenere in perfetta efficienza le tre pompe, si richiede di modellare le specifiche di un supervisore che cerchi di utilizzarle tutte e tre in maniera pressochè uguale. Dal punto di vista del supervisore il comportamento della pompa è supposto essere modellato dall’automa in fig. 10 ove si rappresenta l’accenzione della pompa, stopi lo spegnimento della pompa, gi un guasto generico, ri la riparazione del guasto. Sol: Si riporta in fig. 11 la specifica per l’accenzione delle tre pompe in base al livello dell’acqua nel serbatoio. Si riporta in fig. 12 la specifica per l’utilizzo alternativo delle tre pompe. Si riporta in fig. 13 il livello di comando (i segnali g1 e r1 sono assenti in quanto non utilizzati e il segnale absi rappresenta l’abilitazione del segnale si da parte del supervisore). Esercizio 10 Modificare la specifica precedente per consentire, nel caso una pompa fosse guasta, di avviare la successiva in base alla schedulazione prevista per il funzionamento ordinario. Esercizio 11 Si consideri una cella robotizzata composta da un macchina M 1, una macchina M 2, un nastro trasportatore per il trasporto di pezzi grezzi all’interno della cella, un nastro trasportatore per 5 l3 l2 l1 P3 P2 P1 Figura 9: A1i A2i si stopi ri gi A3i Figura 10: s1 l1↑ ↑ s2 s1 l2↑ ↑ s2 s3 l1↓ ↓ s1 l3↑ ↑ s2 s3 s3 l2↓ ↓ l3↓ ↓ Figura 11: 6 s1 s2 stop1 stop2 s3 stop3 s2 s3 s1 stop2 stop3 stop1 s1 s2 s3 stop3 stop1 stop2 Figura 12: f01 f11 absi l1↑ ↑ l1↓ ↓ f02 si N f12 aux f12.X tempi1 l2↑ ↑ f13.X tempi2 l2↓ ↓ f14.X tempi3 f13 aux l3↑ ↑ TR1 f14 f03 stopi l3↓ ↓ 1 TRANSITION TR1:=(tempi1 AND l1↓ ↓ ) OR (tempi2 AND l2↓ ↓ ) OR (tempi3 AND l3↓ ↓) Figura 13: 7 END_TRANSITION il trasporto dei pezzi finiti all’esterno della cella, un buffer temporaneo di capacità nove ed un robot R per la movimentazione dei pezzi all’interno della cella. La cella ha il seguente funzionamento: • se la macchina M 1 è libera ed il robot è libero, allora il robot preleva il pezzo grezzo dal nastro e lo carica sulla macchina M 1; • la macchina esegue l’operazione 1 sul pezzo; • ad operazione terminata la macchina M 1 resta in attesa per il deposito del pezzo semilavorato nel buffer temporaneo; • se il robot è libero ed il buffer non è pieno il robot preleva il pezzo e lo deposita nel buffer; • i pezzi depositati nel buffer vengono prelevati dal robot se esso e la macchina M 2 sono liberi; • la macchina M 2 esegue l’operazione 2 sul pezzo semilavorato; • ad operazione terminata la macchina M 2 resta in attesa per il deposito del pezzo lavorato sul nastro di uscita; • una volta depositato sul nastro di uscita il pezzo viene condotto all’esterno della cella. I singoli sottosistemi M 1, M 2 ed R sono supposti localmente controllati e al livello dell’architettura di controllo destinato alla coordinazione delle macchine (il livello in cui vengono di solito utilizzate le PN) sono disponibili i seguenti segnali: segnali di abilitazione per il livello locale di controllo c1 carica in M1 il pezzo dal nastro di ingresso c2 carica in M2 un pezzo dal buffer s1 deposita nel buffer un pezzo lavorato da M1 s2 deposita su nastro di uscita un pezzo lavorato da M2 segnali di ingresso (eventi) dal livello locale di controllo fc1 fine caricaM1 fc2 fine caricaM2 fs1 fine deposito1 fs2 fine deposito2 Si suggerisce di utilizzare un modello a reti di Petri in modo da modellare con un vincolo di mutua esclusione generalizzata l’unicità della risorsa robot. Inoltre, si suggerisce di modellare con un posto il numero di slot liberi del buffer e con un altro posto il numero di slot occupati. Sol: In fig. 14a) si riporta il modello a reti di Petri della cella. In fig. 14b) si riporta il modello a reti di Petri della cella controllata. Il posto monitor R è stata ottenuto imponento la specifica M (C1 ) + M (C2 ) + M (S1 ) + M (S2 ) ≤ 1. In fig. 14c) si riporta il modello del supervisore. Esercizio 12 In un laboratorio di pasticceria un forno consente di cuocere torte con due diverse modalità. Nella prima modalità si producono torte ad alta temperatura: l’inizio e il completamento di una lavorazione di questo tipo indicato dagli eventi a1 e b1. Nella seconda modalità si producono torte a bassa temperatura: l’inizio e il completamento di una lavorazione di questo tipo è indicato 8 slotoccupati AC2 AC1 AC2 AC1 c1 c2 c1 c2 C1 C2 C1 C2 fc2 fc1 AS1 AS2 AS1 AS2 s1 s2 s1 s2 fc1 R S2 S1 fs1 a) fc2 R S2 S1 fs2 fs2 fs1 slotliberi 9 slotoccupati c2 c1 fc1 b) R fc2 s1 s2 fs1 fs2 slotliberi 9 c) Figura 14: 9 dagli eventi a2 e b2. Inoltre, una volta iniziata una lavorazione a bassa temperatura l’operatore ha la possibilità azionando un pulsante (evento c) di fornire al forno ulteriore energia; ciò fa aumentare la temperatura fino a raggiungere una soglia (evento d) che porta ugualmente ad una condizione di lavorazione ad alta temperatura. L’automa in fig. 15 descrive tale processo. Si determini un automa che rappresenti la seguente specifica: al massimo due lavorazioni a bassa temperatura possono venir completate consecutivamente, mentre non è possibile completare consecutivamente due lavorazioni ad alta temperatura; inoltre la prima lavorazione deve essere a bassa temperatura. Si determini se la specifica determinata sia controllabile e si determini un supervisore monolitico S massimamente permissivo in grado di garantire il soddisfacimento della specifica. A1 A2 a1 b1 b2 a2 d c A3 A4 Figura 15: Sol: In fig. 16 si è riportato l’ automa che modella la specifica nonchè l’ automa ottenuto dalla composizione concorrente della specifica con l’ automa del processo che risulta essere un automa rifinito e controllabile. Pertanto, esso è il supervisore per la specifica assegnata. Esercizio 13 Una linea di produzione costituita da quattro macchime Mi per i = 1..4 come mostrato in fig. 17. Le parti sono inviate alla linea dall’esterno inizialmente alla macchina M1 o M2. Dalla macchina M1 le parti vengono poi inviate alternativamente al buffer di attesa B1 e B2, mentre dalla macchina M2 vengono tutte inviate al buffer B2. Le parti in attesa in attesa nel buffer B1 vengono lavorate dalla macchina M3 mentre quelle in attesa nel buffer B2 vengono lavorate dalla macchina M4. Dopo aver lasciato le macchine M3 e M4, infine le parti vengono inviate al reparto successivo. Ogni macchina pu processare una parte alla volta, il buffer B1 ha capacità 2 e, infine, il buffer B2 ha capacità 3. Si descriva questo sistema mediante una rete di Petri. Si suggerisce di modellare i vincoli sulla limitatezza delle risorse come GMEC e di considerare un ciclo costituto da 2 posti per l’ utilizzo alternativo dei buffer di attesa B1 e B2 da parte della macchina M1. Il sistema è limitato? Sol: In fig. 18 si riporta il modello a reti di Petri della linea senza controllo. In fig. 19 si riporta il modello a reti di Petri della linea controllata. Esercizio 14 Si desidera controllare la rete di Petri in fig. 20 in modo da garantire che non venga mai violato il vicolo M (p3 ) + M (p6 ) ≤ 2. 10 S A1 b1 A2 a1 S4 b1 b1 b2 a2 a1 d S1 b2 a2 S5 a2 b2 a1 S8 c A3 S2 A4 S7 S3 c P S6 b1 S||P b1 b1 S4A2 a1 S1A1 b2 a2 a2 S5A3 b2 a1 S8A2 S2A3 S7A1 S3A1 c S6A4 b1 d S6A2 Figura 16: M1 B1 B2 M2 Figura 17: 11 M3 M4 t1 p1 t2 M1 p2 t3 B1 p3 t4 M3 t9 t5 p4 t6 p5 t7 B2 M2 p6 t8 M4 Figura 18: 2 t1 p1 t2 M1 p2 t3 B1 p3 t4 M3 t9 3 t5 p4 M2 t6 p5 B2 Figura 19: 12 t7 p6 M4 t8 Si rappresenti tale vincolo sotto forma di GMEC (w, b). Nell’ipotesi in cui tutte le transizioni siano controllabili si determini il posto monitor che impone la GMEC data e la corrispondente rete a ciclo chiuso. Si assuma, per il resto dell’esercizio, che l’insieme delle transizioni non controllabili sia T uc = {t2, t4}. Si verifichi che in tal caso il monitor precedentemente determinato non è controllabile. Determinare almeno un monitor controllabile che imponga comunque il soddisfacimento della GMEC originaria. Quanto vale la corrispondente GMEC? Che forma assume il sistema a ciclo chiuso? p1 t1 p2 t2 p3 t4 p4 t3 p6 t5 p5 Figura 20: Sol: (w, b) = ( 0 0 1 0 0 1 , 2) La matrice di incidenza della rete è −1 0 0 0 1 1 −1 0 0 0 0 1 0 −1 0 0 0 −1 0 1 0 0 1 0 1 0 0 0 1 −1 Pertanto, se tutte le transizioni sono controllabili, il posto monitor risulta avere matrice di incidenza cc = 0 −1 0 0 1 e marcatura iniziale pari a 2 come mostrato in fig. 21. Esso risulta essere non controllabile. Si consideri il vincolo (w, b) = ( 0 1 1 0 0 1 , 2) più restrittivo del precedente, il posto monitor associato risulta avere matrice di incidenza cc = −1 0 0 0 1 e marcatura iniziale pari a 2 come mostrato in fig. 22. Esso risulta essere controllabile. 13 p1 t1 p2 t2 p3 t4 p4 t3 p6 t5 p6 t5 p5 p4 Figura 21: p1 t1 p2 t2 p3 t4 p4 t3 p5 p4 Figura 22: 14