Automazione Industriale a.a. 2002/2003
1
ESERCIZIO 1Sia data la rete di Petri
P1
P3
P4
P2T1T3
T2
P5
T6
4
2
1
3
1
1 P6
1
5
11 1
11
T4
T5P7
1T7
T9
P8
2
1
1
1
1
T8
P91
1
1a. Dire quali sono, con la marcatura indicata, le transizioni abilitate e quelle eventualmente inconflitto.
1b. Dire, a partire dalla marcatura indicata, quali sono le marcature che la rete può raggiungerese scattano tutte le transizioni abilitate.
ESERCIZIO 2Sia data la rete di Petri
P1P3
P4P2
T1
T3T4
T2
21
23
1
1
11
1
4
dove la marcatura mostrata è quella iniziale.
2a. Scrivere le matrici d'ingresso, d'uscita e d'incidenza2b. Scrivere il vettore marcatura iniziale2c. Scrivere il sistema di equazioni che calcola i P-invarianti2d. Scrivere il sistema di equazioni che calcola i T-invarianti
ESERCIZIO 3Data la matrice d'incidenza
−−
−−
−
=
0110
0023
2001
1011
0120
C
3a. Disegnare la rete di Petri corrispondente.3b. Dire se il vettore x=[2 5 0 1 6]' è o meno un P-invariante di questa rete.
Automazione Industriale a.a. 2002/2003
2
ESERCIZIO 4Sia data la rete di Petri
P1
P3
P4P2T1
T3
T4T2
P5T6
T5
4a. Determinare, per l'insieme di posti {P1,P3,P5}, l'insieme delle transizioni di preset el'insieme delle transizioni di postset.
4b. Sulla base di ciò, dire se2b.1. l'insieme di posti {P1,P3,P5} è un sifone2b.2. l'insieme di posti {P1,P3,P5} è una trappola2b.3. l'insieme di posti {P1,P3,P5} corrisponde ad un P-invariante
4c. Dire se e come cambierebbe la risposta precedente se s'invertissero tutti gli archi della rete.
ESERCIZIO 5Sia data la rete di Petri con archi di peso unitario
P1T1
P6 P7
T2
T5
P2 P3 P4T3 T4
T6P8 P9
P5
T7
T8
P10
A partire dalla marcatura iniziale indicata, si vuole che la rete rispetti i seguenti vincoli: (a) nondevono esservi mai più di 2 marche nel posto P2, (b) non vi dev'essere mai più di una marca in P3, e(c) i posti P2, P3 e P7 non devono contenere complessivamente più di 2 marche. Dovendorealizzare un supervisore massimamente permissivo che risolva questo problema di stati vietati colmetodo dei P-invarianti,
5a. scrivere la matrice L e il vettore b corrispondenti5b. dire quali sono i P-invarianti che la risoluzione del problema dovrà creare nella rete
controllata
Automazione Industriale a.a. 2002/2003
3
ESERCIZIO 6Sia data la rete di Petri con archi di peso unitario
T1
P3P2
P1 P4
P7P8
T2
T3
T7
P5
P6
T5T4
T6
La rete può interpretarsi come il modello di due cicli di produzione (i due anelli) interagenti, nelsenso che uno (quello a sinistra) deposita pezzi in un magazzino rappresentato dal posto P8, e l'altroli preleva da lì per utilizzarli. Si vuole che nel magazzino suddetto non vi siano mai più di 3 pezzi.
6a. Risolvere il problema col metodo dei P-invarianti.6b. Disegnare la rete controllata e interpretare il risultato.
ESERCIZIO 7Si deve assemblare un pezzo costituito da due parti A e B. Le due parti devono essere prelevate dadue magazzini SA e SB (assunti di capacità infinita) usando un solo manipolatore R e poste sul pianodi una macchina M nell'ordine corretto (cioè prima A e poi B); terminato l'assemblaggio, R deveportare il pezzo in un magazzino SC (anch'esso di capacità infinita).
7a. Modellizzare il sistema complessivo (processo e controllo necessario) con una rete di Petri7b. Commentare il risultato così ottenuto, indicando i sensori e i comandi necessari per
l'implementazione del controllore (implicitamente) progettato.
ESERCIZIO 8Dire se le seguenti affermazioni sono vere o false
8a. La matrice d'incidenza di una rete di Petri è sempre pari alla differenza tra la matriced'uscita e quella d'ingresso.
8b. Una marcatura si dice viva se in essa tutte le transizioni sono abilitate.8c. In una rete di Petri coperta da P-invarianti a coefficienti non negativi il numero di token
rimane limitato.8d. La somma delle marcature dei posti corrispondenti ad un P-invariante rimane sempre
costante.8e. I P-invarianti della rete di petri con matrice d'incidenza C coincidono con i T-invarianti
della rete di Petri con matrice d'incidenza C'.8f. Una rete di Petri si dice binaria se tutti i posti hanno capacità 1.8g. Una rete di Petri "free choice" non può avere transizioni con più di un posto nel preset.8h. Se in una rete di Petri "free choice" una transizione ha più di un posto nel preset, per
ognuno di questi posti essa è l'unica transizione nel postset.8i. Un sifone è un insieme di posti che, prima o poi, rimane di certo senza token.8j. Una trappola è un insieme di posti in cui tutte le transizioni di postset sono anche di preset.8k. Una rete di Petri è viva se e soltanto se ogni sifone contiene una trappola marcata.8l. Una rete di Petri "free choice" è viva se e soltanto se ogni sifone contiene una trappola
marcata.8m. Una transizione incontrollabile è una transizione cui non si può, con il controllore, imporre
di scattare.8n. Il metodo dei P-invarianti serve ad impedire che una rete di Petri raggiunga certe
marcature, dette "stati vietati".
Automazione Industriale a.a. 2002/2003
4
ESERCIZIO 9Si vuole realizzare tramite PLC una rete logica con tre ingressi (A, B e C) e due uscite (X e Y). Ilfunzionamento dev'essere il seguente:
L'uscita X dev'essere calcolata come (A and not B) or CL'uscita Y dev'essere inizializzata al valore A and B, e ad ogni successiva esplorazione del ladder
Se A vale 0 Y deve mantenere il suo valore precedenteSe A vale 1 Y dev'essere invertita
Scrivere il programma LD che realizza la rete logica in questione.
ESERCIZIO 10In un sistema manifatturiero, si vuole che ogni tanto un po' di pezzi vengano prelevati dalla catenadi assemblaggio per essere sottoposti al controllo di qualità. Si vuole gestire il prelievo dei pezzidalla catena con un PLC, che dovrà fare quanto segue:
♦ Alla pressione di un tasto da parte dell'operatore, commutare uno scambio sulla guidapezzi dalla posizione "normale" a quella "deviazione per prelievo"
♦ Fatto ciò, contare 100 pezzi tramite un sensore di transito posto sulla guida di prelievopezzi
♦ Infine, riportare lo scambio nella posizione "normale" e accendere un indicatore di prelievoterminato
10a. Scrivere il programma LD richiesto, omettendo per semplicità la parte d'inizializzazione.10b. Dire, con la soluzione adottata, che succede se l'operatore preme di nuovo il tasto durante
la fase di prelievo (cosa su cui le specifiche date sopra non dicono nulla)
ESERCIZIO 11Si supponga di aver risolto un problema di controllo forbidden state col metodo dei P-invarianti eche la soluzione trovata sia schematizzata dalla rete di Petri seguente, dove del processo sonoindicati soltanto i posti e le transizioni interessate al controllo (i posti di controllo sono in grigio egli archi del controllore in linea spessa):
Pezzo in arrivo rilevatodal sensore sul nastro B
Pezzo in arrivo rilevatodal sensore sul nastro A M2 termina lavorazione
M1 prende da AM1 termina lavorazione
M1lavora…
…
…Pc1
Pc2
M2 prende da A
M2 prende da B
…
Pa
Pb
M2lavora
Si hanno a disposizione due sensori (detti SNA e SNB) che segnalano con un impulso l'arrivo di unpezzo sui nastri A e B, e due sensori (detti STLM1 e STLM2) che segnalano con un impulso iltermine della lavorazione per le due macchine M1 e M2; vi sono inoltre i tre possibili comandi dipresa pezzo (detti CPM1A, CPM2A e CPM2B). Quanto alla risoluzione dei conflitti (che il metododei P-invarianti non considera a meno che si vietino esplicitamente gli stati che li generano, cosache qui evidentemente non è stata fatta), se M1 e M2 possono ambedue prendere un pezzo da A sivuole che lo prenda M1, mentre se M2 può prendere sia da A che da B si vuole che prenda da B.
11a. Interpretare i posti di controllo Pc1 e Pc211b. Scrivere il programma LD corrispondente al regolatore logico in oggetto
Automazione Industriale a.a. 2002/2003
5
ESERCIZIO 12Si consideri la parte di un processo batch modellizzata dalla rete seguente, dove un reattore -quando disponibile, come indicato dal relativo posto di controllo - viene impiegato per produrre dadue componenti A e B - se disponibili in quantità sufficiente - un prodotto AB:
Produci1 kg di B Serbatoio B
Produci2 kg di A Serbatoio A
2
2
Reattore disponibile
Produci3 kg di AB
3
Serbatoio AB
…
…
…
…
…
Il posto "Produci 3 kg di AB" si può poi affinare nella sottorete mostrata di seguito, dove sievidenziano tutte le micro-azioni che compongono la macro-azione di produzione:
Riscalda finoa 100°CCarica
2 kg di B
Carica1 kg di A
Mantieni i 100°C emescola per 10 min
InizioproduzioneAB
Attendi a riscaldatorespento il raffreddamentofino a 50°C
Svuota FineproduzioneAB
Sul reattore è installato un riscaldatore controllato da un regolatore di temperatura TC con funzioneAuto/Manuale, e il caricamento di A e B nel reattore avviene tramite due valvole con in serie duesensori integrali di portata (che misurano cioè la massa trasferita) MA e MB.
12a. Prevedere gli ulteriori sensori e gli attuatori necessari e scrivere il programma SFC relativoalla macrofase "Produci 3 kg di AB"
12b. Scrivere la parte del programma SFC di livello superiore che utilizza tale macrofase
Automazione Industriale a.a. 2002/2003
6
Soluzione 11a. Le transizioni abilitate sono T2 (senza conflitti), T3 (senza conflitti), T4 e T5 (in conflitto
tra di loro) e T7.
1b. Definendo il vettore marcatura M=[ m1 m2 m3 m4 m5 m6 m7 m8 m9]', la marcatura correnterisulta essere M0=[2 1 1 0 0 0 1 0 0 ] e, se scattano tutte le transizioni abilitate, vi sono duemarcature successive possibili:
M1=[0 0 0 3 2 0 0 2 0 ] se scattano T2, T3, T4 e T7M2=[0 0 0 3 1 5 0 2 0 ] se scattano T2, T3, T5 e T7
Soluzione 22a. Associando le righe ai posti P1-P4 e le colonne alle transizioni T1-T4, le tre matrici - dette
rispettivamente I, O e C - sono
=
0010
0101
0120
2300
I
=
0100
0010
4000
0001
O
−−−−−
−−
=
0110
0111
4120
2301
C
(si noti che, ovviamente, C=O-I).
2b. Con le stesse convenzioni, il vettore marcatura iniziale è M0=[0 1 0 1]'.
2c. Il sistema che calcola i P-invarianti è x'C=0. Allora, ponendo x=[x1 x2 x3 x4]', si ha
=+−=+−−−
=−+−=−
042
03
02
0
21
4321
432
31
xx
xxxx
xxx
xx
2d. Il sistema che calcola i T-invarianti è Cy=0, o equivalentemente y'C'=0. Allora, ponendoy=[y1 y2 y3 y4]', si ha
=+−=−+−
=+−−=−−
0
0
042
023
32
321
432
431
yy
yyy
yyy
yyy
Automazione Industriale a.a. 2002/2003
7
Soluzione 33a. La rete in questione ha 5 posti e 4 transizioni. Avendo a disposizione la sola matrice
d'incidenza (e non quelle d'ingresso e d'uscita) si deve assumere, nel disegnarla, che non visiano autoanelli. Così facendo (e associando le righe e le colonne di C rispettivamente aiposti P1-P5 e alle transizioni T1-T4 in quest'ordine) si ottiene
P1
T1
2
P2 P3 P4 P5
T2 T3 T4
1 11
1 12
2
3 1
1
3b. Il vettore x è un P-invariante della rete di Petri la cui matrice d'incidenza è C se vale larelazione x'C=0. Nel caso presente
[ ] [ ]5872
0110
0023
2001
1011
0120
61052' −−=
−−
−−
−
=Cx
Poiché il risultato non è il vettore nullo, x non è un P-invariante della rete. Per inciso,sarebbe bastato a tale scopo calcolare il primo elemento del vettore x'C.
Soluzione 44a. Gli insiemi delle transizioni di preset e postset per i tre posti P1, P3 e P5 sono
Posto P1 P3 P5Preset {T6} {T2} {T5}Postset {T1,T2} {T1,T4,T5} {T4,T6}
Quindi, per l'insieme di posti {P1,P3,P5} si ha
Preset {T2,T5,T6}Postset {T1,T2,T4,T5,T6}
4b. Poiché l'insieme di posti {P1,P3,P5} ha il preset strettamente contenuto nel postset taleinsieme è un sifone, non è una trappola e non corrisponde ad un P-invariante.
4c. Invertire tutti gli archi della rete significa scambiare ordinatamente tutti i preset con tutti ipostset, col che l'insieme di posti {P1,P3,P5} si troverebbe ad avere il postset strettamentecontenuto nel preset. Tale insieme non sarebbe allora un sifone bensì una trappola, eancora non corrisponderebbe ad un P-invariante.
Automazione Industriale a.a. 2002/2003
8
Soluzione 55a. Indicando con mi la marcatura del posto i-esimo, i vincoli sono
≤++≤≤
2
1
2
732
3
2
mmm
m
m
Definendo allora il vettore marcatura M=[ m1 m2 m3 m4 m5 m6 m7 m8 m9 m10]', il vincolo sipuò esprimere come LM ≤ b ponendo
=
0001000110
0000000100
0000000010
L ;
=
2
1
2
b
5b. La risoluzione del problema farà nascere tre posti di controllo P11, P12 e P13 (uno pervincolo) in modo che per la rete controllata valgano le relazioni
=+++=+=+
2
1
2
13732
123
112
mmmm
mm
mm
I P-invarianti che dovranno risultarne - sempre per la rete controllata - sono allora
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13PI-1 0 1 0 0 0 0 0 0 0 0 1 0 0PI-2 0 0 1 0 0 0 0 0 0 0 0 1 0PI-3 0 1 1 0 0 0 1 0 0 0 0 0 1
Si osservi, per inciso, che la matrice formata dai 3 P-invarianti è [L I].
Automazione Industriale a.a. 2002/2003
9
Soluzione 66a. La matrice d'incidenza CP, il vettore L e lo scalare b (vi è un solo vincolo) sono
−−
−−
−−
−−
=
0000101
1100000
0110000
0011000
0001100
1000100
0000011
0000011
PC ; [ ]10000000=L ; b=3
Il metodo dei P-invarianti fornisce quindi, essendo M0P=[1 0 1 0 0 0 0 0]',
[ ]0000101−=−= PC LCC ; M0C=b-LM0P=3
6b. La rete controllata (con il posto aggiuntivo P9, che osserva T3 e controlla T1) è
T1
P3P2
P1 P4
P7P8
T2
T3
T7
P5
P6
T5T4
T6
P9
L'interpretazione può essere la seguente: quando il ciclo di sinistra mette un pezzo in P8consuma una delle marche di P9 (che possono quindi intendersi come "posti liberi nelmagazzino"), e quando il ciclo di destra preleva un pezzo rimette una marca in P9(coerentemente col significato attribuito a tali marche); se quindi P9 si smarca nelmagazzino vi sono tre pezzi, e questo impedisce che T1 scatti (cioè che il ciclo di sinistrave ne metta un quarto).
Automazione Industriale a.a. 2002/2003
10
Soluzione 77a.
Prel. A
R libero
B in MA in M
M termina lavorazione
SA
Pezzofinito
SB
SC
Prel. B Prel. pezzo
PS1PS3PS2
∞∞ ∞∞
R muoveA
R muoveB
R muovepezzo
M inizia lavorazione
M lavora
7b. La risorsa condivisa R è modellizzata con un insieme di posti che ne rappresentano tutti glistati d'uso possibili, e corrispondono - correttamente - ad un P-invariante. Rimane a questopunto da imporre la sequenza delle operazioni da compiere, sincronizzando con ciò R e M:questo è realizzato dai posti PS1-PS3, che corrispondono anch'essi ad un P-invariante.I sensori necessari sono quelli di presenza delle parti A e B sul piano di M (per dare inizioalla lavorazione), di termine lavorazione da parte di M (per sapere che il pezzo è finito), diarrivo del manipolatore M nelle 4 posizioni (SA, SB, piano di M e SC) dove deve andare.I comandi necessari sono quelli di movimento di M, eventualmente quelli di presa erilascio del pezzo (operazioni non rappresentate nella rete per semplicità) e quello d'iniziolavorazione per M.
Soluzione 8
8a. Vero 8h. Vero8b. Falso 8i. Falso8c. Vero 8j. Vero8d. Falso 8k. Falso8e. Vero 8l. Vero8f. Vero 8m. Vero8g. falso 8n. Vero
Automazione Industriale a.a. 2002/2003
11
Soluzione 9
(JMP)Inizializzato 100
( L )Inizializzato
( L )Y
(LBL)
A B
100
A B
C( )X
( L )YA Y
(LBL)
( U )
(JMP)200
200
A Y Y
Inizializzazione
Pone inizialmente Y = 1 se A and B è vero
Calcola X
Se A vale 1, inverte Y. Attezione alla JMP: se essa non cifosse, Y valesse 0 e A valesse 1, Y sarebbe prima posta a 1 epoi (al rung successivo) di nuovo a 0.
Soluzione 1010a.
( L )Tasto Prelievo
(RES)ContaPezzi
Prelievo ImpPezzoContaPezzi100
( U )ContaPezzi Prelievo
( L )FinePrelievo
FinePrelievo
( U )
Alla pressione del tasto gira lo scambio su "prelievo",
resetta il contatore
e spegne l'indicatore di fine prelievo
Se lo scambio è su "prelievo" conta i 100 pezzi
A fine conteggio rimette lo scambio su "normale"
e accende l'indicatore di fine prelievo
10b. Con questa soluzione lo scambio rimane su "prelievo" ma si resetta il contatore, col che sipreleveranno più di 100 pezzi: per la precisione se ne preleveranno 100 dopo l'ultimapressione del tasto.
Automazione Industriale a.a. 2002/2003
12
Soluzione 1111a. Le marche in Pc1 e Pc2 rappresentano rispettivamente la disponibilità di M1 e M2.
11b.
(JMP)Inizializzato 100
( L )Inizializzato
( L )PC1
( L )PC2
(LBL)100
…
( U )
( U )
Pezzo da A
Pezzo da B
Inizialmente le macchine sono libere e nonvi sono pezzi arrivati dai nastri A e B. Ledue bobine "Pezzo da A" e "Pezzo da B"servono a memorizzzare l'arrivo dei pezzi,perché i sensori relativi danno impulsi.Nota: questo equivale a "copiare" nelregolatore i posti Pa e Pb, ed è tipicoquando nel preset di una transizionecontrollata vi sono posti del processo: ilfatto che essi vi siano viene dalla fisica, mase ciò deve diventare consenso a che latransizione scatti tali posti vanno appuntoreplicati nel regolatore.
( L )STLM2
PC1
( L )STLM1
SNB( L )
SNA Pezzo da A
Pezzo da B
( L )
PC2
( )PC1Pezzo da A
( U )
CPM1A
PC1
( )PC2Pezzo da A
( U )
CPM2A
PC2
( )PC2 Pezzo da B
( U )
CPM2B
PC2
( )PC2 Pezzo da A
( U )
CPM2A
PC2
( U )Pezzo da A
( U )Pezzo da A
( U )Pezzo da B
( U )Pezzo da A
Memorizza l'arrivo dei pezzi sui nastriA e B
Memorizza la disponibilità di M1 e M2(posti di controllo Pc1 e Pc2) quandoarrivano gl'impulsi di fine lavorazione
Se c'è un pezzo da A e M1 è liberaM1 lo prende,diventa occupata (si smarca Pc1)e si resetta il bit di presenza pezzo in A
Se c'è un pezzo in A che M1 non ha giàpreso allora M2 lo prende,diventa occupata (si smarca Pc2)e si resetta il bit di presenza pezzo in A
Se M2 è libera e c'è un pezzo da BM2 lo prende,diventa occupata (si smarca Pc2)e si resetta il bit di presenza pezzo in B
Se M2 è libera e c'è un pezzo da AM2 lo prende,diventa occupata (si smarca Pc2)e si resetta il bit di presenza pezzo in A
LD inizializzazione LD controllo
Soluzione 1212a. I sensori e gli attuatori necessari si deducono dal diagramma:
I10102
1
MA≥1kg
MB≥2kg
ResetMB
ResetMA
105
Poni TCin AUTO
T≥100°C
106
Mescola
Set Point T=100°C
t/X106/10min
107
Poni TCin MAN
Potenza riscald.=0
T≤50°C
108
Livello≤minimo
U10
Aprivalvola OUT
103
104
RESETReattoreDisponibile
SETReattoreDisponibile
101 1
SETFineProduzioneAB
Aprivalvola B
Aprivalvola A
12b.
M2
Massa nel serb. A≥1kgAND Massa nel serb. B≥2kgAND ReattoreDisponibile
10
FineProduzioneAB
RESETFineProduzioneAB3