• No results found

AUTOMATISERAD KONSTRUKTION APPLICERAT PÅ GRENSTÄLL

N/A
N/A
Protected

Academic year: 2021

Share "AUTOMATISERAD KONSTRUKTION APPLICERAT PÅ GRENSTÄLL"

Copied!
57
0
0

Loading.... (view fulltext now)

Full text

(1)

AUTOMATISERAD KONSTRUKTION

APPLICERAT PÅ GRENSTÄLL

Simon Ottosson

Viktor Jonsson

EXAMENSARBETE 2010

(2)

AUTOMATISERAD KONSTRUKTION

APPLICERAT PÅ GRENSTÄLL

AUTOMATED CONSTRUCTION APPLIED TO

CANTILEVERS

Simon Ottosson

Viktor Jonsson

Detta examensarbete är utfört vid Tekniska Högskolan i Jönköping inom ämnesområdet teknikens tillämpning med inriktning 3D-teknik. Arbetet är ett led i kandidatpåbyggnadsprogrammet. Författarna svarar själva för framförda åsikter, slutsatser och resultat.

Handledare: Joel Johansson Omfattning: 15 hp (C-nivå) Datum: 2010-10-04

(3)

Abstract

The degree project has been performed at Weland Lagersystem AB in Gislaved who manufacture and sell storage systems. The company is part of the Welandgroup and is therefore owned by Weland AB.

This project is about streamlining the design process for the product cantilever, at

Weland Lagersystem AB. The design process consists of several operations. One of these operations is particularly time-consuming, and is today performed manually. The

operation consists of creating geometric models. Gaining efficiency from this process is done by using automation.

Two suggestions of automation was brought forward and evaluated to, in this case, find the best suggestion with the help of methods such as function analysis, investment calculation and the grade of attainability of defined functions. An implementation of the automation was done as well, to achieve time savings and therefore economical gains for Weland Lagersystem AB.

The actual implementation of the automation has, for the most part, been consisted of programming in Visual Basic for Applications, which in this case has been synchronized with the CAD program SolidWorks. Therefore, some of the challenges that appeared during the programming of the automation are described further down.

The investment calculations beneficial effect together with an approximate comparison of how easy it is to create the functions (from the functional analysis), from each solution, is presented in the result. A conclusion is also taken of which solution is best suited for Weland Lagersystem AB. Finally, the execution of the finished automation is visualized by pictures with attached explanatory text.

As a final point, an overall conclusion about automation and how we think it will develop in the future are written. Different development proposals of the automation we

accomplished will be presented as well. Examples extracted from that presentation is; making the automation program more complete and integrating the program with other operations in the design process.

(4)

Sammanfattning

Examensarbetet har utförts på Weland Lagersystem AB i Gislaved som tillverkar och säljer lagersystem. Företaget är en del i Welandkoncernen och ägs därmed av Weland AB. Arbetet handlar om att effektivisera konstruktionsprocessen på Weland Lagersystem AB, för produkten grenställ1. Konstruktionsprocessen består idag av ett flertal moment. Ett av dessa moment, som idag utförs manuellt och är tidskrävande, är skapande av

geometriska modeller. Effektivisering av denna process, för produkten grenställ, är gjord genom automatisering.

Två automatiseringsförslag togs fram och evaluerades för att finna det, i detta fall, bästa förslaget med hjälp av gjorda metoder som funktionsanalyser, investeringskalkyler och uppnåbarhetsgraden för respektive förslag. Likaså gjordes en implementering av automatiseringen för att uppnå tidsbesparingar och därmed ekonomiska vinster hos företaget Weland Lagersystem AB.

Genomförandet av automatiseringen har till största del bestått av programmering i VBA (Visual Basic for Applications), som är synkroniserat med CAD (Computer Aided Design) programmet SolidWorks. Därför beskrivs en del utmaningar som har dykt upp under programmeringens gång.

I resultatet presenteras investeringskalkylens nyttoeffekt tillsammans med en uppskattad jämförelse på hur enkelt det är att skapa funktionerna (som framgår i funktionsanalysen), för respektive lösningsförslag. Likaså dras sedan en slutsats kring vilket förslag som är bäst lämpad för Weland Lagersystem AB. Till sist visualiseras bilder med förklarande text för att visa utförandet av den färdiga automatiseringen.

Slutligen kommer en slutsats kring automatisering överlag och hur vi tror den utvecklas i framtiden att dras. Likaså kommer olika vidareutvecklingsförslag på automatiseringen vi åstadkommit presenteras. Det kan innebära att göra automatiseringsprogrammet mer komplett samt integreras med andra moment i konstruktionsprocessen.

Nyckelord

Automatisering SolidWorks Visual Basic Grenställ Makro 1

Grenställ används i huvudsak för att förvara olika typer av långgods som t.ex. brädor, rörprofiler, fyrkantsprofiler, balkar etc. Grenstället består av komponenter som är tillverkade av plåt och som efter bearbetning är varmförzinkade. För mer information se under rubrik; Grenställ.

(5)

Innehållsförteckning

1

 

Inledning ... 5

 

1.1  BAKGRUND ... 5 

1.2  SYFTE OCH FRÅGESTÄLLNINGAR... 6 

1.3  AVGRÄNSNINGAR ... 6 

2

 

Teoretisk bakgrund ... 7

 

2.1  KONSTRUKTÖRSROLLEN ... 7 

2.2  INGÅENDE KOMPONENTER I ETT GRENSTÄLL OCH DESS KONSTRUKTIONSPROCESS ... 7 

2.2.1  Konstruktionsprocessen ... 8 

2.2.2  Grenställ ... 9 

2.3  DESIGN AUTOMATION ... 14 

2.3.1  Geometrisk modellering: ... 14 

2.3.2  Application Programming Interface (API) ... 16 

2.3.3  Makro ... 16 

2.3.4  PENG-metoden ... 17 

3

 

Metod och genomförande ... 18

 

3.1  INSAMLING AV DATA... 18  3.2  FRAMTAGNING AV LÖSNINGSFÖRSLAG ... 18  3.3  UTVÄRDERING AV LÖSNINGSFÖRSLAG ... 19  3.3.1  Funktionsanalys ... 19  3.3.2  Uppnåbarhetsgraden av funktioner ... 19  3.3.3  Investeringskalkyl ... 19 

3.3.4  Mätning av tidsskillnad för automatiseringsprocessen... 20 

3.4  FUNKTIONER FÖR AUTOMATISERING ... 21 

3.4.1  Lägga till komponenter i sammanställning ... 21 

3.4.2  Skapa mates ... 22 

3.4.3  Lightweight ... 23 

3.4.4  Diagonalstagning ... 23 

3.4.5  Pelarstagning ... 24 

3.4.6  Reducera tiden för visualisering av skapade mate ... 24 

3.4.7  Skapa ritning ... 24 

4

 

Resultat och analys ... 26

 

4.1  UTFORMNING AV LÖSNINGSFÖRSLAG... 26 

4.1.1  Funktionsanalys ... 26 

4.2  JÄMFÖRELSE AV UPPNÅBARHETSGRADEN ... 27 

4.3  INVESTERINGSNYTTA ... 28 

4.4  VAL OCH MOTIVERING AV AUTOMATISERINGSFÖRSLAG ... 30 

4.5  GRÄNSSNITT ... 31 

4.5.1  Förhandsgranskning av färdig produkt ... 31 

5

 

Diskussion och slutsatser ... 38

 

5.1  METODDISKUSSION ... 38 

5.1.1  Insamling av data ... 38 

5.1.2  Framtagning av lösningsförslag ... 38 

5.1.3  Utvärdering av lösningsförslag: ... 39 

5.2  RESULTATDISKUSSION ... 40 

5.2.1  Vilka funktioner ska en automatisering innefatta för att tillgodose kraven från Weland Lagersystem AB? ... 40 

5.2.2  Vilken ekonomisk nytta har Weland Lagersystem av respektive automatiseringsförslag, vilken är mest lönsam? ... 40 

(6)

5.3  SLUTSATSER ... 41  5.3.1  Vidareutvecklingsområden ... 42 

6

 

Referenser ... 43

 

7

 

Sökord ... 45

 

8

 

Bilagor ... 46

  8.1  KRAVSPECIFIKATION ... 47  8.2  FUNKTIONSANALYSEN ... 48 

8.3  UPPNÅBARHETSGRADEN AV FUNKTIONER – EXCEL ... 50 

8.4  UPPNÅBARHETSGRADEN AV FUNKTIONER - MAKRO ... 52 

8.5  INVESTERINGSKALKYL – EXCEL ... 54 

(7)

1 Inledning

För att företag ska överleva på den globala marknaden, krävs det att de blir mer konkurrenskraftiga. Detta kan åstadkommas genom att effektivisera olika områden i organisationen.

Effektivisering medför flera vinster där allt mynnar ut i ekonomiska fördelar tack vare förkortade processtider, bra produktkvalitet och mer repetitiva processer. Det område som har effektiviserats är en del av konstruktionsprocessen hos företaget Weland Lagersystem AB, för produkten grenställ.

Det finns många medel som kan användas för att uppnå en effektivisering. Men inom området konstruktionsprocessen blir automatisering ett lämpligt val. Automatisering av konstruktionsprocessen kan, även det, utföras på flera olika sätt. Därför har

undersökningar, analyser och tester använts för att finna den, i detta fall, bästa automatiseringslösningen. Slutligen redovisas appliceringsresultatet av den valda lösningen.

1.1 Bakgrund

Examensarbetet har utförts på Weland Lagersystem AB i Gislaved som ägs av Weland AB. Weland AB är ett familjeägt företag med huvudkontor och tillverkning i

Smålandsstenar. Det grundades 1947 och har sedan dess genomgått en kraftig expansion och äger idag ca: 30 företag, främst i de södra delarna av Sverige. Welandkoncernen har totalt 897 anställda och omsätter årligen 1,58 mdkr.

Weland Lagersystem AB har 36 anställda och omsätter 78,99 Mkr (allabolag.se, 2009). Företaget tillverkar och tillhandahåller lagersystem och i sortimentet finns hissautomater, pallställ, grenställ, djupstapling, utdragsenheter och sigmabalk. Detta examensarbete fokuserar på grenställ som i huvudsak används för att lagra långgods.

Weland Lagersystem AB har i dagsläget en manuell konstruktionsprocess vid

framtagning av ritningsunderlag för produkten grenställ. Ritningsunderlaget kan göras i två steg, varav ett av stegen är till för att förstärka offerten i form av förtydligad

måttprecision och noggrannare visualisering. Detta ifall kunden är osäker på om det finns utrymme för den valda storleken på grenstället. Annars görs ritningsunderlaget efter att de fått ordern bekräftad för att skapa en monteringsanvisning.

Problemet hos Weland Lagersystem, enligt en tidig diskussion med konstruktionschefen, idag är att all ritningsframtagning görs manuellt. Detta på en produkt (grenställ) som finns i många utföranden, vilket innebär att det blir många filer att hantera som bidrar till att framtagningsprocessen blir komplex. Oavsett med vilket syfte ritningsunderlaget tas fram, så är det tidskrävande. Här finns det potential till effektivisering genom

automatisering, dels för att minska tid men också ge dem möjlighet att mer frekvent lämna ritningsunderlag som en del i offerten.

(8)

1.2 Syfte och frågeställningar

Syftet är att utreda möjligheterna till effektivisering genom en automatiserad framtagningsprocess av offertunderlag och monteringsanvisning, i

konstruktionsprocessen för produkten grenställ. Ett område inom

konstruktionsprocessen väljs ut där störst potential för effektivisering finns. Automatisering kommer att appliceras på detta område.

1. Vilka funktioner ska en automatisering av konstruktionsprocessen innehålla?

2. Vilka tänkbara ekonomiska vinster ger respektive automatiseringsförslag, vilken är mest lönsam?

1.3 Avgränsningar

ƒ Endast ett lösningsförslag har applicerats.

ƒ Automatiseringen sker inom CAD, SolidWorks, med hjälp av Excel och programmeringsspråket Visual Basic for Applications.

ƒ Ingen sammankoppling till externa program.

ƒ Investeringskalkylen kan i viss mån bestå av fiktiva värden.

Kalkylen ska endast ge en inblick på hur lösningsförslagen står sig ekonomiskt.

(9)

2 Teoretisk bakgrund

Detta kapitel består av information om alla teoretiska begrepp och bakgrund till relevant data som på något sätt berör det utförda arbetet.

2.1 Konstruktörsrollen

”Konstruktörer” har alltid funnits men det var inte förrän den industriella revolutionen under 1800-talet som rollen blev till ett självständigt yrke. Tidiga konstruktörer

kombinerade dock kunskap från nutidens renodlade konstruktörer med nutidens industridesigners. Mellan 1900-1960 skedde ritarbete på ritplankor och övervakades av konstruktionschefen. Idag finns inte detta gamla tillvägagångssätt kvar utan all

geometrimodellering görs i CAD-system. Den övervakande konstruktionschefen, må visserligen fortfarande existera men, har i en del fall ersatts med villkor och datorstyrda program som kontrollerar med dialog och feedback att produkten håller sig inom givna ramar. Automatisering är ett verktyg för att skapa ersättning till den kontrollerande konstruktionschefen (Johannesson, Persson och Pettersson, 2004).

2.2 Ingående komponenter i ett grenställ och dess

konstruktionsprocess

Examensarbetet handlar om att effektivisera den geometriska modelleringsprocessen. Effektiviseringen uppnås genom att automatisera framtagningen av geometriska modeller i SolidWorks för produkten grenställ, se Figur 1, på Weland Lagersystem AB. Det är ett arbetsmoment för konstruktören i konstruktionsprocessen.

Figur 1: Bilden illustrerar en sektion enkelställ med beskrivning av ingående

(10)

2.2.1 Konstruktionsprocessen

Generellt sett kan konstruktionsprocessen delas in i fyra delprocesser (Johannesson, Persson och Pettersson, 2004).

1. Problemdefinitionsprocess, kundens behov identifieras och översätts till funktionskrav och begränsningar.

2. En kreativ syntesprocess, konstruktionslösningar genereras för att uppfylla funktionskraven.

3. Analysprocess, lösningsförslagen utvärderas.

4. Valideringsprocess, slutlösningen valideras mot ursprungliga behov. För Weland Lagersystem AB innebär ordet konstruktionsprocess de

konstruktionsmoment det krävs efter en förfrågan för att lämna en bra och detaljerad offert, likadant från order till leverans. Idag sköts konstruktionsprocessen av produkten grenställ till stora delar manuellt först utav en säljare och sedan av en konstruktör. Säljaren tar emot kundens krav och bearbetar önskemålen med hjälp av

hållfasthetsberäkningar av grenstället i ett externt program, detta för att kunden ska få ett grenställ som både är hållfasthetsmässigt starkt nog att klara de laster kunden ska

använda grenstället till samt att det inte ska bli överdimensionerat och därmed kosta onödigt mycket pengar (problemdefinitionsprocess). När detta är gjort skapar säljaren en visuell bild av produkten med hjälp av ytterligare ett externt program som kallas Lime (kreativ syntesprocess). Programmet skapar en bild som används som en del i

offertunderlaget. Dock har denna bild vissa begränsningar som t.ex. inga exakta mått eller dimensioner. Därför efterfrågar kunderna ibland en geometrisk modell, CAD-fil, som extra underlag för att kunna förhandsgranska produkten mer noggrant (analysprocess). Den geometriska modellen medför fördelaktigheter i de fall då kunden vill dimensionera grenstället efter ett särskilt område, exempelvis mellan två väggar eller mellan två pelare etc. Tack vare exakta mått och större detaljrikedom tillför den geometriska modellen är säkrare alternativ till den visuella bilden skapad i Lime.

Vid order (eller ibland vid offerering, som nämnts ovan) skapar konstruktören 3D-filer genom geometrisk modellering i SolidWorks, detta med hjälp av de dimensioner och mått som framkommit av det externa hållfasthetsprogrammet PallDim, samt krav från kund (analysprocess). Detta görs inte enbart för visualiseringens skull utan det går likaså enkelt att urskilja, på en geometrisk modell, exakta mått, vikt, ingående komponenter etc. Likaså görs det alltid en monteringsanvisning på det grenställ de fått en order på. Här stäms slutprodukten av efter de funktionskrav som säljaren tog emot från kund (valideringsprocess).

Tiden det tar för en konstruktör att skapa en geometrisk modell på ett grenställ skiljer sig beroende på grenställets storlek dvs. antal sektioner, typ av grenställ (enkelställ,

dubbelställ) och antalet ingående komponenter. Men i en intervju med konstruktören som brukar modellera upp grenställ, i SolidWorks på Weland Lagersystem AB, uppskattade han att det i genomsnitt tar ca: 1h och 15 min. Det är denna del i konstruktionsprocessen som vi har automatiserat, se Figur 2.

(11)

Figur 2: Bilden visar flödesschemat från förfrågan till order på Weland Lagersystem AB.

Automatiseringen fokuserar på momentet; skapa geometrisk modell. 2.2.2 Grenställ

Produkten grenställ används i huvudsak för att förvara olika typer av långgods som t.ex. brädor, rörprofiler, fyrkantsprofiler, balkar etc. Weland Lagersystem AB tillverkar bland annat pelarna till grenstället i deras produktionslokaler i Gislaved. Andra komponenter som t.ex. armarna köps in från Weland AB i Smålandsstenar. Grenstället består av komponenter som är tillverkade av plåt och som efter bearbetning är varmförzinkade. Produkten kan variera i utseende, beroende på kundens krav och vad som ska lagras. Variation kan ske i form av antal sektioner och mått som längd, bredd och tjocklek på ingående komponenter. Likaså finns det två typer av grenställ, nämligen enkelställ och dubbelställ, se Figur 3 och Figur 4. Ett enkelställ kan enbart lagra gods på ena sidan om pelaren medan dubbeställ kan lagra gods på båda sidorna om pelaren. Det går, som standard, att få grenställ med armar i 200mm intervall (i höjdled) ifrån 2m på pelarbalken.

Det som skiljer ett enkelställ mot ett dubbelställ, förutom att dubbelställ har en fotbalk och armar på båda sidorna om pelarbalkarna, är att fotbalken är olika lång. På ett enkelställ är fotbalkens

(sigmabasbalkens) längd lika med armmodellens längd + pelarens profilhöjd + 100mm. Medan på ett dubbelställ så är fotbalkens

(sigmabasbalkens) längd lika med armmodellens längd + pelarens profilhöjd + armmodellens längd.

Båda ställagen är oberoende om det är lätt, mellan eller tung armmodell dvs. oberoende på grenställsarmens godstjocklek se under rubrik: Grenställsarm, för mer information.

Figur 3: Enkelställ Figur 4: Dubbelställ

(12)

För att förtydliga hur lång fotbalken ska vara, beroende om det är till ett enkelställ eller ett dubbelställ, visar formeln nedan.

Enkelställ: Dubbelställ: 2

Där är fotbalkens längd, är armmodellens längd, är pelarens profilhöjd och är 100mm. Se Figur 5 för mer information.

Alla ingående komponenter fyller ett syfte för att få grenstället att bli komplett. Detta kan vara i form av stabilitet, hållfasthet och funktion. Nedan beskrivs de ingående

huvudkomponenternas syfte.

Grenställsarm

Det finns tre olika sorters grenställsarmar i Weland Lagersystems sortiment: • Lätt arm, 3mm godstjocklek. Materialkvalité är DX51DZ275 som är en

varmförzinkad plåt. Avstånd infästningspunkter i pelaren är 100mm.

• Mellan arm, 4mm godstjocklek. Materialkvalité är S350 som sedan varmförzinkas (Z275) efter bearbetningen. Avstånd infästningspunkter i pelaren är 150mm. • Tung arm, 5mm godstjocklek. Materialkvalité är S350 som sedan varmförzinkas

(Z275) efter bearbetningen. Avstånd infästningspunkter i pelaren är 150mm.

Armlängd  lätt armmodell  Mellan armmodell  Tung armmodell 

500  x  X    750  x  X    1000  x  X  X  1200  x  X  X  1500    X  X  1800      X 

Tabell 1: Här beskrivs vilka armlängder som finns tillgängliga beroende på dess

(13)

Pelarbalk och fotbalk

En pelarbalk består av två stycken pelare, det samma gäller för en fotbalk. Därför har alltid pelarbalkar och fotbalkar samma profilhöjd, likaså samma godstjocklek (inom samma grenställ), se Figur 6. Dessa pelare finns i olika grundutföranden. För det första finns tre stycken profilhöjder 200mm, 300mm och 400mm. Se Figur 5 och Figur 6 för illustration och mer information. Ju större profilhöjd desto mindre böjkänsliga blir pelarna då laster läggs på grenställsarmarna. Pelarna går att få i följande godstjocklekar; 2mm, 3mm, 4mm, 5mm, se Figur 6. När det ställs högre hållfasthetskrav på grenstället väljer man dock alltid att använda en större profilhöjd på pelarbalken innan man ökar godstjockleken. Detta pga. kostnadsskäl, då det är i normalfallet (pris/kapacitetsmässigt) billigare att använda större profilhöjd än en större godstjocklek. Detta kan förklaras med formeln för yttröghetsmoment i rektangulärt tvärsnitt.

Formel för yttröghetsmoment i ett rektangulärt tvärsnitt (Dahlberg, 2001): ^3/12

Där I är yttröghetsmomentet, B är bredden (i detta fall godstjockleken på pelarbalken) och H är höjden (i detta fall pelarbalkens profilhöjd). Se Figur 6 för mer information. Av detta kan man urskilja att pelarbalkens profilhöjd (H) har större inverkan än

pelarbalkens godstjocklek (t i Figur 6 som är lika med B i formeln) på dess böjkänslighet. Med andra ord, desto högre yttröghetsmoment (I) desto mindre böjkänslig blir

pelarbalken.

Belastningsmässigt dimensioneras pelare och fot, i ökande led beroende på lasten; Pelare och fot av P200 t=2mm

Pelare och fot av P300 t=2mm Pelare och fot av P400 t=2mm Pelare och fot av P400 t=3mm Pelare och fot av P400 t=4mm Pelare och fot av P400 t=5mm

(14)

Figur 5: Bilden visar måtten (fotbalkens längd), A (armmodellens längd) och P

(pelarbalkens profilhöjd).

σ

Figur 6: Bilden visar två profiler som tillsammans bildar pelarbalkens profil. Måttet P är

(15)

Stag och stagningsmetoder

Det finns två olika stag och de är horisontalstag och diagonalstag. Horisontalstag sitter på varje sektion medan diagonalstagen enbart sitter på den första och sedan på varannan sektion se Figur 7. Diagonalstagen monteras alltid med en vinkel på 45 grader gentemot horisontalstagen och dess antal är beroende av pelarbalkarnas höjd. Diagonalstagen och horisontalstag utgör stabiliteten i grenstället, och för att få rätt avstånd mellan

pelarbalkarna. Stagen sitter alltid fastmonterade i staginfästningar som i sin tur sitter monterade i pelarbalken.

Det första horisontalstaget i ett grenställ sätts alltid 680mm ifrån pelarbalkarnas

underkant. Det är i det närmaste samma avstånd ifrån golv, om det inte är någon typ av nivellering2.

Avstånd mellan staginfästningarna på en pelarbalk skall aldrig vara mer än två bygghöjder3 för den aktuella stagmodellen. Figur 7 visar att det sitter ett extra horisontalstag i mitten av den sista sektionen. Detta för att avståndet mellan

staginfästningarna inte ska överskrida två bygghöjder på den sista pelarbalken, det för att få grenstället mera stabilt.

Weland Lagersystem AB använder tre olika stagningsmetoder till deras grenställ, helstagning, delstagning och pelarstagning. Sektionen med diagonalstagen som visas på den första och tredje sektionen i Figur 7 är en helstagning medan den andra sektionen är en delstagning (om man utgår från vänster).

Den sista sektionen i Figur 7 är en pelarstagning och det som skiljer sig från denna och delstagning är att den har extra horisontalstag (antalet extra horisontalstag beror på grenställets höjd) för att avståndet mellan staginfästningarna på den sista pelarbalken inte får vara mer än två bygghöjder. Om det hade varit ett grenställ med ojämnt antal

sektioner så skulle det inte behövas någon pelarstagning. Detta för att den sista sektionen då hade blivit en helstagning och då blir aldrig avståndet mellan staginfästningarna på den sista pelarbalken över två bygghöjder. Med andra ord så krävs bara pelarstagning då det är jämnt antal sektioner och då grenstället ska vara över en viss höjd.

Dessutom skall det aldrig vara mer än 600mm ifrån den övre kanten på pelaren till det översta horisontalstaget, är det mer än det så sätts det ett horisontalstag i det översta staghålet som det är gjort i Figur 7. Detta för att bevara grenställets stabilitet.

2

Med ordet nivellering menas höjdskillnad i terräng/golv. 3

(16)

>600 = Extra horisontalstag

En bygghöjd

Figur 7: Bilden illustrerar en fyra sektioner brett enkelställ med ett extra horisontalstag i det

översta staghålet. Det för att måttet från det tidigare översta horisontalstaget (nu det näst översta) upp till pelarbalkens kant är större än 600mm. Likaså visas vad som menas med en bygghöjd.

2.3 Design Automation

Automation är mät- och styrteknologi som syftar till att rationalisera och förbättra en produktionsprocess, eller helt enkelt "något som verkar på egen hand" (Berg, 2004, s. 48). Ett exempel på automatisering är uppvärmning och luftkonditionering av moderna hushåll. Genom maskiner och programmering är det möjligt att hålla en jämn och önskvärd temperatur oberoende av väderförhållandena utomhus.

En hel process behöver inte behandlas för att klassificeras som en automatisering. Det räcker att t.ex. ha en maskin som utför delar av uppgifterna i en process som normalt sätt utförs av en människa. Automatisering tillämpas ofta på ansträngande och eller

enformiga uppgifter där potential för noterbara tidsbesparingar går att generera (Johannesson, Persson och Pettersson, 2004).

Automatisering är en teknologi där en process eller procedur färdigställs utan människans hjälp och är tillämpbart på nästan vilken mänskligt bemödande som helst.

2.3.1 Geometrisk modellering:

Termen geometrisk modellering uppkom under slutet av 1960-talet då utvecklingen av CAD (Computer Aided Design) var väldigt stark. Men det är inte förrän på senare tid som begränsningarna har upplösts och möjligheterna blivit oändliga. Hans Johannesson,

(17)

Jan-Gunnar Persson och Dennis Pettersson säger följande om dagens geometriska modellering: ”Med dagens CAD-system kan man både skapa statiska tredimensionella modeller med

fasta dimensioner och parametriserade modeller med parametersatta dimensioner som kan styras med hjälp av olika parametervärden” (s. 442) (mer om parametrisering nedan). Termens process är

en samling matematiska uttalanden och logiska samband som tillfredställer flera axiom. På så sätt beskrivs formen av ett objekt eller en fysisk process, genom en lämplig geometrisk metafor.

Geometrisk modellering i CAD-program kan utvecklas till uttrycket solidmodellering. Solidmodellering tillåter programmet att kombinera enkla former för att skapa komplexa massiva kroppar. De tekniker som förekommer är svep, skapa med hjälp av halvrymder och booleska operationer. De två förstnämnda har syftet att skapa enkla kroppar, såsom kuber, rätblock, cylindrar osv. Booleska operationer är länken mellan de enkla och de komplexa kropparna. De booleska operationerna som används i dessa sammanhang är:

• Union: Två kroppar som adderats i sin helhet till varandra.

• Snitt: Den gemensamma delen av två kroppar som ”skär” varandra.

• Differens: Resultatet av att en kropps volym dragits bort från en annan kropps volym.

För att kunna representera en tredimensionell geometri i CAD-systemet används CSG-tekniken (Constructive Solid Geometry). Denna teknik bygger på de booleska

operationerna som beskrivits ovan (Johannesson, Persson och Pettersson, 2004). Den sammanbyggda geometrin blir till det ritningsunderlag som krävs för att kunna generera ritningar där mått är kopplade till modellen och symboler kan läggas till.

SolidWorks:

Programmet SolidWorks är ett designverktyg för featurebaserad, parametrisk modellering av en massiv kropp. Det är möjligt att skapa helt associerade massiva 3D modeller med eller utan restriktioner. Den modell du ritar i är alltså direkt kopplat till den ritning du skapar. Om du gör en ändring i modellen uppdateras ritningen därefter och vice versa.

Restriktioner är geometriska förhållanden och ekvationer som skapar relationer i modellens kropp och dess parametrar.

Featurebaserad

När en modell skapas i SolidWorks, används intelligenta geometriska former såsom bossar, skärningar, hål, avrundningar, lutningar mm. Dessa beståndsdelar kallas för features. Features kan klassificeras som antingen skissade eller applicerade. Skillnaden är att de skissade utgår från en 2D-skiss, för att sedan omvandlas till en massiv kropp. Applicerade features däremot, skapas direkt på den massiva modellen (Dassault Systèmes SolidWorks Corp., 2007)

För att kunna hålla en strukturerad omgivning under användandet av SolidWorks, används ett så kallat designträd. Den ger användaren lättillgänglig information om vad som ingår i varje feature, samt i vilken ordningsföljd de är skapade.

Parametrisering

Ett objekt definieras med hjälp av parametrar och relationer till andra objekt. T.ex. om ett relaterat objekt ändras, kommer även detta objekt ändras. Parametriska objekt bygger automatiskt om sig själva beroende på vilka regler som är kopplade till dem.

(18)

Mått och förhållanden, som används för att skapa features, är låsta och lagrade i

modellen. Av störst vikt för detta examensarbete är de styrande måtten. Det innebär de mått som är associerade med skissgeometri och features. Tänk dig en cylindrisk kropp. Den är skapad genom att ange en diameter och en höjd. Detta blir de styrande måtten. De styrande måtten blir därför lättillgängliga för modifiering vid skapandet av

automatiseringen, som framkommer i litteraturen SolidWorks Grundkurs 2007.

Parametriska features

Uttrycken kan kombineras och konstruktören kan ha stor nytta av detta i de fall då enkla geometriska grundelement återkommer ofta i konstruktionsprocessen. Konstruktören kan undvika att upprepa skapandet av dessa enkla geometrier genom att hämta lagrade parametriska modeller ifrån särskilda bibliotek i CAD-systemet. Det läggs in i den aktuella modellen efter anpassning med de styrparametrar som gäller i varje enskild fall (Johannesson, Persson och Pettersson, 2004).

2.3.2 Application Programming Interface (API)

Ett API är en dokumenterad metod för ett program att använda sig av funktioner som tillhandahålls av ett annat program. Dessa funktioner är ofta implementerade i olika funktionsbibliotek såsom dll-filer (Grundgeiger, 2000).

Reglerna, som består av en uppsättning funktionsanrop, ger tillgång till en viss

funktionalitet. I det stora hela går det att säga att du "kapslar in" funktionaliteten bakom ett API. Genom att anropa dessa funktioner kan användaren återanvända färdigutvecklad och kvalitetssäkrad mjukvara som har "kapslats in".

API är tillgänglig i bl.a. CAD-program där den fungerar som ett enkelt men kraftfullt verktyg för att automatisera nästan vilka uppgifter som helst (Lombard, 2010).

VBA:

VBA (Visual Basic for Applications) är ett programmeringsspråk som utgår från en applikation såsom SolidWorks, Excel eller Word mm. Grundstommen kommer alltså från programmeringsspråket VB (Visual Basic). VB har en egen utvecklingsmiljö där fler möjligheter finns än i VBA. Programmeringsspråket är dock detsamma och har du kunskap inom VB kan du även programmera i VBA och tvärtom. Det en VB-programmerare behöver kunna är de objekt som finns i applikationen, och hur man arbetar med dem (Sylvan, 2005).

Tack vare VBA är det möjligt att spela in makros i SolidWorks, där handlingar översätts till kod. Mer om detta i avsnittet: Makro

2.3.3 Makro

Ett makro har flera betydelser. Men den definition av makro som berör vårt arbete är den som tillhör datateknik. "Ett makro är en samling instruktioner som används för att

automatisera ofta återkommande och/eller repetitiva arbetsmoment i datorprogram" (Wikipedia,

(19)

Ett makro kan skapas på tre olika sätt:

• Programmera ett SolidWorks makro helt från början. • Kopiera kod från ett existerande makro.

• Spela in handlingar för återspelning.

Ett inspelat makro pekar oftast bara programmeraren i rätt riktning och kan oftast inte fungera självständigt utan behöver kompletteras med de andra två punkterna (Lombard, 2010).

Genom användandet av makro är det möjligt att öka produktiviteten samtidigt som det erbjuder användaren att upptäcka nya tillgångar med ett CAD-program. Likaså kan det hjälpa till att förenkla tråkiga och/eller ansträngande arbeten. ”It makes my skin crawl to do

tedious, repetitive work. That is what computers were made to do, not me. One of the most exciting aspects of SolidWorks is its robust programming interface or API. The software was built from ground up to automate” (Spense, 2006, s. Introduction).

2.3.4 PENG-metoden

PENG (Prioritering Efter NyttoGrunder) är en metod för att prognostisera de nyttoeffekter som en investering är tänkt att skapa. PENG-metoden tar hänsyn till indirekt resultatpåverkande nytta och svårvärderad nytta, utöver den direkt

resultatpåverkande nyttan vilket leder till att metoden returnerar en enkel och trovärdig nyttovärderingsanalys (Tonnquist, 2008).

Faktorer som utgör nyttofaktorn (Bruttonytta/Kostnad):

Exempel: Du är chef på ett relativt litet företag och har bestämt dig för att investera i ett nytt affärssystem. Nedan följer en kort förklaring och ett exempel på vad som händer inom varje avdelning i en PENG-metod.

Direkt resultatpåverkande nytta: Nytta som oberoende av andra händelser utgör en

lägre kostnad t.ex. lägre leveranskostnader.

Indirekt resultatpåverkande nytta: Ger högre intäkter genom bättre kundservice. Svårvärderad nytta: Bättre image som en följd av flera händelser inom både direkt- och

indirekt resultatpåverkande nytta.

PENG-metoden ligger som grund till investeringskalkylen. Skillnaden är att den

svårvärderade nyttan inte är inkluderad utan endast den direkt resultatpåverkande nyttan har utvärderats för implanteringen av en automatisering på Weland Lagersystem AB. För att göra investeringskalkylen mer verklighetsbaserad utfördes en mätning i form av ett test, på varje lösningsförslag. Testets syfte var att stärka reliabiliteten på omsättningen av tid till pengar.

(20)

3 Metod och genomförande

Syftet med arbetet kan delas upp i tre delar. Först en utredning om hur möjligheten till effektivisering av konstruktionsprocessen hos Weland Lagersystem AB ser ut. Den andra delen gick ut på att ta fram några lösningsförslag för att sedan utvärdera dem.

Utvärdering gjordes med hjälp av tre metoder, med kravspecifikationen som grund, för att uppnå hög validitet i resultatet. Slutligen genomfördes den lösning som har

utvärderats till att vara den bästa lösningen i detta fall, i verkligheten.

Utredningen bestod av insamling av data genom intervjuer och observation.

Utvärderingen bestod av metoderna; funktionsanalys, uppnåbarhetsgraden av funktioner och en investeringskalkyl.

Appliceringen genomfördes med hjälp av kunskapsinsamling och trial and error.

3.1 Insamling av data

Eftersom större delen av detta arbete har utförts i Weland Lagersystem ABs lokaler i Gislaved, har det varit möjligt att hålla en kontinuerlig insamling av data. Datan är främst fokuserad på information om grenställ, makro och automatisering. Fakta om ämnena hämtades främst från broschyrer, företagsdokument, internet och litteratur. Men även intervjuer och observation kring företagets process från förfrågan till offert har utförts.

Observation användes endast för att få förståelse för processen mellan förfrågan och

offert. Därför valdes en säljare som observationsobjekt. Upplägget var en visuell och språklig genomgång av de program och arbetsuppgifter som fanns på processens väg. Frågor ställdes spontant under observationens gång.

Intervjuer, i olika omfattning, har utförts kontinuerligt genom hela arbetet där frågor

ställts när behov av svar eller styrkande av antaganden funnits. Däremot utfördes en mer strukturerad, intensiv intervju med konstruktionschefen där många frågor ställdes, i samband med kravspecifikationen. Den intervjun fungerade som ett komplement till kravspecifikationen och förtydligande om att rätt data hade samlats in.

3.2 Framtagning av lösningsförslag

Lösningsförslagen togs fram genom brainstorming och inspirationssökande på

webbsidor (SolidWorks Tips and Tutorials, LennyWorks, SolidWorks). Framtagningen utgick från den kravspecifikation vi tilldelats av konstruktionschefen.

Den gav oss en bild av automatiseringens innehåll, där allt från mindre viktiga egenskaper till nödvändiga funktioner listades. Genom strävan att förhålla sig nära

kravspecifikationen kunde vi hålla oss nära verkligheten vilket leder till hög samhörighet mellan förväntan och resultat (Jacobsen, 2002)

Utvärdering av lösningsförslag gjordes med hjälp av tre metoder som beskrivs i nästa kapitel.

(21)

3.3 Utvärdering av lösningsförslag

Detta avsnitt innehåller tre metoder för att ge en så komplett utvärdering som möjligt, som verkligen fastställer vilket av alternativen som i detta fall lämpar sig bäst utefter konstruktionschefens önskemål och krav. Metoderna är funktionsanalys,

uppnåbarhetsgraden av funktioner samt en investeringskalkyl. Funktionsanalysen är en generell metod och görs bara en gång men uppnåbarhetsgraden av funktioner och investeringskalkylen görs däremot för alla lösningsförslag. Sedan jämförs de och en slutsats dras för vilket förslag som har flest styrkor.

3.3.1 Funktionsanalys

Funktionsanalysens grundidé är att man listar de funktioner och egenskaper man vill att produkten ska äga. Inga lösningar ska formuleras utan fokus ligger på kreativt, fritt tänkande utan att sträva för långt ifrån de begränsningar som kravspecifikationen medför.

Avslutningsvis klassificerades funktionerna och egenskaperna enligt en förbestämd graderingsskala som bygger på i hur hög grad funktionerna är befogade i den aktuella situationen (Österlin, 2007):

Huvudfunktion (H): Produktens primära funktion, uppfylls inte denna fungerar inte produkten överhuvudtaget.

Nödvändig funktion (N): Ska finnas med, utan dessa fungerar inte huvudfunktionen. Önskvärd funktion (Ö): Införs i mån av resurser.

Onödig funktion (O): Utesluts helt.

3.3.2 Uppnåbarhetsgraden av funktioner

Utvärdering av lösningsförslag har många metoder men det saknades en där graden av uppnåbarhet för respektive funktion och egenskap utfördes. Beslutet togs att konstruera en egen metod för det här ändamålet.

Metodens utförande är väldigt enkel. Alla funktioner och egenskaper som listats i funktionsanalysen används för att sedan ge ett värde mellan ett till fem beroende på hur lätt det är att uppnå dess syfte (ju högre värde desto lättare att uppnå). Inga tester utfördes utan värdena uppskattas och grundades på egna kunskaper och erfarenheter. Målet med metoden var att få ett värde som motsvarar hur lätt det skulle vara att uppnå funktionerna och egenskaperna för respektive lösningsförslag.

3.3.3 Investeringskalkyl

En investeringskalkyl görs i regel med motivet att bedöma om en investering uppfyller aktuella lönsamhetskrav. I detta examensarbete tillämpas metoden pga. att enbart grunda en utvärdering på uppnåbarhet inte är tillräckligt för att skapa en uppfattning om vilket förslag som fungerar bäst. En investeringskalkyl kommer därför till sin rätt då man vid investering av en automatisering gör uppoffringar i form av kostnad i nutid som ska generera intäkter över en längre period i framtiden. Här går det lätt att utvärdera vilket lösningsförslag som är mest lönsam (Johannesson, Persson och Pettersson, 2004). Den ekonomiska investeringsnyttan (lönsamheten) utvärderades med PENG-metoden (se bilaga 5 och bilaga 6) som grund. Det krävdes en del brainstorming för att komma på

(22)

hur denna automatisering kommer ge intäkter och utgifter. Sedan angavs dessa intäkter och utgifter olika värden vilka grundades på ren information tagna från företagets affärssystem och intervjuer medan andra mer diffusa värden uppskattades genom

diskussion författarna sinsemellan. Detta för att göra en investeringskalkyl som ska hjälpa till att skapa en uppfattning om, samt styrka, vilket som är det bästa lösningsförslaget. De värden som baseras på verklig data är antalet sålda grenställ under året mars 2009-mars 2010 (ett ”dåligt” år, lågkonjunktur) och hur många grenställ de brukar sälja ett ”normalt” år. Likaså hur lång tid det i genomsnitt brukar ta för konstruktören att manuellt modellera upp ett grenställ i SolidWorks.

De fiktiva värdena är de resterande parametrarna i investeringskalkylen. Det är

konsultkostnader för att göra och implementera de olika automatiseringslösningarna för produkten grenställ, lönen för en konstruktör på Weland Lagersystem AB, årlig kostnad för underhåll av automatisering (uppdatera osv.) och nöjdare kunder genom att kunna lämna tydliga och detaljerade offerter. För mer information om investeringskalkylen (se bilaga 5 och bilaga 6).

Självklart var målet att undvika så många fiktiva värden som möjligt men det är en svår uppgift då bl.a. framtiden ska bedömas. Hans Johannesson, Jan-Gunnar Persson och Dennis Pettersson säger t.ex. ”Den här typen av kalkyler ger också en rätt grov bedömning.” (s. 561). Med de orden accepterades de något uppskattade resultaten.

Investeringskalkyler hämtar inspiration från PENG-metoden, som beskrivs i kapitlet teoretisk bakgrund.

3.3.4 Mätning av tidsskillnad för automatiseringsprocessen

Ett test utfördes på en dator på Weland Lagersystem AB där tiden mättes på hur lång tid det tar att utföra en enkel automatisering på komponentnivå i SolidWorks. Det medför en överblick på den tidsskillnaden mellan lösningsförslagen på den första av tre delar, av automatiseringen. Däremot räcker inte detta test för att kunna utvärdera tidsskillnaden för hela automatiseringsprocessen. Här uppskattades tiden från komponentnivå till sammanställningsnivå, samt från sammanställningsnivå till ritningsnivå. Alltså, en stor del av mätningen bygger på uppskattade värden hämtade från tidigare erfarenheter av

liknande fall. Målet är inte att få ett definitivt värde på tidsskillnaden utan mätningen ska endast generera en uppfattning om en approximativ tidsmässig differens.

(23)

3.4 Funktioner för automatisering

Detta kapitel beskriver funktioner som visat sig vara viktiga milstolpar i

programmeringen av makrot. Problematik, utmaningar och vägval kring milstolparna beskrivs.

3.4.1 Lägga till komponenter i sammanställning

Den första utmaningen som uppkom inom programmeringsprocessen, var när en komponent skulle läggas till i grenställsammanställningen. Problemet grundade sig i att den inspelade koden inte räckte för att lägga till en komponent. Efter en del sökning i litteratur, internet och i SolidWorks API så upptäcktes ett svar på problemet: "I found that

you must open each part before SolidWorks will allow you to insert them into an assembly”,

(SolidWorks Forum, 2010). För att kunna lägga till en komponent i en sammanställning, måste man först öppna komponentens 3D-fil.

Att öppna komponenten medför problemet att SolidWorks byter sitt aktiva fönster från sammanställningen till den nyöppnade komponenten. Det gör att resterande kod tappar sin referens. En lösning föder nya problem, som också kräver lösningar. Efter diskussion uppkom ett par lösningsförslag till problemet.

1. Programmet minimerar det nyöppnade fönstret för att gå tillbaka till det ursprungliga fönstret.

2. Programmet byter fönster.

3. Programmet ändrar inställningar i SolidWorks, så att en komponent öppnas men inte byter det aktiva fönstret.

4. Programmet öppnar upp komponenten i ”datorns minne”, på något sätt.

Alternativ 1-3 medför ytterligare ett problem då komponentens fönster förr eller senare måste stängas ner. Detta undviks i alternativ fyra och vi var överrens om att det var den bästa vägen att ta. Lösningen var enkel och fungerade på såväl komponenter såsom undersammanställningar4. Dock märkte vi att vi var tvungna att säga till programmet att återställa inställningen så att komponenter öppnas fysiskt igen. Om detta glömdes så var det inte ens möjligt att öppna upp komponenter överhuvudtaget, de behövde alltså inte ha någonting med makrot att göra!

Programmeringskod för att öppna, stänga samt lägga till komponent/undersammanställning: swApp.DocumentVisible False, swDocASSEMBLY  Set swDocSpecification = swApp.GetOpenDocSpec (“S:\....här skrivs sökvägen till den  undersammanställning eller komponent som ska öppnas…”)  Set swModel = swApp.OpenDoc7(swDocSpecification)    Boolstatus = Part.AddComponent (”S:\...här skrivs samma sökväg som tidigare…”, 0, 0, 0)  swApp.DocumentVisible True, swDocASSEMBLY  4

(24)

3.4.2 Skapa mates

Vid detta stadium gick programmeringen sakta framåt för vår del. Precis efter att ett problem löstes uppstod ett annat. Nu uppkom problem vad gäller mates5, dvs. att få tillagd komponent eller undersammanställning (komponenter) placerade på rätt plats. Det första som provades var att spela in kod medan ”mate” skapades mellan

undersammanställningens ingående komponenter och ”huvudsammanställningens” ingående komponenter. Mate skapades mellan komponenternas ytor för att på så vis få undersammanställningen och dess komponenter korrekt placerad i sammanställningen. Detta visade sig inte fungera då namnet på ytorna som valts tappades. Resultatet blir istället att komponenterna "snappar" till en annan yta/linje osv. beroende på vilket läge den befinner sig i då makrot startas. Testade därefter att namnge de ytor mates skulle skapa mellan och därefter länka till de namnen i sökvägen i makrot, för att på så vis underlätta för SolidWorks att förstå mellan vilka ytor mate ska skapas. Dock gjordes detta arbete utan framgång. Likaså provades en lösning som gick ut på att skapa mates mellan två kroppar eller komponenter, dock fungerande inte detta heller.

Här eskalerade analysen av felet och diskussionen kring hur det var möjligt att undvika felet var allt mer påtaglig. Felet låg i att det är namnet som saknas och att inte SolidWorks förstod namnet på de ytor man ville skapa mates emellan, även om man döpt dessa ytor. Nästa uppdrag blev då att försöka få SolidWorks att förstå namnet på annat vis. Då testades användandet av plan istället för ytor. Både befintliga och nya plan användes då det var möjligt att automatiskt se namnet genom inspelning av händelsen. SolidWorks verkar nämligen förstå namnet på planen man valt att skapa mates mellan och inte namnet på ytor. Ett litet problem återstod dock. Den väljer inte den valda komponentens plan utan det befintliga plan som ligger i sammanställningen, eftersom de har ett

övergripande identiskt namn. För att behålla varje plan unikt har programmet tilldelat dem varsin siffra med tidsorienterad ordningsföljd. Denna siffra har utvecklarna för SolidWorks valt att kalla för instance-id. Instance-id är ett nummer som gör sökvägen till komponenten unik. T.ex. om man har många komponenter i sin sammanställning som är identiska, dvs. utgår från samma 3D-fil måste sökvägen särskiljas. Därför tilldelas varje komponent ett instance-id nummer.

Nu var det möjligt att skapa mates mellan önskade komponenter. Information om hur AddMate3 fungerar och används kan läsas i följande (Spense, 2006).

Kodförklaring för AddMate3:    • Boolstatus: Om den lyckas med sin uppgift returnerar den true, annars false.  • Part.Extension.SelectByID2 (”sökväg”): Markerar någonting som beskrivs i (”sökväg”)  • (”PlanVertikalSM@E P400 helstagning‐9@...”): Detta utdrag markerar ett plan i en  sammanställning med instanceID numret 9. Här definieras även vilket typ som markeras, t.ex.  ett plan.  • Part.AddMate3: Hämtar modulen för “matening”. Definierar vilken typ av mate och ingående  beroenden och förhållanden.  • Part.ClearSelection2 True: Avmarkerar det markerade.      5

Mate är en funktion i sammanställningsläget i SolidWorks där man skapar relationer mellan plan, ytor, kantlinjer osv. detta görs mellan två olika komponenter för att på så vis få dem placerade på det vis och den position man önskar.

(25)

'Mate delstagning      boolstatus = Part.Extension.SelectByID2("PlanVertikalSM@E P400 helstagning‐9@E P400 1  Sektion/E Komplett grenställspelare P400 H3200 Armlängd 1200 2 Armnivåer‐2@E P400  helstagning/E P400 H4000 4 Armar Armlängd 1500 tung‐1@E Komplett grenställspelare P400 H3200  Armlängd 1200 2 Armnivåer/Sammansättning P400 Pelare‐1@E P400 H4000 4 Armar Armlängd 1500  tung/Pelarbalk P400 alla tjocklekar‐1@Sammansättning P400 Pelare", "PLANE", 0, 0, 0, True, 1,  Nothing, 0)        boolstatus = Part.Extension.SelectByID2("PlanSektionMate@E P400 delstagning‐10@E P400 1  Sektion/Stagning 4000mm grenställ 1465_1350 stagning‐1@E P400 delstagning/Stagfäste med bult‐ 11@Stagning 4000mm grenställ 1465_1350 stagning/19 598 504 xxx Stagfäste‐1@Stagfäste med  bult", "PLANE", 0, 0, 0, True, 1, Nothing, 0)        Set mate = Part.AddMate3(swMateCOINCIDENT, swMateAlignALIGNED, False, 0, 0, 0, 0, 0, 0, 0, 0,  False, mateError)      Part.ClearSelection2 True  3.4.3 Lightweight

Tack vare att tid är pengar så borde det vara bra att sammanställningen öppnades i lightweight, som innebär att endast en bråkdel av modellens data öppnas i datorns minne och öppnar resten vid behov. Detta för att snabba upp processen när SolidWorks främst öppnar upp men även modifierar sammanställningen och de ingående komponenterna. Men problem uppstod när programmet skulle markera ytan på en komponent i

sammanställningen.

Lightweight utesluter alla features för varje komponent i sammanställningen. Det visuella ser likadant ut, men sammanställningen saknar innehåll. I och med att komponenterna i sammanställningen saknade innehåll var det inte möjligt att markera ytor vilket gjorde det omöjligt att justera mått osv.

Därefter uppkom en lösning som innebär att man öppnar hela detaljen i lightweight för att sedan ändra tillbaka hela modellen till resolved (”vanligt” läge, inte lightweight) innan modifierandet av komponenter och mått. Men vi märkte att den tid man sparade in på att öppna detaljen i lightweight förloras i samband med den senare ändringen till resolved. Utav denna information togs beslut om att lightweight inte kommer inkluderas i makrot.

3.4.4 Diagonalstagning

För information angående stagning, se rubrik: Stag. Den första utmaningen med diagonalstagningen var att ingen kunskap fanns för hur man programmerar hur antalet diagonalstag ska anpassas till angiven höjd på pelarbalkarna, samtidigt som det översta och understa diagonalstaget alltid ska sitta ihop med respektive horisontalstag. Men efter lite brainstorming och diskussion sinsemellan kom vi fram till en möjlig och funktionell lösning.

Arbeta i konfigurationer där ca tolv diagonalstag inkl. stagfästen görs, i en undersammanställning som består av lika många konfigurationer, en för varje

diagonalstag. Låta horisontalstagen vara i en egen undersammanställning för att smidigt och utan krångel kunna reglera det övre horisontalstaget, som sitter ihop med det översta diagonalstaget. Regleringen av det övre horisontalstaget ska ske genom att det

(26)

ha en koppling till hur många diagonalstag som väljs. Koda villkor som väljer vilken konfiguration, hur många diagonalstag, som ska användas beroende på pelarbalkens höjd.

3.4.5 Pelarstagning

För information angående stagning, se under rubrik: Stag.

Utmaningen med detta moment var att programmeringen skulle ske så att det lades till extra horisontalstag på den sista sektionen, då det är ett grenställ med jämnt antal sektioner. Men det finns vissa svårigheter med en sådan programkod. Det ska nämligen läggas x antal horisontalstag beroende på grenställets höjd. Likaså ska dessa

horisontalstag läggas till på olika ställen, i höjdled på den sista sektionen. Men efter en del tankeverksamhet från oss löstes problemet. Det enda negativa med den programkod som skrevs var att det blev väldigt mycket programkod, ändå användes funktioner som

möjliggör smidig återanvändning av kod, vid de tillfällen då det fanns behov av det.

3.4.6 Reducera tiden för visualisering av skapade mate

Strävan låg hela tiden i att korta den tid det tar för automatiseringsprogrammet att skapa ett geometriskt modellerat grenställ, med hjälp av parametrar som användaren angivit. Detta för att göra programmet mer konkurrenskraftigt, likaså är all tid man kan reducera bara positivt för användaren och företaget.

För att snabba upp denna process har en inställning i SolidWorks nyttjats där man kan avaktivera eller aktivera en funktion som möjliggör visualisering av förflyttningen av de komponenter som det skapats mate emellan. Väljer man att aktivera denna inställning (vilket den oftast är som standard) kan man justera hur fort det går när SolidWorks visualiserar de komponenter som förflyttas till positioner för att kunna tillfredställa de mate som skapats. Därför togs beslutet att avaktivera denna funktion för att spara in den tid det tar då SolidWorks visualiserar komponentflyttningen. Detta därför att det kan vara väldigt mycket mates som skapas då användaren vill skapa ett grenställ med många sektioner. Det finns därför mer tid att spara desto ”större” grenställ användaren väljer att skapa i avseende på antal sektioner. Med andra ord så kortas tiden ner för vad det tar för programmet att skapa ett geometriskt modellerat grenställ.

Noterbart är att ju bättre dator konstruktören har desto mer tid går att vinna.

3.4.7 Skapa ritning

Weland Lagersystem AB önskade att få två ritningar. En där hela grenstället och alla dess sektioner visas i isometrisk projektion med parallellperspektiv6, samt en ritning med ortografisk projektion enligt europeiskt och svensk ritningsstandard. En vy framifrån och en vy från sidan av grenstället placeras ut i den sistnämnda ritningen. Dock ska vyn som illustrerar grenstället framifrån inte visa alla ingående sektioner, detta pga.

pappersutrymme och att stagningen alltid följer ett visst mönster som de första sektionerna visar.

Till en början uppstod stora problem angående skapandet av ritning för

sammanställningen. Vyerna hamnade i ritningsläget men däremot hamnade alla vyer över varandra, samtidigt som ritningsmallen blev oerhört liten i förhållande till vyerna.

6

(27)

Slutsatsen kunde dras att vyerna var tvungna att skalas ner eller att skala upp ritningsmallen. Beslutet resulterade i att skalan på Weland Lagersystem ABs grundritningsmall modifierades så att makrot slapp utföra skaljusteringen.

När väl den första utmaningen var löst, uppstod nästa. Deras önskemål var att både få en ritning i isometrisk projektion med parallellperspektiv samt en ritning i ortografisk projektion med två vyer, framifrån och från sidan. Den isometriska vyn var inga problem att lösa, men däremot var det värre med den andra ritningen. En funktion som heter break view (brytningslinje) användes i ritningen, detta för att ta bort en del sektioner (i mitten) i vyn som illustrerar grenstället framifrån pga. utrymmesbrist. Dock är man tvungen att ange var, med koordinater, i vyn som brytningslinjerna ska läggas. Vilket skiljer sig beroende på antal sektioner och vald sektionsbredd, därför ansågs det väldigt tidsödslande och det skulle kräva väldigt mycket programkod för att specificera var brytningslinjernas koordinater ska vara beroende på antal sektioner och sektionsbredd. Vi lyckades programmera så mått automatsikt genereras på ritningen. Dock tog detta väldigt lång tid för datorn att genomföra (när man kör programmet). Funderade på hur det var möjligt att gå runt detta problem och kom på en annan variant, där inspelning av när mått lades in för hand skedde. Vilka mått som skulle läggas till var redan genomtänkt där vi utgick efter följande tankesätt (Johannesson, Persson och Pettersson, 2004).

• Måttsättning ska göras entydigt, alltså inte använda fler mått än nödvändigt.

• Det är ofta bra att ange olika längdmått längs en detalj utgående från ett referensplan, baslinje.

• Måttsättningen ska vara anpassad efter tillverkning.

Programkoden som framkom av detta beräknades vara lösningen på problemet. Men även det skulle visa sig att inte fungera fullt ut, pga. att programmet markerar en punkt i ett koordinatsystem. Detta medför problem när grenstället ändra utformning och storlek, i form av antal sektioner och sektionsbredder. Den koordinat som är inprogrammerad kommer därför oftast vara helt fel och markerar antingen en annan linje eller en tom yta.

Detta lades åt sidan på grund av tidsbrist men nackdelen blir att de får sätta ut

brytningslinjer själva, samt de mått de vill att ritningen ska innehålla. Det som genereras är en ritning i isometrisk projektion med parallellperspektiv som både sparas som pdf och slddrw. Den ritningen stängs sedan för att öppna en ny där de två vyerna med ortografisk projektion läggs in. Efter detta krävs det manuellt arbete som innebär att lägga till mått, brytningslinjer och spara ritning.

(28)

4 Resultat och analys

Kapitlet beskriver de resultat som genererats under arbetet. De baseras på information som är framtagen med hjälp av metoderna som beskrivits i kapitel 3. Det som

presenteras i detta kapitel kommer alltså från tester, intervjuer, fakta från affärssystem, litteraturer och lärdomar från problem som framkommit inom

programmeringsprocessen.

Resultaten ligger till grund för vägval och fattade beslut under arbetets gång, likaså för analyser och slutsatser.

4.1 Utformning av lösningsförslag

Frågeställning 1

Med hjälp av funktionsanalysen och inkommen information kunde slutsatsen dras att två möjliga lösningsförslag fanns. Den ena är programmering i Excel medan den andra är makroprogrammering.

Med programmering i Excel menas skapande av gränssnitt i Microsoft Office Excel med exempelvis textrutor eller rullistor. Detta för att sedan länka de inskrivna eller valda värdena till berörda komponenters mått för att på så vis kunna ändra på den geometriska modellens (grenställ i detta fall) ingående komponenters utformning.

Makroprogrammering fungerar på liknande vis när det gäller att man utformar ett gränssnitt med exempelvis textrutor och rullistor där användaren antingen skriver in värden eller väljer mellan förbestämda värden. Dessa värden länkar sedan programmet ihop med de berörda komponenternas mått i den geometriska modellen (grenställ i detta fall) som ska ändra utformning beroende på de angivna värdena. Makroprogrammeringen gjordes i programmeringsspråket VBA som är integrerat med SolidWorks.

4.1.1 Funktionsanalys

Här har utmärkande funktioner handplockats och fått en beskrivande motivering till varför de anses nödvändiga eller varför de valts bort.

• Hämtar färdigbyggda grenställ ur filarkivet (standardsortiment). KLASSIFICERING: Onödig

Låt säga att Weland Lagersystem AB har fått en order på ett grenställ där alla parametrar stämmer överrens med en tidigare order. Vore det inte bra om man då istället kunde öppna upp en existerande kopia på ett grenställ med det utförandet? Jo, det skulle snabba upp processen något. Men samtidigt gäller det att tänka på att grenställ finns i väldigt många utföranden och chansen att en identisk beställning av grenställ uppkommer är relativt liten. Tidsmässigt, och därmed ekonomisk, skulle det endast innebära en så pass liten vinst, som dessutom är svårvärderad, att den fasta kostnaden för att programmera en sådan funktion skulle bli för stor att kunna återhämtas inom rimliga tidsramar. Därmed fastslogs funktionen som onödig.

(29)

• Anpassningsbara parametrar (Ex. Pelarbalk bredd anpassningsbar) KLASSIFICERING: Huvudfunktion

Att samtliga parametrar ska vara anpassningsbara är självklart och utan denna funktion faller hela konceptet med en automatisering. Därför klassificeras den som den primära funktionen.

• Constraints7

KLASSIFICERING: Nödvändig

För att en automatisering ska anses funktionell och användbar är det mycket viktigt att se till att finna ett sätt för användaren att undvika fel. Ett fel kan ofta förstöra hela

processen och en automatiserings syfte förspills direkt. • Komprimerat

KLASSIFICERING: Önskvärd

En liten användaryta som förmedlar tillräckligt med information genom ett minimalt antal informationsenheter gör modellen lättöverskådlig, är någonting som uppskattas och bör därför tänkas över mer än en gång innan slutresultatet levereras. Allt handlar inte om innehållet, utan det är viktigt att leverera en produkt i en acceptabel förpackning också. Men det är trots allt innehållet som dominerar i automatiseringen och därför klassificeras denna som önskvärd.

Läs mer om funktionsanalysen i bilaga 2.

4.2 Jämförelse av uppnåbarhetsgraden

När nu funktionsanalysen samt de två lösningsförslagen var framtagna, var det dags att jämföra graden av uppnåbarhet för respektive förslag. Det detaljerade resultatet finns att se i bilaga 3 och bilaga 4, men här presenteras ändå de värden som returnerades av metoden.

Maxvärdet för graden av uppnåbarhet för funktioner = 125 (100,0%) • Grad av uppnåbarhet för funktioner, Excel = 62 (49,6%) • Grad av uppnåbarhet för funktioner, makro = 86 (68,8%) Ju högre värdet är desto lättare är det att uppnå funktionerna.

Av resultatet att tolka, finns det stor potential i ett makro då dess fördelar och styrkor är ganska överlägsen Excel. Med andra ord, fördel makro.

7

Constraints betyder tvång. I detta avseende menar vi att ”tvinga” användaren att undvika fel genom att hålla dem på vägen.

(30)

4.3 Investeringsnytta

Frågeställning 2

Diagrammet nedan, Figur 8, är ett resultat av en jämförelse mellan konfigurationer i Excel och makroprogrammering. Det visar hur lång tid det tog att färdigställa olika delmoment i uppbyggnaden av automatiseringen. För mer information angående jämförelsen, se rubrik: Mätning av tidsskillnad för automatiseringsprocessen.

0 2 4 6 8 10 12

Start Gränssnitt Förberedande  kod Programmering Tid  (min)

Automatisering på simpel komponentnivå 

Makro Excel

Figur 8: Diagrammet visar resultatet av ett test utfört av oss som ska indikera tidsåtgången

i ett väldigt tidigt stadium i automatiseringsprocessen. Testet gjordes på en enskild, enkelt dimensionerad detalj (ett rör) på partnivå. Med andra ord består detta exempel endast av en liten bråkdel av den omfattning som den slutgiltiga automatiseringen kommer bestå av. Båda programmeringsalternativen har samma funktioner och likvärdigt gränssnitt vad gäller användarvänlighet.

Diagrammet ovan, Figur 8, visar att Excel-programmeringen tog betydligt mindre tid än dess konkurrent. På den här nivån låg den största skillnaden i programmeringen eftersom Excel sköter mycket av det per automatik. I makrot däremot finns inga genvägar, utan det krävs en hel del redigering av den kod SolidWorks genererar vid inspelningen samt att det krävs mer manuellt kodande.

(31)

I diagrammet nedan, Figur 9, visas uppskattade värden när automatiseringsprocessen går vidare från komponentnivå till sammanställningsnivå8 och slutligen ritningsnivån. Det diagrammet illustreras därför att produkten som examensarbetet berör kommer att kräva en fullständig automatisering, dvs. innehålla alla dessa tre steg.

Figur 9: Detta diagram visar uppskattade programmeringstider från komponentnivå till

ritningsnivå (innan dess, från start till komponentnivå, baseras informationen på diagrammet som illustreras i Figur 8). Uppskattade värden för respektive

automatiseringsprocess ligger på simpel nivå, där endast de grundläggande funktionerna ingår. Alltså, dessa tider går inte jämföra med programmeringen av produkten grenställ som kräver en betydligt mer avancerad och omfattande programmeringskod.

Den främsta anledningen till att makroprogrammeringen tar igen så mycket tid på Excel-programmeringen är tack vare att den grundläggande kodningen redan är gjord på partnivån. Det är mestadels finjusteringar och inmatning av sammanställningsanpassad kodning som krävs. Som det går att urskilja i diagrammet är Excel begränsat till den grad att sista steget, automatisering på ritningsnivå, är helt obefintlig. Denna begränsning tar automatiseringen ur spåret och användaren tvingas utföra allt arbete på ritningsnivå manuellt.

Nedan, se Figur 10, visar vilket av lösningsförslagen som har störst genomslagskraft under en tidsperiod på fem år. Diagrammet grundar sig på information från

investeringskalkylerna (se bilaga 5 och bilaga 6).

8

En sammanställning består av minst två komponenter som tillsammans bildar en egen produkt. 0 20 40 60 80 100 120 140 160 180

Start Komponentnivå Samman‐ ställningsnivå Ritningsnivå Tid  (min)

Automatiseringsprocess på simpel nivå

Makro Excel

(32)

‐80000 ‐60000 ‐40000 ‐20000 0 20000 40000 60000 80000 100000 0 1 2 3 4 5 SKR Tid/år

Investeringsnytta 5år

Makro Excel 2.38 år 2 år och 5 månader 2 år och 10 månader 3 år och 3 månader

Figur 10: Textrutan (2 år och 5 månader) visar när Excel förslaget uppnår nollresultat.

Textrutan (2 år och 10 månader) visar när makroförslaget uppnår nollresultat, medan textrutan (3 år och 3 månader) visar när vartdera förslaget uppnår samma lönsamhet.

4.4 Val och motivering av automatiseringsförslag

Det framgår av diagrammen ovan, Figur 8,Figur 9 och Figur 10, vilket av lösningsförslagen som är mest lönsamt och lämpligt att applicera hos Weland Lagersystem AB. För det första är det helt klart enklare att uppnå funktionerna automatiseringen är tänkt att innehålla genom makro. Siffrorna 86 (makro) mot 62 (Excel), där en så hög siffra som möjligt är att önska, styrker detta. Investeringsnyttan förstärker makroförslaget genom att vara en bättre långsiktig investering. Likaså ska programmet vara framåtkompatibelt och dess innehåll ska gå att justera vid behov, med hjälp av skrivna instruktioner, vilket ytterligare styrker makrots långsiktiga inriktning. Med denna information som grund valdes lösningsförslaget; makroprogrammering och därmed implementera detta hos Weland Lagersystem AB.

(33)

4.5 Gränssnitt

Produktens designprofil togs fram med inspiration av broschyrer som tillhör produkten. Där fanns en färgkod som kom att användas. Användarvänligheten togs ut genom brainstorming och skissning. Flera förslag togs fram varav en utsågs efter diskussion författarna sinsemellan.

Genom diskussion framkom det att gränssnittet ska utformas genom att hela tiden arbeta med ett relativt litet fönster med en fast storlek, och när det fönstret inte kan visa eller behandla mer information eller när det är lämpligt att byta från ett avsnitt till ett annat, byts det ut mot ett nytt. Givetvis sker detta på ett logiskt sätt så att fönsterbytet endast sker med användarens godkännande.

Dock insågs det snabbt att den preliminära utformningen hade sina brister. Det var tänkt att ett fönster endast skulle innehålla ett område. Detta för att verkligen förtydliga för användaren att på aktivt fönster är det detta som gäller, byt sida när du är klar och fokusera på nästa område. Bristerna låg i att det hade blivit väldigt komplicerat att kommunicera mellan olika områden eftersom data som genererats i visst fönster lätt tappas bort. Dessutom måste datan grupperas in och struktureras för att hålla isär all information, samt att det skulle förekomma stor återanvändning av tidigare skriven kod. Därför togs beslutet att integrera en del områden och därmed placera dem i samma fönster. Det blev ändå tydligt vilket område som är aktivt, men det löstes efter att programmets funktionella del var färdig.

Generellt sett är metoden för programmering mycket trial and error som bygger på en övergripande plan över gränssnittets utformning på olika nivåer. Pga. detta är det ofta väldigt tidskrävande att programmera program där erfarenheten i stort sett är obefintlig. Användaren kommer ange data i olika form under programmets gång. Gränssnittet ska kunna göra det möjligt att skapa ett grenställ efter de begränsningar och principer som finns på Weland Lagersystem AB. Vissa inmatningar har inga begränsningar och

användaren kan helt själv anpassa värdet efter behov. Men det existerar också parametrar där ett förutbestämt antal alternativ finns att välja mellan. I de fallen har rullistor använts där användaren väljer mellan de alternativ rullistan har att erbjuda.

4.5.1 Förhandsgranskning av färdig produkt

För att tydligt beskriva hur programmet som ska automatisera konstruktionsprocessen, för produkten grenställ, är uppbyggt och hur gränssnittet ser ut visualiseras det i form av bilder för varje steg i programmet. Dessa steg beskriver upplägget och vad programmet åstadkommer i modifieringen av 3D-filen/geometriska modellen (grenstället) i

SolidWorks. Hela förloppet från att starta till att stänga automatiseringsprogrammet visas, likaså illustreras det visuella resultatet efter varje steg med bilder tagna från SolidWorks. Visningen nedan behandlar enbart förloppet för ett enkelställ eftersom programstegen är identiska de som tillhör dubbelstället. Den enda skillnaden är att en dubbelställs 3D-fil öppnas upp efter den första programrutan.

Figure

Figur 1: Bilden illustrerar en sektion enkelställ med beskrivning av ingående  komponenter.
Figur 2: Bilden visar flödesschemat från förfrågan till order på Weland Lagersystem AB
Tabell 1: Här beskrivs vilka armlängder som finns tillgängliga beroende på dess  godstjocklek
Figur 6: Bilden visar två profiler som tillsammans bildar pelarbalkens profil. Måttet P är  pelarbalkens profilhöjd medan t är dess godstjocklek
+7

References

Related documents

Här redogörs för vad det innebär att kunna läsa och skriva, olika faktorer som främjar läs- och skrivutveckling samt hur man främjar alla elevers läs- och skrivutveckling..

Åkerblom, A.. Hämtad från databasen Mediearkivet. ”Landstinget säger nej till 24 000 i ingångslön”. Hämtad från databasen Mediearkivet. Hämtad från databasen

I resultatet om hur lärare förhåller sig till ett skrivande för hand lyfte lärarna olika möjligheter och förhållningssätt i undervisningen, och ur denna

Relevant för projektet var att se till befintliga alternativ av lagersystem och materialhantering i relation till de behov som Reklamcentra har.. Genomförandet utfördes med

Lärare uppgav också att det var svårt att avgöra om Puls för lärande hade påverkat elevernas kognitiva förmåga på något vis, då en utveckling har skett hos eleverna,

Vårt syfte med den empiriska studie i vår uppsats är att identifiera och få förståelse för de designprinciper och besöksfrämjande aktiviteter som en webbyrå använder vid

Informationscentralen för egentliga Östersjön, stationerad på Länsstyrelsen i Stockholms län, Informationscentralen för Bottniska Viken, stationerad på Länsstyrelsen

Särskilt vid tillfällen då läraren själv inte är närvarande, till exempel på raster, är det viktigt att de andra lärarna har en medvetenhet om elevens diagnos och