5.1 Toteutusympäristö
5.1.2 GURU sovelluskehitin
5.1.2.1 GURUn asiantuntijapiirre
GURU sovelluskehitin tarjoaa mahdollisuudet sääntöpoh
jaisen järjestelmän kehittämiseen /8/. Sääntöjoukon sisäl
tämä koodi on samanlaista kuin tavallistenkin GURU-ohjel- mien. Sääntöpohjainen järjestelmä eroaakin ei-sääntöpoh- jaisesta järjestelmästä lähinnä joustavammilla ajoaikaisi
lla käyttömahdollisuuksilla.
Kun ns. normaaliohjelman koodi etenee aina tiettyä määrättyä polkua, voidaan sääntöjoukon päättelyä ohjata noin 50:n eri etsintästrategian avustuksella. Säännöille voidaaan mm. antaa erilaiset kustannus- ja prioriteet- tiarvot. Yhteistä sääntöpohjaisilla järjestelmillä on se, että sääntöjen tavoitteena on aina löytää jonkun kohde- muuttujan arvo. Tunnusomaista sääntöpohjaiselle järjes
telmälle on myös se, että kohdemuuttujalle etsitään "tar
peeksi hyvä" arvo, mutta ei koskaan parasta mahdollista arvoa.
Yhden sääntöjoukon sisältämien sääntöjen liittyminen toisiinsa voidaan tulostaa hierarkkisena riippuvuusdia- grammina. Sääntöjen muodostamaa päätöksentekoketjua voi
daan jälkikäteen tarkastella ja tarkastelun yhteydessä GURU kertoo, minkä takia jokin sääntö on lauennut. Perus
edellytyksenä sääntökannan käyttämiselle on se, että tar
kasteltavan ongelman rakenne on "sopiva".
5.2 K0MP0NENTTIK00DIEN SIJOITUS-ALGORITMIN PÄÄPERIAATTEET
Lukuisat erikoisvaatimukset aiheuttavat sen, että komponenttikoodeja ei voida sijoittaa minkään yksinker
taisen teoreettisen mallin mukaan. Teoreettisesta mallista on luovuttava tyypillisesti sellaisten erikoispiirteitten kohdalta, jotka koskevat pelkästään jonkin ladontakoneen suppeeaa osa-aluetta. Nämä erikoisratkaisut hoidetaan pitkälti ko. tilanteeseen räätälöidyillä ohjelmamoduleil- la.
Kun kaikki ladontakoneitten hienokuormitukseen liit
tyvät erikoisvaatimukset on otettu huomioon, on kehitys
työn aikana päädytty seuraavanlaiseen algoritmiin :
1. Mahdollisimman suuri osa komponenttikoodeista pyri
tään latoamaan koneellisesti. Ensimmäisessä vaiheessa jokainen komponenttikoodi yritetään osoittaa jollekin ladontakoneelle. Komponenttikoodit käydään läpi alkaen suurivolyymisimmasta päästä, jotta ladontakoneitten osuus ladottavasta kokonaisvolyymista olisi mahdollisimman suuri. Komponenttikoodit, joille ei voida osoittaa ladon- takonetta, osoitetaan manuaaliseen ladontaan.
2. Korkeamman prioriteetin omaavilla komponenttikoodeilla on etuajo-oikeus ladontakoneille, ladottavasta volyymista
xxxi
riippumatta. Tämä tarkoittaa sitä, että ne komponentti- koodit, joiden käsiladontatieto on 0, osoitetaan ladon- takoneille ennen muita komponenttikoodeja.
3. Komponenttikoodit sijoitetaan ensisijaisesti korkeam
man prioriteetin omaaville ladontakoneille. Kun komponent- tikoodille etsitään sopivaa ladontakonetta, käydään aina ensin läpi ensisijaiset ladontakoneet: Koneen ja kom- ponenttikoodin tiedoista tarkastetaan soveltuuko ko. kom- ponenttikoodi sijoitettavaksi tietylle koneelle ja, jos sopii, tarkastetaan vielä, että ko. ladontakoneella on vielä tilaa. Vasta, kun kaikki ensi-sijaiset ladontakoneet on käyty läpi yllämainitulla tavalla eikä sopivaa konetta löydy, käydään läpi toissijaiset ladontakoneet samaa periaatetta käyttäen.
4. Ladottavien komponenttikoodien volyymit pyritään tasaamaan ladontakoneitten kesken. Tasaus tapahtuu käytän
nössä siten, että käytössä olevat ladontakoneet asetetaan aina yhden komponenttikoodin sijoittamisen jälkeen ar
vojärjestykseen. Järjestys määräytyy ladontakoneen osuu
desta ladottavasta kokonaisvolyymista siten, että ladon- takone, jolla on pienin ladottava komponenttivolyymi, on ensimmäisenä jne. Luonnollisesti ensisijaiset ja tois
sijaiset ladontakoneet käsitellään täysin toisistaan erillään.
5. Ladontakoneitten eri latomisnopeudet huomioidaan kokonaisvolyymin tasauksessa. Järjestelmän nopeimmalla ladontakoneella voi olla suurimmillaan nopeuskerroin 100.
Muitten koneitten ladontanopeudet ilmaistaan tämän nopeim
man koneen ladontanopeuden osalukuina. Painottamalla kohdassa 4 olevat konekohtaiset osuudet ladottavasta kokonaisvolyymista tällä nopeuskertoimella tasataan ladon
takoneitten kokonaisladonta-aika keskenään.
6. Käyttäjä ohjaa Kone&Syöttölaite-tietojen avulla, mitä komponenttikoodia voidaan/halutaan latoa kullakin ladon
takoneella. Jokaiselle ladontakoneelle on määriteltävä, minkä tyyppisiä komponenttikoodeja voidaan latoa ko.
koneella. Komponenttikoodin pakkaus- ja kotelotyyppi- tiedoista tarkastetaan voidaanko ko. komponenttikoodia latoa tietyllä ladontakoneella.
7. Käyttäjän valinnan mukaan ladontakoneelle osoitetut komponenttikoodit järjestetään ladontakoneen syöttöpöy- dälle siten, että niiden volyymijakauma seuraa Gauss'n käyrää tai niin että komponenttikoodit järjestetään syöt- töpöydän vasemmasta reunasta alkaen alenevan volyymin mukaan.
8. Jos ladontakoneelle on valittu erikoistarkastustieto, edellisessä vaiheessa määrätyn syöttöpöytäjärjestyksen laillisuus tarkastetaan ja tarvittaessa laittomat syöttö- laiteparit puretaan ja uudelleenjärjestetään.
- FUJI CP-sarjan ladontakoneitten syöttöpöydille voidaan kiinnittää 8,12,16,24 ja 32mm levyisiä syöttölaitteita.
xxxii
Syöttölaitteiden fyysisistä ulkomitoista johtuen syöttö- laiteparit (8,16),(8,24) ja (8,32) vievät yhden ylimääräi
sen kiinnityspaikan. Koska useammat komponenttikoodit voidaan kiinnittää 8- ja 12mm levyisiin syöttölaitteisiin, syntyy syöttöpöydälle enemmän laillisia pareja kuin lait
tomia. Jos syöttöpöydällä havaitaan laittomia pareja, parit puretaan vaihtamalla parin osapuolet keskenään.
Viimeksi mainittu järjestely saattaa synnyttää uusia laittomia pareja, ja tämän johdosta syöttöpöytäjärjestys käydään läpi niin monta kertaa, ettei enää ole yhtään laitonta paria. Tällaiseen algoritmiin päädyttiin, koska se oli helppo toteuttaa ja laillinen syöttölaitejärjestys löytyy aina ilman, että olisi osoitettava joku komponent- tikoodi, joka jo on kerran osoitettu ko. koneelle, ma
nuaaliseen ladontaan. Pahimmassa tapauksessa kaikki 8mm syöttölaitteet ajautuvat syöttöpöydän oikeaan reunaan.
Käytännössä komponenttikoodien volyymijakauma kärsii jonkin verran laittomien parien purkamisesta, mutta vaiku
tus on lähinnä muodollinen.
HP4000 ladontakoneen 1. puoli on järjestelmän kannalta erikoisasemassa. Syöttölaitteet voidaan jakaa kahteen luokkaan. Toisaalta on sellaiset syöttölaitteet joihin mahtuu yksi komponenttikoodi tikkupakkauksessa, toisaalta on syöttölaitteet, joihin mahtuu kaksi samaa kotelotyyppiä olevaa komponenttikoodia tikkupakkauksessa. Molemmat syöttölaitetyypit vievät normaalisti kaksi syöttölaitteen kiinnityspaikkaa syöttöpöydältä. Syöttölaitteiden fyysi
sistä ulkomitoista johtuen kahta erityyppistä syöttölai
tetta ei voida asettaa syöttöpöydälle vierekkäin menet
tämättä yhtä ylimääräistä kiinnityspaikkaa. Kolme eri syöttölaitteiden kombinaatiotapausta otetaan algoritmissa huomioon:
Jos kaikki koneelle osoitetut komponenttikoodit on asetettava ensimmäisen kategorian syöttölaitteisiin, muodostetaan komponenttikoodien volyymijakaumasta Gauss'n jakaumaa seuraava käyrä.
Mikäli kaikki koneelle osoitetut komponenttikoodit on asetettava toisen kategorian syöttölaitteisiin, ryhmitel
lään komponenttikoodit ensin alenevan volyymin ja kotelo- tYYPin perusteella pareihin. Lopuksi parit asetetaan Gauss'n jakaumaa vastaavaan volyymijärjestykseen.
Useimmiten ladontakoneelle on kuitenkin osoitettu kom
ponenttikoodeja, jotka tarvitsevat sekä ensimmäisen että toisen kategorian mukaisia syöttölaitteita. Tässä tapauk
sessa syöttölaitteet ryhmitellään kahteen ryhmään syöttö- laitekategorian mukaan. Ryhmien väliin jää yksi tyhjä syöttölaitepaikka ja ryhmien sisäinen volyymijakauma alenee siirryttäessä ryhmien välisestä paikasta poispäin.
Täten on HP4000-ladontakoneen 1. puoli mahdollisimman hyvin hyväksikäytetty.
HP4000-ladontakoneen 2. puoli on järjestelmän kannalta aivan oma ladontakone. 2. puolen syöttölaitepaikat nume
roidaan alkaen paikasta 31. Tämän lisäksi 2. puoli ei tar-xxxiii
vitse muita erikoistarkastuksia, vaan ladontakoneen tiedot voidaan määritellä aivan normaalisti, tietokannan ladon- takonetietoja käyttäen.
Lopulta kaikille komponenttikoodei11e on osoitettu oma ladontakone ja oma syöttölaitepaikka ko. ladonta- koneella, tai komponenttikoodi on osoitettu manuaaliseen ladontaan. Kaikki näin määrätyt paikkatiedot kootaan yhteen tiedostoon. Tämä tiedosto sisältää ohjelmiston varsinaisen tuloksen.
5.3 TIETÄMYSTEKNIIKAN KÄYTTÖMAHDOLLISUUDET
Yksi tämän projektin johtoajatuksista oli tietämys
tekniikan soveltaminen eli sääntökantapohjäisen järjes
telmän käyttö ongelmaa ratkaistaessa.
Tietämystekniikan käytölle tuotannonohjauksessa voi
daan asettaa seuraavat määreet /9/ .
1. Tehtävän on rajoituttava tietyn alan suppeaan erityis
ongelmaan, eikä ongelman ratkaisu saa olla liian riip
puvainen yleisen älykkyyden soveltamisesta.
2. Tehtävä ei saa olla inhimilliselle asiantuntijalle liian helppo eikä myöskään liian vaikea; se ei saa ratketa muutamassa minuutissa, mutta se ei saa myöskään kestää useita viikkoja tai kuukausi.
3. Tehtävän ratkaisun on pääasiassa perustuttava ihmis- asiantuntijan yksityiseen tietämykseen, heuristiikkaan.
4. Tehtävän on oltava opetettavissa muille, eli siihen liittyvän tietämyksen on oltava eksplisiittisesti ilmais
tavissa.
Lisäksi ratkaistavan ongelman on mieluiten oltava tyypiltään hierarkkinen. Ongelma on voitava paloittaa useaan tasoon ja alemmalta tasolta on oltava monta tietä seuraavaksi korkeammalle tasolle.
Jos ongelma on monitasoinen tyypiltään, mutta tasot ovat yksiuloitteisia ei sääntöpohjaisesta järjestelmästä ole hyötyä, koska päätöksenteko kulkee aina samojen sol
mukohtien kautta. Tässä tapauksessa ongelman ratkaisu voidaan pukea sääntökantamuotoon, mutta saavutettava höyty on pienempi kuin sääntökannan muodostamisesta ja käsit
telystä aiheutuvat lisätyön haitat.
Kun komponenttikoodien sijoittamiseen tarvittavaa tietämystä lähdettiin selvittämään kokoonpanolinjan asian
tuntijoiden kanssa, ilmeni pian, että ongelma täyttää edellämainituista kriteereistä ainakin kolme.
Ongelma on selvästi rajattu muutaman ladontakoneen hienokuormituksen ohjaukseen ja ongelman luonne selvisi muutaman päivän selvitystyön jälkeen, joskin uusia
rat-xxxiv
kalsunäkökohtia tietenkin tuli työn aikana. Sekä ongelma että ratkaisu kyettiin myös hyvin esittämään kirjallisessa muodossa.
Ongelman rakenne ja ratkaisun perustuminen heuris
tiikkaan vaati kuitenkin lähemmän tarkastelun. Seuraa- vaksi pyrittiin löytämään säännön tai sääntöjen mahdol
linen kohdemuuttuj a. Työn aikana esiin tuli selvästi seuraavat neljä vaihtoehtoa :
- Yksittäisen komponenttikoodin sijoituspaikka.
- Yksittäisen komponenttikoodin ladontakoneen valinta.
- Tietyn ladontakoneen syöttöpöydän konfiguraatio.
- Uusi syöttölaitepaikka laittoman parin osapuolelle.
Yksittäisen komponenttikoodin sijoituspaikan määräämi
nen säännön perusteella koostuisi selvästi kahdesta vai
heesta; ensin määrättäisiin kone, millä komponenenttikoodi ladottaisiin, ja toisessa vaiheessa määrättäisiin kom
ponenttikoodin syöttölaitteen kiinnityspaikka ko. ladon
takoneen syöttöpöydällä. Eli vaikuttaisi siltä, ettäongel- ma on monitasoinen, voidaan hyvin ajatella, että kaksi päätasoa voidaan jakaa useiksi osatasoiksi. Se tosiasia, että yhden komponenttikoodin paikkaa ei voida määrittää, ennenkuin tunnetaan muut samalle ladontakoneelle osoitetut komponenttikoodit katkaisee tämän ajatusketjun. Vaihtele- vista alkutiedoista ei voida tehdä mitään olettamuksia vaan on ilmiselvää, että ensin on jaettava kaikki kom
ponenttikoodit käytettävissä olevien ladontakoneitten kesken, ennenkuin voidaan määrittää yhdellekään komponent- tikoodille lopullista sijoituspaikkaa.
Luonnollisesti seuraavaksi tulee mieleen tutkia miten edellisessä vaiheessa todettu osaongelma, eli komponent
tikoodien jako eri ladontakoneille, soveltuu sääntöpoh
jaisen järjestelmän kohdemuuttujaksi. Ongelman rakenne on selvästikin kolmijakoinen; ensin määritellään käytettävät koneet, toiseksi ko. komponenttikoodille sopivat koneet ja lopuksi valittaisiin sopivin kone. Tämä ongelma voitaisiin teoriassa ratkaista tietämysteknisten menetelmien avulla, mutta koska ongelmalle pystyttiin esittämään verraten yksinkertainen matemaattinen algoritmi, ei tietämyspoh
jainen ratkaisuvaihtoehto ole mielekäs.
Kun kaikki yhdellä ladontakoneella ladottavat kom
ponenttikoodit on määrätty, on komponenttikoodien syöttö
laitteiden kiinnityspaikkojen määräämisen vuoro. Ongelma on teoriassa helppo; lajitellaan vain komponenttikoodit halutun volyymijakauman mukaan. Näin helppoon tehtävään ei tarvita tietämyspohjaista ratkaisua.
Edellisessä vaiheessa syntynyt jakauma on muuten hyvä, mutta saattaa pitää sisällään laittomia syöttölaitepareja!
Jos laittomia syöttölaitepareja on olemassa, tarkoittaa se sitä, että kaikki ko. ladontakoneelle osoitetut
komponen-XXXV
ttikoodit eivät mahdukaan syöttöpöydälle. Laittomat syöt- tölaiteparit on siis purettava. Purkaamistilanteeseen ei iiity heuristiikkaa, vaan yksinkertainen purkamisalgorit- mi. Näin ollen ei tähänkään ongelmaan ole tarkoituksen
mukaista soveltaa tietämystekniikkaa.
Tietämystekniikan käyttöä Telenokian piirilevyjen ladonnan hienokuormituksessa ei siis voida pitää perustel
tuna. Vaikka ehdotuksia sääntökannan kohdemuuttujaksi löytyikin useampia, eivät tarkasteltavien osaongelmien ominaisuudet täytä kaikkia kriteerejä, jotta ongelmat soveltuisivat tietämyspohjaisen järjestelmän ratkaistavik
si. Yleisenä piirteenä koko ongelmakentässä oli se, että sinänsä vaikea ongelma voitiin paloittaa pienempiin ongel
miin, jotka taas voitiin ratkaista algoritmipohjaisesti.
5.4 ULS-GURU : LADONTAKONEITTEN HIENOKURMITUKSEN REAKTIIVINEN OHJAUSOHJELMISTO
ULS-GURU ohjelmisto on toteutettu GURU-sovelluskehit- timellä käyttäen Gurun komentokieltä, tietorakenteita, grafiikkaa, raporttigeneraattoria sekä kuvaruutulomak- keita. Järjestelmä on toteutettu valikkopohjaisena, jol
loin päävalikosta käsin voidaan kutsua järjestelmän eri aliohjelmia, jotka puolestaan voivat sisältää omia valik
koja. Järjestelmän päävalikko on esitetty kuvassa 10.
1 -11 :23p
= IJL.S-GUFU
P S Ä » (U 1 K K 0 ; 1 Perustietojen ylläpito 2 Asiantuntijan konsultointi 3 Pr a д-fi. set kuvat.
\ 4 Raportit- kirjoittimelle*
5 Tietojen siirto Л 'varalla'
7 ’ varal 1 a’
0 Lopetus Valintasi :
Kuva 10. ULS-GURU-Ohjelmiston päävalikko.
Perustietojen ylläpidossa käyttäjä voi muuttaa, lisätä ja tuhota tietueita järjestelmän tietokannoista.
Asiantuntijan konsultointi-kohdasta käyttäjä voi käynnistää komponenttikoodien jaon eri koneille ja kone
kohtaisen syöttöpöytäkonfiguraatlon määrittämisen.
Graafiset kuvat-kohdassa käyttäjä voi tarkastella edellisessä kohdassa määriteltyä järjestystä erilaisten diagrammien avulla.
Kirjoitinraporttien avulla voidaan tulostaa tiedos
tojen sisältö sekä määritelty syöttöpöytäkonfiguraatio.
Tietojen siirto-osassa voidaan järjestelmän tietokan
taan lukea ulkopuolinen ASCII-muotoinen tiedosto tai vaihtoehtoisesti määritellystä syöttöpöytäkonfiguraatiosta muodostaa ASCII-muotoinen tiedosto, ulkopuolista käyttöä varten.
5.4.1 TIETOKANNAT
Järjestelmässä on kaksi rinnakkaista tietokantaa, yksi primääripuolen ladontavaihetta varten ja toinen sekundää- ripuolen ladontavaihetta varten. Järjestelmän sisältämät tietokannat ovat muovautuneet kehitystyön aikana seuraa- viksi:
5.4.1.1 KOODITIEDOSTOT
Kooditiedostoissa ovat ladottavien komponenttien perustiedot, jotka yksilöivät kaikki järjestelmässä kul
loinkin käytettävät komponenttikoodit. Kooditiedostojen nimet koostuvat 5 merkistä + alkukirjaimesta, jonka jär
jestelmä lisää nimen alkuun erottaakseen primääri- ja sekundääripuolen perustiedot toisistaan. Primääripuolen kooditiedostoilla on alkukirjaimena A ja sekundääripuolen kooditiedostoilla vastaavasti alkukirjain В.
Kooditiedoston sisältämät kentät ovat seuraavat : KOI Kooditunnus
K02 Kotelotyyppi K03 Pakkaus
K04 Koodin volyymi
13 merkkiä 8 merkkiä 1 merkki 1-9999999 kpl Kooditunnus yksilöi komponentin.
Kotelotyyppi kertoo komponentin ulkomuodon.
Pakkaus kertoo miten koodi on pakattu.
Volyymi kertoo miten paljon ко. komponenttia ladotaan tietyllä aikavälillä.
5.4.1.2 KONEKOHTAISET TIEDOT
Konekohtaisissa tiedoissa on järjestelmässä käytet- xxxvii
tävien ladontakoneitten ominaisuudet eritelty. Primääri
puolen tiedoston nimi on KON.ITB ja vastaavasti sekundää
ripuolen tiedoston nimi on K0N2.ITB. Konetiedoston sisäl
tämät kentät ovat seuraavat : N01 Koneen tunnus
N02 Koneen nimi N03 Feederlkm N04 Nopeuskerroin N05 Sijoitustapa N06 Prioriteetti N07 Erikoistarkistus
Koneen tunnus yksilöi ladontakoneen.
Koneen nimi on tunnuksen selväkielinen nimi.
Feederlkm kertoo koneen syöttöpöydän kiinnityspaik- kojen määrän.
Nopeuskerroin ilmoittaa koneen 1adontanopeuden suh
teessa nopeimpaan koneeseen ( x/100 ).
Sijoitustavalla valitaan syöttöpöydän komponenttien volyymijakauman muodostusperiaate ( l=Gauss,
2=Reunasta alkaen )
Prioriteetti-kenttä jakaa koneet ensi- ja toissijaise
sti käytettäviin. Arvolla 0 kone ei ole käytössä lainkaan.
Erikoistarkastus kertoo minkätyyppistä tarkastusta sovelletaan syntyneisiin syöttölaitepareihin ( 0=ei tarkastusta, 1=FUJI CP-sarjan tarkastus, 2=HP4000 koneen 1. puolen tarkastus, 3=HP4000 koneen 2. puoli
( = alkaa paikasta 31 ) ) 5.4.1.3 K0NE&SYÖTTÖLAITE-TIED0T
Kone&syöttölaite-tiedot kertovat, mitä komponentti- tyyppiä voidaan/halutaan latoa milläkin koneella. Pri
määripuolen tiedoston nimi on KOF.ITB ja sekundääripuolen tiedoston nimi vastaavasti K0F2.ITB. Kone&syöttölaite- tiedoston sisältämät kentät ovat seuraavat :
F01 Koneen tunnus F02 Kotelotyyppi F03 Pakkaus
F04 Feedertyyppi F05 Paikkatarve F06 Käsiladonta
Koneen tunnus yksilöi ladontakoneen.
Kotelotyyppi kertoo komponentin ulkomuodon.
Pakkaus kertoo miten koodi on pakattu.
Feedertyyppi kertoo käytettävän syöttölaitteen tyypin.
Paikkatarve ilmaisee montako syöttölaitteen kiinnitys- paikkaa ко. syöttölaitetyyppi tarvitsee.
Käsiladontatiedolla 0 komponentin manuaalista ladontaa on mahdollisuuksien mukaan vältettävä, kun taas käsi
ladontatiedolla 1 manuaalinen ladonta on tarvittaessa sallittu.
xxxviii
5.4.1.4 LÄHTÖTIEDOT
Lähtötietojen tiedostossa pidetään rekisteriä järjes
telmän kaikista lähtötiedoista. Primääripuolen lähtötiedot pidetään tiedostossa AKO.ITB ja sekundääripuolen lähtötie
dot taas vastaavasti tiedostossa AK02.ITB. Lähtötietojen tiedoston kentät ovat seuraavat :
A01 Tiedoston nimi : 5 merkkiä A02 Kuvaus : 30 merkkiä
Tiedoston nimi on lähtötietojen nimi, joka voi olla mikä tahansa 5 merkin kombinaatio.
Kuvaus on lähtötietojen sisällön sanallinen kuvaus ( esim. Valmistettavan lajimerkin tunnus ).
5.4.1.5 TULOSTIEDOSTO
Tulostiedostossa on järjestelmän määräämä komponent- tijärjestys eri koneilla. Kaikille lähtötiedoille on aina oma tulostiedosto. Tulostiedoston nimi on 0-kirjain + käytetyn lähtötiedoston nimi. Tulostiedostossa on seu
raavat kentät :
U01 Kooditunnus U02 Konetunnus U03 Feederpaikka U04 Volyymi
U05 Feedertyyppi Kooditunnus yksilöi komponentin.
Konetunnus yksilöi käytettävän ladontakoneen.
Feederpaikka kertoo mihin syöttöpöydän syöttölaite- paikkaan komponentin syöttölaite kiinnitetään.
Volyymi kertoo miten paljon ko. komponenttia ladotaan tietyllä aikavälillä.
Feedertyyppi kertoo käytettävän syöttölaitteen tyypin.
5.4.2 ALIOHJELMIEN KUVAUKSET
Järjestelmä koostuu toisistaan riippumattomista alioh
jelmista, jotka sijaitsevat omissa tiedostoissa. Aliohjel
maa kutsutaan Perform-komennolla ja tiedonsiirto ohjelmas
ta toiselle on hoidettu globaaleja muuttujia käyttämällä.
Jos ei muuta ole mainittu, siirtyy ohjelman suoritus aina takaisin sitä kutsuneeseen ohjelmaan, kun aliohjelma on suoritettu loppuun. Kuvassa 11 on esitetty eri aliohiel- mien keskinäiset riippuvuudet.
xxxix
OHJELMIEN KESKINÄISET RIIPPUVUUDET
—EXDATAM
—
EXFEDKY-— EXGRAKY STARTUP — EXPU01J----
EXMA1NMEXRAPOR EXKORKY --- EXREPOI EXREP02
EXREP03
EX RAP KY --- EXREP04 EXREP05
"E>:ATTKY' --- EXATTKO
■ЕХАТГКР
__ EXKNVKY--- EXKONVE
EXFUI1F
EXHPAR1 EXPLOTS
Kuva 11. ULS-GURU: Aliohjelmien riippuvuudet.
STARTUP.IPF
Järjestelmän käynnistysvaiheessa aliohjelma alustaa GURUN ympäristömuuttujat, tulostaa alkulogon ja käynnistää aliohjelman Expuoli.ipf.
EXPUOLI.IPF
Tuo näyttöön puolten valintamenuun; käyttäjän valin
nalla 1 käsitellään primääripuolta ja valinnalla 2 sekun- dääripuolta. Valinnalla 0 palataan MS-DOS:in alaisuuteen ja GURU: n varaama muistila vapautetaan. Jos käyttäjä valitsee jommankumman puolen käsiteltäväksi, käynnistetään
lopuksi aliohjelma Exmainm.ipf.
xl
EXMAINM.IPF
Ohjelmiston varsinainen pääohjelma, tulostaa päävali
kon ( kuva 10 ) ja haarautuu käyttäjän valinnan mukaiseen toimintoon ( aliohjelmaan ).
EXDATAM.IPF
Tietokannan ylläpitomenu, jolla valitaan tietokanta, jota halutaan ylläpitää. Jos ylläpidettäväksi valitaan kooditiedostot, käynnistyy seuraavaksi aliohjelma Exkod- ky.ipf, muussa tapauksessa aliohjelma Exlmod.ipf.
EXLMOD.IPF
Tietokannan muokkausohjelma, jolla muokataan edel
lisessä aliohjelmassa valittua tietokantaa.
EXKODKY.IPF
Muokattavan kooditiedoston valinta ja aliohjelman Exmodko.ipf käynnistys.
EXMODKO.IPF
Kooditiedostojen muokkausohjelma, jolla muokataan edellisessä aliohjelmassa valittua tietokantaa.
EXFEDKY.IPF
Komponenttikoodien syöttölaitepaikkojen määritys käynnistetään ja hallitaan tästä ohjelmasta. Aluksi vali
taan käytettävä alkutiedosto ja sitten kutsutaan aliohjel
mia Exklkon.ipf,Exk2kon.ipf ja Exsortf.ipf.
EXK1K0N.IPF
Ensisijaisilla ladontakoneilla ladottavien komponent
tikoodien valinta ja valittujen koodien jako käytettävien ensisijaisten 1adontakoneitten kesken. Ylijääneet kom
ponent tikoodit jäävät tilapäiseen tiedostoon. Ohjelman toiminta selviää tarkemmin kuvasta 12.
EXK2K0N.IPF
Ohjelmasta Exklkon.ipf ylijääneitten komponenttiko
odien jako toissijaisten ladontakoneitten kesken. Kom- ponenttikoodit, joille ei löydy toissijaista konetta osoitetaan manuaaliseen ladontaan.
EXSORTF.IPF
Ohjelma hallitsee syöttöpöytäkonfiguraatioiden muodos
tamisen eri ladontakoneille kutsumalla aliohjelmia Ex- gauss.ipf, Exreuna.ipf ja Exhp400.
xl i
m ikon
Onko MANU
koodeja
Voiko koodin 1 sijoittaa
„koneelle J ? , ____У Onko koneella
X J Ulaa ?
Onko vitiä koneita ?
Onko koodilla I palkka •>
zOvatko kalkki \
\koneel lâfnnnl V MANU » TRUE
1*1, MANU = FALSE
Sijoita koodi 1 manuaaliseen ladontaan
Luetaan ensisijaisten koneitten tiedot muistiin
Luodaan jokaiselle koneelle ajoaikainen tiedosto kofVitb Lajitellaan koodit alenevan volyymin ja kasvavan kaeiladonta- liedon mukaan mukaan
Varataan paikka koodille I * sijoitetaan koodi tiedostoon Xof T.1TB ja pSivitetèân koneen tiedot.
Kuva 12. Ohjelman EXK1KON vuokaavio.
EXGAUSS.IPF
Yhdelle ladontakoneelle osoitetuista komponenttikoo- deista aliohjelma tekee syöttöpöytäkonfiguraation, jonka volyymijakauma seuraa mahdollisimman tarkasti Gauss'n käyrää. Mikäli koneelle on valittu erikoistarkastus, kutsutaan aliohjelmaa Exfujif.ipf.
xlii
EXREUNA.IPF
Yhdelle ladontakoneelle osoitetuista komponenttikoo- deista aliohjelma tekee syöttöpöytäkonfiguraation, jonka alenevan volyymin mukainen jakauma alkaa syöttöpöydän vasemmasta reunasta. Mikäli koneelle on valittu erikois- tarkastus, kutsutaan aliohjelmaa Exfujif.ipf.
EXFUJIF.IPF
FUJI CP-sarjan koneille tehtävä syöttöpöydän kom- ponenttikonfiguraation erikoistarkastusohjelma, joka purkaa kaikki laittomat syöttölaiteparit, kunnes laillinen järjestys on saavutettu. Laittomia pareja ovat (8,16),
(8,24) ja (8,32). Kaikki muut syöttölaiteparit ovat sal
littuja ja laillinen järjestys löytyy aina ( 8-syöttölait- teet oikeassa reunassa! ), joskin volyymijakauma kärsii jonkin verran, jos laittomia pareja on paljon.
EXHP400.IPF
FUJI HP4000 1adontakoneen 1. puolen syöttölaitejärjes- tyksen määrittäminen. Komponenttikoodlt jaetaan kahteen ryhmään kotelotyypin mukaan. Näin syntyneen kahden ryhmän syöttölaitteet ryhmitellään syöttöpöydälle toisistaan erilleen. Komponenttikoodien volyymijakaumasta pyritään saamaan Gauss'n käyrän mukainen. Ohjelman tarkempi toimin
ta selviää kuvasta 13.
EXHPARI.IPF
FUJI HP4000 ladontakoneen 1. puolelle osoitettujen komponenttikoodien ryhmittely pareiksi. Toinen edellisessä ohjelmassa syntyneistä ryhmistä koostuu sellaisista kom- ponenttikoodityypeistä, joita mahtuu 2 samaan syöttölait
teeseen. Vain samalla kotBiotyypillä varustetut komponent- tikoodit voivat muodostaa samaan syöttölaiteeseen sijoite
ttavan parin. Ohjelma muodostaa niin monta paria kuin mahdollista. Tarkempi kuvaus ohjelman toiminnasta on kuvassa 14.
EXGRAKY.IPF
Graafisen raportoinnin perustana käytettävän tulos
tiedoston valinta ja ohjelman Exgrafi.ipf käynnistys.
EXGRAFI.IPF
Graafisen raportoinnin valikon tulostus ja haarautumi
nen käyttäjän valitsemaan toimintoon ( aliohjelmaan ).
EXPLOKV.IPF
Konetunnuksen, jolle tehdään syöttöpöydän komponentti- koodien volyymijakaumasta graafinen raportti, valinta.
xliii
EXHP400
Varataan paikka
k
koodilleLaaditaan reunan mukainen järjestys DUMK2:een ( DCREU!EUNA )
Varataan koodille Sijoitetaan pari 1 paikka koneella menualiseen ladontaan
- I 41
lajit el lean koodit pareiksi. ( EXHPARI )
5jÜ ~
Sijoitetaan ylimenevät manuaaliseen ladontaan
Laaditaan reunan mukainen Järjestys koneelle osoite
tuista koodipareista.
( öREUNA )
ГирД▼
Kuva 13. Ohjelman EXHP400 vuokaavio.
EXPLOT2.IPF
Edellisessä ohjelmassa valitun konetunnuksen perus
teella volyymijakauman muodostaminen ко. ladontakoneelle ja muodostetun jakauman tulostus.
xliv
ЕХНРАЛ1
Onko parin A 1 pilkan koodin kotelo gama ?
Lajitellaan koodit alenevan volyymin mukaan
Kuva 14. Ohjelman EXHPARI vuokaavio.
EXVOPIE.IPF
Piirakan, joka näyttää jokaisen koneen osuudet ladot
tavasta kokonaisvolyymista, muodostaminen ja tulostaminen.
Manuaaliseen ladontaan osoitettujen komponenttikoodien yhteisvolyymi näkyy yhtenä piirakan osana.
EXV0PI2.IPF
Ohjelma muodostaa saman piirakan kuin edellinen ohjel
makin sillä erotuksella, että koneitten volyymiosuudet on painotettu koneitten nopeuskertoimilla. Manuaalisen ladon
nan nopeuskertoimena käytetään 3/100 . xlv