Voorblad
Programmatie van een automatische palletkraan
1
1 Voorwoord Vooraleer te beginnen aan de eigenlijke scriptie had ik graag mezelf even voorgesteld. Mijn naam is Thomas Ovaere en ik ben laatstejaarsstudent van HOWEST te Kortrijk. Vier jaar geleden heb ik ervoor gekozen om elektromechanica te gaan studeren aan de hogeschool nadat ik industriële wetenschappen had gevolgd in het middelbaar. Toen er een afstudeerrichting moest gekozen worden heb ik voor automatisering gekozen. Master in de industriële wetenschappen elektrotechniek afstudeerrichting automatisering is dan de naam van de opleiding voluit. Nu is het gebruikelijk dat de laatstejaarsstudenten hun kennis kunnen gebruiken en testen in een masterproef om de opleiding mee af te sluiten vooraleer ze hun diploma krijgen. Voor mij was dit dus ook het geval en mijn masterproef heb ik gemaakt bij het bedrijf Thermote & Vanhalst. Dit eindwerk heeft de titel “Programmatie van een automatische palletkraan” gekregen en handelt over de verdere renovatie van een automatische palletkraan waar Lode Coopman vorig jaar mee begonnen was. Ik wil hem dan ook bedanken voor de gedane werken die hij uitgevoerd en tot een goed einde gebracht heeft. Verder zijn er nog meer mensen die ik graag zou bedanken. Om te beginnen mijn interne promotor Henk Capoen en externe promotor Erik Deceuninck voor het aanbrengen en coördineren van het project. Daarnaast wil ik ook mijn begeleider Bart Reyntjens bedanken voor de grote en onmisbare hulp die nodig was voor het slagen van de opdracht. Tenslotte wil ik ook het volledige automatiseringsteam van Thermote & Vanhalst bedanken voor de steun en de leuke tijd die ik er doorgebracht heb.
Programmatie van een automatische palletkraan
2
2 Abstract In the Parts Division at Thermote & Vanhalst there are more than 450000 products in the warehouse. To provide these products as quick as possible to the costumers it is necessary to have a structured way of storaging. Each product has its own location in the warehouse kept by a warehouse management system (WMS). To store and retrieve pallets in the big racks, there are automatic cranes that get their orders by the WMS. These automatic cranes were bought 20 years ago and by the time they became obsolete so 2 years ago the people of Thermote & Vanhalst decided to renovate their cranes. Last year, Lode Coopman started the renovation of the first of four cranes. His aims were to renew the operating system and all the electric parts of the crane. From now on, the four cranes will be controlled by one central PLC that is connected optically with the cranes. This year, the project continues with programming the central PLC for automatic operation of the crane. The aim this year contains four parts: -‐ Programming the manual and automatic movements of the crane -‐ The integration of error detection -‐ Coupling the PLC with the WMS -‐ Creating a graphical visualization
Programmatie van een automatische palletkraan
3
3 Inhoudsopgave
1 VOORWOORD ............................................................................................................................. 2 2 ABSTRACT ................................................................................................................................... 3 3 INHOUDSOPGAVE ..................................................................................................................... 4 4 LIJST VAN TABELLEN, FIGUREN ........................................................................................... 6 5 INLEIDING ................................................................................................................................... 8 6 BEDRIJFSVOORSTELLING ...................................................................................................... 9 7 DOELSTELLINGEN ................................................................................................................. 10 8 SITUERING VAN HET PROJECT BINNEN TVH ................................................................ 11 8.1. Fysische situering .................................................................................................................................. 11 8.2. Situering binnen de workflow ................................................................................................................ 12
9 ANALYSE VAN DE OPSTELLING ......................................................................................... 13 9.1. Algemeen schema ................................................................................................................................. 13 9.2. Hardware van de kraan ......................................................................................................................... 14 9.3. Conveyors ............................................................................................................................................. 15 9.4. Verschillende werkingsmodi .................................................................................................................. 16 9.5. Besturingssysteem ................................................................................................................................. 17 9.6. Elektrische kasten .................................................................................................................................. 18 9.6.1. Drives ...................................................................................................................................................... 20 9.6.2. Veiligheidsrelais ...................................................................................................................................... 22 9.6.3. IO-‐eilanden ............................................................................................................................................. 23 9.6.4. Optische communicatie .......................................................................................................................... 25 9.6.5. Afstandsmeters ....................................................................................................................................... 26
10
WMS ........................................................................................................................................ 27
Programmatie van een automatische palletkraan
4
11
WINCC .................................................................................................................................... 27
12
BESTURINGSPROGRAMMA ............................................................................................. 28
12.1. Hardwareconfiguratie .......................................................................................................................... 28 12.2. Algemene opbouw programma ........................................................................................................... 30 12.3. Bewegingen van de kraan .................................................................................................................... 31 12.3.1. FB_Rijden, FB_Hijsen en FB_Vorken ..................................................................................................... 32 12.3.2. Ligger zoeken ........................................................................................................................................ 34 12.3.3. Hoogte meten ....................................................................................................................................... 34 12.3.4. Naar een locatie rijden en een pallet ophalen ...................................................................................... 35 12.3.5. Naar een locatie rijden en een pallet wegzetten .................................................................................. 37 12.3.6. Een pallet van de conveyor opnemen, meten en wegen ...................................................................... 38 12.4. Communicatie met het WMS ............................................................................................................... 39 12.5. Koppeling met de conveyors ................................................................................................................ 45 12.6. Integratie van foutmeldingen .............................................................................................................. 46 12.6.1. Foutendetectie ...................................................................................................................................... 46 12.6.2. Foutenafhandeling ................................................................................................................................ 48 12.6.3. Resetmogelijkheden ............................................................................................................................. 48 12.6.4. Overzicht van alle foutmeldingen met oorzaak en oplossing ............................................................... 49 12.7. Werking visualisering ........................................................................................................................... 57 12.8. Extra voorzieningen ............................................................................................................................. 59 12.8.1. Vorkenreferentie .................................................................................................................................. 59 12.8.2. Opdracht manueel afgewerkt na error ................................................................................................. 60 12.8.3. Opdracht schrappen ............................................................................................................................. 60 12.8.4. Bericht opnieuw versturen naar WMS .................................................................................................. 60 12.8.5. Dichtstbijzijnde locatie in het rek zoeken ............................................................................................. 61
13
BESLUIT ................................................................................................................................ 62
14
BIBLIOGRAFIE ..................................................................................................................... 62
15
BIJLAGEN .............................................................................................................................. 63
15.1. Lijst van alle instelbare settings ........................................................................................................... 63 15.2. Lijst van alle mogelijke berichten met WMS ......................................................................................... 65
Programmatie van een automatische palletkraan
5
4 Lijst van tabellen, figuren Figuur 1: Van order tot levering .............................................................................................................................. 8 Figuur 2: Logo TVH .................................................................................................................................................. 9 Figuur 3: Grondplan TVH ...................................................................................................................................... 11 Figuur 4: Foto Eerste kraan ................................................................................................................................... 11 Figuur 5: Miniloadkraan ....................................................................................................................................... 12 Figuur 6: Accalonkraan ......................................................................................................................................... 12 Figuur 7: Algemeen schema van de opstelling ...................................................................................................... 13 Figuur 8: Foto eerste Accalonkraan ...................................................................................................................... 14 Figuur 9: Mechanische onderdelen ....................................................................................................................... 15 Figuur 10: Conveyor met draagplaat .................................................................................................................... 15 Figuur 11: Conveyors gelijkvloers .......................................................................................................................... 16 Figuur 12: Bedieningspeer .................................................................................................................................... 16 Figuur 13: Manuele bediening op de vorken ......................................................................................................... 17 Figuur 14: Schema besturingssysteem .................................................................................................................. 18 Figuur 15: Foto elektrische kast ............................................................................................................................ 19 Figuur 16: Foto elektrische kast op vorken ........................................................................................................... 19 Figuur 17: Foto drives ........................................................................................................................................... 20 Figuur 18: Veiligheidsrelais Pilz PNOZ4 ................................................................................................................. 22 Figuur 19: Veiligheidsrelais Pilz PNOZ2 ................................................................................................................. 23 Figuur 20: IO-‐eiland in elektrische kast ................................................................................................................. 24 Figuur 21: IO-‐eiland in lifteenheid ......................................................................................................................... 24 Figuur 22: Foto IO-‐eiland op lifteenheid ............................................................................................................... 25 Figuur 23: Pepperl+Fuchs optische communicatie ................................................................................................ 25 Figuur 24: Pepperl+Fuchs VDM100 ....................................................................................................................... 26 Figuur 25: Uitlezen van de afstandsmeters ........................................................................................................... 26 Figuur 26: Logo Progress OpenEdge ..................................................................................................................... 27 Figuur 27: Dummy-‐WMS programma ................................................................................................................... 27 Figuur 28: Voorbeeld van een scherm in WinCC ................................................................................................... 28 Figuur 29: Siemens S7-‐400 PLC ............................................................................................................................. 29 Figuur 30: Verbinding van PLC en WMS via Ethernet ........................................................................................... 29 Figuur 31: Hardwareconfiguratie .......................................................................................................................... 29 Figuur 32: Algemeen schema met vier kranen ...................................................................................................... 30 Figuur 33: Dezelfde FB voor vier kranen ............................................................................................................... 31 Figuur 34: Flowchart FB_Rijden ............................................................................................................................ 33 Figuur 35: Ligger zoeken ....................................................................................................................................... 34 Figuur 36: Hoogte meten ...................................................................................................................................... 35 Figuur 37: Sensoren hoogte-‐ en breedtecontrole .................................................................................................. 35 Figuur 38: Flowchart "Naar een locatie rijden en een pallet ophalen" ................................................................. 36 Figuur 39: Flowchart "Naar een locatie rijden en een pallet wegzetten" ............................................................. 37 Figuur 40: Flowchart "Een pallet van de conveyor opnemen, meten en wegen" .................................................. 38 Figuur 41: Verbinding PLC en WMS via Ethernet .................................................................................................. 39 Figuur 42: Uitlezen van een bericht in de PLC ....................................................................................................... 41 Figuur 43: Flowchart van berichten bij opdrachttype 69 ...................................................................................... 42 Figuur 44: Flowchart van berichten bij opdrachttype 71 ...................................................................................... 43 Figuur 45: Flowchart van berichten bij opdrachttype 72 ...................................................................................... 44
Programmatie van een automatische palletkraan
6
Figuur 46: Flow Interface voor kraan en conveyors .............................................................................................. 45 Figuur 47: Flowchart Controle of wegzetten gelukt is .......................................................................................... 46 Figuur 48: Flowchart Gapcontrole ........................................................................................................................ 47 Figuur 49: Foutmeldingen in WinCC ...................................................................................................................... 48 Figuur 50: Grafische visualisering ......................................................................................................................... 57 Figuur 51: In-‐ en Uitgangen in SCADA ................................................................................................................... 58 Figuur 52: Vorkenreferentie .................................................................................................................................. 60 Figuur 53: Flowchart: Dichtste locatie in het rek zoeken ...................................................................................... 61 Tabel 1: Specificaties van drive om te rijden ......................................................................................................... 20 Tabel 2: Specificaties van drive om te hijsen ......................................................................................................... 21 Tabel 3: Specificaties van drive van de vorken ...................................................................................................... 22 Tabel 4: Specificaties Pepperl+Fuchs LS611-‐DA-‐P ................................................................................................. 25 Tabel 5: Eigenschappen van de Pepperl+Fuchs afstandsmeters ........................................................................... 26 Tabel 6: Protocol Ethernet TCP/IP ......................................................................................................................... 39 Tabel 7: Overzicht van alle mogelijke berichten ................................................................................................... 39 Tabel 8: Opbouw van berichttype 69 .................................................................................................................... 40
Programmatie van een automatische palletkraan
7
5 Inleiding Om op een snelle manier producten aan klanten te kunnen leveren moet Thermote & Vanhalst hun producten snel bij de hand hebben. De producten kunnen dan ingepakt en naar de klant verstuurd worden. Aangezien het hier over een enorm aanbod van verschillende producten gaat is dit niet zo evident. Hiervoor is dus een gestructureerd logistiek systeem nodig. Alle aangeboden onderdelen worden gestockeerd in plastieken bakken. Deze bakken zijn voorzien van een barcode zodat het computersysteem ze kan herkennen. Op hun beurt worden ze dan gestockeerd in een automatisch magazijn. Hiervoor zijn er twee mogelijkheden. Enerzijds kunnen de plastieken bakken elk apart in een groot rek geplaatst worden. Anderzijds kunnen ze eerst op een pallet gegroepeerd worden zodat deze pallet daarna in een rek geplaatst kan worden. Dit gebeurt met een automatische palletkraan en het is over dit type van stockering dat deze masterproef handelt. Vorig jaar werd beslist om deze automatische palletkranen (accalonkranen) te vernieuwen. Om hiervan zo weinig mogelijk hinder te ondervinden werd slechts één van de vier accalonkranen buiten werking genomen om deze onder handen te nemen. Op langere termijn is het dan de bedoeling om ook de drie andere kranen te vernieuwen. Er zijn tal van redenen om de vernieuwing door te voeren. Eerst en vooral is het Siemens-‐S5 besturingssysteem die de kranen bestuurt verouderd, waardoor reserveonderdelen voor de PLC niet meer te vinden zijn. Ook is het zo dat de besturingssoftware aangekocht werd en hierin moeilijk aanpassingen zijn aan te brengen. Bijgevolg is het met dit programma niet mogelijk om alle signalen van de kraan op een degelijke manier te visualiseren in de gebruikte SCADA-‐applicatie. Hierdoor is het voor de medewerkers niet gemakkelijk om eventuele fouten op te sporen en te verhelpen. Als laatste zijn ook veel van de elektrische onderdelen verouderd waardoor ook hiervoor moeilijk reserveonderdelen kunnen gevonden worden. Vorig jaar werd in de masterproef van Lode Coopman de hardware van de eerste kraan onder handen genomen. Er werd een volledig nieuwe elektrische kast samengesteld, een nieuwe S7 PLC van Siemens geïmplementeerd en ook een nieuw datacommunicatiesysteem voorzien. Voor een volledige omschrijving van deze proef wordt verwezen naar het verslag van Lode Coopman (Coopman 2010). Dit jaar is het de opdracht om de eerste accalonkraan volledig af te werken. Waar vorig jaar de nadruk vooral op de hardware lag, is dat dit jaar op de software. Er moet namelijk nieuwe besturingssoftware geprogrammeerd worden in STEP7. Omdat de huidige software verouderd is kan deze niet meer gebruikt worden in het nieuwe systeem en moet er vanaf nul begonnen worden. Er moet op een open manier geprogrammeerd worden zodat het programma later dan ook kan gebruikt worden voor de drie andere kranen. Ditmaal moet het wel perfect mogelijk zijn om de status van de kraan te volgen in de SCADA-‐applicatie.
Figuur 1: Van order tot levering
Programmatie van een automatische palletkraan
8
6 Bedrijfsvoorstelling
Figuur 2: Logo TVH
Dit eindwerk werd uitgevoerd binnen de firma Thermote & Vanhalst te Waregem. Met een personeelsbestand van meer dan 2200 werknemers en dochterondernemingen op alle continenten, is TVH de ambitieuze wereldwijde marktleider in onderdelen voor transportmaterieel en interne industriële voertuigen, nieuwe en tweedehandse heftrucks alsook nieuwe en tweedehandse hoogwerkers en intern transportmaterieel. TVH is onderverdeeld in 5 verschillende divisies, met elk hun eigen specialisaties (Thermote & Vanhalst sd): Forklift division: Nieuwe machines: TVH heeft ondermeer het dealership in België & Luxemburg voor de nieuwe Doosan heftrucks, Icem magazijntoestellen, Lafis warehousing, Dambach smallegangheftrucks, JLG hoogwerkers en schaarliften, Thervan laadrampen en Dino Lift getrokken hoogwerkers. Tweedehands toestellen: TVH kan u 1600 tweedehandse heftrucks en 300 hoogtewerkers aanbieden. Parts division: Met 450 000 onderdelen in stock en een bestand van meer dan 14 miljoen referenties heeft TVH permanent de grootste voorraad heftruckonderdelen, hoogtewerkers en industriële in-‐ plant voertuigen in Europa. Het computergestuurd stockbeheer, de professioneel opgeleide vakmensen en een doorgedreven on-‐line aanbod, zorgen voor een snelle en resultaatgerichte oplossing. Daarbij wordt het order wereldwijd geleverd binnen de 24/48 uur. Het is binnen deze divisie dat deze masterproef handelt. Handling equipment division: TVH biedt eveneens een compleet gamma interne transportmiddelen aan. Dit zijn ondermeer handpallettrucks, stapelaars, heftafels, hydraulische kriks, hefkranen, steekwagens, platformwagens en nog veel meer. TVH geeft ook vrijblijvend advies rekening houdend met de ideale ergonomie. Rental equipment division: Bij TVH is het ook mogelijk om alle soorten toestellen te huren. Dit gaande van 1 dag tot 5 jaar. De toestellen worden geleverd en terug opgehaald bij de klant. Service & repair division: Binnen de 12 uren staat er binnen geheel België één van de 65 mobiele technici ter plaatse klaar voor het herstellen van uw toestel. In de volledig uitgeruste werkplaats en met 60 interne technici wordt voor u naar een efficiënte oplossing gezocht.
Programmatie van een automatische palletkraan
9
7 Doelstellingen Het algemene doel van deze masterproef is het besturingsprogramma van de automatische palletkraan voorzien met bijhorende foutenafhandeling. Het gaat om een Siemens S7 416 PLC die dient geprogrammeerd te worden in de STEP7 software. De opdracht bestaat uit vier grote delen: 1: Manuele en automatische werking Bij het manueel ingeven van een commando moet de palletkraan automatisch een pallet in het rek wegzetten of terug uit het rek ophalen. Dit gebeurt met de laptop aan de kraan. Hiervoor is het dus noodzakelijk dat de kraan automatisch naar een locatie kan rijden en een pallet kan opnemen of afzetten. Alle posities van de locaties in het rek dienen in de PLC opgeslagen te worden. 2: Koppeling met WMS In de tweede stap gebeurt de koppeling tussen het PLC programma en het WMS (Warehouse Management System). Het WMS zal nu de commando’s naar de kraan sturen. Daarnaast houdt het WMS bij welke palletten zich waar bevinden en wat hun inhoud is. Het moet ook mogelijk zijn om met de PLC boodschappen terug te sturen naar het WMS. 3: Integreren van foutmeldingen In de derde stap worden foutmeldingen naar buiten gebracht zodat bij een eventuele fout gemakkelijk kan gezien worden wat er fout loopt en hoe het kan opgelost worden. Een voorbeeld van zo’n fout is dat de kraan na een bepaalde tijd nog niet toegekomen is op zijn bestemming. De foutmeldingen moeten zichtbaar zijn in WinCC. 4: Grafische visualisatie In de laatste stap wordt een grafische applicatie gemaakt voor de visualisering van de kraan. Hierop is te zien waar de kraan zich bevindt en met welke opdracht deze bezig is. Met kleuren worden de toestanden van bepaalde sensoren aangegeven. Eventueel kunnen bepaalde delen gereset worden van op afstand. Ook dit gebeurt in WinCC.
Programmatie van een automatische palletkraan
10
8 Situering van het project binnen TVH 8.1. F ysische situering De accalonkranen bevinden zich in het M-‐gebouw van Thermote & Vanhalst te Waregem. Deze zijn ongeveer 60 meter lang en in de hoogte nemen de kranen de volledige hoogte van het gebouw in beslag (3 verdiepingen).
Figuur 3: Grondplan TVH
Figuur 4 toont de eerste Accalonkraan die momenteel stilstaat en dus geen palletten bevat.
Figuur 4: Foto Eerste kraan
Programmatie van een automatische palletkraan
11
8.2. S ituering binnen de workflow Deze masterproef maakt deel uit van de Parts Division van Thermote & Vanhalst. Voor een snelle levering van onderdelen die kunnen besteld worden is er een goede logistieke organisatie binnen het bedrijf nodig. Hiervoor wordt beroep gedaan op verschillende soorten automatische kranen die de opslag van de beschikbare onderdelen op zich nemen. Bij het binnenkomen van een order moeten de gevraagde onderdelen automatisch uit het rek gehaald worden en vooraan afgezet worden. Om dit uit te voeren zijn er enerzijds miniloadkranen en anderzijds ook accalonkranen. In de miniloadkranen zitten kleine plastieken bakken met losse onderdelen in. Op commando brengt de kraan de juiste bakken naar voren zodat de picker (persoon die de orders verzamelt) het correcte aantal onderdelen eruit kan halen en de bak terug het magazijn in kan sturen. Alle onderdelen voor een bepaalde klant kunnen daarna samen verpakt worden en in een vrachtwagen geladen worden. Daarnaast zijn er ook nog Accalonkranen. Deze kranen stockeren palletten in plaats van kleine plastieken bakken. Omdat palletten groter zijn kunnen er nu ook grotere en zwaardere onderdelen gestockeerd worden. Ook worden de rekken van de Accalonkranen gebruikt als overstockmagazijn van de miniloadkranen. Als laatste worden er ook onderdelen in geplaatst die zelden verkocht worden en waarvan het dus de moeite niet is om deze in de miniloadkranen te voorzien. Het spreekt voor zich dat dit type kraan trager is dan de miniload maar desondanks toch onmisbaar is. Voor het logistieke beheer van alle bewegingen binnen de kranen is er een bovenliggend systeem nodig. Het is het Warehouse Management System (WMS) die de correcte commando’s naar de juiste kranen stuurt en dit op het
Figuur 5: Miniloadkraan
juiste moment. Het WMS coördineert zowel de miniload-‐ als de Accalonkranen.
Figuur 6: Accalonkraan
Programmatie van een automatische palletkraan
12
9 Analyse van de opstelling 9.1. A lgemeen schema Op Figuur 7 is een overzicht te zien van de opstelling.
Figuur 7: Algemeen schema van de opstelling
Alles begint bij het plaatsen van een order. Dit kan zowel telefonisch als via het internet. Eenmaal dit gebeurd is zorgt het ERP-‐systeem (Enterprise Resource Planning) voor de rest. Een ERP-‐systeem is een uitgebreid computerprogramma dat zeer uiteenlopende taken uitvoert, gaande van inkoopplanning tot facturen opmaken. Een onderdeel van het ERP-‐systeem is het WMS. Dit systeem zorgt voor de coördinatie van de verschillende beschikbare kranen. Via Ethernet TCP/IP stuurt het WMS nu boodschappen naar het besturingssysteem van de kranen. In het geval van de accalonkranen is dit een S7-‐400 PLC van Siemens. Het is ook mogelijk dat de PLC een boodschap terug stuurt naar het WMS, bijvoorbeeld wanneer de kraan klaar is met zijn opdracht uit te voeren. Aan de hand van instelbare parameters stuurt de PLC nu de accalonkraan aan. De communicatie hiertussen gebeurt via Profibus. Om alles goed te kunnen controleren is er een visualisering nodig. Via een SCADA-‐applicatie (Supervisory Control And Data Acquisition) moet het mogelijk zijn om steeds de toestand van de kraan visueel te volgen. Eventuele foutmeldingen worden weergegeven en kunnen ook gereset worden. Praktisch wordt dit gerealiseerd met de WinCC-‐software van Siemens. Met deze software kunnen schermen aangemaakt worden die dan door WinCC-‐clients kunnen gebruikt worden. Deze clients zijn in werkelijkheid laptops die draadloos
Programmatie van een automatische palletkraan
13
verbinding maken met de WinCC-‐server. Zo kan de verantwoordelijke technieker overal in het bedrijf de SCADA-‐schermen raadplegen. De stippellijn in figuur 7 duidt een denkbeeldige scheiding aan tussen de IT-‐ en de Automatiseringswereld.
9.2. H ardware van de kraan De kraan van het merk Vectura is gebouwd voor het transporteren van palletten in een hoogbouw magazijn. Er zijn drie grote onderdelen te onderscheiden, namelijk de rijeenheid, de lifteenheid en de vorkeneenheid. Alle bewegingen worden gestuurd via een Siemens PLC.
Figuur 8: Foto eerste Accalonkraan
Programmatie van een automatische palletkraan
14
Op Figuur 9 zijn de belangrijkste onderdelen van de kraan te zien.
Figuur 9: Mechanische onderdelen
Voor meer informatie over de mechanische hardware van de kraan wordt verwezen naar het verslag van Lode Coopman (Coopman 2010).
9.3. C onveyors Verschillende conveyors zorgen voor de veilige verbinding tussen de pickingzone enerzijds en het afgesloten magazijn anderzijds. Een draagplaat transporteert de pallet door een poort die slechts open gaat indien een pallet van of naar het magazijn vertrekt.
Figuur 10: Conveyor met draagplaat
Programmatie van een automatische palletkraan
15
Per kraan zijn er twee conveyors per verdiep. Voor vier kranen over drie verdiepingen maakt dat samen 24 conveyors.
Figuur 11: Conveyors gelijkvloers
9.4. Verschillende werkingsmodi De werking van de kraan bestaat uit drie verschillende modi, namelijk manuele modus, semi-‐automatisch modus en automatische modus. Manuele modus maakt het mogelijk om door middel van drukknoppen op een bedieningspeer de kraan manueel te bewegen. Hierbij is het niet mogelijk om gebruik te maken van de derde snelheid uit veiligheidsmaatregelen.
Figuur 12: Bedieningspeer
Programmatie van een automatische palletkraan
16
Naast de bedieningspeer is er ook nog de mogelijkheid om de kraan manueel te bewegen van op de vorken. Het hiervoor nodige bedieningspaneel is te zien op Figuur 13. Aangezien de persoon hierbij op de vorken staat en mee op en neer beweegt is het nu niet meer mogelijk om te bewegen met de peer. Dit om te voorkomen dat iemand de vorken zou bewegen terwijl iemand erop staat.
Figuur 13: Manuele bediening op de vorken
In automatische mode is het niet meer mogelijk om de kraan te betreden uit veiligheidsredenen. De kraan beweegt nu zonder dodemansknop wat gevaarlijke situaties zou kunnen teweeg brengen. De opdrachten worden gegeven door het WMS zonder dat hierbij menselijke tussenkomst nodig is. Wanneer een error optreedt is er natuurlijk wel nog menselijke tussenkomst noodzakelijk. In de semi-‐automatische mode is het mogelijk om de kraan opdrachten te geven vanuit een laptop. De uitgevoerde opdrachten hebben nu geen invloed op het WMS maar deze manier van werken is meer een hulp om gemakkelijker manueel te kunnen bewegen.
9.5.
Besturingssysteem
Uiteraard is het de bedoeling dat de kranen automatisch bestuurd worden. Hiervoor is er dus een besturingssysteem nodig. Er is gekozen om te werken met een centrale PLC die de vier kranen voor zijn rekening neemt. Alle sensoren en actoren die nodig zijn om een kraan te besturen worden aangesloten op Profibus DP IO-‐eilanden. Tussen deze eilanden en de PLC dient nu enkel nog een verbinding gemaakt te worden met een Profibus kabel. Het is vanzelfsprekend dat dit beter is dan zonder veldbus te werken en alle kabels tot aan de PLC te trekken. Maar zelfs het leggen van die ene Profibus kabel is een probleem omdat de eilanden op de kraan gemonteerd zitten en dus meebewegen met de bewegingen van de kraan. Er werd gekozen om gebruik te maken van infrarode datacommunicatie. Met één oog op de kraan en één oog stilstaand buiten de kraan kan er nu optisch gecommuniceerd worden in plaats van met een kabel.
Programmatie van een automatische palletkraan
17
Figuur 14: Schema besturingssysteem
Het kiezen van een centrale PLC voor de vier kranen heeft verschillende voor-‐ en nadelen waarvan de belangrijkste hieronder opgesomd worden. Voordelen: - er is slechts één PLC nodig voor vier kranen; - goedkoper; - geen slijtage aan PLC door schokken omdat deze buiten de kraan staat; - plaatsbesparing; - de conveyors kunnen ook door deze PLC worden gestuurd. Nadelen: - de snelheid van aansturen dient voldoende hoog te zijn; -
bij het wegvallen van de optische communicatie valt de kraan stil; als de centrale PLC uitvalt vallen alle vier de kranen stil.
9.6. E lektrische kasten Op de kraan zitten twee elektrische schakelkasten bevestigd, namelijk een grote vooraan die beschikt over de belangrijkste elektrische voorzieningen en een kleinere schakelkast die vooraan op de vorken zit en mee omhoog en omlaag beweegt. Het belangrijkste onderdeel in de schakelkast op de lifteenheid is een IO-‐eiland met Profibus-‐interface. Het doel hiervan is ervoor te zorgen dat er slechts één kabel (namelijk de Profibuskabel) in de meelopende rups moet in plaats van alle aparte kabels van de sensoren op de vorken. In de grote schakelkast zit ook een IO-‐eiland met daarnaast ook drives, automaten, schakelaars, veiligheidsrelais, …
Programmatie van een automatische palletkraan
18
Figuur 15: Foto elektrische kast
Figuur 16: Foto elektrische kast op vorken
Programmatie van een automatische palletkraan
19
9.6.1.
Drives
Zoals allicht duidelijk is, moet de kraan dus drie bewegingen kunnen maken en hiervoor is telkens een aparte motor nodig. De kraan moet kunnen rijden, heffen en de vorken moeten in en uit kunnen bewegen. Hiervoor zijn drie driefasige asynchrone motoren elk met hun eigen drive voorzien. De drives zijn nodig omdat de motoren moeten kunnen bewegen in beide richtingen met meerdere snelheden en met een zekere acceleratie en deceleratie. De drives zijn van het merk SEW Eurodrive en worden gebruikt op drie verschillende snelheden. Hiervoor zijn twee digitale ingangen voorzien waar dus vier combinaties kunnen mee gemaakt worden. 00, 01, 10 en 11 respectievelijk stilstand, eerste, tweede en derde snelheid. Remweerstanden moeten tijdens het remmen de overtollige elektrische energie naar warmte omzetten.
Figuur 17: Foto drives
9.6.1.1. Rijden Het rijden gebeurt met een 5,5kW motor. De aansturing ervan gebeurt met een drive van het type Movitrac B MC07B0075 5A3 400. Tabel 1: Specificaties van drive om te rijden
MOVITRAC MC07B (3-‐fasige netaansluiting) Artikelnummer INGANG Nominale netspanning Nominale netfrequentie Nominale netstroom 100% bedrijf Nominale netstroom 125% bedrijf UITGANG Uitgangsspanning
0075-‐5A3-‐4-‐00 828 526 8
Unet fnet Inet Inet UA
3 x AC 380…500 V 50/60 Hz +/-‐ 5% AC 14,4 A AC 18,0 A 3 x 0 … Unet
Programmatie van een automatische palletkraan
20
Aanbevolen motorvermogen 100% bedrijf Aanbevolen motorvermogen 125% bedrijf Nominale uitgangsstroom 100% bedrijf Nominale uitgangsstroom 125% bedrijf Schijnbaar vermogen 100% bedrijf Schijnbaar vermogen 125% bedrijf Minimaal toegestane remweerstand ALGEMEEN Vermogensverlies 100% bedrijf Vermogensverlies 125% bedrijf Stroombegrenzing
Pmot Pmot 125 Inom Inom 125 Ps Ps 125 RBW_min PV PV 125
Aansluitingen/aanhaalmoment Afmetingen
Klemmen B x H x D
Massa
m
7,5 kW / 10 HP 11 kW / 15 HP AC 16 A AC 20 A 11,1kVA 13,9 kVA 47 Ω 290 W 370 W 150% Inom gedurende minimaal 60 seconden 4 mm² / AWG12 / 1,5 Nm / 13 ib in 105 x 335 x 238 mm / 13,2 x 4,13 x 9,37 in 5,0 kg / 11 ib
9.6.1.2. Heffen Voor de bewegingen omhoog en omlaag is een 9,2 kW motor voorzien. De aansturing ervan gebeurt met een drive van het type Movitrac MC07B0110 5A3 400.
Tabel 2: Specificaties van drive om te hijsen
MOVITRAC MC07B (3-‐fasige netaansluiting) Artikelnummer INGANG Nominale netspanning Nominale netfrequentie Nominale netstroom 100% bedrijf Nominale netstroom 125% bedrijf UITGANG Uitgangsspanning Aanbevolen motorvermogen 100% bedrijf Aanbevolen motorvermogen 125% bedrijf Nominale uitgangsstroom 100% bedrijf Nominale uitgangsstroom 125% bedrijf Schijnbaar vermogen 100% bedrijf Schijnbaar vermogen 125% bedrijf Minimaal toegestane remweerstand ALGEMEEN Vermogensverlies 100% bedrijf Vermogensverlies 125% bedrijf Stroombegrenzing
0110-‐5A3-‐4-‐00 828 527 6
Unet fnet Inet Inet UA Pmot Pmot 125 Inom Inom 125 Ps Ps 125 RBW_min PV PV 125
Aansluitingen/aanhaalmoment Afmetingen
Klemmen B x H x D
Massa
m
3 x AC 380…500 V 50/60 Hz +/-‐ 5% AC 21,6 A AC 27,0 A 3 x 0 … Unet 11 kW / 10 HP 15 kW / 15 HP AC 24 A AC 30 A 16,6 kVA 20,8 kVA 22 Ω 400 W 500 W 150% Inom gedurende minimaal 60 seconden 4 mm² / AWG12 / 1,5 Nm / 13 ib in 130 x 335 x 229 mm / 5,12 x 13,2 x 9,02 in 6,6 kg / 15 ib
Programmatie van een automatische palletkraan
21
9.6.1.3. Vorken Voor de bewegingen van de vorken is een kleinere motor voorzien. De aansturing ervan gebeurt met een drive van het type Movitrac MC07B0005-‐5A3-‐400 die motoren aankan tot het nominale vermogen van 0,55 kW. Tabel 3: Specificaties van drive van de vorken
MOVITRAC MC07B (3-‐fasige netaansluiting) Artikelnummer INGANG Nominale netspanning Nominale netfrequentie Nominale netstroom 100% bedrijf Nominale netstroom 125% bedrijf UITGANG Uitgangsspanning Aanbevolen motorvermogen 100% bedrijf Aanbevolen motorvermogen 125% bedrijf Nominale uitgangsstroom 100% bedrijf Nominale uitgangsstroom 125% bedrijf Schijnbaar vermogen 100% bedrijf Schijnbaar vermogen 125% bedrijf Minimaal toegestane remweerstand ALGEMEEN Vermogensverlies 100% bedrijf Vermogensverlies 125% bedrijf Stroombegrenzing
Unet fnet Inet Inet UA Pmot Pmot 125 Inom Inom 125 Ps Ps 125 RBW_min PV PV 125
Aansluitingen/aanhaalmoment Afmetingen
Klemmen B x H x D
Massa
m
9.6.2.
0005-‐5A3-‐4-‐00 828 517 6
3 x AC 380…500 V 50/60 Hz +/-‐ 5% AC 1,8 A AC 2,3 A 3 x 0 … Unet 0,55 kW / 0,74 HP 0,75 kW / 1 HP AC 2 A AC 2,5 A 1,4 kVA 1,7 kVA 68 Ω 40 W 45 W 150% Inom gedurende minimaal 60 seconden 4 mm² / AWG12 / 0,5 Nm / 4 ib in 80 x 185 x 163,5 mm / 3,1 x 7,28 x 6,437 in 1,5 kg / 3,3 ib
Veiligheidsrelais
Om de veiligheid van zowel de kraan als de personen te garanderen zijn er twee veiligheidsrelais die de veiligheid controleren. Bij het uitvallen van de eerste veiligheidsrelais van het type PNOZ4 worden alle bewegingen gestopt.
Figuur 18: Veiligheidsrelais Pilz PNOZ4
Programmatie van een automatische palletkraan
22
Deze veiligheidsrelais heeft volgende ingangen: -‐ De noodstop van het bedieningspaneel op de lifteenheid; -‐ De noodstop op de elektrische kast; -‐ De noodstop op de peer als deze aangesloten is; -‐ Tellermodule op controle van de maximum snelheid voor het rijden; -‐ Tellermodule op controle van de snelheid bij de vertraging; -‐ De eindeloop van de lifteenheid; -‐ De eindeloop van de rijeenheid; -‐ De tweede veiligheidsrelais PNOZ2. De twee eindeloopschakelaars kunnen echter wel overbrugd worden met de bypass-‐sleutel. Anders zou het niet meer mogelijk zijn om de kraan te bewegen na het overschrijden van de eindelopen. De tweede veiligheidsrelais is van het type PNOZ2. Omdat de tweede veiligheidsrelais ook als ingang gebruikt wordt van de PNOZ4 veiligheidsrelais zal hij het uitvallen ervan deze laatste ook uitvallen.
Figuur 19: Veiligheidsrelais Pilz PNOZ2
Deze veiligheidsrelais heeft volgende ingangen: -‐ Valcontrole van de tellermodule; -‐ De sensor die controleert of de staalkabel niet slap hangt. Bij het uitvallen van de PNOZ2 zullen de hydraulische remmen in werking treden om zo de lifteenheid te blokkeren. De functie hiervan is voorkomen dat de lifteenheid zou vallen indien de kabel of katrol kapot is.
9.6.3.
IO-‐eilanden
Kort gezegd is het de taak van de Profibus DP eilanden om alle signalen van de sensoren en actoren te groeperen zodat deze vervolgens via één kabel kunnen verzonden worden. Per kraan zijn er nu twee eilanden voorzien. In de elektrische kast aan de kraan zit één eiland en het andere eiland is bevestigd aan de lifteenheid. Op deze manier is er ook slechts één kabel nodig in de meelopende rups van de lifteenheid.
9.6.3.1. Eiland in kraan Het eiland in de elektrische kast van de kraan bestaat uit een interfacemodule, voedingsmodule, 17 ingangskaarten en 9 uitgangskaarten. In totaal zijn dit 68 digitale ingangen en 36 digitale uitgangen die kunnen gelezen/aangestuurd worden.
Programmatie van een automatische palletkraan
23
Figuur 20: IO-‐eiland in elektrische kast
Aan de linkerkant is de interfacemodule te zien. Zo kan het eiland aangesloten worden via Profibus. Daarnaast zit een voeding en de digitale ingangskaarten. De uitgangen hebben een aparte voeding.
9.6.3.2. Eiland in lifteenheid Het eiland in de lifteenheid bestaat uit een interfacemodule, voedingsmodule, 10 digitale ingangskaarten en 2 digitale uitgangskaarten. Dit zijn 40 ingangen en 8 uitgangen. Daarnaast is er ook nog een weegmodule en een tellerkaart. De weegmodule wordt gebruikt om het gewicht van een opgenomen pallet te bepalen. De tellerkaart wordt gebruikt om de encoder die op de vorken bevestigd is uit te lezen.
Figuur 21: IO-‐eiland in lifteenheid
Dit eiland is gemonteerd op de lifteenheid en gaat dus mee omhoog en omlaag. Ter bescherming van de kabels en aansluitingen wordt vooraan een metalen plaat bevestigd.
Programmatie van een automatische palletkraan
24
Figuur 22: Foto IO-‐eiland op lifteenheid
9.6.4.
Optische communicatie
Om de centrale PLC te laten communiceren met de IO-‐eilanden op de kraan wordt gebruik gemaakt van optische communicatie. Deze manier van werken biedt grote voordelen ten opzichte van een meelopende rups (slijtage) en communicatie via de stroomrail (storingen). Er is gekozen voor de LS611-‐DA-‐P van Pepperl+Fuchs (Pepperl+Fuchs, Manual LS611-‐DA 2008).
Figuur 23: Pepperl+Fuchs optische communicatie
De belangrijkste eigenschappen staan in Tabel 4 opgesomd. Tabel 4: Specificaties Pepperl+Fuchs LS611-‐DA-‐P
LS611-‐DA-‐P Bereik 0…150 meter Lichttype Infrarood, wissellicht Interfacetype PROFIBUS DP,FMS,MPI Datasnelheid Instelbaar tot 1500kBit/s Voedingsspanning 18…30VDC Op de foto zijn twee ogen te zien, namelijk één voor het ontvangen van data en één voor het zenden van data. Zenden en ontvangen kan dus tegelijk. Dit wordt een full duplex systeem genoemd.
Programmatie van een automatische palletkraan
25
9.6.5.
Afstandsmeters
Om de huidige positie van de kraan te kunnen bepalen is het noodzakelijk om de afstand te meten tot een gekende referentie. In dit project werd beslist om gebruik te maken van een lasersysteem. Bij Pepperl+Fuchs werden de wensen vervuld met de VDM100-‐50-‐P en de VDM100-‐150-‐P (Pepperl+Fuchs, Manual VDM100 2009). Deze kunnen een maximale afstand meten van respectievelijk 50 meter en 150 meter. Dit is voldoende omdat de hoogte van de kraan maximaal 16 meter is en de lengte 60 meter.
Figuur 24: Pepperl+Fuchs VDM100
De belangrijkste eigenschappen van beide toestellen worden in Tabel 5 samengevat. Tabel 5: Eigenschappen van de Pepperl+Fuchs afstandsmeters
Bereik Lichttype Metingmethode Voedingsspanning Reflector Levensduur Interface Maximale snelheid Transmissiesnelheid Meetnauwkeurigheid Meetsnelheid Standaard
VDM100-‐50-‐P 0,3 …50 meter
VDM100-‐150-‐P 0,3…150 meter Infrarood licht 905nm Pulse Range Technologie 18…30VDC Aangeraden Noodzakelijk >100000uren PROFIBUS DP 15m/s 9,6 kbit/s….12Mbit/s 2,5mm(>3m) en 3,5mm (0,3 tot 3m) 1ms EN 61326-‐1
Op Figuur 25 wordt duidelijk hoe de meettoestellen uitgelezen kunnen worden.
Figuur 25: Uitlezen van de afstandsmeters
De waarde van de gemeten afstand wordt in drie bytes gesplitst om zo verstuurd te worden. Daarnaast is er ook nog een error byte en een input byte. Mogelijke errors treden bijvoorbeeld op wanneer de afstand niet gemeten kan worden of als het toestel dient gekalibreerd te worden. Als input kunnen bijvoorbeeld een offset of resolutie meegegeven worden. De gemeten afstand dient nu in de PLC terug samengesteld te worden uit de drie bytes tot een woord die de afstand in millimeter uitdrukt.
Programmatie van een automatische palletkraan
26
10 WMS Een warehouse management system (WMS) is een computersysteem dat de logistiek binnen een bedrijf coördineert. Specifiek binnen deze masterproef gaat dit over het beheren van het rek waar alle palletten in komen. Het is het WMS dat kiest waar welke palletten terecht moeten komen en welke palletten wanneer terug op de conveyor moeten gebracht worden. De beslissingen van het WMS gebeuren op basis van binnengekregen orders op een bovenliggend niveau. Bij het wegzetten van een pallet wordt gezocht naar de dichtstbijzijnde locatie waarbij een gelijkmatige belasting van het rek nagestreefd wordt. Binnen TVH wordt gebruik gemaakt van de software Progress OpenEdge voor het ontwikkelen van het WMS.
Figuur 26: Logo Progress OpenEdge
Tijdens het programmeren van de Accalonkraan is het niet de bedoeling om meteen met dit WMS te werken. Om gemakkelijk te kunnen experimenteren met het versturen en ontvangen van berichten werd een dummy-‐ WMS ontwikkeld. Hiermee kunnen berichten verstuurd en ontvangen worden via TCP/IP. Eénmaal klaar met programmeren van de kraan kan gewerkt worden met het echte WMS.
Figuur 27: Dummy-‐WMS programma
11 WinCC WinCC is een softwarepakket van Siemens waarmee het mogelijk is om SCADA-‐schermen aan te maken. Het is mogelijk om een grafische visualisering aan te maken om een machine of proces visueel op te volgen. Daarnaast is het mogelijk om foutmeldingen weer te geven zodat gewaarschuwd wordt bij fouten. Ook kunnen drukknoppen voorzien worden waarmee een variabelen in een PLC gemanipuleerd kunnen worden.
Programmatie van een automatische palletkraan
27
Figuur 28: Voorbeeld van een scherm in WinCC
Bij het opmaken van een SCADA-‐scherm wordt begonnen met tags te definiëren. Deze tags stellen variabelen voor die de koppeling maken tussen WinCC en een PLC. De toestand of waarde van zo’n tag kan nu gekoppeld worden aan objecten op het scherm zoals de achtergrondkleur van een rechthoek. Omgekeerd is het mogelijk om bij het indrukken van een drukknop een variabele in de PLC aan te passen. Nu is het zo dat bij TVH reeds een uitgebreide visualisering gemaakt is. Voor de Accalonkraan moest dus enkel een apart scherm aangemaakt worden dat past in de layout van het grote programma. Daarnaast moesten ook alle foutmeldingen ingevoegd worden.
12 Besturingsprogramma 12.1. Hardwareconfiguratie Als centrale PLC werd er gekozen voor een S7 400 van Siemens. De keuze voor Siemens is gemakkelijk gemaakt aangezien er binnen TVH reeds veel met Siemens gewerkt wordt en de technici hier dan ook het meest mee vertrouwd zijn. Specifiek is het een S7 416 geworden omdat deze reeds op stock lag en voor dit project zeer goed geschikt is. Voor het programmeren wordt bij Siemens gebruik gemaakt van het programma STEP7. Als programmeertaal valt de keuze op STL omdat dit door iedereen het best gekend is.
Programmatie van een automatische palletkraan
28
Figuur 29: Siemens S7-‐400 PLC
Omdat de PLC moet communiceren met het WMS via Ethernet TCP/IP is er een CP 443-‐1 (communication processor) voorzien. Via deze kaart kan verbinding gemaakt worden met het WMS.
Figuur 30: Verbinding van PLC en WMS via Ethernet
In werkelijkheid gebeurt deze verbinding via een switch. Dit heeft als voordeel dat er via de CP-‐kaart verbinding kan gemaakt worden met het netwerk. Vervolgens is het nu ook mogelijk om programma’s in de PLC te downloaden via ethernet en om verbinding te maken met de WinCC-‐server. Omdat de instellingen van de CP-‐kaart opgeslagen zitten in het programma zelf is dit dus bij ingebruikname van de PLC oorspronkelijk nog niet mogelijk. Dit wordt opgelost door de eerste keer de hardwareconfiguratie te downloaden via een MPI-‐kabel bij de PLC zelf.
Figuur 31: Hardwareconfiguratie
Programmatie van een automatische palletkraan
29
Op de hardwareconfiguratie is aan de linkerkant de centrale PLC te zien. Deze PLC is uitgerust met een Power Supply, een CPU 416, een Profibus aansluiting, een CP 443 communicatiekaart, en enkele digitale in-‐ en uitgangskaarten. Op het Profibus-‐netwerk zitten twee IO-‐eilanden en twee afstandsmeters. De drives zitten niet aangesloten op het Profibus-‐netwerk maar worden via logische variabelen aangestuurd.
12.2.
Algemene opbouw programma
Het besturingsprogramma van de kraan is gemaakt met behulp van de STEP7-‐software. De gebruikte codeertaal hierbij is STL (Statement List). Omdat het de bedoeling is dat het programma van kraan 1 ook gemakkelijk bruikbaar moet zijn voor de drie andere Accalonkranen zijn er enkele spelregels. Er moet één overkoepelende functieblok zijn met een bijhorende Instance Datablock. Verder in het programma mag er nergens nog gebruik gemaakt worden van een Instance Datablock omdat dit zou moeten aangepast worden bij het kopiëren van het programma voor de drie andere kranen. Voor dezelfde reden wordt geen gebruik gemaakt van verschillende merkers of timers. Wel zijn er speciale functies voorzien die als timers dienen. Deze functies maken gebruik van ingebouwde merkers die hoog worden elke dag, seconde, 100ms of 10 ms. Deze merkers mogen dan wel weer gebruikt worden omdat ze voor alle kranen hetzelfde zijn. Op Figuur 32 is dan de opstelling te zien zoals ze er in de toekomst zal uitzien nadat ook de drie andere kranen gerenoveerd zijn.
Figuur 32: Algemeen schema met vier kranen
Op Figuur 33 is een voorstelling te zien waarbij telkens dezelfde functieblok gebruikt wordt met per kraan telkens een andere instance datablock. Bij het oproepen van deze functieblok wordt ook de koppeling gemaakt met de hardware. Enkel op deze plaats in het programma worden de hardware-‐adressen gebruikt waardoor het eenvoudig is om bijvoorbeeld een sensor op een andere plaats in een digitale ingangskaart te steken voor welke reden dan ook.
Programmatie van een automatische palletkraan
30
Figuur 33: Dezelfde FB voor vier kranen
Verder worden ook alle parameters van de kraan naar buiten gebracht die dan per kraan instelbaar zijn in een datablock (DB). Hiervoor wordt verwezen naar de bijlage instelbare parameters (Bijlage 15.1. ) . Een voorbeeld van een parameter die verschillend zal zijn voor elke kraan is Rijden_Offset. Deze offset waarde wordt bijgeteld bij de uitgelezen waarde van de afstandsmeter. Omdat niet voor alle kranen deze afstandsmeter op precies dezelfde plaats gemonteerd is zal dit verschillend zijn per kraan. Een ander voorbeeld van een parameter die moet ingesteld worden is DB_Nr_Rek. Dit is het nummer van de datablock waar alle palletlocaties van het rek van de bijhorende kraan bijgehouden worden. Ook heeft elke kraan zijn eigen status, waarmee de errors bedoeld worden. Omdat bijvoorbeeld kraan 1 in storing staat wil daarom niet zeggen dat bijvoorbeeld ook kraan 2 in storing staat. Dit moet dus per kraan apart bijgehouden worden. Als laatste moet het ook mogelijk zijn om elke kraan apart te besturen via het SCADA-‐ scherm. Een reset van kraan 1 mag bijvoorbeeld kraan 2 niet resetten. Het spreekt voor zich dat dan ook elke kraan een eigen SCADA-‐scherm heeft. Samengevat heeft elke kraan een aparte datablock voor volgende zaken: - Setting; - Status; - Control.
12.3.
Bewegingen van de kraan
Het is de taak van de palletkraan om palletten te kunnen stockeren in een groot rek. Dit rek bestaat uit 51 locaties naast elkaar en dit 10 verdiepingen hoog. Elke kraan zorgt voor twee rekken (links en rechts). In totaal maakt dit 1020 locaties per kraan. Daarnaast zijn er ook nog de conveyors waar een pallet moet kunnen opgenomen en afgezet worden. Bij het opnemen van een pallet van de conveyor wordt deze gecontroleerd op hoogte, breedte en gewicht. In totaal zijn er zijn drie acties die de kraan moet kunnen uitvoeren: -‐ Een pallet van de conveyor opnemen en de hoogte meten;
Programmatie van een automatische palletkraan
31
-‐ Een pallet die op de vorken staat wegzetten; -‐ Een pallet uit het rek opnemen en ergens wegzetten. Om deze acties uit te voeren zijn er drie functieblokken geprogrammeerd die de bouwstenen moeten vormen om de acties uit te kunnen voeren: -‐ Naar een locatie rijden en een pallet opnemen; -‐ Naar een locatie rijden en een pallet wegzetten; -‐ Naar een conveyor rijden en een pallet opnemen, de hoogte meten en controleren op breedte en gewicht. Deze functieblokken bestaan allen uit een grote sequentiële sturing die de bewegingen één voor één afhandelt. Ook in deze functieblokken worden opnieuw functieblokken gebruikt die ook in de andere stappensturingen kunnen gebruikt worden. Voorbeelden hiervan zijn: FB_Rijden, FB_Hijsen, FB_Vorken, FB_Ligger_Zoeken, … .
12.3.1. FB_Rijden, FB_Hijsen en FB_Vorken Het rijden gebeurt met een asynchrone motor aangedreven door een drive. Om de motor te laten draaien mag de drive niet in storing staan en moeten enkele ingangen hoog gemaakt worden. Eerst en vooral moet de drive enabled worden, daarnaast moet ook een richting gekozen worden en ook een snelheid. Er zijn drie mogelijk keuzes voor de snelheden die bekomen worden door twee ingangen elk apart of samen hoog te maken. De snelheid waarmee de motor dan draait kan ingesteld worden in de drive zelf. Ook kan een ramp-‐up en ramp-‐ down time ingesteld worden om de acceleratie en deceleratie aan te passen. Bij het rijden worden drie instelbare parameters gebruikt: -‐ Compensatie_Rijden: Bij het stoppen van de kraan zal steeds een klein beetje doorschot plaatsvinden. Om dit te compenseren wordt reeds een klein beetje eerder gestopt dan normaal om zo perfect op de bestemming uit te komen. Dit wordt in millimeter uitgedrukt; -‐ Grens_Speed_1_2: Als de kraan op een afstand kleiner dan deze waarde gekomen is moet de traagste snelheid gebruikt worden. Dit om het laatste stukje traag te rijden om zo weinig doorschot te hebben; -‐ Grens_Speed_2_3: Als de kraan nog op een afstand groter dan deze waarde zit mag de grootste snelheid gebruikt worden. Op deze manier wordt snel naar een bestemming gereden. De bestemming van de kraan wordt meegegeven aan de functieblok FB_Rijden als zijnde een XYS-‐locatie. Hierbij wordt de palletlocatie in het rek meegegeven met X de horizontale plaats, Y het verdiep en S de zijde (links of rechts). Op basis hiervan wordt de bestemming voor het rijden in millimeter uit een datablock DB_Rek_Kraan_1 uitgelezen. Deze datablock bevat alle XYS-‐locaties met bijhorende afstanden ten op zichte van de muur op het einde van het rek in millimeter uitgedrukt.
Programmatie van een automatische palletkraan
32
Figuur 34: Flowchart FB_Rijden
Programmatie van een automatische palletkraan
33
De bewegingen van de lift (FB_Hijsen) en de vorken gebeuren op een vergelijkbare manier. Indien de kraan zijn bestemming bereikt wordt er een instelbare tijd (bijvoorbeeld 200ms) gewacht tot de kraan echt stilstaat en wordt er nogmaals gecontroleerd of de kraan binnen een aanvaardbare tolerantie van de eindbestemming staat.
12.3.2. Ligger zoeken Bij het afzetten van een pallet worden eerst de vorken met pallet in het rek geschoven om daarna de vorken te laten zakken naar beneden. Bij het laten zakken wordt de ligger gedetecteerd met behulp van een sensor. Ook bij het opnemen van een pallet wordt eerst de ligger gezocht om daarna de vorken in het rek te schuiven. Nadat de ligger gezocht werd staan de vorken mooi in het midden tussen enerzijds de pallet boven zich en anderzijds de ligger eronder.
Figuur 35: Ligger zoeken
Bij het zoeken van de ligger moet er opgelet worden dat dit niet te lang duurt, dit zou namelijk kunnen betekenen dat hij blijft zakken tot hij de ligger op het verdiep eronder gevonden heeft. Dit is natuurlijk niet de bedoeling. Ten tweede mag deze ligger ook niet te snel gevonden worden. Dit zou willen zeggen dat de sensor al bedekt was terwijl dat de vorken nog moesten beginnen met zakken.
12.3.3. Hoogte meten Als een pallet van de conveyor opgenomen wordt, dan wordt hierbij ook de hoogte ervan gemeten. Dit is noodzakelijk omdat niet elke locatie in het rek even groot is. Na het meten wordt de hoogte verstuurd naar het WMS. Nu kan het WMS een geschikte plaats in het rek voor deze pallet kiezen. Voor het bepalen van de hoogte zijn er drie sensoren die boven elkaar hangen. Bij het inschuiven van de vorken wordt er bijgehouden welken sensoren onderbroken werden en op basis hiervan wordt de hoogte bepaald als de vorken volledig ingeschoven zijn. Er zijn vier verschillende hoogtes: kleiner dan 75 cm, tussen 75 en 85 cm, tussen 85 en 92 cm en groter dan 92 cm.
Programmatie van een automatische palletkraan
34
Figuur 36: Hoogte meten
Op Figuur 37 zijn de drie sensoren te zien die de hoogte meten en ook de twee sensoren die de breedte controleren bij het opnemen van een pallet van een conveyor. Dezelfde sensoren zijn ook aan de andere kant voorzien om zowel links als rechts palletten van de conveyors te kunnen nemen. Sensoren breedte
Sensoren hoogte
Figuur 37: Sensoren hoogte-‐ en breedtecontrole
12.3.4. Naar een locatie rijden en een pallet ophalen Het ophalen van een pallet op deze manier kan enkel vanuit een locatie in het rek en niet van de conveyors. De reden hiervoor is dat elke pallet opgenomen van de conveyors eerst moet gecontroleerd worden op breedte, hoogte en gewicht. De sequentiële sturing voor het ophalen van een pallet wordt weergegeven op Figuur 38.
Programmatie van een automatische palletkraan
35
Figuur 38: Flowchart "Naar een locatie rijden en een pallet ophalen"
Programmatie van een automatische palletkraan
36
12.3.5. Naar een locatie rijden en een pallet wegzetten Om een pallet weg te zetten kunnen dezelfde bouwstenen gebruikt worden als bij het ophalen maar dan in een gewijzigde volgorde. Het wegzetten kan zowel op een locatie in het rek als op een conveyor want de conveyors worden ook beschouwd als een locatie.
Figuur 39: Flowchart "Naar een locatie rijden en een pallet wegzetten"
Programmatie van een automatische palletkraan
37
12.3.6. Een pallet van de conveyor opnemen, meten en wegen Deze sturing is dezelfde als bij naar een locatie rijden en een pallet opnemen met dat verschil dat hierbij nu ook de hoogte van de pallet opgemeten wordt, de breedte van de pallet gecontroleerd wordt en ook de pallet gewogen wordt.
Figuur 40: Flowchart "Een pallet van de conveyor opnemen, meten en wegen"
Programmatie van een automatische palletkraan
38
12.4.
Communicatie met het WMS
Om opdrachten te kunnen ontvangen is het noodzakelijk dat de kraan kan communiceren met het WMS. Zo weet de kraan wat hij moet doen en door berichten terug te sturen weet het WMS ook waar de kraan mee bezig is en of er eventueel problemen zijn. De PLC communiceert met het WMS door middel van een TCP/IP verbinding. Alle PLC’s zijn clients en het WMS is de server. De PLC’s vragen dus een verbinding met het WMS. Deze verbinding blijft actief nadat een bericht verzonden werd.
Switch
PLC Accolon
PLC Lege bakken
Figuur 41: Verbinding PLC en WMS via Ethernet
Bij TVH wordt een eigen protocol gebruikt (Vanderlande 2002). Tabel 6: Protocol Ethernet TCP/IP
Dummy header (Only send by (BIN) PLC) [1 byte]
length in bytes seq. Number message (BIN) (ASCII) [27 bytes] [2 bytes] [1 byte]
terminator (BIN) [1 byte]
<Space>
001D hex
<ETX>
<STX>
‘ ‘,‘0’, ‘1’.. ‘9’
De verzonden boodschap moet altijd even lang zijn, namelijk 32 bytes. Dit wil zeggen dat de zelf in te vullen ruimte steeds 27 bytes groot moet zijn. Indien het berichtje korter is dan 27 bytes wordt de lege ruimte opgevuld met spaties. Voor elke kraan wordt een apart kanaal voorzien, zo weet de PLC voor welke kraan de boodschap bestemd is. Bij elke boodschap wordt ook meegegeven welk soort bericht het is met de message ID. In Tabel 7 staan alle mogelijke berichten die kunnen optreden. Tabel 7: Overzicht van alle mogelijke berichten
Message ID 23 24 25 26 27
Afkorting OKP OPG AFG STG DEL
Richting PLC -‐> WMS PLC -‐> WMS PLC -‐> WMS PLC -‐> WMS PLC -‐> WMS
Beschrijving Bevestiging van ontvangst van bericht PLC Pallet opgepakt al dan niet gelukt Pallet afgezet al dan niet gelukt Kraanstatus geven Opdracht schrappen
Programmatie van een automatische palletkraan
39
28 HOO PLC -‐> WMS Hoogte pallet geven 69 OPD WMS -‐> PLC Pallet uit rek opnemen en wegzetten in rek 70 OKW WMS -‐> PLC Bevestiging van ontvangst van bericht WMS 71 PAK WMS -‐> PLC Pallet op de vorken nemen en meten 72 ZET WMS -‐> PLC Opgepakte pallet wegzetten 73 STV WMS-‐>PLC Kraanstatus vragen Als voorbeeld wordt de opbouw van een bericht met message ID 69 besproken. Een opdracht van het type 69 is bedoeld om een pallet op te nemen uit het rek en op een andere plaats in het rek te zetten. Het is ook mogelijk om een pallet op de conveyor af te zetten in plaats van in het rek. In dit bericht moeten dus volgende elementen zeker voorkomen: Message ID, Pallet ID, Locatie opnemen en Locatie afzetten. De volledige opbouw van het bericht wordt duidelijk in Tabel 8. Tabel 8: Opbouw van berichttype 69
Opdracht type 69 #Bytes Type Message ID_10 1 Char Message ID_1 1 Char Separator 1 Char Pallet ID 4 Double Integer Separator 1 Char Letter X 1 Char Van X_100 1 Char Van X_10 1 Char Van X_1 1 Char Letter Y 1 Char Van Y_10 1 Char Van Y_1 1 Char Letter S 1 Char Van Side_1 1 Char Separator 1 Char Letter X / Letter C 1 Char Naar X_100 / Naar C_100 1 Char Naar X_10 / Naar C_10 1 Char Naar X_1 / Naar C_1 1 Char Letter Y / dummy 1 Char Naar Y_10 / dummy 1 Char Naar Y_1 / dummy 1 Char Letter S / dummy 1 Char Naar Side_1 /dummy 1 Char =27 Bijvoorbeeld: 69 123456789 X001Y01S1 X105Y07S2 Pallet ID Van locatie Naar locatie Type bericht In bijlage (Bijlage 15.1. ) zit een volledige lijst met de uitwerking van alle mogelijke berichten.
Programmatie van een automatische palletkraan
40
Om te kunnen experimenteren met de verschillende berichten en om alles te kunnen testen zonder te moeten werken met het echte WMS werd een dummy-‐WMS geprogrammeerd. In die dummy-‐WMS is het mogelijk om zelf alle mogelijke berichten van het WMS naar de PLC te versturen. Anderzijds is het ook mogelijk om de ontvangen berichten weer te geven op het scherm. Zo kan gecontroleerd worden dat de PLC correcte berichten naar het WMS stuurt. Op Figuur 42 is te zien hoe een verzonden bericht van het WMS in de PLC uitgelezen wordt.
Figuur 42: Uitlezen van een bericht in de PLC
Als het WMS een bericht van de PLC ontvangt, dan stuurt deze meteen een ontvangstbericht terug. Zo weet de PLC of zijn bericht correct ontvangen werd. Als het WMS een opdracht aan de kraan wil geven dan vraagt deze eerst de status van de kraan. In deze status staat de werkingsmode van de kraan, de af te handelen opdracht en geeft ook aan of er een storing aanwezig is. Indien de kraan bezig is mag nog geen nieuwe opdracht verstuurd worden. Indien de kraan klaar is wordt trouwens zelf vanuit de PLC een bericht gestuurd. Wanneer bijvoorbeeld gevraagd werd om een pallet van de conveyor op te nemen en de hoogte ervan te meten wordt indien klaar geantwoord met een bericht met daarin de opgemeten hoogte. Als er gevraagd wordt om een pallet weg te zetten op een bepaalde locatie, wordt geantwoord met een bericht van het type 25 “Pallet afgezet al dan niet gelukt”. Het is mogelijk dat het afzetten van een pallet niet gelukt is. Hiervoor zijn twee mogelijke oorzaken: de gekozen plaats is reeds bezet of er staat geen pallet op de vorken. In beide gevallen zou dit een fout van het WMS moeten zijn omdat het WMS moet weten waar de kraan mee bezig is en ofdat de vorken dus leeg zijn of niet en er ook moet bijgehouden worden welke locaties reeds bezet zijn en welke nog leeg zijn.
Op onderstaande flowcharts wordt duidelijk welke berichten van en naar het WMS verstuurd worden bij de verschillende opdrachten.
Programmatie van een automatische palletkraan
41
Figuur 43: Flowchart van berichten bij opdrachttype 69
Programmatie van een automatische palletkraan
42
Figuur 44: Flowchart van berichten bij opdrachttype 71
Programmatie van een automatische palletkraan
43
Figuur 45: Flowchart van berichten bij opdrachttype 72
Programmatie van een automatische palletkraan
44
12.5. Koppeling met de conveyors Het is de taak van de conveyors om palletten te transporteren tussen het magazijn en de pickingzone. Om veilig te kunnen werken is het noodzakelijk dat de kraan en de conveyors gekoppeld zijn zodat beiden weten waar de andere mee bezig is. Zo mag de conveyor zeker niet bewegen terwijl de kraan bezig is met een pallet te plaatsen of af te nemen van deze conveyor. Aan de andere kant mag de kraan pas beginnen met een pallet te plaatsen of af te nemen als de conveyor klaarstaat aan de kant van het magazijn. Er wordt gebruik gemaakt van twee bytes die gemeenschappelijk gebruikt worden door zowel de kraan als de conveyors. De eerste byte mag door de kraan enkel uitgelezen worden terwijl de tweede byte moet ingevuld worden. Zo’n gemeenschappelijke bestand wordt een Flow Interface genoemd. De reserveplaatsen zijn voorzien om achteraf eventuele aanpassingen te kunnen maken zonder problemen te hebben met veranderende groottes van DB’s.
Figuur 46: Flow Interface voor kraan en conveyors
Programmatie van een automatische palletkraan
45
12.6.
Integratie van foutmeldingen
12.6.1. Foutendetectie De foutmeldingen kunnen verdeeld worden in twee groepen. De ene groep bevat de fouten die opgewekt worden door de hardware en de andere groep bevat de fouten die voorkomen door het optreden van een bepaalde situatie. Fouten opgewekt door de hardware zijn eenvoudig te detecteren. Ze kunnen namelijk meteen doorgekoppeld worden aan de status van een bepaalde sensor. Een voorbeeld hiervan is ER_Autm_Drive_Vorken. Deze foutmelding zal opkomen indien de zekering (automaat) van de drive die de vorken laat bewegen uitvalt. De status van deze zekering wordt binnengenomen in de PLC als digitale ingang. Fouten opgewekt door het optreden van een bepaalde situatie zitten overal verweven in het programma. Een voorbeeld van zo’n fout is ER_Wegzetten_Mislukt. Deze foutmelding zal opkomen indien er na het wegzetten van een pallet op een locatie nog steeds een pallet op de vorken gedetecteerd wordt. Dit betekent dus dat de pallet niet correct afgezet werd. Op Figuur 47 is een uitbreiding te zien van de flowchart van het wegzetten van een pallet (Figuur 39). Nadat de vorken terug naar het midden bewogen zijn wordt gecontroleerd of een pallet op de vorken staat.
Figuur 47: Flowchart Controle of wegzetten gelukt is
Een gelijkaardige controle wordt gebruikt bij het opnemen van een pallet. Daar is het dan de bedoeling dat op het einde van de cyclus wel een pallet op de vorken staat. Een tweede voorbeeld van een fout opgewekt door het optreden van een bepaalde situatie is ER_Gap_Links en ER_Gap_Rechts. Deze fouten komen voor indien een bepaalde sensor onderbroken wordt bijvoorbeeld tijdens het rijden. Hiervoor wordt niet één sensor gebruikt maar alle sensoren aan de zijkanten die niet mogen onderbroken worden. De sensoren Gap_Controle, Breedte_1, Breedte_2, Hoogte_1, Hoogte_2 en Hoogte_3
Programmatie van een automatische palletkraan
46
vormen een denkbeeldig gordijn aan beide kanten. Moest een pallet van de vorken vallen tijdens het rijden zodat dit door deze controle opgemerkt worden. Implementatie van deze foutmelding is zichtbaar op Figuur 48.
Figuur 48: Flowchart Gapcontrole
Nu is het zo dat deze controle uitgevoerd wordt in elke stap van de stappensturing. In de stappen waarbij de vorken uitgeschoven zijn wordt enkel gecontroleerd aan de andere kant. Indien een sensor kapot is komt dit logischerwijze in deze controle ook aan het daglicht. De zonet besproken fouten worden errors genoemd en naast errors zijn er ook nog warnings. Warnings worden opgewekt bij bepaalde situaties waarbij de kraan niet verder mag gaan met het afhandelen van het order maar waarbij geen tussenkomst van een persoon noodzakelijk is. Een voorbeeld van zo’n warning is WN_Plaats_Is_Bezet. Bij het afzetten van een pallet op een locatie wordt eerst met een sensor gecontroleerd of deze plaats vrij is. Indien de plaats bezet is mag de kraan niet verdergaan in de stappensturing want dit zou voor een botsing zorgen. In plaats daarvan wordt de stappensturing gestopt en wordt een bericht gestuurd naar het WMS waarin staat dat de plaats bezet is en dat het afzetten dus mislukt is. De warning
Programmatie van een automatische palletkraan
47
WN_Plaats_Is_Bezet wordt ook geset. Daarna wacht de kraan tot deze een nieuwe opdracht krijgt van het WMS.
12.6.2. Foutenafhandeling Alle fouten worden bijgehouden in een DB die uitgelezen kan worden in WinCC. Bij het voorkomen van een error worden alle bewegingen van de kraan geblokkeerd en worden de timers in de stappensturingen stopgezet. Dit ter voorkoming dat timers zouden aflopen en een timeout zou optreden terwijl de kraan in fout staat. Op Figuur 49 is te zien hoe de foutmeldingen zichtbaar worden op het SCADA-‐scherm. De foutmeldingen van de Accalonkraan zullen zichtbaar worden tussen alle andere foutmeldingen van andere PLC’s binnen TVH. Volgens de belangrijkheid van de error is het mogelijk om een geschikte achtergrondkleur in te stellen.
Figuur 49: Foutmeldingen in WinCC
12.6.3. Resetmogelijkheden Om fouten te resetten zijn er verschillende mogelijkheden. Eerst en vooral is er de mogelijkheid om in het SCADA-‐scherm te klikken op “Reset Errors”. Hiermee worden alle errors gereset waarbij het niet noodzakelijk is om een kijkje te gaan nemen in de kraan. Een voorbeeld hiervan is ER_Afstandsmeter_Rijden. Het is mogelijk dat de afstandsmeter heel even onderbroken werd waardoor deze in fout ging. Indien het probleem met de afstandsmeter niet opgelost is zal na het resetten de foutmelding meteen terug opkomen. Een tweede mogelijkheid tot resetten is in de kraan zelf. Door te drukken op de groene drukknop op de elektrische kast worden alle errors gereset. Omdat deze drukknop zich in de kraan bevindt wordt het dus verplicht om in de kraan een kijkje te nemen om zo dus ook op te merken wat er misgelopen is en ofdat alles in orde is.
Programmatie van een automatische palletkraan
48
Een laatste mogelijkheid tot resetten is bij het kastje vooraan buiten de kraan. Met deze drukknop worden de veiligheidsrelais en de afstandsmeters gereset. Omdat de veiligheidsrelais uitvalt bij het openen van de deur is het na het verlaten van de kraan handig als dit ook zonder laptop gereset kan worden. Ook is na het betreden van de kraan de kans groot dat de afstandsmeters onderbroken werden.
12.6.4. Overzicht van alle foutmeldingen met oorzaak en oplossing 12.6.4.1. Fouten opgewekt door het voorkomen van een onvoorziene situatie Foutmelding Oorzaak Oplossing
Vorken was een aantal keer buiten tolerantie Na enkele keren de bestemming zogezegd bereikt te hebben is de positie nog steeds niet binnen tolerantie. Mogelijk gebeurde het remmen niet snel genoeg Controleer settings: -‐ Compensatie_Vorken -‐ Grens_Speed_1_2_Vrkn -‐ Tolerantie_Vorken -‐ Max_Keer_Tol_Vrkn Controleer de ingestelde snelheden op de drive
Foutmelding Oorzaak Oplossing
Rijden was een aantal keer buiten tolerantie Na enkele keren de bestemming zogezegd bereikt te hebben is de positie nog steeds niet binnen tolerantie. Mogelijk gebeurde het remmen niet snel genoeg Controleer settings: -‐ Compensatie_Rijden -‐ Grens_Speed_1_2_Rijd -‐ Tolerantie_Rijden -‐ Max_Keer_Tol_Rijden Controleer de ingestelde snelheden op de drive
Foutmelding Oorzaak Oplossing
Hijsen was een aantal keer buiten tolerantie Na enkele keren de bestemming zogezegd bereikt te hebben is de positie nog steeds niet binnen tolerantie. Mogelijk gebeurde het remmen niet snel genoeg Controleer settings: -‐ Compensatie_Hijsen -‐ Grens_Speed_1_2_Lift -‐ Tolerantie_Hijsen -‐ Max_Keer_Tol_Lift Controleer de ingestelde snelheden op de drive
Foutmelding Oorzaak Oplossing
Time-‐out bij rijden en hijsen naar positie Het tegelijk rijden en hijsen naar een locatie duurde te lang Controleer settings: -‐ Timeout_Rijden_Hijsen Controleer of de kraan nergens tegen is gereden Controleer de snelheden op de drives Controleer of de drives aangestuurd worden door de PLC Controleer de motoren Controleer of de afstandsmeters correct werken
Programmatie van een automatische palletkraan
49
Foutmelding Oorzaak Oplossing
Time-‐out vorken Het bewegen van de vorken duurde te lang Controleer settings: -‐ Timeout_Vorken Controleer of niets de weg van de vorken blokkeert waardor de slipkoppeling slipt Controleer de snelheden op de drives Controleer of de drives aangestuurd worden door de PLC Controleer de motor Controleer of de encoder correct werkt
Foutmelding Oorzaak
Time-‐out hijsen in rek Na het uitschuiven van de vorken onder een pallet in het rek, duurde het omhoog bewegen te lang Controleer settings: -‐ Timeout_Lift_In_Rek Controleer de snelheden op de drives Controleer of de drives aangestuurd worden door de PLC Controleer de motor Controleer of de afstandsmeter correct werkt
Oplossing
Foutmelding Oorzaak Oplossing
Time-‐out zoeken ligger Het zoeken van de ligger duurde te lang Controleer settings: -‐ Timeout_Ligger_Zoeken Controleer de snelheden op de drive Controleer de fotocel die de ligger detecteert Controleer of er wel een ligger aanwezig is Controleer of de drives aangestuurd worden door de PLC Controleer de motor
Foutmelding Oorzaak Oplossing
Na opname geen pallet op de vorken Na het opnemen van een pallet zag de sensor “Controle_Pallet” geen pallet Controleer sensoren: -‐ “Controle_Pallet” (controleert of er pallet op vorken staat) -‐ “Pallet_Links” (controleert of er pallet in het rek staat) -‐ “Pallet_Rechts” (controleert of er pallet in het rek staat) Controleer of de pallet niet kapot is waardoor de sensor deze niet detecteert
Foutmelding Oorzaak Oplossing
Foutieve gegevens voor rijden in racking DB De racking DB werd niet correct ingevuld of uitgelezen Controleer settings: -‐ DB_Nr_Rek_Kraan Controleer of de racking DB correct ingevuld werd voor de gevraagde locatie Controleer of de gevraagde locatie wel bestaat
Foutmelding Oorzaak Oplossing
Foutieve gegevens voor hijsen in racking DB De racking DB werd niet correct ingevuld of uitgelezen Controleer settings: -‐ DB_Nr_Rek_Kraan Controleer of de racking DB correct ingevuld werd voor de gevraagde locatie Controleer of de gevraagde locatie wel bestaat
Programmatie van een automatische palletkraan
50
Foutmelding Oorzaak Oplossing
Fout bij opmeten van pallet Bij het opmeten bij de conveyor werd een sensor onderbroken terwijl de sensor eronder niet onderbroken werd OF pallet werd manueel opgenomen van de conveyor Controleer de drie sensoren die de hoogte meten Manueel de pallet van de conveyor nemen en daarna resetten mag niet, anders werd de hoogte niet gemeten
Foutmelding Oorzaak Oplossing
Vorken staan niet in basispositie Bij het starten van een opdracht stonden de vorken niet mooi in het midden Controleer sensoren: -‐ e_L_Gap_Links -‐ e_L_Gap_Rechts Controleer of de vorken mooi in het midden staan
Foutmelding Oorzaak
Het zoeken van de linkse ligger is te snel opgekomen Het zoeken van de ligger gebeurde te snel, mogelijk stond de kraan niet goed gepositioneerd Controleer settings: -‐ Ligger_Zoeken_Te_Snel Controleer de sensor die de ligger zoekt Controleer of er zich niets voor de sensor bevindt
Oplossing
Foutmelding Oorzaak Oplossing
Het zoeken van de rechtse ligger is te snel opgekomen Het zoeken van de ligger gebeurde te snel, mogelijk stond de kraan niet goed gepositioneerd Controleer settings: -‐ Ligger_Zoeken_Te_Snel Controleer de sensor die de ligger zoekt Controleer of er zich niets voor de sensor bevindt
Foutmelding Oorzaak Oplossing
Kraan kan locatie niet bereiken in de hoogte doordat deze buiten het bereik van de kraan ligt De uitgelezen bestemming ligt buiten het bereik van de kraan Controleer settings: -‐ DB_Nr_Rek_Kraan -‐ Maximale_Bestemming_Hijs Controleer of de racking DB correct ingevuld is voor de gekozen locatie
Foutmelding Oorzaak Oplossing
Kraan kan locatie niet bereiken in de lengte doordat deze buiten het bereik van de kraan ligt De uitgelezen bestemming ligt buiten het bereik van de kraan Controleer settings: -‐ DB_Nr_Rek_Kraan -‐ Maximale_Bestemming_Rijd Controleer of de racking DB correct ingevuld is voor de gekozen locatie
Foutmelding Oorzaak Oplossing
Kraan te zwaar beladen De uitgelezen waarde door de weegsensor is te groot Controleer settings: -‐ Maximale_Gewicht_Vorken -‐ Weegsensor_Waarde_0kg -‐ Weegsensor_Waarde_1056kg Controleer of de opgenomen pallet niet zwaarder is dan het maximale gewicht
Programmatie van een automatische palletkraan
51
Controleer of de weegsensor correct werkt Foutmelding Oorzaak Oplossing
Weegsensor leest negatieve waarde. Controleer of de vorken niet op het rek steunen De vorken steunen ergens op Controleer settings: -‐ Tijd_Vooraleer_Neg_Last -‐ Weegsensor_Waarde_0kg -‐ Weegsensor_Waarde_1056kg Controleer of de vorken nergens op steunen, normaal moet dan ook de kabel slap komen te hangen Controleer of de weegsensor correct werkt
Foutmelding Oorzaak Oplossing
Er staat nog steeds een pallet op de vorken na het afzetten van een pallet De pallet werd niet goed afgezet Controleer sensoren: -‐ e_L_Sens_Invorkn (sensor die de ligger zoekt, als deze onderbroken werd zonder dat echt een ligger aanwezig was, dan werd de pallet niet op een ligger afgezet) -‐ e_L_Controle_Pallet (sensor die controleert of er een pallet op de vorken staat) Controleer of de pallet eventueel kapot is
Foutmelding Oorzaak Oplossing
Er staat nog iets in het lichtgordijn aan de linkse zijde Een sensor uit het linker lichtgordijn werd onderbroken tijdens een opdracht Controleer alle sensoren uit het linker lichtgordijn Controleer of de pallet niet gevallen is of iets anders een sensor onderbroken heeft
Foutmelding Oorzaak Oplossing
Er staat nog iets in het lichtgordijn aan de rechtse zijde Een sensor uit het rechtse lichtgordijn werd onderbroken tijdens een opdracht Controleer alle sensoren uit het rechtse lichtgordijn Controleer of de pallet niet gevallen is of iets anders een sensor onderbroken heeft
Foutmelding Oorzaak Oplossing
Fout interlocking met conveyor 101 De conveyor stond niet klaar om een pallet weg te zetten of op te nemen Controleer of de conveyor klaar staat aan de kant van de kraan Controleer de sensoren die kijken of de draagplaat en pallet aanwezig zijn op de conveyor
Foutmelding Oorzaak Oplossing
Fout interlocking met conveyor 102 De conveyor stond niet klaar om een pallet weg te zetten of op te nemen Controleer of de conveyor klaar staat aan de kant van de kraan Controleer de sensoren die kijken of de draagplaat en pallet aanwezig zijn op de conveyor
Foutmelding Oorzaak Oplossing
Fout interlocking met conveyor 111 De conveyor stond niet klaar om een pallet weg te zetten of op te nemen Controleer of de conveyor klaar staat aan de kant van de kraan Controleer de sensoren die kijken of de draagplaat en pallet aanwezig zijn op de conveyor
Foutmelding Oorzaak Oplossing
Fout interlocking met conveyor 112 De conveyor stond niet klaar om een pallet weg te zetten of op te nemen Controleer of de conveyor klaar staat aan de kant van de kraan Controleer de sensoren die kijken of de draagplaat en pallet aanwezig zijn op de conveyor
Foutmelding Oorzaak Oplossing
Fout interlocking met conveyor 121 De conveyor stond niet klaar om een pallet weg te zetten of op te nemen Controleer of de conveyor klaar staat aan de kant van de kraan Controleer de sensoren die kijken of de draagplaat en pallet aanwezig zijn op de conveyor
Programmatie van een automatische palletkraan
52
Foutmelding Oorzaak Oplossing
Fout interlocking met conveyor 122 De conveyor stond niet klaar om een pallet weg te zetten of op te nemen Controleer of de conveyor klaar staat aan de kant van de kraan Controleer de sensoren die kijken of de draagplaat en pallet aanwezig zijn op de conveyor
12.6.4.2. Fouten opgewekt door de hardware Foutmelding Oorzaak Oplossing
Thermiek transfo 4T3 De beveiliging van de transfo 4T3 is uitgevallen Schakel de transfo terug in
Foutmelding Oorzaak Oplossing
Thermiek transfo 4T6 De beveiliging van de transfo 4T6 is uitgevallen Schakel de transfo terug in
Foutmelding Oorzaak Oplossing
Zekering interface modules De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering van de afstandsmeters en de communicatie verbinding De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering van de schakelmodules De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering van Ventilatie, Ventielen en Verlichting De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering van de veiligheidscontacten buiten De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering drive rijden De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering drive hijsen De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering drive vorken De zekering is uitgevallen Schakel de zekering terug in
Foutmelding
Zekering Hydraulische pomp
Programmatie van een automatische palletkraan
53
Oorzaak Oplossing
De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering PLC ingangen De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Zekering PLC uitgangen De zekering is uitgevallen Schakel de zekering terug in
Foutmelding Oorzaak Oplossing
Drive rijden in storing De drive is in storing Reset de drive
Foutmelding Oorzaak Oplossing
Drive hijsen in storing De drive is in storing Reset de drive
Foutmelding Oorzaak Oplossing
Drive vorken in storing De drive is in storing Reset de drive
Foutmelding Oorzaak Oplossing
Thermiek rem rijden De beveiliging van de rem is uitgevallen Schakel deze terug in
Foutmelding Oorzaak Oplossing
Thermiek rem hijsen De beveiliging van de rem is uitgevallen Schakel deze terug in
Foutmelding Oorzaak Oplossing
Fout in uitlezen afstandsmeter rijden De afstandsmeter werd even niet uitgelezen, iets heeft de laser onderbroken Controleer of niets de laser onderbreekt Controleer of de afstandsmeter nog correct werkt
Foutmelding Oorzaak Oplossing
Fout in uitlezen afstandsmeter hijsen De afstandsmeter werd even niet uitgelezen, iets heeft de laser onderbroken Controleer of niets de laser onderbreekt Controleer of er niet teveel stof op de schuine spiegel ligt Controleer of de afstandsmeter nog correct werkt
Foutmelding Oorzaak Oplossing
Storing Weegsensor De weegsensor werd niet correct uitgelezen Controleer of de weegsensor nog correct werkt
Foutmelding Oorzaak Oplossing
Drive hijsen in Ixt storing De drive is in storing gegaan Reset de drive
Foutmelding
Hijsmotor te warm
Programmatie van een automatische palletkraan
54
Oorzaak Oplossing
De motor is te warm geworden Controleer of de motor niet geblokkeerd werd
Foutmelding Oorzaak Oplossing
Rijmotor te warm De motor is te warm geworden Controleer of de motor niet geblokkeerd werd
Foutmelding Oorzaak Oplossing
Input/Output is niet beschikbaar De PLC kon zijn ingangen/uitgangen niet correct uitlezen Controleer de bekabeling en optische communicatie
Foutmelding Oorzaak Oplossing
Fout met Communicatie verbinding De optische communicatie is in fout gegaan Controleer de optische communicatieverbinding
Foutmelding Oorzaak Oplossing
Rijmotor te snel via oranje tellermodule Volgens de oranje tellermodule ging de rijmotor te snel Controleer de instellingen van de tellermodule
Foutmelding Oorzaak Oplossing
Rijmotor te traag via oranje tellermodule Volgens de oranje tellermodule ging de rijmotor te traag Controleer de instellingen van de tellermodule
Foutmelding Oorzaak Oplossing
Hijsen te snel via oranje tellermodule Volgens de oranje tellermodule ging het hijsen te snel Controleer de instellingen van de tellermodule Controleer of de lift niet gevallen is
Foutmelding Oorzaak Oplossing
Eindeloop rijden De middelste eindeloopschakelaar van het rijden is ingedrukt Controleer of de kraan deze schakelaar ingedrukt heeft Met de bypass kan manueel bewogen worden
Foutmelding Oorzaak Oplossing
Eindeloop hijsen De middelste eindeloopschakelaar van het hijsen is ingedrukt Controleer of de kraan deze schakelaar ingedrukt heeft Met de bypass kan manueel bewogen worden
Foutmelding Oorzaak Oplossing
Noodstop op de vorken actief De noodstop op het bedieningspaneel op de vorken is ingedrukt Reset de noodstop
Foutmelding Oorzaak Oplossing
Noodstop op de kast actief De noodstop op de elektrische kast is ingedrukt Reset de noodstop
Foutmelding Oorzaak Oplossing
Extern noodstopcicuit open De noodstop buiten de kraan is ingedrukt of de deur staat open Reset de noodstop of sluit de deur
Programmatie van een automatische palletkraan
55
Foutmelding Oorzaak Oplossing
Hijskabel hangt te slap Sensor e_L_Wire_Monitoring is ingedrukt Indien de hijskabel slap hangt moet manueel omhoog bewogen worden om de kabel terug op te spannen. Reset daarna de hydraulische rembeveiliging met de rode knop in de elektrische kast
Foutmelding Oorzaak Oplossing
Algemeen Veiligheidsrelais PNOZS4 niet gestart De veiligheidsrelais is uitgevallen Reset de veiligheidsrelais door op een startknop te drukken: - Op de peer - Op de elektrische kast - Buiten de kraan op het kastje
Foutmelding Oorzaak Oplossing
Veiligheidsrelais PNOZS2 van het hijsen niet gestart De veiligheidsrelais is uitgevallen Reset de veiligheidsrelais door op een startknop te drukken: - Op de peer - Op de elektrische kast Buiten de kraan op het kastje
12.6.4.3. Warnings Er zijn ook warnings die mogelijks kunnen optreden. Deze warnings vereisen geen onmiddellijke ingreep omdat ze zichzelf kunnen oplossen. Ze geven wel aan dat iets onverwachts gebeurd is. Warning Oorzaak Oplossing
Sensor pallet in rek links zag geen pallet terwijl er toch één stond De sensor die controleert of er een pallet in het rek staat zag eerst geen pallet maar na het uitvoeren van de bewegingen bleek toch een pallet op de vorken te staan Controleer de sensor die kijkt of er een pallet in het rek staat
Warning Oorzaak Oplossing
Sensor pallet in rek rechts zag geen pallet terwijl er toch één stond De sensor die controleert of er een pallet in het rek staat zag eerst geen pallet maar na het uitvoeren van de bewegingen bleek toch een pallet op de vorken te staan Controleer de sensor die kijkt of er een pallet in het rek staat
Warning Oorzaak Oplossing
Vorken al bezet voor het opnemen Bij het begin van een opdracht om een pallet op te nemen bleek al een pallet op de vorken te staan Controleer de sensor die kijkt of een pallet op de vorken staat Anders kreeg de kraan een verkeerde opdracht van het WMS
Warning Oorzaak Oplossing
Vorken zijn leeg waardoor er geen pallet kan afgegeven worden Bij het begin van een opdracht om een pallet af te zetten bleek geen pallet op de vorken te staan Controleer de sensor die kijkt of een pallet op de vorken staat Anders kreeg de kraan een verkeerde opdracht van het WMS
Warning Oorzaak Oplossing
Bestemming van pallet aan de linkerzijde is al bezet De locatie waar een pallet moet afgezet worden is al bezet Controleer de sensor die kijkt of een pallet in het rek staat Anders kreeg de kraan een verkeerde opdracht van het WMS
Programmatie van een automatische palletkraan
56
Warning Oorzaak Oplossing
Bestemming van pallet aan de rechterzijde is al bezet De locatie waar een pallet moet afgezet worden is al bezet Controleer de sensor die kijkt of een pallet in het rek staat Anders kreeg de kraan een verkeerde opdracht van het WMS
Warning Oorzaak
Locatie is leeg Bij de opdracht om een pallet op te halen bleek de locatie leeg te zijn. Ook na uitvoeren van de bewegingen stond geen pallet op de vorken Controleer de sensor die kijkt of een pallet op de vorken staat Controleer de sensor die kijkt of een pallet in het rek staat Anders kreeg de kraan een verkeerde opdracht van het WMS
Oplossing
Warning Oorzaak Oplossing
Time-‐out ACK van WMS. Herverstuur opdracht Het duurde te lang voor de PLC een ACK-‐bericht kreeg van het WMS. Controleer of het WMS operationeel is Controleer settings: - Timeout_ACK
12.7.
Werking visualisering
Om de werking van de kraan op te volgen is het gemakkelijk om te werken met een grafische visualisering. Dit wordt verwezenlijkt met de WinCC software. Op het scherm voorbehouden voor de kraan zijn verschillende elementen te zien.
Figuur 50: Grafische visualisering
Programmatie van een automatische palletkraan
57
Status van de kraan Door de rode of groene achtergrondkleur wordt het meteen duidelijk of de kraan in storing staat of niet. Bij een storing is de desbetreffende error te zien bij het scherm met foutmeldingen. Na het verhelpen van het probleem wordt de achtergrondkleur terug groen. Daarnaast is er ook te zien in de welke mode van werking de kraan zit. Er is mogelijkheid uit manueel, semi-‐automatisch en automatisch. Indien iemand manueel in de kraan aan het werken is kan het zijn dat de kraan in storing staat doordat de persoon bijvoorbeeld in het zicht van de afstandsmeter staat. Hier moet dan niet op gereageerd worden. Locatie van de kraan Aan de linkerkant is te zien waar de kraan zich op dat moment bevindt. De waarden van de afstandsmeters voor de X-‐ en Y-‐afstand worden weergegeven en ook de positie van de vorken. Daaronder wordt ook de dichtstbijzijnde reklocatie weergegeven. Daarbij is vooral de Y-‐richting handig om te weten hoe hoog de vorken zich bevinden. Huidig order Om te weten met welk commando de kraan momenteel bezig is wordt het huidig order weergegeven. Daarin zijn verschillende cijfers af te lezen: Message Type, pallet ID, source locatie en destination. Dit is vooral handig als de kraan in storing gaat en de opdracht manueel afgewerkt zal worden. (zie 13.8.2.) Sensoren In het tabblad “In-‐ en uitgangen” kan de toestand van iedere in-‐ en uitgang van de PLC geraadpleegd worden.
Figuur 51: In-‐ en Uitgangen in SCADA
Zo kan er op een snelle manier eventuele fouten opgespoord worden. Bijvoorbeeld zal de veiligheidsrelais PNOZS4 uitvallen indien de deur vooraan de kraan geopend wordt. Als het achteraf niet lukt om te resetten wordt bijvoorbeeld duidelijk dat de deur nog steeds open staat. Drukknoppen Naast het uitlezen van bepaalde statussen is het in WinCC ook mogelijk om zelf een variabele te manipuleren. Dit maakt het mogelijk om bepaalde acties in de PLC uit te voeren zonder de STEP7-‐software te moeten openen. Bij het klikken op een drukknop wordt een variabele in de DB in STEP7 op TRUE gezet en deze variabele wordt dan in de software gebruikt om een bepaalde actie uit te voeren. Volgende knoppen zijn voorzien:
Programmatie van een automatische palletkraan
58
Referentie vork: De vorken naar de referentie in het midden brengen. Bericht herversturen: Een bericht dat niet ontvangen werd door het WMS opnieuw versturen. Opdracht manueel afgewerkt: Nadat een opdracht mislukt is door het optreden van een error werd de opdracht manueel afgewerkt. Opdracht schrappen: Een opdracht is mislukt en werd niet verder afgewerkt. Reset errors: Mogelijkheid om een reset te geven van op afstand. Niet alle errors worden hiermee gereset uit veiligheidsmaatregelen. Bij sommige errors is het namelijk noodzakelijk om eerst in de kraan te gaan kijken vooraleer een reset te mogen geven. Grafisch Er is een grafische voorstelling van de kraan in vooraanzicht weergegeven centraal op het scherm. Bij de conveyors verschijnt een rechthoekje indien de draagplaat zich aan de kant van het magazijn bevindt. Als er ook een pallet op de draagplaat staat wordt dit ook afgebeeld. Bij het omhoog of omlaag bewegen van de lift zullen ook de vorken op de grafische voorstelling meebewegen.
12.8.
Extra voorzieningen
Naast de gewone werking van de kraan zijn er ook enkele extra voorzieningen. De bedoeling en werking ervan wordt kort toegelicht.
12.8.1.
Vorkenreferentie
Het is mogelijk nadat de kraan in manuele mode bediend werd dat de vorken zich niet mooi in het midden bevinden. Het is echter voor de veiligheid niet mogelijk dat de kraan in automatische mode kan rijden als de vorken niet centraal staan. Dit wordt gecontroleerd met behulp van een fotocel aan elke kant van de vorken. Om nu niet de kraan weer in manuele mode te moeten schakelen en de vorken in het midden te zetten is er de mogelijkheid om dit automatisch te doen. Door te drukken op de knop van vorkenreferentie op het SCADA-‐ scherm zal de kraan automatisch het nulpunt van de encoder gaan zoeken.
Programmatie van een automatische palletkraan
59
Figuur 52: Vorkenreferentie
12.8.2. Opdracht manueel afgewerkt na error In automatische mode is het mogelijk dat een bepaalde opdracht onderbroken wordt door een opgetreden error. Na het verhelpen en resetten van deze error is het mogelijk om de opdracht automatisch verder af te werken. Het order waar de kraan mee bezig is kan afgelezen worden in het SCADA-‐scherm. Het is mogelijk om in manuele mode dit order af te werken en in het SCADA-‐scherm te drukken op de knop “Opdracht manueel afgewerkt”. Bij het drukken op deze knop wordt een bericht naar het WMS gestuurd net zoals de opdracht automatisch afgewerkt werd. De kraan is nu klaar voor een volgend order.
12.8.3. Opdracht schrappen Als bij het uitvoeren van een bepaalde opdracht een error opgetreden is en ervoor gekozen is om de opdracht niet manueel verder af te werken is het mogelijk om deze opdracht te schrappen. Hiervoor is een knop voorzien in het SCADA-‐scherm. Bij het drukken op deze knop wordt de huidige opdracht uit de PLC verwijderd, worden alle stappensturingen gereset en wordt een bericht naar het WMS gestuurd. Dit bericht bevat naast de message ID ook het palletnummer zodat het WMS weet over welke pallet het gaat.
12.8.4. Bericht opnieuw versturen naar WMS Telkens wanneer de PLC een bericht stuurt naar het WMS wordt dit onmiddellijk bevestigd met een acknowledge-‐bericht. Indien dit bericht niet binnen een instelbare tijd door de PLC ontvangen wordt zal een error optreden. Dit betekent dat het WMS niet meer werkt of dat de verbinding verbroken is. Om ervoor te zorgen dat in dit geval het verstuurde bericht niet verloren gaat is er de mogelijkheid om het bericht opnieuw te versturen. Bij het drukken op de knop “Bericht opnieuw versturen” wordt het laatste bericht opnieuw
Programmatie van een automatische palletkraan
60
verstuurd naar het WMS. Indien de verbinding met het WMS ondertussen terug gemaakt is kan de kraan weer verder werken. In het andere geval zal opnieuw dezelfde error optreden.
12.8.5. Dichtstbijzijnde locatie in het rek zoeken In het SCADA-‐scherm wordt ook weergegeven bij welke locatie in het rek de kraan zich op dat moment bevindt. Dit kan handig zijn voor het personeel om te weten waar de kraan ongeveer is als deze stilstaat. Als er bijvoorbeeld bij de vorken moet gekomen worden en de kraan staat hoog boven de grond dan moet een valharnas aangetrokken worden. Als dan op voorhand al duidelijk is dat de kraan zich hoog boven de grond bevindt kan alvast een valharnas meegenomen worden in plaats van eerst te moeten gaan kijken. Om de dichtste positie te bepalen worden twee lussen doorlopen. Eén voor de dichtste positie bij het rijden en één voor de dichtste positie bij de lift. Bij het rijden zijn er 120 mogelijke posities. Daarom wordt bij het starten van de lus de luswaarde op 120 geplaatst en telkens met 1 verminderd. Er wordt steeds in functie van de luswaarde een locatie uit de DB uitgelezen en dan wordt de afstand tot de kraan bepaald. De dichtste locatie wordt bijgehouden in een variabele en nadat de lus klaar is wordt deze variabele naar buiten gebracht. Dit is dan de dichtstbijzijnde locatie voor het rijden. Voor de lift wordt precies hetzelfde gedaan maar dan met luswaarde 10.
Figuur 53: Flowchart: Dichtste locatie in het rek zoeken
Programmatie van een automatische palletkraan
61
13 Besluit Twee jaar geleden werd bij Thermote & Vanhalst beslist om hun automatische palletkranen te renoveren. Hiervoor waren verschillende redenen. Doordat de elektrische hardware na 20 jaar verouderd was waren er geen reserveonderdelen meer verkrijgbaar wat uiteindelijk rampzalig zou worden. Er was geen mogelijkheid om aanpassingen of verbeteringen in het besturingsprogramma aan te brengen en er was quasi geen mogelijkheid om foutenanalyse van afstand uit te voeren. Vorig jaar werd in de masterproef van Lode Coopman het eerste deel van de renovatiewerken uitgevoerd. De elektrische hardware en het besturingssysteem werden vervangen. In deze masterproef werd dan de besturingssoftware vanaf nul opgebouwd tot een werkend en gebruiksklaar programma. Nu zullen de Accalonkranen aangestuurd worden door een Siemens S7 PLC die de vier kranen voor zijn rekening neemt. De uit te voeren opdrachten krijgt de kraan automatisch binnen van het WMS en afloop worden ook berichten terug gestuurd naar het WMS. Met behulp van instelbare settings is het mogelijk om kraan per kraan te parametriseren. Er is ook de mogelijkheid om per kraan bijhorende foutmeldingen en statussen op te vragen en weer te geven op een SCADA-‐scherm die van op afstand geraadpleegd wordt. Omdat er van deze renovatiewerken weinig hinder zou ondervonden worden werd begonnen met de eerste van de vier kranen onder handen te nemen. Nu dit klaar is zal deze eerste kraan in productie genomen worden en wordt na verloop van tijd ook werk gemaakt van de drie andere kranen.
14 Bibliografie Coopman, Lode. Optimalisatie van een automatische palletkraan. Kortrijk, 2010. Pepperl+Fuchs. Manual LS611-‐DA. 2008. —. Manual VDM100. 2009. Thermote & Vanhalst. www.tvh.com (geopend Augustus 2010). Vanderlande. Interface specification PLC-‐WMS. 2002.
Programmatie van een automatische palletkraan
62
15 Bijlagen 15.1.
Lijst van alle instelbare settings
Naam van de parameter Kraan_Nummer DB_Nr_Rek_Kraan Max_Keer_Tol_Rijden Max_Keer_Tol_Lift Max_Keer_Tol_Vrkn Tijd_Rijden_Controle
Voorbeeld instelling 1 201 3 3 3 2
Tijd_Lift_Controle
2
Tijd_Vorken_Controle
2
Timeout_Ligger_Zoeken Ligger_Zoeken_Te_Snel Timeout_Rijden_Hijsen Timeout_Vorken Timeout_Lift_In_Rek Compensatie_Hijsen_Pos Compensatie_Hijsen_Neg
30 1 50 15 30 L#4 L#-‐4
Grens_Speed_1_2_Lift_Pos Grens_Speed_1_2_Lift_Neg Grens_Speed_2_3_Lift_Pos Grens_Speed_2_3_Lift_Neg Lift_Bijna_Bijna_Pos
L#150 L#-‐150 L#350 L#-‐350 L#100
Lift_Bijna_Bijna_Neg
L#-‐100
Hijsen_Offset Vorken_Bestemming_Links Vorken_Bestemming_Rechts Vorken_Waarde_Midden Compensatie_Vorken_Pos Compensatie_Vorken_Neg Grens_Speed_1_2_Vrkn_Pos Grens_Speed_1_2_Vrkn_Neg Grens_Speed_2_3_Vrkn_Pos Grens_Speed_2_3_Vrkn_Neg Rijden_Offset Compensatie_Rijden_Pos Compensatie_Rijden_Neg Grens_Speed_1_2_Rijd_Pos Grens_Speed_1_2_Rijd_Neg Grens_Speed_2_3_Rijd_Pos Grens_Speed_2_3_Rijd_Neg Conveyor_Nr_01
L#0 L#-‐855 L#855 L#0 L#3 L#-‐3 L#40 L#-‐40 L#110 L#-‐110 L#0 L#5 L#-‐5 L#500 L#-‐500 L#1250 L#-‐1250 101
Uitleg Nummer van de kraan. Keuze uit: 1, 2, 3 en 4 DB Nummer van de rekposities Aantal keer dat rijden buiten tolerantie mag gaan voor error Aantal keer dat hijsen buiten tolerantie mag gaan voor error Aantal keer dat vorken buiten tolerantie mag gaan voor error [100ms] Tijd wachten tot kraan stilstaat voor Rijden positie controleren [100ms] Tijd wachten tot kraan stilstaat voor Lift gecontroleerd wordt [100ms] Tijd wachten tot kraan stilstaat voor Vorken gecontroleerd wordt [100ms] Timeout ligger zoeken [100ms] Ligger zoeken te snel [1s] Timeout rijden en hijsen naar positie [1s] Timeout vorken [0.1s] Timeout lift omhoog gaan na oppakken pallet in rek [mm] Compensatie van doorschot bij hijsen. Positief [mm] Compensatie van doorschot bij hijsen. Negatief [mm] Grens tussen snelheid 1 en 2 van Lift. Positief [mm] Grens tussen snelheid 1 en 2 van Lift. Negatief [mm] Grens tussen snelheid 2 en 3 van Lift. Positef [mm] Grens tussen snelheid 2 en 3 van Lift. Negatief [mm] Lift is bijna bij zijn bestemming. Dus wachten tot rijden klaar is. Positief (Wordt niet gebruikt) [mm] Lift is bijna bij zijn bestemming. Dus wachten tot rijden klaar is. Negatief (Wordt niet gebruikt) [mm] Offset die bijgeteld wordt bij bestemming van hijsen [Pulsen] Waarde van encoder bij vorken links [Pulsen] Waarde van encoder bij vorken rechts [Pulsen] Waarde van encoder bij vorken midden [Pulsen] Compensatie van doorschot bij vorken. Positief [Pulsen] Compensatie van doorschot bij vorken. Negatief [Pulsen] Grens tussen snelheid 1 en 2 van vorken. Positief [Pulsen] Grens tussen snelheid 1 en 2 van vorken. Negatief [Pulsen] Grens tussen snelheid 2 en 3 van vorken. Positief [Pulsen] Grens tussen snelheid 2 en 3 van vorken. Negatief [mm] Offset die bijgeteld wordt bij bestemming van rijden [mm] Compensatie van doorschot bij rijden. Positief [mm] Compensatie van doorschot bij rijden. Negatief [mm] Grens tussen snelheid 1 en 2 van rijden. Positief [mm] Grens tussen snelheid 1 en 2 van rijden. Negatief [mm] Grens tussen snelheid 2 en 3 van rijden. Positief [mm] Grens tussen snelheid 2 en 3 van rijden. Negatief Nummer van Conveyor: Side 1, Gelijkvloers
Programmatie van een automatische palletkraan
63
Conveyor_Nr_02 Conveyor_Nr_12 Conveyor_Nr_11 Conveyor_Nr_22 Conveyor_Nr_21 Tolerantie_Vorken_Pos Tolerantie_Vorken_Neg Tolerantie_Rijden_Pos Tolerantie_Rijden_Neg Tolerantie_Hijsen_Pos Tolerantie_Hijsen_Neg Hydr_Pomp_Per_Dag
102 112 111 122 121 L#5 L#-‐5 L#5 L#-‐5 L#5 L#-‐5 10
Maximale_Gewicht_Vorken Maximale_Bestemming_Rijd
L#1000 L#54000
Maximale_Bestemming_Hijs
L#15000
DB_Nr_Status_Kraan Tijd_Vooraleer_Neg_Last
945 30
DB_Nr_Mailbox_OUT_CH1 DB_Nr_Mailbox_OUT_CH2 DB_Nr_Mailbox_OUT_CH3
549 649 749
DB_Nr_Mailbox_OUT_CH4 Timeout_ACK Naar_Voor_Rijden_X
748 60 116
Naar_Voor_Rijden_Y
2
Naar_Voor_Rijden_S
1
DB_Nr_Mailbox_IN Manueel_Vertraag_Ver
604 L#53000
Manueel_Vertraag_Dicht
L#1000
Manueel_Vertraag_Hoog
L#10000
Manueel_Vertraag_Laag
L#1000
Weegsensor_Waarde_0kg Weegsensor_Waarde_1056k g Man_Vrkn_Grens_Speed_1_ P Man_Vrkn_Grens_Speed_1_ N
L#916 L#1207 L#30 L#-‐30
Nummer van Conveyor: Side 2, Gelijkvloers Nummer van Conveyor: Side 2, Verdiep 1 Nummer van Conveyor: Side 1, Verdiep 1 Nummer van Conveyor: Side 2, Verdiep 2 Nummer van Conveyor: Side 1, Verdiep 2 [Pulsen] Tolerantie van vorken binnen bestemming, Positief [Pulsen] Tolerantie van vorken binnen bestemming, Negatief [mm] Tolerantie van rijden binnen bestemming, Positief [mm] Tolerantie van rijden binnen bestemming, Negatief [mm] Tolerantie van hijsen binnen bestemming, Positief [mm] Tolerantie van hijsen binnen bestemming, Negatief [1s] Aantal seconden dat hydraulische pomp per dag aanschakelt [Kg] Maximale gewicht dat op de vorken mag genomen worden [mm] Indien een grote bestemming geladen wordt zal hij over de eindeloop gaan. [mm] Indien een grote bestemming geladen wordt zal hij over de eindeloop gaan. Nummer van de DB waar de errors bijgehouden worden [100ms] De tijd met negatieve last op de vorken vooraleer error opkomt Nummer van DB mailbox OUT voor channel 1 Nummer van DB mailbox OUT voor channel 2 Nummer van DB mailbox OUT voor channel 3 Nummer van DB mailbox OUT voor channel 4 [1s] Timeout voor ontvangen van ACK bericht van WMS Naar welke positie rijden bij schakelen naar manuele mode met schakelaar Naar welke positie rijden bij schakelen naar manuele mode met schakelaar Naar welke positie rijden bij schakelen naar manuele mode met schakelaar Nummer van DB mailbox IN [mm] Manuele mode: Verste afstand waar nog in snelheid 2 mag gereden worden [mm] Manuele mode: Dichtste afstand waar nog in snelheid 2 mag gereden worden [mm] Manuele mode: Hoogste afstand waar nog in snelheid 2 mag gereden worden [mm] Manuele mode: Laagste afstand waar nog in snelheid 2 mag gereden worden De waarde dat de weegsensor aangeeft bij lege centrale vorken De waarde dat de weegsensor aangeeft bij 1056 kg op het midden van de vorken [Puls] In manuele mode: indien vorken bijna in midden: enkel nog speed1. Pos [Puls] In manuele mode: indien vorken bijna in midden: enkel nog speed1. Neg
Programmatie van een automatische palletkraan
64
15.2. Lijst van alle mogelijke berichten met WMS Message ID 23 24 25 26 27 28 69 70 71 72 73
Afkorting OKP OPG AFG STG DEL HOO OPD OKW PAK ZET STV
Richting PLC -‐> WMS PLC -‐> WMS PLC -‐> WMS PLC -‐> WMS PLC -‐> WMS PLC -‐> WMS WMS -‐> PLC WMS -‐> PLC WMS -‐> PLC WMS -‐> PLC WMS-‐>PLC
Beschrijving Bevestiging van ontvangst van bericht PLC Pallet opgepakt al dan niet gelukt Pallet afgezet al dan niet gelukt Kraanstatus geven Opdracht schrappen Hoogte pallet geven Opdracht naar de kraan Bevestiging van ontvangst van bericht WMS Pallet op de vorken nemen en meten Opgepakte pallet wegzetten Kraanstatus vragen
23: Bevestiging PLC naar WMS Ontvangen bericht identiek terugsturen maar met messageID 23 24: Pallet opgepakt Uit het rek: Field Message ID Separator Pallet ID Separator Letter X Van X_100 Van X_10 Van X_1 Letter Y Van Y_10 Van Y_1 Letter S Van Side_1 Separator Gelukt/Mislukt
#Bytes 2 1 4 1 1 1 1 1 1 1 1 1 1 1 2
Type Char Char Double Integer Char Char Char Char Char Char Char Char Char Char Char Integer
Dummy
7 =27
Char
Value 24 <space> <space> X Y <space> 1=gelukt, 2=Plaats is leeg, dus mislukt, 3=Reeds pallet op vorken, dus mislukt <space>
#Bytes 2 1 4
Type Char Char Double Integer
Value 24 <space>
Of van een conveyor: Field Message ID Separator Pallet ID
Programmatie van een automatische palletkraan
65
Separator Letter C Van_C_100 Van_C_10 Van_C_1 Separator Gelukt/Mislukt
1 1 1 1 1 1 2
Char Char Char Char Char Char Integer
<space> C <space> 1=gelukt, 2=Plaats is leeg, dus mislukt, 3=Reeds pallet op vorken, dus mislukt <space>
Dummy
12 =27
Char
Field Message ID Separator Pallet ID Separator Letter X Naar X_100 Naar X_10 Naar X_1 Letter Y Naar Y_10 Naar Y_1 Letter S Naar Side_1 Separator Gelukt/Mislukt
#Bytes 2 1 4 1 1 1 1 1 1 1 1 1 1 1 2
Type Char Char Double Integer Char Char Char Char Char Char Char Char Char Char Char Integer
Dummy
7 =27
Char
Field Message ID Separator Pallet ID Separator Letter C Naar C_100 Naar C_10 Naar C_1 Separator Gelukt/Mislukt
#Bytes 2 1 4 1 1 1 1 1 1 2
Type Char Char Double Integer Char Char Char Char Char Char Integer
Dummy
12 =27
Char
Value 25 <space> <space> X <space> 1=gelukt, 2=Plaats is bezet, dus mislukt, 3= Geen pallet op vorken <space>
#Bytes 2 1
Type Char Char
Value 26 <space>
25: Pallet afgezet In het rek: Value 25 <space> <space> X Y S <space> 1=gelukt, 2=Plaats is bezet, dus mislukt, 3= Geen pallet op vorken <space>
Op een conveyor:
26: Kraanstatus geven Field Message ID Separator
Programmatie van een automatische palletkraan
66
Kraanstatus
2
Word
Separator Pallet ID
1 4
Char Double Integer
Dummy
17 =27
Bit0=Bezig/Niet Bit1=Storing/Niet Bit2=Manueel/Niet Bit3=Semi-‐Auto/Niet Bit4=Auto-‐mode/Niet Bit5=Reserve(0) Bit6= Reserve(0) Bit7= Reserve(0) <space> Indien bezig, met welke pallet
#Bytes 2 1 4 20 =27
Type Char Char Double Integer Char
Value 27 <space> <space>
Field Message ID Separator Pallet ID Separator Letter H Hoogte Separator Fout
#Bytes 2 1 4 1 1 2 1 2
Type Char Char Double Integer Char Char Integer Char Integer
Dummy
13 =27
Char
Value 28 <space> <space> H Hoogte 1, 2 of 3 <space> 0= Geen fout, 1= Te hoog, 2 = Te breed, 3= Te hoog en te breed <space>
Type Char Char Double Integer Char Char Char Char Char Char Char Char Char Char Char Char
Value 69 <space> <space> X Y <space> X
27: Opdracht schrappen Field Message ID Separator Pallet ID Dummy
28: Hoogte pallet geven
Van WMS naar PLC 69: Opdracht van WMS Pallet uit het rek opnemen en in het rek wegzetten: Field Message ID Separator Pallet ID Separator Letter X Van X_100 Van X_10 Van X_1 Letter Y Van Y_10 Van Y_1 Letter S Van Side_1 Separator Letter X
#Bytes 2 1 4 1 1 1 1 1 1 1 1 1 1 1 1
Programmatie van een automatische palletkraan
67
Naar X_100 Naar X_10 Naar X_1 Letter Y Naar Y_10 Naar Y_1 Letter S Naar Side_1
1 1 1 1 1 1 1 1 =27
Char Char Char Char Char Char Char Char
Y S
Type Char Char Double Integer Char Char Char Char Char Char Char Char Char Char Char Char Char Char Char Char
Value 69 <space> <space> X Y <space> C <space>
Pallet uit het rek opnemen en op een conveyor wegzetten: Field Message ID Separator Pallet ID Separator Letter X Van X_100 Van X_10 Van X_1 Letter Y Van Y_10 Van Y_1 Letter S Van Side_1 Separator Letter C Naar C_100 Naar C_10 Naar C_1 Dummy
#Bytes 2 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 =27
70: Bevestiging WMS naar PLC Ontvangen bericht identiek terugsturen maar met messageID 70 71: Pallet van de conveyor op de vorken nemen en meten Field Message ID Separator Pallet ID Separator Letter C C_100 C_10 C_1 Dummy
#Bytes 2 1 4 1 1 1 1 1 15 =27
Type Char Char Double Integer Char Char Char Char Char Char
Value 71 <space> <space> C <space>
#Bytes 2 1 4
Type Char Char Double Integer
Value 72 <space>
72: Opgepakte pallet wegzetten Naar locatie in rek: Field Message ID Separator Pallet ID
Programmatie van een automatische palletkraan
68
Separator Letter X Naar X_100 Naar X_10 Naar X_1 Letter Y Naar Y_10 Naar Y_1 Letter S Naar S_1 Dummy
1 1 1 1 1 1 1 1 1 1 10 =27
Char Char Char Char Char Char Char Char Char Char Char
<space> X Y S <space>
Op een conveyor: Field Message ID Separator Pallet ID Separator Letter C Naar C_100 Naar_C_10 Naar_C_1 Dummy
#Bytes 2 1 4 1 1 1 1 1 15 =27
Type Char Char Double Integer Char Char Char Char Char Char
Value 72 <space> <space> C <space>
#Bytes 2 25 =27
Type Char
Value 73
73: Kraanstatus vragen Field Message ID Dummy
Programmatie van een automatische palletkraan
69