• No results found

FORTRAN IV-programma's t.b.v. selectie en inplanning van draadcombinaties op ARTOS-MM25

N/A
N/A
Protected

Academic year: 2021

Share "FORTRAN IV-programma's t.b.v. selectie en inplanning van draadcombinaties op ARTOS-MM25"

Copied!
96
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

FORTRAN IV-programma's t.b.v. selectie en inplanning van

draadcombinaties op ARTOS-MM25

Citation for published version (APA):

Mathijssen, M. J. H. (1986). FORTRAN IV-programma's t.b.v. selectie en inplanning van draadcombinaties op ARTOS-MM25. (TH Eindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol. WPB0233). Technische Hogeschool Eindhoven.

Document status and date: Gepubliceerd: 01/01/1986

Document Version:

Uitgevers PDF, ook bekend als Version of Record

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.

• The final author version and the galley proof are versions of the publication after peer review.

• The final published version features the final layout of the paper including the volume, issue and page numbers.

Link to publication

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

• You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:

www.tue.nl/taverne Take down policy

If you believe that this document breaches copyright please contact us at: openaccess@tue.nl

providing details and we will investigate your claim.

(2)

1-1 verslag, rapportnummer 0233

Door : Mark Mathijssen, M.J.H

Datum: 16-12-'86

(3)

8..TAGEVERSLAG:

*

..

*'

T\lE

K

y~ 8~&A.~·' ~

l

-'It

'C\..."J...g.~

It

~

~

\1

~o...Q.v.

*'-~~t~~

~~.y~.

Bevat de beschrijving van de fortran-IV programma's:

ARTKOM: sortering "artoskombinaties" vanuit aderhulpbestand. ARTPLN: inplanning "artoskombinaties" op Artos MM-25.

Stage bedrijf Ergon Bedrijven Eindhoven

Stage peri ode 05-04-'86 tim 31-08-'86

Datum verslag 10-12-'86

Opleiding TH-Werktuigbouw

Stagier Mark Mathijssen

(4)

I INLEIDING ... It .. .. .. .. .. . . . . 2 II ERGONBEDRIJVEN EINDHOVEN 2 .. 1. Al gemeen ... It .. .. .. .. .. .. .. .. • .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . 3 2.2. Draadboomconfectie 2.2.1. Algemeen ...•...•••...••••...••.. 6 2.2.2. Het productieproces ....•.•.•....•....•... 8 2.2.3. Aanwezige productiecapaciteit ...•••.... 10

III STAGE OPDRACHT 3 .. 1.. A1 gemeen ... 11

3.2. Stage opdracht ... 13

3 .. 3.. Ui twerking ... 14

IV COMPUTER PROGRAMMA'S 4.0. Wijzigingen niet doorgevoerd in verslag ...••.. 15

4.1. Beknopte beschrijv1ng ...•.•..•••.•...••••.. 16

4.2. Gebruikers handle1d1ng .••..•.•...•..•. 17

4.3. Beschrijving totale programma •...••...•..•.•.. 19

4.4. Enkele kritische kanttekeningen .••...••••...•.•• 64

4.5. Te verwachten werkzaamheden .•.••...••..•... 67

4.6. Toekomst1ge programma- en bestanden-struktuur K.S.A.-afdeling . . . 69 V SLOT ... ... .. 70 BIJLAGE I BIJLAGE II BIJLAGE II I: BIJLAGE IV :

Specif1cat1es van de artos MM-25

Recordslayouts van de versch111ende files Programma teksten (los bijgevoegd)

(5)

:Y'" ~""~ V k ,I).t)\-,(r,,"-l D~ '\~. ~

~"~.

~ ~~ ~~~

v--":.

4

-2- \\ 1lWI-~'\", (~~

-Hoofdstuk I: INLEIDING

In dit rapport vindt u het verslag van de werktuigbouwkundige stage, de zogenaamde "Il-stage". welke ik heb verricht in het kader van mijn studie tot werktuigbouwkundig ingenieur aan de Technische Hogeschool in Eindhoven.

Deze stage heb ik verricht bij de Ergonbedrijven,

Rooyakkersstraat 3 in Eindhoven, in de periode van 7 april .~

1986 tot eind augustus 1986. Ik heb gewerkt op het ~ , I).#' ...

productiebureau van de afdeling draadconfectie. . ~ JY o~ J

~~

u~_~::::::->~.

Oorspronke11jk was de stageopdracht erg vaag: omsteltijden verkorten op een nog niet aanwezige machine.

Na een kle1ne ori~ntat1e omtrent de organisat1e en indeling van de Ergonbedrijven ben ik me gaan toeleggen op de reeds aangeschafte maar nog niet aanwezige machine: de Artos MM-25.

Al snel werd duidelijk dat de stage-opdracht zou neerkomen op het leveren van twee computerprogramma's.

Een programma welke uitgaande van het aderhulpbestand per draadboom kan bepalen welke aders als kombinatie-aders door de Artos-MM25 kunnen worden geproduceerd.

Een tweede programma welke de product1evolgorde van de te produceren kombinatie-aders bepaalt en welke de hiervoor de benodigde draadsoorten en applicaties inplant op de

Artos-MM25.

Eind augustus, drie maanden later zijn beide programma's gereed en klaar voor g~bruik.

_~ ~

~.~

~

~~

(J~ ~ p-vcp~

~.~

v,,~"Vfo~~o..

:)

CvV\,,~oc..VvLopbo~ (~~~~)

:=:)

S~~/~~

c:-)

V~

U~

.

C rlo-vv

~)

~~~~U~()~

~~Wr)~

.~

/p"rJf't~

/vtA.A-

~

ck

~

l.

O~~~

UO-AA-C~\l~~)'

(6)

Hoofdstuk II: ERGONBEDRIJVEN - EINDHOVEN

2.1. Algemeen

Ergonbedrijven is een zelfstand1ge dienst van de gemeente Eindhoven voor de uitvoer1ng van de Wet Sociale Werkvoorz1en1ng.

Op grond van deze wet is namelijk elke gemeente

verplicht om zorg te dragen voor werkgelegenheid voor personen, die tot arbe1d in staat zijn, doch voor wie, in belangrijke mate t.g.v. bij hen gelegen factoren gelegebeid om onder normale omstandigheden arbeid te verrichtten niet, of voorhands niet aanwezig is. Via de Regeling Regionale Werkvoorziening Eindhoven werken de omringende gemeenten samen met de gemeente Eindhoven en laten zodoende de E~gonbedrijven Eindhoven zorg dragen voor ook hun uitvoeringen van de W.S.W. De werkverbanden binnen de Ergonbedrijven kunnen worden gezien als arbeidsgemeenschappen met een heel eigen aard en doelstelilng, afwijkend van de situatie zowel in het bedrijfsleven als bij de overheid.

Ergonbedrijven heeft ± 1500 werknemers in dienst via de W.S.W. Hiernaast heeft het 150 werknemers in dienst van de gemeente Eindhoven.

Ergonbedrijven is onderverdeeld in drie sectoren: 1. Industriele sectorj hier werken ongeveer

750 werknemers.

2. Buiten objectenj hier werken ongeveer 375 werknemers. Hieronder staan o.a. plantsoenen, kwekerij etc.

3. Administratief Dlensten Centrum; hier werken ongeveer 375 werknemers.

Hieronder staan o.a. de drukkerij, detacheringen.

Ergonbedrijven heeft deze drie sectoren verdeeld over een aantal vestigingen. De belangrijkste zijn:

(7)

1. De Hurk.

/ Bier werken ongeveer 400 werknemers.

/ / / Bier zijn ondergebracht: - een deel van de industrHHe

,/ sector

./'

- een deel van het admini-stratief diensten centrum - de stafafdelingen voor

aIle nederzettingen . Ook is hier ondergebracht de Stichting Bevordering Werkgelegenheid Sociale Werkvoorziening (S.B.W.S.W.). Deze stichting is opgericht door de gemeente ,

Eindhoven en stelt zich ten doel het bevorderen van de werkgelegenheid in de sociale werkvoorziening en de vermindering van de jeugdwerkloosheid, In deze stichting werken ongeveer 60 werknemers onder zogenaamde "twee-jaar- contractenl t

,

2. Achtse Barrier.

Hier werken ongeveer 350 werknemers.

Ondergebracht is een deel van de industriele sector.

3. Valkenswaard.

Hier werken ongeveer 100 werknemers.

4. Kwekerij.

Bet organisatieschema van de Ergonbedrijven staat op de volgende bladzijde.

Binnen de Ergonbedrijven werken 300 werknemers via de W.S.W. aan de draadconfectie, verdeeld' over 3 vesti-gingen. Het groots~te gedeelte 113 gevestigd op

vestiging De Hurk.

AIle werknemers binnen de Stichting B.W.S.W. werken aan de draadconfectie.

(8)

r

I I Bedrijfs-geneeskunde Draadfabri-cage de Hurk 14

/ '

Controller 26

I Automatiserine I Staffunctie

/

d t us r:Le e '''1 16 In pr de Adm oducten Hurk + .Diensten

-Techn.adj.di 1 L

-

-Kwaliteit materiaal management

-11 Person eels-zaken Industriele producten Acht + V'waard -

-

Hoof dproduc t it planning 1 Buiten objecten 24 Totaal 150 ORGANISATIESCHEMA VAN DE ERGONBEDRIJVEN

(9)

2.2. Draadconfectie binnen Ergonbedrijven Eindhoven.

2.2. 1. Algemeen.

Binnen de afdeling draadconfectie worden draadbomen geproduceerd, hoofdzakelljk v~~r Volvo Car.

Een draadboom kan worden gezien als het elektriscbe circuit van een auto.

Een draadboom bevat een aantal verschillende soorten aders (dit zljn met P.V.C. omspoten koperen draden). Aan aIle draadeinden zijn terminals (contactdoosjes) bevestigd. Sommige draadeinden zijn met elkaar

verbonden via een terminal, een soldeerverbinding of een ultra-soon las.

Binnen de draadconfectle kan men onderscheiden de

productle van grote hoofddraadbomen en die van klelnere draadbomen. Een hoofddraadboom bevat tussen de 120 en

-160 aders, een klelnere draadboom bevat 2 tot 20 aders.

=

--.

--Enige cijfers:

Productle per jaar: 60.000 hoofddraadbomen 600.000 klelnere draadbomen

50.000 flat cables (platte kleinere draadbomen). Het orderpakket bevat doorlopend ongeveer:

5 verschlllende hoofddraadbomen 9 verschl11ende kleinere draadbomen

Een draadboom bevind zlch gemlddeld een jaar in het productle-pakket.

Tijdens dit jaar ondergaat deze gemlddeld 3 wljzlglngen.

Voor de totale productle gebrulkt men: ± 120 verschlilende soorten aders.

± 75 terminals.

Een hoofddraadboom bevat tfmaximaalff: ± 50 verschl1lende soorten aders.

Serlegrootte bedraagt: 250 - 5.000 stuks. Gemiddelde aderlengte: 1,5 m.

1% van aIle aders heeft een lengte 1anger dan 3 m.

Het organisatleschema van de draadboomconfectie staat op de volgende paglna.

(10)

Productie halffabri-katen 3 de Hurk ~~~---~ ass. bedrijfl: leider r---I---.---~---Productie bureau 5 Montage stichting Montage deHurk

W.S.W.

3 . Technische Dienst 1 Coordinatie uitbesteding

o

ORGANISATIESCHEMA DRAADBOOMCONFECTIE

(11)

2.2.2. Het productieproces.

Het productieproces van een draadboom wordt

onderverdeeld in twee stappen te weten (1) de productie van halffabrikaten en (2) montage.

1. Productie halffabrikaten.

Ala ingangsmateriaal worden in tonnen opgerolde draad gebruikt.

De aders worden eerst op maat geknipt. Daarna worden de beide uiteinden op maat gestript. Hterna voIgt het aanslaan van de contactdoos (de zogeheten

terminals) m.b.v. persen (de zogeheten applicators). Ook moeten meerdere aders aan een uiteinde met

elkaar gecombineerd worden waardoor de Beleaelea combinatie-aders ontstaan.

De productie van halffabrikaten vindt plaats op de Knip-, Strip- en Aanslag-afdeling (K.S.A.-afdeling) op de vestiging De Hurk.

2. Montage.

De halffabrikaten geproduceerd op de K.S.A.-afdeling worden gemonteerd tot een draadboom.

Op de vestiging De Hurk worden per jaar gemiddeld 25.000 hoofddraadbomen gemonteerd. De overige draadbomen worden gemonteerd op de vestiglng

De Achtse Barrier of op andere uitbestedingsadressen.

Het productiebureau geeft de orders ult. Tot nu toe geeft men orders per type draadboom.

Een order bestaat uit: - shop packet work sheet:

Bevat de routing met bijbeborende uren.

- materiaal picking list Bevat de materiaallijsten - totaallijsten

Dit is een computeruitdraai waarop aIle aders staan welke behoren bij de bescbouwde draadboom met

(12)

Deze aders staan ala voIgt onderverdeelt: aangespoten aders lijst filomat aders lijst comax 1 aders lijst comax 2 aders lijat aanslag lijst

Aangespoten adera worden ala zodanig ingekocht. Filomat, Comax 1 en Comax 2 zijn de machines waarop de desbetreffende aders worden verwerkt (zte volgende paragraaf).

Op de aanslaglijst staan die aders waarop terminals met de hand aangeslagen moeten worden.

(13)

2.2.3. Aanwezige productiecapaciteit.

Knip-, Strip- en Aanslag-afdeling op De Hurk: Machines: Filomat: aanwezig 3 machines

bewerkingen zijn knippen, strippen, markeren

stamtijd: ± 1,8 min./lOO aders. Komax: aanwezig 4 machines

bewerkingen zijn knippen, strippen en aanslaan

stamtijd: ± 2,3 min./100 aders voor enkelzijdige aanslaan ± 3,0 min./100 aders voor tweezijdige aanslaan Handaanslag machine:

aanwezig 16 stuks

bewerking is handaanslag stamtijd: ± 5 min./lOO aders Ultra-Soon las machine:

aanwezig 2 stuks

bewerking is ultra-soon lassen van meerdere draadeinden

stamtijd: ± 30 min./lOO aders (voor 5 aders in 1 las)

Medewerkers: op de afdeling K.S.A. zijn 45 medewerkers werkzaam.

Montage-afdeling op De Hurk:

Er staan hier geen speciale machines.

De draadboom wordt samengesteld uit de aangeboden aders op een speciaal voor die draadboom vervaardigd

montagegebord.

(14)

Hoofdstuk III: DE STAGE OPDRACHT. 3.1. Algemeen.

De grootste klant van de draadconfectie. Volvo car, eist een productie verhoging van 60.000 naar 80.000

hoofddraadbomen per jaar.

Om aan deze eis te kunnen voldoen is het noodzakelijk dat vooral de K.S.A.-afdeling zijn productie verhoogd. Men hoopt deze productieverhoging mede te verkrijgen door de aankoop van een nieuwe machine: de Artos-MM25 (Multi Module).

Deze machine heeft de mogelijkheid aders te knippen, te strippen en aan te slaan, en kan zelfs 2 aders in een terminal combineren zodat er combinatie-aders ontstaan. Verdere mogelijkheden en randvoorwaarden van de Artos- MM25:

- op maat knippen van een ader - op maat strippen van een ader - het aanslaan van een terminal

- het "dubbelen" van 2 aders in een terminal - markeringen zijn niet mogelijk

- aderlengten groter dan 500 mm., no problem

- aderlengten tUBsen 270 en 500 mm. kunnen aIleen als

~ laatste ader uit een combinatie doo~~artos worden verwerkt

- aderlengten tUBBen 80 en 270 mm. kunnen aIleen aan een zijde gestript en aangesl~gen worden

- aderlengten kleiner dan 80 mm. kunnen niet worden verwerkt door de art os- machine

- het opzetten van kousjes of tules is niet mogelijk - aderdiameters groter dan 2,5 mm. en kleiner dan 0,3 mm.

kunnen niet worden verwerkt door de artos-machine - er kunnen 16 draden gelijktijdig op de machine

aangesloten worden

- er kunnen 8 applicators gelijktijdig op de machine staan

- stamtijd: 2,5 sec./draad Zie verder bijlage I.

Het in gebruik nemen van de Artos- MM25 heeft als

consequentie dat de tot nu toe gebruikte aderlijsten voor de verschillende machines, (de Filomat-lijst, de

Comax-l-1ijst en de Comax-2-lijst en aanslaglijst, zie paragraaf 2.2.2.) niet meer voldoen.

9 I

(15)

Namelijk. kombinatie-aders welke voldoen aan de hierboven gestelde rand- voorwaarden zullen van de bestaande

aderlijsten afgehaald moeten worden en overgeschreven moeten worden naar een nieuwe lijst: de lijst

artos-kombinaties.

Zodra men de lijst artos-kombinaties behorend bij een draadboom heeft vervaardigd rijst de volgende vraag:"wat is de optimale fabricagevolgorde van de te fabriceren artos-kombinaties.

Na een kleine inventarisatie van het bedrijf is mij de volgende opdracht gesteld.

(16)

3.2. De stage opdracht.

~

.

~~

Mijn stageopdracht luidt als voIgt:

Ontwerp, sehrijf en test de volgende computerprogramma's: tot ale

1. Programma 1, welk uitgaande van het

aderhulpbestand,bepaalt welke aders geschikt zi1n voor fabricage door de Artos-MM 25.

Alle randvoorwaarden van de Artos-MM25 moeten indit

~

programma logischerwljze worden verwerkt.

Het programma moet drie bestanden onderhouden namelijk: een best and aangespoten aders

een bestand artoskombinaties een bestand overige aders

()V...C1...

2. Programma 2, ~de optimale fabricage-volgorde van

de door de Artos-MM 25 te fabriceren comblnaties bepaalt. De optimale fabricage volgorde van kombinatie-aders is die volgorde waarbij de tijd, nodig om aIle gewenste kombinatie-aders te produceren, het kleinst is.

t~~ock

Hierna moeten draadsoorten en terminals voor de gehele produktie ingepland worden. Het programma moet een of

~~

~~~

~

~~.

meerdere draadbomen tegelijk kunnen inplannen.

Aan beide programma's worden de volgende eisen gesteld: - de programma's dienen gebruikersvriendeliJk te zijn - de programma's dienen snel te zijn

- de programma's dienen overzichtelijk, leesbaar en goed gestruktureerd te zijn

- de programma's dienen te zijn voorzien van duidelijk commentaar

- de beide programma's mogen geen direct access files '

-

---afleveren

(17)

3.3. Uitwerking

Op de Ergonbedrijven staat een IBM computer S 38. Belaas is aIleen een RPG-II compiler aanwezig.

RPG-II is een al wat verouderde taal en is vooral voor de in de vorige paragraaf genoemde programma's een zeer omsIachtige taal.

Als programma-taal is nu gekozen FORTRAN-IV. Dit omdat de mogelijkheid bestond, op een computer in een bijkantoor van IBM te Eindhoven te werken waar een FORTRAN-IV compiler aanwezig is.

Omdat de beschikbare tijd bij IBM gelimiteerd is heb ik genoemde programma's eerst op de TH op de

Burroughs-computer ingevoerd en getest.

Nadat op de Burroughs beide programma's naar wens

functioneerden heb ik ze overgebracht naar de IBM-S36 in het IBM gebouw waar de programma's zijn vertaald naar

IBM-machinetaaI.

Deze vertaalde versies heb ik daarna geinstalleerd op de IBM-~op de Ergonbedrijven.

De beschrijving van beide programma's vindt U in het volgende hoofdstuk.

(18)

Hoofdstuk IV: HET PROGRAMMA

4.0. Wijzigingen niet doorgevoerd in het verslag.

1. In de eisen gesteld aan beide programma's staat o.a. dat geen direct access-files afgeleverd mogen worden.

Deze eis heeft de afdeling Automatisering in een zeer laat stadium laten vallen .

.0

Nu was het mogelijk om prgramma ARTKOM te versnellen door de subroutine BASIS te veranderen en om programma ARTPLN te verbeteren door deze los te koppelen van een eventuele printing van de gemaakte planning. Deze verbetering heeft vooral voor subroutine SeHR80 gevolgen.

2. Uiteindelijk is geen onderscheid gemaakt tussen aan-gespoten aders en overige aders en vallen beide soorten onder de naam "overige aders".

Dit heeft tot gevolg dat file 30 (aangespoten aders) niet meer nodig is.

3. Aders met een Iengte korter dan 270 mm. kunnen niet

door de Artos MM-25 worden behandeld. In het ~

ligt deze waarde nog op 80 mm. \ • L

IU'-'~~~

(19)

4.1. Beknopte beschrijving van het programma:

In principe'zijn er twee verschillende programma's: 1. ARTKOM

2. ARTPLN ad 1: ARTKOM

Het programma ARTKOM kan, uitgaande van het hulpbestand, per draadboom bepalen welke aders aangespoten aders zijn, welke aders als combi;atie door de artos-machine gemaakt kunnen worden (zogenaamde artos-aders) en wat de overige aders zijn. Gelijktijdig wordt het hulpbestand

gecontroleerd op eventuele fouten in de kolommen "kombinatie x-zijdefi en "kombinatie y-zijde". Bij

constatering-van een fout wordt een-rQutmelding gegeven. De artos-aders worden samengevoegd tot kombinaties. Daarna worden deze kombinattes ondergebracht in de bijbehorende totaallijst.

Indien de draadboom reeds in het verleden is behandeld worden deze oude gegevens utt de totaallijsten gehaald. ad 2: ARTPLN

Het programma ARTPLN bestaat utt 2 hoofdprogramma's: PRMARK: T.b.v. het uitprinten van de lijsten aangespoten

adersd artos~binaties, overige aders of het

aderhulpbestand

ARTOPT: Creiert een optimale inplanning van terminals, draadsoorten en kombinaties op de art os-machine van een of meer draadbomen

Vanzelfsprekend zijn de randvoorwaarden van de Artos-MM25 genoemd in paragraaf 3.1 verwerkt in beida programma's.

(20)

4.2. Gebruikers handleiding

De programma menu's geven de gebruiker voldoende

informatie om een juist gebruik van de beide programma's mogelijk te maken.

Toch wil ik een aantal punt en verduidelijken:

1. Wanneer er een kombinatie is gecreeerd waarbij een ader een kous of tule bezit of waarvan een ader een lengte heeft, korter dan 500 mm, dan wordt deze kombinatie aan de gebruiker getoond en wordt gevraagd hoe de kombinatie in delen opgesplitst dient te worden.

?

De gebruiker dient hierbij het volgende te weten: - ook wanneer de gehele combinatie intact kan blijven

moet dit opgegeven worden.

Dus druk op !tenter", daarna ingeven dat er sen deel wordt gecreeerd, daarna aIle b1jbehorende adernummers 1ntoetsen.

- bij het opdelen van de gegeven combinatie moet men rekening houden met de specificat1es van de

artos-machine en met de mogelijkheden van de handmatige bewerkingen.

- wanneer in een kombinatie de laatste ader korter 1s dan 270 mm zal het programma ervoor zorgen dat de

niet-gekombtneerde zijde "GEEN" terminal aan zal geven. - wannser een kombinatie aan sen bepaalde zijde een kous

of tale heeft dan zal aan deze zijde "GEEN" terminal aangegeven worden. Tenzij de ader aan deze zijde is gecombineerd met een andere ader; dan wordt aan de ANDERE zijde "GEENII

terminal aangegeven.

2,

Het hulpbestand dient als invoer voor het programma ARTKOM.

De vereiste record-layout vindt men in bijlage II in dit verslag. Kritiek is echter de invulling van de

specificaties tfkombinatie x-zijde" en "kombinatie y-zijde".

Formeel mogen hier alIGn ingevuld worden die adernummers waarmee de beschouwde ader is gekombineerd. Indien men aanvullende informatie wilt geven onder deze

specificaties, dan kan dat. Men moet hierbij het volgende in acht nemen:

- het eerste adernummer dat men ingeeft dient men altijd in te geven in 3 karakters. Dus geen " 13 !t maar "013". - wanneer men en adernummers en aanvullende informatie

wilt geven dan mag deze aanvullende informatie nooit ingetoetst worden v66r de plaats 10. DUB "0131..JLH ... w1..JW aanv.inf".

(21)

- wanneer aIleen aanvuIIende informatie wordt gegeven dan mag dit nooit voor de vierde plaats ingetoetst worden.

(22)

4.3. Beschrijving totale programma

Algemene opmerkingen bij de beschrijving van het programma: 1. Variabelen. welke in een subroutine gedeclareerd zijn,

enkel en aIleen omdat ze voorkomen in het COMMON-blok, worden niet besproken bij de beschrijving van deze subroutine.

2. Met "de ader specificaties" worden de volgende variabelen bedoeld: ARTNR, EXTNR, KLEUR, TERMX. TERMY, KOMBXZ. KOMBYZ. MARX, MARY, KOUBX, KOUBY, DELKOD

3. De beschrijving van de procedures vindt U bij de programma-tekst van deze procedures.

Er zijn twee procedures welke direct nodig zijn bij het gebruiken van de twee programma's, namelijk PARTKOM en PARTPLN.

Verder bestaan er de volgende procedures: POUNIFO

PNIOUFO

4. Alle door mij geschreven programmateksten en de bijbehorende vertaalde versies bevinden zich in een bilbiotheek, genaamd MKLIBR.

5. De recordbeschrijving van de genoemde files vindt U in bijlage II.

(23)

Programma ARTKOM Ingang gegevens: Funetie: - De door de gebruiker draadboom (HFDBM) - Sequentiele files: nr. 93: AANGESTT: in te toetsen te behandelen

bevat van aIle in het verleden behandelde draadbomen de

aangespoten aders.

nr. 94: ARTKOMTT: bevat van aIle in het verleden behandelde draadbomen die aders welke ala kombinatie door de artos-machine gemaakt kunnen worden.

nr. 95: OVERIGTT: bevat van aIle in het verleden behandelde draadbomen die aders welke ala overige aders

beschoud worden. nr. 10: ADDNI

~

het aderhulpbestand. (met nieuwe format)

Het programma ARTKOM kan uttgaande van het hulpbestand per draadboom bepalen welke aders aangespoten aders zijn, welke aders ala kombinatte door de artos-machine gemaakt kunnen worden

(zogenaamde artos-aders) en wat de overige aders zijn. De artos-aders worden samengevoegd tot kombinaties. Daarna worden de aders ondergebracht in de

bijbehorende totaallijat. Indien de draadboom reeds in het verleden behandeld is worden deze oude

gegevens uit de totaallijsten gehaald. Uitgang gegevens:

File nr. 30.40.50 welke beachouwd kunnen worden ala de ge-update versies van file 93.94.95.

Variabelen: Integer: E A KOMB KOM ADER DIAM LEN STLENX STLENY DELKOD

duidt het recordnummer uit file 45 aan geeft aan hoeveel aders het eerste record uit file 45 a&n x-zijde heeft (zie KREATI) wordt niet gebruikt in ARTKOMM zelf

kombinatie nummer welke gemaakt wordt adernummer diameter lengte striplengte x-zijde atriplengte y-zijde delition code

(24)

Real*8: ARTNR EXTNR KLEUR TERMX TERMY KOMBXZ KOMBYZ MARX MARY KOUSX KOUSY Logical: Mapics artikelnummer Extern artikelnummer Kleur

Terminal aan x-zijde Terminal aan y-zijde Kombinatie aan x-zijde Kombinatie aan y-zijde Markering x-zijde Markering y-zijde Kous/Tule x-zijde Kous/Tule y-zijde

GEEN

=

TRUE wanneer subroutine ZOEK de gezochte ader niet kan vinden

EIND20 FOUT1 CONTRO

=

TRUE wanneer subroutine laatste record van file wordt niet gebruikt

=

TRUE wanneer subroutine

KREAT1 bij het 20 is beland

ARTOS merkt dat de gebruiker zelf kombinaties moet creeren F50

=

TRUE wanneer subroutine ARTOS ziet dat de in

file 45 geplaatste kombinatie maar uit een adernummer bestaat

LAATST

=

FALSE; behalve bij gebruik van subroutine CONTRO (zie CONTRO)

EERST

=

FALSE; behalve bij gebruik van subroutine CONTRO (zie CONTROl

Globale werking: statement: //READ DEVICE-KEYBD //PRINT DEVICE-PRTR //DISPLAY DEVICE-CRT: //SEQ UNITO //DAD UNITO

file 5 wordt gedefinUerd als keyboard

file 3 wordt gedefinieerd printerfile

file 6 wordt gedefinieerd als display

sequentiele files direct access files CALL POTART: subroutine potart genereert 3 verschillende files:

10 CALL KaEATI

nr. 20 uitgangaders nr. 30 aangespoten aders nr. 50 overige aders

uitgaande van file 20 creeert KREATI een komblnatie van aders en plaatst deze in file 45

(25)

IF (EIND20) GO TO 50 CALL ARTOS IF (CONTR) go to 30 IF (F50) GO TO 40 CALL SCHR40 30 CALL CONTRO 40 KOM

=

KOM + 1 GOTO 10 50 CALL BASIS 60 STOP

als EIND20 is = TRUE ga door naar 50

ARTOS heeft de kombinatie uit file 45 en plaatst deze in file 46 in de

juiste volgorde

als CONTRO = TRUE ga door na 30; dit houdt in dat de gebruiker zelf kombinaties moet creeeren.

ala (F50)= TRUE ga door naar 40; dit houdt in dat de door KREATI in file 45 geplaatate kombinatie maar uit een draadsoort

bestaat.

SCHR40 schrijft de

komb1natie welke staat in file 46 weg in file 40 de gebruiker zelf creeert kombinat1es welke in file 40 worden weggeschreven

de volgende kombinatie wordt gecreeerd

file 30, 40 en 50 worden aangevuld met records uit resp. file 93, 94 en 95 welke niet behoren tot de beschouwde draadboom einde

(26)

Bijbehorende subroutines: POTART KREATI VOLGKO INLWEG ZOEK SCHRX SCHRY ARTOS CONTRO ZOEKl SCHR40 LAAT40 SCHR50 BASIS BAS93 BAS94 BAS95

(27)

Subroutine POT ART Funktie:

Selecteert uit het tot ale hulpbestand die aders welke behoren bij het opgegeven mapies artikelnummer. Deze geseleeteerde aders worden naar gelang hun

specifieaties verdeeld over file 30 (aangepaste aders), file 20 (uitgangsaders) en file 50 (overige aders).

Specificaties overlge aders:

Diameter groter dan 2,5 mm Lengte kleiner dan 80 mm

Meerdere aders in een terminal Geen kombinatie aan x- en y-zijde Markering aan x-zijde of aan y-zijde Speciflcaties aangespoten aders:

Terminal aan x- of y-zijde met nummer 949625, 968512 of 949626.

Aders welke niet aan bovengenoemde specificaties voldoen komen in file 20 (de uitgangs-file voor het verdere programma) Variabelen: Werking: De Z F G H ader specificaties. '949625 '949626 '968512'

HFDBM: De draadboom welke behandeld wordt

Er wordt ingelezen welke draadboom gewenst is. Achtereenvolgens wordt elk record uit file 10 het artikelnummer gelezen. Behalve de records welke DELKOD

=

1 bevatten. Indien ARTNR

=

HFDBM dan wordt het hele record ingelezen. Al naar gelang de

specificaties wordt naar statement 100, 150 of 200 gesprongen al waar het wordt weggeschreven naar respectievelijk file 30, 50 of 20.

(28)

Subroutine KREATI Functie:

Het creeren van een kombinatie van adere welke door de artos-machnine gemaakt kan worden.

Deze kombinat1e wordt gebouwd in file 45.

Wanneer de kombinatie compleet is staan de aders nog niet in de goede volgorde.

De goede volgorde wordt door de subroutine ARTOS bepaald. Variabelen: De ader HFDBM N~ GN VOLGEN: DE E A GEEN specificaties: de beschouwde draadboom 'GEEN 'VOLGEN 'DE TER'

geeft aan met welk record uit file 45 men bezig is

geeft aan hoeveel aders het eerate record uit file 45 aan x-zijde heeft

indien subroutine ZOEK de gewenste ader niet kan vinden: GEEN

=

TRUE

EIND20: TRUE wanneer aIle records uit file 20 behandeld z1jn

Werking statement:

CALL VOLGKO Het, vanaf het begin getelde, eerstvolgende record uit file 20 welke nog niet behandeld is door

KREATI wordt in file 45, record 1 gezet.

60 Indien file 45 record E een kombinatie aan x-zijde heeft --- 80

Zo niet, dan kan voor TERMX (1,2) de werkelijke terminal aan x-zijde in file 45 worden geschreven. Daarna naar 200

80 Ale TERMY een kostal verbinding is --- 85 Zo niet, zoek dan KOMBXZ op in file 20

Als je deze niet vindt of wanneer meerdere aders aan x-zijde zijn verbonden --- 85

Ga naar 90

85 Er mag geen terminal aan x-zijde gemaakt worden 90 De terminal aan x-zijde van record E uit file 45 is

hetzelfde als die van het volgende record in file 45 en schrijf VOLGEND TE i.p.v. TERMI(l,2)

E = E + 1

Het volgende record kan uit file 20 ingelezen worden en weggeschreven worden in file 45, record E

(29)

Voor TERMX(I,2) kan de werkelijke waarde ingescbreven worden

(Bescbouw nu record E)

Heeft record E een kombinatie aan y-zijde? Zo ja ga naar 100

Zo niet, dan kan voor TERMY(1,2) de werkelijke waarde worden ingeschreven en naar 200

100 Is TERMY een kostal verbinding --- 110 Zo niet, zoek KOMBYZ op in file 20

Ais deze niet gevonden wordt of wanneer meer aders verbonden zijn aan de

y-zijde van deze ader --- 110 Zo niet, ga naar 120

110 Er mag geen terminal aan y-zijde worden aangeslagen Ga naar 200

120 De terminal aan y-zijde van record E is gelijk aan die van het volgende record in file 45 en schrijf door VOLGENDE TE i.p.v. TERMY(1,2)

E

=

E + 1

De volgende ader kan uit file 20 worden gelezen en in file 45 worden gescbreven

(Beschouw nu record E) Ga naar 60 200 A

=

E

E

=

E + 1

Lees record 1 uit file 45 en schrijf deze weg op plaats E

(Bescbouw nu dit record E)

De opeenvolging van instructies is nu gelijk aan die van statement 60 met dien verstande dat nu begonnen wordt met y-zijde voor bet eerste record uit file 45 Bijbehorende subroutines: VOLGKO INLWEG SCHRX SCBRY ZOEK

(30)

Subroutine VOLGKO Functie:

Leest uit file 20 bet eerste record in welke nog niet bebandeld is (geteld vanaf bet begin van file 20 en scbrijft deze gedeeltelijk weg op bet eerste record van file 45).

"Gedeeltelijk" omdat de ruimten voor TERMX 0,2) nog opengelaten worden. Variabelen: Werking: De ader E EIND20 specificaties

geeft bet record in file 45 aan welke bescbouwd wordt

=

TRUE wanneer bet eind van file 20 bereikt is Het eerste record uit file 20 waarin DELKOD

=

0 wordt ingelezen en weggescbreven in file 45

Ook wordt in file 20 bij bet ingelezen record DELKOD

=

1 gemaakt

Indien bet einde van file 20 is bereikt dan wordt EIND20

=

TRUE

(31)

Subroutine SCHRX (Sl, 82) Functie:

Schrijft in file 45 record E 81 en 82 op de plaatsen van TERMX(l) en TERMX(2)

Variabelen:

De ader specificaties:

E recordnummer in file 45

M de ingelezen waarde voor TERMY (1,2)

Sl, S2: Datgene wat geschreven moet worden op de plaats van TERMX(1,2)

Werking: statement:

Voor record E wordt gelezen TERMY(1,2) (genoemd M (1,2»

Als M (1,2) = 0 --- 20

Zo niet, schrijf dan in file 45, record E:

Sl, S2 op de plaatsen van TERMX(1,2) spaties t I " " It TERMY(l,2) 20 Schrijf in file 45, recotd E:

Sl, S2 op de plaatsen van TERMX(l,2)

(32)

Subroutine SCHRY(St, S2) Funktie:

Schrijft in file 45, record E de de waarden van St en S2 op de plaats van TERMY(t,2)

Variabelen:

Werking:

De ader specif1caties:

E recordnummer in file 45

St, S2 Datgene wat gekozen moet worden op de plaats van TERMY (1.2)

(33)

Subroutine ZOEK (KOMB.Q) Funetie:

Zoekt in file 20 de gezoehte ader KOMB.

Controleert tevens of KOMBXZ of KOMBYZ van de gevonden ader gelijk is aan het adernummer van de laats behandelde ader.

Indien dit niet bet geval is wordt dit gemeld. Variabelen:

Werking:

De ader specificaties: KOMB De gezoehte ader

K Het ingelezen adernummer

L De nagelezen KOMBXZ(l) van de gevonden ader

M De nagelezen KOMBYZ(l) van de gevonden ader

GEEN

=

TRUE wanneer de gezochte ader niet gevonden is in file 20

Q

=

1: wanneer de gezochte ader aan x-zijde is verbonden met de behandelde ader

=

2: wanneer de gezochte ader aan y-zijde is verbonden met de bebandelde ader

(34)

Subroutine INLWEG Functie:

Leest uit file 20 de door subroutine ZOEK gevonden ader in en schrijft deze weg in file 45, record E, en laat hierbij open plaatsen voor TERMX(1,2)

TERMY(l,2).

Schrijft bij de ingelezen ader in file 20 DELKOD

=

1. Variabelen:

De ader specificaties:

E : geeft het recordnummer in file 45 aan Werking:

(35)

Subroutine ARTOS Funetie:

Beschouwd de gegeven kombinatie in ader 45.

Indien deze ader uit enkel e~n ader bestaat dan wordt subroutine SCHR50 aangeroepen en wordt deze ader in file 50 weggeschreven.

In de overige gevallen worden de aders uit file 45 gelezen en in de juiste volgorde in file 46

geplaatst.

Indien de kombinatie een ader bevat waardoor de lengte kleiner dan 500 mm is of welke een kous of tule bevat wordt dit bier opgemerkt en CONTRO: = TRUE.

Variabelen:

De ader specificaties:

E geeft bet adernummer in file 45 aan

F tot ale santal records in file 45

A KOM HFDBM CONTR F50 Werking: statement: F

=

E

geeft aan hoeveel aders record c.q. ader 1 aan x-zijde heeft bangen.

Dus in feite het aantal records, totdat record 1 herhaalt wordt in record (A+1) in file 45

de bescbouwde kombinatie de beschouwde draadboom

= TRUE wanneer van de ingelezen ader LEN

4

500 of KOUS(l): I f of

KOUS(2)= f •

=

TRUE wanneer file 45 enkel een ader bevat

F50 = FALSE CONTR

=

FALSE

Record E uit file 45 wordt ingelezen

Indien E

=

2 (d.w.z. file 45 bevat een adernummer) --- 20

Zo niet, ga dan naar 30

20 Schrijf deze ader weg in file 50

Verminder KOM met Itl " omdat ARTKOM altijd KOM met "1" verboogd.

Ga. naar 100

30 Als LEN

<

500 mm, KOUSX(l)= of KOUSY(2)= --- 28

Zo niet, ga naar 32 28 CONTR = TRUE

(36)

32 Schrijf het ingelezen record weg in file 46 Als E

=

A + 1 (d.w.z. wanneer de ingelezen ader gelijk is aan de allereerste ader in file 45) ga dan naar 50

Zo niet, ga naar 40 40 Verminder E met "1"

Lees uit file 45 record E

Ga naar 30

50 E

=

2 (omdat record "1" al behandeld is n1. ala record (A +

Als E

=

A

=

1 (d.w.z. wanneer record E gelijk is aan de allerlaatste ader in file 45) ga dan naar 100

Zo niet, ga naar 52

52 Lees record E uit file 45

Als LEN< 500, KOUSX(l)='

dan naar 55

Zo niet, ga naar 60 55 CONTR

=

TRUE

of KOUSY(l)='

60 Schrijf de ingelezen ader weg in file 45

E

=

E + 1

Ga naar 51 100 Elnde

(37)

Subroutine CONTRO (KOM, HFDBM, E) Funetie:

Deze subroutine wordt aangeroepen indien de door ARTOS in file 46 geplaatste kombinatie een ader bevat waarvan de lengte~ 500 mm of welk een tule of kous bezit.

CONTRO biedt de mogelijkheid aan de gebruiker om nu ultgaande van de kombinatie in fl1e 46 zelf

kombinaties of losse aders te creeeren. Variabelen: De A AD ader specificaties:

c

B KOMBIN KOM NUL KLAAR LAATST EERST FOUTZ 1 E Werking: statement: 5 - REWIND 46

teller voor array AD

array bestaande uit adernummers welke door de gebruiker in een kombinatie worden geplaatst

aantal kombinaties welke de gebruiker wenst te maken

'KLAAR' of '

kombinatienummer welke door de gebruiker gemaakt wordt

kombinatienummer bezien in het totaal van kombinatienummers welke reeds door het programma zijn gemaakt

,

,

'KLAAR'

geeft aan of het beschouwde adernummer de laatate is in de door de gebruiker gemaakte kombinaties

geeft aan of het bescbouwde adernummer het eerste adernummer in de door de gebruiker gemaakte kombinatie

=

TRUE wanneer subroutine ZOEK1 de gezochte ader niet kan vinden.

(aantal records in file 45)

- al s E ;f 3 - - - - 9

Als E

=

3 dan staan er 2 aders in file 45. Voor een combinatie van twee aders kan de subroutine CONTRO onder bepaalde voorwaarden zelf de verwerking aan. Deze voorwaarden luiden: geen kousen of tules, lengtes

.c,80 mm in de kombinaties, en geen 2 lengtes

<:.

500 mm. Wanneer hieraan wordt voldaan dan:

REWIND 46

- AD(l) en AD(2) worden gevuld met de twee adernummers. - Ga naar 126

9 - REWIND 46

(38)

50 - Als de gebruiker klaar is --- 200 Zo niet, ga naar 90

90 95 100

Als er tets verkeerds is ingetoetst --- 50

105 C bevat het aantal door de gebruiker te maken kombinaties

110

125 Het array AD(1.4) bevat de aders voor kombinatie KOMBIN Als AD(2)

=

0 dan bestaat, de kombinatie uit een ader --- 135

Zo niet, --- 126 126

A

=

1

EERST

=

TRUE (de eerste ader) 127 LAATST

=

FALSE (de laatste ader) 128 Zoek AD(A) op in file 46

Wanneer LAATST

=

TRUE in file 20

Als deze niet gevonden is, dan FOUTZ1

=

TRUE en overnieuw beginnen --- 9

Als de ader weI gevonden is, schrijf deze dan weg in file 40

EERST

=

FALSE (de eerste ader is voorbij) 130 A

=

A + t

Als AD(A)

=

0 --- 140

132 Ala AD(A+1)

=

0 (dus AD(A) is de laatste ader) --- 134 Zo niet, dan naar 127

134 LAATST

=

TRUE (laatste ader) Ga naar 128

135 Schrijf AD(l) weg in file 50

KOM

=

KOM - 1 (omdat KOM en ARTKOM automatisch met "1ft verhoogd wordt)

140 Wanneer aIle opgegeven kombinaties zijn gemaakt

--- 200

Anders naar 150 150 KOMBIN

=

KOMBIN + 1

KOM :: KOM + 1

Maak array AD gelijk aan 0 Bijbehorende subroutines

SCHR40 SCBR50 ZOEK1

(39)

Subroutine ZOEKl Funetie:

Zoekt de gezoehte ader (GEZAD) op in file 46 (als LAATST

=

FALSE) of in file 20 (als LAATST

=

TRUE). Tevena wordt gemeld wanneer de gezoehte ader niet te v1nden is.

Var1abelen:

GEZAD De gezoehte ader

ADER De ingelezen ader

FOUTZ1:

=

TRUE wanneer de GEZAD niet is te vinden

Werking:

(40)

Subroutine SCHR40(KOM, LAATST, EERST,E) Funetie:

Schrijft een of meerdere records (afhankelijk van de waarde E) weg in file 40

Variabelen: De ader KOM

E

specificaties:

kombinatienummer wat behoort bij het weggeschreven record

(E-l) is het aantal records dat weggeschreven wordt

LAATST: Geeft aan of het weg te schrijven record het laatste record van de kombinatie is

EERST : Geeft aan of het weg te schrijven record het eerste record van de kombinatie is

Werking: statement:

A = 1

Als LAATST IS TRUE (d.w.z. wanneer de laatste ader van een kombinatie geschreven moet worden in file 40) ---' 70

Het desbetreffende record wordt gelezen.

Ala er een kous of tule aan x- of y-zijde zit dan zal tot hier geen terminal komen. Tenzij de ader aan deze

15 zijde gecombineerd is, dan zal aan de andere zijde geen terminal komen.

15 Wanneer EERST=TRUE (d.w,z. wanneer het een eerste

ader betreft) 17.

Zo niet --- 25.

17 Men beschouwt nu een ader, welke eerst is in een kombinatie. Het kan zijn dat deze ader uit een kombinatie van aders is gehaald. Deze kombinatie is dus gebroken. Men mag dus aan x- of y-zijde geen terminal plaataen.

Als 80 ~lengte~ 270 dan kan deze ader maar aan een zijde aangeslagen worden. De andere zijde dient later met de hand te gebeuren.

25 De ader wordt weggeschreven in file 40

Ala A

=

E - 1 dan behoeven er niet meer records worden weggeschreven --- 100 Zo niet --- 30 30 A

=

A + 1 (het volgende record uit file 46 wordt

weggeschreven) --- 50 70 Roep aan LAAT 40 (KOM)

(41)

Subroutine LAAT40 (KOM) Functie:

Schrijft het laatste record van een door CONTRO gemaakte combinatie weg in file 40

Tevena voert het een controle op de aanwezigheid van terminals.

Variabelen:

De ader specificaties

KOM: geeft aan bij welke kombinatie het weggeschreven record behoort.

Werking: statement:

Bet door ZOEKl opgezochte record wordt uit file 20 gelezen

BACKSPACE 40

TERMX en TERMY van het een na laatste record van de beschouwde kombinatie worden gelezen en worden genoemd TX en TY

12 - 24 Zie SCHR 40 IT-totl5 "

24 Als LEN ~270 mm --- 25

Als TX= VOLGEN 30

Ala TY= VOLGEN --- 50

25 Er geldt nu dat LEN

<

270 dus de beschouwde ader kan

maar aan een zijde aangeslagen worden 35 of 55

30 Bier geldt dat de beschouwde ader aan x-zijde is verbonden met de voorgaande. Indien de ader in de uiteindelijke kombinatie ook aan y-zijde wordt gekombineerd mag daar nu GEEN terminal aangeslagen worden --- 35.

50 Bier geldt dat de beschouwde ader aan y-zijde is verbonden met de voorgaande. Indien de ader is de uiteindelijke combinatie ook aan x-zijde wordt gecombineerd mag daar nu GEEN terminal aangeslagen worden --- 55

100 Schrijf het laatste record weg in file 40 Einde

(42)

Subroutine SCHR50(ADER,HFDBM) Functie:

Schrijft adernummer ADER weg in file 50 zoals deze geschreven staat in file 20

Variabelen:

Werking:

De ader specificaties:

HFDBM: de bestaande draadboom AD : het gelezen adernummer

(43)

Subroutine BASIS(HFDBM) Functie:

Het aanvullen van files 30, 40 en 50 met records uit files 93, 94 en 95 welke niet behoren tot de

bestaande draadboom Bijbehorende subroutines:

Werking:

BAS93 behandeld file 30 en 93 BAS94 behandeld file 40 en 94 BAS95 behandeld file 50 en 95

(44)

Programma ARTPLN Functie:

Biedt de gebruiker de mogelijkheid om de keuze te maken tussen de programma's PRMARK of ARTOPT

Invoer gegevens: Sequentiele files:

nr. 93 ANGESTT

nr. 94 ARTKOMTT

nr. 95 OVERIGTT

nr. 10 ADDNI aderhulpbestand (met nieuwe format)

Uitvoer gegevens: Printer tiles Bijbehorende subroutines

ARTOPT PRMARK

(45)

Subroutine ARTOPT Functie:

Creeert een optimale inplanning van terminals,

draadsoorten en kombinaties op de artoa-machine voor de productie van een of meer draadbomen

Variabelen:

Integer:

MEEST(I) array, bevat de voorkomende draadsoorten,

welke vast op de machine mogen komen APPLGT PRODX tim LEEG N Logical: EIND40 OMKEER VOLGEN Werking: statement: te staan

bevat de meest voorkomende terminal RFDBM: Zie subroutine PLANVB

=

TRUE als OPTVOL het etnde van fUe bereikt heeft

=

TRUE als OPTVOL vindt dat TERMI en TERMY onderling verwisselt moeten worden

=

FALSE voor de eerate planning welke SeRRSO wegschrijft

40

file 40 wordt gevuld met te behandelen kombinaties tot

6

6 file 40 wordt uitgeprint wanneer de gebruiker dit wil tot

10

10 CALL SRTDRD

CALL APPLIC CALL FIRSTK

13 de arrays PRODX tim DUMY worden met spaties gevuld tot

21

M

=

1

CALL PLANVB : de eerste kombinatie wordt ingevuld in VOORBX(M,F) , VOORBY(M,F)

CALLSCHRSO : deze wordt geschreven planning 'M' 30 M

=

M + 1

(46)

35 CALL PLANPD ; hetgeen wat voorbereid is in planning (M-l) wordt nu in productie g.epland Ais dit de laatste komblnatie uit file 40 --- 100 Zo niet, CALL OPTVOL

Als de laatste kombinatie uit file 40 is gebaald

--- 35

Zo niet, CALL PLANVB

CALL SCHR80j planning 'M' wordt geschreven GO TO 30

100 VKOM

=

0

CALL SCHR80 weggescbreven

(47)

Bijbehorende subroutines: EERST PR40 SRTORD APPLIC FIRSTK PLANVB SCHR80 VASTDR VERGEL PLANPD OPTVOL ZKSCHR TERXGL TERYGL

(48)

Subroutine EERST(HFDBM,I) Funette:

Plaats aIle aders behorende bij draadboom HFDBM welke in file 94 staan in file 40.

Wanneer er meerdere draadbomen in file 40 komen worden de kombinatie- nummers opeenvolgend genummerd vanaf 1. Variabelen; Integer: Werking: De ader speeifieattes 10M ingelezen kombinatienummer I weggesehreven kombinatienummer Real*8: HFDBM H Logical: te besehouwen draadboom ingelezen draadboom

GEVOND :

=

TRUE wanneer de draadboom is gevonden

(49)

Subroutine PR40 Functie:

Schrijft de inhoud van file 40 weg naar printer Variabelen:

De ader specificaties:

KOM kombtnatte nummer

A : bezit de laatst gekozen waarde van KOM, of

=

0 Werking:

(50)

Subroutine SRTDRD FuncUe:

Bepaalt aIle voorkomende draadsoorten in file 40, en tevens het aantal malen dat een draadsoort voorkomt. Hierna worden de draadsoorten in volgorde gezet afhankelijk van het aantal malen dat deze

draadsoorten voorkomen in file 40. (array GESORT) Uiteindelijk komen in array MEEST die draadsoorten welke bij productie van aIle kombinaties op de

artos-machine constant op de machine kunnen blijven. Variabelen: Integer: DIAM A (AMAX+2)/3 C F Real*8: MEEST(I) DIAKLE(I) SOORT (I,J) GESORA(I) GESORT(I) LEEG Logical: diameter

variabele met meerdere functies, zie "werking"

tot dan toe gevonden aantal draadsoorten variabele

indices voor de tot dan toe meest voorkomende draadsoort in SOORT array. bevat die draadsoorten welke bij productie van aIle kombinaties uit file 40 op de artos-machine constant op de machine kunnen blijven

array, bevat die draadsoort specificatie van de beschouwde ader

array, - SOORT (1,1), SOOR(1 + 1,1)

en SOOR (I + 2, 1) b i j I

=

1, 3 , 6 , 9 .... bevatten de draadsoort

- SOORT (1,2) bij 1=1,3,6,9 .... bevat het aantal malen dat de draadsoort is voorgekomen array, bevat het aantal malen dat GESORT(I) voorkomt

array, bevat de draadsoorten uit file 40 in volgorde van voorkomen in deze file 40

EIND40: wordt niet gebruikt OMKEER: wordt niet gebruikt

Werking: statement:

Eerst worden de array's SOORT, GESORT en MEEST gevuld met 0 of •

Dan wordt van record 1 uit file 40 de draadsoort in DIAKLE (1 tIm 3) gezet

(51)

DIAKLE wordt de eerst soort en als zodan1g 1n SOORT

(1 tim 3, 1) gezet, en de draadsoort 1s nu dus 1 x

voorgekomen; SOOR(l,2)

=

1

10 A

=

1

DIAKLE(l tim 3) bevat de draadsoort van het volgende record, als er geen volgend record ~eer 1s --- 100 25 Als DIAKLE(1 tim 3)

=

SOORT(A tim A+2,1) --- stat. 30

Zo n1et, dan 1s SOORT(A tim A+2,1) alweer een keer voorgekomen dus SOORT(A,2) wordt met een verhoogd Ga naar 10

30 Als A

=

AMAX --- 40 Zo n1et, ga dan naar 50 40 A

=

A + 3

GO TO 25 DIAKLE(l tim 3) wordt vergeleken met de

volgende tot dan toe bekende draadsoort 50 Een n1euwe draadsoort wordt gemaakt 55 Ga naar 10

100

tot De draadsoorten 1n SOORT(I tim 1+2,1) worden in volgorde van voorkomen 1n array GESORT(J) gezet 170

300 F

=

(AMAX + 2)/3: werkelijk totaa1 aantal voorkomende draadsoorten in file 40

305

300 Het array GESORT(l tim M) wordt in het array MEEST(1

tim M) gezet 320

320 tot

Voor M geldt de volgende voorwaarde: - indien F 16: M = F

- indien F 16: M

=

13

360 AIle voorkomende draadsoorten worden gepr1nt

(52)

Subroutine APPLIC Functie:

Bepaalt de meest voorkomende terminal in file 40 Variabelen: APPLGT(I) GT APPL(I,J) VOLGEN GEEN Werking: statement: array APPLGT (1

=

l,~

bevat meest voorkomende terminalsoort tot dan toe

aantal malen dat de meest voorkomende terminal voorkomt

array, APPL I tim (I + 1,1) met I

=

1, 3, 5, 7, bevat terminalsoort APPL (1,2) met

I

=

1, 3, 5, 7 bevat het

aantal malen dat deze terminal is voorgekomen

'VOLGEN' 'GEEN'

5 AIle terminals aan x-zijde worden ingelezen. Worden

tim daarna vergeleken met de reeds ingelezen

150 terminalsoort. Is de ingelezen terminal gelijk aan een reeds bekende terminalsoort dan wordt hierbij de APPL(I,2) opgehoogd. Zo niet, dan wordt een nieuwe terminalsoort aangemaakt: APPL(I tim I

=

1,2). 100 Hetzelfde gebeurt met de terminals aan y-zijde

tim

150

200 Van aIle terminalsoorten wordt de meest voorkomende bepaald

tim Deze wordt APPLGT(l tim 2) genoemd 230

(53)

Subroutine FIRSTK(TELLER) Functie:

8epaald in welke kombinatie uit file 40 de terminal APPLGT (de meest voorkomende terminal) het meest voorkomt.

Daarna wordt subroutine ZKSCHR aangeroepen welke deze kombinatie in file 60 schrijft.

Variabelen: Real*8 TERMX(I) TERMY(I) APPLGT Integer: KOMTOT(I) KOM KOMEEN A TELLER Logical:

array bevat de terminal welke aan de x-zijde van een ader is verbonden array bevat de terminal welke aan de y-zijde van een ader is verbonden meest voorkomende terminal in file 40

array, bevat het aantal malen dat kombinatie nr. I, de terminal APPLGT bevat

kombinatie nummer

kombinatienummer van die kombinatie waarvan KOMTOT het hoogste is tot dan toe

variabele

telt hoeveel records de subroutine ZKSCHR in file 60 plaatst

EIND40: wordt niet gebruikt

OMKEER: wordt niet gebruikt of toegepast in FIRSTK (ingangsvariabele voor ZKSCHR)

Werking: statement:

5 : KOMTOT(KOM) wordt voor elke kombinatie bepaald tot

50

50 KOMEEN wordt bepaald

tim

90

100 Subroutine ZKSCHR schrijft kombinatie KOMEEN weg in file 1)0

(54)

Subroutine PLANVB(TELLER) Functie:

De terminals behorend bij de kombinatie welke is gegeven in file 60 worden ingepland in planning M als kombinatie welke voorbereid moet worden.

Variabelen: Intege.r: M VKOM PKOM F,G,Z,I,U TELLER T

o

DIAM(O) REAL*8: PRODX(M,F) PRODY (M,F) VOORBX(M,F) VOORBY(M,F) DUMX (M,F) DUMY (M,F) KLEUR1(O) KLEUR2(O) planning nummer

kombinatie welk voorbereid wordt kombinatie welke in planning M in productie is

willekeurige indices

geeft aan hoeveel records in file 60 zijn geplaatst

geeft aan hoeveel records door PLANVB behandeld zijn

indices voor de arrays DIAM, KLEUR1, KLEUR2

array, bevat de diameter welke voorkomt in de beschouwde kombinatie

array, bevat die terminals welke onder 'productie' ingepland zijn in planning M aan x-zijde: F duidt de plaats aan (1 ~ F ~ 8) zie PRODX, maar nu y-zijde zie PRODX, maar nu ingepland onder 'voorbereiden'

zie PRODY, maar nu ingepland onder 'voorbereiden'

zie PRODX, maar nu ingepland onder 'dummy'

zie PRODY, maar nu ingepland onder 'dummy'

array, bevat de eerste zes karakters van de kleuren welke voorkomen in de beschouwde kombinatie

array, bevat het laatste karakter van de kleuren welke voorkomen in de beschouwde kombinatie TERMX(O).TERMX(O+f): bevat de terminal aan x-zijde

van de beschouwde ader

TERMY(O),TERMY(o+i): bevat de terminal aan y-zijde LEEG

VOLGEN GEEN

van de beschouwde ader 'VOLGEN'

(55)

Werking: statement:

De arrays DIAM, KLEUR1, KLEUR 2 worden leeg gemaakt REWIND 60

T = 1 0=1 10 F

=

1

U1t f11e 60 wordt ingelezen KOM. TERMX(O en O+() TERMY(O en 0+4) I (m.b.v. DIAM, KLEUR1, KLEUR2)

20 Wanneer TERMX geUjk 1s aan 'VOLGEN' of 'GEEN" dan hoeft deze niet ingepland te worden.

25 Wanner TERMX gelijk 1s aan een a1 eerder ingeplande

terminal uit dezelfde kombinatie dan moet worden nagegaan of deze nog eens moet worden ingepland --- CALL TERXGL 30 Als PRODX(M,F) gelijk is aan TERMX en ala VOORBX (M,F) tot leeg 1s dan kan TERMX hier ingepland worden.

50 Doe di t voor 1 ~ F 5: 8

51 Als DUMX(M,F) gelijk is aan TERMX en als VOORBX(M,F) tot leeg dan kan TERMX hier ingepland worden.

57 Doe dit voor 1 5:. F ~ 8

60 Als PRODX(M,F), VOORBX(M,F) en DUMX(M,F) leeg zijn tot dan kan TERMX bier ingepland worden.

90 Doe dit voor 1 f F:!: 8

91 Als PRODX(M,F) en VOORBX(M,F) leeg zijn dan kan TERMX tot hier ingepland worden.

97 Doe dit voor 1 ~ F

£

8

100 Als VOORBX(M,F) en DUMX(M,F) leeg zijn dan kan

tot TERM! hier ingepland worden.

130 Doe dit voor 1 f: F

=

8

140 Ala VOORBX(M,F) leeg is dan kan TERM! hier ingepland

tot worden.

147 Doe dit voor 1 ~ F

!E

8

150 Het inp1annen van TERMX op VOORBX(M,F)

160 Wanneer TERMX nog steeds niet is ingepland dan is de gegeven kombinat1e te groot

200 Hler gebeurt betzelfde als in statement 20 tim 160

tot maar nu voor y-z1jde

400

400 0

=

0 + 1

Als TELLER ~ T dan wordt het volgende records ingelezen --- 405

Als TELLER

=

T dan Is de hele kombinatie 1ngepland --- 410

(56)

405 T

=

T + 1 GO TO 10

410 DUMX(M + 1,Z) wordt daar ingepland in planning M + 1 tIm waar in planning M geldt dat VOORBY(M,Z) = 'LEEG' en

430 PRODY(M,Z)

=

'LEEG'

440 DUMY (M + 1,Z) wordt daar ingepland in planning M + 1 tIm waar in planning M geldt dat VORBY(M,Z)

=

'LEEG' en

460 PRODY(M,Z)

=

'LEEG'

520 Voor de huidige planning M wordt gecontroleerd of tIm overal voldaan wordt aan de ei6 dat DUMX(M,I)

=

550 'LEEG' wanneer VOORBX(M,I)

=

'LEEG'

VKOM

=

KOM : In PLANVB is kombinatie KOM voorbereidt Bijbehorende subroutines:

TERXGL TERYGL

Deze beide subroutines zijn nog niet klaar bij het ter perse gaan van dit verslag. Een beschrijving voor deze subroutines is te vinden bij de programma-tekst.

(57)

Subroutine PLANPD Functie:

Die terminals welke in planning M-l onder de

categorie 'voorbereiden' stonden worden hier onder de categorie 'productie' geplaatst.

Variabelen:

Werking:

Zie PLANVB

Wanneer VOORBX(M-l,Z) ongelijk is aan nul dan wordt PRODX(M,Z)

=

VOORBX(M-l.Z)

Zo ook voor PRODY

(58)

Subroutine SCHR80 Functie:

SCHR80 schrijft de door de subroutine PLANVB en PLANPD ingeplande kombinatie weg op een mooie en overzichtelijke manier in een printerfile

Variabelen: Integer: DIAM(I) M VKOM PKOM (VAST_1)13 B C I J VAST1 A Real*8: DEST(I) PRODX tim HFDBH - : Logical: VOLGEN NGELYK Werking: statement:

array. bevat de diameter van de beschouwde kombinaties

planning nummer

kombinatie welke in planning M voorbereid wordt

kombinatie welke in planning M in productie is

aantal draden dat constant op de artos-machine kan blijven zitten bij productie van aIle gewenste kombinaties

duidt de plaats op de artos-machine aan duidt de eerste draadhouder aan welke met een willekeurige draadsoort mag worden gevuld

variabele 1-1

VAST-1

nummer van de draadhouder

bevat die draadsoorten welke bij

productie van aIle kombinaties uit file 40 op de art os-machine constant

ingeplugt kunnen blijven KLEUR2 zie subroutine PLANVB de beschouwde draadboom

TRUE zodra de eerste kombinatie is ingepland

TRUE wanneer een in te plannen draadsoort gelijk is aan een draadsoort genoemd in MEEST(I)

CALL VASTDRD, de variabele VAST wordt bepaald 10 De kop van de printerfile wordt geprint

tim 20 100

tot De kop van de planning wordt geprint

(59)

A

=

«VAST_l)/3) + 1

C

=

A

1=1

Eerste "vrije" draadhouder

120 Zodra DIAM(I)=O zijn aIle draadsoorten van de in te plannen kombinatie geweest en kan men naar 160

130 tot aan 160 160 180 tim 220 J

=

I 1 CALL VERGEL

Als NGELIJK = TRUE (d.w.z. wanneer de beschouwde draadsoort niet gelijk is aan een draadsoort uit array MEEST(I) of aan een andere reeds beschouwde ) --- 130

Zo niet dan:

I

=

I + 1

GO TO 120

De beschouwde draadsoort wordt ingepland in draadhouder A

Wanneer A = 16 dan wordt overgegaan op A = 1. Dit is heel gevaarlijk omdat nu een reeds behandelde

draadsoort welke ingepland was op MEEST(l), MEEST(2) en MEEST(3) in het gedrang komt. De gebruiker moet nu zeIt controleren of dit niet gebeurt en zonodig het nummer van de draadhouder zelf aanpassen.

Als A =

C

dan bevat MEEST(I) aIle draadsoorten van de beschouwde kombinatie.

De arrays PRODX(M.F) tim DUMY(M,F) worden ingepland

Bijbehorende subroutines: VERGEL

(60)

Subroutine VERGEL (DIA.KLE1,KLE2,J,NGELYK) Funetie:

Vergelijkt de waarden van DIA, KLEl EN KLE2 met de draadsoorten uit het array MEEST en met de elementen uit de arrays DIAM(I), KLEUR1(I) en KLEUR2(I) waarbij voor I geldt: I 5= J Variabelen: Werking: Integer: I J Real*8: MEEST(I) KLEURl KLEUR2 DIAM DIA KLEl KLE2 Logical: NGELYK : ) willekeurige variabele

bij het aanroepen van de subroutine VERGEL geldt: J

=

1-1

('IfI.Ii"I-uJ SCl?tiO)

"..,

) Zie subroutine PLANVB : ) : ) : ) : ) :) De nu besehouwde draadsoort : )

=

TRUE wanneer er geen gelijkenis is gevonden

(61)

Subroutine VASTDR(VAST) Functie:

Bepaald de uitgangswaarde van VAST welke gelijk is aan «het aantal elementen in het array MEEST welk niet gelijk aan "0" is )-1)

Het aantal draadsoorten in MEEST is dan gelijk aan (VAST_l)/3)

Variabelen:

Integer:

VAST (zie functie VASTDR)

Real*8:

MEEST (zie subroutine SRTDRD)

Werking:

(62)

Subroutine ZKSCHR (KOMEEN,OMKEER,TELLER) Functie:

Zoekt de kombinatie KOMEEN op in file 40 en schrijft deze weg in file 60.

Tevens wordt in file 40 de kombinatie KOMEEN vervangen door spaties.

Variabelen: Werking: De ader specificaties: Integer: KOM TELLER KOMEEN / Real*8: LEEG D(I) Logical: OMKEER

ingelezen kombinatie nummer

houdt bij hoeveel records weggeschreven worden in file 60

het beschouwde kombinatienummer

array. bevat (als OMKEER

=

TRUE de waarde van TERMX

wanneer OMKEER

=

TRUE dan moe ten de ingelezen waarden van TERMX en TERMY onderling verwisseld worden

(63)

Subroutine OPTVOL Functie:

Het bepalen van de kombinatie welke voIgt op de nu geproduceerde kombinatie.

Dit gebeurt op grond van de hoeveelheid terminals welke overeenkomen tussen nu de aanwezige applicators op de artos-machine en elke ander kombinatie die geschreven staat in file 40.

De kombinatie uit file 40 die het meeste overeenkomst qua terminals vertoont wordt de volgende te

produceren kombinatie. Variabelen: Integer: KOMT1(KOM) KOMT2(KOM) KOM Z,A MAXl MAX2 Z Real*8: TERMX TERMY LEEG B Logical: EIND40 OMKEER NDOOR

array, bevat voor elke kombinatie KOM het aantal overeenkomsten tussen aanwezige applicators op de artos-machine en terminals in de kombinatie KOM wanneer men TERMX en TERMY niet onderling verwisselt

: array gelijk aan KOMTl maar nu bij onderlinge verwisseling van TERMX en TERMY

de ingelezen kombinatie willekeurige variabele

die kombinatie waarvoor KOMTl het nummer heeft

die kombinatie waarvoor KOMT2 het nummer heeft

Z en Z + 1 wijzen een plaats aan op de artos-machine aan x- en y-zijde aan x- en y-zijde

array. bevat de terminal aan x-zijde van de ader

array, bevat de terminal aan y-zijde van de ader

dummy variabele

=

TRUE wanneer file 40 enkel lege records bevat

=

TRUE wanneer KOMT2 (MAX2) (MAX1)

KOMTl

=

TRUE wanneer file 40 enkel lege

records bevat (dus hetzelfde alB EIND40)

Referenties

GERELATEERDE DOCUMENTEN

Verder is het mij niet duidelijk hoe vanuit het aanvaarde raadsprogramma mandaten door de raad aan B&amp;W gegeven worden om naar goedbevinden te handelen, zonder dat de raad

Béduwé en Giret (2011) vonden geen verschil tussen beide vormen van aansluiting voor het loon, maar wel een lagere arbeidstevredenheid in het geval van overscholing zonder

[r]

En 1 eigenaar heeft bezwaar tegen het beleid van de gemeente en heeft hier een klacht over ingediend (zie verslag), maar stelt tevens geen oordeel te hebben over mijn principeverzoek,

Hoe lang het onderzoek duurt hangt af van hoe uitgebreidheid het onderzoek is dat uw behandelend arts heeft aangevraagd.. Meestal duurt het onderzoek tussen de dertig en

Open markeerringen PC met voorbedrukte nummers of karakters om na montage over de aders te schuiven, Snap-On huls, vlamvertragend volgens UL 94 V.. Info Toebehoren (bewaarbox)

‘verstoord’ zouden zijn en daarom geen archeologische (verwachtings-)waarde meer zouden hebben. In 2019 zijn er 34 archeologische onderzoek locaties bijgekomen en

Met deze transducer worden de bloedvaten (aders) van uw benen onderzocht.. Tijdens het onderzoek wordt het functioneren van de klepjes in de