Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
VODENJE TRANSPORTNEGA SISTEMA
BOSCH TS1 S PROGRAMSKIM PAKETOM
MATLAB/SIMULINK
Maribor,
Andrej Fekonja
VODENJE TRANSPORTNEGA SISTEMA
BOSCH TS1 S PROGRAMSKIM PAKETOM
MATLAB/SIMULINK
Diplomsko delo
Maribor, september 2011
VODENJE TRANSPORTNEGA SISTEMA
BOSCH TS1 S PROGRAMSKIM PAKETOM
I
Diplomsko delo univerzitetnega študijskega programa
VODENJE TRANSPORTNEGA SISTEMA BOSCH TS1 S PROGRAMSKIM PAKETOM MATLAB/SIMULINK
Študent: Andrej Fekonja
Študijski program: UN Mehatronika
Smer: /
Mentor(ica): izred. prof. dr. Aleš Hace
Somentor(ica): doc. dr. Uroš Župerl
Maribor, september 2011
II
III
ZAHVALA
Zahvaljujem se mentorju izred. prof. dr. Alešu Haceju
za pomoč in vodenje pri opravljanju diplomskega dela.
Prav tako se zahvaljujem somentorju doc. dr. Urošu
Župerlu.
Posebna zahvala velja staršem, ki so mi omogočili študij.
IV
VODENJE TRANSPORTNEGA SISTEMA BOSCH TS1 S
PROGRAMSKIM PAKETOM MATLAB/SIMULINK
Ključne besede: transportni sistem, Bosch TS1, krmiljenje, Matlab/Simulink, Petrijeva mreža, snovanje vodenja s pomočjo modela, VRML UDK: 681.5.01(043.2)
Povzetek
V sodobnem industrijskem okolju se vse bolj uveljavljajo fleksibilni proizvodni procesi,
katerih prednost je predvsem hitra prilagoditev novemu izdelku ob minimalnih spremembah
konfiguracije proizvodne linije. Hkrati pa se pojavi tudi slabost, kajti programiranje
manipulatorjev in ostalih strojev je časovno zahtevno in predstavlja izpad proizvodnje, kar
povzroča izgube. Kot ena izmed rešitev za obstoječi problem se je izkazalo simulacijsko okolje
v katerem se lahko načrtuje in simulira vodenje, še preden bo prišlo do preureditve
proizvodne linije in s tem preprogramiranja posameznih strojev. V diplomskem delu je
predstavljeno načrtovanje programske opreme, ki omogoča krmiljenje, diagnosticiranje in
simulacijo transportnega sistema Bosch TS1.
V
CONTROL OF BOSCH TS1 TRANSPORT SYSTEM WITH THE
MATLAB/SIMULINK SOFTWARE PACKAGE
Keywords: transport line, Bosch TS1, control, Matlab/Simulink, Petri net, model based design, VRML UDK: 681.5.01(043.2)
Abstract
In the modern industrial environment, flexible manufacturing processes are being rapidly
introduced. Their advantage is quick adaptability to the new product with minimal
configuration modifications of the production line. At the same time, a weakness occurs
because programming of manipulators and other software is time consuming and means
production halt and, consequently, loss. One of the solutions for this problem has proven to
be a simulation environment where managing can be designed and simulated before the
rearrangement of the production line and, with this, before reprogramming of individual
machines will occur. This diploma presents designing of software which enables controlling,
diagnosing and simulation of the Bosch TS1 transport system.
VI
VSEBINA
1 UVOD ............................................................................................................................. 1
2 TRANSPORTNE NAPRAVE ZA NOTRANJI TRANSPORT ................................ 2
2.1 Vrste transportnih naprav za notranji transport ........................................................ 2
2.2 Koncepti nadzora transportnih naprav ..................................................................... 3
2.2.1 Centralizirani nadzor ............................................................................................ 3
2.2.2 Hierarhični nadzor ................................................................................................ 4
2.2.3 Decentralizirani nadzor ......................................................................................... 4
2.3 Struktura nadzornih sistemov ................................................................................... 4
2.3.1 Trdo ožičeno krmilje (relejska logika) ................................................................. 4
2.3.2 Programibilni logični krmilniki (PLK) ................................................................. 5
2.3.3 Industrijski računalnik (IPC) ................................................................................ 5
3 SNOVANJE VODENJA S POMOČJO MODELA (MBD - MODEL BASED DESIGN) ......................................................................................................................... 6
3.1 Razvoj in namen snovanja vodenja s pomočjo modela (MBD – model based design) ................................................................................................................................ 6
4. TRANSPORTNI SISTEM BOSCH TS1 ..................................................................... 8
4.1 Zasnova transportnega sistema ................................................................................. 8
4.2 Povezava programske opreme z realnim transportnim trakom .............................. 10
5 NAČRTOVANJE PROGRAMSKE OPREME ZA SIMULACIJO, KRMILJENJE IN DIAGNOSTIKO TRANSPORTNEGA SISTEMA ....................... 12
5.1 Petrijeve mreže ...................................................................................................... 14
5.1.1 Petrijev graf ........................................................................................................ 15
5.1.2 Matrični zapis navadnih Petrijevih mrež ............................................................ 18
6 MODEL TRANSPORTNEGA SISTEMA ................................................................ 22
6.1 Palete ...................................................................................................................... 23
6.1.1 Končna stikala .................................................................................................... 24
6.1.2 Diskretni sekvenčni algoritem zasnovan s Petrijevo mrežo ............................... 26
6.1.3 Blokovne sheme proženja prog na podlagi trenutnega vektorja stanja .............. 31
6.1.4 Simulacijska shema za pogojno ustavljanje palet ............................................... 31
6.1.5 Proga ................................................................................................................... 32
6.2 Aktuatorji in signalizacija ...................................................................................... 35
VII
6.3 Petrijev krmilnik za vodenje transportnega sistema ............................................... 37
6.4 Simulacijska shema za detekcijo zasedenosti vseh vrat ......................................... 41
6.5 Časovnik odprtih vrat ............................................................................................. 42
6.6 Senzorji delovnih postaj ......................................................................................... 43
6.7 Povezava simulacijske sheme transportnega traka s PLK-jem .............................. 44
6.8 Virtualni osciloskop ............................................................................................... 46
7. VRML MODEL TEKOČEGA TRAKA ................................................................... 47
7.1 Izdelava modela transportnega traka v programskem orodju SolidWorks ............ 47
7.2 Generiranje in urejanje modela transportnega traka zapisanega v VRML jeziku . 52
7.2.1 Generiranje .wrl kode 3D modela transportnega traka ........................................... 52
7.2.2 Združevanje elementov v celoto in poimenovanje ............................................. 53
5.2.3 Pozicioniranje elementov v V-Realm Builder-ju ............................................... 53
7.2.4 Povezava VRML modela transportnega traka s simulacijsko shemo ................. 55
8. Rezultati ........................................................................................................................ 57
9. Sklep .............................................................................................................................. 61
10. VIRI, LITERATURA .................................................................................................. 62
11. PRILOGE ..................................................................................................................... 63
11.1 Priložena zgoščenka ........................................................................................... 72
11.2 Seznam slik ......................................................................................................... 73
11.3 Seznam tabel ....................................................................................................... 75
11.4 Naslov študenta ................................................................................................... 76
11.5 Kratek življenjepis .............................................................................................. 76
VIII
UPORABLJENE KRATICE
PLK - Programibilni Logični Krmilnik
VRML - Virtual Reality Modeling Language
MBD - Model Based Design
IPC – Industrial Personal Computer
CPE - Central Processing Unit
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 1
1 UVOD
Sodobno industrijsko okolje predstavlja kompleksni sistem, med seboj povezanih naprav-
strojev, ki so vključeni v fleksibilne proizvodne procese in zahtevajo usklajeno delovanje.
Pri tem se pojavi tudi potreba po transportu obdelovancev, kar pomeni vključitev
fleksibilnega transportnega sistema, ki bo omogočal visoko stopnjo prilagodljivosti tako v
zmožnosti transporta obdelovancev različnih dimenzij, oblik in materialov kot v načinu
vodenja, ki zajema različne hitrosti transporta, različne cikle delovanja glede na trenutni
proizvodni proces ter povezavo z robotizirano robotsko celico. Sodobni transportni sistemi
so opremljeni s PLK-ji (Programirljiv Logični Krmilnik), ki omogočajo veliko
fleksibilnost vodenja, vendar pa se pri postavitvi transportnih sistemov praviloma vedno
pojavijo potrebe po odpravi napak in optimizaciji, kar podaljša izpad proizvodnje in
povzroča dodatne izgube. Zaradi že naštetih težav je torej smiselno razviti programsko
opremo, ki bo omogočala osnovno načrtovanje (simulacijo), dejansko vodenje in nadzor
transportnega sistema, kar je tudi namen te diplomske naloge. Programska oprema bo
zgrajena v programskem paketu Matlab/Simulink, povezanim z OPC strežnikom, ki bo
omogočal komunikacijo s PLK-jem - realnim transportnim trakom Bosch TS1. Stanje
posameznih elemetov na realnem transportnem sistemu bo mogoče razbrati iz dejanskega
položaja elementov in barvne signalizacije na 3D modelu zgrajenega na osnovi VRML-
jezika, povezanega s simulacijsko shemo v programu Simulink.
Diplomska naloga je sestavljena iz enajstih poglavij. Po uvodu sledi drugo poglavje, v
katerem je podrobneje predstavljeno področje transportnih naprav in konceptov nadzora, ki
jih je mogoče zaslediti v industrijskem okolju. V tretjem poglavju je opisana MBD metoda
načrtovanja vodenja in njene prednosti. V četrtem poglavju sledi podrobna predstavitev
izvedbe transportnega traka Bosch TS1 in njegovih specifikacij, na katerega se nanaša vsa
programska oprema. V petem poglavju je opisano delovanje programske opreme v
različnih načinih, hkrati pa je predstavljena teorija Petrijevih mrež. V šestem poglavju je
opisana izdelava simulacijske sheme modela transportnega traka ter pomen posameznih
sklopov v simulacijski shemi. Podrobneje je opisan tudi krmilni algoritem - Petrijev
krmilnik namenjen vodenju transportnega sistema. V sedmem poglavju je opisana izdelava
VRML modela transportnega traku. Predstavljen je celoten postopek od 3D modeliranja v
programskem orodju Solidworks do urejanja .wrl kode in povezave le te s simulacijsko
shemo preko bloka VR Sink.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 2
2 TRANSPORTNE NAPRAVE ZA NOTRANJI TRANSPORT
Transportne naprave za notranji transport služijo transportiranju materiala, polizdelkov in
izdelkov znotraj proizvodnih procesov oziroma med posameznimi delovnimi operacijami
ter med delovno operacijo in skladiščem. Tok transportiranega materiala je odvisen od
tehnološkega postopka.
2.1 Vrste transportnih naprav za notranji transport
Zaradi raznolikosti delovnih operacij, vrste transportiranega blaga in oblike prostora se
pojavljajo različne izvedbe transportnih naprav (slika 2.1).
TRANSPORTNE NAPRAVE
Delovanje s prekinitvami Delovanje brez prekinitev
(kontinuirano)
TRANSPORTERJI BREZ
VLEČNEGA ELEMENTA
- Istočasno
delovni in
mrtvi gib
- Večja
zmogljivost
TRANSPORTERJI Z
NESKONČNIM
VLEČNIM ELEMENTOM
- polžasti transporterji - transporterji z valjčki - transporterji z nihalnim žlebom - zračne drče - pnevmatski transporterji - hidravlični transporterji
- tračni transporterji - verižni transporterji s ploščicami - verižni transporterji s strgali - verižni transporterji s korci - elevatorji s korci - elevatorji s prijemali - krožni transporterji
Slika 2.1: Razvrstitev transportnih naprav
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 3
Pomembna dejavnika v proizvodnem procesu sta tudi zmogljivost in fleksibilnost, ki imata
pomemben vpliv na obratovanje proizvodnega procesa in njegovo učinkovitost (slika 2.2).
Slika 2.2: Zmogljivost in fleksibilnost posameznih transportnih naprav
2.2 Koncepti nadzora transportnih naprav
2.2.1 Centralizirani nadzor
Značilnost tega nadzora je osrednja neodvisna krmilna naprava, ki sprejema vhodne
signale iz senzorjev in izvaja krmilne funkcije preko izhodov. Takšna naprava je lahko
PLK (programirljiv logični krmilnik) ali industrijski PC. Centralizirani nadzor se uporablja
v aplikacijah, ki ne zahtevajo zelo velike zmogljivosti (hitrosti procesiranja) krmilnika ali
pa v aplikacijah kjer ne pride do pretirane škode ob okvari krmilnika. [1]
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 4
2.2.2 Hierarhični nadzor
Podobno kot centralizirani nadzor ima tudi hierarhični nadzor osrednjo krmilno napravo, ki
pa lahko ob preobremenjenosti posreduje naloge več krmilnikom, ki opravijo nalogo,
dodeljeno od osrednje krmilne naprave. Takšen nadzor lahko uporabimo pri
kompleksnejših sistemih, saj se obremenitev razdeli na več krmilnih enot. [2]
2.2.3 Decentralizirani nadzor
Sestavljen je iz več krmilnih enot, ki vedno med seboj komunicirajo in imajo enako
stopnjo prioritete. Nadzor je zgrajen na osnovi modularnega principa, kar enako kot pri
hierhaičnem nadzoru omogoča porazdelitev obremenitve vendar hkrati omogoča ob
morebitnem izpadu katere izmed krmilnih enot nemoteno delovanje, pri tem se zmanjša
samo zmogljivost in ne izpad celotnega sistema kot pri centraliziranem in v nekaterih
primerih tudi v hirerhaičnem nadzoru. Prednost tega koncepta je nemoteno delovanje ob
morebitnem servisiranju na sistemu. [1]
2.3 Struktura nadzornih sistemov
2.3.1 Trdo ožičeno krmilje (relejska logika)
Logično krmilje je sestavljeno iz fizično povezanih elektronskih elementov v nekaterih
primerih tudi iz pnevmatskih in hidravličnih komponent, kar daje krmilju visoko stopnjo
zanesljivosti in odpornosti na različne motilne dejavnike. Zaradi trdo ožičene zasnove
krmilja so poznejše spremebe v krmilju zelo otežkočene saj so potrebne fizične
spremembe v krmilju. Trdo ožičena krmilja so se uporabljala pred prihodom PLK
krmilnikov, v sodobnem času pa so jih nadomestili PLK krmilniki in še jih srečamo samo v
napravah, ki zahtevajo zanesljivost in hitrost.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 5
2.3.2 Programibilni logični krmilniki (PLK)
Najpogosteje uporabljeni krmilniki so PLK krmilniki, njihova prednost je predvsem:
- fleksibilnost (enostavna prilagoditev programa novemu sistemu)
- kompaktna zgradba
- odpornost na različne vplive okolice (vlaga, prah...)
- enostavnost programiranja
- modularna zgradba
- nizki stroški
PLK lahko programiramo z osebnim računalnikom preko povezave RS-232, ki ima
nameščen uporabniški vmesnik ali pa program vnesemo ročno preko tipk in zaslona na
ročnem programatorju. Značilnost PLK-jev je tudi ciklično delovanje pri tem znaša čas
enega cikla 1-50 ms.
2.3.3 Industrijski računalnik (IPC)
Zaradi nizkih cen in naraščajoče zmogljivosti so se osebni računalniki pričeli pojavljati
tudi v industrijskem okolju kot krmilniki v zahtevnih sistemih, pri tem je njihova zgradba
prirejena industrijskemu okolju (zaščita proti vodi, prahu, udarcem, itd.). Branje in
krmiljenje digitalnih oziroma analognih vhodov ter izhodov lahko poteka preko serijske
povezave oziroma razširitvene kartice, ki omogoča različne vrste in število vodil, odvisno
od potreb aplikacije v katero je vgrajen industrijski računalnik. Pomembna prednost
industrijskega računalnika je tudi večopravilnost ali multitasking, kar pomeni, da CPE
izvaja več nalog zaporedoma, oziroma med njimi preskakuje, kar da daje občutek, da vse
naloge opravlja hkrati. [3]
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 6
3 SNOVANJE VODENJA S POMOČJO MODELA (MBD - MODEL BASED DESIGN)
Snovanje vodenja s pomočjo modela (ang. Model-based design) je postopek načrtovanja
programske opreme – vodenja sistemov, pri katerem se v fazi razvoja realni sistemi -
dogodki, potrebni za testiranje nadomestijo z matematičnimi simulacijskimi modeli.
Optimizirana programska oprema se nato uporabi v realnih sistemih. Glavne prednosti
modelno osnovanega načrtovanja so:
• nižji stroški razvoja - realni sistemi se nadomestijo s simuliranimi v simulaciji
• krajši čas razvoja - zmanjšuje stroške razvoja in povečuje konkurenčnost podjetja.
• večja varnost pri razvoju - zaradi odpravljenih napak v fazi simuliranja je veliko manjša možnost, da se pri implementaciji realnega sistema pojavijo napake.
3.1 Razvoj in namen snovanja vodenja s pomočjo modela (MBD – model based design)
Uporaba snovanja vodenja s pomočjo modela se je v zadnjih letih zelo povečala pri tem
ima pomembno vlogo tudi uporaba objektno orientiranega programiranja, ki je zamenjalo
zamudne klasične metode programiranja. Prednost uporabe objektno orientiranega
programiranje se pokaže predvsem pri načrtovanju vodenja kompleksnejših sistemov s
preglednejšo obliko programa (razdeljen na posamezne ločene bloke – podsisteme) in z
avtomatskim generiranjem kode. Pri MBD metodi načrtovanja se uporabljajo simulacijska
okolja v programski obliki zgrajena na osnovi matematičnih modelov lahko pa se v
simulacijsko okolje vključi tudi strojna oprema, ta postopek imenujemo HIL (Hardware In
the Loop). Prednost vključitve strojne opreme v simulacijsko okolje je večja natančnost
simulacije saj je v matematičnih modelih skoraj nemogoče upoštevati popolnoma vse
parametre, ki vplivajo na obnašanje modela in s tem na obnašanje celotnega simulacijskega
okolja.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 7
Metoda MBD se vedno bolj uveljavlja na področju načrtovanja sistemov vodenja v
industrijskem okolju, predvsem pri načrtovanju prilagodljivih proizvodnih procesov v
katere so vključene tudi robotske celice.
Proizvajalci robotov zato ponujajo tudi programsko opremo v kateri se lahko izvede
simulacija proizvodnega procesa oziroma se simulira celotni krmilni program robota in se
nato prenese na realni robot. Posledično ni potrebno ročno programiranje v realnem
proizvodnem procesu. Načrtovanje z uporabo MBD temelji na posameznih fazah
prikazanih na sliki 3.1, ki omogočajo, da je metoda hitra in unčikovita.
Slika 3.1: Faze MBD metode načrtovanja
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 8
4. TRANSPORTNI SISTEM BOSCH TS1
4.1 Zasnova transportnega sistema
Transportni trak Bosch TS1 je namenjen ročni in avtomatski montaži elektronskih in
elektromehanskih elementov na industrijskih področjih kot je avtomobilska industrija,
računalniška industrija in biomedicina. Zgrajen je iz aluminijastih profilov na osnovi
modularnega principa, kar omogoča enostavno nadgradnjo že obstoječega transportnega
sistema. V tabeli 1 so navedeni podatki za transportni trak na katerega se nanaša diplomsko
delo.
Tabela 1: Karakteristike transportnega traka Bosch TS1
Proizvajalec in tip transportnega sistema
Bosch TS1
Vrsta transportnega sistema Tračni transporter (2 traka)
Dimenzija palet 120 × 120 ��
Max. obremenitev palete > 3
Nosilnost posameznega modula s pogonom
> 80
Zgradba transportnega traku modularna
Število palet 5
Število vrat 5
Število položajnih enot 2
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 9
Obratovalni tlak pnevmatičnih komponent
4 − 6 ���
Max. hitrost palet 18 �/���
Omenjeni tekoči trak na sliki 4.1 je postavljen v laboratoriju za industrijsko robotiko med
dvema robotiziranima celicama, zato ima vgrajeni dve položajni enoti, ki paleti fiksirata,
da se med delovnima operacijama robotov ne premikata pred tem se sprožijo vrata, ki
palete zaustavijo, da ne pride do zgostitve.
Slika 4.1: Položaj vrat in položajnih enot - delovnih postaj
Položajni
enoti
(delovne
postaje)
Vrata
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 10
Na položajih vrat so vgrajeni induktivni senzorji prisotnosti, kateri detektirajo ali je paleta
prisotna na položaju vrat. Premikanje palet omogočata trakova, ki ju poganja elektromotor,
hitrost vrtenja elektromotorja pa je mogoče spreminjati brezstopenjsko preko frekvenčnega
pretvornika vgrajenega v krmilni omarici. V krmilni omarici so še vgrajeni napajalnik,
PLK krmilnik, varovalke in vtičnice. Na naslednji sliki 4.2 so prikazani položaji
posameznih sestavnih elementov na modelu transportnega traka.
Slika 4.2: Sestavni elementi transportnega traka
4.2 Povezava programske opreme z realnim transportnim trakom
Pred načrtovanjem programske opreme je bilo potrebno najprej podrobneje preučiti
povezave in funkcionalnost vseh ključnih elementov transportnega sistema (slika 4.3), kar
je pripomoglo k boljši predstavitvi delovanja celotnega transportnega sistema. V fazi
analize smo tako podrobneje preučili naslednje elemente:
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 11
• Transportni trak (zagon, delovanje senzorike, fizična zgradba)
• OPC strežnik (branje/pisanje vhodov in izhodov na PLK)
• Matlab/Simulink (povezava z OPC strežnikom in VRML modelom)
• VRML jezik (izdelava VRML modela)
Slika 4.3: Povezava programske opreme s transportnim sistemom
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 12
5 NAČRTOVANJE PROGRAMSKE OPREME ZA SIMULACIJO, KRMILJENJE IN DIAGNOSTIKO TRANSPORTNEGA SISTEMA
V tem poglavju je opisano in prikazano delovanje programske opreme v vseh treh načinih
(simulacija, krmiljenje-vodenje in diagnostika), podrobneje pa je tudi predstavljena teorija
Petrijevih mrež. Za krmilni algoritem – Petrijev krmilnik, ki temelji na principu Petrijevih
mrež smo se odločili zaradi dogodkovnega načina delovanja transportnega sistema, hkrati
pa so Petrijeve mreže med najpogosteje uporabljenimi orodji za obravnavo dogodkovnih
sistemov. [6], [5] Na naslednjih slikah so v obliki shem prikazani različni načini delovanja
programske opreme.
Osnovno načrtovanje vodenja poteka v simulacijskem okolju (slika 5.1), pri tem se vse
povratne informacije nanašajo na model transportnega sistema, krmilni program pa je
zapisan v obliki matričnega zapisa Petrijeve mreže.
Slika 5.1: Shema delovanja programske opreme v načinu simulacije
Kadar uporabljamo programsko opremo v načinu krmiljenja, torej Petrijev krmilnik krmili
realni transportni sistem, pridobivamo povratne informacije iz realnega transportnega
sistema.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 13
S takšnim načinom delovanja programske opreme preverimo ali so se procesi, ki bi se
morali izvesti tudi izvedli. Na sliki 5.2 je s shemo prikazano delovanje programske opreme
v načinu krmiljenja-vodenja.
Slika 5.2: Shema delovanja programske opreme v načinu krmiljenja - vodenja Programska oprema omogoča delovanje v načinu diagnostike (slika 5.3), kadar želimo
analizirati delovanje transportnega sistema. V omenjenem načinu je realni transportni
sistem povezan s programsko opremo, ki stanje realnega transportnega sistema prikazuje z
VRML modelom in virtualnim osciloskopom.
Slika 5.3: Shema delovanja programske opreme v načinu diagnostike
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 14
5.1 Petrijeve mreže Petrijeve mreže, ki so dobile ime po izumitelju Carlu Adamsu Petriju predstavljajo
formalno matematično in grafično orodje za modeliranje, formalno analizo, načrtovanje in
verifikacijo diskretnih sistemov. Zapišemo lahko, da je Petrijeva mreža � urejen četvorček:
� = (�, �, �, �), (5.1)
Kjer sta � in �:
� = �� , �! … , �#$, � ≥ 0, končna množica mest (places)
� = �& , &! … , &#$, � ≥ 0, končna množica prehodov (transitions)
�: � → �) Vhodna funkcija � je preslikava prehoda &* v množico mest �(&*), ki jih
imenujemo vhodna mesta za prehod &* . �: � → �) Izhodna funkcija � je preslikava prehoda &* v množico mest O(&*), ki jih
imenujemo izhodna mesta za prehod &* .
Petrijeva mreža ima naslednje lastnosti:
- Število vhodnih mest �* za prehod &+ je število elementov �* v posplošeni
množici �,&+-
#(�*, �(&+))
- Število izhodnih mest �* za prehod &+ je število elementov �* v poslplošeni
množici �(&+)
#(�*, �(&+))
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 15
- Mesto �* je vhodno mesto za prehod &+, če velja:
�* ∈ �(&+)
- Mesto �* je izhodno mesto za prehod &+, če velja:
�* ∈ �(&+)
5.1.1 Petrijev graf Petrijevo mrežo lahko predstavimo s Petrijevim grafom, sestavljenim iz naslednjih elementov:
- Mesta, ki ustrezajo mestom � v Petrijevi mreži in jih označujemo s krogom
- Prehajanja, ki ustrezajo prehodom & v Petrijevi mreži in jih označujemo s črto ali pravokotnikom
- Usmerjene povezave, ki ustrezajo vhodnim in izhodnim funkcijam Petrijeve mreže in jih označujemo s puščico
Petrijev graf, ki ponazarja Petrijevo mrežo v grafični obliki je bipartitni usmerjen multigraf 0 = (1, 2), pri tem je 1 = �3 , 3!, … , 34$ in 2 = �� , �!, … , �5$ posplošena množica usmerjenih povezav �* = (3+ , 36) ∈ 1. Množica 1 je 1 = � ∪ � in za vsako usmerjeno
povezavo �* ∈ 2 velja: �* = (3+ , 36), kjer je 3+ ∈ � in 36 ∈ � ali 3+ ∈ � in 36 ∈ �.
Definirajmo 1 = � ∪ �. 2 je posplošena množica usmerjenih povezav, tako za vsak �* ∈ � in &+ ∈ � velja:
#((�*, &+), 2) = #(�*, �(&+)) (5.2)
#((&+ , �*), 2) = #(�*, �(&+)) (5.3)
V tem primeru je Petrijev graf 0(1, 2) ekvivalenten Petrijevi mreži � = (�, �, �, �). Z označitvijo (8) dodelimo mestom v Petrijevi mreži poljubno število žetonov (tokens), ki spadajo med osnovne elemente Petrijeve mreže in jo lahko zato razširjeno zapišemo kot petorko:
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 16
� = (�, �, �, �, 8) (5.4)
Pri tem funkcija 8 priredi mestom � pozitivna cela števila ℕ: 8: � → ℕ
Označevanje lahko predstavimo tudi z označitvenim vektorjem:
8 = (8 , 8!, … , 8#), � = |�| (5.5) Pri izvajanju Petrijeve mreže se žetoni selijo iz prostora v prostor, kadar je prehod omogočen in ko vžge (transition fire), pri tem se žetoni prenesejo iz vhodnega prostora v izhodni prostor. Število žetonov se lahko pri izvajanju Petrijeve mreže spreminja, izvajanje pa poteka dokler je možen vžig vsaj pri enem prehodu. Prehod je omogočen takrat, kadar je v vsakem njegovem vhodnem mestu najmanj toliko žetonov, kolikor je povezav od mesta do prehoda. Pogoj za vžig mesta je torej:
8(�*) ≥ #(�*, �(&+)), �* ∈ � (5.6)
Po vžigu prehoda &+ preide označitveni vektor 8 v 8′, število žetonov pri mestu �*, pa se
spremeni po naslednjem obrazcu:
8<(�*) = 8(�*) − #(�*, �(&+)) + #(�*, �(&+)) (5.7)
V nadaljevanju je prikazan primer izvajanja Petrijeve mreže:
8 = (1,0,0,0,1)
�
�> �!
�? �@
&
&! &>
Vžig &
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 17
8 = (0,1,1,0,1) (5.8) 8 (�!) = 8(�!) − #,�!, �(& )- + #,�!, �(& )- = 0 − 0 + 1 = 1 (5.9)
8 (�>) = 8(�>) − #,�>, �(& )- + #,�>, �(& )- = 0 − 0 + 1 = 1 (5.10)
8! = (0,0,1,1,0) (5.11) 8!(�?) = 8(�?) − #,�?, �(&!)- + #,�?, �(&!)- = 0 − 0 + 1 = 1 (5.12)
Vžig &!
Vžig &>
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 18
8> = (0,0,0,1,1) (5.13)
8>(�@) = 8(�@) − #,�@, �(&>)- + #,�@, �(&>)- = 0 − 0 + 1 = 1 (5.14)
5.1.2 Matrični zapis navadnih Petrijevih mrež
Strukturo Petrijevih mrež oziroma tok žetonov lahko opišemo tudi z matrikami in vektorji.
Matrika pogojev (pre-condition matrix) F predstavlja povezave med prehodi in vhodnimi
prostori. Kadar je določen prehod povezan z določenim vhodnim prostorom, zavzame
ustrezen člen v matriki F vrednost 1 in 0, kadar določen prehod ni povezan z določenim
vhodnim prostorom. V matriki F vrstice predstavljajo določene prehode in stolpci določene
prostore.
� �! �>
A = B0 1 11 0 11 0 1C & &!&>
A(�, D) = E01F (5.15)
Matrika posledic (post-condition matrix) S predstavlja povezave med prehodi in izhodnimi
prostori. Kadar je določen prehod povezan z določenim izhodnim prostorom, zavzame
ustrezen člen v matriki vrednost 1 in 0, kadar določen prehod ni povezan z določenim
izhodnim prostorom. V matriki S vrstice predstavljajo določene prostore in stolpci
določene prehode.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 19
& &! &>
G = B0 1 00 1 11 0 1C � �!�> G(�, D) = E01F (5.16)
Spodaj sta zapisana primera matrike pogojev in matrike posledic Petrijeve mreže prikazane
na sliki 5.4.
� �! �> �? �@
A = B1 0 0 0 00 1 0 0 10 0 1 0 0C & &!&> (5.17)
& &! &> G =
HIIIJ0 0 01 0 01 0 00 0 00 1 1KL
LLM � �!�>�?�@
(5.18)
Slika 5.4: Petrijeva mreža
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 20
Incidenčna matrika M kaže odnos med matriko posledic S in matriko pogojev F.
NO = G − AO (5.19)
Enačba prehajanja stanj (5.20) nam pove, da se po pojavu -tega dogodka P(), trenutno
stanje sistema �() spremeni v novo stanje �( + 1).
�( + 1) = �() + NOP() (5.20)
Vektor P() (5.21) opisuje množico dogodkov oz. proženje tranzicij v odvisnosti od
matrike pogojev F, trenutnega stanja sistema �() in trenutnega stanja vhodov u v sistem.
Dogodek se lako izvede ali se ne izvede zato vektor P() zavzame vrednosti 0 ali 1. [4]
P() = ,AQ ⊕ �()-&T; P() = VP , P! … P#W; P* = E01F (5.21)
Vektor trenutnega stanja �() pomeni stanje sistema po pojavu ( − 1)-tiga dogodka P() in prav tako zavzema vrednosti 0 ali 1.
�() = V� , �! … �#W; �* = E01F (5.22)
Vhodni vektor T predstavlja vektor zunanjih vhodov za vžig prehodov.
T = VT , T! … TXW; T* = E01F (5.23)
Na sliki 5.5 je prikazana Petrijeva mreža z označenimi zunanjimi vhodi.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 21
T = VT , T!, T>W (5.24)
Slika 5.5: Petrijeva mreža
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 22
6 MODEL TRANSPORTNEGA SISTEMA
V sledečem poglavju bo opisana izdelava modela transportnega traka v programskem
paketu Matlab/Simulink. Podrobneje bodo opisani posamezni sklopi transportnega traka,
njihova vloga in zgradba - delovanje njihovih simulacijskih shem. Sklopi transportnega
traka predstavljajo elemente realnega transportnega traka, kot so palete, aktuatorji vrat in
delovnih postaj, nekateri sklopi pa predstavljajo elemente, ki nimajo fizičnega pomena kot
je npr. programska koda shranjena v PLK-ju v nadaljevanju predstavljena s Petrijevim
krmilnikom, pa vendar so ključnega pomena pri delovanju transportnega traka. Sklopi, ki
predstavljajo elemente realnega transportnega sistema so bili izdelani izključno za potrebe
VRML modela transportnega traka. Naslednja slika 6.1 prikazuje strukturo simulacijske
sheme transportnega traka, sestavljeno iz posameznih sklopov. Na sliki so smeri poteka
signalov prikazane z usmerjenimi povezavami med sklopi, aktivne skupine sklopov pri
določenem načinu delovanja, pa so prikazane z načinom barvnih krogov.
Slika 6.1: Shema modela transportnega traka
Modeli aktivni v načinu simulacije
Modeli aktivni v načinu krmiljenja
Modeli aktivni v načinu diagnostike
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 23
Simulacijsko shemo transportnega traka sestavljajo naslednji sklopi:
− Petrijev krmilnik
− VRML model transportnega traka
− Palete
− Vrata
− Delovni postaji
− Barvna signalizacija vrat
− Barvna signalizacija delovnih postaj
− Virtualna končna stikala
− Detektor prisotnosti vseh vrat
− Časovnik odprtih vrat
− Senzorja prisotnosti palet na delovnih postajah
− Konzola
− Virtualni osciloskop
− Blokovne sheme (PLK) namenjene komunikaciji simulacijske sheme s PLK-jem na realnem transportnem sistemu
6.1 Palete
Sklop Palete (slika 6.2) je sestavljen iz blokovnih shem posameznih palet, ki simulirajo
gibanje realnih palet. Blokovna shema posamezne palete je sestavljena iz petih glavnih
medseboj odvisnih sklopov, prikazanih na sliki 6.3. Prvi sklop blokov določajo končna
stikala, njihov princip delovanja je zelo podoben principu delovanja realnih končnih stikal
kar pomeni, da je njihova naloga detekcija palet na koncu posameznega segmenta proge.
Naslednji sklop predstavlja diskretni sekvenčni krmilnik zasnovan na osnovi Petrijevih
mrež, kateri določa pravilno zaporedje proženja segmentov prog. Sledi sklop blokov, ki
berejo vektor trenutnega stanja in na osnovi tega aktivirajo določeno progo. Naslednji
sklop blokov preverja položaj palete in glede na stanje določenih vrat model palete ustavi
ali pa mu omogoči nadaljevanje gibanja. Zadnji sklop sestavljajo simulacijske sheme prog,
ki določajo način gibanja in položaj palete na posamezni progi. Kot celota tvorijo celotno
progo po kateri potuje model palete.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 24
Slika 6.2: Sklop Palete
Slika 6.3: Glavni sklopi posamezne palete
6.1.1 Končna stikala Na sliki 6.4 označeni bloki simulirajo delovanje končnih stikal, hkrati pa kot skupek
posameznih virtualnih končnih stikal določajo vhodni vektor v Petrijevi mreži diskretnega
sekvenčnega algoritma, opisanega v naslednjem poglavju.
Delovanje je zelo preprosto in sicer vsak od blokov primerja vrednosti položaja palete na
določeni progi z vrednostjo določeno v bloku.
PALETA 1:
- Proga 1 - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9
PALETA 2:
- Proga 1 - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9
PALETA 3:
- Proga 1 - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9
PALETA 4:
- Proga 1 - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9
PALETA 5:
- Proga 1 - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 25
Vrednost določena v bloku predstavlja konec posamezne proge. Izhodne vrednosti blokov,
ki so v diskretni obliki so nato povezane z diskretnim sekvenčnim algoritmom zasnovanim
s Petrijevo mrežo, kjer določajo vhodni vektor v shemi Petrijeve mreže.
Uporabljen način določanja vhodnega vektorja s končnimi stikali je bil uporabljen
predvsem iz razloga, ker z omenjenim načinom lahko dosežemo proženje prehoda v
Petrijevi mreži samo takrat, ko se paleta nahaja na koncu predhodne proge. Proženje
prehoda v Petrijevi mreži diskretnega sekvenčnega algoritma pomeni prehod palete na
naslednjo progo. Podrobneje je diskretni sekvenčni algoritem zasnovan s Petrijevo mrežo
opisan v naslednjem poglavju 6.1.2.
Slika 6.4: Modeli končnih stikal
Virtualna končna stikala tvorijo vhodni vektor u
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 26
6.1.2 Diskretni sekvenčni algoritem zasnovan s Petrijevo mrežo
Proga palet na transportnem traku je sestavljena iz translacijskega in rotacijskega gibanja
kot prikazuje slika 6.5, pri tem smo zaradi načina gibanja, položaja vrat in delovnih postaj,
ki palete ustavljajo osnovno progo razdelili na manjše proge prikazane na sliki 6.6. Vsak
blok palete vključuje simulacijsko shemo celotne zaključene proge po kateri se giblje, tako
se lahko palete gibljejo med seboj neodvisno.
Slika 6.5: Področje translacije in rotacije
Slika 6.6: Delitev osnovne proge
Pot, ki jo opravi paleta lahko opišemo v matematični obliki kot:
Y6(&) = G6Z + [ 3 \]_̂ (6.1)
3 = � ∙ 3Xa^ (6.2)
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 27
3Xa^ = N ∙ 3X (6.3)
N = b0, �c&c� �deDTčg� 1, �c&c� 3eDTčg� F
3 … ℎ�&�cY& &��T
3Xa^ … ℎ�&�cY& �c&c�D�
� … ��gY&�3�c ��d�g�Dg �g\T&c�D�
= V1, … ,9W (6.4)
= + 1, če (Y6 = G6) ∧ (6 = 1) (6.5)
0 ≤ & ≤ �6, �6 ∶ Y6(&)|^mOn = G6, (6.6)
G6Z < Y6 ≤ G6 (6.7)
G6 = p q*6*m (6.8)
G_ = 0 (6.9)
Opazili smo lahko, da je pri gibanju posamezene palete aktiven vedno samo en segment
(Proga n) celotne proge pri tem, pa si aktivni segmenti po katerih potuje paleta sledijo
zaporedoma-sekvenčno. Za opisani način aktiviranja posameznih segmentov proge smo
uporabili koncept Petrijevih mrež.
Pri načrtovanju blokovne sheme Petrijeve mreže v programskem orodju Simulink, sta bili
kot osnova uporabljeni enačbi prehajanja stanj in enačba proženja tranzicij (poglavje
5.1.2). Da smo lahko zapisali matriko pogojev in matriko posledic, ki določata incidenčno
matriko je bilo potrebno najprej narisati Petrijevo mrežo v obliki grafa na sliki 6.7. Petrijev
graf je sestavljen iz prehodov &#, prostorov �#, ki v našem primeru predstavljajo
posamezne segmente proge in zunanjih vhodov T#, kateri določajo dodatne pogoje za vžig
prehodov. Zunanje vhode T# predstavljajo virtualna končna stikala, ki zavzamejo vrednost
1, ko je paleta pripotovala na konec segmenta proge, drugače je vrednost 0.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 28
�# = ��c� � &# = ��gℎc\ � T# = 1ℎc\�� 3g&c�
(3��&T�e�� c�� Y&��e�)
Začetno stanje Petrijeve mreže posamezne palete je naslednje:
Paleta 1: 8 = V0,0,0,0,1,0,0,0,0W (6.10)
Paleta 2: 8! = V0,0,0,0,0,0,1,0,0W (6.11)
Paleta 3: 8> = V0,1,0,0,0,0,0,0,0W (6.12)
Paleta 4: 8? = V1,0,0,0,0,0,0,0,0W (6.13)
Paleta 5: 8@ = V0,0,0,0,0,1,0,0,0W (6.14)
Slika 6.7: Petrijeva mreža proženja posameznih segmentov proge
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 29
Naslednja tabela (tabela 2) prikazuje pomen posameznih oznak v Petrijevi mreži, nato so
prikazane matrike pogojev, posledic in incidenčna matrika. Na sliki 6.8 pa je prikazana
blokovna shema diskretnega sekvenčnega algoritma za določanje proge palete, katera ima
identično strukturo kot blokovna shema Petrijevega krmilnika za vodenje modela
transportnega traka in realnega transportnega traka.
Št. prostora Pomen Št. vhodnega vektorja Pomen
� Proga 1 T Vrata SG4
�! Proga 2 T! Vrata SG3
�> Proga 3 T> /
�? Proga 4 T? /
�@ Proga 5 T@ Vrata SG1
�r Proga 6 Tr Vrata SG5
�s Proga 7 Ts Vrata SG2
�t Proga 8 Tt /
�u Proga 9 Tu /
Tabela 2: Legenda oznak Petrijeve mreže
Matrika pogojev F:
A =
HIIIIIIIJ1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 1 0 0 0 0 00 0 0 0 1 0 0 0 00 0 0 0 0 1 0 0 00 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 1KL
LLLLLLM
(6.15)
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 30
Matrika posledic S:
G =
HIIIIIIIJ0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 1 0 0 0 0 00 0 0 0 1 0 0 0 00 0 0 0 0 1 0 0 00 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 0KL
LLLLLLM
(6.16)
Incidenčna matrika vw = x − yw:
NO =
HIIIIIIIJ0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 1 0 0 0 0 00 0 0 0 1 0 0 0 00 0 0 0 0 1 0 0 00 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 0KL
LLLLLLM
−
HIIIIIIIJ1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 1 0 0 0 0 00 0 0 0 1 0 0 0 00 0 0 0 0 1 0 0 00 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 1KL
LLLLLLM
=
=
HIIIIIIIJ−1 0 0 0 0 0 0 0 11 −1 0 0 0 0 0 0 00 1 −1 0 0 0 0 0 00 0 1 −1 0 0 0 0 00 0 0 1 −1 0 0 0 00 0 0 0 1 −1 0 0 00 0 0 0 0 1 −1 0 00 0 0 0 0 0 1 −1 00 0 0 0 0 0 0 1 −1KL
LLLLLLM
(6.17)
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 31
Slika 6.8: Simulacijska shema diskretnega sekvenčnega algoritma
6.1.3 Blokovne sheme proženja prog na podlagi trenutnega vektorja stanja
Blokovne sheme (slika 6.9) so namenjene branju določenega člena vektorja trenutnega stanja. Kateri člen vektorja se bo bral določimo s konstanto na vhodu bloka. Izhodna vrednost je številčna vrednost v diskretni obliki.
Slika 6.9: Blok Index Vector
6.1.4 Simulacijska shema za pogojno ustavljanje palet
Namen simulacijske sheme za pogojno ustavljanje palet je simuliranje ustavljanja palete na položajih vrat, ko so vrata zaprta oz. omogočanje nadaljevanje gibanja, ko so vrata odprta.
m
1z
1
uT
S
[9x9]
Matrix
Multiply
Matrix
MultiplyNOT
AND
NOT
[A]
[A]
F1
[9x9]
boolean
boolean
u
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 32
Omenjena blokovna shema primerja dva signala in sicer signal za zapiranje vrat iz diskretnega sekvenčnega krmilnika in signal položaja palete na posameznem segmentu proge. Kadar se paleta nahaja pred položajem vrat, blokovna shema omogoči prehod signala za zapiranje vrat oz. ustavitev palete do modela proge (integratorja). V primeru, da se pojavi signal za zapiranje vrat oz. ustavitev palete, ko je le ta že zapustila položaj vrat, blokovna shema onemogoči prehoda signala do modela proge (integratorja) in paleta nadaljuje gibanje. Na naslednjih enačbah so prikazana stanja signalov, kdaj se bo paleta ustavila in kdaj bo nadaljevala gibanje. Na sliki 6.10 je prikazana ena izmed simulacijskih shem za pogojno ustavljanje palet.
((21 ≤ 3,09) ∧ (�� 1 = 1)) ⟹ (�T&1 = 1) (6.18)
((21 > 3,09) ∧ (�� 1 = 0)) ⟹ (�T&1 = 0) (6.19)
((21 ≤ 3,09) ∧ (�� 1 = 0)) ⟹ (�T&1 = 0) (6.20)
((21 > 3,09) ∧ (�� 1 = 1)) ⟹ (�T&1 = 0) (6.21)
Slika 6.10: Shema bloka Pogoj_za_ustavljanje_palet
6.1.5 Proga
V blokovno shemo proge vključeni posamezni deli proge ali segmenti proge so sestavljeni iz dveh ali štirih blokov, odvisno kakšen način gibanja se izvaja na posameznem odseku proge. Če je gibanje sestavljeno samo iz translacije sta v segment proge vključena bloka Polozaj_proga v katerem je definiran zamik translacijskega gibanja v smeri z-osi in blok Translacija_proga, kateri določa pot palete. Kadar preide translacijsko gibanje palete v rotacijsko, sta še dodatno vključena bloka vrtenje_radij_proga in Rotacija_proga. Blok vrtenje_radij_proga ima nalogo, da na začetku rotacije premakne center na ustrezno mesto, ki ga definiramo s polmerom.
Prozenje
proga 1
1
Proga 1
[A3]
Polozaj
postaje
SG4
<= 3.09
ANDSignal
zapiranje
vrat SG 4
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 33
V bloku Rotacija_proga določimo os in hitrost rotacije. Vsi bloki z enakim načinom gibanja npr. Translacija_proga so nato povezani na blok Sum, na vhodu katerega pa je aktiven (pozitiven) vedno samo en signal. Vsi bloki, ki določajo posamezene načine gibanja imajo vključen blok Multiport Switch, ki v odvisnosti od vektorja trenutnega stanja dovoljuje ali bo signal , ki potuje do skupnega bloka Sum pozitiven ali enak 0. Na sliki 6.11 je prikazan del blokovne sheme palete na kateri so označeni bloki, ki določajo translacijsko gibanje palete na segmentih Proga 1 in Proga 2. Shema bloka Translacija_proga1 na sliki 6.12 izračunava položaj palete na podlagi podane hitrosti, kadar je na prvem vhodu bloka Multiport Switch 1 vrednost enaka 1, kadar pa je vrednost enaka 0, je tudi vrednost izhoda bloka enaka 0. Na sliki 6.13 so prikazani bloki, ki določajo rotacijsko gibanje.
Slika 6.11: Blokovna shema palet – prog
Model proge 1
Model proge 2
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 34
Slika 6.14 prikazuje shemo bloka vrtenje_radij_proga8, na kateri je določeni polmer rotacije v smeri x-osi. Naslednja slika 6.15 pa prikazuje koordinate središča rotacije palete v x in z smereh. Shema bloka Rotacija_proga8, ki določa os vrtenja (y-os) ter pot palete pri vrtenju je prikazana na sliki 6.16.
10
Multiport
Switch11
sHitrost gibanja
palete
[v] 0.6
signal za
prozenje vrat
2
dolocen clen
trenutnega
vektorja stanja
1
1
0
0
0
Polmer
-0.255
Multiport
Switch 3
Dolocen clen
vektorja trenutnega
stanja
1
1
z_smer
2.5195
x_smer
1.67
0
0
Multiport
Switch 3
Dolocen clen
vektorja trenutnega
stanja
1
Slika 6.13: Bloki proge z rotacijskim načinom gibanja
Slika 6.14: Shema bloka: vrtenje_radij_proga8
Slika 6.15: Shema bloka: Polozaj_proga8
Slika 6.12: Shema bloka: Translacija_proga1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 35
6.2 Aktuatorji in signalizacija
Kadar načrtujemo vodenje ali samo nadzorujemo delovanje transportnega sistema v
prostoru iz katerega nimamo neposrednega vizualnega kontakta potrebujemo nadomestek
na katerem lahko spremljamo obnašanje transportnega sistema. Kot nadomestek oziroma
grafični vmesnik je uporabljen 3D model, na katerem so tudi delujoči aktuatorji.
Da lahko spremljamo njihov položaj, so bile na 3D modelu naknadno dodane signalne luči,
kajti fizični premiki in sama velikost 3D modelov aktuatorjev so premajhni, da bi lahko
hitro in brez težav ugotovili stanje vrat in delovnih postaj. Za krmiljenje barvnih
signalizacij in položaja zatičev aktuatorjev na 3D modelu transportnega traka je bilo
potrebno izdelati blokovne sheme, prikazane na sliki 6.17.
Virtualno koncno
stikalo
2
1
y_os
1
0
0
0
Multiport Switch 3
1
sHitrost gibanja
palete
[v] 3
reset_8 2
Dolocen clen
trenutnega vektorja
stanja
1
Slika 6.16: Shema bloka: Rotacija_proga8
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 36
Slika 6.17: Bloki aktuatorjev vrat in barvne signalizacije
V blokovni shemi bloka Premik_vrata1, ki določa položaj zatiča sta definirani dve
vrednosti položaja v smeri y-osi. Kateri položaj je aktiven je odvisno od vrednosti
vhodnega signala (zapiranje/odpiranje vrat), katerega izvor je lahko PLK v načinu
diagnostike in krmiljenja ali simulacijska shema (Petrijev krmilnik) v načinu simulacije
(slika 6.18).
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 37
Slika 6.18: Blokovna shema bloka Premik_vrata1
Zelo podobno je tudi delovanje blokovne sheme, ki krmili barvo signalnih luči pri
ustreznih vratih (slika 6.19), v kateri sta definirani dve vrednosti odtenkov barv (rdeča in
zelena). Aktivnost posamezne barve je odvisna od vhodne vrednosti (Stanje) bloka
Multiport Switch7 in je enaka kot v prejšnji blokovni shemi bloka Premik_vrata1.
Slika 6.19: Blokovna shema za krmiljenje signalnih luči
6.3 Petrijev krmilnik za vodenje transportnega sistema
Naloga Petrijevega krmilnika je simuliranje delovanja PLK-ja vključno s shranjenim programom. Petrijev krmilnik krmili simulacijsko shemo transportnega traka v načinih simulacije in krmiljenja - vodenja v načinu diagnostike, pa njegovo vlogo prevzame PLK na realnem transportnem traku. Program Petrijevega krmilnika določa oblika Petrijeve mreže (slika 6.20), ki je zapisana v matrični obliki z blokovno shemo.
1
z_os
2.203y2
0.05
y1
0.035
x_os
4.1
Multiport
Switch
Signal za
prozenje vrat
1
Barva
1
Zelena
[0 1 0 ]
Rdeca
[1 0 0 ]
Multiport
Switch7
Stanje
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 38
�# = ��c� � &# = ����d�{�D� �
T# = 1ℎc\�� 3g&c� � (senzorji
in aktuatorji)
Začetno stanje Petrijeve mreže je naslednje: 8 = V0,0,0,1,0,0,0,1,0,0,0,1W (6.22)
Št. prostora Pomen Št. vhodnega vektorja Pomen
� Odpri vrata/vklopi motor
& Konec čakanja
�! Zapri vrata &! /
�> / &> Vse postaje
Slika 6.20: Petrijeva mreža vodenja modela in realnega transportnega traka
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 39
zasedene
�? Izklopi motor &? PE 1 zasedena
�@ / &@ PE 1 - paleta pripravljena
�r Vpni paleto 1 (položajna enota)
&r Konec Robot 1
�s Robot 1 (delovna operacija)
&s PE 2 zasedena
�t Sprosti paleto 1 (položajna enota)
&t PE 2 - paleta pripravljena
�u / &u Konec Robot 2
� _ Vpni paleto 2 (položajna enota)
& _ Start-shema/konzola
� Robot 2 (delovna operacija)
� ! Sprosti paleto 2 (položajna enota)
Tabela 3: Legenda oznak Petrijeve mreže
Za matrični zapis Petrijeve mreže z blokovno shemo smo potrebovali matriko pogojev F ter matriko posledic S, ki določata incidenčno matriko NO. Matrika pogojev F:
A =
HIIIIIIIIJ1 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 00 0 0 0 1 0 0 0 0 0 0 00 0 0 0 0 1 0 0 0 0 0 00 0 0 0 0 0 1 0 0 0 0 00 0 0 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 0 0 1 00 0 0 1 0 0 0 1 0 0 0 1KL
LLLLLLLM
(6.23)
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 40
Matrika posledic S:
G =
HIIIIIIIIIIJ0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 0 0 1 0 0 0 00 1 0 0 0 0 0 0 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 1 0KL
LLLLLLLLLM
(6.24)
Incidenčna matrika vw = x − yw:
NO =
HIIIIIIIIIIJ0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 0 0 1 0 0 0 00 1 0 0 0 0 0 0 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 1 0KL
LLLLLLLLLM
−
HIIIIIIIIIIJ1 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 10 0 0 1 0 0 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 0 0 1 0 0 0 00 0 0 0 0 0 0 0 0 10 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 1KL
LLLLLLLLLM
=
=
HIIIIIIIIIIJ−1 0 0 0 0 0 0 0 0 11 −1 0 0 0 0 0 0 0 00 1 −1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 −10 1 0 −1 0 0 0 0 0 00 0 0 1 −1 0 0 0 0 00 0 0 0 1 −1 0 0 0 00 0 0 0 0 1 0 0 0 −10 1 0 0 0 0 −1 0 0 00 0 0 0 0 0 1 −1 0 00 0 0 0 0 0 0 1 −1 00 0 0 0 0 0 0 0 1 −1KL
LLLLLLLLLM
(6.25)
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 41
Na naslednji sliki 6.21 je prikazana blokovna shema Petrijevega krmilnika za vodenje modela transportnega traka in realnega transportnega traka. V bloka S in F1 smo vpisali matriko posledic in pogojev, ki smo ju določili glede na obliko Petrijeve mreže. V bloku Unit Delay smo določili začetno stanje žetonov v Petrijevi mreži.
Slika 6.21: Petrijev krmilnik
6.4 Simulacijska shema za detekcijo zasedenosti vseh vrat Simulacijska shema za detektiranje zasedenosti vseh vrat simulira delovanje induktivnega senzorja prisotnosti palete na realnem transportnem sistemu. Njen princip delovanja (sliki 6.22 in 6.23) je takšen, da primerja položaj poljubne palete, ko ta potuje na progi devet z vnaprej določenim položajem zapisanim v bloku Comapare To Constant. Vrednost položaja, zapisana v bloku predstavlja položaj vrat SG4. Kadar se vrednosti položajev ujemata oz. je trenutni položaj palete večji od določenega je zadnja paleta prispela na položaj vrat in takrat so vsa vrata zasedena. Kot je mogoče ugotoviti opazujemo samo položaj palet na progi devet, kajti paleta na progi devet vedno prispe najkasneje na položaj naslednjih vrat, hkrati pa upoštevamo, da se pri simulaciji ne pojavljajo zdrsi palet in ostali vplivi, ki bi povzročili zakasnitev gibanja modela palete.
m
1z
1
uT
S
[12 x10 ]
Matrix
Multiply
Matrix
Multiply
AND
NOT
NOT
[A]
[A]
F1
[10 x12 ]
boolean
boolean
u
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 42
Slika 6.22: Blokovna shema bloka Vse postaje zasedene
Slika 6.23: Blokovna shema bloka Subsystem
6.5 Časovnik odprtih vrat
Časovnik določa časovni interval med odpiranjem in zapiranjem vrat. Na realnem transportnem sistemu je časovni interval določen v programu shranjenem na PLK-ju. Opisano zakasnitev zapiranja vrat v simulacijski shemi izvajajo blokovne sheme v bloku Cas odprtih vrat, (slike 6.24, 6.25 in 6.26). Čas zakasnitve je mogoče določiti s spremembo vrednosti vpisane v bloku cas zakasnitve na sliki 6.26.
Out 1
1
Subsystem
In1In2In3In4In5In6
Out1
NOT[SG1]
[Proga 9_5]
[Proga 9_4]
[Proga 9_3]
[Proga 9_2]
[Proga 9_1]
Reset
1
Out 1
1
TerminatorS-R
Flip -Flop
S
R
Q
!QNOT
OR double
>= 3.085
>= 3.085
>= 3.085
>= 3.085
>= 3.085
EnableProga 9_
paleta 5
6
Proga 9_
paleta 4
5
Reset
4Proga 9_
paleta 3
3
Proga 9_
paleta 2
2
Proga 9_
paleta 1
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 43
Slika 6.24: Blokovna shema časovnika - blok Cas odprtih vrat
Slika 6.25: Blokovna shema bloka Subsystem
Slika 6.26: Blokovna shema bloka Subsystem1
6.6 Senzorji delovnih postaj
Struktura simulacijskih shem senzorjev na delovnih postajah (sliki 6.27 in 6.28) je zelo podobna že opisanim simulacijskim shemam za detekcijo zasedenosti vseh vrat, vendar detektirajo prisotnost palet samo na položajih delovnih postaj. Razlikujejo se še v branju položajev palet na različnih progah, bloke Compare To Constant, pa so zamenjali bloki Interval Test. Slednji prav tako primerjajo trenutni položaj palet z določenim, le da je ta zapisan v intervalnim obliki. Ker sta na transportnem traku vgrajeni dve delovni postaji, sta tudi v simulacijski shemi uporabljena bloka Senzor delovne postaje 1 in Senzor delovne
postaje 2. Bloka imata identični blokovni shemi vendar prvi bere položaj palet na progi 4, medtem, ko drugi na progi 6.
1
Subsystem
In1 Out1[m_k]
1
Subsystem1
NOT
AND
Index
Vector9
[vrata ]
double
1
m_k
1
1
cas zakasnitve
>= 0.9z
1
Multiport
Switch
0
1
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 44
Slika 6.27: Blokovna shema bloka Senzor delovne postaje 1
Slika 6.28: Blokovna shema bloka Subsystem
6.7 Povezava simulacijske sheme transportnega traka s PLK-jem
Simulacijska shema transportnega traka je v načinu krmiljenja povezana z OPC
strežnikom, ki preko RS-232 komunicira s PLK (natančneje je bila povezava prikazana na
na sliki 4.3, 3. poglavje). Komunikacijo med simulacijsko shemo in OPC strežnikom -
PLK-jem v smeri OPC strežnika - PLK-ja omogočajo bloki OPC Write.
1
signal za prozenje vrat SG 1
[SG1]Subsystem
Proga4_ paleta1Proga4_ paleta2
Proga4_ paleta3Proga4_ paleta4Proga4_ paleta5
Proga 4_
paleta 5
[D5]
Proga 4_
paleta 4
[D4]
Proga 4_
paleta 3
[D3]
Proga 4_
paleta 2
[D2]
Proga 4_
paleta 1
[D1]
NOT
Enable signal
1
1
S-R
Flip -Flop
S
R
Q
!Q
NOT
OR
Interval Test 4
Interval Test 3
Interval Test 2
Interval Test 1
Interval Test
double
Enable
Proga 4_
paleta 5
6
Proga 4_
paleta 4
5
Proga 4_
paleta 3
4
3Proga 4_
paleta 2
2
Proga 4_
paleta 1
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 45
Z uporabo slednjih lahko vrednosti iz simulacijske sheme prepisujemo na naslove v PLK-
ju, ki nato krmili aktuatorje in elektromotor na realnem transportnem sistemu. Na sliki 6.29
je prikazan blok namenjen krmiljenju aktuatorjev na vratih.
Slika 6.29: OPC Write blok za krmiljenje vrat
Programska oprema omogoča v diagnostičnem načinu opazovanje in analiziranje delovanja
realnega transportnega traka, ki poteka preko okna z VRML modelom ter preko
virtualnega osciloskopa. Da bi lahko vzpostavili potrebno povezavo med PLK-jem in
simulacijsko shemo transportnega traka v obratni smeri kot v načinu krmiljenja so bili v
simulacijsko shemo vključeni bloki OPC Read. Omenjeni bloki omogočajo preko OPC
strežnika branje vrednosti iz naslovov na PLK-ju ter jih posredujejo simulacijski shemi
transportnega traka. Na sliki 6.30 je prikazan blok OPC Read, namenjen branju stanja
senzorjev na vratih SG1 in SG2, realnega tranportnega sistema.
Slika 6.30: OPC Read blok namenjen branju stanja senzorjev vrat SG1 in SG2
OPC Write (Sync):
S7_300 ...ta.SG1
S7_300 ...ta.SG5
Vrata SG 5
2
Vrata SG 1
1
Senzor vrata 2
2
Senzor vrata 1
1
OPC Read (Cache ):
S7_30 ...rji .S1
S7_30 ...rji .S2
V
T
V
|u|
|u|
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 46
6.8 Virtualni osciloskop
V simulacijsko shemo je bil vključen tudi virtualni osciloskop, ki je predstavljen z blokom
Scope. Omenjeni blok najdemo v knjižnicah programskega orodja Simulink. Prednost
virtualnega osciloskopa je arhiviranje podatkov, hkrati pa omogoča natančnejšo analizo
delovanja transportnega traka. V krmilnem in diagnostičnem načinu delovanja programske
opreme je povezan z realnim transportnim trakom zato prikazuje stanja realnega
transportnega traka. V simulacijskem načinu delovanja je virtualni osciloskop povezan s
simulacijsko shemo transportnega traka, zato prikazuje stanje modela transportnega traka.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 47
7. VRML MODEL TEKOČEGA TRAKA
Zelo pomemben element vsake programske opreme je grafični vmesnik. Naloga grafičnega
vmesnika je vzpostaviti oz. olajšati komunikacijo med programsko opremo in
uporabnikom.
Zaradi različnih načinov v katerih lahko poganjamo programsko opremo je bilo potrebno
izbrati primerno obliko grafičnega vmesnika. Uporabljen bi bil za prikazovanje stanja
modela in realnega tekočega traka, hkrati pa bi omogočal tudi opazovanje dinamičnih
dogodkov, kot so gibanje palete. Sposobnost prikazovanja dinamičnih dogodkov, bi imela
pomembno vlogo pred vsem pri načrtovanju vodenja. Zaradi vseh naštetih zahtev smo se
odločili za vmesnik v VRML jeziku. Vmesnik predstavlja 3D VRML model transportnega
traka, ki omogoča prikazovanje gibanja palet in aktuatorjev hkrati pa je nadgrajen s
signalnimi lučmi, ki omogočajo boljšo preglednost nad stanjem aktuatorjev. Poudariti je
potrebno, da so bile signalne luči na modelu transportnega traku dodane naknadno zaradi
boljšega pregleda stanja vrat in jih realni transportni trak ne vsebuje.
7.1 Izdelava modela transportnega traka v programskem orodju SolidWorks Zaradi dokaj zapletene oblike transportnega traku, model ni bil izdelan v programu
V-Realm builder, ki je namenjen izdelavi virtualnih modelov in je tudi integriran v
programski paket Matlab/Simulink ampak v programskem orodju SolidWorks.
Programsko orodje SolidWorks je namenjeno modeliranju zahtevnejših 3D modelov,
omogoča enostavno in hitro risanje zapletenih oblik teles. Prednost orodja je tudi
shranjevanje narisanih modelov v različnih formatih, kot je npr. .wrl. Na naslednjih
zaporednih slikah bo prikazan postopek izdelave 3D modela mize, ki je sestavni del
ogrodja transportnega traka.
Modeliranja modela mize se lotimo tako, da najprej zaženemo program SolidWorks, nato
se nam prikaže okno kjer izberemo File/New (slika 7.1). S klikom na ikono Part smo
izbrali modeliranje v 3D modelirniku. 3D modelirnik je namenjen modeliranju posameznih
3D modelov, ki ji lahko v modulu Assembly sestavimo, oz. izdelamo njihovo tehnično
dokumentacijo v modulu Drawing.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 48
Slika 7.1: Okno kjer določimo risanje 3D modela v 3D modelirniku
Ko se nam pokaže delovno okno, najprej izberemo ravnino v kateri bomo skicirali model
npr. Top Plane in kliknemo v meniju Insert/Sketch, tako se nam prikaže okno skicirke v
kateri bomo v tlorisnem pogledu narisali osnovno obliko transportnega traka (slika 7.2). V
skicirki lahko rišemo samo v dveh dimenzijah na posamezni ravnini, razen če uporabimo
funkcijo 3D Sketch.
Slika 7.2: Delovno okno z izbrano ravnino
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 49
Za risanje uporabljamo ikone, kot so Line, Circle itd. Na naslednji sliki 7.3 je narisana
osnovna kontura transportnega traku v tlorisnem pogledu.
Slika 7.3: Risanje v skicirki
Narisano skico povlečemo v 3D model tako, da kliknemo na desni zgornji strani okna
ikono za potrditev, s tem se vrnemo v delovno okolje kjer nato izberemo
Insert/(Boss/Base)/Extrude. Na levi strani se pojavi novo okno v katerem določimo globino
modela (slika 7.4) in kliknemo zeleno ikono za potrditev.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 50
Slika 7.4: Določanje globine modela
Po vpisu globine in potrditvi s klikom na zeleno kljukico se pojavi model v 3D obliki (slika
7.5).
Slika 7.5: Dokončan 3D model mize
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 51
Model tekočega traku smo s prikazanim načinom dodajanja materiala in z načinom
odvzemanja materiala zmodelirali do končne oblike (slika 7.6). Ostale elemente, ki jih v
simulaciji premikamo ali spreminjamo barvo, kot so modeli aktuatorjev, palet in signalnih
luči smo zmodelirali ločeno - naknadno (slike 7.7, 7.8, 7.9) in jih združili z modelom
transportnega traka v programu V-Realm Builder. Naknadno modeliranje in sestavljanje
smo izvedli, ker VRML jezik omogoča izvajanje različnih operacij samo na posameznih
ločenih telesih iz katerih je sestavljen celoten VRML model. Pri modeliranju 3D modela,
ki ga bomo pozneje, kot VRML model uporabili v simulaciji dinamičnih dogodkov, velja
opomniti, da ne pretiravamo z nepomembnimi detajli, saj upočasnjujejo delovanje
simulacije.
Slika 7.6: 3D model tekočega traku
Slika 7.7: 3D model palete Slika 7.8: 3D model signalne luči delovne postaje
Slika 7.9: 3D model signalne luči vrat
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 52
7.2 Generiranje in urejanje modela transportnega traka zapisanega v VRML jeziku Kadar hočemo v programskem orodju Simulink narisano simulacijsko shemo modela
sistema povezati s 3D modelom, nam je postavljeno več zahtev glede vrste formata in
strukturne ureditve kode, ki opisuje 3D model. Da smo zadovoljili zahtevam smo .wrl kodo
generirali in uredili po postopku, kot je opisano v naslednjih podpoglavjih.
7.2.1 Generiranje .wrl kode 3D modela transportnega traka
V prejšnjem poglavju 7.1 je bil opisan osnovni način modeliranja 3D modela s
programskim orodjem Solidworks, v katerem se modelirani kosi oz. telesa privzeto
shranjujejo v formatu .sldprt, vendar pa potrebujemo 3D model zapisan v .wrl formatu
(VRML 97 ali VRML 2.0), katerega zahteva programsko orodje Simulink. To lahko
najpreprosteje storimo tako, da izkoristimo možnost, ki nam jo ponuja Solidworks.
Modelirnik namreč že v osnovi ponuja, da lahko zmodelirana telesa shranjujemo v
različnih formatih zato, pri shranjevanju modela preprosto izberemo možnost, da bomo
model shranili v .wrl formatu, nato kliknemo gumb options, ki se je pojavil in izberemo
verzijo VRML 97, kot je prikazano na sliki 7.10. Tega postopka generiranja .wrl kode smo
se posluževali tudi pri vseh ostalih elementih 3D modela transportnega traka.
Slika 7.10: Okno Export options in nastavitve
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 53
7.2.2 Združevanje elementov v celoto in poimenovanje
Pred začetkom modeliranja 3D modela transportnega traka smo se odločili, da bomo
posamezne dele transportnega traku zmodelirali posebej in jih nato v programu V-Realm
Builder združili v zaključeno celoto. Delo bi si lahko olajšali, tako da bi celoten model
sestavili v programu Solidworks, vendar smo se želeli podrobneje seznaniti s programskim
orodjem V-Realm builder in s strukturo VRML jezika, ki je v tem programu nazorno
prikazana.
Generiranje .wrl kode posameznih elementov 3D modela transportnega traka je povzročilo,
da so bile kode elementov ločene, zato jih je bilo potrebno najprej združiti v celoto -
preprosto s kopiranjem vseh kod v eno datoteko, pri tem smo morali paziti, da so bila vsa
vozlišča pravilno zapisana in zaključena. Pomebna zahteva, ki jo moramo izpolniti je tudi
poimenovanje posameznih elementov, ki smo jih združili v nasprotnem primeru nam je v
Simulink-u onemogočeno določanje lastnosti za vhode v blok VR Sink. Pred imenom
objekta zapišemo ukaz DEF in sicer na začetku vozlišča elementa - objekta nato sledi ime,
ki se ne sme začeti s številko (0-9) in ne sme vključevati ASCII znakov. [7]
7.2.3 Pozicioniranje elementov v V-Realm Builder-ju
Če smo sedaj združeno kodo odprli v programu V-Realm builder smo opazili, da so bili
modeli, katerih koda je bila naknadno združena, popolnoma raztreseni v prostoru zato jih
je bilo potrebno ustrezno pozicionirati na 3D modelu transportnega traka.
V V-Realm Builder-ju je koda prikazana s sistemom vozlišč. Kadar hočemo urejati
parametre določenega objekta poiščemo ime objekta v določenem vozlišču in ko nanj
dvokliknemo se nam prikažejo parametri vozlišča in podrejena vozlišča. S parametri
vozlišča lahko spreminjamo lastnosti telesa kot so: položaj, rotacija, merilo itd. medtem, ko
v podrejenih vozliščih spreminjamo sledeče lastnosti: material, teksture, velikost itd..
Spremembe vrednosti parametrov vozlišča in podrejenih vozlišč izvedemo tako, da z
dvoklikom izberemo lastnost, nato se nam v novem oknu prikažejo vrednosti, ki jih lahko
ob predhdni označitvi v okvirčku spreminjamo z drsnikom ali neposredno z vpisom
številčne vrednosti v okence. Na sliki 7.11 je prikazan primer za določanje vrednosti
translacijskega premika zatiča na na vratih.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 54
Program omogoča tudi, da položaj posameznega elementa, spreminjamo s klikom nanj in
ga povlečemo na želeno lokacijo. Takšen način spreminjanja pozicije elementov je veliko
enostavnješi in hitrejši, vendar manj natančen. Končna oblika VRML modela
transportnega traku je prikazana na sliki 7.12.
Slika 7.11: Določanje vrednosti translacijkega premika zatiča na vratih
Slika 7.12: Pozicioniranje elemetov v V-Realm Builder-ju
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 55
7.2.4 Povezava VRML modela transportnega traka s simulacijsko shemo
VRML model transportnega traku predstavlja grafični vmesnik na katerem lahko
opazujemo različna stanja in dogodke, ki se trenutno odvijajo v simulacijskem modelu ali
na realnem transportnem traku.
Da lahko VRML model transportnega traka »oživimo« potrebujemo izhode iz simulacijske
sheme, iz katere se bodo prenašale vrednosti, ki so potrebne za spreminjanje lastnosti
objektov v VRML modelu. Ti izhodi lahko določajo smer gibanja, hitrost gibanja, center,
barvo ali kakšne druge lastnosti objekta in jih z VRML okoljem povežemo posredno preko
bloka VR Sink, kot je prikazano na sliki 7.13.
Slika 7.13: Blok VR Sink s pripadajočimi vhodi
Naloga bloka VR Sink je prepisovanje vrednosti iz izhodov simulacijske sheme v polja
VRML okolja. Polja v katera prepisuje so določena z vhodi v blok VR Sink. V
nadaljevanju bo podan krajši osnovni opis postopka povezave simulacijske sheme z
VRML okoljem.
Ko je simulacijska shema želenega sistema dokončana poiščemo v knjižnici Virtual Reality
Toolbox blok VR Sink in ga povlečemo v delovno okno programskega orodja Simulink. Ko
nanj dvokliknemo se nam odpre novo okno Parameters: VR Sink kjer lahko spreminjamo
različne parametre. Najprej je smiselno, da poiščemo .wrl datoteko objekta, ki ga želimo
povezati s simulacijskim okoljem, to storimo s klikom na Browse in poiščemo datoteko ali
v vrstico Source file napišemo naslov do datoteke. Ko je naslov vpisan se nam v desnem
podoknu VRML Tree pojavi sistem vozlišč.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 56
Sistem vozlišč je podoben vozliščem v V-Realm Builder-ju vendar lahko po kliku na znak
»+« pred vsakim vozliščem in nato s klikom na prazen okvirček ob posameznemu
vozlišču, določamo katere lastnosti bomo uporabili kot vhode v blok VR Sink. S tem
določimo tudi katere lastnosti objektov v VRML okolju se bodo spreminjale na podlagi
izhodov iz simulacijske sheme. V podoknu VRML Tree opazimo tudi dvoje različnih
znakov, to so rdeče puščice in modre pike. Znaki nam sporočajo, da lahko pri posameznem
vozlišču izbiramo vhode v blok, takrat se pred vozliščem nahaja rdeča puščica, oziroma
nam je izbira onemogočena, takrat pred vozliščem opazimo modro piko. Ali nam bo izbira
omogočena, pa je odvisno, ali smo pri urejanju .wrl kode vozlišča poimenovali, kot je bilo
opisano v podpoglavju 7.2.2. Urejanje parametrov nadaljujemo v podoknu z imenom
Output, kjer potrdimo možnost Open VRML Viewer automatically če hočemo, da se nam
grafično okno samodejno odpre ob zagonu .mdl datoteke našega projekta. V meniju Block
properties/Sample Time še vpišemo ustrezen čas tipanja potrdimo s klikom na OK in vhode
bloka VR Sink, ki so se nam pravkar pojavili povežemo s shemo. Na sliki 7.14 je prikazano
okno Parameters: VR Sink s parametri, ki smo jih urejali.
Slika 7.14: Okno Parameters: VR Sink
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 57
8. Rezultati
Programska oprema je bila testirana na transportnem sistemu Bosch TS1 v vseh treh
načinih delovanja. Najprej je bilo preizkušeno delovanje v načinu diagnostike v katerem je
transportni trak krmilil PLK, programska oprema pa je preko VRML modela in virtualnega
osciloskopa prikazovala trenutno stanje transportnega traka. Na sliki 8.1 so prikazani
odzivi virtualnega osciloskopa. V odzivih lahko opazimo, da robota v času testiranja nista
bila povezana s transportnim trakom, zato program shranjen na PLK-ju ni upošteval njunih
signalov ob koncu delovne operacije, kot pogoj za nadaljevanje izvajanja cikla. Pri
krmiljenju s simulacijsko shemo modela transportnega traka na sliki 8.2 smo v program
vključili manjkajoč signal robotov, zato položajne enote sprostijo paleto, ko se iz
blokovnih shem modelov robotov pojavi signal za opravljeno delovno operacijo. Zaradi
zakasnitev pri komuniciranju med programsko opremo in PLK-jem je mogoče opaziti tudi
zakasnitev izklopa motorja po prihodu zadnje palete na delovno postajo. Na sliki 8.3 so
prikazani odzivi delovanja modela tekočega traka v načinu simulacije. Opazimo lahko zelo
kratke časovne intervale zakasnitev, ker v simulacijskem načinu programska oprema ne
komunicira z realnim transportnim trakom.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 58
Slika 8.1: Virtualni osciloskop – diagnostika
čas (t)
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 59
Slika 8.2: Virtualni osciloskop - krmiljenje
čas (t)
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 60
Slika 8.3: Virtualni osciloskop - simulacija
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 61
9. Sklep
Namen diplomskega dela je bil ob vzpostavitvi vodenja realnega transportnega traka s
programskim paketom Matlab/Simulink tudi izdelava simulacijskega modela transportnega
traka in virtualnega 3D modela transportnega traka. Uspelo nam je izdelati programsko
opremo, ki omogoča načrtovanje osnovnega vodenja transportnega traka v simulacijskem
okolju s pomočjo Petrijeve mreže, katere obliko lahko poljubno spreminjamo, zato lahko
upravičeno trdimo, da vključuje tudi osnovne elemente MBD (MBD-Model Based
Design) metode načrtovanja vodenja. Simulacijsko okolje je bilo zgrajeno z namenom, da
v vseh bistvenih lastnostih posnema delovanje realnega transportnega traka Bosch TS1,
zato je uporaba simulacijskega okolja omejena na transportni trak Bosch TS1.
Z rezultati diplomskega dela smo zadovoljni, kajti kljub nepričakovanim težavam nam je
uspelo doseči večino ciljev, ki smo si jih zadali na začetku, seveda pa še je mogoče
delovanje programske opreme tudi izpopolniti predvsem na področjih, kot so usklajevanje
časov tipanja pri vseh treh načinih delovanja ter zmanjševanje zakasnitev pri delovanju
VRML modela.
MBD metoda načrtovanja vodenja predstavlja metodo načrtovanja, ki postaja vedno bolj
uveljavljena, predvsem zaradi časovnih zahtev, ki jih postavlja sodobno industrijsko
okolje. Ker pa hkrati industrijska okolja postajajo vse bolj kompleksna, lahko pričakujemo
samo še porast »off-line« načinov programiranja ter potreb po omenjeni vrsti programske
opreme. Nekateri proizvajalci industrijske opreme kot je Siemens so to potrebo že
prepoznali, slednji je v sodelovanju s podjetjem Tecnomatix razvil simulacijsko
programsko opremo z imenom Robcad, ki omogoča izdelavo simulacije celotne
robotizirane celice oz. fleksibilnega avtomatiziranega proizvodnega okolja.
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 62
10. VIRI, LITERATURA
[1] J. Papenfort, Centralized vs. distributed control, 8.5.2011
http://www.controleng.com/index.php?id=2735&tx_ttnews[tt_news]=1371&cHash =266862
[2] Wkipedia, Hierarchical control system, 8.5.2011
http://en.wikipedia.org/wiki/Hierarchical_control_system
[3] Wikipedia, Industrial PC, 8.5.2011
http://en.wikipedia.org/wiki/Industrial_PC
[4] Bobbio, A. System modelling with Petri nets. Instituto Elettrotecnico
Nazionale Galileo Ferraris Strada delle Cacce 91, 10135 Torino, Italy
[5] Hrúz, B. in Zhou, M. C. Modeling and control of discrete-event dynamic
systems. London: Springer, cop. 2007
[6] Hace, A., Polič A., Jezernik K. Napredni mehatronski postopek načrtovanja
odprtega krmilja strojev Stroj. vestn., 2004, letn. 50, št. 10, str. 469-486.
[7] Klajnšek, G. Standard VRML: skripta. Maribor: Fakulteta za elektrotehniko,
računalništvo in informatiko, 2002
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 63
11. PRILOGE
Slika 11.1: Grafični vmesnik
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 64
Slika 11.2: Shema celotne programske opreme v Simulink-u
Krmiljenje
Vklop
Diagnostika
Start /neprekinjeno
delovanje
1 cikel
Hitrost motorja _
simulacija
s2
Stanje Barva
s1
Stanje Barva
osciloskop
In1
In2
In3
In4
In5
Vse postaje zasedene
In1 Out1
Vrata 1
Signal_postaje zasedene
Vrata
Vrata 2
Vrata 1
Vrata 3
Vrata0 5
Vrata 4
VR Sink
Vertikalni _zatic .translationVertikalni _zatic _1.translationVertikalni _zatic _2.translationVertikalni _zatic _3.translationVertikalni _zatic _4.translationHorizontalni _zatic.translationHorizontalni _zatic_1.translationBarva .diffuseColorBarva 1.diffuseColorBarva 2.diffuseColorBarva 3.diffuseColorBarva 4.diffuseColorNosilec .centerNosilec .rotationNosilec .translationNosilec 4.centerNosilec 4.rotationNosilec 4.translationNosilec 5.centerNosilec 5.rotationNosilec 5.translationNosilec 11.centerNosilec 11.rotationNosilec 11.translationNosilec 22 .centerNosilec 22 .rotationNosilec 22 .translationLuc _senzor_2.diffuseColorLuc _senzor_1.diffuseColor
Trna 1
S2
S1
Trenutno stanje Petrijeve mreze
Transpose 1
uT
Subsystem1
PE_1
PE_2
Subsystem
Vrata SG 1
Vrata SG 5
Sprememba _barve _sg5
Stanje Barva
Sprememba _barve _sg4
Stanje Barva
Sprememba _barve _sg3
Stanje Barva
Sprememba _barve _sg2
Stanje Barva
Sprememba _barve _sg1
Stanje Barva
Simulacija _Diagnostika
Senzor _vrat na delovnih postajah
Senzor vrata 1
Senzor vrata 2
Senzor delovne postaje 2 SG2
In1 Out1
Senzor delovne postaje 1
In1 Out1
S
R
Q
!Q
S
R
Q
!Q
S
R
Q
!Q
S
R
Q
!Q
S
R
Q
!Q
S
R
Q
!Q
S
R
Q
!Q
S
R
Q
!Q
Premik _vrata 5
In1Out1
Premik _vrata 4
In1Out1
Premik _vrata 3
In2Out2
Premik _vrata 2
In1Out1
Premik _vrata 1
In1Out1
Premik _trn2
In1Out1
Premik _trn1
In2Out2
Petrijeve mreze _
krmilnik
u m
Osciloskop
OPC Configuration
OPC Config
Real -Time
Nosilec _5
S5
Center_4
Rotation_4
Translation_4
Nosilec _4
S4
Center_4
Rotation_4
Translation_4
Nosilec _3
S3
Center_4
Rotation_4
Translation_4
Nosilec _2
S2
Center_4
Rotation_4
Translation_4
Nosilec _1
S1
Center_4
Rotation_4
Translation_4
Motor 1
Motor_analog
Motor vklop /izklop
Motor
In1
NOT
Logical
Operator 8
NOT
Logical
Operator 7
NOT
NOT
NOT
OR
OR
NOT
NOT
NOT
NOT
NOT
NOT
Konzola _start
Out1
Izklop
Diagnostika
Index
Vector9
Index
Vector8
Index
Vector7
Index
Vector4
Index
Vector3
Index
Vector2
Index
Vector17
Index
Vector16
Index
Vector15
Index
Vector14
Index
Vector13
Index
Vector12
Index
Vector11
Index
Vector10
Index
Vector1
Index
Vector
Goto 9
v
PE_2
Diagnostika
Simulacija
m_k
SG2
SG3
Goto 27
M
Hitrost
vo 5
vo 4
vo 3
vo 2
senzor_PE2
senzor_PE1
SG5
trn2
trn1
motor
vrata 5
vrata 4
vrata 3
vrata 2
vrata 1
vo 1
PE_1
SG4
SG1
[m_k]
[Simulacija ]
From7
[Diagnostika ]
From 6
[SG1]
From 5
[Simulacija ]
From 4
[SG2]
From 34
[Simulacija ]
[Hitrost]
From 3
[SG3]
[Diagnostika ]
[Simulacija ]
From 2
[SG 5]
[m_k]
[m_k]
[m_k]
[m_k]
From11
[SG5]
[m_k]
From 1
[SG 4]
From
[SG1]
Display 3
Delovni postaji _senzor_trna
Vrata 1
Vrata 2
Data Type Conversion 4
double
Data Type Conversion 3
double
Data Type Conversion 2
double
Data Type Conversion 14
double
Data Type Conversion 13
double
Data Type Conversion 1
double
6
1
Constant 7
0
Constant 5
1
1
1
10
1
12
4
2
1
0
1
1
8
Cas odprtih vrat
Out1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 65
Slika 11.3: Shema 1. palete v programskem orodju Simulink
Translation _4
3Rotation _4
2
Center _4
1
z0.068
vrtenje _radij _proga 8
In1Out1
vrtenje _proga 3
In1Out1
stanja _prostorov
Vektor9
7
Vektor8
6
Vektor7
5
Vektor5
1
Vektor4
4
Vektor3
8
Vektor2
3
Vektor10
9
Vektor1
2
Transpose 1
uT
Translacija _proga 9
v 6
reset_6
Out1
Translacija _proga 7
v 6
reset_7
Out1
Translacija _proga 6
v 6
reset_6
Out1
Translacija _proga 5
In1
reset_5
Out1
Translacija _proga 4
In1
In2
Out1
Translacija _proga 2
In1
In2
Out 1
Translacija _proga 1
In1
In2
Out 1
Subsystem
u m
Rotacija _proga 8
In1
reset_8
Out1
Out2
Rotacija _proga 3
In1
In2
Out 1
Out 2
Polozaj _proga 9
In1Out1
Polozaj _proga 8
In1Out1
Polozaj _proga 7
In1Out1
Polozaj _proga 6
In1Out1
Polozaj _proga 5
In1Out1
Polozaj _proga 4
In1Out 1
Polozaj _proga 3
In1Out1
Polozaj _proga 2
In1Out 1
Polozaj _proga 1
In1Out 1
Pogoj _za_ustavljanje _palet 4
In1Out 1
Pogoj _za_ustavljanje _palet 3
In1Out 1
Pogoj _za_ustavljanje _palet 2
In1Out 1
Pogoj _za_ustavljanje _palet 1
In1Out 1
Pogoj _za_ustavljanje _palet
In1Out1
NOT
NOT
NOT
Logical
Operator 6
OR
Logical
Operator 5
OR
Logical
Operator 4
OR
NOT
NOT
NOT
Logical
Operator 1
OR
Logical
Operator
OR
Index
Vector8
Index
Vector7
Index
Vector6
Index
Vector5
Index
Vector4
Index
Vector3
Index
Vector2
Index
Vector1
Index
Vector
Goto9
Proga 9_1
Goto8
I1
Goto7
H1
Goto 6
G1
Goto 5
F1
Goto 4
E1
Goto 3
D1
Goto 2
A1
Goto 12
P8_1
Goto 1
B1
Goto
C1
From 9
[Diagnostika ]
From8
[I1]
From7
[H1]
From6
[G1]
From5
[F1]
From4
[E1]
From3
[D1]
From2
[A1]
From 14
[vrata 1]
From13
[SG2]
From 12
[SG3]
From 11
[SG5]
From 10
[SG 4]
From1
[C1]
From
[B1]
Compare
To Constant 8
>= 3.09
Compare
To Constant 7
>= 4.7
Compare
To Constant 6
= 1.425
Compare
To Constant 5
<= 2.11
Compare
To Constant 4
<= 3.1
Compare
To Constant 3
<= 4.03
Compare
To Constant 2
>= 4.03
Compare
To Constant 1
>= 4.7
Compare
To Constant
>= 4.73
S1
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 66
Slika 11.4: Shema 2. palete v programskem orodju Simulink
Translation _4
3Rotation _4
2
Center _4
1
z0.068
vrtenje _radij _proga 8
In1Out1
vrtenje _proga 3
In1Out1
stanja _prostorov
Vektor9
7
Vektor8
6
Vektor7
5
Vektor5
1
Vektor4
4
Vektor3
8
Vektor2
3
Vektor10
9
Vektor1
2
Transpose 1
uT
Translacija _proga 9
v 6
reset_6
Out1
Translacija _proga 7
v 6
reset_7
Out1
Translacija _proga 6
v 6
reset_6
Out1
Translacija _proga 5
In1
reset_5
Out1
Translacija _proga 4
In1
In2
Out1
Translacija _proga 2
In1
In2
Out1
Translacija _proga 1
In1
In2
Out1
Subsystem
u m
Rotacija _proga 8
In1
reset_8
Out1
Out2
Rotacija _proga 3
In1
In2
Out1
Out2
Polozaj _proga 9
In1Out1
Polozaj _proga 8
In1Out1
Polozaj _proga 7
In1Out1
Polozaj _proga 6
In1Out1
Polozaj _proga 5
In1Out1
Polozaj _proga 4
In1Out1
Polozaj _proga 3
In1Out1
Polozaj _proga 2
In1Out1
Polozaj _proga 1
In1Out1
Pogoj _za_ustavljanje _palet 4
In1Out1
Pogoj _za_ustavljanje _palet 3
In1Out1
Pogoj _za_ustavljanje _palet 2
In1Out1
Pogoj _za_ustavljanje _palet 1
In1Out1
Pogoj _za_ustavljanje _palet
In1Out1NOT
NOT
NOT
Logical
Operator 6
OR
Logical
Operator 5
OR
Logical
Operator 4
OR
NOT
NOT
NOT
Logical
Operator 1
OR
Logical
Operator
OR
Index
Vector8
Index
Vector7
Index
Vector6
Index
Vector5
Index
Vector4
Index
Vector3
Index
Vector2
Index
Vector1
Index
Vector
Goto 9
Proga 9_2
Goto 8
I2
Goto 7
H2
Goto 6
G2
Goto 5
F2
Goto 4
E2
Goto 3
D2
Goto 12
P8_2
Goto 10
A2
Goto1
B2
Goto
C2
From 9
[SG1]
From 8
[I2]
From 7
[H2]
From 6
[G2]
From 5
[F2]
From 4
[E2]
From 3
[D2]
From 2
[A2]
From 14
[Diagnostika ]
From 13
[vrata 1]
From 12
[SG3]
From 11
[SG5]
From 10
[SG4]
From 1
[C2]
From
[B2]
Compare
To Constant 8
>= 3.09
Compare
To Constant 7
>= 4.7
Compare
To Constant 6
= 1.425
Compare
To Constant 5
<= 2.11
Compare
To Constant 4
<= 3.1
Compare
To Constant 3
<= 4.03
Compare
To Constant 2
>= 4.03
Compare
To Constant 1
>= 4.7
Compare
To Constant
>= 4.73
S2
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 67
Slika 11.5: Shema 3. palete v programskem orodju Simulink
Translation _4
3Rotation _4
2
Center _4
1
z0.068
vrtenje _radij _proga 8
In1Out1
vrtenje _proga 3
In 1Out1
stanja _prostorov
Vektor9
7
Vektor8
6
Vektor7
5
Vektor5
1
Vektor4
4
Vektor3
8
Vektor2
3
Vektor10
9
Vektor1
2
Transpose 1
uT
Translacija _proga 9
v 6
reset_6
Out1
Translacija _proga 7
v 6
reset_7
Out1
Translacija _proga 6
v 6
reset_6
Out1
Translacija _proga 5
In1
reset_5
Out1
Translacija _proga 4
In 1
In 2
Out1
Translacija _proga 2
In1
In2
Out1
Translacija _proga 1
In1
In2
Out1
Subsystem
u m
Rotacija _proga 8
In1
reset_8
Out1
Out2
Rotacija _proga 3
In1
In2
Out 1
Out 2
Polozaj _proga 9
In1Out1
Polozaj _proga 8
In1Out1
Polozaj _proga 7
In1Out1
Polozaj _proga 6
In1Out1
Polozaj _proga 5
In1Out1
Polozaj _proga 4
In1Out1
Polozaj _proga 3
In1Out1
Polozaj _proga 2
In1Out1
Polozaj _proga 1
In1Out1
Pogoj _za_ustavljanje _palet 4
In1Out1
Pogoj _za_ustavljanje _palet 3
In1Out1
Pogoj _za_ustavljanje _palet 2
In1Out1
Pogoj _za_ustavljanje _palet 1
In1Out1
Pogoj _za_ustavljanje _palet
In1Out1
NOT
NOT
NOT
Logical
Operator 6
OR
Logical
Operator 5
OR
Logical
Operator 4
OR
NOT
NOT
NOT
Logical
Operator 1
OR
Logical
Operator
OR
Index
Vector8
Index
Vector7
Index
Vector6
Index
Vector5
Index
Vector4
Index
Vector3
Index
Vector2
Index
Vector1
Index
Vector
Goto 9
Proga 9_3
Goto 8
I3
Goto 7
H3
Goto6
G3
Goto5
F3
Goto4
E3
Goto3
D3
Goto 2
A3
Goto 12
P8_3
Goto 1
B3
Goto
C3
From 9
[SG 1]
From 8
[I3]
From 7
[H3]
From 6
[G3]
From 5
[F3]
From 4
[E3]
From 3
[D3]
From 2
[A3]
From 14
[vrata 1]
From 13
[SG2]
From 12
[Diagnostika ]
From 11
[SG5]
From 10
[SG4]
From 1
[C3]
From
[B3]
Compare
To Constant 8
>= 3.09
Compare
To Constant 7
>= 4.7
Compare
To Constant 6
<= 1.425
Compare
To Constant 5
<= 2.11
Compare
To Constant 4
<= 3.1
Compare
To Constant 3
<= 4.03
Compare
To Constant 2
>= 4.03
Compare
To Constant 1
>= 4.7
Compare
To Constant
>= 4.73
S3
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 68
Slika 11.6: Shema 4. palete v programskem orodju Simulink
Translation _4
3Rotation _4
2
Center _4
1
z0.068
vrtenje _radij _proga 8
In1Out1
vrtenje _proga 3
In 1Out1
stanja_prostorov
Vektor9
7
Vektor8
6
Vektor7
5
Vektor5
1
Vektor4
4
Vektor3
8
Vektor2
3
Vektor10
9
Vektor1
2
Transpose 1
uT
Translacija _proga 9
v 6
reset_6
Out1
Translacija _proga 7
v 6
reset_7
Out1
Translacija _proga 6
v 6
reset_6
Out1
Translacija _proga 5
In1
reset_5
Out1
Translacija _proga 4
In1
In2
Out1
Translacija _proga 2
In1
In2
Out1
Translacija _proga 1
In1
In2
Out1
Subsystem
u m
Rotacija _proga 8
In1
reset_8
Out1
Out2
Rotacija _proga 3
In1
In2
Out1
Out2
Polozaj _proga 9
In1Out1
Polozaj _proga 8
In1Out1
Polozaj _proga 7
In1Out1
Polozaj _proga 6
In1Out1
Polozaj _proga 5
In1Out1
Polozaj _proga 4
In1Out1
Polozaj _proga 3
In1Out1
Polozaj _proga 2
In1Out1
Polozaj _proga 1
In1Out1
Pogoj _za_ustavljanje _palet 4
In1Out1
Pogoj _za_ustavljanje _palet 3
In1Out1
Pogoj _za_ustavljanje _palet 2
In1Out1
Pogoj _za_ustavljanje _palet 1
In1Out1
Pogoj _za_ustavljanje _palet
In1Out1
NOT
NOT
NOT
Logical
Operator 6
OR
Logical
Operator 5
OR
Logical
Operator 4
OR
NOT
NOT
NOT
Logical
Operator 1
OR
Logical
Operator
OR
Index
Vector8
Index
Vector7
Index
Vector6
Index
Vector5
Index
Vector4
Index
Vector3
Index
Vector2
Index
Vector1
Index
Vector
Goto 9
Proga 9_4
Goto 8
I4
Goto 7
H4
Goto 6
G4
Goto 5
F4
Goto 4
E4
Goto 3
D4
Goto2
A4
Goto 12
P8_4
Goto 1
B4
Goto
C4
From 9
[SG1]
From 8
[I4]
From 7
[H4]
From 6
[G4]
From 5
[F4]
From 4
[E4]
From 3
[D4]
From 2
[A4]
From 14
[Diagnostika ]
From 13
[SG2]
From 12
[SG 3]
From 11
[SG5]
From 10
[vrata 1]
From 1
[C4]
From
[B4]
Display
Compare
To Constant 8
>= 3.09
Compare
To Constant 7
>= 4.7
Compare
To Constant 6
<= 1.425
Compare
To Constant 5
<= 2.11
Compare
To Constant 4
<= 3.1
Compare
To Constant 3
<= 4.03
Compare
To Constant 2
>= 4.03
Compare
To Constant 1
>= 4.7
Compare
To Constant
>= 4.73
S4
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 69
Slika 11.7: Shema 5. palete v programskem orodju Simulink
Translation _4
3Rotation _4
2
Center _4
1
z0.068
vrtenje _radij _proga 8
In1Out1
vrtenje _proga 3
In1Out1
stanja _prostorov
Vektor9
7
Vektor8
6
Vektor7
5
Vektor5
1
Vektor4
4
Vektor3
8
Vektor2
3
Vektor10
9
Vektor1
2
Transpose 1
uT
Translacija _proga 9
v 6
reset_6
Out1
Translacija _proga 7
v 6
reset_7
Out1
Translacija _proga 6
v 6
reset_6
Out1
Translacija _proga 5
In1
reset_5
Out1
Translacija _proga 4
In1
In2
Out1
Translacija _proga 2
In1
In2
Out1
Translacija _proga 1
In1
In2
Out1
Subsystem
u m
Rotacija _proga 8
In1
reset_8
Out1
Out2
Rotacija _proga 3
In1
In2
Out1
Out2
Polozaj _proga 9
In1Out1
Polozaj _proga 8
In1Out1
Polozaj _proga 7
In1Out1
Polozaj _proga 6
In1Out1
Polozaj _proga 5
In1Out1
Polozaj _proga 4
In1Out1
Polozaj _proga 3
In1Out1
Polozaj _proga 2
In1Out1
Polozaj _proga 1
In1Out1
Pogoj _za_ustavljanje _palet 4
In1Out1
Pogoj _za_ustavljanje _palet 3
In1Out1
Pogoj _za_ustavljanje _palet 2
In1Out1
Pogoj _za_ustavljanje _palet 1
In1Out1
Pogoj _za_ustavljanje _palet
In1Out1
NOT
NOT
NOT
Logical
Operator 6
OR
Logical
Operator 5
OR
Logical
Operator 4
OR
NOT
NOT
NOT
Logical
Operator 1
OR
Logical
Operator
OR
Index
Vector8
Index
Vector7
Index
Vector6
Index
Vector5
Index
Vector4
Index
Vector3
Index
Vector2
Index
Vector1
Index
Vector
Goto 9
Proga 9_5
Goto8
I5
Goto 7
H5
Goto 6
G5
Goto 5
F5
Goto 4
E5
Goto 3
D5
Goto 2
A5
Goto 13
P 8_5
Goto 1
B5
Goto
C5
From 9
[SG1]
From 8
[I5]
From 7
[H5]
From 6
[G5]
From 5
[F5]
From 4
[E5]
From 3
[D5]
From 2
[A5]
From 14
[Diagnostika ]
From 13
[SG2]
From 12
[SG3]
From 11
[vrata 1]
From 10
[SG4]
From 1
[C5]
From
[B5]
Compare
To Constant 8
>= 3.09
Compare
To Constant 7
>= 4.7
Compare
To Constant 6
= 1.425
Compare
To Constant 5
<= 2.11
Compare
To Constant 4
<= 3.1
Compare
To Constant 3
<= 4.03
Compare
To Constant 2
>= 4.03
Compare
To Constant 1
>= 4.7
Compare
To Constant
>= 4.73
S5
1
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 70
Slika 11.8: Shema bloka Virtualni_osciloskop
Motor
Polozajna enota 1_
paleta prisotna
Polozajna enota 2_
paleta prisotna
Vrata 1
Vrata 2
Vrata 3
Vrata 4
Polozajna enota 1_
paleta vpeta
Polozajna enota 2_
paleta vpeta
Vrata SG 5_model senzorja
Out1
Vrata SG 4_model senzorja
Out1
Vrata SG 3_model senzorja
Out1
Vrata SG 2_model senzorja 3
Out1
Vrata SG 1_model senzorja
Out1
Scope
NOT
AND
[SG5]
[SG4]
[SG3]
[SG2]
[SG1]
[M ]
[PE_2]
[PE_1]
From 31
[Simulacija ]
[vo 1]
[trn2]
From 25
[Diagnostika ]
[v2]
[v3]
[v5]
[v4]
[v1]
senzor_PE2]
senzor_PE1]
[motor ]
[trn1]
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 71
Slika 11.9: Shema bloka Premik_vrata1
Slika 11.11: Shema bloka Premik_vrata3
Slika 11.13: Shema bloka Premik_vrata5
Out1
1
Multiport
Switch
Constant 3
0.035
Constant 2
0.05
Constant 1
4.1
Cnstant 2
2.203In 1
1
Out2
1
Multiport
Switch3
Constant 12
0.035
Constant 11
0.05
Constant 10
4.1
Cnstant 4
2.82In2
1
Out1
1
Multiport
Switch 1
Constant 7
0.035
Constant 6
0.05
Constant 5
3.135
Cnstant 1
2.203In 1
1
Out1
1
Multiport
Switch4
Constant 15
0.035
Constant 14
0.05
Constant 13
2.18
Cnstant 5
2.2030
In1
1
Out1
1
Multiport
Switch 2
Constant 9
0.035
Constant 8
0.05
Constant 4
3.135
Cnstant 3
2.82In 1
1
Out2
1
Multiport
Switch 6
Constant 21
2.4
Constant 20
2.375
Constant 19
4.02
Cnstant 7
0.09
In2
1
Out1
1
Multiport
Switch5
Constant 18
2.4
Constant 17
2.375
Constant 16
2.1
Cnstant 6
0.09
In1
1
Slika 11.10: Shema bloka Premik_vrata2
Slika 11.12: Shema bloka Premik_vrata4
Slika 11.15: Shema bloka Premik_trn1
Slika 11.14: Shema bloka Premik_trn2
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 72
11.1 Priložena zgoščenka
Na priloženi zgoščenki se nahaja datoteka programske opreme z imenom Transportni_trak.mdl, datoteka VRML modela transportnega traka z imenom tekoci_trak –
Copy.wrl ter datoteka Transportni_sistem_Bosch.opf za odpiranje v OPC strežniku v kateri so shranjeni naslovi iz PLK krmilnika. Dodan še je tudi privzeti program, ki je shranjen na PLK-ju z imenom TS1_27112009_mod4_aninanouttest.k7p.
Barva
1
Multiport
Switch7
Constant 23
[0 1 0 ]
Constant 22
[1 0 0 ]
Stanje
1
Slika 11.16: Shema blokov
Sprememba_barve_sg1,
Sprememba_barve_sg2,
Sprememba_barve_sg3,
Sprememba_barve_sg4,
Sprememba_barve_sg5,
Sprememba_barve_s1,
Sprememba_barve_s2
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 73
11.2 Seznam slik
Slika 2.1: Razvrstitev transportnih naprav ............................................................................. 2
Slika 2.2: Zmogljivost in fleksibilnost posameznih transportnih naprav .............................. 3
Slika 3.1: Faze MBD metode načrtovanja ............................................................................. 7
Slika 4.1: Položaj vrat in položajnih enot - delovnih postaj .................................................. 9
Slika 4.2: Sestavni elementi transportnega traka ................................................................. 10
Slika 4.3: Povezava programske opreme s transportnim sistemom ..................................... 11
Slika 5.1: Shema delovanja programske opreme v načinu simulacije ................................. 12
Slika 5.2: Shema delovanja programske opreme v načinu krmiljenja - vodenja ................. 13
Slika 5.3: Shema delovanja programske opreme v načinu diagnostike ............................... 13
Slika 5.4: Petrijeva mreža .................................................................................................... 19
Slika 5.5: Petrijeva mreža .................................................................................................... 21
Slika 6.1: Shema modela transportnega traka ...................................................................... 22
Slika 6.2: Sklop Palete ......................................................................................................... 24
Slika 6.3: Glavni sklopi posamezne palete .......................................................................... 24
Slika 6.4: Modeli končnih stikal .......................................................................................... 25
Slika 6.5: Področje translacije in rotacije ............................................................................ 26
Slika 6.6: Delitev osnovne proge ......................................................................................... 26
Slika 6.7: Petrijeva mreža proženja posameznih segmentov proge .................................... 28
Slika 6.8: Simulacijska shema diskretnega sekvenčnega algoritma .................................... 31
Slika 6.9: Blok Index Vector ................................................................................................ 31
Slika 6.10: Shema bloka Pogoj_za_ustavljanje_palet ......................................................... 32
Slika 6.11: Blokovna shema palet – prog ............................................................................ 33
Slika 6.12: Shema bloka: Translacija_proga1 .................................................................... 34
Slika 6.13: Bloki proge z rotacijskim načinom gibanja ....................................................... 34
Slika 6.14: Shema bloka: vrtenje_radij_proga8 .................................................................. 34
Slika 6.15: Shema bloka: Polozaj_proga8 .......................................................................... 34
Slika 6.16: Shema bloka: Rotacija_proga8 ......................................................................... 35
Slika 6.17: Bloki aktuatorjev vrat in barvne signalizacije ................................................... 36
Slika 6.18: Blokovna shema bloka Premik_vrata1 ............................................................. 37
Slika 6.19: Blokovna shema za krmiljenje signalnih luči .................................................... 37
Slika 6.20: Petrijeva mreža vodenja modela in realnega transportnega traka ..................... 38
Slika 6.21: Petrijev krmilnik ................................................................................................ 41
Slika 6.22: Blokovna shema bloka Vse postaje zasedene .................................................... 42
Slika 6.23: Blokovna shema bloka Subsystem ..................................................................... 42
Slika 6.24: Blokovna shema časovnika - blok Cas odprtih vrat ......................................... 43
Slika 6.25: Blokovna shema bloka Subsystem ..................................................................... 43
Slika 6.26: Blokovna shema bloka Subsystem1 ................................................................... 43
Slika 6.27: Blokovna shema bloka Senzor delovne postaje 1 .............................................. 44
Slika 6.28: Blokovna shema bloka Subsystem ..................................................................... 44
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 74
Slika 6.29: OPC Write blok za krmiljenje vrat .................................................................... 45
Slika 6.30: OPC Read blok namenjen branju stanja senzorjev vrat SG1 in SG2 ................ 45
Slika 7.1: Okno kjer določimo risanje 3D modela v 3D modelirniku ................................. 48
Slika 7.2: Delovno okno z izbrano ravnino ......................................................................... 48
Slika 7.3: Risanje v skicirki ................................................................................................. 49
Slika 7.4: Določanje globine modela ................................................................................... 50
Slika 7.5: Dokončan 3D model mize ................................................................................... 50
Slika 7.6: 3D model tekočega traku ..................................................................................... 51 Slika 7.7: 3D model palete ................................................................................................... 51
Slika 7.8: 3D model signalne luči delovne postaje .............................................................. 51
Slika 7.9: 3D model signalne luči vrat ................................................................................. 51
Slika 7.10: Okno Export options in nastavitve .................................................................... 52
Slika 7.11: Določanje vrednosti translacijkega premika zatiča na vratih ............................ 54
Slika 7.12: Pozicioniranje elemetov v V-Realm Builder-ju ................................................ 54
Slika 7.13: Blok VR Sink s pripadajočimi vhodi ................................................................. 55
Slika 7.14: Okno Parameters: VR Sink ............................................................................... 56
Slika 8.1: Virtualni osciloskop – diagnostika ..................................................................... 58
Slika 8.2: Virtualni osciloskop - krmiljenje ......................................................................... 59
Slika 8.3: Virtualni osciloskop - simulacija ......................................................................... 60
Slika 11.1: Grafični vmesnik ............................................................................................... 63
Slika 11.2: Shema celotne programske opreme v Simulink-u ............................................. 64
Slika 11.3: Shema 1. palete v programskem orodju Simulink ............................................. 65
Slika 11.4: Shema 2. palete v programskem orodju Simulink ............................................. 66
Slika 11.5: Shema 3. palete v programskem orodju Simulink ............................................. 67
Slika 11.6: Shema 4. palete v programskem orodju Simulink ............................................. 68
Slika 11.7: Shema 5. palete v programskem orodju Simulink ............................................. 69
Slika 11.8: Shema bloka Virtualni_osciloskop .................................................................... 70
Slika 11.9: Shema bloka Premik_vrata1 ............................................................................. 71 Slika 11.10: Shema bloka Premik_vrata2 ........................................................................... 71
Slika 11.11: Shema bloka Premik_vrata3 ........................................................................... 71 Slika 11.12: Shema bloka Premik_vrata4 ........................................................................... 71
Slika 11.13: Shema bloka Premik_vrata5 ........................................................................... 71
Slika 11.14: Shema bloka Premik_trn2 ............................................................................... 71
Slika 11.15: Shema bloka Premik_trn1 ............................................................................... 71
Slika 11.16: Shema blokov Sprememba_barve_sg1, Sprememba_barve_sg2,
Sprememba_barve_sg3, Sprememba_barve_sg4, Sprememba_barve_sg5, Sprememba_barve_s1, Sprememba_barve_s2 .................................................................... 72
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 75
11.3 Seznam tabel
Tabela 1: Karakteristike transportnega traka Bosch TS1 ...................................................... 8
Tabela 2: Legenda oznak Petrijeve mreže ........................................................................... 29
Tabela 3: Legenda oznak Petrijeve mreže ........................................................................... 39
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 76
11.4 Naslov študenta
Andrej Fekonja
Ihova 53
2234 Benedikt
Telefonska številka: 041 245 083
E-mail naslov: [email protected]
11.5 Kratek življenjepis
Rojen: 23.8.1988 v Mariboru
Šolanje:
� Osnovna šola: Osnovna šola Benedikt � Srednja šola: Srednja Strojna Šola Maribor
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 77
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 78
Vodenje Bosch TS1 z Matlab/Simulink-om Stran 79