Modelowanie i sterowanie procesami produkcyjnymi
Zdefiniowanie modelu w programie COPN
obserwowalną sieć Petriego
Wydział Mechaniczny Politechniki Krakowskiej
Rok Akademicki 2011/2012, Grupa 13K3
Rafał Polak
Dla podanego systemu zdefiniowanych marszrut technologicznych przedmiotów oraz przyjętych indywidualnie czasów trwania czynności należało zdefiniować Obiektowo Obserwowalną Sieć Petriego (OPN) oraz napisać macierz incydencji odpowiadającej projektowi.
Poniżej przedstawiam zrealizowanie projektu Nr. 32 w którym przyjąłem czas realizowania każdego ruchu jako 5000 ms oraz czas obróbki trwający 10000 ms.
PO1:
ST1 -> R1 -> OB1 -> R1 -> ST2 -> R2 -> OB2 -> R2 -> ST3
PO2:
ST1 -> R1 -> OB1 -> R1 -> OB2 -> R2 -> ST2
ST1 | ST2 | ST3 | R1 | R2 | OB1 | OB2 | PO1 | PO2 | |||
---|---|---|---|---|---|---|---|---|---|---|---|
PO1 , ST1 -> R1 | 1 | 1,11 | 2 | 2 | |||||||
PO1 , R1 -> OB1 | 2 | 1,4,11,14 | 3 | 3 | |||||||
PO1 , OB1 * | 3 | 4 | 4 | ||||||||
PO1 , OB1 -> R1 | 4 | 5 | 2,12 | 5 | |||||||
PO1 , R1 -> ST2 | 5 | 6 | 1,4,11,14 | 6 | |||||||
PO1 , ST2 -> R2 | 6 | 5,18 | 7 | 7 | |||||||
PO1 , R2 -> OB2 | 7 | 6,9,17 | 8 | 8 | |||||||
PO1 , OB2 * | 8 | 9 | 9 | ||||||||
PO1 , OB2 -> R2 | 9 | 10 | 7,15 | 10 | |||||||
PO1 , R2 -> ST3 | 10 | 10 | 6,9,17 | ||||||||
PO2 , ST1 -> R1 | 11 | 1,11 | 12 | 12 | |||||||
PO2 , R1 -> OB1 | 12 | 1,4,11,14 | 13 | 13 | |||||||
PO2 , OB1 * | 13 | 14 | 14 | ||||||||
PO2 , OB1 -> R1 | 14 | 15 | 2,12 | 15 | |||||||
PO2 , R1 -> OB2 | 15 | 1,4,11,14 | 16 | 16 | |||||||
PO2 , OB2 * | 16 | 17 | 17 | ||||||||
PO2 , OB2 -> R2 | 17 | 18 | 7,15 | 18 | |||||||
PO, R2 -> ST2 | 18 | 6,9,17 |
T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | T18 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M1_PO1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2_PO1 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M3_PO1 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M4_PO1 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M5_PO1 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M6_PO1 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M7_PO1 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M8_PO1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M9_PO1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M10_PO1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M11_PO1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M1_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 |
M3_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 |
M4_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 |
M5_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 |
M6_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 |
M7_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 |
M8_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 |
M9_PO2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
M1_R1 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2_R1 | -1 | 1 | 0 | -1 | 1 | 0 | 0 | 0 | 0 | 0 | -1 | 1 | 0 | -1 | 1 | 0 | 0 | 0 |
M3_R1 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M4_R1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 |
M5_R1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 |
M1_R2 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2_R2 | 0 | 0 | 0 | 0 | 0 | -1 | 1 | 0 | -1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | -1 | 1 |
M3_R2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M4_R2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 |
M1_OB1 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2_OB1 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M3_OB1 | 0 | -1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -1 | 0 | 1 | 0 | 0 | 0 | 0 |
M4_OB1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 |
M5_OB1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 |
M1_OB2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2_OB2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M3_OB2 | 0 | 0 | 0 | 0 | 0 | 0 | -1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | -1 | 0 | 1 | 0 |
M4_OB2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 |
M5_OB2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | -1 | 0 |
M1_ST1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M1_ST2 | 0 | 0 | 0 | 0 | 1 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M2_ST2 | 0 | 0 | 0 | 0 | -1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M1_ST3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
SUMA: | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|
Czynność | Licznik | Warunek | |
PO1 , ST1 -> R1 | N1 | (N2=N4)&(N12=N14) | |
PO1 , R1 -> OB1 | N2 | ||
PO1 , OB1 * | N3 | ||
PO1 , OB1 -> R1 | N4 | ||
PO1 , R1 -> ST2 | N5 | N15=N18 | |
PO1 , ST2 -> R2 | N6 | N7=N9 | |
PO1 , R2 -> OB2 | N7 | ||
PO1 , OB2 * | N8 | ||
PO1 , OB2 -> R2 | N9 | ||
PO1 , R2 -> ST3 | N10 | ||
PO2 , ST1 -> R1 | N11 | (N2=N4)&(N12=N14) | |
PO2 , R1 -> OB1 | N12 | ||
PO2 , OB1 * | N13 | ||
PO2 , OB1 -> R1 | N14 | ||
PO2 , R1 -> OB2 | N15 | N5=N9 | |
PO2 , OB2 * | N16 | ||
PO2 , OB2 -> R2 | N17 | ||
PO, R2 -> ST2 | N18 |
Wynik symulacji dla 10 sztuk z każdego przedmiotu:
Czas obróbki przedmiotów na OB1 oraz OB2 : 10s
Czas przejść: 5s