VISUAL BASIC APPLIKATIONER FÖR ABB ROBOTAR ROBSTAT & RS2WORLD



Relevanta dokument
Kom igång med TIS-Office

Installation/start av LOGGER

ALEPH ver. 16 Introduktion

Workshop IBA internet based assessment

Manual - Phonera Online Backup

Quick start manual. Smart-House Rev 1.1

CVI ANALYZER V X

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

TIS-Web startguide 3.6. TIS-Web Startguide

Laboration 1 Introduktion till Visual Basic 6.0

ANVÄNDAR MANUAL. SESAM 800 RX MC Manager

1. ActiveGPS 2.00 by TJ

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Smartair System. TS1000 Version 4.23

Elevhantering. Välj Tabell - Elev. Konstatera att elevtabellen är tom! I brist på elevinformation måste schemafilen få reda på följande:

Administrationsmanual ImageBank 2

X-Route Användarmanual Innehåll

LEX INSTRUKTION LEX LDAP

Användarmanual. Fakturaspecifikation. Trafikverkets system för fakturaspecifikation. Version 1.4,

Ladda upp filer fra n PLC till PC

Myndigheten för samhällsskydd och beredskap 1 (10) Datum Installationsguide ROPA

Quickstart manual. Rev SHTOOL Quickstart manual Smart-House

BILAGA 1 ADVES MANUAL 1 (7)

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

Filbindningar. Mike McBride Översättare: Stefan Asserhäll

Användarhandledning för RSV:s Elektroniska brevlåda

Kapitel 4 Arkivmenyn Innehåll

Instruktioner för uppdatering från Ethiris 4.10 till 5.x

Se till att posten är i Ändringsläge. Gå till rullgardinsmenyn under Föremål och välj Lägg in bild.

Installationsguide, Marvin Midi Server

E-posthantering med Novell Groupwise WebAccess

Quick start manual. Smart-House Rev 2.0

NetBeans 7. Avsikt. Projektfönster

Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT)

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Storegate Pro Backup. Innehåll

FÄLTMÄTINSTRUKTION TESTO 174H

FÄLTMÄTINSTRUKTION TESTO 174H

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Skapa din egen MediaWiki

Hogia Personal version ( )

Elsmart Användarmanual Nätanmälan för Installatörer

Bildbaskontoret. Bruksanvisning. Handitek. anpassar tekniken till människan BRUX\...\ BILDBASKONTORET

FLEX Personalsystem. Uppdateringsanvisning

Excel Online Version 1.0 Skolkontoret

Öppna EndNote varje gång när du vill samla referenser till ditt bibliotek.

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

web: fax: tel: kontor , Toby Edmundsson mobil: , Jan

DGC IT Manual Citrix Desktop - Fjärrskrivbord

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

PROGES PLUS THERMOSCAN RF. Instruktionsmanual V

Lathund för BankID säkerhetsprogram

Telia Connect för Windows

Grundläggande EndNote

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

ENTRÉ DOKUMENTHANTERING...

Komma igång med 3L Pro Komma igång med 3L. Copyright VITEC FASTIGHETSSYSTEM AB

Visma Proceedo. Att logga in - Manual. Version 1.3 /

7 Mamut Client Manager

WebitRental Uthyrningssystem. WebIT Design i Kalmar HB

Från vilka klasser hämtas eleverna till undervisningsgrupperna? Vilka undervisningsgrupper kan schemaläggas samtidigt?

NetBeans 5.5. Avsikt. Projektfönster

IT-system. BUP Användarmanual

Hantering av externa länkar i IRONCAD

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Allmänt om programvaror och filer i Windows.

Grundkurs 1 IKT Filhantering

Memeo Instant Backup Snabbguide. Steg 1: Skapa ett gratis Memeo-konto. Steg 2: Anslut din lagringsenhet till datorn

Handhavande manual problemhantering

STEG 1 Samla referenser till ditt EndNote-bibliotek

DIGITALA RESURSER MANUAL FÖR. Arbeta med video i imovie

Inställningstips. Visuella anpassningar Windows

SELLOUT. Version 2.5. eyescream information ab

TUTORIAL 3: ATT STARTA ETT NYTT PROJEKT, IMPORTERA ELLER DIGITALISERA MATERIAL, SAMT SORTERA DET.

Uppdatera Easy Planning till SQL

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data

Antares Användning och installation

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Flytt av. Vitec Mäklarsystem

Filimport till Norstedts Byrå

TES Mobil. Användarmanual. Användarmanual TES Mobil Dok.nr v8

Innehållsförteckning. Användarmanual för Lockbee Backup Databas 2009

Elements, säkerhetskopiering och dina bilder

Lathund för CombiLab 7

Installationsanvisning för Su Officemallar 2013 För PC

Användarmanual CallPad

Sirius II Installation och Bruksanvisning

Importera och använda en textdatabas i Excel

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

Användarhandbok. Nero BackItUp. Ahead Software AG

Kyrkans GPS. Version 1.0. Manual

I den tidigare filen Manual Editor belystes grunderna för enkel uppdatering samt editorns utformning.

INSTALLATION AV VITEC MÄKLARSYSTEM

Manual till DIKO

Primus Vägledning för massimport av bilder. Primus 5.6.4

Innehåll i detta dokument

MyTobii P10. Lathund kring de vanligaste funktionerna i själva styrsystemet i ögonstyrningsutrustningen P10 från MyTobii. Habilitering & Hjälpmedel

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Stompunktsmanual Trafikverket

Transkript:

Examensarbete 20 poäng D-nivå VISUAL BASIC APPLIKATIONER FÖR ABB ROBOTAR ROBSTAT & RS2WORLD Reg.kod: Oru-Te-AUT067-Mag 102/04 Magnus Wallgren Magisterprogrammet i Automatisering 160 p Örebro vårterminen 2004 Examinator: Dag Stranneby VISUAL BASIC APPLIKATIONER FÖR ABB ROBOTAR ROBSTAT & RS2WORLD Örebro universitet Örebro University Institutionen för teknik Department of technology 701 82 Örebro SE-701 82 Örebro, Sweden

2005-03-30 Sammanfattning Detta examensarbete har utförts hos Löfqvist Engineering som är en oberoende systemleverantör av industriell automation med specialkunnande inom robotteknik. Examensarbetet är uppdelat i två delar. Första delen består av att skriva programvara till ett loggningssystem av en helautomatiserad robotcell som hanterar och svetsar sidostag för Volvo Truck Corp. Programvaran ska också innehålla fil- och backuphantering. Detta genomfördes och används idag på robotanläggningen hos Volvo Truck Corp. i Umeå. Andra delen består av att skriva programvara för ett kalibreringsfilter som filtrerar robotprogram från Robot Studio. I dagens läge får man korrigera positionerna efter att man laddat in ett nytt program i roboten som är gjort i Robot Studio. Detta beror på att Robotens koordinatsystem inte är helt rakt och att verkligheten skiljer sig från den simulerade världen i Robot Studio. Målet var att eliminera en så kallad touch up av positionerna. Detta har genomförts med goda resultat. En fortsatt utveckling av programvaran kommer att ske och senare kommer programvaran som ett första steg att introduceras hos Volvo Construction Equipment i Hallsberg. Abstract This project has been performed at Löfqvist Engineering which is an independent system supplier of industrial automation with special qualification in robotics. This project is divided in two parts. The first part is to write a program to a logging system to a total automatic robot cell which handles and welds a detail for Volvo Truck Corp. The program shall also include file- and backup handling. This project went well and the software is used today on a robot cell at Volvo Truck Corp. in Umeå. The second part is to write a program for a calibration filter which filters robot programs from Robot Studio. Today you have to make an adjustment to the target positions after you have loaded a new program in the robot which is created from Robot Studio. This is because that the robot coordinate system is not completely straight as it is in Robot Studio and there is often small difference between the real world and the simulated world in Robot Studio. The goal was to eliminate a so called touch up of the positions. This has been performed with god results. Further development of this program will be done and later the program will be introduced as a first step at Volvo Construction Equipment in Hallsberg. Magnus Wallgren

2005-03-30 Innehållsförteckning SAMMANFATTNING 1 ABSTRACT 1 INNEHÅLLSFÖRTECKNING 1 1. FÖRORD 5 ROBSTAT 6 2. INLEDNING 6 2.1 Bakgrund 6 2.2 Kravspecifikation 6 Statistik 7 Filhantering 7 Backuphantering 7 3. VERKTYG 8 3.1 Visual Basic 6.0 8 3.2 WebWare SDK 3.0 8 3.3 ActiveX-komponent 9 3.4 Robot 9 3.4.1 Allmänt 9 3.4.2 Robotarna 9 4. GENOMFÖRANDE 10 4.1 Visual Basic 6.0 10 4.2 Kommunikation 10 4.3 Filhantering 11 4.4 Backuphantering 11 4.5 Loggning 12 5 SYSTEMBESKRIVNING 14 5.1 Inledning 14 5.2 Kommunikation 14 Magnus Wallgren

2005-03-30 5.3 Systemfiler 14 ThisWeek.log 14 OtherWeeks.log 14 Backup.cfg 14 Interval.cfg 14 Schema.cfg 14 5.4 Loggfiler 14 5.5 Programbeskrivning 15 5.5.1 Inledning 15 5.5.2 Huvudprogrammet 15 5.5.3 Filhanteraren 16 5.5.4 Ny tidsperiod flödesdiagram 16 5.5.5 Ny tidsperiod stapeldiagram 16 5.5.6 Om 16 5.5.7 Schema 16 5.5.8 Skapa backup 16 5.5.9 Automatisk backup 16 5.5.10 Visa tidigare veckor 16 5.5.11 Meddelande 16 6 UTVÄRDERING 17 7 DISKUSSION 18 7.1 Vidareutveckling 18 RS2WORLD 19 8 INLEDNING 19 8.1 Bakgrund 19 8.2 Kravspecifikation 19 9. VERKTYG 21 9.1 Microsoft Access 2002 21 9.2 Robot Studio 3.0 21 9.3 ADO 21 9.4 SQL 21 10. TEORI 22 11. GENOMFÖRANDE 25 11.1 Kommunikation 25 11.2 Test mot Robot 25 Magnus Wallgren

2005-03-30 11.3 Test mot Robot och lägesställare 25 12. SYSTEMBESKRIVNING 27 12.1 Inledning 27 12.2 Exportfilter 27 12.3 Importfilter 28 12.4 Databashantering 28 12.4 Programförklaring 29 13. UTVÄRDERING 31 14. DISKUSSION 32 15. REFERENSER 33 Bilaga 1, Användarmanual RobStat Bilaga 2, Användarmanual Rs2World Bilaga 3, Skapa en koppling mellan Robot och PC Bilaga 4, Addera och konfigurera en Helper Control Bilaga 5, RobStat flödesdiagram och funktioner Magnus Wallgren

2005-03-30 1. Förord Jag vill börja med att tacka alla på Löfqvist Engineering för en trevlig tid tillsammans! Speciellt tack till Per Malmqvist som varit min handledare på Löfqvist Engineering. Örebro maj 2004 Magnus Wallgren Magnus Wallgren 5 (33)

RobStat 2005-03-30 RobStat 2. Inledning 2.1 Bakgrund Löfqvist Engineering har fått en förfrågan av Volvo Truck Corp. i Umeå om en PCprogramvara som loggar produktionsstatistik till deras robotcell som svetsar sidostag som Löfqvist levererar. 2.2 Kravspecifikation Skapa ett operatörsinterface som tydligt visar robotens status, både nuvarande och tidigare. Diagram över robotens status ska tydligt visa planerade stopp, oplanerade stopp och systemförluster uppdelat i olika kategorier. Genom det visualiseras utrustningens totala effektivitet. Det här blir sedan en utgångspunkt för förbättringar av systemet. Dokumentation av den totala produktionstiden (se figur 1). En filhantering ska ingå där operatören enkelt kan kopiera filer mellan roboten och Pc:n för att göra uppdateringar eller återställningar av systemet. Även en backuphantering ska finnas för systemets säkerhet. Figur 1 Utrustningens Totala Effektivitet (UTE-talet i %) = Tillgänglighet Operationseffektivitet 100 Planerad produktionstid, Tpp Tillgänglig produktionstid, Tp Planerade STOPP, T ps Möten m.m. Oplanerade STOPP, Tos Tekniska störningar m m Tillgänglighet = T T T pt T ps pp os Netto produktionstid Systemförluster Brist in, fullt ut, m m Operationseffektivitet = C P t T p a Total produktionstid, T pt Cykeltid, C t Producerat antal, P a Magnus Wallgren 6 (33)

RobStat 2005-03-30 Statistik Nuvarande status, status för de senaste 24h och status för dom 8h senaste timmarna ska visas i form av diagram eller kortfattad text Loggning av statusen ska innefatta, tillfällig status och tidpunkt(datum och klockslag). Filhantering Operatören ska enkelt kunna leta igenom ett katalogträd och därefter kopiera filer mellan PC och Robot. Backuphantering Operatören ska enkelt kunna göra backup och ha möjlighet att bestämma vart backupen ska lagras. Magnus Wallgren 7 (33)

RobStat 2005-03-30 3. Verktyg 3.1 Visual Basic 6.0 Visual Basic 6.0 är ett programmeringsspråk där man enkelt skapar applikationer för Windows. Valet av programmeringsspråk gjordes på följande grunder: Visual Basic 6.0 är den programvara som finns och används hos Löfqvist idag WebWare SDK använder sig av ActiveX komponenter Visual Basic 6.0 har stöd för ActiveX komponenter. 3.2 WebWare SDK 3.0 Med WebWare SDK (Software Development Kit) kan man skapa Windowsapplikationer som kommunicerar med ABB-robotar. WebWare SDK är en samling verktyg som underlättar vid kommunikation mellan PC och Robot. Det stödjer bland annat applikationer som är skapats i Microsoft Visual Basic. Gränssnittet mellan WebWare SDK och Visual Basic är ActiveX-komponenter. WebWare SDK innehåller även en ABB Virtual Controller (se figur 2) som simulerar en verklig robot. Detta möjliggör att man kan simulera det mesta offline. Dock skiljer sig vissa saker så som filhanteringssystemet. T ex protokollet som används för kommunikation heter RAP (Robot Application Protocol) det stöjder bara filnamn på formen (8 +. + 3) tecken till skillnad från Windows som tillåter längre filnamn. WebWare SDK bygger på ABB Interlink Module (se figur 3) vars uppgift är att sköta kommunikationsgränssnittet för ActiveX komponenter. I ABB Interlink Module konfigurera man sina robotar. Figur 2 Figur 3 Magnus Wallgren 8 (33)

RobStat 2005-03-30 Olika typer av ActiveX-komponenter erbjuds i WebWare SDK Helper Control, Button Control, Pilot Light Control, Label Control, Robot Box Control och ABB FileManager Control. Den ActiveX-komponent som används i projektet är Helper Control. Helper Control är den huvudsakliga komponenten som erbjuder en mängd olika funktioner för kommunikation med S4 styrsystemet. 3.3 ActiveX-komponent En ActiveX komponent är en programmodul som har ett speciellt gränssnitt som kan pluggas in i ett program som har stöd för ActiveX. ActiveX skapades av Microsoft för att användas på webbsidor istället för Java. ActiveX är dock inte begränsat till webbsidor utan kan fungera som moduler i vilket program som helst. Active X är en plattform för komponentbaserad utveckling. 3.4 Robot 3.4.1 Allmänt Robotarna som används i projektet är ABBrobotar. ABB är världsledande när det gäller robotbaserad automation och har över 100 000 robotar installerade runt om i världen. Dagens ABB robotar har styrsystemet S4 men en ny generation ABBrobotar väntar med ett nytt styrsystem som heter IRC 5. Detta ska lanseras under december månad. 3.4.2 Robotarna Robotarna som används i projektet är av typ IRB 1400, (se figur 4) och IRB 6400, (se figur 5) med styrsystemet S4. Figur 4 Figur 5 Magnus Wallgren 9 (33)

RobStat 2005-03-30 4. Genomförande 4.1 Visual Basic 6.0 Till att börja med skapades en rad olika småprogram för att få öka förståelse om hur Visual Basic fungerade. 4.2 Kommunikation För att göra ett test av kommunikationen mellan ABB Virtual Controller och en Visual Basic-applikation gjordes följande steg: 1. Först skapades en Robot i Virtual Robot Browser som skulle användas av ABB Virtual Controller 2. I ABB Virtual Controller skapades några digital utgångar för simulering 3. Därefter gjordes inställningar i ABB Interlink Configuration så att man kopplade den nya roboten till ABB Virtual Controller (se bilaga 3, skapa en koppling mellan robot och Pc) 4. Ett nytt program skapades i Visual Basic och de nya WebWare SDK komponenterna adderades. ActiveX-komponenten, Helper-komponenten lyftes in i projektet, (se bilaga 4, addera och konfigurera en Helper Control ) 5. Helperfunktionerna som användes var: Helper.IOChanged ( ) som triggar på en ändring av IO-signalerna Helper.S4DigitalRead( ) läser av en vald utgång 6. En enkel presentation av signalerna gjordes (se figur 6). Ett första test utfördes genom att sätta den digital utgång nr 2 till ett med ABB Virtual Controlller resultatet blev att utgång nr 2 i Visual Basic programmet blev ett. Principen för kommunikation mellan robot och PC var utprovad (se figur7). Figur 6 Figur 7 Skapar en robot Visual Basic Virtual Robot Browser Skapar koppling mellan Virtual Robot Browser och ABB Virutal Controller Skapar koppling mellan robot och VB-programmet Startar roboten, skapar digitala utgångar ABB Interlink Configuration WebWare SDK, ActiveX-komponent Programmet ABB Virtual Controller Magnus Wallgren 10 (33)

RobStat 2005-03-30 4.3 Filhantering Först användes ABB File Manager Control som är en färdig komponent för filhantering. En upptäckt gjordes först då filhanteringen skulle testas mot de riktigt robotarna. Det visades sig att ABB File Manager inte kunde användas eftersom den inte hade stöd för filnamn längre än (8+.+3) tecken. Anledning till att det inte upptäckts tidigare är att den simulerade roboten är i Windows miljö och där är det tillåtet med längre filnamn. Följande konstaterande gjordes: Om filnamnet var SvetsVänsterSida.mod visades bara de tolv första tecknen SvetsVänster av filnamnet i filstrukturen. Detta resulterade att om man ville ta bort filen så försökte programmet ta bort en fil vid namnet SvetsVänster. Eftersom ingen sådan fil fanns så togs ingen fil bort heller. Detta beror på att kommunikationsprotokollet RAP, (Robot Application Protocol) bara hanterar filnamn på formatet (8+.+3) tecken. Det är en kvarleva sen tidigare(dos) då endast filnamn på formen 8.3 tecken var tillåtet. Lösningen på det var att bygga en helt egen filhanterare som använde sig utav FTP istället. En ny filhanterare skapades med stöd ifrån en ActiveX-komponent för FTP. FTP används enbart för att visa katalog- och filstruktur för roboten. För att kopiera filer mellan PC och robot, ta bort filer/kataloger på Robot eller PC används ActiveX-komponenten Helperkontroller. Funktionerna som utnyttjades var: Helper.S4FileDelete( ) - Tar bort en fil Helper.S4FileCopy( ) - Kopierar en fil från Robot till Pc eller Pc till Robot Helper.S4MkDir( ) - Skapar en katalog Helper.S4RmDir( ) - Tar bort en katalog. 4.4 Backuphantering För att kunna gör en backup via Pc:n används ActiveX-komponenten Helperkontroll igen. Här är en stegvis beskrivning på hur en backup skapas. 1. Först skapas en backup på robotens enhet /hd0a/ (en datorns motsvarighet till enhet /hd0a/ är enhet C:\ ) till det används Helperkontroller funktionerna: Helper.S4Backup( ) - Skapar en backup på roboten En backup består av robotens systemfiler, parametrar och moduler. Fyra huvudkataloger skapas vid en backup: Backinfo - Information om backupen Rapid - Programmoduler Home - Kopia av home katalogen Syspar - Systemparametrar. 2. När en backup skapas hamnar den på robotens hårddisk i valbar katalog. Sedan får man kopiera backupen till Pc:n. Det enda sättet att göra det är att kopiera över fil för fil. För att möjliggöra det listar man alla kataloger som skapats av backupen. Magnus Wallgren 11 (33)

RobStat 2005-03-30 Det görs av en rekursiv funktion som anropar sig själv och letar igenom hela katalogstrukturen för backupen. Därefter skapas samma katalogstruktur i Pc:n i valbar backupkatalog. 3. Med hjälp av katalogstrukturen listar man alla filer. Detta görs med hjälp av en ActiveX-komponent för FTP. Nu har man fullständig sökväg till varje fil. Därefter kopieras alla filerna från backupen på roboten till Pc:n. En identisk kopia av Backupen har nu skapats i Pc:n. 4. Backupen som skapades på roboten ska nu tas bort. Detta görs genom att ta bort fil för fil. Eftersom alla filernas sökvägar redan finns listade sen tidigare görs det enkelt. Helperfunktionen som används: Helper.S4FileDelete( ) - Tar bort en fil 5. Därefter tar man bort alla katalogerna och även dom finns listade sen tidigare vilket gör det enkelt också. Helperfunktionen som används: Helper.S4RmDir( ) - Tar bort en katalog Återställning av systemet med hjälp av en backup görs manuellt av operatören till robotcellen. 4.5 Loggning För loggning används ActiveX-komponenten Helper Control. Funktionerna som utnyttjas är följande: Helper.InterfaceStat( ) - Kontrollerar så det finns en koppling mellan Robot och Pc Helper.IOChange( ) - Registrera IO-signals ändring Helper.DigitalRead( ) - Läser av IO-signaler Helper.S4ProgramNumVarRead - Läser av en numerisk variabel. Först kontrolleras det att det finns en koppling mellan robot och Pc. Sen läser man av en IOsignal från roboten som talar om det är planerat stopp, oplanerat stopp, systemförluster eller produktion. Man läser även av två numeriska variabler som talar om antal producerade enheter och antalet kasserade enheter. Denna procedur sköts av en timer som exekverar dessa händelser varje sekund för att ständigt få en uppdatering i loggningen. Fyra variabler håller reda på hur många sekunder som planerat stopp, oplanerat stopp, systemförluster och produktion inträffats. Den totala tiden adderas ihop och sedan räknar man procentuellt ut hur länge varje typ av loggning inträffat. Detta presenteras sedan i form av flödesdiagram och stapeldiagram. När det gäller UTE-talet så tillkom två ytterligare faktorer antalet producerade enheter och antalet kasserade enheter. Dessa värden håller roboten reda på och avläses som två numeriska värde från roboten. Presentation av Utrustnings Totala Effektivitet (UTE-talet i %). UTE-talet beräknas enligt följande : Magnus Wallgren 12 (33)

RobStat 2005-03-30 Tillgänglighet = T pt T T ps pp T os Total produktionstid, T pt Planerade stopp, T ps Oplanerade stopp, T os Planerad prdouktionstid, T pp Operationseffektivitet = C t P T Cykeltid, C t Producerat antal, P a Tillgänglig produktionstid, T p p a Kvalitetsutbyte = P Kf a P a Producerat antal, P a Kvalitetsförluster, Kf UTE-talet =Tillgänglighet Operationseffektivitet kvalitetsutbyte 100 Magnus Wallgren 13 (33)

RobStat 2005-03-30 5 Systembeskrivning 5.1 Inledning Ett PC-program som loggar produktionsstatistik över en helautomatiserad robotcell som hanterar och svetsar sidostag till Volvo Truck Corp. Samt har fil- och backuphantering för robotarna i cellen. För att förstå hur programmet användas se bilaga 1, Användarmanual för RobStat. 5.2 Kommunikation PC programmet kommunicerar med två ABBrobotar, en av typen IRB 1400 och IRB6400, båda med S4 styrsystem. Gränssnittet mellan PC och robot är ABBs WebWare SDK. Med hjälp av två ActiveX Control i Visual Basic som vardera är knutna till en av robotarna kan man göra samma saker som med robotens programmeringsdosa, (Teach Pendant). 5.3 Systemfiler Programmets inställningar och loggning sparas i följande filer: ThisWeek.log I den här filen lagras loggningen för pågående vecka. Det som lagras är tiderna för planerat stopp, oplanerat stopp, systemförluster och produktion. Även UTE-talet lagras i den filen. OtherWeeks.log Här lagras information över tidigare loggade veckor. Information är den samma som för filen ThisWeek.log men även vilket år och vecka som loggning gjorts finns med. Backup.cfg Här finns information om när den automatiska backupen gjordes. Interval.cfg Intervallen för automatisk backup lagras här. Schema.cfg Här ligger schemat för loggningen lagrad. 5.4 Loggfiler Det är i loggfilerna som all information sparas om när och hur länge varje typ av status (oplanerat stopp, planerat stopp o s v) inträffat. Namngivningen av dess filer sker enligt följande: AS275_ + årtalet + _V + vecka +.txt/log t ex AS275_2004_V21.log Det finns två typer av loggfiler en där informationen är kommaseparerad (med fil ändelsen.log) och en som är mer lättläst (med fil ändelsen.txt). Magnus Wallgren 14 (33)

RobStat 2005-03-30 5.5 Programbeskrivning 5.5.1 Inledning Programmet består av 10 delar. Figur 8 ger en överskådlig bild av programmet. I kommande avsnitt kommer varje del av programmet beskrivas närmare. För mer ingående beskrivningar av programdelarna se bilaga 5, RobStat flödesdiagram och funktioner. 5.5.2 Huvudprogrammet När RobStat startas är det huvudprogrammet som visas. Det är härifrån som RobStat också avslutas. Det är ifrån huvudprogrammet som du kan öppna alla underfönster t ex filhanteraren. Huvudprogrammet sköter följande saker: Skapar alla systemfiler med grundinställningar om dessa inte finns när programmet startas Skapar loggfilerna AS274_årtal_vecka.txt och AS274_årtal_vecka.log Uppdaterar flödesdiagrammet, stapeldiagrammen och UTE-talet Läser av schemat och utifrån det startar och stoppar loggning Räknar ut tiden för hur länge varje typ av status (oplanerat stopp, produktion o s v) inträffat Läser av IO signalerna från robotarna Skriver till loggfilerna vid ändring av IO-signalerna Sköter automatisk backup av robotarna Uppdaterar datum och klocka kontinuerligt, som visas i huvudfönstret. Figur 8 Programstart Huvudfönstret Huvudprogram Avslutar programmet Underfönster Filhanteraren Ny tidsperiod flödesdiagram Ny tidsperiod stapeldiagram Om Schema Skap backup Automatisk backup Visa tidigare veckor Meddelande Magnus Wallgren 15 (33)

RobStat 2005-03-30 5.5.3 Filhanteraren När filhanterare startas visas katalogstrukturen för Pc:ns enhet C:\. Filhanteraren kontrollerar vilka robotar som finns kopplade till applikationen och visar dessa i en lista. Efter att en robot valts och en enhet, visar filhanteraren katalog struktur för vald enhet. Följande uppgifter kan genomföras av filhanteraren: Kopiering av filer mellan Robot och PC Tabort filer på PC eller Robot Tabort kataloger på PC eller Robot. 5.5.4 Ny tidsperiod flödesdiagram När det här fönstret öppnas läses nuvarande tidsperiod in för flödesdiagrammet. Om man skriver in en ny tidsperiod sköter den här delen om ändringen av tidsperioden för flödesdiagrammet. 5.5.5 Ny tidsperiod stapeldiagram När det här fönstret öppnas läses nuvarande tidsperiod in för stapeldiagrammet. Om man skriver in en ny tidsperiod sköter den här delen om ändringen av tidsperioden för stapeldiagrammet. 5.5.6 Om Det här fönstret visar bara en faktaruta om RobStat. 5.5.7 Schema När det här fönstret öppnas läses nuvarande schema in. Det finns lagrat i filen schema.cfg. Den här delen sköter bara ändring av schemat. 5.5.8 Skapa backup När man ska göra en backup läser program in vilken robot man valt att göra backup på och i vilken katalog backupen ska hamna. Backupen sker sedan enligt principen som beskrivs i avsnittet 4.4 backuphantering. 5.5.9 Automatisk backup När det här fönstret öppnas läses nuvarande backupkatalog in från filen backup.cfg och backupintervall från filen Interval.cfg. Här har man sedan möjlighet att ändra backupkatalog och interval. Efter ändringar skriv ändringarna till filerna backup.cfg och interval.cfg. 5.5.10 Visa tidigare veckor När det här fönstret öppnas läses information om tidigare loggade veckor in ifrån filen OtherWeeks.log. Årtal för loggning läggs in i en lista för sig. Där man sedan väljer vilket årtal man vill se loggning över. Därefter läses alla veckor ut från filen OtherWeeks.log som är gjorde det året. Efter att man valt en vecka visas sedan information om loggningen i form av ett stapeldiagram och ett UTE-tal. 5.5.11 Meddelande Vid ett fel i huvudprogrammet anropas den här funktionen som visar ett meddelande. Magnus Wallgren 16 (33)

RobStat 2005-03-30 6 Utvärdering Under projektets gång ändrades kravspecifikationen och följande punkter tillkom: Ett schema som bestämmer tidpunkterna för loggning av system Historik över tidigare loggade veckor Mer faktorer gällande beräkningarna av UTE-talet. Antalet producerade enheter och antalet kasserade enheter skulle vägas in i beräkningarna Automatisk backup av systemet. Dessa ändringar kom efterhand. Detta medförde att programmet ganska snabbt växte i storlek och programmets struktur ändrades några gånger. Utvecklingen av programmet gjordes mot ABB Virtual Controller. Vid provkörning av programmet mot de riktigt robotarna visade det sig att det var saker som skiljde sig mellan ABB Virtual Controller och de riktiga robotarna. Kommunikations protokollet RAP (Robot Application Protocol) tillät bara filnamn på formen 8.3 tecken. Detta innebar att en helt ny filhanterare fick programmeras med hjälp av en FTP ActiveX-komponent. I Visual Basic finns det färdiga meddelande rutor, MsgBox, som man kan använda sig av när man vill visa ett meddelande till användaren. Det visade sig dock att när den här meddelanderutan kom fram stannade programmet och väntade bara på kvittens från meddelanderutan. Lösningen på detta var att göra egna meddelanderutor där programmet fortsatte att exekveras trots att en meddelanderuta kommit upp på skärmen. Slutligen testades allt funktioner i programmet mot den riktiga robotcellen för att se att allt fungerade. Exempel på tester som genomfördes var t ex: Backuper på robotarna skapades och kontrollerades så att de var kompletta, tid och datum ändrades i datorn för att simulera loggning över några veckor. Programmet kördes kontinuerligt över en hel helg (fredagmåndag). Alla tester som genomfördes gick bra. Det färdiga programmet uppfylld alla punkter på specifikationen och även de som tillkom under projektets gång. Slutligen installerades det färdiga programmet på plats hos Volvo Truck Corp. i Umeå där det idag används. Magnus Wallgren 17 (33)

RobStat 2005-03-30 7 Diskussion 7.1 Vidareutveckling I dagens läge är programmet väldigt kundspecifikt. Det är anpassat för en speciell robotcell. Det går inte att plocka visa delar av programmet rakt av och plocka ihop till ett nytt program utan att ändra i programkoden. En vidareutveckling av programmet skulle kunna vara att man byggde mer generella moduler som var helt fristående. Då skulle det fortfarande kunna vara väldigt kundspecifikt och tiden för programkonstruktion skulle kunna reduceras kraftigt. Magnus Wallgren 18 (33)

Rs2World 2005-03-30 Rs2World 8 Inledning 8.1 Bakgrund Sedan man började använda offlineprogrammering av robotar har man alltid haft problem med att robotarnas absolutnoggrannhet inte har varit tillräcklig. Repeternoggrannheten har länge varit nere i en nivå av ca ±0.1 mm, men just absolutnoggrannheten har varit mycket sämre. På en hel anläggning med externa axlar, robotbärare odyligt så kan absolutnoggrannheten vara så dålig som ±10 mm. Detta faktum gör det väldigt svårt att programmera offline och sedan använda programmet direkt i den verkliga roboten. Anledningen till den dåliga absolutnoggrannheten är att robotens koordinatsystem inte är rakt. Varje axel i koordinatsystemet är krokig. Ju längre utsträckt en robot är, desto mer krokigt är koordinatsystemet. På en ABBrobot löser man detta till viss del genom att använda workobject, alltså lokala koordinatsystem som är placerade närmare den plats där man har sina positioner programmerade. Dessa workobject är sedan kalibrerade var för sig i roboten och i offline miljön. Denna lösning med workobject ger en förbättrad absolutnoggrannhet. Dock så är det här bara en lokal förbättring. Ju längre från origo på ett workobject man programmerar sina positioner, desto sämre blir de. Några decimeter från origo så kan det vara tillräckligt dåligt för att man inte skall kunna köra programmet direkt utan att göra en touch up. 8.2 Kravspecifikation Målet med det här projektet är att i största möjliga mån helt eliminera behovet av touch up av robotprogram som laddats ner från en offlinemiljö till en verklig robot. I ett första skede så kommer det här projektet att rikta in sig på kalibrering av ABBrobotar när man använder ABBs Robot Studio som offline verktyg. Programmet ska kunna hantera olika konfigurationer av externa axlar samt robotbärare. Det ska finnas möjlighet att via någon form av interface studera och ändra i de positioner som är lagrade. Man ska då kunna justera värden, samt lägga till eller ta bort poster. I denna vy bör man kunna sortera posterna efter olika kriterier, t ex externa axlar, robotpositioner, datum och liknande. När man arbetar med det här programmet så kommer man att arbeta efter ett visst mönster. Arbetet blir indelat i olika moment. Nedan är en grov listning av dessa: 1. Programmering av programmet offline i robotstudio 2. Filtrering av programmet genom det här beskrivna programmet 3. Nerladdning till roboten 4. Justering av programmet online (mindre och mindre justering ju mer positioner som finns i systemet) 5. Import av programmet till PC för lagring av nya justeringar. Magnus Wallgren 19 (33)

Rs2World 2005-03-30 Hela systemet bygger på ett exportfilter som man använder innan man skickar ett program till roboten, samt import av justerade positioner in till Pc:n. Hela systemet kommer att bli bättre och bättre på filtreringen ju längre man använder det. Det blir fler och fler kalibrerade positioner att använda som bas för filtreringen. Magnus Wallgren 20 (33)

Rs2World 2005-03-30 9. Verktyg 9.1 Microsoft Access 2002 Access är en databashanterare från Microsoft. Access erbjuder ett användarvänligt och enkelt gränssnitt att jobba i. Access 2002 är den senaste version av Access. 9.2 Robot Studio 3.0 Robot Studio är en produkt ifrån ABB. I Robot Studio programmerar man sina robotar offline och simulerar sina stationer. Robot Studio bygger på ABB Virtual Controller som är en simulerad robot tack vare det kan man göra realistiska simuleringar som motsvarar verkligheten. 9.3 ADO ADO (Microsoft ActiveX Data Objects) kallas även ADODB. ADO är en Microsoft ActiveX-komponent och är ett gränssnitt för att komma åt data från en databas. 9.4 SQL SQL (strukturerat frågespråk). Ett frågespråk är ett språk som man använder för att göra sökningar i en databas. Magnus Wallgren 21 (33)

Rs2World 2005-03-30 10. Teori Här är en förklaring av teorin. I den här förklaringen är det bara ett xy-koordinatsystem. Men det är samma princip för ett xyz-koordinatsystem. Man programmerar en station i Robot Studio och vill att roboten ska gå till den fyllda punkten i figur 9. När man tankar ner robotprogram som man gjort i Robot Studio till den verkliga roboten visar det sig att roboten går till den punkten som inte är fylld i figur 9. Varför gör den det? Robotens koordinatsystem är inte helt rakt. Det blir krokigare ju längre ut robotarmen sträcker sig till skillnad från Robot Studio. Därför blir det ett litet fel. Figur 9 y Figur 10 y x x För att få en förbättring av det här använder man sig utav ett så kallat workobject. Ett workobject är ett lokalt koordinatsystem. Man skapar en ny station i Robot Studio och programmerar sin punkt efter ett workobject istället. När man sedan laddar ner programmet tar man inte med sig workobjectet från Robot Studio utan man skapar ett nytt workobject i roboten. Detta medför att roboten går exakt till den fyllda punkten i figur 10 eftersom det är i den punkten som workobjectet är inmätt från. Magnus Wallgren 22 (33)

Rs2World 2005-03-30 Men när roboten ska åka till den fyllda punkten i figur 11 hamnar den vid den icke fyllda punkten istället. Dock lite bättre men ännu inte helt bra. Det är nu man får gå in i programmet och ändra. Man gör en så kallad touch up, (jusering), av positionen manuellt. Man joggar roboten till den fyllda punkten och uppdaterar positionen. Nästa gång som roboten ska åka till den fyllda punkten i figur 11 hamnar det perfekt, repeternoggrannheten är ± 0.1 mm. Denna manuella justering av positionen ska göras av programmet. Principen för programmet är att man tar originalfilen från Robot Studio och den justerade filen som man manuellt uppdaterat. Figur 11 y x Figur 12 y 1 2 x Positionen från originalfilen skulle motsvara den icke fyllda punkten i figur 11. Den justerade positionen skulle motsvara den fyllda punkten i figur 11. Nu kan man räkna ut en skillnad i x-led och y-led. Det är den justeringen som lagras i databasen tillsammans med originalpositionen. Man har nu en justering på position nr 1 i figur 12. Om man skulle programmera en ny position i Robot Studio position nr 2 och sedan filtrera den filen med justeringen som är Magnus Wallgren 23 (33)

Rs2World 2005-03-30 gjord på position nr 1 skulle roboten få en bättre noggrannhet till position nr 2 än utan den justeringen. Det är det som systemet bygger på att man justerar på tidigare justerade positioner. Det här systemet blir bättre och bättre med tiden ju fler positioner som finns i databasen. En fråga är hur långt ifrån en position en punkt får ligga för att man ska använd sig utav den positionens justering till en annan. Av utförda tester så bör avståndet inte vara längre än 200 mm, annars kan justeringen bli mer fel än igen justering alls. När det gäller lägesställaren som roterar objektet bör inte rotationen vara större än 10 grader. Magnus Wallgren 24 (33)

Rs2World 2005-03-30 11. Genomförande 11.1 Kommunikation För att skapa en koppling mellan Visual Basic och Access fick man lägga till en referens i Visual Basic. Referensen som lades till var Microsoft ActiveX Data Objects 2.7 Library. Nu kunde man skapa en koppling mellan programmen med enbart programkod. Med hjälp av objektet ADO skapades nu kopplingen till databasen. 11.2 Test mot Robot Vid det första testet av programmet ute på en robot skapades först en modell i Robot Studio av ett bord med ett rutnät på 50x50 mm med en IRB 1400. En väg längs med rutnätet programmerades som roboten skulle följa för att se hur mycket fel roboten gick och för att sedan kunna justera positionerna. När modellen (se figur 13) var klar var det dags att ladda ner programmet i en riktig robot. Ett A2-papper med motsvarande rutnät 50x50 mm skrevs ut och tejpades fast på ett bord som placerades framför roboten. För att få modellen och verkligheten att stämma överens mätes ett nytt verktyg in på roboten och ett nytt workboject (lokalt koordinatsystem) på A2-pappret. När roboten kördes längs med rutnätet behövde den bara komma dryga 30 cm ifrån det inmätta workobjectet för att få en liten avvikelse från rutnätet på ca 1-2 mm. En justering av alla positioner gjordes. Nu hade man två varianter av robotprogrammet dels originalfilen som var gjord i Robot Studio och den justerade filen. En Import gjordes i Rs2World det vill säga alla justerade positionerna importerades till databasen. För att se om programmet fungerade utfördes sedan en Export. Originalfilen från Robot Studio exporterades och en uppdatering av positionerna gjordes. Den nya filtrerade filen testkördes sedan i roboten med mycket goda resultat. Det spetsiga pekverktyget följde linjen exakt så ingen felmarginal kunde mätas upp. 11.3 Test mot Robot och lägesställare Vidare testning av programmet var att testa programmet mot en robot och en lägesställare (för att se exempel på en lägeställare se figur 14). Detta test gjordes på ABB i Laxå. Där fanns en station med robot och lägesställare som hade en färdig Robot Studio-modell. Tillvägagångssättet för testet var som det tidigare testet. Lägesställaren ställdes i olika vinklar och roboten pekade med ett spetsigt pekverktyg på olika punkter i lägesställaren från olika positioner. Justering av positionerna gjordes och importerades till databasen. Filtrering av originalfilen genom exportfiltret, där den filtrerade filen sedan testkördes i stationen. Även denna gång blev resultaten mycket goda. Det spetsiga pekverktyget pekade exakt på punkterna i lägesställaren. Magnus Wallgren 25 (33)

Rs2World 2005-03-30 Figur 13 Figur 14 Magnus Wallgren 26 (33)

Rs2World 2005-03-30 12. Systembeskrivning 12.1 Inledning För att se hur programmet ser ut och fungerar se bilaga 2, Användarmanual Rs2World. Programmet består av tre huvudsakliga delar - Exportfilter - Importfilter - Databashantering. Båda filtren arbetar mot databasen som innehåller alla tidigare justerade positioner i systemet. Databasen är en Microsoft Access databas. Databasen innehåller två versioner av varje kalibrerad position, originalet från Robot Studio samt den justerade positionen som är importerad. 12.2 Exportfilter Exportfiltret används när man har gjort ett program i Robot Studio och skall överföra det till den riktiga roboten. Filtret gör följande. - Vid start av filtret så får man välja vilken fil som skall filtreras. Filen ska vara en robotfil i formatet *.mod. Man får även välja vad resultatet av filtreringen ska hamna i för fil. - Filtret kommer nu att börja söka efter de positioner som skall filtreras. Positioner som filtreras är av tre typer, automatiska Processpositioner (ArcL osv ) samt Approach- och departpositioner till processpositionerna, samt manuella (positioner med namn kalbipos1, kalibpos2 o s v). Approach- och departpositioner filtreras bara vid export, de importeras ej tillbaka till databasen. Anledningen till detta är att man inte justerar dessa så noggrant i roboten och vi vill inte importera dessa och få felaktiga justeringar. - När filtret hittat en position så kommer den att leta igenom databasen efter liknande positioner. Filtret följer då nedan prioritering: Söker reda på alla positioner där de externa axlar som flyttar roboten är närmast den programmerade positionen. Avståndet får dock max vara 500mm Bland de hittade positionerna görs en ny sökning för att hitta de positioner där värdena för robotkonfigurationen är lika. Denna sökning görs för att säkerställa att roboten håller ungefärligen samma robotkonfiguration som den kalibrerade positionen. Bland de hittade positionerna görs en ny sökning för att hitta de positioner där de externa axlarna som flyttar svetsobjektet är närmast programmerad position. Bland de positionerna som hittats söks nu den position där robotpositionen är närmast programmerad position (x, y, z). Magnus Wallgren 27 (33)

Rs2World 2005-03-30 Nu används skillnaden mellan nominell position och kalibrerad position i den hittade databas posten för att kalibrera den programmerade positionen. - När en position är kalibrerad så söks nästa position som skall filtreras och samma procedur upprepas igen. 12.3 Importfilter Importfiltret används när man har justerat ett program i roboten och vill addera de positionerna till sin databas. Importfiltret gör följande: - Vid start av filtret får man en fråga om vilken fil man vill importera. Filen ska vara en robotfil i formatet *.mod. Man väljer nu även vilken fil som är motsvarande fil ifrån Robot Studio. - Filtret börjar nu gå igenom programmet och letar efter positioner som ska lagras i databasen. De positioner som lagras är processinstruktioner, (ArcL odyl), samt manuellt valda positioner med namnet kalibpos1, kalibpos2 o s v. Approach- och departpositioner importeras inte. Om positionens (XYZ)-värde i orginalfilen från Robot Studio skiljer sig ifrån den justerade filen görs en kontroll om den positionen finns i databasen annars importeras den. - Datum samt klockslag lagras i varje post. Detta görs för att veta när posterna importerades. När alla positioner har lagrats så är importen klar och de nya positionerna kommer att användas nästa gång man exporterar ett program genom exportfiltret. 12.4 Databashantering Databasen användes för att visa alla positioner som finns lagrade för stationen. Här kan man göra följande val: - Visa alla positioner - Söka efter position - Lägga till position - Ändra position - Ta bort position - Sortera tabellen. Magnus Wallgren 28 (33)

Rs2World 2005-03-30 12.4 Programförklaring Figur 15 visar en bild över hur programmet fungerar. Förklaring till flödesdiagrammet 1. En startbild visas på programmets och företagets logga. 2. Här väljer man vilken station man vill jobba med. Med en station menas t ex en robot och en lägesställare tillsammans. 3. Avslutar programmet. 4. Det här är huvudmenyn. Här ser man vilken station man jobbar med och de fyra valmöjligheterna här är Export, Import, Databas eller att avsluta programmet. 5. Export betyder att du vill filtrera en fil. Ett nytt fönster för Export öppnas. 5.1 Det här är steg 1 i export. Här anger man vilken fil som man vill filtrera. 5.2 Här får man ange vad den nya filtrerade filen ska heta. Sen startar själva filtreringen. 6. Import är import av nya positioner till databasen. Ett nytt fönster för import öppnas. 6.1 I det här steget väljer man vilka typer av positioner som man vill importera process positioner (ArcL o s v) eller manuella positioner vid namnet (kalibpos1 o s v ). 6.2 Här ska man ange vad den justerade filen heter. 6.3 Här ska man ange originalfilen från Robot Studio till den justerade filen. Sen startar import av nya positioner. 7. Databasen är en vy som visar alla positioner i databasen. Ett nytt fönster för databasen öppnas. 7.1 Visar alla positioner i databasen. 7.2 Öppnar ett nytt fönster för sökning. 7.2.1 Här fyller man i olika sökalternativ så som datum, x-position, y-position m m för att sedan göra en sökning. Fönstret stängs och nu visas bara det positioner som matchar mot din sökning. 7.3 Öppnar ett nytt fönster för att lägga till en position. 7.3.1 Här fyller man i alla värden för en ny position. 7.4 Ett nytt fönster öppnas med den markerade positionens värden. 7.4.1 Här skriver man i sina ändringar för positionen. Magnus Wallgren 29 (33)

Rs2World 2005-03-30 7.5 Tar bort den/de markerade positionerna. 7.6 Sorterar alla positionerna i tabellen efter valt alternativ t ex datum. 8. Avslutar programmet. Figur 15 Programmet startas 1. Startbild 2. Val av Station 3. Avsluta 4. Huvudmeny 5. Export 6. Import 7. Databas 8. Avsluta 5.1 Steg1 6.1 Steg1 7.1 Visa alla positioner 5.2 Steg2 6.2 Steg2 7.2 Sök position 6.3 Steg3 7.2.1 Skriv i sökalternativ 7.3 Lägg till position 7.3.1 Skriver i nya position 7.4 Ändra position 7.4.1 Skriv i ändringar 7.5 Ta bort position 7.6 Sortera Magnus Wallgren 30 (33)

Rs2World 2005-03-30 13. Utvärdering Om man tittar på kravspecifikationen så har punkterna uppfyllts. Dock har det inte utförts något test på en riktig station som har en robotbärare. Det har inte funnits några möjligheter till det. Magnus Wallgren 31 (33)

Rs2World 2005-03-30 14. Diskussion En fortsatt utveckling och testning av den här programvaran kommer att ske. Sedan kommer detta program att introduceras på Volvo Construction Equipment i Hallsberg. I dagens läge finns inga förslag på förbättringar av programvaran. Magnus Wallgren 32 (33)

Rs2World 2005-03-30 15. Referenser RAPID Reference Manual, ABB Robotics AB, ABB produktnummer: 3HAC 7774-1 Perry, Greg. Lär dig Visual Basic 6 på 3 veckor. (Jerker Thorell övers.) Sundbyberg: Pagina 1999, ISBN: 9163605236 Wang, Wallace. Visual Basic 6 för dummies. (Hans Karlsson övers.) Stockholm: IDG Sweden Books 1999, ISBN: 9172410019 International Data Group, 15 maj 2004 http://www.idg.se Xtreme VB Talk, 15 maj 2004 http://www.visualbasicforum.com Tecumseh Group Inc.,15 maj 2004 http://www.tek-tips.com Magnus Wallgren 33 (33)

Bilaga1, Användarmanual RobStat 2005-03-30 BILAGA 1 ANVÄNDARMANUAL ROBSTAT 1 1. Arkiv 1 1.1 Avsluta 1 2. Visa 1 2.1 Flödes- och Stapeldiagram (senaste timmarna) 1 2.2 Stapeldiagram och UTE-tal (den här veckan) 2 2.3 Stapeldiagram (över tidigare veckor) 3 3.Tidsperiod 4 3.1 Stapeldiagram (senaste timmarna) 4 3.2 Flödesdiagram (senaste timmarna) 4 4. Verktyg 5 4.1 Filhanteraren 5 Kopiera fil 5 Ta bort katalog 5 Ta bort fil 5 4.2 Backup 6 4.2.1 Skapa backup nu 6 5. Dokument 8 5.1 Öppna loggfil 8 5.1.1 Decimalkommaseparerad loggfil 8 5.1.2 Lättläst loggfil 8 6. Loggschema 8 Ändra loggschemat 8 Ingen loggning 8 Magnus Wallgren

2005-03-30 Användarmanual RobStat 1. Arkiv 1.1 Avsluta Här avslutar du programmet 2. Visa 2.1 Flödes- och Stapeldiagram (senaste timmarna) Startsidans uppbyggnad 1. Här visas programmets namn RobStat samt klocka och datum 2. Huvudmeny 3. Här ser man om loggningen pågår eller om loggningen är stoppad 4. Här visas dagens starttid för loggningen 5. Här visas dagens stopptid för loggningen 6. Här visas loggningen över senast loggad tid. T ex om det står 2 h så menas det att man visar statistik över de 2 senaste loggade timmarna. Inte nödvändigtvis de två sista timmarna 7. Samma som för stapeldiagrammet 2 1 4 5 3 6 7 Magnus Wallgren 1(8)

2005-03-30 2.2 Stapeldiagram och UTE-tal (den här veckan) Här presenteras loggningen över veckan som pågår samt UTE-talet i procent. Magnus Wallgren 2(8)

2005-03-30 2.3 Stapeldiagram (över tidigare veckor) Här kan du välja vilket år och vilken vecka som du vill se statistik över. Magnus Wallgren 3(8)

2005-03-30 3.Tidsperiod 3.1 Stapeldiagram (senaste timmarna) Här presenteras nuvarande tidsperiod för stapeldiagrammet. Vill du ändra tidsperioden skriver du in en ny tidsperiod mellan 1-24 h, (Rätt inmatning för t ex en tidsperiod på 6 h är enbart siffra 6), och klickar på Verkställ. 3.2 Flödesdiagram (senaste timmarna) Här presenteras nuvarande tidsperiod för flödesdiagrammet. Vill du ändra tidsperioden skriver du in en ny tidsperiod mellan 1-12 h, (Rätt inmatning för t ex en tidsperiod på 6 h är enbart siffra 6), och klickar på Verkställ. Magnus Wallgren 4(8)

2005-03-30 4. Verktyg 4.1 Filhanteraren Används för att kopiera filer mellan Robot och PC, ta bort kataloger eller filer. 2 1 3 Notera att det är separata knappar för att ta bort en fil eller en katalog för dator respektive robot! Kopiera fil Följande exempel kopierar du en fil från roboten till datorn. Samma princip gäller för att kopiera en fil från datorn till roboten. 1. Markera filen du vill kopiera (i exemplet ovan filen key.id) 2. Markera den katalog i datorn du vill kopiera till (i exemplet ovan C:\Windows\) 3. Klicka på << Kopiera Fil till PC Ta bort katalog För att ta bort en katalog måste den vara helt tom. Den får inte innehålla några filer eller kataloger. Markerar den katalog du vill ta bort klicka på Ta bort Katalog Ta bort fil För att ta bort en fil markerar du den och klickar på Ta bort Fil Magnus Wallgren 5(8)

2005-03-30 4.2 Backup 4.2.1 Skapa backup nu Notera att en backup kan enbart göras om robotarna står i läge Auto! För att skapa en backup väljer du först vilken robot som du vill göra backup på ( i det här exemplet hanteringsroboten). Skriv eller välj vilken katalog du vill skapa backupen i. Genom att trycka på Bläddra visas högra delen av fönstret med katalogstrukturen som annars är dold. Klickar du på en katalog i katalogstrukturen skrivs sökvägen till katalogen in automatiskt i fältet till vänster (i det här fallet C:\WINDOWS). Klicka sedan på Skapa backup för att skapa backupen. Magnus Wallgren 6(8)

2005-03-30 4.2.2 Automatisk backup Notera att en automatiskt backup kan enbart göras om robotarna står i läge Auto! För att ändra inställningarna för Automatisk backup väljer du först vilket intervall du vill ha på backuperna. Skriver in vilken katalog du vill lägga backuperna i, alternativt klicka på Bläddra då visas den högra delen av fönstret med katalogstrukturen som normalt är dold. Klicka på katalogen där du vill lägga backupen. Sökvägen till katalogen skrivs då in automatisk i det vänstra fältet (i det här fallet C:\WINDOWS). Klicka sedan på Verkställ. Nuvarande inställningar kommer då att ändras och visas i fältet högst upp i vänstra hörnet. Magnus Wallgren 7(8)

2005-03-30 5. Dokument 5.1 Öppna loggfil 5.1.1 Decimalkommaseparerad loggfil Informationen sparas enligt följande i den decimalkommaseparerade loggfilen. Datum, tid, typ av status och antalet minuter för varje status. 2004-03-15;13:36:01;Produktion;3,1 2004-03-15;13:39:09;PlaneratStopp;1,6 2004-03-15;13:40:44;SystemFörluster;0,9 2004-03-15;13:41:36;OplaneratStopp;1 2004-03-15;13:42:38;Produktion;1,4 5.1.2 Lättläst loggfil Informationen sparas enligt följande i den lättlästa filen. Datum, tid, typ av status och antalet minuter för varje status. Datum Tid Status Period i minuter ---------------------------------------------------------------------------------------- 2004-03-15 13:36:01 Produktion 3,1 2004-03-15 13:39:09 PlaneratStopp 1,6 2004-03-15 13:40:44 SystemFörluster 0,9 2004-03-15 13:41:36 OplaneratStopp 1 2004-03-15 13:42:38 Produktion 1,4 6. Loggschema Loggschemat bestämmer när loggning ska starta och stoppa. Ändra loggschemat För att ändra loggschemat klickar du på Ändra och justerar schemat. Klicka därefter på Verkställ för att få dem nya inställningarna att gälla. Ingen loggning Om du inte vill logga en dag skriver du in samma start- och stopptid för den dagen tex StartTid 00:00 och StoppTid 00:00. Notera att det är ett kolon som används som skiljetecken (08:12). Giltig inmatning är klockslagen 00:00 till 23:59! Magnus Wallgren 8(8)

Bilaga 2, Användarmanual Rs2World 2005-03-30 BILAGA 2 ANVÄNDARMANUAL RS2WORLD 1 1. Startbild 1 2. Val av station 1 3. Export 2 3.1 Export Steg 1 2 3.2 Export Steg 2 2 4. Import 3 4.1 Import Steg 1 3 4.2 Import Steg 2 3 4.3 Import Steg 3 4 5. Databas 4 5.1 Databashanteringen 4 5.2 Sök position 5 5.3 Lägg till position 5 5.3 Ändra position 6 Magnus Wallgren

2005-03-30 Användarmanual Rs2World 1. Startbild Det här är startbilden som kommer upp när du startar Rs2World. Den försvinner efter tre sekunder. 2. Val av station Här väljer du vilken station som du vill jobba med. Varje station har sin egen databas med positioner. Magnus Wallgren 1(6)

2005-03-30 3. Export Det här är huvudmenyn. I den övre blå listen ser man vilken station som man jobbar med. 3.1 Export Steg 1 Efter att man valt Export från huvudmenyn kommer det här fönstret upp. Det är steg 1 vid filtrering av en fil. Här skriver man i vilken fil som ska filtreras alternativ klickar på bläddra och väljer en fil därigenom. 3.2 Export Steg 2 I steg 2 i filtrering av en fil skriver man in vad den nya filtrerade filen ska heta alternativ klickar på bläddra. Magnus Wallgren 2(6)

2005-03-30 4. Import Vid val av Import av nya positioner ser meny ut enligt följande. 4.1 Import Steg 1 I steg 1 vid import av positioner väljer man mellan automatiska positioner, ArcL o s v eller manuella positioner, kalibpos1 o s v. 4.2 Import Steg 2 Har skriver man in vad den justerade filen heter. Alltså den filen som man har gjort en touch up på. Magnus Wallgren 3(6)

2005-03-30 4.3 Import Steg 3 Här anger man vad original filen från Robot Studio heter till den justerade filen. 5. Databas Databasen innehåller alla positionerna för stationen. 5.1 Databashanteringen Det här är huvudfönstret för databasen. Magnus Wallgren 4(6)

2005-03-30 5.2 Sök position Här matar man in olika sökalternativ. För att sedan söka efter positioner som matchar sökalternativen. 5.3 Lägg till position Så här ser formuläret ut för att lägga till en ny position. Datum och tid fylls automatiskt in. Resten av värden måste fyllas i automatiskt. Magnus Wallgren 5(6)

2005-03-30 5.3 Ändra position I huvudfönstret för databasen markerar du den positionen i tabell som du vill ändra. Det är den positionens värden som sedan visas i det här formuläret. Magnus Wallgren 6(6)

Bilaga 3, skapa en koppling mellan robot och Pc 2005-03-30 Bilaga 3 SKAPA EN KOPPLING MELLAN ROBOT OCH PC 2 Steg 1 Edit Profile 2 Steg 2 Add Profile 2 Steg 3 New Profile Name 2 Steg 4 Profile Editor 3 Steg 5 Add New Robot 3 Steg 6 Add New Alias 3 Magnus Wallgren 1(4)

Bilaga 3, skapa en koppling mellan robot och Pc 2005-03-30 Skapa en koppling mellan Robot och PC För att skapa en koppling mellan robot och Pc med Interlink Module följer du dessa steg. Steg 1 Edit Profile Klicka på Menyn Tools >> Edit Profile Steg 2 Add Profile Klicka på Add Profile Steg 3 New Profile Name Skriv in ett Profile name och markera Type S4. Klicka på OK. Magnus Wallgren 2(4)

Bilaga 3, skapa en koppling mellan robot och Pc 2005-03-30 Steg 4 Profile Editor Klicka bort alternativet Simulate interface. Dina val ska se ut enligt följande. Skriv sedan i sökvägen till filen Eio.cfg för HanteringsRoboten. Steg 5 Add New Robot Klicka på Tools >> Add new Robot Steg 6 Add New Alias Skriv in ett robot alias namn och robotens IP-adress.Välj en Profile i det här exemplet, HanteringsRobot. Magnus Wallgren 3(4)