• No results found

Jämförelse mellan pollning och användande av en aktiv databas i ett CIM-scenario. (HS-IDA-EA-97-402) Bengt Calestam (a94benca@ida.his.se)

N/A
N/A
Protected

Academic year: 2021

Share "Jämförelse mellan pollning och användande av en aktiv databas i ett CIM-scenario. (HS-IDA-EA-97-402) Bengt Calestam (a94benca@ida.his.se)"

Copied!
58
0
0

Loading.... (view fulltext now)

Full text

(1)

aktiv databas i ett CIM-scenario.

(HS-IDA-EA-97-402)

Bengt Calestam (a94benca@ida.his.se) Institutionen för datavetenskap

Högskolan i Skövde, Box 408 S-54128 Skövde, SWEDEN

Examensarbete på det dataekonomiska programmet under vårterminen 1997.

(2)

CIM-scenario.

Examensrapport inlämnad av Bengt Calestam till Högskolan i Skövde, för Kandidatexamen (BSc) vid Institutionen för Datavetenskap.

1997-06-12

Härmed intygas att allt material i denna rapport, vilket inte är mitt eget, har blivit tydligt identifierat och att inget material är inkluderat som tidigare använts för erhållande av annan examen.

Signerat: _______________________________________________

(3)

CIM-scenario.

Bengt Calestam (a94benca@ida.his.se)

Key words: Active database, Computer-integrated manufacturing, CIM, polling

Abstract

The purpose of this paper is to show a situation where polling has a negative influence to a production in CIM. Active databases offer a solution to the problems with polling by executing appropriate actions when a certain event occur or certain conditions are satisfied. Two problems are investigated. What will the effects be to the manufacturing if the polling frequency change and if an active database system is used? Is it possible to make a profit by using an active database system?

To answer these questions three situations were modelled with different polling frequency. These situations were compared to one where an active database were used. The results indicate that the polling is negative to the manufacturing and that it is possible to make profit by using an active database system. Whether these results are true in a general situation is difficult to judge.

(4)

Sammanfattning ... 1

1 Bakgrund ... 2

2 Introduktion... 4

2.1 Aktiva databassystem ...4

2.1.1 Vad är en databas?...4

2.1.2 Vad är ett aktivt databassystem? ...4

2.1.3 Olika typer av regler och reglers konstruktion ...6

2.1.3.1 ECA-regler...6

2.1.3.2 CA- och EA-regler ...7

2.1.4 Komponenter i regelspråk ...7

2.1.5 När ska en regel exekveras? ...8

2.1.6 Jämförelse mellan passivt och aktivt databassystem ...9

2.1.7 Tidigare och pågående forskning...11

2.2 Computer-integrated manufacturing (CIM)...12

2.2.1 Vad är CIM?...12

2.2.2 Komponenter i CIM...12

2.2.2.1 Computer-aided design (CAD) ...13

2.2.2.2 Computer-aided process planning (CAPP) ...13

2.2.2.3 Computer-aided manufacturing (CAM) ...13

2.2.2.4 Computer-aided quality control (CAQC) ...14

2.2.2.5 Automated storage and retrieval system (AS/RS) ...15

2.2.3 Varför CIM?...15

2.2.4 Databasens roll i CIM ...15

2.2.5 Flexible Manufacturing Cell (FMC)...17

2.2.5.1 Vad är en FMC?...17

2.2.5.2 Komponenter i FMC ...17

2.2.6 Flexible Manufacturing System (FMS) ...18

2.2.6.1 Vad är ett FMS?...18

2.2.6.2 Vad uppnås med FMS?...18

3 Problembeskrivning ... 20

3.1 Problemställningar...23

3.2 Avgränsningar ...24

(5)

4 Möjliga lösningar och val av metod... 25

4.1 Litteraturstudie...25

4.2 Fallstudie...25

4.3 Experiment...26

5 Utformning av scenariot ... 29

5.1 Beräkning av den totala genomsnittliga tidsfördröjningen...32

5.2 För hög pollningsfrekvens ...37

5.3 För låg pollningsfrekvens...39

5.4 Den mest fördelaktiga pollningsfrekvensen ...41

5.5 Aktiv databas ...42

6 Värdering och analys ... 44

7. Slutsatser ... 46

8 Diskussion ... 47

9 Uppslag till fortsatt arbete... 51

Referenser ... 52

(6)

Sammanfattning

Konventionella databassystem är passiva. Detta innebär att databasen förändras genom explicita användarkommandon. Ett aktivt databassystem är ett databassystem som bevakar situationer (events) av intresse och, när de inträffar, utlöser ett lämpligt beteende (action) förutsatt att ett visst villkor (condition) är uppfyllt [Kim95]. De aktiva databassystemen sägs ha ett aktivt beteende. Detta beteende kan t ex specificeras i sk ECA-regler.

I de passiva databassystemen kan det aktiva beteendet efterliknas på två olika sätt.

Bägge lösningarna medför dock problem. Den första lösningen innebär att applikationsprogrammen byggs ut med kod för villkor och handling samt med kod för att kunna kontrollera om händelsen har inträffat. En av nackdelarna med denna lösning är att samtliga relevanta applikationsprogram måste sökas upp och justeras då villkoret och/eller handlingen ska förändras.

I den andra lösningen ställer applikationsprogram frågor med jämna mellanrum till databasen (pollas) för att kontrollera om villkoret är uppfyllt. Det största problemet med att polla databasen är att fastställa den lämpligaste pollningsfrekvensen. Då pollningsfrekvensen är för hög överbelastas databasen och dess prestanda blir lidande.

Om databasen däremot pollas för sällan uppstår en tidsfördröjning innan händelsen upptäcks. I vissa fall kanske inte händelsen upptäcks alls. Enligt [L&L95] blir problemet med pollning större desto fler applikationsprogram som pollar databasen.

Ett tänkbart användningsområde för aktiva databaser är computer-integrated manufacturing (CIM) [Gat95] m.fl. Enligt [Kus90] är CIM ett koncept antaget av företag för att förbli konkurrenskraftiga. CIM skulle även kunna sägas utgöra ett verktyg genom vilket företag försöker spara tid och pengar.

Pollningen antas inverka negativt på tillverkningen i CIM. Jag har försökt visa att antagandet är riktigt genom att i en experimentcell utforma tre olika situationer där pollningsfrekvensen är olika samt en situation där en aktiv databas används. I arbetet har följande problemställningar undersökts:

• Vilka blir effekterna på genomflödet och på kapacitetsutnyttjandet om databasen pollas med olika frekvenser och om en aktiv databas används i den specifika tillämpningen i cellen?

• Är det möjligt att göra några ekonomiska vinster, dvs att spara in tid och kapital eller att öka intäkterna, genom att slippa polla i det aktuella scenariot och istället använda en aktiv databas?

Resultaten av arbetet visar att pollningen inverkar negativt på såväl genomflödet som på kapacitetsutnyttjandet i scenariot samt att bägge faktorernas värden förbättrades då en aktiv databas användes. Med andra ord kan pollningen anses inverka negativt på tillverkningen. Det visade sig även vara möjligt att göra ekonomiska vinster i scenariot genom att ersätta den passiva databasen med en aktiv. Hur omfattande vinsterna blev berodde bl a på vilken pollningsfrekvens den passiva databasen pollades med innan den aktiva databasen infördes. Vilka resultaten blir i andra situationer är dock svårt att uttala sig om.

(7)

1 Bakgrund

[Kus90] skriver att computer-integrated manufacturing (CIM) kan sägas vara ett koncept antaget av ett antal företag för att förbli konkurrenskraftiga. CIM skulle också kunna beskrivas som ett verktyg med vilket företag försöker spara tid och pengar.

Enligt [Vaj95] har CIM utvecklats sedan mitten av 1970-talet. Det var emellertid först under 1980-talets senare hälft som CIM blev praktiskt genomförbart [Vaj95]. Faktorer som bl a den växande internationella konkurrensen, utvecklingen av NC-maskinerna (numerical controlled), datorernas pris- och prestandautveckling samt kraven på kvalitet och produktansvar drev på utvecklingen av CIM [Vaj95].

En viktig del av ett CIM-system är databasbehandlingen [Ran90]. Flera fördelar kan uppnås genom att använda databashanteringssystem. Bl a kan inkonsistens undvikas och redundant data reduceras. Databashanteringssystemen i CIM är passiva. Detta innebär att databasen förändras genom explicita användarkommandon.

Ett aktivt databassystem däremot har ett sk aktivt beteende vilket gör att databas- systemet självt utför vissa operationer (action) automatiskt som svar på bestämda händelser (event) och/eller att vissa villkor (condition) uppfylls [W&C96]. Det aktiva beteendet specificeras i regler, t ex ECA-regler. Databasen kan således förändras utan explicita användarkommandon.

Detta kan lösas på två sätt i en passiv databas men bägge lösningarna medför problem [Gat95] [W&C96]. Den första lösningen innebär att applikationsprogrammen byggs ut för att utföra en handling, om ett villkor är sant, då en händelse inträffar. Utbyggnaden måste göras i varje applikationsprogram som kan påverka den bevakade situationen.

Detta medför problem. Exempelvis måste koden i samtliga berörda applikationsprog- ram justeras då villkoret och/eller handlingen ska förändras.

Den andra lösningen innebär att applikationsprogram med jämna mellanrum ställer frågor till databasen, dvs databasen pollas. Det största problemet med denna lösning är att fastställa hur ofta det är lämpligt att polla databasen.

Ett tänkbart användningsområde för databaser med ett aktivt beteende är enligt [CAM93], [Cha92], [Cha93], [Gat95] och [Mis91] bl a CIM. Eftersom databas- systemen i CIM är passiva uppstår problemen med pollning alternativt utbyggnad av applikationsprogrammen.

Det är problematiken kring pollande applikationsprogram i CIM som mitt examens- arbete kommer att behandla.

(8)

Nedan ges en översikt över rapportens struktur.

Rapportdel Kapitel Kommentarer

Introduktion 2 Aktiva databaser och CIM presenteras.

Problembeskrivning 3 Problemområdet diskuteras. Sedan väljs problem och avgränsningarna specificeras.

Metoddel 4 Möjliga metoder diskuteras och en metod

väljs.

Genomförande 5 Förutsättningarna för scenariot slås fast.

Därefter utformas de olika situationerna.

Värdering och analys 6 Utfallen i de olika situationerna värderas och analyseras.

Slutsatser 7 Slutsatser dras utifrån det som framkom av situationerna.

Diskussion 8 Slutsatserna och resultaten diskuteras.

Uppslag till fortsatt arbete 9 Förslag till fortsatt arbete ges utifrån resultaten och arbetet.

(9)

2 Introduktion

2.1 Aktiva databassystem

2.1.1 Vad är en databas?

[E&N94] skriver (sidan 17):

”… we defined a database as a collection of related data …”

[E&N94] fortsätter (sidan 17):

”A typical database represent some aspect of the real world and is used for specific purposes by one or more groups of users.”

En databas är sålunda, enligt min tolkning av [E&N94], en samling besläktad data, som representerar någon aspekt av omvärlden och som används för något specifikt ändamål av en eller fler grupper av användare.

Notera att en databas enligt definitionen inte måste vara datoriserad. I detta arbete använder jag dock ordet databas i betydelsen datoriserad databas.

Databaser gör det möjligt att lagra, organisera, ta emot och styra information på ett sätt som det inte vore möjligt att göra utan datorer [Bee94].

Enligt [E&N94] är ett databashanteringssystem (DBHS) en mjukvara för implemen- tering och underhåll av en datoriserad databas. Tillsammans utgör databasen och mjukvaran ett databassystem [E&N94].

Ett databassystem kan också definieras som ett datoriserat system vars övergripande syfte är att underhålla data och att göra denna data tillgänglig när den efterfrågas [Dat95].

Databassystemen kan kategoriseras enligt olika principer. Exempelvis är det möjligt att dela in dem efter vilken datamodell de är uppbyggda. Genom denna indelning fås bl a relationsdatabassystem och objektorienterade databassystem. Ytterligare en tänkbar indelning är i passiva och i aktiva databassystem.

2.1.2 Vad är ett aktivt databassystem?

Konventionella databassystem är passiva. Med detta menas att systemet utför opera- tioner då en användare eller ett applikationsprogram explicit begär detta. Något förenklat kan ett passivt databassystem sägas lagra, ta emot, modifiera och ta bort data.

Det finns även aktiva databashanteringssystem (ADBHS). [W&C96] skriver (sidan 2) att ett databassystem är aktivt om:

”… the database system itself performs certain operations automatically in response to certain events occurring or certain conditions being satisfied.”

Enligt [W&C96] är databassystemet aktivt om databassystemet självt utför vissa operationer automatiskt som svar på bestämda händelser eller att vissa villkor uppfylls

(10)

situationer av intresse och, när de inträffar, utlöser ett lämpligt beteende [Kim95]. I [DGG96] anges ett antal kriterier som ska vara uppfyllda för att en databas ska ses som en fullfjädrad aktiv databas.

Således kan de aktiva databassystemen sägas göra något mer än att lagra, ta emot, modifiera och ta bort data. De har ett aktivt beteende. Ett exempel på ett sådant beteende kan t ex vara att en automatiskt kontroll av inferensintegriteten utförs då en användare lägger till ny data i en tabell eller skapar ett nytt objekt.

Ett annat exempel är att en automatiskt kontroll av lagersaldot utförs när en anställd tar ut ett antal artiklar ur lagret. Om antalet artiklar i lager understiger ett visst gräns- värde sker en beställning av nya varor. Denna kontroll utförs sålunda utan att användaren har begärt detta. Databasen kan med andra ord förändras utan explicita användarkommandon.

Grunden till det aktiva beteendet som finns i dagens aktiva databassystem kommer från tre områden [EBL97]:

• artificiell intelligens

• programmeringsspråk

• databaser

Sambanden mellan dessa områden visas i figur 1.

AI regelsystem Databassystem Expertdatabassystem

Aktiva databassystem årtal

1970 1980 1990 2000

Programmeringsspråk

Figur 1: De aktiva databasernas historia. (Baserad på [EBL97].)

(11)

2.1.3 Olika typer av regler och reglers konstruktion

Det aktiva beteendet specificeras i regler med hjälp av ett regelspråk. Specificeringen av reglerna görs av användare, applikationsprogram och databasadministratörer.

Reglerna lagras i databasen vilket innebär att de kan delas av flera applikations- program. Det finns ett par olika typer av regler. Dessa presenteras nedan.

2.1.3.1 ECA-regler

Det aktiva databassystemets regler består oftast av tre huvudkomponenter: händelse (event), villkor (condition) och handling (action). Dessa regler kallas för ECA-regler.

Nedan beskrivs de olika komponenterna.

Händelse

Händelsedelen i en regel specificerar den händelse som orsakar att regeln utlöses.

Exempel på sådana händelser är att data läggs till i en tabell, att ett objekt av en viss klass skapas eller att lagernivån för en artikel understiger ett fastställt gränsvärde.

Händelser kan kategoriseras. Några möjliga kategorier är enligt [W&C96]:

Modifiera data. Händelser där data modifieras eller förändras på något sätt utgör en kategori. I en relationsdatabas skulle denna kategori av händelser motsvaras av någon av följande tre SQL-operationer: ta bort (delete), lägg till (add) eller uppdatera (update) data i en tabell. Motsvarande operationer i en objekt- orienterad databas skulle vara att skapa, ta bort eller modifiera ett visst objekt i en bestämd klass.

Hämta data. Denna händelses motsvarighet i en relationsdatabas skulle t ex kunna vara en select-operation på en viss tabell. En jämförbar operation i en objektorienterad databas skulle kunna vara att ”hämta” ett objekt.

Tid. Vissa händelser är tidsbestämda. Detta innebär att en sådan händelse specificerar att en bestämd regel ska utlösas vid en viss tidpunkt (t ex den 1 januari 1997 klockan 14.00), vid en upprepad tidpunkt (t ex alla dagar klockan 17.00) eller vid periodiska intervall (t ex varannan timme).

Applikationsdefinierade. Applikationsdefinierade händelser utgör ytterligare en kategori. Dessa händelser specificeras genom att låta en applikation definiera en händelse H och låta aktiva databasregler sätta H som triggerhändelse, dvs utlösande händelse. När H inträffar kommer således alla regler med H som triggerhändelse att utlösas. Genom detta kan applikationen övervaka och upptäcka när reglerna med association till händelsen H ska utlösas.

En regel utlöses av en händelse antingen när den har inträffat eller just innan en händelse inträffar.

Det finns enkla och sammansatta händelser. En sammansatt händelse består av en kombination av andra händelser. För att kombinera händelser används operatorer, som t ex sekvens, och samt eller.

Det är också möjligt att låta en regel utlösas om två eller flera händelser inträffar i en given sekvens. Ytterligare ett alternativ är att en regel utlöses av en kombination av

(12)

Några aktiva databassystems regelspråk accepterar att händelser ges parametrar. När en parameteriserad händelse inträffar binds värdena associerade med händelsen till dess parametrar. Parametervärdena kan sedan refereras i regelns villkor och handling.

Villkor

En regels villkorsdel specificerar de villkor som måste kontrolleras när en händelse inträffar. Om villkoren är uppfyllda, exekveras regelns handling eller operation.

Enligt [W&C96] kan villkor bl a uttryckas som databaspåståenden, dvs villkoret utgörs av ett påstående om något förhållande i databasen. Det är också möjligt att formulera villkor som databasfrågor eller som ett anrop till en applikationsprocedur.

Notera att det inte är någon skillnad i uttrycksmöjligheter mellan villkor specificerade som frågor och villkor specificerade som påståenden, eftersom databassystemets frågespråk har en facilitet för att uttrycka villkor.

I de fall det aktiva databassystemet tillåter parameteriserade händelser, innehåller troligen villkorsdelen en mekanism för att referera värdena i händelsens parametrar.

Handling

Då en händelse inträffar och dess villkor är sant exekveras regelns handling eller operation. Handlingen specificerar sålunda vad som ska ske då en händelse inträffar och om villkoret är sant.

En handling kan t ex vara att data modifieras genom SQL-operationer, såsom delete och update, eller att andra databasoperationer definieras, som t ex operationer för tilldelning och upphävande av användares rättigheter.

Det faktum att en händelse kan utlösa dataoperationer kan leda till att nya händelser utlöses. Detta resulterar i sk nästlade regler.

2.1.3.2 CA- och EA-regler

Genom att ge en triggerhändelse olika villkor kan olika handlingar utföras med hjälp av en ECA-regel. Det finns dock några aktiva databassystem vars språk stödjer regler som saknar triggerhändelser. Dessa regler kallas CA-regler (condition-action). Denna variant av regler utlöses så fort ett tillstånd uppnås sådant att regelns villkor blir sant eller då data modifieras så att villkoren uppfylls.

En CA-regel utgör ett mer deklarativt sätt att formulera regler på eftersom användaren inte behöver ange någon specifik händelse för att regeln ska utlösas [W&C96][Gat95].

CA-reglerna innebär också att användaren inte behöver bestämma när villkoren ska evalueras, utan detta är en uppgift för systemet.

En tredje variant av aktiva databassystemregler är EA-regler (event-action). Dessa regler saknar villkor, vilket innebär att handlingen utförs när den utlösande händelsen inträffar utan att något villkor evalueras.

2.1.4 Komponenter i regelspråk

I ett aktivt databassystems regelspråk måste regler, dvs händelse, villkor och handling, kunna specificeras. Men i regelspråket ingår även andra komponenter, t ex bör ett regelspråk erbjuda mekanismer som gör det möjligt att ge regler en viss livslängd.

(13)

Nedan följer ytterligare några exempel på komponenter som ett regelspråk bör inne- hålla enligt [W&C96]:

Regelkommandon. För att t ex skapa, ta bort och modifiera regler fordras kommandon. Det behövs också kommandon för att bl a aktivera och deaktivera enskilda regler samt kombinationer av regler. Det senare kommandot används för att temporärt ”stänga av” regler. Deaktiverade händelser kan inte utlösas av någon händelse förrän de åter har aktiverats. Sålunda kan en regel endast exekveras om den är aktiverad.

Prioriteringsordning mellan regler. Genom att ge regler en bestämd prioritet är det möjligt att definiera i vilken ordning regler, utlösta av samma händelse, ska exekveras. Det finns ett par olika metoder för att lösa detta. En metod är att reglerna sorteras i prioritetsordning, dvs att de placeras i den ordning de ska utföras. En annan metod är numerisk prioritet. Denna metod innebär att varje regel tilldelas ett prioritetstal vilket betyder att reglerna inte behöver sorteras i någon speciell ordning. Ytterligare en metod är att tilldela en relativ prioritet mellan par av regler. Denna metod bedöms som den mest flexibla av dessa lösningar, eftersom den innefattar de andra två typerna. Det finns även ett fjärde alternativ och det är att låta systemet självt avgöra i vilken ordning reglerna ska utföras. Detta betyder att reglerna kommer att utföras i en godtycklig ordning.

Strukturering. Eftersom antalet regler snabbt blir mycket stort erbjuder en del regelspråk möjligheter att organisera reglerna. I objektorienterade aktiva databassystem ses regler som vilka andra objekt som helst. Detta innebär att reglerna kan sättas in i hierarkier, ha attribut och relateras till andra objekt.

2.1.5 När ska en regel exekveras?

När och om en regel ska utlösas beror på ett antal faktorer. En sådan faktor är regeltypen. Generellt utlöses det aktiva beteendet då regelns händelse inträffar och dess villkor är sant. Detta gäller för ECA-regler. Om det däremot handlar om en CA-regel så utförs handlingen då ett visst villkor är uppfyllt. Den tredje regeltypen, EA-reglerna, utlöses då dess händelse inträffar utan att något villkor kontrolleras.

En annan faktor som inverkar är reglers förhållande till databastransaktioner. Låt säga att en händelse har inträffat och att dess handling utlöser en annan regel. Frågan är då hur den senare regeln ska förhålla sig till den första händelsen eller huvudtransaktionen.

Detta specificeras i sk coupling modes. Några alternativa coupling modes är enligt [W&C96]:

Immediate. Regeln exekveras omedelbart då en händelse inträffar eller ett tillstånd upptäcks. Exekveringen sker i den ursprungliga transaktionen även om denna inte är avslutad.

Deferred. Deferred innebär att huvudtransaktionen utförs färdigt, men att regeln exekveras innan huvudtransaktionen commitas, dvs slutförs.

Decoupled. Triggerkoden körs i en separat subtransaktion. Decoupled kan delas upp i dependent decoupled och independent decoupled. Dependent decoupled innebär att den separata transaktionen körs när huvudtransaktionen har

(14)

Ytterligare en faktor som påverkar om och när regler ska exekveras är reglers prioritetsordningen. (Se punkten Prioriteringsordning mellan regler i avsnitt 2.1.4 Komponenter i regelspråk.)

2.1.6 Jämförelse mellan passivt och aktivt databassystem

Under denna rubrik kommer ett exempel om en applikation för lagerkontroll belysa ett par skillnader mellan passiva respektive aktiva databassystem.

Förutsättningarna är att varje artikels lagersaldo hela tiden måste kontrolleras och om den faller under ett visst gränsvärde ska nya varor beställas. De nya varorna beställs genom att en automatiskt beställningsprocess startas. Utifrån detta har ett villkor och en handling definierats enligt följande:

• Händelse Lagersaldot uppdateras

• Villkor: Om lagersaldot är mindre än gränsvärdet

• Handling: Starta beställningsprocessen Då villkoret är sant ska handlingen utföras.

Detta problem kan lösas på två olika sätt i ett passivt databassystem [Gat95][W&C96].

Det första är genom pollning vilket innebär att ett speciellt applikationsprogram eller en användare ställer frågor med jämna mellanrum till databasen (polla) för att kontrollera om villkoret är uppfyllt. (Se figur 2.) Det största problemet med att polla en databas är att bestämma det antal gånger per sekund som pollningsfrågorna ska ställas till databasen, dvs pollningsfrekvensen. Om databasen pollas med för långa intervall uppstår en tidsfördröjning innan händelsen upptäcks. Eventuellt upptäcks inte händelsen alls. Om databasen däremot pollas med en för hög pollningsfrekvens så överbelastas databasen och dess prestanda blir lidande. Detta blir ett större problem desto fler applikationer det är som pollar databasen [L&L95].

PASSIV DBHS Applikationer

(uppdateringar)

Pollning Periodiskt

Svar

Figur 2: Pollning av ett passivt DBHS. (Baserad på [E&N94].)

Den andra lösningen medför en utbyggnad av applikationsprogrammen. (Se figur 3 nedan.) Varje program som uppdaterar lagerdatabasen utökas med en funktion för att kontrollera lagernivån för en artikel. Om nya varor behöver beställas ska programmet dessutom kunna starta beställningsprocessen. Lösningen innebär sålunda att kod för villkoret och handlingen måste läggas till på lämpliga ställen i alla de applikations- program som uppdaterar antalet artiklar i lager. Eftersom denna kod ligger inbakad i många olika applikationsprogram erhålls flera nackdelar. Exempel på nackdelar är att

(15)

modularitet och återanvändning av kod försvåras. Men även underhållet av kod blir svårare att utföra. Då en justering ska göras av villkoret eller av handlingen måste den relevanta koden sökas upp och förändras i åtskilliga applikationer. Ett korrekt beteende erhålls endast om alla applikationer implementerar kontrollen på ett riktigt sätt.

PASSIV DBHS

Applikationer utökade med situationsbevakande kod Applikationer utökade med

situationsbevakande kod

Figur 3: Utbyggnad av applikationer. (Baserad på [E&N94].)

Genom att använda ett aktivt databassystem kan dessa funktioner utföras effektivt utan att funktionerna måste vara kodade i applikationsprogram eller att databasen pollas.

Med andra ord är det också möjligt att komma undan de nackdelar som framkom ovan. Databashanteraren i ett aktivt databassystem övervakar situationer och exekverar lämpliga operationer vilket ger vissa fördelar, eftersom det är i databasen information om en mängd situationer lagras som kan utlösa handlingar. (Se avsnitt 2.1.2 Vad är ett aktivt databassystem?.) I figur 4 visas lösningen på exemplet i ett ADBHS.

Aktiv lager- databas

Handlingar

Uppdatera

Lagerrapporter

Händelser Villkor

Visa statuskod

Beställ()

HÄNDELSE:

VILLKOR:

HANDLING: Beställ (artikel).

Uppdatera Lagersaldo (artikel) Lagersaldo (artikel) +

Beställt_Antal (artikel) < Gränsvärde (artikel).

Figur 4: Exemplet löst i ett aktivt DBHS. (Baserad på [E&N94].)

(16)

En skillnad mellan aktiva och passiva databassystem, som redan har nämnts, är att ett passivt databassystem enbart utför operationer då en användare eller ett applikations- program explicit begär detta. En aktiv databas kan däremot förändras utan explicita användarkommandon. Databasens aktiva beteende utlöses av att en händelse och/eller en tillståndsförändring inträffar. Detta aktiva beteende utgör den största skillnaden mellan aktiva och passiva databassystem.

AKTIV DBHS

Frågor och uppdateringar

Externa händelser Handlingar

Specifikation av händelser och villkor som ska bevakas

Figur 5: Ett aktivt DBHS. (Baserad på [E&N94].)

Figur 5 sammanfattar detta kapitel. Av figuren framgår att händelser och villkor som ska bevakas, frågor och uppdateringar, externa händelser samt handlingar går in till det aktiva DBHS. Som svar på detta utförs handlingar. Detta sägs utgöra det aktiva beteendet.

2.1.7 Tidigare och pågående forskning

Forskning om och utveckling av aktiva databaser bedrivs och har bedrivits i ett flertal projekt. Ett av de tidigaste projekten om objektorienterade aktiva databassystem är HiPAC från Computer Corporation of America och senare Xerox Advanced Information Technology [W&C96].

Efter HiPAC följde det sk Sentinel-projektet som utförs på universitet i Florida [W&C96]. Sentinel beskrivs av [W&C96] som ett aktivt objektorienterat DBHS.

Grunden i Sentinel är ett objektorienterat passivt DBHS. Detta system har sedan utökats med bl a detektering av enkla och sammansatta händelser, stöd för nästlade transaktioner och en modul för regelhantering [W&C96].

På universitet i Zürich utvecklas ett aktivt DBHS kallat Samos [W&C96]. Av [GGD94] framgår det att Samos är byggt på ett passivt objektorienterat DBHS, vilket sedan utökats för att bli aktivt. ACOOD, som utvecklas av universitet i Exeter och högskolan i Skövde, är uppbyggt enligt samma princip.

(17)

2.2 Computer-integrated manufacturing (CIM)

Under den senare halvan av 1900-talet har den mjuka automatiseringen haft stor inverkan på tillverkningen [Vaj95]. Med mjuk automatisering eller flexibel automatisering menar [Vaj95] att en viss process eller uppgift lätt kan anpassas till en förändrad produktdesign. Dessa modifieringar sker främst genom justeringar i mjukvara. [Vaj95] hävdar att den mjuka automatiseringen så småningom ledde fram till computer-integrated manufacturing (CIM).

[Vaj95] skriver även att CIM har utvecklats sedan mitten av 1970-talet men att CIM fram till 1980 egentligen bara var ett begrepp. Under 1980-talet, främst under den senare hälften, utvecklades emellertid CIM samt den behövliga tekniken kring CIM, t ex datorerna. Utvecklingen medförde att CIM blev praktiskt genomförbart.

Att CIM inte utvecklades tidigare beror på utvecklingen av NC-maskinerna (numerical controlled), på datorernas pris- och prestandautveckling samt på den växande internationella konkurrensen, de höga arbetskraftskostnader, regleringar och lagar samt kraven på kvalitet och produktansvar [Vaj95].

2.2.1 Vad är CIM?

Det finns ingen fastslagen definition av CIM [Vaj95]. Olika referenser presenterar sin tolkning. Jag använder mig dock av den definition som anges av [Vaj95] (sidan 16):

”CIM is an umbrella term covering all manufacturing functions and activities, both technical and managerial.”

CIM är sålunda en paraplyterm som täcker alla tillverkningsfunktioner och aktiviteter både tekniska och styrande (min översättning). Av [Vaj95] framgår det att det är de funktioner och aktiviteter som används för att styra resurserna mot en kostnadseffektiv produktion av fysiska produkter som avses i definitionen.

Genom att påpeka att CIM handlar om produktion av fysiska produkter klargör [Vaj95] att CIM inte används i produktionen av tjänster. Utan CIM används främst i de tillverkningsindustrier som har höga tillverkningsvolymer och som själva tillverkar mer än 40 % av alla varor [Vaj95]. Det är också i dessa företag som CIM är mest lönsamt.

CIM har sålunda att göra med tillhandahållandet av datorstöd, kontroll och integrerad automatisering på alla nivåer i tillverkningen genom att koppla samman automatiserade öar till distribuerade behandlingssystem [Ran90].

2.2.2 Komponenter i CIM

Ett CIM-system består av ett antal subsystem. Dessa framgår av figur 6. Nedan följer en presentation av de olika subsystemen samt de funktionsområden som är förknippade med dessa.

(18)

CIM

CAD CAPP CAM CAQC AS/RS

FMC

Figur 6: Komponenter i CIM

2.2.2.1 Computer-aided design (CAD)

Computer-aided design (CAD) eller datorstödd konstruktion kan definieras som användandet av datorer i olika aspekter av design och dess presentation [Vaj95].

Ett CAD-system hjälper designern på olika sätt. Bl a kan designern utföra analyser av och tester på komponenter. Andra möjligheter som erbjuds är att simulera, manipulera och pröva olika konstruktionslösningar samt att designa tredimensionellt [Vaj95]

[Kus90].

Designern måste ha en god kunskap om tillverkningsprocesser, verktyg och fixturer för att kunna säkerställa att produkten tillverkas efter specifikationerna på ett ekonomiskt och effektivt sätt. I detta arbete får designern hjälp av CAD-systemet [Kus90].

2.2.2.2 Computer-aided process planning (CAPP)

När en komponent tillverkas används olika sorters maskiner, verktyg och resurser, såsom material och personal. Planeringen av de maskiner, operationer, verktyg och resurser som krävs för att producera den aktuella komponenten kallar [Kus90] och [Vaj95] för processplanering. I planeringen är målen att bl a minimera produktionskostnaderna, tillverkningstiden och maskinernas stilleståndstid samt att produktionstakten och kvaliteten på komponenterna maximeras. Användandet av datorn i processplaneringen kallas computer-aided process planning (CAPP) eller datorstödd processplanering.

2.2.2.3 Computer-aided manufacturing (CAM)

Med computer-aided manufacturing (CAM) eller datorstödd tillverkning menas alla ickedesignfunktioner i tillverkningen som är datorstödda [Vaj95]. CAM har en nära koppling till CAD. Då en produkt har designats i CAD-systemet ”flyttas” datan över till CAM-systemet. Av denna anledning används ibland benämningen CAD/CAM som ett gemensamt namn på de bägge systemen. Nedan presenteras några områden som CAM innefattar.

Programmering. Enligt [Kus90] finns det två grundtyper av programmering i CAM. Dessa är programmering av materialhanteringssystem och programmering av numeriskt styrda (NC) maskiner. Komponentdesignen gjord av CAD-systemet och processplanen skapad av CAPP-systemet utgör grunden för hur programmen för NC-maskiner och materialhanteringssystem utformas [Kus90].

I programmeringen av materialhanteringssystem beskrivs t ex vilken väg som automatiska materialhanteringsvagnar, sk carriers eller av AGVs, ska ta. (Se

(19)

2.2.6.1 Vad är ett FMS?.)

Programmeringen av NC-maskiner innebär att maskinerna ges instruktioner om komponenten och hur den ska tillverkas [Kus90]. Exempelvis innefattar instruktionerna direktiv och information om operationsföljd, verktygsbana, matningshastighet samt komponenternas geometri. En dator utför beräkningar på den inmatade datan och säkerställer att maskinerna utför operationerna.

Produktionsplanering. Produktionsplanering innebär att produktionsnivån för en bestämd tidsperiod fastställs. Detta formar, enligt [Kus90], grunden för följande huvudaktiviteter: Materialbehovsplanering samt maskinbeläggning och planering.

Materialplaneringen ska säkerställa att det finns material tillgängligt när det behövs genom att ge ekonomiskt motiverade planer på när inleveranser av material bör ske. Planeringen baseras bl a på den typ och det antal komponenter som ska tillverkas. Detta utgör grunden för materialbehovsplaneringen [Kus90].

Maskinbeläggningen innebär att tillverkningen av komponenter och produkter fördelas på de olika maskinerna och produktionscellerna för att sprida produktionsbeläggningen. Planeringen fastslår i vilken ordning operationerna ska utföras av maskinerna. Några av de faktorer som måste vägas in i planeringen är operationernas ledtider, tillverkningsorders prioritet och maskinernas kapacitet.

För att kunna utföra dessa funktioner i ett CIM-system måste de olika databaserna kunna integrera [Kus90].

Maskinoperationer. Alla aktiviteter som innefattar ”materialborttagande”

operationer omfattas av maskinoperationer [Kus90]. Några exempel på sådana operationer är borrning, svarvning och fräsning. Operationerna automatiseras med hjälp av bl a NC-maskiner. En sk controller ser till att maskinen utför operationerna [Kus90].

Montering. Montering innebär att de olika komponenterna monteras till en färdig produkt. Genom att använda streckkoder på komponenterna och scanners, som läser streckkoderna, är det möjligt att instruera robotar att automatiskt montera olika delar [Kus90]. Inom t ex elektronikindustrin är montering med hjälp av robotar väl utbyggd.

Underhåll. Underhåll innefattar t ex besiktning av maskiner och att funktions- störningar rättas till. För att kunna utföra dessa uppgifter i ett CIM-system menar [Kus90] att det krävs kunskaper om elektronik, mjukvara och maskinteknik. I framtida tillverkningssystem kan underhållet komma att utföras av sk intelligenta system [Kus90].

2.2.2.4 Computer-aided quality control (CAQC)

Computer-aided quality control (CAQC) eller datorstödd kvalitetskontroll har genom användandet av datorer, robotar och annan utrustning minskat behovet av mänsklig inblandning i kvalitetskontrollen [Kus90]. Med hjälp av laser och robotar utrustade

(20)

med ”seende” kan kvalitetskontrollen och kvalitetsinspektionen i vissa fall utföras mer effektivt och säkert, jämfört med om människor skulle utföra samma arbete [Kus90].

2.2.2.5 Automated storage and retrieval system (AS/RS)

Automated storage and retrieval system (AS/RS-system) eller automatlagersystem, som det skulle kunna heta på svenska, beskrivs av [Vaj95] som höga vertikala lagringsutrymmen, vilka kan liknas vid enorma bokhyllor. Mellan dessa ”bokhyllor”

finns det ett utrymme för en form av rörlig kran eller vagn som hämtar och lagrar komponenterna. Kranen eller vagnen är datorstyrd. Med hjälp av AS/RS-system kan komponenter lagras och hämtas på ett effektivt sätt [Vaj95].

2.2.3 Varför CIM?

Att införa CIM kan medföra stora kostnader. Frågan är varför företag trots detta är villiga att satsa på CIM. Svaret ligger i att det finns något att vinna med CIM, att vissa fördelar kan uppnås.

Med hjälp av CIM vill företagen enligt [Kus90] och [Vaj95] få:

• högre vinster

• mindre direkt arbetskraft, dvs minskad personal

• högre kapacitetsutnyttjande av maskiner

• minskat spill och omarbete samt lägre tillverkningskostnader

• minskat lager och produkter i arbete (PIA)

• förkortade utvecklingstider av nya produkter

• kortare ledtider, dvs tiden från kundorder till leverans

• mer flexibel tidsplanering

• säkrare arbetsmiljö

CIM är ett nytt koncept antaget av ett antal företag för att förbli konkurrenskraftiga [Kus90]. CIM samt målen med CIM skulle även kunna sammanfattas av följande: CIM är ett verktyg genom vilket företag försöker spara tid och pengar.

2.2.4 Databasens roll i CIM

Databasbehandling är en viktig del av ett CIM-system [Ran90], eftersom CIM är så informationsintensivt. [Vaj95] skriver att databaser erbjuder ett sätt att lagra, strukturera, organisera, kontrollera och styra information. Dessa funktioner är viktiga i de verksamheter där information kan ses som en resurs.

Genom att använda databashanteringssystem (DBHS) kan flera fördelar uppnås.

Exempelvis tillhandahåller DBHS-mjukvaran logiskt och fysiskt dataoberoende [Ran90][E&N94]. Logiskt dataoberoende betyder att nya poster eller fält kan läggas till i systemet utan att applikationsprogrammen behöver skrivas om. Med fysiskt dataoberoende menas att ändringar kan göras av element i datastrukturen på en disk utan att något på den logiska nivån behöver justeras.

(21)

En annan fördel, enligt [Ran90] är att databashanteringssystemet förser användarna med ett standardiserat gränssnitt. Detta betyder att datan är kompatibel med olika program och att flera program kan komma åt samma databas, vilket innebär att inkonsistens kan undvikas. Att datan är kompatibel medför att åtkomsten av data förenklas och att kostnaderna för att skriva applikationsprogram som behandlar information kan sänkas. Användare i detta sammanhang är inte bara människor utan kan t ex vara en NC-maskin eller en robot som arbetar i en FMC. (Se avsnitt 2.2.5 Flexible Manufacturing Cell (FMC).)

Med hjälp av DBHS kan mängden redundant data reduceras. Detta sparar lagringsutrymme, ökar accesshastigheten och minskar risken för inkonsistens. En annan fördel som inte ska förringas är att data, genom en databas, kan delas av flera användare.

DBHS erbjuder också kontroller av transaktioner, skydd av viss data, möjlighet att tilldela olika användare olika rättigheter, underhåll av integritet osv. Datasäkerhet innefattar skyddet av information mot otillåtna modifikationer och obehöriga användare. En hög nivå av säkerhet och tillförlitlighet är kritiskt för ett CIM-system.

Detta påpekas av [Ran90]. I figur 7 visas ett exempel på en möjlig arkitektur i ett FMS. (Se avsnitt 2.2.6 Flexible Manufacturing System (FMS).)

Management Information

System

Produktion- planerares CAM-system

Cell- kontroll

FMS Nätverks-

styrning Designers

CAD-system

Cell- kontroll

CIM Management- databas

Maskinverktyg-, robot-, AGV-, etc utrustningsdatabas CAD-databas

Verktygsdatabas

NC-programdatabas

Nätverks-DBHS

Flexible Manufacturing System (FMS) Local Area Network (LAN)

Lokal celldatabas Lokal celldatabas

Figur 7: Exempel på arkitektur i ett FMS i CIM. (Baserad på [Ran90].)

(22)

Om ett CIM-system ska bli en succé eller ett misslyckande beror till stor del på dess förmåga att tillhandahålla exakt och aktuell information för beslutsfattande samt på dess svarstider [Ran90].

Databaserna i CIM är passiva. Detta innebär att samma problem som anges i avsnitt 2.1.6 Jämförelse mellan passivt och aktivt databassystem, uppenbarar sig. Två lösningar står till buds, nämligen att polla databasen eller att bygga ut applikations- programmen. Bägge lösningarna medförde flera nackdelar. I den första lösningen var det största problemet att fastställa en lämplig pollningsfrekvens. Den andra lösningen innebar problem exempelvis då förändringar skulle ske av villkor och/eller handling.

2.2.5 Flexible Manufacturing Cell (FMC) 2.2.5.1 Vad är en FMC?

Enligt [Vaj95] kan en flexible manufacturing cell (FMC) definieras på följande sätt (sidan 276):

”A FMC is defined as a group of dissimilar machines and processes located in close proximity and dedicated to the manufacture of a family of parts that are similar in the their processing requirements.”

En flexible manufacturing cell (FMC) eller, som det skulle kunna heta på svenska, en flexibel produktionscell är sålunda en samling av olika maskiner, som bearbetar en familj komponenter med liknande bearbetningskrav (min tolkning av [Vaj95]). En FMC är en form av implementering av CAM [Kus90].

Graden av automatisering av de olika operationerna som producerar komponenterna avgör om gruppen maskiner utgör en FMC eller en produktionsgrupp [Vaj95]. För att bli kallad för FMC ska gruppen kunna hantera operationer på vilken del som helst i produktfamiljen som den skapats för, samt att omställningstiden ska vara kort och mjukvarukontrollerad [Vaj95].

2.2.5.2 Komponenter i FMC

En FMC består av en maskingrupp, en robot eller liknande utrustning för laddning och tömning av maskinerna, samt av hjälpanordningar för att maskinerna ska kunna bearbeta alla medlemmar av produktfamiljen [Vaj95]. De olika komponenterna beskrivs nedan.

Maskingruppen består av en samling NC-maskiner som är placerade runt en robot eller liknande utrustning. Maskinerna i cellen är anpassade för att behandla en viss grupp eller familj komponenter. Ett exempel på en sådan anpassning är maskinernas verktygsmagasin vilka innehåller de verktyg som krävs för att kunna bearbeta samtliga medlemmar av produktfamiljen som flödar genom cellen. Dessa verktyg byts automatiskt inom ett minimum av omställningstid enligt [E&B85] och [J&S94].

Robotens uppgift är att sköta hanteringen av komponenterna. Detta innebär att roboten ska ta bort färdigbearbetade artiklar ur maskinerna och ladda dessa med nya, så att de kan fortsätta att arbeta. De bearbetade artiklarna placeras på en pall eller i nästa maskin. Robotens arbete kompliceras då flera maskiner har bearbetat färdigt sin artikel samtidigt. Vilken maskin ska laddas om först? För att roboten ska kunna lösa situationer liknande denna måste prioriteringsregler ha definierats.

(23)

Ett exempel på en hjälpanordning är fixturer. Dessa är ett slags fastspänningsanordning för arbetsstycken i en verktygsmaskin. Fixturen är försedd med klackar och anhåll så att arbetsstycket alltid kommer i samma läge. På detta sätt förhindrar fixturen att en artikel sätts in på ett felaktigt sätt i en maskin.

För övrigt bör det i en FMC t ex finnas plats för ett buffertlager. Detta bör dock inte tillåtas bli för stort eftersom ett av målen är att mängden produkter i arbete (PIA) ska minska genom att använda FMCs [E&B85].

Kontrollen av FMCn sköts av en speciell mjukvara som integrerar kontrollplattformen (hårdvara och mjukvara) med det cellspecifika applikationsprogrammet. PCs eller arbetsstationer används som kontrollplattformar [Vaj95]. Dessa kräver cellspecifik applikationsmjukvara för att kunna kontrollera en cell [Vaj95].

2.2.6 Flexible Manufacturing System (FMS) 2.2.6.1 Vad är ett FMS?

[Vaj95] ger följande definition på ett flexible manufacturing system (FMS) (sidan 276):

”When material handling devices such as AGVs or automated conveyers combine several FMCs, the resulting production facility is called flexible manufacturing system (FMS).”

Ett flexible manufacturing system (FMS) eller flexibelt tillverkningssystem består med andra ord av flera FMCs sammankopplade av materialhanteringssystem såsom AGVs (automated guided vehicle) eller automatiska transportband (min tolkning av[Vaj95]).

[E&B85] definierar FMSs som universella tillverkningsmaskiner, vilka är ganska mångsidiga och kapabla att utföra olika typer av operationer (dvs FMCs), samman- kopplade av materialhanteringssystem. Både tillverkningsmaskinerna och material- hanteringssystemet kontrolleras av datorer.

Ett exempel på ett materialhanterings- och transportsystem, som beskrivs av [E&B85]

och [Vaj95], är automated guided vehicles (AGVs). En AGV kan liknas vid en förar- lös gaffeltruck, som kan följa en anvisad väg. Vägen som den följer kan vara en magnetslinga i golvet eller en ritad linje. AGVn kan själv välja väg för att nå sin slutdestination. Det är denna förmåga som gör AGVs mer flexibla än konventionella system som t ex transportband. Hjärnan bakom AGVn är en kontrollfunktion som får information från en huvuddator.

2.2.6.2 Vad uppnås med FMS?

Enligt [E&B85] finns det två huvudanledningar till att FMS införs. Det första av dessa motiv är att få en större flexibilitet och förmåga att tillverka vilken produktmix som helst under en given tidsperiod. Med FMS kan olika komponenter tillverkas i små partier och i godtycklig ordning. Den andra anledningen är att antalet produkter i arbete ska kunna minskas och att maskinernas utnyttjandegrad vid tillverkning av små serier ska kunna ökas.

(24)

Antalet produkter i arbete kan minskas genom att använda datorkontrollerade materialhanteringssystem som sörjer för att material kommer till arbetsstationerna när det behövs (inte för sent eller för tidigt) och för att produkter som är färdigbehandlade vid den aktuella arbetsstationen transporteras bort. Två materialhanteringssystem som är viktiga för dessa funktioner är automatlager (AS/RS-system) och AGV-system [Vaj95].

Genom att verktygen i maskinerna kan bytas automatiskt och på kort tid kan produkter tillverkas i mindre seriestorlekar. Detta möjliggör att inte fler färdiga produkter behöver tillverkas än vad som efterfrågas. Med andra ord kan antalet produkter i färdigvarulagret minskas [E&B85][J&S94].

Till följd av FMS decimeras vissa arbetsuppgifter till att kontrollera och övervaka tillverkningsprocessen samt att sköta underhållet och servicen av maskiner och annan utrustning. Detta kan innebära att en del personal blir överflödig och härigenom anser [J&S94] att de direkta lönekostnaderna kan minskas.

Det kan sålunda konstateras att flera effekter, fördelar och mål med FMS är samma som för CIM.

(25)

3 Problembeskrivning

I flera forskningsrapporter och andra dokument om aktiva databaser påpekas det att avancerade applikationer, som t ex CIM och CAD/CAM, också behöver aktiva databaser [CAM93] [Cha92] [Cha93] [Gat95] [Mis91].

Trots att exempelvis CIM och CAD/CAM har framställts som tänkbara användningsområden för aktiva databassystem samt att forskningen har pågått ett antal år har, vad jag vet, endast ett enda arbete utförts inom CIM. Detta enda arbete är genomfört 1995 på University of Florida av R. K. Honnavalli [Hon95]. Det är med andra ord få som har gjort någon applikation för aktiva databaser inom detta område.

[DGN95] skriver att det saknas riktlinjer och modeller för hur de aktiva reglerna ska tas fram och av beskrivningarna i [W&C96] framgår det även att det saknas fullt fungerande ADBHS. Dessa faktorer kan troligen vara en av anledningarna till att det har utvecklats så få applikationer.

I avsnitt 2.1.6 Jämförelse mellan aktivt och passivt databassystem ges ett exempel där antalet artiklar i lager ständigt måste bevakas. Detta kunde lösas på två sätt i en passiv databas, nämligen genom pollning eller genom utbyggnad av applikationsprogrammen.

I redogörelsen framkom också ett antal negativa effekter med respektive metod. Det konstaterades även att det var möjligt att komma undan dessa ofördelaktiga egenskaper genom att använda en aktiv databas. Det kan sålunda fastslås att de aktiva databaserna erbjuder en lösning på problemen med pollning och utbyggnad av applikationsprogrammen.

Eftersom de konventionella, passiva databassystemen traditionellt sett används i CIM (se avsnitt 2.2.4 Databasens roll i CIM) kan det vara gynnsamt (se diskussionen nedan) att ersätta dessa passiva databassystem med aktiva. Härigenom skulle det kunna vara möjligt att ta del av de positiva effekter som förändringen kan medföra, dvs att databasen inte behöver pollas. Det kan sålunda vara fördelaktigt att ersätta det passiva databassystemet med ett aktivt i CIM. Om detta skulle visa sig vara fallet så styrks påståendena om att applikationer såsom CIM skulle kunna dra nytta av aktiva databaser.

När är det då fördelaktigt eller bra att ersätta de passiva databassystemen med aktiva i CIM? För att besvara detta måste kriterierna för vad som är fördelaktigt och vad som är bra definieras. I detta fall anser jag att kriterierna utgörs av de faktorer som anges i avsnitten 2.2.3 Varför CIM? och 2.2.6.2 Vad uppnås med FMS?. Om något av dessa mål och faktorer kan uppnås lättare och/eller förbättras så är detta bra. Kan exempelvis kapacitetsutnyttjandet av maskinerna ökas eller artiklarnas ledtider förkortas genom att aktiva databaser kombineras med CIM så tyder detta på att det är fördelaktigt eller bra.

Faktorerna för vad som är bra och fördelaktigt kan sammanfattas med att då företag som tillämpar CIM kan spara tid och/eller kapital på att ersätta de passiva databaserna med aktiva så är det motiverat, fördelaktigt och bra att genomföra förändringen.

Mängden insparad tid och/eller kapital inverkar på hur bra förändringen kan anses vara.

I detta arbete kommer jag dock inte intressera mig för samtliga kriterier beroende på att tiden är begränsad. Av denna anledning har jag valt att studera förändringar av

(26)

aktiv databas används. Jag utvecklar skälen till varför just dessa faktorer har valts ut i en diskussion senare i detta kapitel. Innan diskussionen beskriver jag vad som avses med genomflöde och kapacitetsutnyttjande

Termen kapacitetsutnyttjande anges i procent, där 100 % betyder att all kapacitet utnyttjas. Kapacitetsutnyttjandet kommer bara att studeras för FMCna och det är endast tidsfördröjningar som tillåts påverka kapacitetsutnyttjandet. I studien bortser jag sålunda från produktionsstörningar och andra produktionsstopp. Den förenkling som detta innebär görs för att resultaten av förändrade pollningsfrekvenser inte ska påverkas av faktorer utanför min kontroll samt för att effekterna av tidsfördröjningarna ska framgå tydligare.

En av de faktorer som utgör kriterier för när det är fördelaktigt att ersätta de passiva databassystemen med aktiva, enligt diskussionen ovan, är produkternas ledtider. Detta kriterium kommer emellertid endast att studeras indirekt genom att jag intresserar mig för genomflödet. Med genomflöde menar jag flödet av produkter genom tillverkningen, dvs antalet tillverkade produkter per tidsenhet. Genomflödet påverkas av produkternas ledtider. Exempelvis då ledtiden per produkt, dvs tiden för att producera en produkt, ökar kan följaktligen färre produkter tillverkas per tidsenhet. Med andra ord finns det ett direkt samband mellan dessa faktorer. Härav kan genomflödet sägas utgöra ett alternativ till kriteriet ledtider.

Genomflödet kan även påverkas av kapacitetsutnyttjandet i exempelvis FMCna. Detta beror på att då kapacitetsutnyttjandet ökas kan fler produkter tillverkas per tidsenhet.

Sålunda finns det även en koppling mellan genomflödet och kapacitetsutnyttjandet.

Med anledning av dessa förhållanden anser jag att även genomflödet utgör ett relevant kriterium för när det är fördelaktigt att byta ut de passiva databassystemen mot aktiva.

Både kapacitetsutnyttjandet och genomflödet är beroende av hur väl den kapacitet som finns utnyttjas. Detta innebär att den tid som en maskin eller en FMC inte arbetar är förlorad tid. FMCn kan t ex inte svarva snabbare än vad den gör och därför kan inte den förlorade tiden arbetas in. Av denna anledning är förlorad tid också förlorad kapacitet.

Anledningen till att jag har valt att studera kapacitetsutnyttjandet och genomflödet är att dessa faktorer troligen är intressanta i industrin eftersom det finns tid och pengar att tjäna om dessa kan förbättras. Detta framgår av [VBW92]. Om kapacitetsutnyttjandet och genomflödet kan höjas kan tid sparas i produktionen vilket gör att det är möjligt att tillverka fler produkter per tidsenhet. Detta kan utläsas av såväl diskussionen ovan som av [VBW92]. Att fler produkter kan tillverkas innebär förhoppningsvis att fler produkter kan säljas vilket i sin tur betyder att företaget kan öka sina intäkter.

Genomflödet av produkter och kapacitetsutnyttjandet kan sålunda påverka företagets lönsamhet. Med andra ord finns det såväl tid som pengar att tjäna på att höja kapacitetsutnyttjandet och genomflödet. Av denna diskussion är det möjligt att hävda att dessa faktorer bör vara intressanta för tillverkande företag.

Investeringar i avancerade maskiner i tillverkningen uppgår till höga belopp. För att dessa investeringar ska vara möjliga krävs det att utrustningen betalar av på investeringen. Även av denna anledning är det sålunda viktigt med ett högt kapacitets- utnyttjande.

I mitt examensarbete har jag tillgång till en ”experimentcell”. Jag kommer i fortsättningen att benämna den med cellen. Av figur 8 framgår dess olika komponenter.

(27)

1 2 3

4 5 6

Figur 8: Cellens komponenter och layout. (Baserad på [AWÅ95].)

Materialet kommer in på transportbanan (4) och identifieras av en laserscanner (1) via streckkod. Vid läsningen förhindrar en stoppcylinder att efterföljande material utgör något hinder för robotens (5) gripdon. En givare vid slutet av transportbanan uppmärksammar PLCn1 (programmable logic controller) på att material finns att hämta. I de fall scannern inte lyckas läsa streckkoden eller att streckkod saknas ska artikeln läggas i det sk returlagret (2) för manuell kontroll eller justering av streckkoden. Robotens uppgift i cellen är att hämta material från transportbandet, att ladda och tömma maskinerna (3) samt att till sist förflytta produkter till färdigvarulagret (6) när de har behandlats färdigt.

För varje identifierat material finns en specifik följd av händelser och operationer definierad. Detta innebär att de operationer, som de olika artiklarna ska genomgå innan den är färdig, varierar.

Cellen har tillräckligt många komponenter och är tillräckligt avancerad för att den ska kunna ses som en fabrik i miniatyr. Cellen är visserligen inte lika komplex som en verklig produktion men jag vill ändå likna cellen vid en CIM-produktion eller närmare bestämt vid ett sk FMS (se avsnitt 2.2.6 Flexible Manufacturing System (FMS)). Jag är medveten om att detta antagande kan uppfattas som om det bryter mot definitionen av ett FMS. I definitionen refererade jag till [Vaj95] som menade att ett FMS består av flera FMCs som är sammankopplade med ett materialhanteringssystem såsom AGVs eller transportband. Jag inser att det är väsentligt att grunden för denna förenkling klargörs. Detta försöker jag göra genom att skillnaderna mellan en fabrik och cellen lyfts fram och att dessa skillnaders betydelse diskuteras.

Visserligen utgör mitt synsätt en förenkling av verkligheten men detta behöver inte av denna anledning betyda att mitt perspektiv är orealistiskt. Förvisso finns det skillnader mellan cellen och en fabrik. Ett exempel på en sådan skillnad är att det exempelvis saknas AGVs men i stället finns det ett transportband och en robot. AGVs trans-

(28)

funktionalitet finns även i miniatyrtillverkningen. Enda skillnaden är att det är ett transportband som försörjer produktionen med material och att roboten transporterar artiklar från och till maskinerna samt till slutlagret.

Att lagret ligger så nära tillverkningen att roboten klarar av att utföra dessa uppgifter samt att robotens räckvidd är så stor, är ytterligare ett par exempel på skillnader mellan cellen och en fabrik. Dessa skillnader innebär en förenkling men de stör egentligen inte bilden av cellen som en hel fabrik. Effekterna, om lagret skulle ha legat på en annan plats i fabriken och om AGVs skötte transporterna samt om robotens räckvidd vore mindre, skulle endast bli att det tar längre tid innan materialet når lagret samt att transporterna mellan FMCna kan komma att ta längre tid. Dessa effekter spelar emellertid ingen avgörande roll i detta sammanhang. Inte heller spelar det någon roll att roboten sköter lagret i stället för ett AS/RS-system. Mitt synsätt innebär att borrmaskinerna kommer att ses som FMCs samt transportbandet och roboten som AGVs.

Genom denna diskussion har jag försökt motivera att jag kan se cellen som en fabrik eller som ett FMS. Jag är medveten om att det är viktigt att presentera några skäl för mitt synsätt och att det kan finnas ytterligare skillnader mellan cellen och en fabrik, som jag inte har fått fram.

3.1 Problemställningar

Jag har antagit att pollningen kan inverka negativt på tillverkning i CIM2. I mitt arbete ska jag utforma en specifik tillämpning i cellen där pollning medför negativa effekter.

Med specifik tillämpning menar jag en situation eller ett scenario i cellen genom vilket de negativa konsekvenserna med pollning framgår. Jag ska också använda en aktiv databas i en situation.

I de olika situationerna ska kapacitetsutnyttjandet och genomflödet studeras.

Pollningen antas vara negativ om dessa faktorer förbättras då en aktiv databas används.

Jag har genom en tidigare diskussion tillåtit mig kalla cellen för en fabrik i miniatyr och för ett FMS. Av denna anledning ska denna specifika tillämpning i cellen ses som ett CIM- alternativt FMS-scenario.

De frågeställningar som jag ska försöka besvara i detta arbete är:

• Vilka blir effekterna på genomflödet och på kapacitetsutnyttjandet om databasen pollas med olika frekvenser och om en aktiv databas används i den specifika tillämpningen i cellen?

• Är det möjligt att göra några ekonomiska vinster, dvs att spara in tid och kapital eller att öka intäkterna, genom att slippa polla i det aktuella scenariot och istället använda en aktiv databas?

2 Antagandet grundas på diskussionen om pollningen. Men även påståendet om att förlorad tid i tillverkningen är negativt [VBW92] ligger till grund för antagandet.

(29)

3.2 Avgränsningar

De problemställningar som denna rapport behandlar sorterar under aktiva databaser.

Men genom min inriktning mot CIM avgränsas arbetet till att gälla en specifik tillämpning eller ett scenario och inte aktiva databassystem generellt.

Jag har avgränsat mitt arbete ytterligare genom att inrikta mig på att studera de negativa effekterna på kapacitetsutnyttjandet och på genomflödet som pollning medför i den aktuella tillämpningen samt hur faktorerna påverkas då en aktiv databas införs.

Jag har sålunda begränsat antalet faktorer som ska studeras. Avgränsningen har gjorts bl a beroende på att tiden är begränsad. (Motiveringen för samt diskussion kring denna avgränsning fördes tidigare i detta kapitel.) De faktorer som jag har valt att studera anses viktiga för tillverkande företag [VBW92]. (Motiveringen till detta påstående gavs tidigare i detta kapitel.)

3.3 Förväntat resultat

Mina slutsatser ska förhoppningsvis leda till svar på de frågor som ställs i avsnitt 3.1 Problemställningar.

Rapporten förväntas också visa på ett scenario där de negativa effekterna av pollningen framgår.

(30)

4 Möjliga lösningar och val av metod

4.1 Litteraturstudie

Ett tänkbart sätt att belysa och lösa problemställningen skulle kunna vara genom en litteraturstudie. En fördel med en litteraturstudie är att befintligt material om problemområdet kan studeras, dvs det är möjligt att belysa problemställningen genom att studera och jämföra litteratur samt redan utförda experiment, fallstudier osv.

Jag bedömer emellertid att det finns för lite material om pollning och aktiva databaser för att en litteraturstudie ska kunna genomföras. Pollning är ett så avgränsat område att det av denna anledning inte finns så mycket material. Jag har heller inte stött på något material om aktiva databaser och CIM som behandlar mina frågeställningar.

Det finns sålunda inte tillräckligt med material för att en litteraturstudie ska kunna framställa och belysa problemställningen på ett acceptabelt sätt. Jag menar att det finns en risk för att inte alla aspekter av problemet kommer fram om det finns för lite material och en litteraturstudie ändå genomförs. De slutsatser som dras av en sådan litteraturstudie kan därför bli direkt felaktiga.

I en litteraturstudie har jag dessutom svårt att se att jag kan använda mig av den experimentcell, som jag enligt förutsättningarna bör använda mig av, i mitt examens- arbete. (Se kapitel 3 Problembeskrivning.) En litteraturstudie är sålunda inte en lämplig metod för att lösa samt belysa min problemställning.

4.2 Fallstudie

En annan möjlig metod är en fallstudie. Med en fallstudie avser jag att ett verkligt fall studeras, dvs att frågeställningarna undersöks i exempelvis ett företag. För att lösa mina frågeställningar innebär detta att situationer i företag som tillverkar enligt CIM ska undersökas.

Fördelen med fallstudier är att det är realistiska fall som studeras. Detta innebär att det inte är några påhittade situationer som undersöks utan sådana som förekommer i det studerade företaget. Genom detta erhålls även realistiska resultat.

Jag ska enligt min problemställning variera pollningsfrekvensen samt undersöka en situation där en aktiv databas används. (Se 3.1 Problemställningar.) Problematiken och svårigheterna kring att finna den mest fördelaktiga pollningsfrekvensen diskuteras i kapitel 8 Diskussion. Med anledning av dessa problem torde det vara svårt att studera förändringarna av genomflödet och kapacitetsutnyttjandet i en fallstudie, då jag antagligen inte kan kontrollera och ha kunskap om samtliga faktorer och situationer som kan tänkas inverka på beräkningarna av pollningsfrekvensen. Det skulle troligen även bli problematiskt att hinna förändra pollningsfrekvensen och att mäta effekterna i ett verkligt fall på den korta tid som står till buds.

En lösning på detta vore att studera ett par olika företag som tillverkar enligt CIM och som pollar databasen med olika frekvenser. Problemet med denna lösning är emellertid att förutsättningarna är olika i företagen och att det av denna anledning inte går att uttala sig om effekterna av en förändrad pollningsfrekvens med någon större säkerhet.

Detta beror på att variationerna och andra faktorer utanför min kontroll kan

(31)

påverka resultatet i en viss riktning. Effekterna av en förändrad pollningsfrekvens bör av denna anledning studeras i ett enda fall med samma förutsättningar, för att resultaten av den förändrade pollningsfrekvensen ska bli intressanta.

Det blir dock problem med denna lösning då situationen med den aktiva databasens inverkan på genomflöde och kapacitetsutnyttjande ska studeras. Eftersom aktiva databaser än så länge är ett relativt “nytt” forskningsområde är det antagligen svårt att finna ett företag som producerar enligt CIM och som har en aktiv databas, särskilt då det, som det kunde konstateras i kapitel 3 Problembeskrivning, har gjorts få applikationer för aktiva databaser och CIM.

På grund av den knappa tiden och på mina begränsade kunskaper om såväl CIM som om aktiva databaser kan jag inte själv implementera en aktiv databas i en tillverkning för att sedan studera effekterna databasen har på de faktorer som ska studeras.

Det är heller inte möjligt, som jag ser det, att använda mig av cellen som beskrivs i kapitel 3 Problembeskrivning i en fallstudie.

Av dessa anledningar är inte en fallstudie en lämplig metod för att belysa och lösa mina problemställningar.

4.3 Experiment

Genom experiment kan förenklade modeller av verkligheten och ett begränsat antal variabler studeras [P&T87]. I detta sammanhang finns det ett par intressanta frågeställningar.

• Är det nödvändigt med verkliga och realistiska scenarion samt med verkliga värden på parametrar och variabler för att resultatet av ett experiment ska vara relevant?

• Gör förenklingar experiment orealistiska och kan resultaten av experiment av denna anledning inte anses giltiga?

För att besvara dessa frågor är det nödvändigt att först förtydliga vad som menas med ett realistiskt scenario. Med realistiskt menar jag att scenariot har en direkt motsvarighet i verkligheten. Exempelvis ska det vara möjligt att peka ut ett företag, i vilket just detta scenario finns, som använder sig av pollning och som har CIM- tillverkning. Jag ger sålunda uttrycket realistiskt scenario betydelsen att scenariot verkligen har inträffat samt att samtliga värden på parametrar och variabler är tagna från det aktuella företaget. Men motsatsen till ett realistiskt scenario får inte av denna anledning vara hur orealistiskt som helst. Det bör vara sannolikt att ett scenario liknande det som diskuteras ska kunna inträffa i en existerande tillverkning, dvs att förhållandet mellan olika faktorer kan återfinnas i verkligheten. Däremot accepteras overkliga värden på parametrar och variabler samt förenklingar i ett orealistiskt scenario.

Kanske hävdar någon att experiment är mindre relevanta än t ex fallstudier bara för att det är uppdiktade scenarion som studeras. Detta påstående ställer jag mig dock inte bakom eftersom jag anser att det egentligen inte finns några argument som talar för att påståendet skulle vara riktigt. Däremot finns det argument som visar på att experiment

References

Related documents

Vill man skapa sin sida med ett annat verktyg, NetObjects Fusion eller kanske Notepad, skall dessa sidor importeras till FrontPage- webben och inte laddas upp direkt till webservern.

Det tredje alternativet i fråga 7 är &#34;Det känns inte säkert att betala varor över Internet&#34;, har respondenten markerat detta alternativ som en orsak till varför denna inte

Institutionen för journalistik, medier och kommunikation E-mail adresse:

Man kan exem- pelvis låta olika elevgrupper oberoende av varandra göra denna undersökning och låta dem ta del av varandras resultat för att diskutera slutsatser och om det

Anledningen till att vi har valt att i de flesta fall utgå från elever i årskurs två är att det är först då som eleverna väljer inriktning på de olika gymnasieprogrammen varför

Hon är förtjusande, klädd som en prinsessa, fastän hennes far kanske endast är en fattig kapten, och medan musiken ljuder, oeh de sväfva omkring i hvarandras armar, känna de det

När det gäller utbildning kan man inte dra alla slutsatser endast genom att se på hur många timmar organiserad utbildning varje användare fått, kvaliteten på utbildningen, typ

At the rule level the events are specified as attributes of the rules. Consequently, event restrictions should be specified as a part of the event attribute. The same notation is