Microsoft Word - UNI_Fekonja_Andrej_1988

Podobni dokumenti
Microsoft Word - CNC obdelava kazalo vsebine.doc

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj

DES

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

DES

DES11_realno

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Slide 1

UPS naprave Socomec Netys PL (Plug in) UPS naprava Socomec Netys PL moč: 600VA/360W; tehnologija: off-line delovanje; vhod: 1-fazni šuko 230VAC; izhod

5 Programirljiva vezja 5.1 Kompleksna programirljiva vezja - CPLD Sodobna programirljiva vezja delimo v dve veliki skupini: CPLD in FPGA. Vezja CPLD (

Microsoft PowerPoint - DPN_II__05__Zanesljivost.ppt [Compatibility Mode]

Diapozitiv 1

Microsoft PowerPoint - IPPU-V2.ppt

Microsoft Word - ABB Robotski sistem za varjene osnove kontejnerja ASM-13.doc

seminarska_naloga_za_ev

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

10108-Bench-mark-brochure-6pg.indd

MJK je specializiran proizvajalec merilne in nadzorne opreme za vodovode in čistilne naprave. Z izkušnjami, ki jih jamči 35 letna tradicija in z osred

Slide 1

Microsoft Word - ELEKTROTEHNIKA2_11. junij 2104

Šolski center celje

Microsoft PowerPoint - CAD sistemi - pletenje za pdf

Microsoft Word - D1_D8_Prakticno_izobrazevanje_PRI.doc

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Microsoft PowerPoint - MK 3 tehnicni sistemi.ppt

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Microsoft Word - 08 – Rotovnik Andrej, Miel, Uporaba Omron Sysmac platforme na primeru realnih aplikacij

Diapozitiv 1

ISOFT , računalniški inženiring

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Področje uporabe

CpE & ME 519

Microsoft PowerPoint - MK 3 tehnicni sistemi.ppt

Microsoft Word - Navodila_NSB2_SLO.doc

Ime in priimek

Microsoft PowerPoint - Sirikt-SK-FV.ppt

Osnove matematicne analize 2018/19

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

Base NET.cdr

Vedno pod nadzorom, kjerkoli že ste

Gradbeništvo kot Industrija 4.0

Overview

OBČUTEK TOPLINE ZA DOBRO POČUTJE OLJNI RADIATORJI gorenje.si

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo POSODOBITEV UČNE PRIPRAVE S PODROČJA KRMILNO-REGULACIJSKIH SISTEMOV Z MIKR

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Microsoft Word - M docx

Tehnologija poročena z obliko. Grelnik je končno postal oblikovalski predmet in postaja junak novega domačega okolja. SELECTION 2016

Člen 11(1): Frekvenčna območja Frekvenčna območja Časovna perioda obratovanja 47,0 Hz-47,5 Hz Najmanj 60 sekund 47,5 Hz-48,5 Hz Neomejeno 48,5 Hz-49,0

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

FOR SMARTER PEOPLE TAKO SE VLOMI PREPREČUJEJO DANES REHAU Smart Guard System plus preventivna protivlomna zaščita WINDOWS. REINVENTED FOR MODERN LIFE.

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Delavnica Načrtovanje digitalnih vezij

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

2

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

REŠITVE Inteligentna ventilska tehnologija na enem mestu SMART IN FLOW CONTROL.

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Podatkovni model ER

No Slide Title

ErgoPack ergonomsko povezovanje palet

COBISS3/Medknjižnična izposoja

Navodila Trgovina iCenter

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

WAT24460BY PDF

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Microsoft Word - UP_Lekcija04_2014.docx

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

Presentation Name / Author

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Strojna oprema

Teorija kodiranja in kriptografija 2013/ AES

Kovinska protipoplavna KD vrata Življenje je kot reka, včasih mirna, drugič deroča a vedno polna presenečenj. Če vas v življenju p

Microsoft PowerPoint - petek A-sambolicbeganovic [Read-Only] [Compatibility Mode]

Uvodno predavanje

Microsoft Word - M doc

CelotniPraktikum_2011_verZaTisk.pdf

DIGITALNE STRUKTURE Zapiski predavanj Branko Šter, Ljubo Pipan 2 Razdeljevalniki Razdeljevalnik (demultipleksor) opravlja funkcijo, ki je obratna funk

Poročilo o praktičnem usposabljanju z delom - PUD DIJAK: Ime in priimek: Naslov: Elektronski naslov: Telefon: Izobraževalni program (obkroži): - tehni

glava.dvi

Napotki za izbiro gibljivih verig Stegne 25, 1000 Ljubljana, tel: , fax:

Macoma katalog copy

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

2012 DoALL_Utility Line brochure_SLO.indd

innbox_f60_navodila.indd

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n

Uradni list RS - 12(71)/2005, Mednarodne pogodbe

Transkripcija:

Andrej Fekonja VODENJE TRANSPORTNEGA SISTEMA BOSCH TS S PROGRAMSKIM PAKETOM MATLAB/SIMULINK Diplomsko delo Maribor, september 20

I Diplomsko delo univerzitetnega študijskega programa VODENJE TRANSPORTNEGA SISTEMA BOSCH TS S PROGRAMSKIM PAKETOM MATLAB/SIMULINK Študent: Študijski program: Andrej Fekonja UN Mehatronika Smer: / Mentor(ica): Somentor(ica): izred. prof. dr. Aleš Hace doc. dr. Uroš Župerl Maribor, september 20

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 TS S PROGRAMSKIM PAKETOM MATLAB/SIMULINK Ključne besede: transportni sistem, Bosch TS, krmiljenje, Matlab/Simulink, Petrijeva mreža, snovanje vodenja s pomočjo modela, VRML UDK: 68.5.0(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 TS.

V CONTROL OF BOSCH TS TRANSPORT SYSTEM WITH THE MATLAB/SIMULINK SOFTWARE PACKAGE Keywords: transport line, Bosch TS, control, Matlab/Simulink, Petri net, model based design, VRML UDK: 68.5.0(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 TS transport system.

VI VSEBINA UVOD... 2 TRANSPORTNE NAPRAVE ZA RANJI TRANSPORT... 2 2. Vrste transportnih naprav za notranji transport... 2 2.2 Koncepti nadzora transportnih naprav... 3 2.2. Centralizirani nadzor... 3 2.2.2 Hierarhični nadzor... 4 2.2.3 Decentralizirani nadzor... 4 2.3 Struktura nadzornih sistemov... 4 2.3. 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. Razvoj in namen snovanja vodenja s pomočjo modela (MBD model based design)... 6 4. TRANSPORTNI SISTEM BOSCH TS... 8 4. Zasnova transportnega sistema... 8 4.2 Povezava programske opreme z realnim transportnim trakom... 0 5 NAČRTOVANJE PROGRAMSKE OPREME ZA SIMULACIJO, KRMILJENJE IN DIAGNOSTIKO TRANSPORTNEGA SISTEMA... 2 5. Petrijeve mreže... 4 5.. Petrijev graf... 5 5..2 Matrični zapis navadnih Petrijevih mrež... 8 6 MODEL TRANSPORTNEGA SISTEMA... 22 6. Palete... 23 6.. Končna stikala... 24 6..2 Diskretni sekvenčni algoritem zasnovan s Petrijevo mrežo... 26 6..3 Blokovne sheme proženja prog na podlagi trenutnega vektorja stanja... 3 6..4 Simulacijska shema za pogojno ustavljanje palet... 3 6..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... 4 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. Izdelava modela transportnega traka v programskem orodju SolidWorks... 47 7.2 Generiranje in urejanje modela transportnega traka zapisanega v VRML jeziku. 52 7.2. 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... 6 0. VIRI, LITERATURA... 62. PRILOGE... 63. Priložena zgoščenka... 72.2 Seznam slik... 73.3 Seznam tabel... 75.4 Naslov študenta... 76.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 TS z Matlab/Simulink-om Stran UVOD Sodobno industrijsko okolje predstavlja kompleksni sistem, med seboj povezanih napravstrojev, 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 TS. 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 VRMLjezika, 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 TS 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 TS z Matlab/Simulink-om Stran 2 2 TRANSPORTNE NAPRAVE ZA RANJI 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. 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.). TRANSPORTNE NAPRAVE Delovanje s prekinitvami Delovanje brez prekinitev (kontinuirano) - Istočasno delovni in mrtvi gib - Večja zmogljivost TRANSPORTERJI Z NESKONČNIM VLEČNIM ELEMENTOM - 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 TRANSPORTERJI BREZ VLEČNEGA ELEMENTA - polžasti transporterji - transporterji z valjčki - transporterji z nihalnim žlebom - zračne drče - pnevmatski transporterji - hidravlični transporterji Slika 2.: Razvrstitev transportnih naprav

Vodenje Bosch TS 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. 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. []

Vodenje Bosch TS 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. [] 2.3 Struktura nadzornih sistemov 2.3. 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 TS 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 -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 TS 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. 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 TS 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., ki omogočajo, da je metoda hitra in unčikovita. Slika 3.: Faze MBD metode načrtovanja

Vodenje Bosch TS z Matlab/Simulink-om Stran 8 4. TRANSPORTNI SISTEM BOSCH TS 4. Zasnova transportnega sistema Transportni trak Bosch TS 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 so navedeni podatki za transportni trak na katerega se nanaša diplomsko delo. Tabela : Karakteristike transportnega traka Bosch TS Proizvajalec in tip transportnega sistema Bosch TS Vrsta transportnega sistema Dimenzija palet Tračni transporter (2 traka) 20 20 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 TS z Matlab/Simulink-om Stran 9 Obratovalni tlak pnevmatičnih komponent 4 6 Max. hitrost palet 8 / Omenjeni tekoči trak na sliki 4. 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. Položajni enoti (delovne postaje) Vrata Slika 4.: Položaj vrat in položajnih enot - delovnih postaj

Vodenje Bosch TS z Matlab/Simulink-om Stran 0 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 TS z Matlab/Simulink-om Stran 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 TS z Matlab/Simulink-om Stran 2 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.), 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.: 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 TS z Matlab/Simulink-om Stran 3 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 TS z Matlab/Simulink-om Stran 4 5. 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: Kjer sta in : =(,,,), (5.) =,,, =,,, 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 TS z Matlab/Simulink-om Stran 5 - Mesto je vhodno mesto za prehod, če velja: ( ) - Mesto je izhodno mesto za prehod, če velja: ( ) 5.. 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 =(,), pri tem je =,,, in =,,, posplošena množica usmerjenih povezav =(, ). Množica je = in za vsako usmerjeno povezavo velja: =(, ), kjer je in ali in. Definirajmo =. je posplošena množica usmerjenih povezav, tako za vsak in velja: #((, ),)=#(,( )) (5.2) #((, ),)=#(,( )) (5.3) V tem primeru je Petrijev graf (,) ekvivalenten Petrijevi mreži =(,,,). Z označitvijo () 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 TS z Matlab/Simulink-om Stran 6 =(,,,,) (5.4) Pri tem funkcija priredi mestom pozitivna cela števila N: : N Označevanje lahko predstavimo tudi z označitvenim vektorjem: =(,,, ), = (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: ( ) #(,( )), (5.6) Po vžigu prehoda preide označitveni vektor v, število žetonov pri mestu, pa se spremeni po naslednjem obrazcu: ( )=( ) #(,( ))+#(,( )) (5.7) V nadaljevanju je prikazan primer izvajanja Petrijeve mreže: =(,0,0,0,) Vžig

Vodenje Bosch TS z Matlab/Simulink-om Stran 7 =(0,,,0,) (5.8) ( )=( ) #,( )+#,( )=0 0+= (5.9) ( )=( ) #,( )+#,( )=0 0+= (5.0) Vžig =(0,0,,,0) (5.) ( )=( ) #,( )+#,( )=0 0+= (5.2) Vžig

Vodenje Bosch TS z Matlab/Simulink-om Stran 8 =(0,0,0,,) (5.3) ( )=( ) #,( )+#,( )=0 0+= (5.4) 5..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 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. 0 = 0 0 (,)= 0 (5.5) 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 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 TS z Matlab/Simulink-om Stran 9 0 0 =0 (,)= 0 0 (5.6) Spodaj sta zapisana primera matrike pogojev in matrike posledic Petrijeve mreže prikazane na sliki 5.4. 0 0 0 0 =0 0 0 (5.7) 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 (5.8) Slika 5.4: Petrijeva mreža

Vodenje Bosch TS z Matlab/Simulink-om Stran 20 Incidenčna matrika M kaže odnos med matriko posledic S in matriko pogojev F. = (5.9) Enačba prehajanja stanj (5.20) nam pove, da se po pojavu -tega dogodka (), trenutno stanje sistema () spremeni v novo stanje (+). (+)=()+ () (5.20) Vektor () (5.2) 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 () zavzame vrednosti 0 ali. [4] ()= ()&; ()=, ; = 0 (5.2) Vektor trenutnega stanja () pomeni stanje sistema po pojavu ( )-tiga dogodka () in prav tako zavzema vrednosti 0 ali. ()=, ; = 0 (5.22) Vhodni vektor predstavlja vektor zunanjih vhodov za vžig prehodov. =, ; = 0 (5.23) Na sliki 5.5 je prikazana Petrijeva mreža z označenimi zunanjimi vhodi.

Vodenje Bosch TS z Matlab/Simulink-om Stran 2 Slika 5.5: Petrijeva mreža =,, (5.24)

Vodenje Bosch TS 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. 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. Modeli aktivni v načinu simulacije Modeli aktivni v načinu krmiljenja Modeli aktivni v načinu diagnostike Slika 6.: Shema modela transportnega traka

Vodenje Bosch TS 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. 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 TS z Matlab/Simulink-om Stran 24 PALETA : PALETA 2: PALETA 3: PALETA 4: PALETA 5: - Proga - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9 - Proga - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9 - Proga - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9 - Proga - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9 - Proga - Proga 2 - Proga 3 - Proga 4 - Proga 5 - Proga 6 - Proga 7 - Proga 8 - Proga 9 Slika 6.2: Sklop Palete Slika 6.3: Glavni sklopi posamezne palete 6.. 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.

Vodenje Bosch TS 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..2. Virtualna končna stikala tvorijo vhodni vektor u Slika 6.4: Modeli končnih stikal

Vodenje Bosch TS z Matlab/Simulink-om Stran 26 6..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: ()= + (6.) = (6.2)

Vodenje Bosch TS z Matlab/Simulink-om Stran 27 = (6.3) 0, č =, č h h =,,9 (6.4) =+, če ( = ) ( =) (6.5) 0, () =, (6.6) < (6.7) = (6.8) =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..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, kateri določajo dodatne pogoje za vžig prehodov. Zunanje vhode predstavljajo virtualna končna stikala, ki zavzamejo vrednost, ko je paleta pripotovala na konec segmenta proge, drugače je vrednost 0.

Vodenje Bosch TS z Matlab/Simulink-om Stran 28 = =h =h ( č ) Slika 6.7: Petrijeva mreža proženja posameznih segmentov proge Začetno stanje Petrijeve mreže posamezne palete je naslednje: Paleta : =0,0,0,0,,0,0,0,0 (6.0) Paleta 2: =0,0,0,0,0,0,,0,0 (6.) Paleta 3: =0,,0,0,0,0,0,0,0 (6.2) Paleta 4: =,0,0,0,0,0,0,0,0 (6.3) Paleta 5: =0,0,0,0,0,,0,0,0 (6.4)

Vodenje Bosch TS 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 Vrata SG4 Proga 2 Vrata SG3 Proga 3 / Proga 4 / Proga 5 Vrata SG Proga 6 Vrata SG5 Proga 7 Vrata SG2 Proga 8 / Proga 9 / Tabela 2: Legenda oznak Petrijeve mreže Matrika pogojev F: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (6.5)

Vodenje Bosch TS z Matlab/Simulink-om Stran 30 Matrika posledic S: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (6.6) Incidenčna matrika = : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (6.7)

Vodenje Bosch TS z Matlab/Simulink-om Stran 3 [9x9] S [A] [9x9] u T F u AND Matrix Multiply z boolean m boolean Matrix Multiply [A] Slika 6.8: Simulacijska shema diskretnega sekvenčnega algoritma 6..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 Vector 6..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.

Vodenje Bosch TS 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.0 je prikazana ena izmed simulacijskih shem za pogojno ustavljanje palet. (( 3,09) ( =)) (=) (6.8) ((>3,09) ( =0)) (=0) (6.9) (( 3,09) ( =0)) (=0) (6.20) ((>3,09) ( =)) (=0) (6.2) Signal zapiranje vrat SG 4 AND Prozenje proga [A3] Proga <= 3.09 Polozaj postaje SG4 Slika 6.0: Shema bloka Pogoj_za_ustavljanje_palet 6..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.

Vodenje Bosch TS 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. je prikazan del blokovne sheme palete na kateri so označeni bloki, ki določajo translacijsko gibanje palete na segmentih Proga in Proga 2. Shema bloka Translacija_proga na sliki 6.2 izračunava položaj palete na podlagi podane hitrosti, kadar je na prvem vhodu bloka Multiport Switch vrednost enaka, kadar pa je vrednost enaka 0, je tudi vrednost izhoda bloka enaka 0. Na sliki 6.3 so prikazani bloki, ki določajo rotacijsko gibanje. Model proge Model proge 2 Slika 6.: Blokovna shema palet prog

Vodenje Bosch TS z Matlab/Simulink-om Stran 34 dolocen clen trenutnega vektorja stanja 0 [v] 0.6 Hitrost gibanja palete 2 signal za prozenje vrat s Multiport Switch Slika 6.2: Shema bloka: Translacija_proga Slika 6.3: Bloki proge z rotacijskim načinom gibanja Slika 6.4 prikazuje shemo bloka vrtenje_radij_proga8, na kateri je določeni polmer rotacije v smeri x-osi. Naslednja slika 6.5 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.6. Dolocen clen vektorja trenutnega stanja 0 Dolocen clen vektorja trenutnega stanja 0-0.255 Polmer Multiport Switch 3.67 x_smer 0 Multiport Switch 3 0 2.595 0 z_smer Slika 6.4: Shema bloka: vrtenje_radij_proga8 Slika 6.5: Shema bloka: Polozaj_proga8

Vodenje Bosch TS z Matlab/Simulink-om Stran 35 0 Dolocen clen trenutnega vektorja stanja 0 y_os 0 [v] 3 Hitrost gibanja palete reset_8 2 s Multiport Switch 3 2 Virtualno koncno stikalo Slika 6.6: Shema bloka: Rotacija_proga8 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.7.

Vodenje Bosch TS z Matlab/Simulink-om Stran 36 Slika 6.7: Bloki aktuatorjev vrat in barvne signalizacije V blokovni shemi bloka Premik_vrata, 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.8).

Vodenje Bosch TS z Matlab/Simulink-om Stran 37 Signal za prozenje vrat 4. x_os 0.035 y 0.05 y2 Multiport Switch 2.203 z_os Slika 6.8: Blokovna shema bloka Premik_vrata Zelo podobno je tudi delovanje blokovne sheme, ki krmili barvo signalnih luči pri ustreznih vratih (slika 6.9), 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_vrata. Stanje [0 0 ] Zelena [ 0 0 ] Rdeca Multiport Switch7 Barva Slika 6.9: 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.

Vodenje Bosch TS z Matlab/Simulink-om Stran 38 = = =h (senzorji in aktuatorji) Slika 6.20: Petrijeva mreža vodenja modela in realnega transportnega traka Začetno stanje Petrijeve mreže je naslednje: =0,0,0,,0,0,0,,0,0,0, (6.22) Št. prostora Pomen Št. vhodnega vektorja Pomen Odpri vrata/vklopi motor Konec čakanja Zapri vrata / / Vse postaje

Vodenje Bosch TS z Matlab/Simulink-om Stran 39 zasedene Izklopi motor PE zasedena / PE - paleta pripravljena Vpni paleto (položajna enota) Konec Robot Robot (delovna operacija) PE 2 zasedena Sprosti paleto (položajna enota) PE 2 - paleta pripravljena / Konec Robot 2 Vpni paleto 2 (položajna enota) Startshema/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. Matrika pogojev F: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (6.23)

Vodenje Bosch TS z Matlab/Simulink-om Stran 40 Matrika posledic S: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (6.24) Incidenčna matrika = : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (6.25)

Vodenje Bosch TS z Matlab/Simulink-om Stran 4 Na naslednji sliki 6.2 je prikazana blokovna shema Petrijevega krmilnika za vodenje modela transportnega traka in realnega transportnega traka. V bloka S in F 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. S [2 x0] [A] [0 x2] u T F u AND Matrix Multiply z boolean m boolean Matrix Multiply [A] Slika 6.2: 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.

Vodenje Bosch TS z Matlab/Simulink-om Stran 42 [Proga 9_] [Proga 9_2] Reset [Proga 9_3] In In2 In3 In4 In5 In6 Out Out [SG] Subsystem [Proga 9_4] [Proga 9_5] Slika 6.22: Blokovna shema bloka Vse postaje zasedene Proga 9_ paleta >= 3.085 2 Proga 9_ paleta 2 >= 3.085 3 Proga 9_ paleta 3 5 Proga 9_ paleta 4 >= 3.085 >= 3.085 OR 4 Reset S R Q!Q S-R Flip -Flop double Terminator Out 6 Proga 9_ paleta 5 >= 3.085 Enable 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.

Vodenje Bosch TS z Matlab/Simulink-om Stran 43 Subsystem [m_k] In Out Slika 6.24: Blokovna shema časovnika - blok Cas odprtih vrat Vector9 Subsystem AND double m_k [vrata ] Slika 6.25: Blokovna shema bloka Subsystem 0 Multiport Switch z >= 0.9 cas zakasnitve Slika 6.26: Blokovna shema bloka Subsystem 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 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 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.

Vodenje Bosch TS z Matlab/Simulink-om Stran 44 [D] Proga 4_ paleta Enable signal [D2] Proga4_ paleta Proga4_ paleta2 Proga 4_ paleta 2 [SG] Proga4_ paleta3 Proga4_ paleta4 Proga4_ paleta5 Subsystem signal za prozenje vrat SG [D3] Proga 4_ paleta 3 [D4] Proga 4_ paleta 4 [D5] Proga 4_ paleta 5 Slika 6.27: Blokovna shema bloka Senzor delovne postaje Proga 4_ paleta Interval Test 2 Proga 4_ paleta 2 Interval Test 3 S Q OR R!Q double 4 Proga 4_ paleta 3 Interval Test 2 S-R Flip -Flop 5 Proga 4_ paleta 4 Interval Test 3 6 Proga 4_ paleta 5 Interval Test 4 Enable 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.

Vodenje Bosch TS z Matlab/Simulink-om Stran 45 Z uporabo slednjih lahko vrednosti iz simulacijske sheme prepisujemo na naslove v PLKju, ki nato krmili aktuatorje in elektromotor na realnem transportnem sistemu. Na sliki 6.29 je prikazan blok namenjen krmiljenju aktuatorjev na vratih. Vrata SG 2 Vrata SG 5 OPC Write (Sync): S7_300...ta.SG S7_300...ta.SG5 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 SG in SG2, realnega tranportnega sistema. OPC Read (Cache ): S7_30...rji.S S7_30...rji.S2 V T u u Senzor vrata 2 Senzor vrata 2 Slika 6.30: OPC Read blok namenjen branju stanja senzorjev vrat SG in SG2

Vodenje Bosch TS 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 TS 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. 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.). 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 TS z Matlab/Simulink-om Stran 48 Slika 7.: 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 TS 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 TS 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 TS z Matlab/Simulink-om Stran 5 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 TS 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. Generiranje.wrl kode 3D modela transportnega traka V prejšnjem poglavju 7. 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.0. Tega postopka generiranja.wrl kode smo se posluževali tudi pri vseh ostalih elementih 3D modela transportnega traka. Slika 7.0: Okno Export options in nastavitve

Vodenje Bosch TS 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. je prikazan primer za določanje vrednosti translacijskega premika zatiča na na vratih.

Vodenje Bosch TS 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.2. Slika 7.: Določanje vrednosti translacijkega premika zatiča na vratih Slika 7.2: Pozicioniranje elemetov v V-Realm Builder-ju

Vodenje Bosch TS 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.3. Slika 7.3: 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 TS 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.4 je prikazano okno Parameters: VR Sink s parametri, ki smo jih urejali. Slika 7.4: Okno Parameters: VR Sink

Vodenje Bosch TS z Matlab/Simulink-om Stran 57 8. Rezultati Programska oprema je bila testirana na transportnem sistemu Bosch TS 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. 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 TS z Matlab/Simulink-om Stran 58 Slika 8.: Virtualni osciloskop diagnostika čas (t)

Vodenje Bosch TS z Matlab/Simulink-om Stran 59 Slika 8.2: Virtualni osciloskop - krmiljenje čas (t)

Vodenje Bosch TS z Matlab/Simulink-om Stran 60 Slika 8.3: Virtualni osciloskop - simulacija

Vodenje Bosch TS z Matlab/Simulink-om Stran 6 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 TS, zato je uporaba simulacijskega okolja omejena na transportni trak Bosch TS. 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 TS z Matlab/Simulink-om Stran 62 0. VIRI, LITERATURA [] J. Papenfort, Centralized vs. distributed control, 8.5.20 http://www.controleng.com/index.php?id=2735&tx_ttnews[tt_news]=37&chash =266862 [2] Wkipedia, Hierarchical control system, 8.5.20 http://en.wikipedia.org/wiki/hierarchical_control_system [3] Wikipedia, Industrial PC, 8.5.20 http://en.wikipedia.org/wiki/industrial_pc [4] Bobbio, A. System modelling with Petri nets. Instituto Elettrotecnico Nazionale Galileo Ferraris Strada delle Cacce 9, 035 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. 0, str. 469-486. [7] Klajnšek, G. Standard VRML: skripta. Maribor: Fakulteta za elektrotehniko, računalništvo in informatiko, 2002

Vodenje Bosch TS z Matlab/Simulink-om Stran 63. PRILOGE Slika.: Grafični vmesnik

Vodenje Bosch TS z Matlab/Simulink-om Stran 64 OPC Config Real -Time OPC Configuration Display 3 Trenutno stanje Petrijeve mreze Motor_analog Hitrost 2 S Q SG R!Q Motor vklop /izklop Motor motor Vector8 S Q SG4 R!Q OR [Diagnostika ] double Data Type Conversion 4 Vector9 S Q SG5 R!Q [Simulacija ] From 5 In Out Vector0 S Q SG3 Vse postaje zasedene Signal_postaje zasedene In In2 In3 In4 In5 osciloskop double Data Type Conversion 3 Out Cas odprtih vrat double Data Type Conversion 4 m_k Vector Vector2 R!Q S Q R!Q SG2 Center_4 S3 Rotation_4 Translation_4 Vrata senzor_pe Senzor vrata Senzor vrata 2 Senzor _vrat na delovnih postajah senzor_pe2 Vrata trn Vrata 2 Delovni postaji _senzor_trna trn2 In Out Senzor delovne postaje double Data Type Conversion 3 double Data Type Conversion 2 In Out Senzor delovne postaje 2 SG2 double Data Type Conversion u m u T Transpose Petrijeve mreze _ krmilnik Vector Vector Vector2 Vector3 Vector4 Nosilec _3 Center_4 S4 Rotation_4 Translation_4 Nosilec _4 Center_4 S5 Rotation_4 Translation_4 Nosilec _5 Center_4 S Rotation_4 Vertikalni _zatic.translation Vertikalni _zatic _.translation Vertikalni _zatic _2.translation Vertikalni _zatic _3.translation Vertikalni _zatic _4.translation Horizontalni _zatic.translation Horizontalni _zatic_.translation Barva.diffuseColor Barva.diffuseColor Barva 2.diffuseColor Barva 3.diffuseColor Barva 4.diffuseColor Nosilec.center Nosilec.rotation Nosilec.translation Nosilec 4.center Nosilec 4.rotation Nosilec 4.translation Nosilec 5.center Nosilec 5.rotation Nosilec 5.translation Nosilec.center Nosilec.rotation Nosilec.translation Nosilec 22.center Nosilec 22.rotation Nosilec 22.translation Luc _senzor_2.diffusecolor Luc _senzor_.diffusecolor VR Sink [Hitrost] v Goto 9 Translation_4 Hitrost motorja _ simulacija [Simulacija ] Nosilec _ Center_4 Out S2 Rotation_4 Konzola _start Translation_4 Start /neprekinjeno delovanje Nosilec _2 0 cikel [Diagnostika ] vrata From7 From 34 [SG] InOut [Simulacija ] From Premik _vrata Stanje Barva Constant 5 Simulacija _Diagnostika Simulacija Krmiljenje OR vrata 4 Sprememba _barve _sg3 Osciloskop 0 Constant 7 Vklop Diagnostika Izklop Diagnostika Diagnostika M Vrata 2 Vrata Vrata 3 Vrata0 5 Vrata 4 Vrata [SG 4] From InOut Stanje Barva Sprememba _barve _sg4 Goto 27 vo vrata 5 Premik _vrata 4 [m_k] 4 Vector7 S Q R!Q In Motor vo 2 vo 3 vo 4 [SG 5] From 2 InOut Stanje Barva Sprememba _barve _sg5 [m_k] Vector3 [Simulacija ] vo 5 vrata 3 Premik _vrata 5 Stanje Barva [SG] Vrata SG [SG3] Sprememba _barve _sg2 From 6 From 3 [SG5] Vrata SG 5 In2Out2 6 [m_k] 8 Vector4 From S Q R!Q Subsystem PE_ [SG2] From 4 vrata 2 Premik _vrata 3 InOut Stanje Barva Sprememba _barve _sg [m_k] Vector5 PE_2 Subsystem PE_2 Premik _vrata 2 0 S Q InOut [m_k] Vector6 R!Q Logical Operator 7 Premik _trn2 2 [m_k] Vector7 S2 In2Out2 Trna S Logical Operator 8 Premik _trn PE_ Stanje Barva s2 Stanje Barva s Slika.2: Shema celotne programske opreme v Simulink-u