• No results found

Heras Kranenprogramma Quality Coating

N/A
N/A
Protected

Academic year: 2021

Share "Heras Kranenprogramma Quality Coating"

Copied!
51
0
0

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

Hele tekst

(1)

Kranenprogramma Quality Coating

WinMOD Simulatie

(2)

Pagina 2 van 51

Kranenprogramma quality coating

WinMOD Simulatie

Oirschot 15 maart 2011 Auteur: R.J.N. van Son

Email: Rob.van.son@verautomation.com Telefoon: 0613215430 In opdracht van:  VerAutomation De Scheper 301 5688 HP Oirshot

 Avans Breda afdeling ATM Lovensdijkstraat 61-63 4800 RA Breda

(3)

Pagina 3 van 51

Versiebeheer

Versie Datum Status Opmerkingen

V0.1 15-03-2010 Voorlopige versie Concept versie

V0.2 28-5-2011 Voorlopige versie Met aanvullingen

V1.0 7-6-2011 Definitieve versie Definitieve versie

(4)

Pagina 4 van 51

Voorwoord

Dit verslag geldt als eindverslag van mijn afstudeerproject voor de opleiding Elektrotechniek aan Avans hogeschool te Breda afdeling ATM (Academie voor Technologie en Management). Het project wordt in opdracht van VerAutomation uitgevoerd en gefinancierd.

Dit verslag is geschreven voor lezers die geïnteresseerd zijn in de simulatie van industriële processen met capaciteitproblemen. In de hoofdstukken 2 en 5 wordt voornamelijk het proces van dit project besproken. De hoofdstukken 3 en 4 gaan wat dieper in op het simulatie-technische gebied en in de hoofdstukken 6, 7 en 8 worden de knelpunten en eventuele oplossingen beschreven.

(5)

Pagina 5 van 51

Samenvatting

Een vernieuwing van het plc-programma van een voorbehandelingslijn bij HERAS heeft voor veel flexibiliteit van de verwerking van verschillende producten door de installatie gezorgd. Door het toenemen van de flexibiliteit is de capaciteit echter afgenomen (van 19 naar 15 traversen/uur). De opdracht is het onderzoeken van de installatie, het ontwerpen en realiseren van een betrouwbare, waarheidsgetrouwe simulatie met het softwarepakket WinMOD. Met behulp van deze simulatie wordt de besturing (nieuw en oud) bestudeerd. De knelpunten worden beschreven, eventuele aanpassingen worden benoemd en verder uitgewerkt. De aanpassingen worden, indien mogelijk, uitgevoerd en de capaciteitverbetering wordt met behulp van de simulatie bepaald.

De knelpunten van de installatie zijn:

• Doorstroming van de (lege dragers). De dragers die bij het uitvoerstation leeg zijn gemaakt moeten via dezelfde installatie (3 bovenloopkranen en 11 dragerposities). Dit levert regelmatig vertraging op voor het productieproces.

• Opdrachtbepaling nieuw programma. De drie kranen werkte voorheen een vast programma af. Bij het nieuwe programma word de opdracht geheel flexibel bepaald. Bij het bestuderen van de nieuwe besturing is gebleken dat de opdrachtkeuze af en toe niet ideaal is.

Mogelijke aanpassingen zijn:

• Aantal gebruikte dragers aanpassen. Het lijkt af en toe voor te komen dat de doorstroom van de dragers niet goed verloopt, een mogelijke oorzaak hiervan is een teveel aantal dragers. Er zijn echter ook momenten dat het systeem al nieuw product in zou kunnen voeren terwijl er nog geen lege drager op de invoerpositie is, dat zou veroorzaakt kunnen worden door een te laag aantal dragers. (na testen blijkt dit geen invloed te hebben op de capaciteit)

• Vast pad voor lege dragers zoveel mogelijk vrij houden. Om er voor te zorgen dat een lege drager zo snel mogelijk naar de invoer positie terug gebracht kan worden, zou er een vast pad van dragerposities gemaakt kunnen worden, dat zoveel mogelijk vrij blijft. Deze aanpassing vergt aanpassingen in de opdrachtbepalings-software, wat erg tijdrovend is (wordt niet uitgevoerd).

• Het optimaliseren van instellingen (pad voor lege dragers bepalen). Het veranderen van deze instellingen heeft tot gevolg dat de capaciteit verminderd, het systeem heeft dus baat bij zoveel mogelijk posities voor de lege dragers. Bij het maximaal aantal posities is de capaciteit 15 (geen capaciteitswinst)

(6)

Pagina 6 van 51

Inhoudsopgave

VERSIEBEHEER ... 3 VOORWOORD ... 4 SAMENVATTING ... 5 INHOUDSOPGAVE ... 6 1 INLEIDING ... 8 2 PROCESOMSCHRIJVING ... 10 2.1 KRANEN ... 11 2.2 BADEN ... 15 2.3 INVOERSTATION ... 16 2.4 UITVOERSTATION ... 16 3 SIMULATIEONDERDELEN ... 18 3.1 MACRO’S ... 18 3.2 GRAFISCHE WEERGAVE ... 20 4 REALISATIE ... 21 4.1 GRAFISCH ... 21 4.2 MACRO’S ... 21 5 CONTROLE ... 24 6 KNELPUNTEN INSTALLATIE ... 25

6.1 DOORSTROMING (LEGE) DRAGERS ... 25

6.2 INSTELLINGEN ... 25

6.3 OPDRACHTBEPALING ... 25

7 MOGELIJKE AANPASSINGEN ... 26

7.1 AANTAL DRAGERS AANPASSEN ... 26

7.2 VAST PAD VOOR LEGE DRAGERS ZOVEEL MOGELIJK VRIJ HOUDEN ... 26

7.3 EERDER NIEUWE OPDRACHTEN GEVEN. ... 26

7.4 INSTELLINGEN OPTIMALISEREN ... 26

8 RESULTAAT AANPASSINGEN ... 27

8.1 HARDWARE AANPASSINGEN ... 27

8.2 OPDRACHTBEPALINGEN ... 27

8.3 AANPASSEN VAN INSTELLINGEN ... 28

9 CONCLUSIE ... 29

10 AANBEVELINGEN ... 30

BIJLAGE 1 FLOWCHART PROCES ... 31

BIJLAGE 2 HET “SPEEDSELECTION” MACRO ... 38

BIJLAGE 3 HET “SPEED” MACRO ... 40

BIJLAGE 4 HET “RAMP” MACRO ... 42

(7)

Pagina 7 van 51

BIJLAGE 6 HET “POSITIESENSOR” MACRO ... 46

BIJLAGE 7 HET “POSITIE-BELEGD-SENSOR” MACRO ... 48

(8)

Pagina 8 van 51

1

Inleiding

In 2010 heeft VerAutomation de besturing van een voorbehandelingslijn bij Heras vernieuwd. Deze voorbehandelingslijn is onderdeel van een coatinglijn die wordt gebruikt om de geproduceerde hekken te voorzien van een coatinglaag. De vernieuwing in de besturing hield in dat de gehele installatie veel flexibeler is geworden. Zo kan er nu bijvoorbeeld elk denkbaar recept gedraaid worden (ook verschillende recepten door elkaar zonder om te moeten schakelen). Voorheen werd een vast programma afgewerkt. Na de vernieuwing krijgen de kranen losse opdrachten. De keuze van de opdrachten zijn van veel variabelen afhankelijk. Een aantal voorbeelden: posities en opdrachten van de andere kranen, posities die in gebruik zijn, prioriteit posities, positie na prioriteit positie, enzovoorts. In de functionele omschrijving van die opdracht stond in eerste plaats vermeld dat capaciteitbehoud niet gegarandeerd kon worden, maar vervolgens stond vermeld dat de capaciteit van 19 traversen per uur gehandhaafd werd. Dit laatste is niet mogelijk met de nieuwe besturing.

Om de opdracht toch af te ronden is er bij VerAutomation intern een nieuw project gestart. Dit project moet uitsluitsel geven over de haalbaarheid van de eerder genoemde opdracht. Het doel van dit project is een aantal uitgewerkte voorstellen voor verbetering van de capaciteit te geven. Een erg belangrijk onderdeel van dit project is het ontwerp van de simulatie. Aan de hand van deze simulatie worden potentiële oplossingen getest. Dit gebeurt in een simulatie zodat de installatie in bedrijf kan blijven en omdat aanpassingen makkelijker uit te voeren zijn in de simulatie.

Het eerste deel van het project bestaat uit de oriëntatiefase en de fase waarin de simulatie ontwikkeld wordt. Zoals beschreven in het projectmanagementdocument hoofdstuk 4, is dit deel van het project opgebouwd uit verschillende werkzaamheden, namelijk:

 Oriëntatie (proces bestuderen);  Ontwerpen simulatie;

 Realiseren simulatie;

 Testen/perfectioneren simulatie.

De hoofdstukken in dit verslag zijn volgens de opbouw van de werkzaamheden ingedeeld:

In hoofdstuk 2 wordt het proces, dat gesimuleerd moet worden, uitgebreid beschreven. Hoofdstuk 3 beschrijft hoe de simulatie is ontworpen en hoe dat gerealiseerd gaat worden. In hoofdstuk 4 wordt beschreven hoe dit uiteindelijk gerealiseerd is. Hoe de simulatie uiteindelijk op werking en gelijkenis aan het werkelijke proces is gecontroleerd wordt in hoofdstuk 5 beschreven.

In het tweede deel van het project wordt bekeken waar de knelpunten in het proces zitten, dit wordt beschreven in hoofdstuk 6. Aan de hand van deze knelpunten worden enkele mogelijke aanpassingen beschreven. Zie daarvoor hoofdstuk 7. Vervolgens worden deze mogelijke aanpassingen verder uitgewerkt en waar mogelijk getest. Dat

(9)

Pagina 9 van 51 wordt beschreven in hoofdstuk 8. In hoofdstuk 9 worden de conclusies en aanbevelingen beschreven

(10)

Pagina 10 van 51

2

Procesomschrijving

Het totale voorbehandelingproces is opgebouwd in drie lagen, namelijk de laag die opdrachten voor de kranen bepaalt, de laag die de opdrachten uitvoert (besturing van de kranen) en de werkelijke hardware (tastbare delen van de installatie). Dit is in een flowchart weergegeven in bijlage 1.

Bij de vernieuwing van de besturing is alleen de bovenste laag veranderd. In de oude situatie werd altijd een aantal vaste opdrachten afgewerkt. Als die reeks opdrachten klaar was, werd deze weer opnieuw gestart. Na de vernieuwing worden de opdrachten bepaald aan de hand van gegevens uit het proces en dus niet meer volgens een vaste volgorde.

De tweede laag (kraanbesturing) is vast bepaald in het programma en is bij de vernieuwing van de besturing onveranderd gebleven. Dat is omdat deze laag slechts zorgt voor het uitvoeren van de opdrachten en dus geen invloed heeft op de capaciteit en de flexibiliteit van de installatie. De tijdsfactoren in deze laag bestaan enkel uit rij- en hef/daaltijden en die worden bepaald door de onderste laag.

De onderste laag is de fysieke installatie, dus: de kranen, de baden, de in- en uitvoer posities en de productdragers. Dit is het deel dat in de simulatie opgenomen wordt zodat de fysieke installatie niet nodig is om oplossingen te zoeken en te testen. Deze laag van het proces wordt hieronder verder besproken. Dit deel van het proces is bij het ontwerpen van de installatie zo ingesteld (parameters van de frequentieregelaars) dat de verplaatsingen zo snel mogelijk gerealiseerd worden. Door het aanpassen van regelaarparameters kan dus geen tijd meer gewonnen worden.

Het proces dat gesimuleerd moet worden, bestaat uit een drietal kranen, negen baden, een invoerstation en een uitvoerstation. In figuur 2-1 is een schematische weergave van het proces gegeven. De installatie gebruikt zeven productdragers. Dat zijn ijzeren frames die op een positie liggen of in een kraan hangen. In deze productdrager hangen de traversen (3 stuks) waarin de producten hangen. De traversen doorlopen het

gehele coattraject. De productdragers worden alleen gebruikt in het

voorbehandelingtraject.

(11)

Pagina 11 van 51

2.1

Kranen

De installatie die gesimuleerd gaat worden, bestaat onder andere uit drie bovenloopkranen die de productdragers naar de gewenste positie (bad of in/uitvoerstation) brengt. Deze kranen rijden alle drie over dezelfde rails. Elke kraan bestaat uit drie assen, namelijk: de horizontale beweging, de verticale beweging links en de verticale beweging rechts. Elke as wordt aangestuurd door middel van een elektromotor in combinatie met een SEW frequentieregelaar. De frequentieregelaar zorgt ervoor dat de snelheid van de beweging gevarieerd kan worden, daardoor kan het gewenste snelheidprofiel gerealiseerd worden. De posities van de kraan worden terug gemeld naar de plc (het besturingsorgaan van de installatie) door middel van absolute encoders. De frequentieregelaars communiceren met de plc door middel van digitale I/O. De encoders communiceren met de plc via van profibus. In Figuur 2-2 is een schematische weergave te zien van deze kraan.

Figuur 2-2 Schematische weergave kraan (vooraanzicht)

2.1.1 Horizontale beweging

De horizontale beweging zorgt voor de positionering van de kraan boven de verschillende baden. Deze as van de kraan wordt aangedreven door twee geremde elektromotoren die beide aangestuurd worden door één frequentieregelaar. De gewenste richting en snelheid worden naar de frequentieregelaar gecommuniceerd via digitale ingangen op de regelaar. Ook wordt een vrijgave en een startsignaal via digitale ingangen vanuit de plc gegeven. Gebruikte inputs op de regelaar (uitgangen op de plc) zijn:  vrijgave;  start;  snelheid laag;  snelheid middel;  clockwise draaien;

(12)

Pagina 12 van 51 De plc heeft per kraan ook twee uitgangen om de remmen van de elektromotoren van de horizontale beweging te lichten (laag is remmen, hoog is rem lichten).

Verder worden de volgende gegevens teruggemeld van de frequentieregelaar naar de plc:

 regelaar bedrijfsgereed;  geen storing.

Elke kraan heeft twee eindschakelaars (richting positie 0 en richting positie 11) om ervoor te zorgen dat de kraan niet verder rijdt dan mechanisch mogelijk is. Ook heeft elke kraan twee botsschakelaars (richting positie 0 en richting positie 11) om ervoor te zorgen dat de kraan niet tegen een andere kraan kan rijden. Als de kranen te dicht bij elkaar of bij het einde van de positie komen (dit wordt bepaald aan de hand van de encoderwaarde, wordt er eerst door het plc programma ingegrepen. De bots- en eindschakelaars worden pas gebruikt als de beveiliging in het plc programma faalt. Omdat in de simulatie uitgegaan wordt van een ideale situatie, en het plc programma dus niet faalt, hoeven de bots- en eindschakelaars niet gesimuleerd te worden. Wel moeten deze sensoren ‘1’ gemaakt en gehouden worden omdat anders het programma een storing detecteert.

Verder zitten er op de kranen twee sensoren (één links en één rechts) die detecteren of de kraan op een positie is.

Om de horizontale positie van de kraan te bepalen zijn absolute encoders op de motorassen geplaatst. De waarden van deze encoders worden via profibus gecommuniceerd naar de plc en liggen tussen 0 en 36000. Om deze waarden om te zetten naar milimeters wordt deze in de plc door 1,2 gedeeld. De plc I/O per horizontale beweging is weergegeven in Tabel 2-1 en Tabel 2-2.

Outputs:

Naam Type Omschrijving

Vrijgave Bool Moet ‘1’ zijn om te rijden

Start Bool Moet ‘1’ zijn om te rijden

Snelheid laag Bool ‘1’ voor langzaam/snel, ‘0’ voor middel

Snelheid middel Bool ‘1’ voor middel/snel, ‘0’ voor langzaam

Clockwise Bool ‘1’ voor richting positie 11 rijden, ‘0’ voor ccw

Counter clockwise Bool ‘1’ voor richting positie 0 rijden, ‘0’ voor cw

Rem links Bool ‘1’ om linker motorrem te lichten

Rem rechts Bool ‘1’ om rechter motorrem te lichten

(13)

Pagina 13 van 51 Inputs:

Naam Type Omschrijving

Regelaar gereed Bool ‘1’ als regelaar ok is en vrijgegeven

Geen storing Bool ‘1’ als er geen storing is

Eind schak. pos. 0 Bool ‘1’ als de kraan te ver rijdt Eind schak. pos. 11 Bool ‘0’ als de kraan te ver rijdt Bots schak. pos 0 Bool ‘0’ als de kraan dreigt te botsen Bots schak. pos 11 Bool ‘0’ als de kraan dreigt te botsen Links op positie Bool ‘1’ als kraan links op positie is Rechts op positie Bool ‘1’ als kraan rechts op positie is

Positie rijden Dword Positie van kraan (0-36000)

Tabel 2-2 Inputs horizontale beweging

Het verloop van het snelheidsprofiel waarmee de frequentieregelaar de motor stuurt, is afhankelijk van de parameters in de regelaar. De parameters die daar invloed op hebben zijn:

 Snelheid laag = 200 rpm;  Snelheid middel = 750 rpm;  Snelheid snel = 1500 rpm;  Acceleratie tijd = 3 seconden;  Deceleratie tijd = 3 seconden.

Als de snelheidsetpoint verandert gaat de motor dus in 3 seconden accelereren of decelereren. De verhouding tussen RPM en m/s (overbrenging van motor naar rails) is onbekend, maar kan bepaald worden uit de rijtijden.

2.1.2 Verticale beweging links/rechts

De verticale bewegingen zorgen ervoor dat de wagendrager naar boven en beneden kan. De verticale bewegingen links en rechts worden gescheiden aangestuurd, omdat de wagendrager ook schuin moet kunnen hangen (links en rechts niet even hoog) om het product uit te kunnen laten lekken. De verticale bewegingen worden ieder aangedreven door een elektromotor in combinatie met een SEW frequentieregelaar. De gewenste richting en snelheid worden, net als bij de horizontale beweging, naar de frequentieregelaar gecommuniceerd via digitale ingangen op de regelaar. Ook wordt een vrijgave en een startsignaal via digitale ingangen vanuit de plc gegeven. Gebruikte inputs op de regelaar (uitgangen op de plc) zijn:

 vrijgave;  start;

 snelheid laag;  snelheid middel;  clockwise draaien;

(14)

Pagina 14 van 51 Verder worden de volgende gegevens teruggemeld van de frequentieregelaar naar de plc:

 regelaar bedrijfsgereed;  geen storing.

Elke kraan heeft twee eindschakelaars (richting onder en richting boven) om ervoor te zorgen dat de kraan niet verder hijst/daalt dan mechanisch mogelijk is. Als deze te dicht bij het einde van de positie komen (dit wordt bepaald aan de hand van de encoderwaarde) wordt er eerst door het plc programma ingegrepen. De bots- en eindschakelaars worden pas gebruikt als de beveiliging in het plc programma faalt. Omdat in de simulatie uitgegaan wordt van een ideale situatie, en het plc programma dus niet faalt, hoeven de bots- en eindschakelaars niet gesimuleerd te worden. Wel moeten deze sensoren ‘1’ gemaakt en gehouden worden omdat anders het programma een storing detecteert.

Om de verticale posities (links en rechts) te bepalen zijn er 2 encoders gebruikt. Deze encoders werken met een touw op een automatisch oprol/afrolmechanisme dat vast zit aan de wagendrager. De waarden van deze encoders worden via profibus gecommuniceerd naar de plc en liggen tussen 0 en 50000. Om deze waarden om te zetten naar milimeters worden deze in de plc door 1,2 gedeeld. De plc I/O per verticale bewegingen is weergegeven in Tabel 2-3en Tabel 2-4.

Outputs:

Naam Type Omschrijving

Vrijgave links Bool Moet ‘1’ zijn om te bewegen

Start links Bool Moet ‘1’ zijn om te bewegen

Snelheid laag links Bool ‘1’ voor langzaam/snel, ‘0’ voor middel

Snelheid middel links Bool ‘1’ voor middel/snel, ‘0’ voor langzaam

Clockwise links Bool ‘1’ voor heffen, ‘0’ voor dalen

Counter clockwise links Bool ‘1’ voor dalen, ‘0’ voor heffen

Vrijgave rechts Bool Moet ‘1’ zijn om te bewegen

Start rechts Bool Moet ‘1’ zijn om te bewegen

Snelheid laag rechts Bool ‘1’ voor langzaam/snel, ‘0’ voor middel

Snelheid middel rechts Bool ‘1’ voor middel/snel, ‘0’ voor langzaam

Clockwise rechts Bool ‘1’ voor heffen, ‘0’ voor dalen

Counter clockwise rechts Bool ‘1’ voor dalen, ‘0’ voor heffen

(15)

Pagina 15 van 51 Inputs:

Naam Type Omschrijving

Regelaar gereed links Bool ‘1’ als regelaar ok is en vrijgegeven

Geen storing links Bool ‘1’ als er geen storing is

Eind schak. beneden links Bool ‘1’ als de kraan te ver daalt Eind schak. boven links Bool ‘0’ als de kraan te ver heft Hijsband controle links Bool ‘0’ als de hijsband niet goed is Regelaar gereed rechts Bool ‘1’ als regelaar ok is en vrijgegeven

Geen storing rechts Bool ‘1’ als er geen storing is

Eind schak. beneden rechts Bool ‘1’ als de kraan te ver daalt Eind schak. boven rechts Bool ‘0’ als de kraan te ver heft Hijsband controle rechts Bool ‘0’ als de hijsband niet goed is

Positie verticaal links Dword Positie van de wagendrager (0-50000)

Positie verticaal rechts Dword Positie van de wagendrager (0-50000)

Tabel 2-4 Inputs verticale bewegingen

Het verloop van het snelheidsprofiel waarmee de frequentieregelaar de motor stuurt is afhankelijk van de parameters in de regelaar. De parameters die daar invloed op hebben zijn:

 Snelheid laag = 200 rpm;  Snelheid middel = 750 rpm;  Snelheid snel = 1500 rpm;  Acceleratie tijd = 3 seconden;  Deceleratie tijd = 3 seconden.

Als de snelheidsetpoint verandert gaat de motor dus in 3 seconden accelereren of decelereren. De verhouding tussen RPM en m/s (overbrenging van motor naar hijsband) is onbekend, maar kan bepaald worden uit de rijtijden.

2.2

Baden

In de installatie bevinden zich 9 baden waar de producten in gedoopt kunnen worden. Het eerste bad heeft 2 posities (er kunnen 2 productdragers naast elkaar op liggen). Elke positie heeft een sensor die detecteert of er een productdrager ligt op die positie. Deze sensoren sturen een ‘1’ naar de plc-ingang als er een productdrager op de positie ligt. Een aantal baden hebben een nevelkrans (om het product af te spoelen). De plc heeft per nevelkrans een uitgang om deze te activeren, dit hoeft niet te worden gesimuleerd omdat het op geen enkele manier invloed heeft op het te simuleren proces (doorloop van de dragers). Dat komt omdat de nevelkrans geen enkele tijd beïnvloedt. Andere baden hebben luchtagitatie (om de vloeistoffen te mengen). Ook heeft de plc per luchtagitatie een uitgang om dit te activeren. De luchtagitatie heeft net als de nevelkrans geen invloed op het te simuleren proces en hoeft dus ook niet opgenomen te worden in de simulatie.

(16)

Pagina 16 van 51

2.3

Invoerstation

De installatie die gesimuleerd gaat worden, maakt deel uit van een coatinglijn. Voor de voorbehandelings-installatie zijn drie stations waar de traversen handmatig voorbereid worden. Die voorbereiding bestaat uit het plaatsen van producten in de traversen en een laatste controle op eventuele oneffenheden van het product. De traversen worden door een banentransport van deze voorbereidingsstations naar de voorbehandelings-installatie gebracht. Net voor het invoerstation is een buffer waar vijf traversen in kunnen. Als een lege productdrager op positie 0 (invoerstation) ligt, en er zitten minmaal drie traversen in de buffer voor het invoerstation, dan kunnen de voorste drie traversen in de productdrager gehangen worden. Dit gebeurt door een drukstang die aangedreven wordt door een elektromotor met frequentieregelaar. De drukstang drukt in twee slagen de drie traversen in de productdrager (1 slag is van achter naar voor). In de simulatie wordt er altijd vanuit gegaan dat de buffer minimaal drie traversen bevat. Dit omdat de maximale capaciteit van de installatie getest moet gaan worden.

De I/O van het invoerstation die gesimuleerd moet gaan worden is te vinden in Tabel 2-5 en Tabel 2-6.

Outputs:

Naam Type Omschrijving

Vrijgave regelaar drukstang Bool Moet ‘1’ zijn om te bewegen

Drukstang > heen Bool Moet ‘1’ zijn om drukstang uit te sturen

Drukstang > weer Bool Moet ‘1’ zijn om drukstang in te sturen

Tabel 2-5 Outputs invoerstation

Inputs:

Naam Type Omschrijving

Regelaar drukstang gereed Bool ‘1’ als regelaar ok is en vrijgegeven

Sensor drukstang heen Bool ‘1’ als drukstang uit gestuurd is

Sensor drukstang weer Bool ‘1’ als drukstang in gestuurd is

Product op positie 0 Bool ‘0’ als product is ingevoerd

Tabel 2-6 Inputs invoerstation

2.4

Uitvoerstation

Om de producten uit te voeren naar de volgende processen wordt het uitvoerstation gebruikt. Dit station zorgt ervoor dat de traversen uit de productdrager in het banentransport worden geschoven. Dit gebeurt, net als bij het invoerstation, door een drukstang die aangedreven wordt door een elektromotor met frequentieregelaar. De drukstang drukt in twee slagen de drie traversen uit de productdrager (1 slag is van achter naar voor). De I/O van het uitvoerstation die gesimuleerd moet gaan worden is te vinden in Tabel 2-7 en Tabel 2-8.

(17)

Pagina 17 van 51 Outputs:

Naam Type Omschrijving

Vrijgave regelaar drukstang Bool Moet ‘1’ zijn om te bewegen

Drukstang > heen Bool Moet ‘1’ zijn om drukstang uit te sturen

Drukstang > weer Bool Moet ‘1’ zijn om drukstang in te sturen

Tabel 2-7 Outputs uitvoerstation

Inputs:

Naam Type Omschrijving

Regelaar drukstang gereed Bool ‘1’ als regelaar ok is en vrijgegeven

Sensor drukstang heen Bool ‘1’ als drukstang uit gestuurd is

Sensor drukstang weer Bool ‘1’ als drukstang in gestuurd is

Product op positie 11 Bool ‘1’ als product is uitgevoerd

(18)

Pagina 18 van 51

3

Simulatieonderdelen

De software die gebruikt wordt om de simulatie te maken is WinMOD. Met dit softwarepakket is het mogelijk om macro’s te maken. Dat zijn door de gebruiker gemaakte simulatieblokken (functies). Deze macro’s kunnen dan vervolgens meerdere keren gebruikt worden. Omdat bij de simulatie van deze installatie verschillende functies vaker terug komen zal hier ook gebruik gemaakt worden van macro’s. De verschillende macro’s worden in paragraaf 3.1 verder besproken.

Om voor de gebruiker van de simulatie duidelijk te maken wat er precies gebeurt, wordt er ook een grafisch overzicht van de simulatie gemaakt. In dit overzicht is te zien wat de posities van de kranen zijn en welke posities belegd zijn (waar een productdrager op ligt).

De complete simulatie wordt op I/O niveau gemaakt. Dat wil zeggen dat alle communicatie tussen de simulatie en de plc gerealiseerd wordt door middel van in- en uitgangen van de plc. Dit wordt gedaan om de simulatie te kunnen gebruiken in combinatie met verschillende plc-programma’s van de installatie. Dat is wenselijk omdat er op dit moment twee verschillende plc-programma’s zijn.

3.1

Macro’s

Macro’s bestaan uit ingangen, uitgangen, locale variabelen en een programma. Alle variabelen (ingangen, uitgangen en locale variabelen) worden in het macro gedeclareerd. Als dit macro later in de simulatie gebruikt wordt, kunnen er variabelen uit de simulatie aan gekoppeld worden. Het programma wordt opgebouwd uit standaard WinMOD functies.

3.1.1 Motor

In de simulatie dienen negen motoren opgenomen te worden (drie per kraan). Het is de bedoeling dat de positie bepaald wordt aan de hand van de plc-uitgangen. Per motor zijn er zes uitgangen die communiceren met de frequentieregelaar van de motor en deze gelden dus als ingangen van het macro:

 Vrijgave;  Start;  Snelheid laag;  Snelheid middel;  Clockwise;  Counter clockwise.

Het resultaat dat de beweging terugmeldt naar de plc is de positie. Dit geldt als uitgang van het macro.

Om de ingangen van een regelaar om te zetten naar de positie van een beweging, worden deze ingangen eerst omgezet naar een snelheidsprofiel. Vervolgens wordt dit snelheidsprofiel door middel van de integraalfunctie omgezet naar een positieprofiel. Het snelheidsprofiel is opgebouwd uit twee delen, namelijk het dynamische en het statische deel. Het dynamische deel vormt de acceleratie of deceleratie van de motor en het statische deel de stukken met een constante snelheid. Als de gewenste snelheid

(19)

Pagina 19 van 51 verandert (door inputs snelheid laag en snelheid middel), wordt de actuele snelheid gekopieerd naar de oude snelheid. Vervolgens wordt het verschil tussen de oude snelheid en de nieuwe gewenste snelheid bepaald. Als dit verschil niet gelijk is aan nul, wordt een ramp gestart. De ramp is een waarde die loopt van 0 naar 1 in een bepaalde tijd (acceleratie- / deceleratie-tijd). Het verschil tussen de oude snelheid en de gewenste snelheid wordt vermenigvuldigd met de ramp. Deze waarde wordt opgeteld bij de oude snelheid. Dat levert de snelheid tijdens een acceleratie of deceleratie op. Als de actuele snelheid gelijk is aan de gewenste snelheid, wordt de gewenste snelheid constant gekopieerd naar de uitgang.

Bij de horizontale beweging wordt gebruik gemaakt van motorremmen. Zodra deze actief worden, remt de machine direct af naar een snelheid van nul m/s (deceleratietijd = 0 seconden).

3.1.2 Positiesensor

De kranen hebben allemaal twee positiesensoren (links en rechts) om te detecteren of de kraan op één van de elf posities staat. Zodra de horizontale beweging van een kraan één van de elf posities nadert, wordt de sensor laag. De sensor is dus een normally closed sensor en wordt bediend als de horizontale positie van de kraan zich bevindt tussen twee vastliggende waarden.

De ingang van dit macro is de positie van de kraan, de uitgang is het sensorsignaal. Dit macro wordt één keer per kraan gebruikt.

3.1.3 Positie-belegd-sensor

Elke positie waarop een productdrager kan liggen (invoer, bad 1 t/m 9 en uitvoer), is uitgerust met een sensor die bepaalt of er een productdrager op ligt. Zodra een kraan een productdrager op een positie legt, wordt het signaal van deze sensor van de desbetreffende positie hoog. Als een kraan een productdrager op pakt vanaf een positie, wordt het signaal van deze sensor van de desbetreffende positie laag. Dit macro wordt per positie gebruikt. Als een kraan boven deze positie staat en daalt tot beneden, set het macro de positie-belegd-sensor van deze positie. Als een kraan boven deze positie staat en hijst, reset het macro de positie-belegd-sensor van deze positie.

(20)

Pagina 20 van 51

3.2

Grafische weergave

Om in de simulatie duidelijk te maken wat de status is van het proces, worden een aantal gegevens gevisualiseerd in een grafische weergave van de simulatie. In WinMOD kunnen analoge signalen gevisualiseerd worden door middel van een balk die volloopt, afhankelijk van de waarde van dit analoge signaal. Het visualiseren van een beweging is op geen andere manier mogelijk in WinMOD. Digitale signalen kunnen worden gevisualiseerd door middel van een “lamp” (licht op bij een ‘1’).

Als basis van de grafische weergave geldt een zijaanzicht van de installatie waarin alle posities en de rails waarover de kranen rijden te zien zijn. De waarden die gevisualiseerd gaan worden zijn minimaal:

Per kraan:

 Positie horizontaal kraan;  Positie verticaal links kraan;  Positie verticaal rechts kraan;  Positie sensor links;

 Positie sensor rechts. Per positie:

 Positie-belegd-sensor. Invoer- en uitvoerstation:  Productsensor;

 Positiesensor drukstang heen;  Positiesensor drukstang weer;  Positiesensor drukstang halfweg;

(21)

Pagina 21 van 51

4

Realisatie

In dit hoofdstuk wordt de realisatie van de simulatie beschreven. Het realiseren van de simulatie wordt gedaan aan de hand van gegevens beschreven in hoofdstuk 3. Eerst worden alle, door de simulatie gebruikte, ingangen en uitgangen van de plc in de variabelenlijst van WinMOD opgenomen. Daardoor kunnen deze in de simulatie gebruikt worden.

4.1

Grafisch

Het grafisch ontwerp is gerealiseerd door de standaard grafische WinMOD bouwstenen. In Figuur 4-1 is de grafische weergave te zien.

Figuur 4-1 Grafische weergave simulatie

De grijze blokken onder in bovenstaand figuur stellen de posities 1 tot en met 11 voor. De groene lampen op de posities stellen de positie-belegd-sensoren voor. De horizontale groene lijnen bovenin het scherm laten de horizontale positie van de kranen zien. Als een kraan op een positie is, verschijnt een grijsvlakje boven die positie. De blauwe verticale balken laten de verticale posities van de kranen zien (links en rechts). De lampen onder positie 0 laten de aansturing en positie van de invoer drukstang zien. De groene lampen zijn de positie sensoren (heen en weer) en de rode lampen zijn de aansturing (heen en weer). De lampen onder positie 11 laten de positie en aansturing van de uitvoer drukstang zien, ook hier zijn de groene lampen sensoren en de rode lampen aansturing. Bij de uitvoer is ook een sensor “drukstang halfweg” toegepast.

4.2

Macro’s

In deze paragraaf wordt beschreven hoe de verschillende macro’s in deze simulatie op zijn gebouwd en hoe ze worden toegepast.

(22)

Pagina 22 van 51

4.2.1 Motor(positie)

In het “Motor” macro wordt eerst bepaald wat de gewenste snelheid is. Dit wordt gedaan door het “speedselection” macro (bijlage 2). Dit macro bepaalt aan de hand van de ingangen snelheid laag en snelheid middel welke instellingen gebruikt moeten worden (gewenste snelheid, acceleratietijd en deceleratietijd). Ook heeft dit macro een uitgang die een puls geeft als een nieuw setpoint is geselecteerd.

De gegevens die uit het “speedselection” macro komen, worden verwerkt tot het snelheidsprofiel van de beweging. Dit wordt gedaan in het macro “Speed” (bijlage 3). Dit macro bepaalt, bij een nieuw setpoint, het verschil tussen de actuele snelheid en het nieuwe setpoint en zorgt ervoor dat de snelheid lineair naar dit nieuwe setpoint loopt in een bepaalde tijd (acceleratietijd of deceleratietijd).

Het lineair verloop wordt gerealiseerd door een waarde die in de ingestelde tijd oploopt van 0 naar 100 procent. Deze waarde wordt door het macro “ramp” (bijlage 4) geleverd. Als het “ramp” macro een startpuls krijgt, wordt de inputtijd (gewenste looptijd) gekopieerd naar de “RampTime” en vervolgens wordt de ramp gestart. Als de ramp 100 procent heeft bereikt, wordt deze direct weer gereset. Ook kan de ramp gereset worden door de reset-input van het “ramp” macro. Dit is nodig als er een nieuwe ramp gestart moet worden terwijl de vorige nog niet afgelopen is.

De snelheid die uitgestuurd wordt door het “Speed” macro, wordt in het “Motor” macro (bijlage 5) afhankelijk van de draairichting positief of negatief gemaakt. Als de remmen bediend worden, wordt de snelheid nul gemaakt waardoor de beweging stil komt te staan.

De snelheid na bovenstaande bewerkingen heeft dus het gewenste profiel, is positief of negatief (afhankelijk van draairichting) en wordt nul als de motor geremd wordt. Deze snelheid wordt dan met een factor geïntegreerd. Dat heeft de positie van de beweging als resultaat. De factor wordt bepaald aan de hand van een tijdmeting van de fysieke installatie en van de simulatie. De factor is gelijk aan de factor tussen de tijd die een beweging werkelijk duurt en de tijd die de beweging in de simulatie duurt. Het “Motor” macro wordt voor alle bewegingen van alle kranen gebruikt.

4.2.2 Positiesensor

Het “Positiesensor” macro (bijlage 6) bepaalt of de positie van de beweging in de buurt is van badpositie. Inputs van dit macro zijn alle badposities in millimeters en de huidige positie van de kraan. Outputs zijn de positiesensoren (links en rechts). Als de kraan op plus of min 40 millimeter van een positie af is, zal de positiesensor hoog worden. De dodeband moet dus 80 millimeter breed zijn. Dit macro wordt per kraan gebruikt.

4.2.3 Positie-belegd-sensor

Het “positie-belegd-sensor” macro (bijlage 7) heeft twee type ingangen, namelijk ingangen die gekoppeld zijn aan locale variabelen en ingangen die gekoppeld zijn aan uitgangen van de plc. Locale ingangen zijn: per kraan of deze kraan op de betreffende positie staat, verticale positie op de positie, bij start belegd en reset. De aan de plc gekoppelde ingangen zijn: per kraan dalen links/recht en heffen links/rechts. De uitgang van dit macro is de positie-belegd-sensor.

(23)

Pagina 23 van 51 De ingangen, die bepalen of er een kraan op de positie is, worden bediend door het macro “Selectie verticaal” en worden hoog als respectievelijk kraan 1, kraan 2 of kraan 3 op de positie staan. Als een kraan op de positie staat, de kraan daalt en de kraan is op positie onder, wordt de uitgang geset. Dit simuleert dat een productdrager op de positie neergelegd wordt. Als een kraan op de positie staat, de kraan heft en de kraan boven positie onder is, wordt de uitgang gereset. Dit simuleert dat een productdrager van de positie op gepakt wordt. Dit macro wordt per positie gebruikt.

4.2.4 Selectie verticaal

Het “Selectie verticaal” macro (bijlage 8) bepaalt of een kraan boven een badpositie staat. Als dit het geval is, wordt de verticale positie van die kraan gekoppeld aan de verticale positie van die positie. Ook wordt dan een, aan een lokale variabele gekoppelde, uitgang hoog gemaakt (om aan het positie-belegd-sensor macro te door te geven dat een kraan op de positie staat). Dit macro wordt per positie gebruikt.

(24)

Pagina 24 van 51

5

Controle

Om de werking en gelijkenis aan de werkelijkheid van de simulatie te controleren, wordt een meting (welke de output meet) in het plc-programma ingebouwd. Deze meting start een timer die de tijdsduur van de meting bepaalt, en telt het aantal uitgevoerde productdragers. Dat wordt met drie vermenigvuldigd (drie traversen per drager) wat het aantal uitgevoerde traversen geeft. De totale tijd wordt gedeeld door het aantal uitgevoerde traversen, wat als resultaat de gemiddelde tijd per traverse geeft in seconden. Dan wordt een uur (3600 seconden) gedeeld door die gemiddelde tijd. Dat resulteert in het aantal traversen per uur. Om de meting betrouwbaar te maken, moet deze minimaal een aantal uren meten.

De meting wordt geïntegreerd in het oude plc programma en uitgevoerd op de fysieke machine en op de simulatie. Het resultaat van de meting is 18,87 traversen per uur. De simulatie haalt 18,94 traversen per uur. Er is dus een kleine afwijking, maar aangezien in de specificatie een heel getal (geen decimalen) staat, levert deze afwijking geen problemen op (het verschil is verwaarloosbaar).

(25)

Pagina 25 van 51

6

Knelpunten installatie

Om duidelijk te krijgen waar in het productieproces (met nieuwe besturing) tijd gewonnen kan worden, wordt een overzicht gemaakt van de knelpunten van de installatie. Deze knelpunten staan in dit hoofdstuk beschreven.

6.1

Doorstroming (lege) dragers

Zodra een drager op positie 11 is leeggemaakt, moet deze drager door de drie kranen teruggebracht worden naar positie 0. Op positie 0 kan er weer nieuw product in de drager gehangen worden. Het terugbrengen van de lege dragers kan in sommige gevallen extra tijd kosten omdat de lege dragers posities bezet houden.

6.2

Instellingen

De nieuwe besturing van de installatie maakt het mogelijk een aantal instellingen te maken. Er kan per positie ingesteld worden of op deze positie een lege drager neergelegd mag worden. Het maken van deze instellingen kan zowel voor- als nadelen hebben. Het is daarom belangrijk dat deze instellingen zo goed mogelijk gekozen worden.

6.3

Opdrachtbepaling

In sommige situaties is de opdrachtkeuze (gemaakt door het plc programma) niet ideaal. Hierdoor loopt het proces ook vertraging op. Een voorbeeld hiervan: vaak is het voordeliger om een lege drager eerst naar voren te brengen in plaats van een drager met product een plaats verder te leggen.

(26)

Pagina 26 van 51

7

Mogelijke aanpassingen

Om de capaciteit van de installatie met het nieuwe programma te verhogen, zijn er aanpassingen nodig. Aan de hand van de in hoofdstuk 6 beschreven knelpunten zijn de volgende mogelijke aanpassingen tot stand gekomen.

7.1

Aantal dragers aanpassen

Om te voorkomen dat de doorstroming van de dragers niet meer opstropt en het ook niet meer voorkomt dat er geen lege drager beschikbaar is om product in te voeren, moet een balans gevonden worden in het aantal dragers. Het aantal dragers in de installatie is relatief makkelijk aan te passen, daarom is deze aanpassing makkelijk in praktijk te brengen. De invloed die het veranderen van het aantal dragers heeft op de capaciteit van de installatie zal aan de hand van de simulatie bepaald worden. Uit deze proef kan worden bepaald bij welk aantal dragers de gewenste balans ligt en in hoeverre dit de capaciteit verandert.

7.2

Vast pad voor lege dragers zoveel mogelijk vrij houden

Na het bestuderen van het proces lijkt het er op dat vooral het verplaatsen van lege dragers (van positie 11 naar positie 0) een probleem geeft. In de nieuwe besturing kan per positie aangegeven of er een lege drager neergelegd mag worden. Deze posities worden ook gebruikt door dragers met product. Als de posities die gebruikt kunnen worden voor het terugbrengen van de lege dragers al bezet zijn door dragers met product, kan een lege drager niet teruggebracht worden en daardoor loopt de doorvoer van dragers met product vertraging op. Om ervoor te zorgen dat een lege drager sneller teruggevoerd kan worden, zou er een vast pad gecreëerd kunnen worden. Dit vaste pad bestaat dan uit de posities waar een lege drager neergelegd mag worden. Het programma zou rekening kunnen gaan houden met deze posities zodat deze zoveel mogelijk leeg blijven. Op die manier is er, zover mogelijk, altijd een vast pad beschikbaar om de lege dragers terug te voeren.

7.3

Eerder nieuwe opdrachten geven.

In de nieuwe besturing krijgt een kraan pas een nieuwe opdracht als de kraan die opdracht uit kan voeren (geen andere kranen in de weg enz.), terwijl dat in sommige gevallen ook al eerder kan omdat de kraan al een deel van de opdracht uit kan voeren. Een mogelijkheid om tijd te winnen is om de opdracht naar de kraan te sturen zodra deze kraan in staat is om het eerste deel van de opdracht (naar ophaalpositie rijden, hijsen en eventueel uitdruipen) uit te voeren.

7.4

Instellingen optimaliseren

Om het proces met de flexibele besturing optimaal te laten werken, worden een aantal instellingen gemaakt. Het vinden van de meest optimale instellingen kan proefondervindelijk gedaan worden met behulp van de simulatie

(27)

Pagina 27 van 51

8

Resultaat aanpassingen

Om de invloed van de in hoofdstuk 7 beschreven aanpassingen op de capaciteit van de machine te testen, wordt gebruik gemaakt van de simulatie. Verdere uitwerking en eventuele invloed op de capaciteit worden in dit hoofdstuk beschreven.

8.1

Hardware aanpassingen

Aanpassingen aan de hardware zijn met behulp van de simulatie relatief erg makkelijk te realiseren. Bij het starten van de installatie liggen er, in de standaardsituatie, zeven dragers op willekeurige posities. Het plaatsen van een drager gebeurt in de simulatie met een knop. Het verminderen van het aantal dragers geeft een kleine consequentie voor de software. Elke drager heeft namelijk een variabele waarin zijn huidige positie staat. Tenzij door de knop in de simulatie anders gemeld wordt, staat deze positie op 0. De drager die weggelaten wordt, heeft dan dus in zijn positie informatie staan dat hij op positie 0 ligt. Daardoor zal kraan 1 nooit de opdracht krijgen een drager op positie 0 te leggen. Dit kan opgelost worden door de positie-informatie van de drager die weggelaten wordt, te veranderen in een positie die niet voorkomt in de installatie (bijvoorbeeld twaalf). Het toevoegen van extra dragers in de installatie (meer dan zeven) vergt meer aanpassingen aan de software. Dat komt omdat voor elke drager apart een stukje software in het programma zit.

Met behulp van de simulatie is het effect dat het weglaten van een drager heeft op de capaciteit getest. Om de capaciteit te bepalen is een stukje plc-software geschreven die de gemiddelde capaciteit van de machine in traversen per uur bepaalt aan de hand van totale tijd en het aantal uitgevoerde dragers. In Tabel 8-1 zijn de resultaten van deze metingen gegeven.

Aantal dragers in systeem Capaciteit (traversen/uur)

7 15,3

6 15,2

5 14,5

Tabel 8-1 Capaciteit na aanpassen aantal dragers

De capaciteit van de installatie met zeven dragers is rond de 15 traversen per uur. Als er een drager uit de installatie gehaald wordt en dus nog met 6 dragers wordt gedraaid, blijft de capaciteit van de installatie op rond de 15 traversen per uur liggen. Hierdoor kan worden geconcludeerd dat het aantal dragers dat gebruikt wordt (als dat tussen 6 en 8 ligt) geen invloed heeft op de capaciteit.

8.2

Opdrachtbepalingen

Het software gedeelte dat de opdrachtbepaling verzorgt is erg uitgebreid en ingewikkeld. Dit komt omdat het programma ten alle tijden flexibel moet zijn en dus op veel variabele moet in kunnen spelen en er zeer veel verschillende situaties voor kunnen komen waarbij het programma altijd goed moet blijven functioneren. Het maken van aanpassingen in dit deel van de software is door de complexiteit erg

(28)

Pagina 28 van 51 moeilijk. In dit project is geen ruimte om vele uren te besteden aan mogelijke oplossingen waarvan niet zeker is dat deze de capaciteit te goed komen omdat daarvoor geen geld en tijd beschikbaar gesteld kan worden. Daarom is in overleg met de projectdeskundige en de eindverantwoordelijke besloten om aanpassingen in de opdrachtbepaling alleen te beschrijven en verder niet uit te werken en te testen. De aanpassingen uit paragraaf 7.2 en 7.3 worden in dit project dus niet uitgewerkt en getest.

8.3

Aanpassen van instellingen

Het aanpassen van instellingen wordt gedaan in het instellingen scherm van de human machine interface van de installatie. Per positie kan er ingesteld worden of er op deze positie een lege drager neergelegd mag worden. Eerst worden zoveel mogelijk posities ingesteld als posities waarop een lege drager neergelegd mag worden en vervolgens zo min mogelijk. De simulatie zal met beide instellingen minimaal 3 uur draaien waarna duidelijk moet worden wat het meest gunstig is. Vast staat wel dat op positie zes geen lege drager neergelegd mag worden. Dit omdat in het zink recept positie zes de positie na prioriteitpositie vijf is. De positie na een prioriteitpositie moet leeg zijn om de prioriteitpositie te kunnen gebruiken. Als die positie (in dit geval positie zes) gebruikt wordt om een lege drager neer te leggen, levert dit een flinke vertraging voor het systeem op. De resultaten van de capaciteitmetingen na het veranderen van de instellingen zijn in Tabel 8-2 te vinden.

Aantal posities voor lege dragers Capaciteit (traversen/uur) 4 13,7 6 14,2 9 14,9 11 15,3

Tabel 8-2 Capaciteit na aanpassen instellingen

Uit de metingen blijkt dat het voor de capaciteit het meest gunstig is als het programma zoveel posities tot haar beschikking heeft om lege dragers te plaatsen. Het veranderen van de instellingen heeft zoals uit bovenstaande tabel te herleiden is geen grote positieve invloed op de capaciteit.

(29)

Pagina 29 van 51

9

Conclusie

De probleemstelling van dit project is het feit dat er in de beschreven installatie een capaciteitverlies is opgetreden na het uitvoeren van een softwarevernieuwing. Door de softwarevernieuwing is de installatie geheel flexibel geworden. Deze vernieuwing heeft er echter voor gezorgd dat de capaciteit van de installatie van 19 traversen per uur gedaald is naar 15 traversen per uur.

Aan de hand van de metingen die in dit project zijn gedaan kan geconcludeerd worden dat de capaciteit van de installatie met een kleine aanpassing niet aanzienlijk verhoogd kan worden (slechts drie tienden traverse per uur). Eventuele grote aanpassingen (waarvoor het zeer ingewikkelde programma herzien moet worden) zouden mogelijk wel voor grotere capaciteitverbetering kunnen zorgen, dit kan echter pas bewezen worden als het daadwerkelijk uitgevoerd en getest wordt. De uitvoering van deze grote aanpassingen kost teveel tijd om in dit project uit te voeren.

(30)

Pagina 30 van 51

10

Aanbevelingen

Eventuele grotere aanpassingen aan de besproken installatie in de toekomst, kunnen worden makkelijk getest worden met behulp van de simulatie. Op die manier hoeft de werkelijk installatie niet stilgelegd worden en kunnen eventuele kinderziektes in de aanpassing voor de inbedrijfstelling worden opgelost.

De niet gerealiseerde (omdat het teveel tijd in beslag nam voor dit project) mogelijke aanpassingen die in hoofdstuk 7 zijn beschreven kunnen eventueel verder bekeken worden en het programma (voornamelijk opdrachtbepaling) kan eventueel herzien worden. Er moet echter wel rekening mee gehouden worden dat het programma erg uitgebreid en ingewikkeld is (dit gaat dus erg veel tijd kosten). Een andere mogelijkheid is het combineren van het oude plc-programma met het nieuwe programma. Het oude programma kan dan gebruikt worden als lange tijd maar 1 recept gedraaid wordt en het nieuwe, flexibele programma kan gebruikt worden bij meer verschillende recepten. Op die manier behoud de installatie zijn capaciteit zolang er lange tijd een zelfde recept gedraaid wordt (dit is wat gewenst is en beschreven staat in de functionele omschrijving van de vernieuwing van de software).

(31)

Pagina 31 van 51

Bijlage 1 Flowchart proces

(32)

1. Opdracht bepaling

2. Kraan besturing

3. Hardware

(33)

Pagina 2 Opdracht 1 0-1

Kraan 1 van naar Kraan 2 van naar Kraan 3 van naar

2-3 4-0 1-2 3-5 7-8 5-6 7-4 6-7 9-10 11-7 10-11 8-9 Opdracht 2 Opdracht 3 Opdracht 4 Opdracht 5 Verplaats drager

(34)

Start

Snel naar Pick positie rijden

Kraan op 600 mm of minder van

positie

Langzaam naar Pick positie rijden

Ja Positie sensoren gemaakt Nee Nee Kraan remmen Ja Nieuw opdracht Ja Nee Opdracht Geforceerd naar positie Ja Naar Start Nee Hijsen Pagina 3

(35)

Product in drager Langzaam hijsen Op schuinhang positie Nee Schuinhangen Ja Hijsen met middelsnelheid Kraan 600 mm of minder van boven

positie Nee Kraan stopt Ja Uitlek tijd verstreken Nee Kraan stopt Langzaam hijsen Ja Kraan op boven positie Ja Nee Snel hijsen Kraan 600 mm of minder van boven

positie Nee Kraan stopt Langzaam hijsen Kraan op boven positie Ja Nee Ja Ja Nee Naar Place Hijsen Pagina 4

(36)

Kraan Snel rijden

Kraan op 600 mm of minder van place positie

Kraan langzaam rijden Ja Nee Positie sensoren gemaakt Kraan remmen Ja Nee Naar Place Dalen Pagina 5

(37)

Uitschommeltijd verlopen Product uitschommelen Nee Langzaam dalen Ja Kraan 600 mm of meer van boven

positie Nee

Middel snel dalen Ja

Kraan 600 mm of minder van onder

positie Nee Langzaam dalen Ja Kraan op onder positie Nee Kraan Stopt Ja Snel dalen Kraan 600 mm of minder van onder

positie Langzaam dalen Ja Kraan op onder positie Nee Kraan Stopt Ja Nee Product in drager Ja Nee Naar Start Dalen Pagina 6

(38)

Pagina 38 van 51

Bijlage 2 Het “Speedselection” macro

(39)

Tdec3 Tdec3 3,50 Tdec2 Tdec2 3,50 Tdec1 Tdec1 3,50 Tacc3 Tacc3 3,00 Tacc2 Tacc2 3,00 Tacc1 Tacc1 3,00 Speed3 Speed3 1.500,00 Speed2 Speed2 750,00 Speed1 Speed1 NewSpeedCopiedPuls Dec_out Dec_out 0,00 Acc_Out Acc_Out BVU_01 4 X2 Speed_3_Selected X1 Speed_2_Selected X0 Speed_1_Selected Y No_speed_selected BVU_01 3 X2 Stop X1 Select_Speed_1 X0 Select_Speed_2 Y Speed_1_Selected X2 Stop X1 Select_Speed_1 X0 Select_Speed_2 Y Speed_2_Selected CAM_01 2 X1 Speed2 X0 Temp_Speed_0 C Speed_2_Selected Y Temp_Speed_1 CAM_01 3 X1 Speed3 X0 Temp_Speed_1 C Speed_3_Selected Y New_speed CAM_01 1 X1 Speed1 X0 Constant_0 C Speed_1_Selected Y Temp_Speed_0 X Speed_2_Selected Y Speed_2_Selected_Puls BXF_01 8 X Speed_1_Selected Y Speed_1_Selected_Puls BXF_01 9 X No_speed_selected Y No_Speed_Selected_Puls BVO_01 11 X3 No_Speed_Selected_Puls X2 Speed_1_Selected_Puls X1 Speed_2_Selected_Puls X0 Speed_3_Selected_Puls Y New_Speed_Selected CAM_01 6 X1 New_speed X0 Speed_out C New_Speed_Selected_Puls Y Speed_out BXF_01 25 X New_Speed_Selected Y New_Speed_Selected_Puls CAM_01 68 X1 Tdec1 X0 ConstantBreakDec C Speed_1_Selected Y Temp_Dec_0 CAM_01 69 X1 Tdec2 X0 Temp_Dec_0 C Speed_2_Selected Y Temp_Dec_1 CAM_01 70 X1 Tdec3 X0 Temp_Dec_1 C Speed_3_Selected Y New_Dec CAM_01 71 X1 New_Dec X0 Dec_out C New_Speed_Selected_Puls Y Dec_out CAM_01 72 X1 Tacc1 X0 Constant_0 C Speed_1_Selected Y Temp_Acc_0 CAM_01 73 X1 Tacc2 X0 Temp_Acc_0 C Speed_2_Selected Y Temp_Acc_1 CAM_01 74 X1 Tacc3 X0 Temp_Acc_1 C Speed_3_Selected Y New_Acc CAM_01 75 X1 New_Acc X0 Acc_Out C New_Speed_Selected_Puls Y Acc_Out ACO_01 49 X1 New_speed X0 Speed_out > = SpdCopied < ACO_01 50 X1 New_Dec X0 Dec_out > = DecCopied < ACO_01 51 X1 New_Acc X0 Acc_Out > = AccCopied < BVU_01 22 X3 New_Speed_Selected_Puls X2 DecCopied X1 AccCopied X0 SpdCopied Y NewSpeedCopied BXF_01 34 X NewSpeedCopied Y NewSpeedCopiedPuls 0,00

(40)

Pagina 40 van 51

Bijlage 3 Het “Speed” macro

(41)

DecTimeNew 0,00 AccTimeNew 0,00 ramp ActTime StartRampPuls reset Ramp CAM_01 63 X1 SetPointNew X0 SetPoint C NewSpeedPuls Y SetPoint X NewSpeed Y NewSpeedPuls CAM_01 64 X1 Output X0 OldSpeed C NewSpeedPuls Y OldSpeed CAM_01 65 X1 Time X0 ActTime C NewSpeedPuls Y ActTime K7_Pos_rijden X1 OldSpeed X0 SetPoint Y DeltaSpeed AFM_01 4 DIV M1 Ramp0-1 M0 DeltaSpeed Y RampSpeed CAM_01 66 X1 SetPointSpeed X0 RampSpd+OldSpd C SpReached Y Output X SpReached Y SpReachedPPuls CAM_01 67 X1 SetPoint X0 SetPointSpeed C SpReachedNPuls Y SetPointSpeed AFM_01 5 DIV M1 Constant0.01 M0 Ramp Y Ramp0-1 K8_Pos_rijden X1 OldSpeed X0 RampSpeed Y RampSpd+OldSpd CAM_01 77 X1 AccTimeNew X0 Time C Sp>Out Y TempTime0 CAM_01 78 X1 DecTimeNew X0 TempTime0 C Sp<Out Y Time ACO_01 48 X1 Output X0 SetPointNew > Sp>Out = < Sp<Out BVO_01 19 X1 NewSpeedPuls X0 SpReachedPPuls Y reset ACO_01 88 X1 SetPointNew X0 SetPoint > = SetpointCopied < ACO_01 89 X1 Output X0 OldSpeed > = SpeedCopied < ACO_01 90 X1 Time X0 ActTime > = TimeCopied < BVU_01 79 X3 NewSpeedPuls X2 TimeCopied X1 SpeedCopied X0 SetpointCopied Y StartRamp BXF_01 68 X StartRamp Y StartRampPuls

(42)

Pagina 42 van 51

Bijlage 4 Het “Ramp” macro

(43)

TimeFactor CAM_01 59 X1 Constant1 X0 Constant0 C RampUp Y StartRamp1 AGI_01 18 S Reset Xs Constant0 *Tn RampTime X StartRamp1 Y Ramp ACO_01 44 X1 Constant100 X0 Ramp > = ResetRamp < CAM_01 61 X1 TimeFactor X0 RampTime C StartRampPuls Y RampTime BVO_01 70 X1 ResetRamp X0 Reset Y ResetRampUp BXF_01 75 X StartRampPuls Y StartRampPulsN

(44)

Pagina 44 van 51

Bijlage 5 Het “Motor(positie)” macro

(45)

Ib_MotorRem2 927.71 Dec 0.00 Spe ed 0.00 SpDe celeratie 0.00 Remmen SpAcceleratie 0.00 SpSnelheid 0.00 Stop Remmen Rem positie positie 46.39 ActueleSnelhe id Speed_Selection Speed SpDeceleratie SpAcceleratie SpSnelheid

NieuweSne lheid ActueleSne lhe id Ia_snelheid_laag 200.00 Ia_tacc_middel 3.00 Ia_tdec_middel 3.50 Ia_snelheid_middel 750.00 Ia_tacc_snel 3.00 Ia_tdec_snel 3.50 Ia_snelheid_snel 1,500.00 AGI_01 20 S Xs *Tn X SnelheidCW /CCW Y positie CAM_01 79 X1 snelheidgeremd X0 snelheidgeremd C cwSelected Y SnelheidCW /CCW X1 Ib_counter_clock_wise X0 Ib_clock_wise Y ccw BVO_01 26 X1 Remmen X0 Ib_start/stop Y Stop BVO_01 53 X1 Ib_MotorRem2Puls X0 Ib_MotorRem1Puls Y Rem Puls BSR_01 58 R ResetRemmen S RemPuls Q Remmen ACO_01 87 X1 constant0 X0 ActueleSnelheid > = speed0 < BXF_01 66 X Stop Y Stop Puls

X1 Rem Y ResetRemmen CAM_01 90 X1 constant0 X0 ActueleSne lheid C Remmen Y snelheidgeremd BXF_01 69 X Ib_MotorRem 1 Y Ib_MotorRem1Puls BXF_01 70 X Ib_MotorRem 2 Y Ib_MotorRem2Puls CAM_01 91 X1 RemPositie X0 positie C Remmen Y outpu t CAM_01 92 X1 positie X0 Rem Positie C Rem Y RemPositie X1 Ib_MotorRem2 Y Rem

(46)

Pagina 46 van 51

Bijlage 6 Het “Positiesensor” macro

(47)

Positie 11 Positie 11 0.00 Positie 10 Positie 10 0.00 Positie 9 Positie 9 0.00 Positie 8 Positie 8 0.00 Positie 7 Positie 7 0.00 Positie 6 Positie 6 0.00 Positie 5 Positie 5 0.00 Positie 4 Positie 4 0.00 Positie 3 Positie 3 0.00 Positie 2 Positie 2 0.00 Positie 1 Positie 1 0.00 Positie 0 PositieSensor2 PositieSensor1 X1 DodeBand Y Positie0Min AFA_01 9 X1 DodeBand X0 Positie 1 Y Positie1Min AFA_01 10 X1 DodeBand X0 Positie 1 Y Positie1Max AFA_01 9 X1 DodeBand X0 Positie 2 Y Positie2Min AFA_01 10 X1 DodeBand X0 Positie 2 Y Positie2Max AFA_01 9 X1 DodeBand X0 Positie 3 Y Positie3Min AFA_01 10 X1 DodeBand X0 Positie 3 Y Positie3Max AFA_01 9 X1 DodeBand X0 Positie 4 Y Positie4Min AFA_01 10 X1 DodeBand X0 Positie 4 Y Positie4Max AFA_01 9 X1 DodeBand X0 Positie 5 Y Positie5Min AFA_01 10 X1 DodeBand X0 Positie 5 Y Positie5Max AFA_01 9 X1 DodeBand X0 Positie 6 Y Positie6Min AFA_01 10 X1 DodeBand X0 Positie 6 Y Positie6Max AFA_01 9 X1 DodeBand X0 Positie 7 Y Positie7Min AFA_01 10 X1 DodeBand X0 Positie 7 Y Positie7Max AFA_01 9 X1 DodeBand X0 Positie 8 Y Positie8Min AFA_01 10 X1 DodeBand X0 Positie 8 Y Positie8Max AFA_01 9 X1 DodeBand X0 Positie 9 Y Positie9Min AFA_01 10 X1 DodeBand X0 Positie 9 Y Positie9Max AFA_01 9 X1 DodeBand X0 Positie 10 Y Positie10Min AFA_01 10 X1 DodeBand X0 Positie 10 Y Positie10Max AFA_01 9 X1 DodeBand X0 Positie 11 Y Positie11Min AFA_01 10 X1 DodeBand X0 Positie 11 Y Positie11Max ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 ACO_01 19 ACO_01 20 BVU_01 86 X1 BovenMinPos1 X0 OnderMaxPos1 Y OpPositie1 BVU_01 86 X1 BovenMinPos2 X0 OnderMaxPos2 Y OpPositie2 BVU_01 86 X1 BovenMinPos3 X0 OnderMaxPos3 Y OpPositie3 BVU_01 86 X1 BovenMinPos4 X0 OnderMaxPos4 Y OpPositie4 BVU_01 86 X1 BovenMinPos5 X0 OnderMaxPos5 Y OpPositie5 BVU_01 86 X1 BovenMinPos6 X0 OnderMaxPos6 Y OpPositie6 BVU_01 86 X1 BovenMinPos7 X0 OnderMaxPos7 Y OpPositie7 BVU_01 86 X1 BovenMinPos8 X0 OnderMaxPos8 Y OpPositie8 BVU_01 86 X1 BovenMinPos9 X0 OnderMaxPos9 Y OpPositie9 BVU_01 86 X1 BovenMinPos10 X0 OnderMaxPos10 Y OpPositie10 BVU_01 86 X1 BovenMinPos11 X0 OnderMaxPos11 Y OpPositie11 BVO_01 74 BVO_01 74

(48)

Pagina 48 van 51

Bijlage 7 Het “Positie-belegd-sensor” macro

(49)

Reset BijStartBelegd PositieHefDaalRechts PositieHefDaalRechts 0.00 PositieHefDaalLinks PositieHefDaalLinks 0.00 Kraan3HeffenRechts Kraan2HeffenRechts Kraan1HeffenRechts Kraan3DalenRechts Kraan2DalenRechts Kraan1DalenRechts Kraan3HeffenLinks Kraan2HeffenLinks Kraan1HeffenLinks PositieBeleg d X1 Kraan2Dalen X0 Kraan2Op Positie Y Kraan2Daalt BVU_01 38 X1 Kraan3Dalen X0 Kraan3Op Positie Y Kraan3Daalt ACO_01 75 X1 PositieProductSensorLaag X0 PositieHefDaalRechts > = < InPositieRechts X2 PositieBelegd Y InPositie BSR_01 35 R ResetPositie S SetPositie Q PositieBelegd BVO_01 35 X2 Kraan3Daalt X1 Kraan2Daalt X0 Kraan1Daalt Y KraanDalen BVU_01 40 X1 Kraan1Heffen X0 Kraan1Op Positie Y Kraan1Heft BVU_01 41 X1 Kraan2Heffen X0 Kraan2Op Positie Y Kraan2Heft BVU_01 42 X1 Kraan3Heffen X0 Kraan3Op Positie Y Kraan3Heft BVO_01 36 X2 Kraan3Heft X1 Kraan2Heft X0 Kraan1Heft Y KraanHeft BVU_01 43 X2 PositieBelegd X1 KraanHeft X0 BovenPositie Y DragerGaatWeg BVU_01 50 X1 3HeffenRechts X0 Kraan3HeffenLinks Y Kraan3Heffen BVO_01 38 X1 Reset X0 DragerGaatWeg Y ResetPositie BVO_01 40 X1 BijStartBelegd X0 InPositie Y SetPositie ACO_01 79 X1 PositieProductSensorHoog X0 PositieHefDaalLinks > BovenPositieLinks = < ACO_01 80 X1 PositieProductSensorHoog X0 PositieHefDaalRechts > BovenPositieRechts = < BVU_01 51 X1 2HeffenRechts X0 Kraan2HeffenLinks Y Kraan2Heffen BVU_01 52 X1 1HeffenRechts X0 Kraan1HeffenLinks Y Kraan1Heffen BVU_01 54 X1 2DalenRechts X0 Kraan2DalenLinks Y Kraan2Dalen BVU_01 55 X1 3DalenRechts X0 Kraan3DalenLinks Y Kraan3Dalen BVO_01 48 X1 BovenPositieRechts X0 BovenPositieLinks Y BovenPositie

(50)

Pagina 50 van 51

Bijlage 8 Het “Selectie verticaal” macro

(51)

K3_Rem2 K3_Rem1 K2_Rem2 K2_Rem1 K1_Rem2 K1_Rem1 K3_hef/daal_rechts K3_hef/daal_rechts 0.00 K3_hef/daal_links K3_hef/daal_links 0.00 K2_hef/daal_rechts K2_hef/daal_rechts 0.00 K2_hef/daal_links K2_hef/daal_links 0.00 K1_hef/daal_rechts K1_hef/daal_rechts 0.05 K1_hef/daal_links K1_hef/daal_links 3.68 Positie Kraan 3 Positie Kraan 3 0.00 Positie Kraan 2 Positie Kraan 2 0.00 Positie Kraan 1 Positie Kraan 1 960.00 Positie Voor Kraan3 Positie Voor Kraan3 0.00 Positie Voor Kraan2 Positie Voor Kraan2

Kraan3OpPositie Kraan2OpPositie Kraan1OpPositie Hef/Daal_Rechts_Positie Hef/Daal_Rechts_Positie 0.00 ACO_01 20 X1 PositieK1_Min X0 Positie Kraan 1 > K1_BovenMin = < AFA_01 9 X1 DodeBand X0 Positie Voor Kraan1

Y PositieK1_Min ACO_01 22 X1 PositieK2_Max X0 Positie Kraan 2 > = < K2_OnderMax ACO_01 23 X1 PositieK2_Min X0 Positie Kraan 2 > K2_BovenMin = < ACO_01 24 X1 PositieK3_Max X0 Positie Kraan 3 > = < K3_OnderMax ACO_01 25 X1 PositieK3_Min X0 Positie Kraan 3 > K3_BovenMin = < BVU_01 12 X5 K1_Rem2 X4 K1_Rem1 X3 Kraan3OpPositie X2 Kraan2OpPositie X1 K1_OnderMax X0 K1_BovenMin Y Kraan1OpPositie BVU_01 13 X5 K2_Rem2 X4 K2_Rem1 X3 Kraan3OpPositie X2 Kraan1OpPositie X1 K2_OnderMax X0 K2_BovenMin Y Kraan2OpPositie BVU_01 14 X5 K3_Rem2 X4 K3_Rem1 X3 Kraan2OpPositie X2 Kraan1OpPositie X1 K3_OnderMax X0 K3_BovenMin Y Kraan3OpPositie BVU_01 15 X2 Kraan3OpPositie X1 Kraan2OpPositie X0 Kraan1OpPositie Y GeenKraanOpPositie CAM_01 29 X1 K1_hef/daal_links X0 Const ant0 C Kraan1OpPositie Y Temp01 CAM_01 31 X1 K2_hef/daal_links X0 Temp01 C Kraan2OpPositie Y Temp02 CAM_01 32 X1 K3_hef/daal_links X0 Temp02 C Kraan3OpPositie Y Temp03 CAM_01 33 X1 Hef/Daal_Links_Positie X0 Temp03 C GeenKraanOpPositie Y Hef/Daal_Links_Positie CAM_01 34 X1 K1_hef/daal_rechts X0 Const ant0 C Kraan1OpPositie Y Temp04 CAM_01 35 X1 K2_hef/daal_rechts X0 Temp04 C Kraan2OpPositie Y Temp05 CAM_01 36 X1 K3_hef/daal_rechts X0 Temp05 C Kraan3OpPositie Y Temp06 CAM_01 37 X1 Hef/Daal_Rechts_Positie X0 Temp06 C GeenKraanOpPositie Y Hef/Daal_Rechts_Positie AFA_01 11 X1 DodeBand X0 Positie Voor Kraan2

Y PositieK2_Max AFA_01 12

X1 DodeBand

X0 Positie Voor Kraan2

Y PositieK2_Min AFA_01 13

X1 DodeBand

X0 Positie Voor Kraan3

Y PositieK3_Max AFA_01 14

X1 DodeBand

X0 Positie Voor Kraan3

Referenties

GERELATEERDE DOCUMENTEN

Ondanks deze tekortkomingen van de centrale plaatsentheorie ontwikkelt de ruimtelijke detailhandelsstructuur in Centraal Europa zich in de richting van een functionele hiërarchie,

De minister van Onderwijs, Cultuur en Wetenschap heeft de Inspectie van het Onderwijs (hierna: inspectie) gevraagd om samen met de Nederlands-Vlaamse Accreditatie Organisatie

bouwhoogte + indicatie aantal woningen per veld BebouwingsaccentC.

De jonge plant heeft voedingsstoffen uit de bodem, water en zon- licht nodig om te groeien.. In de aarde zwellen de zaden door

kind – lichaam – voltooid – krijgen de baard in de keel – tand – groeien – melkgebit – wisselen van het gebit - geboorte - maand - meisjes. Leg babyfoto‘s van jou in de

[r]

Aangenomen wordt dat het omliggende kleinschalige landschap geschikt leefgebied is voor kleine zoogdieren, waaronder enkele marterachtigen (wezel, hermelijn,bunzing). De

Aangenomen wordt dat het omliggende kleinschalige landschap geschikt leefgebied is voor kleine zoogdieren, waaronder enkele marterachtigen (wezel, hermelijn,bunzing). De