Voorwoord Met het oog op het behalen van het diploma van Master in de Elektrotechniek, optie Automatisering, heb ik de hier voorliggende Masterproef samengesteld. De hogeschool West-Vlaanderen bracht mij in contact met het bedrijf Anziplast Tavernier in Izegem waar ik gedurende het laatste jaar van mijn opleiding mijn Masterproef volbracht. Het onderwerp boeide me omdat het mijn kennis over automatisering en robotica verruimt. Het was ook belangrijk dat ik dit project effectief kon uitwerken in de productieomgeving van Anziplast Tavernier. Hiervoor kon ik gebruik maken van de ervaring van anderen die al eerder automatiseringsprojecten hadden uitgevoerd. Bij deze gelegenheid wil ik een woord van dank richten aan de volgende personen : Eerst en vooral de heer Peter Van Steen voor het aanreiken van het onderwerp en voor zijn toelating tot uitwerking binnen het bedrijf. Daarnaast mijn naaste medewerkers van Anziplast Tavernier voor de informatie, tips, technische ondersteuning, advies, etc. die ze mij aanreikten. Mijn promotoren Dhr. Steven Dumortier (extern) en Dhr. Thierry Desmarey (intern) hebben mij met raad en daad bijgestaan om mijn opdracht tot een goed einde te brengen. Tot slot bedank ik mijn ouders die mijn studies mogelijk maakten en mijn vriendin die mij gesteund heeft. Veel leesplezier.
I
Inhoudsopgave
Voorwoord .................................................................................................................................. I Inhoudsopgave .......................................................................................................................... II Abstract .................................................................................................................................... IV Lijst van figuren ........................................................................................................................ V Lijst van tabellen ...................................................................................................................... VI 1
Inleiding ............................................................................................................................. 1 1.1
Bedrijfsvoorstelling Anziplast Tavernier .................................................................... 1
1.2
Situatieschets ............................................................................................................... 2
1.3
Doelstellingen .............................................................................................................. 3
2
Spuitgietmachine ................................................................................................................ 6
3
Fanuc robot M16i ............................................................................................................. 10
4
5
3.1
Kenmerken................................................................................................................. 10
3.2
Robot ......................................................................................................................... 10
3.3
Controller ................................................................................................................... 10
3.4
Teach Pendant............................................................................................................ 12
3.5
Coördinaatsysteem..................................................................................................... 12
3.5.1
Joint coördinaatsysteem (j1, j2, j3, j4, j5, j6) ..................................................... 12
3.5.2
World coördinaatsysteem (x, y, z, w, p, r) ......................................................... 13
3.5.3
Tool coördinaatsysteem...................................................................................... 13
3.6
I/O .............................................................................................................................. 14
3.7
Gebruikerssoftware .................................................................................................... 15
3.7.1
Bewegingsinstructie ........................................................................................... 15
3.7.2
Branch instructie ................................................................................................ 17
3.7.3
Wacht instructie.................................................................................................. 19
3.8
Register instructies .................................................................................................... 20
3.9
Payload ...................................................................................................................... 20
3.10
User alarm .............................................................................................................. 20
3.11
Veiligheid ............................................................................................................... 22
Ontwerp van de verschillende onderdelen ....................................................................... 23 4.1
Ontwerp grijper.......................................................................................................... 23
4.2
Ontwerp frame voor de robot en de nabewerking ..................................................... 27
4.3
Matrijsherkenning ...................................................................................................... 30
4.4
Overige ...................................................................................................................... 33
Elektrische en pneumatische installatie............................................................................ 34 II
6
5.1
Euromap 12................................................................................................................ 36
5.2
Communicatie tussen robot en nabewerkingstafel .................................................... 37
5.3
Pneumatische installatie ............................................................................................ 39
Robotprogramma’s ........................................................................................................... 40 6.1
Cyclus ........................................................................................................................ 41
6.2
Tijdsdiagram van belangrijkste ingang- en uitgangsignalen ..................................... 42
6.3
Hoofdprogramma....................................................................................................... 43
6.4
Initialisatie ................................................................................................................. 45
6.5
Matrijscode ................................................................................................................ 48
6.6
Matrijsprogramma ..................................................................................................... 50
7
Besluit............................................................................................................................... 52
8
Literatuurlijst .................................................................................................................... 53
A
Snijplank modellen ........................................................................................................... 54
B
Datasheet Roto HSP 10 Presma ....................................................................................... 60
C
Datasheet Fanuc M16i ...................................................................................................... 61
D
Tekening grijper ............................................................................................................... 62
E
Tekening frame ................................................................................................................ 63
F
Datasheet contrinex sensoren ........................................................................................... 64
G
Elektrische schema’s ........................................................................................................ 70
H
Datasheet pneumatisch 3/2 magneetventiel ..................................................................... 80
I
Datasheet pneumatisch 5/2 magneetventiel ..................................................................... 81
J
Datasheet pneumatisch dubbelwerkende cilinder ............................................................ 82
K
Overzicht I/O .................................................................................................................... 83
L
Robotprogramma .............................................................................................................. 84
M
Opstartprocedure automatisatie snijplanken .................................................................... 91
III
Abstract This thesis handles about a project in the company Anziplast Tavernier in Izegem. Anziplast Tavernier is manufacturer of plastic injection moulded parts. An existing carrousel injection moulding machine produces cutting boards in thermoplastic material. The machine contains ten clamping units on a rotating carrousel and an injection unit. On every clamping unit there’s a different mould. Because of this, several models of cutting boards can be produced promiscuously. The project contains the automatic removal of the parts out of the moulds and the final processing with an six axis industrial robot. A gripper and a frame have been developed for the robot. There‘s one gripper for all the different models of cutting boards. The suction cups are controlled by the robot I/O. When the mould opens, the robot takes the parts out of the mould and puts the cutting boards on a final processing table. The table clamps the parts with suction cups. In the future, the robot will remove the sprue and debur of the edges of the parts with a pneumatic mill. After that, the robot takes the parts to a conveyor belt that moves the cutting boards to a safe zone. The communication between the robot, the machine and the finishing table is provided, so they can work together safely. The Euromap 12 standard is added to the machine which describes the communication between injection moulding machines and handling robots. The moulds have been fitted with an identification code so the robot can distinguish the different moulds. The robot reads the code before the cycle begins and knows which product he will remove. Each mould has his own robot program with other motions. Adding a robot to the injection mould machine is certainly a surplus value. Now the cutting boards can be removed safely out of the mould. The robot will automatically generate an alarm when something goes wrong and the machine will stop. The employee can intervene in time. When the finishing process can be executed by the robot, the machine can be less manned. On a regular basis an employee removes the cutting boards from the conveyor belt to pack them. Also the risk of injury will decrease.
IV
Lijst van figuren Figuur 1.1: Transportband onder matrijs.................................................................................... 2 Figuur 1.2: Snijplankmodellen die door robot zullen nabewerkt worden .................................. 4 Figuur 1.3: Plattegrond nieuwe situatie...................................................................................... 5 Figuur 2.1: Roto HSP Presma .................................................................................................... 6 Figuur 2.2: Zij- en bovenaanzicht spuitgietmachine .................................................................. 7 Figuur 2.3: Inspuiten van kunststof ............................................................................................ 8 Figuur 2.4: Pneumatische cilinder .............................................................................................. 8 Figuur 2.5: Overzicht spuitgietproces ........................................................................................ 9 Figuur 3.1: R-J2 controller met teach pendant en noodstoppen ............................................... 11 Figuur 3.2: Communicatiemogelijkheden RJ-2 controller ....................................................... 11 Figuur 3.3: Joint coördinaatsysteem......................................................................................... 13 Figuur 3.4: World Coördinaatsysteem ..................................................................................... 13 Figuur 3.5: Tool coördinaatsysteem ......................................................................................... 14 Figuur 3.6: Digitale in- en uitgangsmodule ............................................................................. 14 Figuur 3.7: Bewegingsinstructie .............................................................................................. 15 Figuur 3.8: Verschil tussen joint- en lineair motion................................................................. 16 Figuur 3.9: Circular motion ...................................................................................................... 16 Figuur 3.10: Verschil tussen fine en continuous termination type ........................................... 17 Figuur 3.11: Register Conditionele vergelijkinstructie ............................................................ 18 Figuur 3.12: I/O Conditionele vergelijkinstructie .................................................................... 18 Figuur 3.13: Conditionele Selectie Instructie ........................................................................... 19 Figuur 3.14: Tijdsgespecificeerde wacht instructie.................................................................. 19 Figuur 3.15: Conditionele wacht instructie .............................................................................. 19 Figuur 4.1: Robotgrijper tussen matrijs.................................................................................... 23 Figuur 4.2: Overeenkomstige oppervlakken verschillende snijplanken .................................. 24 Figuur 4.3: Ontwerp grijper ..................................................................................................... 24 Figuur 4.4: Plaatsing Zuignappen ............................................................................................ 25 Figuur 4.5: Doorsnede robotkoppeling .................................................................................... 26 Figuur 4.6: Sensoren in robotkoppeling ................................................................................... 26 Figuur 4.7: Robotkoppeling ..................................................................................................... 26 Figuur 4.8: Frame voor robot en nabewerking ......................................................................... 27 Figuur 4.9: Studie snijdgereedschappen................................................................................... 28 Figuur 4.10: Nabewerkingstafel ............................................................................................... 28 Figuur 4.11: Optische sensoren van de nabewerkingstafel ...................................................... 29 Figuur 4.12: Balluff sensor....................................................................................................... 30 Figuur 4.13: Schematische voorstelling matrijsherkenning ..................................................... 31 Figuur 4.14: Matrijsherkenning................................................................................................ 31 Figuur 4.15: Voorbeelden matrijscode ..................................................................................... 32 Figuur 4.16: Beveilinging J1-as ............................................................................................... 33 Figuur 4.17: Transportband ...................................................................................................... 33 Figuur 5.1: Systeemkast robot .................................................................................................. 34 Figuur 5.2: Overzicht elektrische verbindingen ....................................................................... 35 Figuur 5.3: Euromap 12 interface ............................................................................................ 37 Figuur 5.4: Pneumatisch schema nabewerkingstafel ............................................................... 39 Figuur 6.1: Flowchart main ...................................................................................................... 44 Figuur 6.2: Indeling robotzones ............................................................................................... 45 Figuur 6.3: Flowchart initialisatie ............................................................................................ 47
V
Figuur 6.4: Flowchart matrijscode ........................................................................................... 49 Figuur 6.5: Flowchart matrijsprogramma ................................................................................ 51
Lijst van tabellen Tabel 3.1: Alarmzwaarte .......................................................................................................... 21 Tabel 3.2: Beschrijving alarmzwaarte ...................................................................................... 21 Tabel 5.1: Euromap 12 communicatie robot - spuitgietmachine ............................................. 36 Tabel 5.2: Overzicht interface robot - nabewerkingstafel ........................................................ 38 Tabel 6.1: Omzetting matrijscode binair - decimaal ................................................................ 48
VI
1 Inleiding 1.1 Bedrijfsvoorstelling Anziplast Tavernier Anziplast Tavernier is een kunststofverwerkend bedrijf gespecialiseerd in spuitgieten. De hoofdzetel bevindt zich in het West-Vlaamse Izegem. Vandaag heeft Anziplast 80 medewerkers en wordt een omzet gerealiseerd van 12,5 miljoen Euro. Anziplast Tavernier is voornamelijk een loonspuitgieter die in opdracht van hun klanten producten gaat ontwikkelen, spuitgieten en nabewerken. Ze maken daarbij gebruik van verschillende spuitgiettechnieken zoals traditioneel spuitgieten, meercomponenten spuitgieten, gasinjectie, sandwich moulding, insert moulding en andere … Hun klanten zijn actief in verscheidene sectoren waaronder verpakkingssector, voeding, bouw, machinebouw, automobiel en textiel de belangrijkste zijn. Nu hebben ze een duizendtal Europese klanten voor wie een 2500 verschillende producten gemaakt worden. Anziplast Tavernier verwerkt verschillende hoogwaardige kunststoffen zoals: PBT, PC, ABS,PP,… Ze realiseren producten met een spuitgewicht van enkele grammen tot ongeveer acht kg. Het bedrijf omvat een machinepark van een zestigtal spuitgietmachines. Alle machines, van 20 tot 1500 ton, beschikken over een robot voor automatische stapeling en een automatische grondstofaanvoer. Ze kunnen ook instaan voor het conditioneren, bedrukken, ultrasoon inserten of ultrasoon lassen van onderdelen. De CNC-sturing, die voorzien is op alle machines, zorgt voor een zeer nauwkeurige productie. Anziplast was oorspronkelijk een familiaal geleide KMO actief in de kunststofverwerking. Ooit bescheiden begonnen vanuit het houtbedrijf “C. Casier Blomme en Zonen” met het produceren van houten onderdelen voor de borstel- en meubelindustrie. Een logisch gevolg is het produceren in kunststof, dat qua vormgeving en design veel meer mogelijkheden biedt. In 1977 werd een eerste spuitgietmachine aangekocht en ondergebracht in een nieuwe firma, Anziplast NV. In 1982 nam Anziplast NV de firma Ferdaplast over, dat gespecialiseerd was in badsethangers en kleerhangers. Zes jaar later nam het ook één van de eerste spuitgieterijen in België, Novellit, producent van technische producten, onder haar vleugels. In 2001 fusioneert Anziplast NV met Plastics Tavernier Hubaux, die gespecialiseerd is in hoogstaande technische stukken en automotive, onder de nieuwe naam “Anziplast Tavernier”. drie jaar later neemt Anziplast Tavernier “Alcaplast” te Heule over. Dit jonge bedrijf is toeleverancier en fabrikant van verschillende huishoudartikelen en pultrusiestaven.
1
1.2 Situatieschets Op een bestaande carrousel injectiespuitgietmachine worden snijplanken in polypropyleen geproduceerd. Bijlage A toont de verschillende snijplankmodellen. De spuitgietmachine is een Roto HSP van het Italiaanse merk Presma. De machine bevat tien stations die ronddraaien. In ieder station zit een andere matrijs. Hierdoor kunnen verschillende modellen snijplanken door elkaar geproduceerd worden. Per injectie kunnen meerdere snijplanken in een matrijs gemaakt worden, afhankelijk van de grootte van de snijplank. De snijplanken hangen aan elkaar door middel van een aanspuiting. De aanspuiting ontstaat in het midden van de matrijs, waar de spuitmond van de injectie-eenheid tegen de matrijs gedrukt wordt. Nadat een vorm gevuld is met de gesmolten kunststof draait de carrousel een positie verder en zal een volgende matrijs gevuld worden. Het vorige station kan ondertussen afkoelen. Wanneer een matrijs een volledige cyclus doorlopen heeft, opent de matrijs. Tijdens het openen zullen uitstoters in de matrijs het spuitgietstuk uitstoten. Op die plaats staat een transportband onder de machine. De snijplanken vallen op de transportband en worden naar een tafel afgevoerd. Figuur 1.1 toont de transportband onder de carrousel. Op de transportband liggen de snijplanken zoals ze uit de matrijs komen. De aanspuiting en de bramen werden aangeduid.
Aanspuiting
Figuur 1.1: Transportband onder matrijs
Een werknemer neemt de snijplanken van de tafel en verwijdert de aanspuiting en de bramen manueel. Het verwijderen van de aanspuiting gebeurt met een trillend mes. De bramen worden weggesneden met een gewoon mes. Figuur 1.1 toont de aanspuiting en de bramen van een snijplank. Na de behandeling van de snijplanken worden deze in dozen verpakt. Dit is een heel arbeidsintensieve job met weinig variatie en met risico op lichamelijk letsel.
2
1.3 Doelstellingen De masterproef omvat het automatiseren van de uitname en nabewerking van de snijplanken. In een eerste fase is het de bedoeling om de snijplanken correct uit te nemen met een zesassige Fanuc robot. De snijplanken bestaan in verschillende maten en vormen. Tijdens het ontwerp van de grijper moet daarmee rekening gehouden worden. Het is niet mogelijk om met meerdere grijpers te werken. Wanneer de snijplanken uit de matrijs komen, zal de robot de producten afgeven aan een aflegstation waar ze geklemd worden. Voor de robot en de nabewerkingstafel wordt een frame ontworpen om bij de machine te plaatsen. Na de behandeling legt de robot de planken op een afvoertransportband, die de producten naar een veilige zone brengt. Daar staat een werknemer klaar die instaat voor de verpakking. De robot en de machine communiceren met elkaar zodat deze veilig kunnen samenwerken. Er bestaat een standaard voor de communicatie tussen een injectiespuitgietmachine en een robot, de ‘Euromap 12”, maar deze is niet voorzien. De spuitgietcarrousel zal aangepast worden naar deze norm. Omdat er tien verschillende matrijzen op de spuitgietcarrousel aanwezig zijn, is het noodzakelijk dat iedere matrijs een vaste code krijgt. Door het uitlezen van die code weet de robot uit welke matrijs hij de volgende producten neemt. De manier waarop dit gebeurt, moet uitgewerkt worden. De machine moet op drie manieren kunnen werken. Een eerste manier is de automatische mode. In deze mode worden de snijplanken met de robot uit de matrijs verwijderd en nabewerkt. In de half automatische mode worden de minder courante snijplanken met de robot verwijderd uit de matrijs en op een afvoerband geplaatst. De nabewerking gebeurt terug manueel. Bij een defect aan de robot plaatst men de machine in manuele mode zodat de productie kan verdergaan. De snijplanken vallen terug op de transportband onder de machine en worden daarna manueel bewerkt. Wanneer de snijplanken op de nabewerkingstafel liggen, zal de robot instaan voor de nabewerking. Daarom is het van groot belang dat de snijplanken altijd op de juiste plaats liggen zodat het snijdgereedschap de contour van de snijplanken kan volgen. De positionering is de tweede fase van het project. In de laatste fase worden de snijplanken effectief nabewerkt met de robot. Er gebeurt een studie naar een geschikt snijdgereedschap. Tussen het afleggen van de planken op de nabewerkingstafel en de nabewerking moet een gereedschapswissel voorzien worden. De robot zal dan de grijper in een gereedschapsmagazijn hangen en het snijdgereedschap voor de nabewerking nemen.
3
Alle bewegingen van de robot worden geprogrammeerd in een fanuc programmeertaal. Daarvoor is een goede samenwerking tussen de robot en de machine noodzakelijk. De cyclustijden van de machine moeten gerespecteerd worden. De robot moet op tijd klaarstaan om de volgende snijplanken uit de matrijs te halen. Volgende cyclus moet doorlopen worden:
De robot moet klaarstaan boven de matrijs met de grijper; Met de grijper de snijplanken uit de matrijs halen; De snijplanken afleggen op de nabewerkingstafel en vastklemmen; Gereedschapswissel: grijper weghangen en frees nemen; Bramen en aanspuiting verwijderen met frees; Gereedschapswissel: frees weghangen en grijper nemen; Afgewerkte snijplanken terug vastklemmen met grijper; Afgewerkte snijplanken afleggen op afvoerband; Met de robot terug klaarstaan boven matrijs om de nieuwe snijplanken uit te nemen.
Het is niet de bedoeling dat elke soort snijplank met de robot kan nabewerkt worden. Hiervoor verschillen de vormen en afmetingen van de snijplanken te veel van elkaar. Er zijn snijplanken die nog zelden geproduceerd worden. Deze modellen worden met de robot uit de matrijs gehaald en op de afvoerband geplaatst. Daarna worden ze manueel nabewerkt. De robot zal de vijf modellen nabewerken die 98 % van de productie omvatten. Deze snijplanken worden in meerdere matrijzen gemaakt. Figuur 1.2 toont deze modellen. Het gaat om:
Snijplank klein model; Snijplank klein model afgerond; Snijplank groot model; Prof plank; Chef board.
Figuur … toont een plattegrond van de nieuwe situatie.
Figuur 1.2: Snijplankmodellen die door robot zullen nabewerkt worden
4
Figuur 1.3 toont de plattegrond van de nieuwe situatie.
Figuur 1.3: Plattegrond nieuwe situatie
1- Spuitgietcarrousel; 2- Afscherming; 3- Frame voor robot en nabewerking; 4- Zes-assige robot; 5- Maalmolen voor kunststofresten; 6- Nieuwe afvoertransportband voor automatische mode; 7- Oude afvoertransportband voor manuele mode; 8- Tafel voor manuele nabewerking; 9- Verpakmachine; 10- Controller spuitgietmachine; 11- Controller Fanuc robot.
5
2 Spuitgietmachine De machine van Presma staat in voor het injectie spuitgieten van alle soorten thermoplastische materialen. Binnen Anziplast gebruikt men de machine voor het maken van snijplanken. In bijlage B worden de technische gegevens van de machine weergegeven. De machine bestaat uit een roterende carrousel met tien klemeenheden om de matrijzen te klemmen en een injectie-eenheid om de gesmolten kunststof in de matrijs te injecteren. Eén van de voordelen van het rotatiesysteem is, dat het zorgt voor een efficiënte werking van de injectie pomp, die constant en periodiek de verschillende matrijzen na elkaar vult met het thermoplastisch materiaal. De klemeenheden en injectie-eenheid worden hydraulisch aangedreven. Het mechanisch systeem voor de roterende beweging van de carrousel wordt aangedreven door een elektrische motor. Figuur 2.1 toont de machine.
Figuur 2.1: Roto HSP Presma
Op de carrousel kunnen matrijzen van verschillende producten van een andere vorm en ander gewicht geplaatst worden. Het is mogelijk de parameters van elk station afzonderlijk in te stellen. Eén of meerdere stations kunnen automatisch overgelaten worden wanneer er geen matrijs gemonteerd is of wanneer het gewenst aantal producten geproduceerd is. De grondstof wordt automatisch toegevoerd aan de machine. De twee helften van een matrijs worden elk op een plaat van de klemeenheid gemonteerd. Er is één vaste plaat en één beweegbare plaat per station. Een hydraulische cilinder verschuift de beweegbare plaat over vier geleiders.
6
Figuur 2.2 toont een zij- en bovenaanzicht van de machine met de verschillende onderdelen. 1- Basisframe; 2- Carrousel; 3- Klemeenheid; 4- Injectie-eenheid; 5- Hydraulisch systeem; 6- Koelsysteem; 7- Elektrische aansluitingen; 8- Pneumatische cilinder; 9- Grondstof toevoer; 10- Uitstootstation.
Figuur 2.2: Zij- en bovenaanzicht spuitgietmachine
7
Het spuitgietproces bestaat uit verschillende stappen. Eerst wordt de matrijs gesloten. De twee matrijshelften worden tegen elkaar gedrukt door de beweegbare plaat voorwaarts te schuiven. Er wordt een klemkracht van 500 kN ontwikkeld. Daarna draait de carrousel één positie verder in tegenwijzerzin. De carrousel stopt terwijl de injectie-eenheid voorwaarts schuift tot tegen de matrijs. In de matrijs is een opening waar de kunststof ingespoten wordt. De spuitmond van de injectie-eenheid drukt tegen die opening zoals te zien is in figuur 2.3. De schroef in de injectie-eenheid duwt het gesmolten thermoplastisch materiaal in de matrijsholte. Wanneer de matrijsholte volledig gevuld is, schuift de injectie-eenheid terug achteruit. De carrousel draait een positie verder. De volgende matrijs wordt met gesmolten kunststof gevuld terwijl de vorige matrijzen kunnen afkoelen. In de matrijs zijn koelkanalen voorzien waar een koelvloeistof door stroomt. Na de koeling heeft de kunststof de vorm van de matrijsholte gekregen.
Figuur 2.3: Inspuiten van kunststof
Bij het terugschuiven van de injectie-eenheid kan het zijn dat overtollig gesmolten kunststof aan de rand van de opening aan de buitenkant van de matrijs blijft kleven. Daarom is onder de carrousel een pneumatische cilinder zoals in figuur 2.4 voorzien. De cilinder drukt een mes langs de opening van de matrijs die de overtollige kunststof verwijderd.
Figuur 2.4: Pneumatische cilinder
Wanneer de carrousel één volledige toer doorlopen heeft, wordt de matrijs geopend door de beweegbare plaat achteruit te schuiven. Het uitwerpen van de spuitgietstukken gebeurt door een mechanisch systeem in de beweegbare plaat van de klemeenheid. Tijdens het openen van de matrijs schuiven uitstoters vooruit die het spuitgietstuk uit de matrijs duwen. In figuur 2.5 wordt een overzicht van het spuitgietproces weergegeven.
8
Figuur 2.5: Overzicht spuitgietproces
123456-
Matrijs sluiten en drukkracht opbouwen; Carrousel draait 1 positie vooruit; Injectie eenheid schuift naar matrijs en vult matrijsholte; Injectie eenheid schuift terug, carrousel draait verder en matrijs koelt af; Na volledige toer carrousel opent de matrijs; Uitwerpen van spuitgietstuk.
9
3 Fanuc robot M16i 3.1 Kenmerken De M-16iB is een zes - assige, modulaire, elektrisch servo aangedreven robot die ontwikkeld is voor een breed gamma van industriële toepassingen. Zijn eenvoudige en betrouwbare constructie maakt dat de M-16i een gesofisticeerde bewegingscontrole en een consistente uitvoering met een hoge productiviteit heeft. De technische gegevens van de robot zijn terug te vinden in bijlage C. De M-16iB heeft een compact ontwerp met een ruim bewegingsgebied en hoge snelheden. Hierdoor is deze robot gemakkelijker inzetbaar in beperkte en enge ruimtes van een productieproces. In de J3 as van de robot zijn pneumatische en elektrische verbindingspunten voorzien om de grijper (tool), gemonteerd op de pols van de flens, aan te sturen. Iedere as heeft een mechanische rem, zodat de motoren niet continu bekrachtigd moeten worden bij lange momenten van inactiviteit. De robot maakt gebruik van absolute seriële encoders zodat kalibratie na het opstarten uitgesloten wordt.
3.2 Robot Een robot is een mechanische unit met assen en armen, aangedreven door servo motoren. De plaats waar de armen verbonden zijn noemt men een joint of een as. J1, J2 en J3 zijn de hoofdassen. De polsassen J4, J5 en J6, worden gebruikt om de grijper (tool) te bewegen.
3.3 Controller De robot is verbonden met een R-J2 controller. Deze controller bevat ondermeer de voeding, een minicomputer, de databus, de ascontrole, de servostekkers, het geheugen, de interfacekaarten, het controlecircuit, enz. Deze onderdelen zorgen voor de bewegingen van de robot en de communicatie met andere apparaten. Figuur 3.1 toont een afbeelding van de R-J2 controller met zijn teach pendant en de noodstoppen.
10
Teach pendant
Drie-standenschakelaar: T1, T2, Auto
Noodstopknoppen Figuur 3.1: R-J2 controller met teach pendant en noodstoppen
De controller kan met verscheidene apparaten communiceren, zoals bijvoorbeeld printers, harde schijven of PLC’s. In Figuur 3.2 worden de verschillende communicatiemogelijkheden voorgesteld.
Figuur 3.2: Communicatiemogelijkheden RJ-2 controller
11
Het I/O systeem van de robot voorziet een interface tussen de systeemsoftware en de externe apparaten d.m.v. I/O signalen en seriële communicatiepoorten. Het controlecircuit controleert de robotbewegingen van alle robotassen. Het geheugen van de main CPU bevat de software, maar ook de data en de programma’s die geschreven zijn.
3.4 Teach Pendant Het programmeren van de robot gebeurt via de teach pendant m.b.v. een robotprogrammeertaal. De teach pendant laat ook andere software menu’s zien, bijvoorbeeld het I/O menu of het gebruikersmenu. De teach pendant wordt vooral gebruikt voor het:
verplaatsen van de robot (joggen); aanleren van posities; testen van programma’s; programmacontrole; starten van de productie.
3.5 Coördinaatsysteem Een coördinaatsysteem bepaalt de positie en de houding van een robot. Er zijn drie coördinaatsystemen bruikbaar, het joint-, World- en tool coördinaatsysteem. Het systeem wordt bepaald voor de robot of de ruimte.
3.5.1 Joint coördinaatsysteem (j1, j2, j3, j4, j5, j6) In dit coördinaatsysteem worden de posities van de individuele joints (gewrichten) gebruikt om de positie van de robot te beschrijven. Figuur 3.3 toont dit in een schets. Als er in dit systeem gewerkt wordt, dan worden de joints apart bestuurd. Dit is soms een vreemde manier om een verplaatsing te doen. Het is bijvoorbeeld een lastig karwei om in dit systeem de manipulator recht naar onder te bewegen. Daarom zijn er twee alternatieve coördinaatsystemen, namelijk World en tool, ontwikkeld voor robots. Met deze twee coördinaatsystemen kan de operator de manipulator in een rechte lijn bewegen.
12
Figuur 3.3: Joint coördinaatsysteem
3.5.2 World coördinaatsysteem (x, y, z, w, p, r) In dit coördinaatsysteem wordt de positie (x, y, z) en hoekverdraaiing (w, p, r) van de manipulator relatief weergegeven t.o.v. het voetstuk. De oriëntatie wordt dezelfde verondersteld als die van het voetstuk van de robot. Dit staat weergegeven in Figuur 3.4.
Figuur 3.4: World Coördinaatsysteem
3.5.3 Tool coördinaatsysteem De uitlijning van het assensysteem is relatief t.o.v. de oriëntatie van de polsplaat, waartegen de manipulator is bevestigd. In dit systeem kan de operator de manipulator in een gewenste richting oriënteren en een rechtlijnige beweging evenwijdig of loodrecht t.o.v. de manipulator maken. Dit staat weergegeven in Figuur 3.5.
13
Figuur 3.5: Tool coördinaatsysteem
3.6 I/O Input/output signalen (I/O) zijn elektrische signalen die het mogelijk maken om de robot te laten communiceren met een machine. Figuur 3.6 toont de in- en uitgangskaarten die zich in de robotkast bevinden. De signalen worden verdeeld in twee groepen: Algemene I/O en speciale I/O. a) Algemene I/O De gebruiker kan zelf de algemene I/O bepalen. Deze groep omvat de volgende signalen: Digitale I/O: DI/DO: Discrete signalen; Groep I/O: GI/GO: Beheert meerdere I/O tegelijkertijd; Analoog I/O: AI/AO: Analoge signalen.
b) Speciale I/O Het gebruik van speciale I/O ligt vast. Deze groep omvat de volgende signalen: Peripheral (UOP) I/O: UI/UO: Besturen de robot via extern bedieningspaneel; Operators paneel (SOP) I/O: SI/SO: Signalen van het bedieningspaneel; Robot I/O: RI/ RO: Signalen die de manipulator controleren.
Figuur 3.6: Digitale in- en uitgangsmodule
14
3.7 Gebruikerssoftware Om de robot bewegingen te laten uitvoeren moet een programma geschreven worden. De software die de teach pendant gebruikt is niet op Windows gebaseerd. De programmacode wordt geschreven in een robotprogrammeertaal van Fanuc.
3.7.1 Bewegingsinstructie Een bewegingsinstructie verplaatst de robot tool naar een specifiek punt in de ruimte met een specifieke snelheid en in een specifieke bewegingsmode. Figuur 3.7 toont een voorbeeld van een bewegingsinstructie.
Figuur 3.7: Bewegingsinstructie
a) Motion format Voor het motion format dient het bewegingspad naar een specifieke positie te worden gespecificeerd. Drie opties zijn mogelijk: De joint motion (J) is de basis mode voor het bewegen van de robot naar een specifieke positie. De robot versnelt langs alle assen, beweegt met een specifieke snelheid, vertraagt en stopt op het zelfde moment. Het pad is gebruikelijk niet-lineair. Het bewegingsformaat wordt gespecificeerd om een eindpunt aan te leren. De linear motion (L) doet het tool center punt bewegen van een startpositie naar een eindpositie in een rechte baan. Figuur 3.8 toont het verschil tussen joint motion en lineair motion.
15
Figuur 3.8: Verschil tussen joint- en lineair motion
De circular motion (C) doet het tool center punt bewegen van een startpositie naar een eindpositie via een tussenpunt. Zowel het tussenpunt als het eindpunt moeten in een instructie aangeleerd worden. Figuur 3.9 toont een voorbeeld.
Figuur 3.9: Circular motion
b) Position data Position data omvat de posities en houding van de robot. Wanneer een bewegingsinstructie aangeleerd wordt, wordt de positie data weggeschreven naar het programma. c) De feedrate De feedrate geeft de snelheid aan waarmee de robot beweegt. Gedurende programma-uitvoer programma wordt de feedrate gecontroleerd door de feedrate overriding. Een feedrate override waarde van 1% tot 100% kan worden gekozen. De gebruikte gebruikt eenheid voor de snelheid hangt af van het type bewegingsformaat.
16
d) Positioneringspad Het positioneringspad definieert de methode van eindigen van de robotbeweging bij een bewegingsinstructie. Twee padmodes zijn beschikbaar: Wanneer het FINE positioneringspad is gekozen, stopt de robot robot op het eindpunt voordat voo het verder der gaat naar het volgende punt. Wanneer het CNT positioneringspad positioneringsp is gekozen, benadert de robot zijn bestemming maar stopt niet en beweegt verder naar het volgende punt. Figuur 3.10 toont het verschil tussen de fine en continuous beweging.
Figuur 3.10:: Verschil tussen fine en continuous termination type
3.7.2 Branch instructie Een en branch instructie wordt gebruikt om over een stuk code te springen. Hiermee kan de lineaire afloop van een programma onderbroken worden. Na elke branch instructie moet moe een label voorzien worden. Dat label zorgt voor een verwijzing waarnaar gesprongen moet worden. Vier types branch instructies worden ondersteund. a) Label instructie De label instructie (LBL) wordt gebruikt om om de bestemming van de sprong te bepalen. Commentaar kan worden toegevoegd om uitleg over het label te geven. Eenmaal een label gedefinieerd is, kan het worden gebruikt voor een onconditionele branch of een conditionele branch.
17
b) Programma eind instructie De END instructie geeft het einde van een programma weer. De werking van een programma wordt door deze instructie beëindigd. Als het programma werd aangeroepen vanuit een hoofdprogramma, wordt de sturing teruggegeven aan het hoofdprogramma. c) Onconditionele branch instructie Een onconditionele branch instructie veroorzaakt een sprong van een lijn naar een andere lijn in het zelfde programma. Twee types onconditionele branch instructies worden ondersteund. De jump instructie (JMP LBL) veroorzaakt een sprong naar een specifiek label. De programma call instructie (CALL) veroorzaakt een sprong naar een ander programma. d) Conditionele branch instructie Een conditionele branch instructie veroorzaakt een sprong van een locatie in een programma naar een ander, wanneer aan de voorwaarden voldaan is. Twee types conditionele branch instructies worden ondersteund. De conditionele vergelijkingsinstructie veroorzaakt een sprong naar een specifiek label of programma wanneer aan de voorwaarden is voldaan. Figuur 3.11 en Figuur 3.12 tonen een voorbeeld van een conditionele branch instructie.
Figuur 3.11: Register Conditionele vergelijkinstructie
Figuur 3.12: I/O Conditionele vergelijkinstructie
18
De conditionele select instructie veroorzaakt een sprong naar een specifieke jump instructie of call instructie volgens de waardes van het register. Figuur 3.13 toont hiervan een voorbeeld.
Figuur 3.13: Conditionele Selectie Instructie
3.7.3 Wacht instructie Een wacht instructie wordt gebruikt om programma uitvoer te stoppen voor een specifieke periode of totdat aan een conditie voldaan is. Twee types wachtinstructies worden ondersteund. De tijdsgespecificeerde wacht instructie wacht met uitvoer voor een specifieke tijdsperiode. Figuur 3.14 toont hiervan een voorbeeld.
Figuur 3.14: Tijdsgespecificeerde wacht instructie
De conditionele wacht instructie wacht met uitvoer totdat aan een conditie voldaan is of een specifieke tijdsperiode verstreken is. Figuur 3.15 toont hiervan een voorbeeld.
Figuur 3.15: Conditionele wacht instructie
19
3.8 Register instructies Register instructies voeren wiskundige bewerkingen uit op registers. Een register is een variabele voor het opslaan van een getalwaarde of een positie. Voorbeelden: R[i] = (waarde) Deze instructie laadt een waarde in een specifiek register. R[i] = (waarde) + (waarde) Deze instructie laadt de som van twee waardes in een specifiek register. R[i] = (waarde) - (waarde) Deze instructie laadt het verschil van twee waardes in een specifiek register. R[i] = (waarde) * (waarde) Deze instructie laadt het product van twee waardes in een specifiek register. R[i] = (waarde) / (waarde) Deze instructie laadt het quotiënt van twee waardes in een specifiek register. R[i] = (waarde) MOD (waarde) Deze instructie laadt de rest van het quotiënt van twee waardes in een specifiek register. R[i] = (waarde) DIV (waarde) Deze instructie laadt de integer van het quotient van twee waardes in een specifiek register. [i] is het registernummer van 1 tot 32.
3.9 Payload Met payload kan informatie over de belasting op de robot ingesteld worden. Dit kan de bewegingsprestaties verhogen. Dit leidt tot minder vibraties en kortere cyclustijden. Het is dus aanbevolen de juiste informatie over de belasting van de grijper en werkstuk juist in te stellen. Hiervoor moet de massa (kg), het zwaartepunt (cm) en de inertie (kgf cm s2) van de belasting rond het zwaartepunt bepaald worden. In het begin van een programma wordt dan de gewenste payload opgevraagd.
3.10 User alarm Bij het optreden van een fout kan een user alarm gegeneerd worden. Zo weet de gebruiker wat er juist fout gelopen is. Per user alarm moet de boodschap en de alarmzwaarte ingesteld worden. Wanneer de fout voorkomt zal de boodschap op het scherm komen en moet actie ondernomen worden naargelang de alarmzwaarte. Deze bepaalt of het programma en de robotwerking worden gestopt en/of de spanning van de servo’s uitvalt.
20
In tabel 3.1 worden de verschillende alarmzwaartes weergegeven. Tabel 3.2 toont de beschrijving van de alarmzwaartes. Tabel 3.1: Alarmzwaarte
Code 0 0
zwaarte Geen WARN PAUSE.L
Prog. Geen Geen Pauze
0
PAUSE.G
Pauze
6
STOP.L
Pauze
38
STOP.G
Pauze
11
SERVO ABORT.L
Pauze Abort
43
ABORT.G Abort SERVO 2 SYSTEM
Abort Abort
Robotwerking Geen Geen Vertraagt de robot langzaam stop Vertraagt de robot langzaam stop Vertraagt de robot langzaam stop Vertraagt de robot langzaam stop Stopt de robot onmiddellijk Vertraagt de robot langzaam stop Vertraagt de robot langzaam stop Stopt de robot onmiddellijk Stopt de robot onmiddellijk
Spanning servo Geen Geen tot Geen
Bereik ----Lokaal
tot Geen
Globaal
tot Geen
Lokaal
tot Geen
Globaal
Uit tot Geen
Globaal Lokaal
tot Geen
Globaal
Uit Uit
Globaal globaal
Het bereik geeft aan in welke programma’s het alarm optreedt wanneer meer dan één programma wordt uitgevoerd. Bij lokaal wordt het alarm alleen gegeven naar het programma dat het alarm veroorzaakte. Bij globaal wordt een alarm gegeven naar alle programma’s. Tabel 3.2: Beschrijving alarmzwaarte
zwaarte Warn
Pauze
Stop
Servo
Abort System
Omschrijving Een warn alarm waarschuwt de operator over een kleine onbelangrijke fout. Het alarm heeft geen effect op de robotwerking. Er gaat geen led branden op de teach pendant of op het bedieningspaneel van de machine. Om toekomstige problemen en fouten te voorkomen, dient actie te worden ondernomen voor dit alarm. Wanneer een pauze alarm plaatsvindt, wordt programma uitvoer gestopt (halt) en de werking van de robot wordt gestopt. De gebruiker dient het probleem op te lossen voordat het programma wordt herstart. Wanneer een stop alarm plaatsvindt, wordt programma uitvoer gestopt (halt) en de robot vertraagt tot aan een stop. De gebruiker dient het probleem op te lossen voordat het programma wordt herstart. Wanneer een servo alarm plaatsvindt, wordt de programma uitvoer gepauzeerd, de servo sturing valt uit en de robot stopt onmiddellijk. De meest algemene oorzaak van een servo alarm is een hardware fout. Wanneer een abort alarm plaatsvindt, wordt programma uitvoer geforceert gestopt en de robot vertraagt tot aan een stop. Een system alarm wordt gegeven bij grote systeem fouten. Iedere robot in het systeem gaat uit. Contacteer de Fanuc Service afdeling. Na nemen van juiste maatregelen voor het alarm zet je de spanning weer aan.
21
3.11 Veiligheid In tegenstelling tot automatische machines, hebben robots armen en polsen die in het gehele werkgebied kunnen worden bewogen. Een robot is zeer flexibel, maar aan de andere kant ook zeer gevaarlijk. De robot is normaal gezien aangesloten aan randapparatuur om zo een volledig geautomatiseerd geheel te vormen. Daarom moeten verschillende veiligheidsvoorzieningen enerzijds de kans op schade aan de robot of de machine beperken en anderzijds de operator beschermen tegen letsels. Er zijn noodstopvoorzieningen op de robot controller en de teach pendant. Op het bedieningspaneel van de machine en de robot zijn eveneens noodstoppen voorzien. Er kunnen ook nog externe noodstopcircuits aan toegevoegd worden, zoals een veiligheidshek of een lichtscherm. Figuur 3.1 toont deze noodstopvoorzieningen. Aan de achterkant van de teach pendant zijn twee dodemansschakelaars voorzien. Tijdens het gebruik van de teach pendant moet één dodemansschakelaar worden bediend. Wanneer de dodemansschakelaar wordt losgelaten, stopt de robot onmiddellijk. Op de controller van de robot is een drie-standenschakelaar met sleutel geïnstalleerd. Deze drie-standenschakelaar wordt gebruikt om een werkingsmode voor de robot te kiezen. De werkingsmodes zijn AUTO, T1 en T2. Op Figuur 3.1 staat deze schakelaar aangeduid. Bij het bedienen van de schakelaar verschijnt een boodschap op het scherm van de teach pendant en stopt de robot. Wanneer de sleutel wordt verwijderd van de schakelaar, kan de gekozen stand worden geblokkeerd. De stand T1 (Test Mode 1) is bedoeld om met de teach pendant de bewegingen van de robot aan te leren. De maximale snelheid van de bewegingen is 250 mm/s. Stand T1 kan ook worden gebruikt om het pad en het programmaverloop op lage snelheid te controleren. In deze mode mag het veiligheidshek open staan. De dodemansschakelaar op de teach pendant moet wel ingedrukt worden. De T2 mode is bedoeld om een laatste check van het programma uit te voeren. In de T1 mode is het onmogelijk om het actuele pad van de robot en de cyclustijd te verifiëren omdat de snelheid is gelimiteerd. In de T2 mode is het wel mogelijk om het actuele pad van de robot en de cyclustijd te verifiëren omdat er geen snelheidslimiet is. De snelheid kan dus op 100% staan. In deze mode mag het veiligheidshek open staan. De dodemansschakelaar op de teach pendant moet ingedrukt worden. De AUTO mode is bedoeld voor gebruik tijdens productie. Een programma kan worden uitgevoerd vanaf externe apparaten en het operators paneel. Een programma starten via de teach pendant is onmogelijk als de schakelaar ingesteld is op de AUTO mode. De robot kan op maximale snelheid draaien. Wanneer het veiligheidshek open staat, gaat de robot in noodstop.
22
4 Ontwerp van de verschillende onderdelen 4.1 Ontwerp grijper Met de grijper worden de snijplanken uit de matrijs verwijderd. Wanneer een matrijs een volledige toer van de carrousel doorlopen heeft, gaan de twee matrijshelften half open. De robot gaat dan met zijn grijper bovenaan tussen de matrijshelften om de snijplanken met zuignappen vast te klemmen. De zuignappen worden aangestuurd door de I/O van de robot. Daarna gaat de matrijs volledig open en komt de grijper, met de snijplanken, uit de matrijs. De snijplanken worden naar de nabewerkingstafel gebracht. Tussen de twee matrijshelften is er maximum 10cm plaats. De robotarm zelf kan niet tussen de matrijs. Daarom moet de grijper lang en smal ontworpen worden. In bijlage D zijn de afmetingen van de grijper terug te vinden. Figuur 4.1 toont het uitnemen van een snijplank met de grijper.
Figuur 4.1: Robotgrijper tussen matrijs
De verschillende snijplanken worden uitgetekend in 3D. Deze 3D-modellen worden op elkaar geplaatst. Zo kan worden nagegaan of er gemeenschappelijke oppervlakken aanwezig zijn zodat de verschillende modellen snijplanken met één grijper uit de matrijs kunnen gehaald worden.
23
Figuur 4.2: Overeenkomstige oppervlakken verschillende snijplanken
Klein model afgerond; Klein model; Prof plank; Chef board; Snijplank groot model;
In Figuur 4.2 zijn de verschillend modellen op elkaar geplaatst. De gearceerde gebieden zijn de plaatsen waar zuignappen kunnen komen. Figuur 4.3 toont het uiteindelijke ontwerp van de grijper.
Figuur 4.3: Ontwerp grijper
24
Er kunnen twee vacuüm netwerken met zuignappen gemaakt worden. Eén netwerk om de kleine planken aan te zuigen en een extra netwerk om de grote planken aan te zuigen. Figuur 4.4 toont de twee vacuümnetwerken. Deze twee netwerken worden dan apart aangestuurd vanuit de robot I/O. Via de matrijscode weet de robot welke vacuümnetwerken hij moet aansturen.
Zuignappen voor kleine modellen
Extra zuignappen voor groot model
Figuur 4.4: Plaatsing Zuignappen
Omdat de robot van gereedschap moet kunnen wisselen wordt een speciale koppeling op de robot gemonteerd. Deze zorgt dat de grijper automatisch, via de robot I/O, van de robotpols kan losgekoppeld worden. De pneumatische aansluitingen, die nodig zijn op de grijper, worden ook via de robotkoppeling doorgekoppeld. In het deel van de koppeling die aan de robot hangt, zitten twee inductieve sensoren. In het gedeelte van de koppeling die op het gereedschap bevestigd is, zijn gaten voorzien die al dan niet opgevuld worden met een ijzeren element. Door het uitlezen van de ingangen kan de robot weten welk gereedschap op de pols bevestigd is. Figuur 4.5 verduidelijkt de werking van de robotkoppeling. Figuur 4.6 toont de sensoren in de robotkoppeling.
25
Figuur 4.5: Doorsnede robotkoppeling
1234-
Gedeelte van de koppeling die op het gereedschap bevestigd wordt; De verbinding van de elektrische signalen op de grijper met de robot I/O; Het systeem om de 2 delen van de koppeling te klemmen; Gedeelte van de koppeling die aan op de robotpols bevestigd wordt.
Figuur 4.6: Sensoren in robotkoppeling
Figuur 4.7 toont de robotkoppeling met de pneumatische aansluitingen.
Figuur 4.7: Robotkoppeling
26
4.2 Ontwerp frame voor de robot en de nabewerking De robotgrijper moet boven de machine kunnen bewegen op tweeënhalve meter hoogte ten opzichte van de vloer. Door de robot op een frame te monteren kan het bereik van de robot verbeterd worden. Via het simulatiepakket Roboguide van Fanuc kan de gewenste hoogte van het frame bepaald worden. Het frame wordt uitgetekend in een 3D-pakket en wordt door een externe firma gemaakt. Figuur 4.8 toont het ontwerp van het frame. In bijlage E zijn de afmetingen terug te vinden.
Figuur 4.8: Frame voor robot en nabewerking
Ook de nabewerkingstafel staat op het frame. Omdat er veel verschillende snijplankmodellen zijn, moet er gezocht worden naar een oplossing waar met één opstelling alle snijplanken nabewerkt kunnen worden. De snijplanken moeten door de robot met precisie op de nabewerkingstafel afgelegd worden nadat ze uit de matrijs komen. In de toekomst zal een snijdgereedschap de snijplanken nabewerken. Om te weten hoe de snijplanken zullen geklemd worden moet een studie gebeuren naar een geschikt gereedschap. Oorspronkelijk gebeurt de nabewerking met een trillend mes en een gewoon cuttermes zoals in figuur 4.9 a) en b). Dit kan moeilijk op de robot gemonteerd worden. Uit praktische testen kan afgeleid worden dat de krachten die op de snijplanken uitgeoefend worden door het mes behoorlijk groot zijn. De snijplanken zouden stevig moeten geklemd worden op de nabewerkingstafel. Een roterend mes zoals in figuur 4.9 c) snijdt beter, maar de kunststof smelt en blijft aan het mes kleven. Een frees zoals in figuur 4.9 d) en e) lijkt een betere oplossing. Hier kan gekozen worden tussen een elektrisch en pneumatisch aangedreven spindel. Het toerental van een elektrische spindel wordt geregeld met behulp van een frequentieomvormer die duur is. Een pneumatische spindel is goedkoper. Er moet enkel perslucht toegevoerd worden om de frees te doen draaien. Door de frees te klemmen in een houder met robotkoppeling kan het gereedschap op de robot gemonteerd worden. In de productiehal van Anziplast Tavernier is reeds een robot met frees aanwezig. Daar zijn praktische testen mee uitgevoerd waaruit blijkt dat een frees van 3mm diameter vlot door het kunststof snijdt. Hieruit kan besloten worden dat de snijplanken met zuignappen op de nabewerkingstafel kunnen geklemd worden.
27
Figuur 4.9: Studie snijdgereedschappen
Op de nabewerkingstafel zijn gaten voorzien waar de zuignappen uitzitten. Ook hier wordt gewerkt met drie verschillende vacuüm netwerken om de verschillende snijplanken te klemmen langs de onderkant. De zuignappen zijn zodanig gemonteerd dat het zuigoppervlak 1mm boven de nabewerkingstafel uitzit. Wanneer vacuüm gegenereerd wordt, trekken de zuignappen samen zullen de snijplanken tegen de nabewerkingstafel getrokken worden. Figuur 4.10 toont de zuignappen op de nabewerkingstafel.
Figuur 4.10: Nabewerkingstafel
28
Twee extra optische sensoren van het merk Naïs detecteren of een snijplank al dan niet aanwezig is op de aflegtafel. De reden waarom er voor dit type naderingsschakelaar wordt geopteerd, is omdat ze betrouwbaar en relatief goedkoop zijn en niet-metallische objecten kunnen detecteren. Bijvoorbeeld als de grijper het stuk eens niet zou kunnen terugnemen van de tafel, zal de volgende cyclus geen nieuw stuk bovenop gelegd worden en kan er gepast gereageerd worden. Figuur 4.11 toont deze optische sensoren.
Figuur 4.11: Optische sensoren van de nabewerkingstafel
29
4.3 Matrijsherkenning De carrousel bestaat uit tien stations waar telkens één matrijs op bevestigd is. Voor ieder model snijplanken bestaan er meerdere matrijzen. Deze zijn nooit identiek. Daarom moet de robot voor het begin van een cyclus weten uit welke matrijs hij een snijplank haalt. Er moet dus een code voorzien worden op de matrijzen die de robot kan uitlezen. Er wordt gedacht aan een oplossing met barcode of RFID, maar deze werken via seriële communicatie. Aangezien op de robot geen seriële communicatie voorzien is, zijn er extra modules nodig. Omdat maar een dertigtal matrijzen van een code voorzien moeten worden, zou dit een te dure oplossing zijn. Daarna wordt gezocht naar een oplossing waarbij met meerdere ingangen van de Fanuc PLC een code kon gegenereerd worden. Bij Balluff bestaat een sensor die voorgeprogrammeerde tags kan uitlezen. Deze sensor wordt gebruikt voor de identificatie van voorwerpen. Naargelang de data op de tag kan de sensor tot acht digitale ingangen van de PLC hoog maken. Deze tags zijn vrij duur. Er wordt uiteindelijk gezocht naar een goedkopere oplossing. Figuur 4.12 toont een Balluff identification sensor.
Figuur 4.12: Balluff sensor
Uiteindelijk wordt gekozen voor een matrijsherkenning met zes inductieve sensoren waarvan de datasheets terug te vinden zijn in bijlage F. De sensoren zijn naast elkaar gemonteerd op een pneumatische cilinder van festo. De meest rechtse inductieve sensor wordt gebruikt voor de controle. De andere vijf inductieve sensoren vormen samen een binaire code. De matrijsherkenning wordt gestuurd door een Crouzet Millennium II PLC die in de controllerkast bijgeplaatst is. In die PLC is een programma geschreven die de cilinder voor matrijsherkenning laat uitschuiven. De Crouzet PLC leest de sensoren binnen, zet de overeenkomstige uitgangen hoog en laat de cilinder meteen weer inschuiven. De uitgangen blijven een bepaalde tijd hoog zodat de robot de code op het gewenste tijdstip kan uitlezen via de Fanuc PLC. Figuur 4.13 toont de schematische voorstelling van de matrijsherkenning.
30
Figuur 4.13: Schematische voorstelling matrijsherkenning
Op de matrijzen wordt een code voorzien met behulp van gaten. Figuur 4.14 toont de matrijs met code één. De onderste rij gaten dient voor de matrijscode. Wanneer een inductieve sensor een gat detecteert, is de ingang van de PLC nul, anders één. De vijf inductieve sensoren naast elkaar vormen een binaire code.
Figuur 4.14: Matrijsherkenning
31
De meest rechtse sensor dient voor de even pariteitcontrole. Dit is een gemakkelijke manier om een foute code te detecteren. Het aantal bits met logische “1” wordt geteld. Is dit aantal oneven dan krijgt de pariteitsbit waarde “1”. Is het aantal bits met logische “1” even, dan krijgt de pariteitsbit waarde “0”. Wanneer bijvoorbeeld een sensor stuk is, zal een foute code binnengelezen worden door de robot. De pariteitscontrole levert dan een alarm op en de robot valt stil. In figuur 4.15 worden twee voorbeelden van matrijscodes voorgesteld. Daarop kun je zien dat aantal bits met logische “1” altijd even is.
Figuur 4.15: Voorbeelden matrijscode
32
4.4 Overige Op de J1 as van de robot staat een nok gemonteerd die ingedrukt is wanneer de robot met zijn grijper in de buurt van de matrijs staat. Wanneer de nok ingedrukt is, kan de carrousel van de spuitgietmachine niet bewegen en kan de matrijs zich niet sluiten. Zo kunnen we een botsing tussen de machine en de robot vermijden. De machine is in veilige toestand wanneer de grijper uit de buurt van de matrijs is. Op deze manier is de nok niet ingedrukt en kan de spuitgietmachine verder werken. De nok wordt in figuur 4.16 weergegeven.
Figuur 4.16: Beveilinging J1-as
Naast de robot wordt een afvoer transportband geplaatst. Daarop worden de snijplanken gestapeld door de robot. De transportband brengt de afgewerkte snijplanken naar een veilige zone. Daar kan de werknemer op geregelde tijdstippen de snijplanken van de transportband halen om ze te verpakken. De transportband wordt via een digitale uitgang van de robot aangestuurd. De transportband is in figuur 4.17 weergegeven.
Figuur 4.17: Transportband
33
5 Elektrische en pneumatische installatie Dit project omvat de samenwerking tussen de robot, de spuitgietmachine en de nabewerkingstafel. Er moet dus een goede communicatie voorzien worden, zodat de juiste taken op de juiste tijdstippen kunnen uitgevoerd worden. Als verwerkingseenheid wordt gekozen voor de PLC die bij de sturing van de Fanuc robot hoort. Deze is al uitgerust met meer dan voldoende I/O modules. De systeemkast van de controller bestaat uit twee delen die boven elkaar geplaatst zijn. Het onderste deel dient voor de sturing van de robot, terwijl het bovenste vooral alle in en uitgangen van de Fanuc PLC bevat. Figuur 5.1 toont de systeemkast van de robot.
Figuur 5.1: Systeemkast robot
Op de robotarm zijn er al pneumatische voorzieningen en aansluitmogelijkheden voor digitale in- en uitgangen. Deze worden gebruikt voor het vacuüm van de grijper aan te sturen en te controleren.
34
Figuur 5.2 toont een overzicht van de elektrische verbindingen.
Figuur 5.2: Overzicht elektrische verbindingen
Alle aansluitschema’s zijn getekend in ePlan en opgenomen in bijlag G.
35
5.1 Euromap 12 Euromap is de Europese vereniging van kunststof en rubber machinefabrikanten. Dit is een overkoepelende organisatie die zorgt voor een standaard binnen de machinebouw van spuitgietmachines voor de kunststof- en rubberindustrie. De signalen die nodig zijn voor de onderlinge samenwerking tussen de robot en de spuitgietmachine worden besproken in de Euromap 12. Dit is een standaard voor de communicatie tussen een injectiespuitgietmachine en een handling robot. De norm was niet aanwezig op de spuitgietcarrousel. De sturing en schakelkast van de machine zijn nu volgens deze norm aangepast. Tabel 5.1 geeft een overzicht van alle signalen die een spuitgietmachine moet uitwisselen met een robot en omgekeerd. Tabel 5.1: Euromap 12 communicatie robot - spuitgietmachine
Contact Signaal 1, 9 IMM emergency stop
3, 11
Safety device
19, 27
Robot Emergency stop
2
Mould open
10
Automatic mode
12 14
Mould closed Partial opening reached
17
Enable machine cycle
18, 26
Arm free Safety
28
Enable end of opening
Omschrijving Dit contact gaat open wanneer de noodstop van de machine bediend wordt. Het openen van dit contact zal de robot stoppen. Dit contact is gesloten wanneer het veiligheidsrelais van de spuitgietmachine in werking is, dus wanneer er gevaarlijke bewegingen van de robot mogelijk zijn. Dit signaal staat in verbinding met veiligheidssignalen zoals deurcontacten, veiligheidsschermen, ed. Dit contact gaat open wanneer de noodstop van de robot bediend wordt. Het openen van dit contact zal de spuitgietmachine stoppen. Dit contact wordt gesloten wanneer de matrijs zijn volledig open positie bereikt heeft. Het contact blijft gesloten zolang de matrijs open is. Dit contact is gesloten wanneer de machine op automatische mode staat. Hier wordt gebruik gemaakt van de robot. Dit contact is gesloten wanneer de matrijs dicht is. Dit contact wordt gesloten wanneer de matrijs net niet volledig geopend is. Dit geeft een signaal aan de robot om met de grijper in de matrijs te gaan. De robot geeft daarna een signaal terug aan de machine dat de matrijs volledig geopend mag worden. De robot geeft dit signaal aan de machine wanneer de grijper ver genoeg van de matrijs verwijderd is. De matrijs mag dan sluiten. Dit contact is gesloten wanneer de robot uit de buurt van de matrijs is. De robot geeft dit signaal aan de machine wanneer de grijper het product in de matrijs heeft geklemd en de matrijs verder open mag gaan.
36
De verbinding tussen de spuitgietmachine en de robot gebeurt met een 32-polige connector afgebeeld op figuur 5.3. De Elektrische schema’s van de Euromap 12 zijn terug te vinden onder bijlage G van pagina 67 tot 70.
Robotconnector
Machineconnector Figuur 5.3: Euromap 12 interface
5.2 Communicatie tussen robot en nabewerkingstafel Er moet ook een interface tussen de robot en de nabewerkingstafel voorzien worden. Daarvoor is het noodzakelijk te weten welke signalen allemaal nodig zijn en hoeveel het er zijn. Er is nood aan digitale in- en uitgangen. Uiteindelijk werd gekozen voor een 40-polige stekker. Op die manier is er nog ruimte voor latere uitbreiding Tabel 5.2 toont een overzicht van de interface tussen robot en nabewerkingstafel. Aan de kant van de aflegtafel worden enkel sensoren afgevraagd en actoren gestuurd. Hier komt dus geen extra verwerkingseenheid bij te pas. Voor de ventielen zijn slechts tweeaderige kabels nodig, waarvan de polariteit niet van belang is. De ene lijn wordt verbonden met de desbetreffende uitgang van de PLC, de andere met de 0V. De inductieve en optische sensoren worden verbonden zoals aangegeven in hun aansluitschema in de datasheets.
37
Tabel 5.2: Overzicht interface robot - nabewerkingstafel
Pin nr A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10
Robotkast 24 V MIL II (DI1) MIL II (DI2) MIL II (DI3) MIL II (DI4) MIL II (DI5) MIL II (DI6) MIL II (DI7)
Draad nr 1 2 3 4 5 6 7 8
DI 1 DI 2 DI 3 DI 4 DI 5 DI 6 DI 7 DI 8 DI 9 DI 10 0V MIL II (DO1)
9 10 11 12 13 14 15 16 17 18 19 20
DO1 DO2 DO3 DO4 DO5 DO6 DO7 DO8 DO9 DO10
24 25 26 27 28 29 30 31 32 33
Beschrijving Verbonden met de 24 V Matrijsherkenning sensor 1 Matrijsherkenning sensor 2 Matrijsherkenning sensor 3 Matrijsherkenning sensor 4 Matrijsherkenning sensor 5 Matrijsherkenning sensor 6 Matrijsherkenning eindeloopsensor cilinder Reserve Reserve Sensor 1 tafel vrij Sensor 2 tafel vrij Vacuüm tafel OK Reserve Reserve Reserve Reserve Reserve Reserve Reserve Verbonden met de massa Uitschuiven cilinder matrijsherkenning Reserve Reserve Reserve Reserve Reserve Reserve Reserve Reserve Vacuümnetwerk 1 tafel Vacuümnetwerk 2 tafel Vacuümnetwerk 3 tafel Reserve Reserve Reserve Reserve Reserve Reserve Reserve
38
5.3 Pneumatische installatie Alle gebruikte producten zijn van het merk festo. De datasheets van de verschillende onderdelen zijn terug te vinden onder bijlage H, I en J. Er zijn vier magneetventielen nodig voor de correcte werking van de aflegtafel: drie magneetventielen voor de vacuümsturing om de snijplanken aan te zuigen en één voor de bediening van de cilinder van de matrijsdetectie. De drie ventielen voor de vacuümsturing zijn 3/2 magneetventielen, zodat deze automatisch bediend kunnen worden met behulp van de Fanuc PLC. Voor het aansturen van de dubbelwerkende cilinder, die de sensoren van de matrijsherkenning tegen de matrijs drukt, wordt een 5/2 magneetventiel gebruikt. Figuur 5.4 toont het pneumatisch schema van de nabewerkingstafel.
Figuur 5.4: Pneumatisch schema nabewerkingstafel
39
6 Robotprogramma’s In totaal zijn er vier robotprogramma’s aangemaakt om de verschillende fases in de cyclus af te werken: het hoofdprogramma, het programma voor de initialisering, het programma die de matrijscode binnenleest en voor iedere matrijs een apart matrijsprogramma met de bewegingen van de robot. Tijdens de werking is op de achtergrond nog een extra programma actief ter controle van de robot- en machinebeveiliging. In bijlage K is een overzicht van de gebruikte digitale in- en uitgangen weergegeven. De robotprogramma’s zijn terug te vinden onder bijlage L. Om ervoor te zorgen dat de operator bij het opstarten zo efficiënt mogelijk kan werken met een minimum aan voorkennis, is een procedure ontwikkeld die stap voor stap kan gevolgd worden. De procedure, zoals in bijlage M weergegeven, wordt afgedrukt en bij de stuurkast geplaatst. Het document beschrijft de veiligheidsmaatregelen, het inschakelen van de stuurspanningen, de instellingen van de schakelaars op de controller en de wijze waarop het juiste programma kan gestart worden. Voor de belangrijkste programma’s is een flowchart aanwezig om de structuur te verduidelijken. Een bijkomend hulpmiddel tijdens het programmeren is het tijdsdiagram dat in hoofdstuk 6.2 is opgenomen. Het geeft het juiste tijdstip binnen de cyclus weer wanneer de communicatiesignalen nodig zijn en kan dus ook een duidelijker inzicht geven in de gehele structuur. Om de verschillende stukken code te begrijpen, wordt eerst in woorden uitgelegd wat er moet gebeuren.
40
6.1 Cyclus Om een cyclus met de robot te starten moet de machine in automatische mode staan. De robot wacht met zijn grijper in een home positie. In deze positie kan de carrousel van de spuitgietmachine veilig ronddraaien. Wanneer een matrijs in het uitstootstation komt, schuift de cilinder van de matrijsherkenning uit en wordt de matrijscode binnengelezen in de Crouzet Millennium II PLC. De cilinder schuift terug in en de matrijs gaat half open. De robot krijgt het signaal matrijs half open binnen en gaat met de grijper langs boven in de matrijs. De nok op robot as J1 wordt ingedrukt en ‘arm free safety’ wordt uitgeschakeld. De uitgang machine veilig wordt laag. Dit wil zeggen dat de carrousel geen bewegingen meer kan uitvoeren zodat er geen botsing tussen machine en robot kan ontstaan. Als de grijper met zijn zuignappen voor de snijplanken komt, wordt het vacuüm van de grijper opgestart. Wanneer voldoende onderdruk is opgebouwd, krijgt de carrousel het signaal dat matrijs volledig open mag. Nu komen de snijplanken los van de matrijs en hangen ze aan de zuignappen van de grijper. De snijplanken worden uit de machine genomen. Wanneer de grijper uit de buurt van de machine komt schakelt de arm free safety in en wordt uitgang machine veilig hoog geplaatst. De matrijs kan zich sluiten. De snijplanken worden naar de aflegtafel gebracht. De sensoren op de aflegtafel detecteren dat er snijplanken op de tafel liggen en het vacuüm van de aflegtafel wordt aangestuurd. Wanneer voldoende onderdruk opgebouwd is, zal de grijper de snijplanken loslaten en liggen ze vast op de tafel. De grijper gaat naar het gereedschapsmagazijn waar het wisselt met de frees. In de robotkoppeling zijn twee sensoren voorzien. Daarmee kunnen de verschillende gereedschappen van elkaar onderscheiden worden ter controle. Nu zal de frees de volledige contour van de snijplanken volgen en de aanspuitingen verwijderen. Daarna volgt terug een gereedschapswissel. De grijper haalt de snijplanken van de aflegtafel. Hiervoor moet het vacuüm van de grijper ingeschakeld worden. Van zodra voldoende onderdruk opgebouwd is, zullen de zuignappen van de aflegtafel de snijplanken loslaten. De snijplanken worden nu per soort op de afvoerband gestapeld. De transportband wordt gestuurd door een digitale uitgang.
41
ΔT
ΔT
ΔT ΔT ΔT Robot = tussenpositie
Vacuüm grijper = OFF
Robot = afvoerband
Vacuüm aflegtafel = OFF
Vacuüm grijper = ON
TOEKOMST: nabewerking
Vacuüm grijper = OFF
Vacuüm aflegtafel = ON
Robot = aflegtafel
Matrijs sluiten
Arm free safety = ON
Robot = tussenpositie
Matrijs openen
Vacuüm grijper = ON
Robot = in matrijs
Robot = boven matrijs
Mould area free = OFF
Call matrijscode
Robot = tussenpositie
6.2 Tijdsdiagram van belangrijkste ingang- en uitgangsignalen
Automatic
Arm free safety
Matrijs gesloten
Matrijs half open ΔT
Matrijs open ΔT
Matrijs openen
Matrijs sluiten
Mould area free
Vacuüm grijper
Vacuum grijper OK ΔT
Vacuüm aflegtafel
Vacuum aflegtafel OK ΔT
Sensor aflegtafel
42
6.3 Hoofdprogramma Het programma snijplanken is het hoofdprogramma voor het uitnemen en afleggen van de snijplanken. De code van het hoofdprogramma is terug te vinden onder bijlage L. Pagina 44 toont het flowchart diagram. Om de robot te activeren moet enkel het hoofdprogramma gestart worden. Van hieruit start de cyclus, te beginnen met de initialisering. Daarna keert het programma terug naar het hoofdprogramma. Op regel 2 start het programma “FOUT”. Daar worden de veiligheidssignalen van de robot en de machine gecontroleerd. Bij fouten treedt een alarm op. Omdat dit opgeroepen wordt via de instructie ‘RUN’, draait het programma gedurende de volledige robotwerking op de achtergrond. Het huidige actieve programma wordt daardoor niet onderbroken en loopt gewoon verder. Code die is opgeroepen met de run instructie, heeft dezelfde mogelijkheden als een ander programma, maar er kunnen evenwel geen bewegingen tot stand gebracht worden. Wanneer call wordt gebruikt,wordt het huidige programma gepauzeerd tot de onderliggende code volledig uitgevoerd is. Daardoor zijn er wel bewegingen met de robot mogelijk. Na de eenmalige uitvoering van het begin van het programma, begint de lus op regel 5, die telkens opnieuw wordt doorlopen. Dat is mogelijk door een label aan te maken en met een jump-instructie er naar te springen. In regel 6 wordt gecontroleerd of de machine in automatische mode staat. Is dit niet het geval wordt teruggesprongen naar ‘label 1’. Hier ontstaat een lus tot de automatische mode van de machine ingeschakeld is. Wanneer de automatische mode gestart wordt, begint de robotcyclus na het ontvangen van het signaal matrijs half open. Dan weet de robot dat een snijplank in de matrijs zit. Nu wordt de matrijscode binnengelezen in de Fanuc PLC via het programma matrijscode op regel 10. Zo kan de robot een matrijsprogramma selecteren. Elke matrijs heeft een eigen programma, waarin alle bewegingen uitgevoerd worden. Na uitvoer van dat programma springt de programma afloop terug naar LBL 1. Daar wordt gewacht tot een volgende matrijs in het uitstootstation op de positie half open staat. Vanaf nu kan een nieuwe cyclus beginnen voor de zes-assige robot. De initialisering hoeft niet meer opnieuw uitgevoerd te worden, zolang het programma niet onderbroken wordt.
43
Figuur 6.1: Flowchart main
44
6.4 Initialisatie Bij de opstart moeten eerst de nodige maatregelen getroffen worden om een veilig verder verloop te garanderen. Dit wordt verwezenlijkt tijdens de initialisatie, hier INIT genoemd. De code is terug te vinden onder bijlage L. Op pagina 47 is een flowchart diagram terug te vinden. Eerst worden het gewenst User frame, het tool frame en de payload gedeclareerd. De snelheid wordt gereduceerd tot 10% van het maximum om de operator eventueel de tijd te geven om tussen te komen als er onverwachte handelingen uitgevoerd worden. Alle gebruikte robot- en digitale uitgangen alsook de nodige registers worden op hun beginwaarde gezet. Nu kan de veilige terugkeer beginnen, maar daarvoor moet de actuele positie van de robot gekend zijn. Daarvoor bestaat de instructie LPOS, waarmee de huidige coördinaten kunnen opgeslagen worden in een positieregister. Deze positie is altijd gebaseerd op het World coördinatensysteem, ongeacht het coördinatensysteem dat momenteel actief is in het programma. De x, y, z, w, p en r waarde van de laatste positie worden elk afzonderlijk in een register bewaard. Met die registers kunnen dan vergelijkingen opgebouwd worden. Het werkgebied van de Fanuc robot wordt in vijf verschillende zones opgedeeld. Een zone in de buurt van de matrijs en machine (1), de rustpositie naast de machine (2), een zone tussen de rustpositie en de aflegtafel (3), een zone boven de aflegtafel (4) en een zone boven de afvoertransportband (5). Figuur 6.2 toont de indeling van de verschillende zones.
1 2 3
5
4
Figuur 6.2: Indeling robotzones
45
Afhankelijk van de plaats waar de robot zich bevindt, kiest hij de beste route om terug te keren naar een veilige positie. De eerste vergelijking op regel 40 dient om te bepalen of de robotarm zich in de buurt van de machine en matrijs bevindt. Dit heeft vooral betrekking op de x-, z- en p-coördinaten. Indien er aan de vergelijking voldaan is, worden de bewegingen overgeslagen door naar een label te springen. Dan wordt een volgende zone gecontroleerd. Is dit niet het geval, wil dit zeggen dat de robot ergens in de buurt van de matrijs aan het werk was voor de initialisatie. Dan zal de grijper zich vijf millimeter achteruittrekken en lineair omhoog bewegen naar een positie waar de matrijs volledig vrij is. De robot kan dan terug naar zijn tussenpositie. De vergelijking op regel 47 controleert of de grijper zich boven de aflegtafel bevond voor de initialisatie. Was dit het geval, dan moet de robot eerst lineair naar boven bewegen om dan naar zijn rustpositie terug te keren. Was dit niet het geval, moet de volgende zone rond de afvoerband gecontroleerd worden. Wanneer de grijper zich in geen enkel van bovenvermelde zones bevond, weten we dat de robot op de rustpositie staat. Ongeacht de gevolgde route wordt uiteindelijk LBL 2 in het programma bereikt, want het einde van het programma moet sowieso altijd uitgevoerd worden. Hier wordt het uitgangssignaal ‘Fanuc veilig’ hoog gemaakt en de matrijs gesloten, want nu is zeker dat er geen botsingsgevaar meer mogelijk is. Via deze initialisatie kan dus vanaf elke positie een veilige terugkeer verzekerd worden voor de robot. Het is een onmisbaar onderdeel van de volledige code, want het is de enige manier om na een onderbreking van de cyclus te herstarten zonder schade te berokkenen aan de machine, de robot of de aflegtafel.
46
Figuur 6.3: Flowchart initialisatie
47
6.5 Matrijscode Met dit programma wordt de binaire matrijscode binnengelezen en omgezet naar een decimale waarde. De code is terug te vinden onder bijlage L. Op pagina 49 is een flowchart te vinden. In het begin van dit programma worden de nodige registers op 0 geplaatst. Daarna worden de ingangen van de matrijscode één voor één uitgelezen waarmee een binaire code kan opgebouwd worden. Die code wordt omgezet naar een decimaal getal. Per sensor die waarde “1” heeft, wordt een bepaalde getalwaarde bij het register van de matrijscode geteld. Wanneer de vijf sensoren uitgelezen zijn, is de decimale matrijscode gekend.
Tabel 6.1: Omzetting matrijscode binair - decimaal
Sensor Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5
Matrijscode R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+1 R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+2 R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+4 R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+8 R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+16
Er is nog een zesde sensor aanwezig die ervoor zorgt dat het aantal sensoren met waarde “1” altijd even is. Dit noemt men de even pariteitscontrole. Hiermee wordt het fout binnenlezen van de matrijscode tegengegaan. Wanneer bv. een sensor stuk is zal het programma dit detecteren en in fout gaan. De robot zal stilvallen en er zal een boodschap op het scherm van de teach pendant komen. Telkens een sensor waarde 1 heeft, wordt de waarde van het code controle register met waarde 1 opgeteld. De laatste bit van de code wordt zodanig gekozen dat die getalwaarde in het code controle register altijd even is. Daarna is het mogelijk die registerwaarde te delen door twee via de instructie MOD. Deze instructie laadt de rest van een deling van twee waardes in het register CODE_DELING. Het resultaat van die deling moet 0 zijn. In regel 34 wordt gecontroleerd of de waarde in CODE_DELING gelijk is aan nul. Als die vergelijking niet correct is, wil het zeggen dat het aantal sensoren met waarde “1” niet even is en dat er iets fout gelopen is tijdens het binnenlezen van de code. De robot zal stoppen en er zal een alarm op het scherm van de teach pendant tevoorschijn komen.
48
Figuur 6.4: Flowchart matrijscode
49
6.6 Matrijsprogramma Voor iedere matrijs bestaat een afzonderlijke matrijsprogramma. Via de matrijscode wordt het gewenste programma geselecteerd. De code is terug te vinden onder bijlage L. De flowchart is terug te vinden op pagina 51. In het begin van het programma wordt de matrijscode en de half open positie gecontroleerd. Daarna begint de robot met zijn bewegingen in de buurt van de machine. Uitgang ‘mould area free’ wordt laag gemaakt. Dit is een extra veiligheid die ervoor zorgt dat de carrousel niet kan draaien wanneer de robot met de grijper in de buurt van de machine beweegt. De half open positie wordt nogmaals gecontroleerd zodat de grijper zeker niet botst met de matrijs. De grijper zakt nu in de matrijs en voor de snijplanken wordt het vacuüm van de grijper aangestuurd. Wanneer voldoende vacuüm opgebouwd is zal de matrijs volledig openen. De robot krijgt het signaal matrijs volledig open en gaat met de snijplanken uit de matrijs. Eens de snijplanken uit de matrijs gebeurt terug een vacuüm controle zodat de snijplanken met zekerheid uit de matrijs zijn. Uitgang ‘mould area free’en ‘matrijs sluiten’ worden hoog gemaakt en uitgang ‘matrijs half open’ en ‘matrijs open’ worden laag gemaakt. Nu kan de matrijs sluiten. De robot gaat met de snijplanken richting aflegtafel. Daar zullen twee capacitieve sensoren de snijplanken detecteren. Het vacuüm van de aflegtafel bouwt op. Bij voldoende onderdruk zal de grijper de snijplanken loslaten door het vacuüm uit te schakelen. De grijper gaat terug weg van de aflegtafel. Dit is het moment waar in de toekomst de nabewerking van de snijplanken zal plaatsvinden. Nu gebeurt dit nog niet. De robot zal de snijplanken terug opnemen door met de grijper boven de aflegtafel te gaan staan en het vacuüm van de grijper terug te starten. Het vacuüm van de aflegtafel schakelt af en de robot neemt de snijplanken mee naar de afvoertransportband. De cyclus is volledig afgewerkt en de robot keert terug naar de positie naast de machine. De transportband wordt drie seconden aangestuurd zodanig dat er plaats is voor nieuwe snijplanken. Figuur 6.5 toont het flowchart diagram van het programma.
50
Figuur 6.5: Flowchart matrijsprogramma
51
7 Besluit Er is reeds een grote stap gezet in het automatiseren van de uitname en nabewerking van de snijplanken. Het is mogelijk om de snijplanken met de robot uit de matrijzen te halen en op de nabewerkingstafel te plaatsen. Er is een grijper ontworpen met zuignappen die de verschillende snijplankmodellen uit de matrijs kan halen. De robot staat op een frame bij de machine. Naast het frame staat de afvoertransportband die de snijplanken naar een veilige zone brengt. Daar haalt een werknemer de snijplanken van de band. De communicatie tussen de robot, de spuitgietmachine en de nabewerkingstafel is voorzien, waardoor deze goed met elkaar samenwerken. Hiervoor is de sturing en de schakelkast van de machine aangepast volgens de Euromap 12 norm. Dit is de standaard voor de communicatie tussen een spuitgietmachine en een robot. De robot kan iedere matrijs van elkaar onderscheiden door middel van de matrijsherkenning. Hiervoor zijn verschillende mogelijkheden onderzocht bijvoorbeeld met RFID of barcode, maar dit bleek uiteindelijk te duur. Uiteindelijk is gekozen voor een oplossing met 6 inductieve sensoren die naast elkaar op een dubbelwerkende cilinder gemonteerd zijn. In de stalen matrijzen is een code voorzien met behulp van gaten. Zo kan de robot per matrijs een binaire code binnenlezen en weet de robot welke bewegingen hij moet uitvoeren. De machine heeft nu een automatische en manuele stand. In de automatische stand kan de robot de meest courante snijplanken uit de matrijs verwijderen en in de toekomst nabewerken. De minder courante snijplanken worden rechtstreeks door de robot op de afvoertransportband geplaatst. Het is ook mogelijk om zonder robot te werken. In dat geval vallen de snijplanken terug op de transportband onder het uitstootstation zoals in de oorspronkelijke situatie en worden de snijplanken manueel nabewerkt. Zo kan de productie gewoon verdergaan bij een storing aan de robot. Door de ruwe textuur van de snijplanken waren er problemen met de afdichting van de zuignappen die eerst voorzien waren. De zoektocht naar de juiste zuignappen heeft voor vertraging gezorgd. Daardoor is het project nog niet volledig afgewerkt. De positionering van de snijplanken op de nabewerkingstafel moet nog verder onderzocht worden. Dit is belangrijk om in de toekomst de snijplanken met een frees te kunnen nabewerken. Hierbij moet de frees de contour van de snijplanken kunnen volgen. Dit proces moet met enige precisie gebeuren. Het toevoegen van een robot aan de spuitgietcarrousel is zeker een meerwaarde. Nu kunnen de snijplanken gecontroleerd uit de matrijs gehaald worden. Bij een storing zal de robot een alarm geven. Zo kan tijdig ingegrepen worden. In de toekomst kan ook de nabewerking door de robot gebeuren en zal de robot de afgewerkte snijplanken stapelen op de transportband. Hierdoor moet de machine maar op bepaalde tijdstippen van de dag bemand worden voor het inpakken van de snijplanken. Ook het risico op lichamelijke letsels is dan weggewerkt. Het onderwerp van de masterproef vond ik zeer interessant en uitdagend. Vooral omdat ik het project effectief kon uitwerken binnen de productieomgeving van Anziplast Tavernier. Ik heb gedurende dit jaar op verschillende vlakken veel bijgeleerd. Op de industriële werkvloer moet met zoveel meer factoren rekening gehouden worden dan op academisch niveau (bv. concept uitwerken, componenten kiezen, leveringstermijnen,…). Nogmaals dank ik allen die geholpen hebben tijdens de verwezenlijking van dit project.
52
8 Literatuurlijst [1] Anziplast Tavernier, Izegem, Beschikbaar op het World Wide Web: www.anziplast.be [2] Presma, Italië, Instructions for use and maintenance Roto HSP 10 [3] Fanuc Robotics, Fanuc robot operator’s manual [4] Fanuc Robotics, Beschikbaar op het World Wide Web: www.fanucrobotics.com [5] Euromap, Beschikbaar op het World Wide Web: www.euromap.org [6] Balluff, Balluff identification sensor R60, Beschikbaar op het World Wide Web: www.balluff.com/ [7] Schunk, Catalogus robotkoppelingen, Beschikbaar op het World Wide Web: www.schunk.com [8] Contrinex, Catalogus inductieve sensoren, Beschikbaar op het World Wide Web: www.contrinex.com [9] Festo, Catalogus pneumatische onderdelen, Beschikbaar op het World Wide Web: www.festo.be
53
A Snijplank modellen Snijplank klein model
Snijplank groot model
54
Kaasplank
Panonderzetter
55
Glasonderzetter
Bovenaanrechtplank
56
Prof Plank
Pizza plank
57
Chef Board
Chop ’n por
58
Dienbord
Deegrol
59
B Datasheet Roto HSP 10 Presma
60
C Datasheet Fanuc M16i
61
D Tekening grijper
62
E Tekening frame
63
F Datasheet contrinex sensoren
64
65
66
67
68
69
G Elektrische schema’s
70
71
72
73
74
75
76
77
78
79
H Datasheet pneumatisch 3/2 magneetventiel
80
I Datasheet pneumatisch 5/2 magneetventiel
81
J Datasheet pneumatisch dubbelwerkende cilinder
82
K Overzicht I/O DI/DO DI 1
Naam SENSOR TFL1
DI 2
SENSOR TFL2
DI 3
VAC TAFEL OK
DI 10 DI 11 DI 12 DI 13 DI 14 DI 15 DI 44 DI 45 DI 46 DI 47 DI 48
MATRIJSCODE 1 MATRIJSCODE 2 MATRIJSCODE 3 MATRIJSCODE 4 MATRIJSCODE 5 MATRIJSCODE 6 ARM FREE SAFETY MOULD OPEN AUTOMATIC MOULD CLOSED MOULD SEMI OPEN
DO 1 DO 2 DO 3 DO 11 DO 46 DO 47
VAC1 TAF VAC2 TAF VAC3 TAF TRANSPORTBAND CLOSE MOULD MOULD AREA FREE
DO 48
OPEN MOULD
RI/RO RI 1
Naam VACUUM GRIJPER OK
RI 6
SENSOR 1 ROBOTKOP
RI 7
SENSOR 2 ROBOTKOP
RO 1 RO 2
GRIJPER LOS VACUUM GRIJPER 1
RO 3
VACUUM GRIJPER 2
Beschrijving Optische sensor om te detecteren of er nog snijplanken op de nabewerkingstafel liggen. Optische sensor om te detecteren of er nog snijplanken op de nabewerkingstafel liggen. Vacuümschakelaar die signaal geeft naar robot wanneer genoeg vacuüm gegenereerd is op de nabewerkingstafel. Bit 1 om matrijscode op te bouwen. Bit 2 om matrijscode op te bouwen. Bit 3 om matrijscode op te bouwen. Bit 4 om matrijscode op te bouwen. Bit 5 om matrijscode op te bouwen. Bit 6 voor even pariteitscontrole. Sensor op robot as J1. Signaal naar robot wanneer matrijs open is. Signaal machine in automatische mode staat. Signaal naar robot wanneer matrijs gesloten is. Signaal naar robot wanneer matrijs half open staat. Stuurt 3/2 ventiel voor vacuümnetwerk 1 op de tafel. Stuurt 3/2 ventiel voor vacuümnetwerk 2 op de tafel. Stuurt 3/2 ventiel voor vacuümnetwerk 2 op de tafel. Aansturing van de afvoer transportband Stuurt signaal naar machine PLC om matrijs te sluiten. Stuurt signaal naar machine PLC die zegt dat de robot uit de buurt van de machine is en de machine veilig is. Stuurt signaal naar machine PLC om matrijs te openen. Beschrijving Vacuümschakelaar die signaal geeft naar robot wanneer genoeg vacuüm gegenereerd is op de grijper. Sensor in de robotkoppeling waarmee een code kan opgebouwd worden ter herkenning van het gereedschap op de robotpols. Sensor in de robotkoppeling waarmee een code kan opgebouwd worden ter herkenning van het gereedschap op de robotpols. Stuurt 3/2 ventiel om de robotkoppeling los te maken. Stuurt 3/2 ventiel voor vacuümnetwerk 1 op de grijper. Stuurt 3/2 ventiel voor vacuümnetwerk 1 op de grijper.
83
L Robotprogramma Hoofdprogramma /MN 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: /POS /END
CALL INIT ; RUN FOUT ; ; ; LBL[1] ; IF DI[46:AUTOMATIC]=OFF,JMP LBL[1] ; ; WAIT DI[48:MLD SEMI OPN]=ON ; ; CALL MLDCODE ; ; SELECT R[1:MATRIJSCODE]=1,CALL MLD_1 ; =2,CALL MLD_2 ; =3,CALL MLD_3 ; =4,CALL MLD_4 ; =5,CALL MLD_5 ; =6,CALL MLD_6 ; =7,CALL MLD_7 ; =8,CALL MLD_8 ; =9,CALL MLD_9 ; =10,CALL MLD_10 ; =0,CALL MLD_0 ; =32,CALL MLD_32 ; ; JMP LBL[1] ; LBL[2] ;
84
Initialisatie /MN 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 90), : 41: 42:L 43:L 44:L 45: 46: 47: 48: 49: 50: 51:L 52:J 53: 54: 55: 56:
UFRAME_NUM=1 ; UTOOL_NUM=1 ; PAYLOAD[1] ; OVERRIDE=10% ; ; R[1:MATRIJSCODE]=0 ; R[2:CODE_CONTROLE]=0 ; R[3:CODE_DELING]=0 ; R[4:LPOS X ]=0 ; R[5:LPOS Y]=0 ; R[6:LPOS Z]=0 ; R[7:LPOS W]=0 ; R[8:LPOS P]=0 ; R[9:LPOS R]=0 ; R[10:DIKTE SNIJPLANK]=0 ; R[11:BESTEMMING ]=0 ; R[12:POS STAPEL 1]=0 ; R[13:POS STAPEL 2]=0 ; R[14:POS STAPEL 3]=0 ; ; RO[1:GRIJPER LOS]=OFF ; RO[2:VACUUM 1]=OFF ; RO[3:VACUUM 2]=OFF ; ; DO[1:VAC1 TAFEL]=OFF ; DO[2:VAC2 TAFEL]=OFF ; DO[3:VAC3 TAFEL]=OFF ; DO[47:MLD AREA FRE]=OFF ; DO[48:OPEN MOULD]=OFF ; DO[46:CLOSE MOULD]=OFF ; ; PR[2:LPOS]=LPOS ; R[4:LPOS X ]=PR[2,1:LPOS] ; R[5:LPOS Y]=PR[2,2:LPOS] ; R[6:LPOS Z]=PR[2,3:LPOS] ; R[7:LPOS W]=PR[2,4:LPOS] ; R[8:LPOS P]=PR[2,5:LPOS] ; R[9:LPOS R]=PR[2,6:LPOS] ; ; IF R[4:LPOS X ]>(-1075) AND R[6:LPOS Z]<(-530) AND R[8:LPOS P]>(JMP LBL[3] ; IF R[4:LPOS X ]>400,JMP LBL[3] ; PR[2:LPOS] 100mm/sec FINE Offset,PR[4:OFFSET] ; PR[5:BOVEN MATRIJS] 100mm/sec FINE ; PR[8:TUSSENPOSITIE 1] 100mm/sec FINE ; JMP LBL[2] ; ; LBL[3] ; IF R[4:LPOS X ]<400 AND R[7:LPOS W]<170,JMP LBL[4] ; IF R[5:LPOS Y]>600,JMP LBL[4] ; ; P[1] 100mm/sec CNT10 ; PR[8:TUSSENPOSITIE 1] 10% FINE ; JMP LBL[2] ; ; LBL[4] ; IF R[6:LPOS Z]>150,JMP LBL[5] ;
85
57: IF R[4:LPOS X ]<0,JMP LBL[2] ; 58:J P[2] 100% FINE ; 59:J PR[3:AFLEGTAFEL ] 100% FINE ; 60: ; 61:J PR[15:TUSPOS 3] 100% CNT10 ; 62:J PR[14:TUSPOS 2] 100% CNT10 ; 63:L PR[8:TUSSENPOSITIE 1] 1000mm/sec FINE 64: JMP LBL[2] ; 65: ; 66: LBL[5] ; 67:L P[3] 1000mm/sec FINE ; 68:J P[4] 100% FINE ; 69:J PR[3:AFLEGTAFEL ] 100% FINE ; 70: ; 71:J PR[15:TUSPOS 3] 100% CNT10 ; 72:J PR[14:TUSPOS 2] 100% CNT10 ; 73:L PR[8:TUSSENPOSITIE 1] 1000mm/sec FINE 74: ; 75: LBL[2] ; 76: DO[47:MLD AREA FRE]=ON ; 77: DO[46:CLOSE MOULD]=ON ; 78: ; /POS P[1]{ GP1: UF : 0, UT : 1, CONFIG : 'N U T, X = 1068.34 mm, Y = 105.37 mm, Z = W = -.05 deg, P = .00 deg, R = }; P[2]{ GP1: UF : 0, UT : 1, CONFIG : 'N U T, X = 679.21 mm, Y = -755.32 mm, Z = W = 92.06 deg, P = 89.16 deg, R = }; P[3]{ GP1: UF : 0, UT : 1, CONFIG : 'N U T, X = 476.29 mm, Y = -655.37 mm, Z = W = -.31 deg, P = -.63 deg, R = }; P[4]{ GP1: UF : 0, UT : 1, CONFIG : 'N U T, X = 679.21 mm, Y = -755.32 mm, Z = W = 92.06 deg, P = 89.16 deg, R = }; /END
;
;
0, 0, 0', 609.99 mm, -44.49 deg
0, 0, 0', 659.36 mm, -134.02 deg
0, 0, 0', -202.05 mm, 135.15 deg
0, 0, 0', 659.36 mm, -134.02 deg
86
Matrijscode /MN 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: /POS /END
R[1:MATRIJSCODE]=0 ; R[2:CODE_CONTROLE]=0 ; ; IF DI[11]=OFF,JMP LBL[1] ; R[1:MATRIJSCODE]=1 ; R[2:CODE_CONTROLE]=1 ; ; LBL[1] ; IF DI[12]=OFF,JMP LBL[2] ; R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+2 ; R[2:CODE_CONTROLE]=R[2:CODE_CONTROLE]+1 ; LBL[2] ; IF DI[13]=OFF,JMP LBL[3] ; R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+4 ; R[2:CODE_CONTROLE]=R[2:CODE_CONTROLE]+1 ; LBL[14] ; IF DI[13]=OFF,JMP LBL[4] ; R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+8 ; R[2:CODE_CONTROLE]=R[2:CODE_CONTROLE]+1 ; LBL[4] ; IF DI[15]=OFF,JMP LBL[5] ; R[1:MATRIJSCODE]=R[1:MATRIJSCODE]+16 ; R[2:CODE_CONTROLE]=R[2:CODE_CONTROLE]+1 ; LBL[5] ; IF DI[16]=OFF,JMP LBL[6] ; R[2:CODE_CONTROLE]=R[2:CODE_CONTROLE]+1 ; LBL[6] ; R[3:CODE_DELING]=R[2:CODE_CONTROLE] MOD 2 IF R[3:CODE_DELING]=0,JMP LBL[7] ; ; MESSAGE[FOUTE MATRIJSCODE] ; UALM[1] ; LBL[7] ;
;
;
;
;
;
;
87
Matrijsprogramma /MN 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:L 11: 12: 13: 14:L 15:L 16: 17: 18: 19: 20: 21: 22: 23: 24:L 25:L 26:L 27: 28: 29: 30: 31: 32: 33: 34:J 35:J 36:J 37:L 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49:L 50: 51: 52: 53:L 54: 55: 56: 57:
IF R[1:MATRIJSCODE]<>1 OR DI[48:MLD SEMI OPN]=OFF,JMP LBL[3] ; ; DO[46:CLOSE MOULD]=OFF ; ; R[10:DIKTE SNIJPLANK]=0 ; R[11:BESTEMMING ]=0 ; ; DO[47:MLD AREA FRE]=OFF ; ; P[1] 1000mm/sec FINE ; ; IF DI[48:MLD SEMI OPN]=OFF,JMP LBL[3] ; ; P[2] 1000mm/sec FINE ; P[3] 500mm/sec FINE ; ; RO[2:VACUUM 1]=ON ; WAIT RI[1:VAC GRIP OK]=ON TIMEOUT,LBL[2] ; ; ; DO[48:OPEN MOULD]=ON ; WAIT DI[45:MOULD OPEN]=ON TIMEOUT,LBL[2] ; ; P[4] 500mm/sec FINE ; P[5] 1000mm/sec FINE ; PR[8:TUSSENPOSITIE 1] 1000mm/sec FINE ; ; IF RI[1:VAC GRIP OK]=OFF,JMP LBL[3] ; ; DO[47:MLD AREA FRE]=ON ; DO[48:OPEN MOULD]=OFF ; DO[46:CLOSE MOULD]=ON ; ; PR[14:TUSPOS 2] 100% CNT10 ; PR[15:TUSPOS 3] 5% CNT10 ; PR[3:AFLEGTAFEL ] 100% CNT10 ; PR[13:TAFEL GROOT ] 100mm/sec FINE ; ; ; WAIT DI[1:SENSOR TFL1]=ON AND DI[2:SENSOR TFL2]=ON ; DO[1:VAC1 TAFEL]=ON ; DO[2:VAC2 TAFEL]=ON ; ; WAIT DI[3:VAC TAFEL OK]=ON ; RO[2:VACUUM 1]=OFF ; ; WAIT RI[1:VAC GRIP OK]=OFF AND DI[3:VAC TAFEL OK]=ON ; ; PR[3:AFLEGTAFEL ] 1000mm/sec FINE ; WAIT 1.00(sec) ; ; IF DI[3:VAC TAFEL OK]=OFF,JMP LBL[4] ; PR[13:TAFEL GROOT ] 1000mm/sec FINE ; ; RO[2:VACUUM 1]=ON ; WAIT RI[1:VAC GRIP OK]=ON ; ;
88
58: DO[1:VAC1 TAFEL]=OFF ; 59: DO[2:VAC2 TAFEL]=OFF ; 60: WAIT DI[3:VAC TAFEL OK]=OFF ; 61: ; 62:L PR[3:AFLEGTAFEL ] 1000mm/sec FINE ; 63: IF DI[1:SENSOR TFL1]=OFF OR DI[2:SENSOR TFL2]=OFF,JMP LBL[4] ; 64: ; 65:J P[6] 100% FINE ; 66:J P[7] 100% FINE ; 67:L P[8] 100mm/sec FINE ; 68: ; 69: RO[2:VACUUM 1]=OFF ; 70: RO[3:VACUUM 2]=OFF ; 71: WAIT RI[1:VAC GRIP OK]=OFF ; 72: ; 73:L P[9] 100mm/sec FINE ; 74:J P[10] 100% FINE ; 75:J PR[3:AFLEGTAFEL ] 100% FINE ; 76: ; 77:J PR[15:TUSPOS 3] 100% CNT10 ; 78:J PR[14:TUSPOS 2] 100% CNT10 ; 79:L PR[8:TUSSENPOSITIE 1] 1000mm/sec FINE ; 80: DO[11]=PULSE,3.0sec ; 81: ; 82: JMP LBL[1] ; 83: ; 84: LBL[2] ; 85: PR[2:LPOS]=LPOS ; 86:L PR[2:LPOS] 2000mm/sec CNT10 Offset,PR[4:OFFSET] ; 87:L P[1] 100mm/sec FINE ; 88:L PR[8:TUSSENPOSITIE 1] 100mm/sec FINE ; 89: ; 90: LBL[3] ; 91: UALM[3] ; 92: ; 93: LBL[4] ; 94: UALM[4] ; 95: ; 96: ; 97: ; 98: LBL[1] ; /POS P[1]{ GP1: UF : 0, UT : 1, CONFIG : 'N U T, 0, 0, 0', X = -672.45 mm, Y = 928.96 mm, Z = 476.13 mm, W = 147.35 deg, P = 89.28 deg, R = 121.08 deg }; P[2]{ GP1: UF : 0, UT : 1, CONFIG : 'N U T, 0, 0, 1', X = -677.72 mm, Y = 937.71 mm, Z = -338.55 mm, W = 147.35 deg, P = 89.28 deg, R = 121.08 deg }; P[3]{ GP1: UF : 0, UT : 1, CONFIG : 'N U T, 0, 0, 1', X = -691.92 mm, Y = 944.72 mm, Z = -338.39 mm, W = 147.35 deg, P = 89.28 deg, R = 121.08 deg }; P[4]{
89
GP1: UF : 0, UT : 1, X = -677.72 mm, Y = W = 147.35 deg, P = }; P[5]{ GP1: UF : X = W = }; P[6]{ GP1: UF : X = W = }; P[7]{ GP1: UF : X = W = }; P[8]{ GP1: UF : X = W = }; P[9]{ GP1: UF : X = W = }; P[10]{ GP1: UF : X = W = }; /END
CONFIG : 'N U T, 0, 0, 1', 937.71 mm, Z = -338.55 mm, 89.28 deg, R = 121.08 deg
0, UT : 1, -672.45 mm, Y = 147.35 deg, P =
CONFIG : 'N U T, 0, 0, 0', 928.96 mm, Z = 476.13 mm, 89.28 deg, R = 121.08 deg
0, UT : 1, 679.21 mm, Y = 92.06 deg, P =
CONFIG : 'N U T, 0, 0, 0', -755.32 mm, Z = 659.36 mm, 89.16 deg, R = -134.02 deg
0, UT : 1, 476.45 mm, Y = -.31 deg, P =
CONFIG : 'N U T, 0, 0, 0', -655.88 mm, Z = -161.41 mm, -.63 deg, R = 135.15 deg
0, UT : 1, 475.62 mm, Y = -.31 deg, P =
CONFIG : 'N U T, 0, 0, 0', -653.44 mm, Z = -370.92 mm, -.63 deg, R = 135.15 deg
0, UT : 1, 476.45 mm, Y = -.31 deg, P =
CONFIG : 'N U T, 0, 0, 0', -655.88 mm, Z = -161.41 mm, -.63 deg, R = 135.15 deg
0, UT : 1, 679.21 mm, Y = 92.06 deg, P =
CONFIG : 'N U T, 0, 0, 0', -755.32 mm, Z = 659.36 mm, 89.16 deg, R = -134.02 deg
90
M Opstartprocedure automatisatie snijplanken Opstarten van de machine 1. Indien nodig, maak de aflegtafel vrij. 2. Zet de keuzeschakelaar op “ZONDER ROBOT”.
3. 4. 5. 6. 7. 8.
9. 10.
Schakel de spuitgietmachine in. Schakel de robot in en neem de teach pendant. Druk op “SELECT”. Selecteer het hoofdprogramma “MAIN” met de pijltjestoetsen. Druk op ENTER. Druk op START.
Opgelet! De robot zal nu bewegen!
11. Laat de machine een volledige cyclus werken zonder robot. 12. Wacht tot alle gebruikte matrijzen gevuld zijn met kunststof. 13. Zet daarna de keuzeschakelaar op “MET ROBOT”.
Opgelet! De robot zal nu bewegen!
91
Herstellen na fout of noodstop 1. 2. 3. 4. 5. 6. 7. 8.
Draai de noodstop terug uit of verhelp de fout indien nodig. Druk op FCTN. Druk op ENTER (Abort all). Druk op FAULT RESET. Druk op SELECT. Selecteer het hoofdprogramma “MAIN” met de pijltjestoetsen. Druk op ENTER. Druk op CYCLE START.
Opgelet! De robot zal nu bewegen! 9. Indien er niets gebeurt, verhelp dan eerst de foutmeldingen van de robot. 10. Indien nodig, maak de aflegtafel vrij nadat de Fanuc robot gestopt is.
92