De crisis van de afgelopen 6/7 jaar heeft heel duidelijk gemaakt, speciaal bij bedrijven die wereldwijd opereren in een steeds meer globaliserende economie, dat er een noodzaak is om soepel de productie te kunnen aanpassen. Automatiseren door middel van robotica heeft inmiddels wel bewezen daarin een essentiële rol te spelen. Dit kan alleen op een succesvolle manier gebeuren als de robot en ‘zijn’ geautomatiseerde omgeving – zoals bewerkingscentra en handelingsapplicaties – perfect op elkaar zijn afgestemd, zowel procesmatig als wat betreft de bediening.

Automatica 2012 3_327Dit is waar KUKA’s mxAutomation een belangrijke rol kan vervullen. Deze kan zorgen voor de elementaire bediening van de robot vanaf een externe HMI in combinatie met een real-time communicatie die voldoet aan de in de industrie geldende standaard.

Uitzonderingen daargelaten, hebben robots over het algemeen een dienende rol in een geautomatiseerd proces. Veelvoorkomende voorbeelden zijn het voor- of nabewerken van werkstukken of het be- en ontladen van CNC-frees- of draaibanken.

Om het proces tussen de bewerkingscentra en robot te coördineren, is er communicatie tussen beide besturingssystemen nodig. In het begin werd deze taak vervuld door parallelle signalen – zogenaamde parallelle Input en Output signalen (I/O’s) – totdat veldbussystemen geïntroduceerd werden en deze functie overnamen. In sommige industrieën, zoals de plastic spuitgietindustrie, bleef men de parallelle signalen gebruiken maar legde men vast hoe deze te gebruiken in de Euromap67 interface.

Om te voldoen aan de eisen die gesteld worden aan moderne automatiseringssystemen, volstaat de communicatie van het toepassen van enkele I/O signalen niet meer. Met de opkomst van moderne, op Ethernet gebaseerde, veldbussystemen is er een technologische basis gelegd voor efficiënte communicatie tussen de besturingssystemen van bijvoorbeeld een bewerkingscentrum en de robotbesturing. Belangrijk aspect van de nieuwe bussystemen is de mogelijkheid om meerdere protocollen of diensten via dezelfde Ethernet kabel te laten verlopen of meerdere bussystemen gelijktijdig. Standaard op de KUKA KR C4 robotbesturing is communicatie via EtherCAT en TCP/IP via Ethernet aanwezig, maar tevens zijn optioneel Profinet en Ethernet/IP beschikbaar. Verdere bussystemen zoals VARAN kunnen worden aangesloten via gateways waarmee real-time communicatie mogelijk is met periferie die tevens deze voorziening heeft.

Moderne communicatiemogelijkheden

Cyclische procesdata – Communicatie via I/O-signalen wordt uiteraard nog steeds toegepast. Eerder geconfigureerde procesgegevens worden volgens planning in beide richtingen doorgegeven in een bepaald patroon. In tegenstelling tot vroeger is het nu mogelijk, dankzij Ethernet-achtige veldbussystemen, grotere procesdata te versturen met snellere kloktijden.

Asynchrone berichten – In tegenstelling tot de cyclische procesdata, worden asynchrone berichten alleen gegenereerd wanneer dat echt nodig is en verstuurd naar een station op afstand. Deze functie kan worden gebruikt om meldingen, foutmeldingen en bevestigingen te sturen naar bijvoorbeeld een andere controller.

Bestandsoverdracht – Voor het compileren van programma’s, het archiveren en het herstellen van robot-programma’s, het verstrekken van CAM-table’s et cetera, kan een FTP-server worden geïnstalleerd op de KUKA KR C4 controller. Op deze manier kan een externe FTP-client als ‘communicatiepartner’ toegang tot het bestandssysteem van de robot controller krijgen.

Kloksynchronisatie – In sommige fasen van de beweging van een robot is het wenselijk dat deze zo nauwkeurig mogelijk gesynchroniseerd wordt met die van de productiemachine. Of, in bepaalde situaties, is het wenselijke dat het starten en stoppen van de robot zoveel mogelijk samenvalt met de beweging van de productiemachine. Basisvoorwaarde hiervoor is dat de fases van kloksignalen van de robotcontroller en de controller van de productiemachine met elkaar vergrendeld zijn. De KR C4 maakt hierbij niet gebruik van een veldbus-achtig mechanisme maar van het gestandaardiseerde Precision Time Protocol volgens IEEE 1588 V1. De KR C4 kan hierbij werken als ‘klok-master’ of ‘klok-slave’.

Veiligheid – Het verlangen naar gestandaardiseerde machine- en robotveiligheid heeft tot de eis geleid dat de robotveiligheid wordt gecontroleerd door de machineveiligheidscontroller of door veiligheidsbesturing van een hoger niveau. De KR C4 biedt hier twee mogelijkheden: de ‘Basis Safety’ en als optie de ‘Safe Operation’. ‘Basic Safety’ bevat alleen de basisfuncties, zoals noodstop, terwijl de Safe Operation verbeterde veiligheidsfuncties biedt zoals het volledig veilig monitoren van cartesische en as-specifieke werkruimten, snelheid, versnelling en stoppen, et cetera. Deze twee veiligheidssystemen zijn beschikbaar via een uitbreiding van de veldbussystemen Fail Safe via EtherCAT (FSoE), Profisafe en CIP Safety.

Op basis van deze verbeterde communicatiemechanismen kan de machinebouwer of systeemintegrator automatiseringstaken oplossen zoals dat hij dat gewend was door aparte machine- en robot-programma’s te creëren met de daarbij bijbehorende HMI’s. Nadelig is dat alle gebruikers, zoals operators en onderhoudspersoneel, gedetailleerde kennis moeten hebben van zowel het machine- als robotprogramma.

Nog maar één programmeeromgeving

KUKA_Siemens_ANZEIGE_neueHEOm één leerproces over te slaan en om in staat te zijn de bewegingen van de robot en de machine op slechts één locatie te programmeren, heeft KUKA mxAutomation ontwikkeld waardoor machinebouwers of systeemintegrators functies van de KUKA robotcontroller kunnen integreren in de controller van hun machine. Alle programmering- en operatortaken voor de robot kunnen dan worden gedaan via het bedieningspaneel van de machine. Specifieke kennis van robotprogrammering is daardoor niet meer nodig. De operator bedient zowel machine als robot volledig via het voor hem vertrouwde machinebedieningspaneel.

mxAutomatisering bestaat conceptueel uit twee hoofd bestandsdelen. Een door KUKA ontwikkeld serverprogramma dat draait op de robotbesturing en wacht op opdrachten voor de robot via een van de bovengenoemde veldbussen. Het werkelijke programma dat de robot bestuurt, draait op de controller van de machine. Dit programma is geschreven in de programmeertaal en methodes van de controller van de machine. Om dit mogelijk te maken, biedt mxAutomation controllerspecifieke bibliotheken aan. Deze worden dan door de machineprogrammeur in zijn machineprogramma geïntegreerd, wat ervoor zorgt dat robotgerelateerde commando’s en parameters verpakt worden in corresponderende data, die vervolgens dan via de veldbus naar de mxAutomation-server verzonden worden op de robotbesturing. De mxAutomation-server interpreteert de gegevens die aankomen, voert de gewenste robotcommando’s uit en stuurt parameters, statusberichten, en dergelijke retour naar de mxAutomation bibliotheek op de machinebesturing.

Om de dataoverdracht van de robotcommando’s en de teruggezonden waardes zo snel mogelijk en gedefinieerd te laten voltrekken, worden de cyclische procesdata van de bewuste veldbus uitsluitend hiervoor gebruikt. Er kunnen op deze manier tot maximaal vijf robots tegelijk bestuurd worden door één controller van de machine.

De mxAutomation bibliotheek is gemaakt in een ‘Portable Structured Tekst’ en is momenteel beschikbaar voor Siemens Simatic, en op basis daarvan voor Sinumerik 840D, evenals voor de PLC’s van Rockwell en voor CodeSys of ProConOS systemen. Bibliotheken voor andere controllers en systemen worden momenteel voorbereid. Er is tevens een aanpassing kit beschikbaar waarmee de mxAutomation bibliotheek kan worden geïntegreerd in de controllers van andere fabrikanten. Hiervoor dient wel eerst een samenwerkingsovereenkomst met KUKA afgesloten te worden. De bibliotheken zijn beschikbaar in programmeertalen zoals C/C ++.

De Application Programming Interface (API) van de mxAutomation bibliotheek is gebaseerd op de programmering paradigma van PLCopen’s Motion Control Function Blocks (MCFBs) en is speciaal uitgebreid voor KUKA robots (afb. 2). Bijna alle functies zoals die kunnen worden geprogrammeerd in de normale robotprogrammeertaal zijn ook beschikbaar via de mxAutomation bibliotheek (Tabel 1). Dit omvat algemene functies zoals het lezen van de actuele positie, snelheid en versnelling van de robot maar ook het schrijven en lezen van I/O’s en variabelen van de robot. Een toepassing waarbij mxAutomation zijn voordeel toont, is wanneer het moment per as van de robot gekoppeld word aan systeem-variabelen voor bijvoorbeeld het ‘gevoelig’ grijpen van werkstukken of verpakte goederen. Binnen de mxAutomation configuratie kan de systeemvariabele TORQMON_DEF worden toegewezen aan een mxAutomation variabele, die vervolgens kan worden ingevoerd via de KRC_SetSysVar functie.

Voor een as-specifieke of cartesische beweging van de robot met lineaire [LIN], Point to Point [PTP] of circulaire [CIRC] beweging, zijn er corresponderende syntaxen beschikbaar. Tevens is positionering bij benadering mogelijk, evenals exacte tijd-afstand functies of interruptie signalen. Ook het handmatig ‘jogging’ van de robot en het numeriek invoeren of ‘teachen’ van posities behoort tot de mogelijkheden. Al deze functies kan de operator uitvoeren via de HMI van bijvoorbeeld een CNC-draai- of freesbank.

Klantspecifieke uitbreidingen

Op verzoek van de klant bieden de engineers van KUKA hulp bij het ontwikkelen van speciale functieblokken. Om de know-how van klanten te beschermen kunnen deze een beroep doen op KUKA’s engineers om andere elementaire robotfuncties in mxAutomation te integreren die nog niet zijn geïmplementeerd (bijvoorbeeld ‘Cartesian Soft Servo’, ‘Vector Move’ of ‘Conveyer Tracking’) of complexere robot subroutines uit te voeren (bijvoorbeeld klantspecifieke homing protocollen). Naast de conveyer tracking functies zijn er verdere synchronisatiefuncties in voorbereiding.

KUKA_mxAUTOMATION_DEU_12051

Voordelen ten opzichte van andere benaderingen

De mxAutomation toepassing heeft meerdere voordelen ten opzichte van andere vergelijkbare oplossingen waarbij de machinebesturing direct de besturing van bijvoorbeeld de robotdrives of motoren van de robot overneemt. Dit omdat de controller van de machine niet al te complexe robottransformaties hoeft te beheersen en niet met gedetailleerde machinedata en arm-karakteristieken van de robotarm hoeft te werken. mxAutomation werkt met alle KUKA robots voorzien van de KR C4 robot-controller – van de KR AGILUS met een draagkracht van 6kg tot aan de KR 1000 titan met een draagkracht van 1000kg. KUKA kan dankzij een brede portfolio voor iedere applicatie een specifieke robot leveren voorzien van diverse reikwijdtes en draagkrachten.

Er is geen risico dat de machine-controller, doordat deze niet de specifiek kennis in zich heeft van bijvoorbeeld de motoren, reductoren en andere mechanische componenten van de robot, de limieten van deze componenten zal overschrijden, waardoor de robot in storing zou kunnen vallen. Tevens behoudt de machine-controller alle voordelen en kenmerken van de KUKA robot controller, zoals energie-efficiënte beweging, aangepaste algoritmes voor de specifieke robotarmen, monitoring van belastingen en traagheidsmomenten, verfijnde exceptionele handling routines of de gehele veiligheidsfuncties.

In tegenstelling tot wat vaak gedacht wordt, biedt het besturen van de robot via ‘direct path planning’ via de machinecontroller geen voordeel ten opzichte het bewegen van de robot via mxAutomation. De reden hiervoor is het natuurlijke fysieke traagheidsmoment van seriële robots, waarop de werkmethodes van de KUKA controller perfect zijn aangepast. Tenslotte moet worden gezegd dat wanneer een machinebouwer of een system integrator besluit mxAutomation toe te passen, de productaansprakelijkheid nog net zo duidelijk is als het was bij toepassen van een robot op een conventionele manier. Hoewel mxAutomation pas onlangs op de markt is gebracht heeft het al bewezen een gebruiksvriendelijk en effectief product te zijn en zorgt het voor een doeltreffende integratie en een verhoogde productiviteit bij eindgebruikers bij een groot aantal verschillende toepassingen.

Tekst: Dr. Joachim Strobel, Productmanager KR C4: KRCOpen, mxAutomation bij KUKA Roboter GmbH en Heinrich Munz Senior Developer KUKA Roboter GmbH.

Vertaling: Bart Al, KUKA Automatisering + Robots N.V.

Via: visionandrobotics.nl