EINDWERK: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
Studiegebied Industriële Wetenschappen en Technologie Opleiding Elektromechanica Optie Automatisering Academiejaar 2006-2007
Carl Stroykens
Voorwoord
Als laatstejaarsstudent aan het PIH te Kortrijk, heb ik in het begin van het academiejaar de opdracht gekregen om een eindwerk te maken om het diploma Master in de Elektromechanica te behalen. Om dit eindwerk te realiseren ben ik gedurende het academiejaar elke donderdag te gast geweest in het bedrijf “Waak vzw“ en dit in de afdeling “350 Onderhoud“ te Kuurne. Gedurende deze periode heb ik samen met het onderhoudsteam gewerkt aan de studie en implementatie van een geautomatiseerde gewichtsbepaling. Ik zou dan ook graag een woord van dank richten aan volgende personen: •
Grote dank gaat uit naar het PIH, die me de kans heeft gegeven om dit eindwerk te realiseren.
•
De interne promotor, Mevr. Isabel Sweertvaegher die me gedurende het ganse jaar met veel enthousiasme en goede raad heeft geholpen.
•
Het bedrijf Waak vzw, dat het mogelijk maakte om dit eindwerk te laten uitvoeren. In het bijzonder zou ik de externe promotor Dhr. Philippe Vienne willen bedanken, voor de tijd die hij kon vrijmaken om me een stap dichter bij dit geleverde werk te brengen.
•
Het onderhoudsteam, bedankt allemaal, voor de vele uitleg, het geduld, de toffe samenwerking en jullie steun gedurende de ganse eindwerkperiode.
•
Tenslotte wil ik ook mijn ouders, broer, vriendin en vrienden bedanken voor de steun die ze me gegeven hebben gedurende mijn ganse onderwijsperiode.
Inhoudsopgave 1
INLEIDING
2
BESPREKING VAN HET BEDRIJF
2.1 2.2 2.3 2.3.1 2.3.2 2.3.3 2.4 2.5 2.5.1 2.5.2 2.5.3 3
ALGEMENE WERKING VAN DE POEDERLAKSTRAAT
3.1 3.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.4 4
DOEL VAN DE POEDERLAKSTRAAT SCHEMATISCH BOVENAANZICHT VAN DE POEDERLAKSTRAAT WERKING VAN DE POEDERLAKSTRAAT ZONE 1: ONTVANGST ZONE 2: DE VOORBEHANDELINGSTUNNEL ZONE 3: DE DROOGOVEN ZONE 4: DE SPUITCABINES ZONE 5: DE MOFFELOVEN ZONE 6: VERTREK AANSTURING VAN DE POEDERLAKSTRAAT
DE GEWICHTSBEPALING
4.1 4.2 4.2.1 4.2.2 4.2.3 4.3 4.3.1 4.3.2 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.5 5
REFERENTIES VAN HET BEDRIJF DOEL VAN HET BEDRIJF OVERZICHT VAN HET BEDRIJF WAAK 1: AFDELING BEDRADINGEN EN ELEKTROMONTAGE WAAK 2: SCHOONMAAK, PLANTGOEDKWEKERIJ, CONDITIONERING EN MAILINGS WAAK 3: METAALBEWERKING, ASSEMBLAGE EN WATERKETELS PERSONEEL EN OMZET VAN HET BEDRIJF BELEIDSVERKLARINGEN: BELEIDSVERKLARINGEN OP SOCIAAL VLAK BEDRIJFSMATIGE BELEIDSVERKLARINGEN DE BELANGRIJKSTE WAARDEN VAN HET BEDRIJF
ONDERZOEK NAAR EEN GEWICHTSBEPALING KORTE BESPREKING VAN DE WERKING VAN REKSTROOKJES ALGEMEEN KEUZE VAN HET REKSTROOKJE EN DE LIJM DE BRUG VAN WHEATSTONE KORTE BESPREKING VAN DE WERKING VAN LOADCELLS ALGEMEEN UITVOERINGEN BEPALEN VAN DE KEUZE: REKSTROOKJES OF LOADCELL DE OPDRACHT MOGELIJKHEID 1: REKSTROOKJES AANKOPEN MOGELIJKHEID 2: LOADCELL AANKOPEN KEUZE VAN DE GEBRUIKTE METHODE KEUZE VAN HET TYPE LOADCELL
DE OPSTELLING
5.1 DOEL VAN DE OPSTELLING 5.2 BEPALEN VAN HET GEWICHT 5.2.1 DE MECHANISCHE CONSTRUCTIE 5.2.2 DE LOADCELL 5.2.3 DE MEETVERSTERKER
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
-9- 11 - 11 - 11 - 12 - 12 - 13 - 14 - 14 - 16 - 16 - 16 - 16 - 18 - 18 - 18 - 19 - 19 - 20 - 22 - 22 - 23 - 23 - 24 - 26 - 26 - 26 - 26 - 26 - 27 - 28 - 28 - 30 - 33 - 33 - 33 - 33 - 34 - 35 - 37 - 37 - 38 - 38 - 40 - 41 -
II
5.2.4 5.2.5 5.2.6 5.3 5.3.1 5.3.2 5.4 5.4.1 5.4.2 5.4.3 5.5 5.5.1 5.5.2 5.6 5.6.1 5.6.2 6
BEPALEN VAN DE SNELHEID DE ENCODER INLEZEN VAN DE SNELHEID BEPALEN VAN DE TEMPERATUUR DE PROCESREGELAAR DE ANALOGE OUTPUTKAART INSTELLINGEN VAN DE PROCESREGELAAR BEPALEN VAN HET GASVERBRUIK DE GASMETER AUTOMATISCH OPMETEN VAN HET GASVERBRUIK CONFIGURATIE VAN DE PLC: HET TOUCHPANEL DE ONBOARD CP KAART
HET PROGRAMMA
6.1 6.2 6.2.1 6.3 6.3.1 6.3.2 6.3.3 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.5 6.6 6.6.1 6.6.2 6.6.3 7
DE INDUCTIEVE SENSOR PROEFOPSTELLING VAN DE GEWICHTSBEPALING AANSLUITING OP DE PLC
OVERZICHT EN STRUCTUUR VAN HET PROGRAMMA OPC - TECHNOLOGIE CONFIGUREREN VAN DE OPC SERVER: VISUAL BASIC OPC SERVER OBJECT MODEL IN VB OPC COMMUNICATIE MOGELIJKHEDEN IN VB VB CODE VOOR DE OPC-TECHNOLOGIE EXCEL EXCEL EN VISUAL BASIC. VBA DE GEBRUIKTE EXCEL BESTANDEN DE FORMULE VOOR HET BEPALEN VAN DE GASWAARDE-INDEX VB CODE VOOR DE EXCEL COMMUNICATIE VB CODE VOOR HET PROGRAMMA LAY-OUT VAN HET PROGRAMMA HET HOOFDSCHERM DE LOG-IN FORM HET SPLASH-SCREEN
IMPLEMENTATIE IN DE POEDERLAKSTRAAT
- 45 - 48 - 49 - 50 - 50 - 50 - 51 - 51 - 51 - 53 - 54 - 54 - 54 - 55 - 55 - 56 - 58 - 58 - 58 - 59 - 64 - 65 - 66 - 67 - 70 - 70 - 71 - 72 - 74 - 75 - 77 - 80 - 80 - 81 - 81 - 83 -
7.1 DE IMPLEMENTATIE 7.2 UITGEWERKTE SCENARIO’S: 7.2.1 TESTEN VAN DE FORMULE 7.2.2 WERKELIJK SCENARIO
- 83 - 83 - 83 - 84 -
8
- 87 -
8.1 8.2 9 9.1 9.2 9.3
BESLUIT: EVALUATIE VAN HET EINDPRODUCT EVENTUELE VERBETERINGEN AAN DE MOFFELOVEN: LITERATUURLIJST WEBPAGINA’S: SOFTWARE: BOEKEN EN CURSUSSEN:
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 87 - 87 - 90 - 90 - 90 - 90 -
III
Bijlagen: Bijlage 1: Overzicht van de opgezochte loadcells en meetversterkers. Bijlage 2: Technische informatie van het transportsysteem. Bijlage 3: Overzicht van de programmeermenu’s van de PAXS meetversterker. Bijlage 4: PLC programma: parameters doorsturen. Bijlage 5: PLC programma: berekenen van de kettingsnelheid. Bijlage 6: VB programma: volledige code. Bijlage 7: Gasverbruik in grafiek. periode 2003 – 2007. Bijlage 8: Tarieven Railtechniek BV.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
pagina 2 pagina 4 pagina 6 pagina 8 pagina 11 pagina 14 pagina 21 pagina 23
IV
Lijsten van tabellen en figuren Lijst van figuren: Fig. 2.1: Logo van het bedrijf. .................................................................................................................... - 11 Fig. 2.2: Structuur van VZW Waak. ........................................................................................................... - 11 Fig. 2.3: Overzicht van de afdelingen van de Beschutte Werkplaats.......................................................... - 12 Fig. 2.4: Voorbeelden van activiteiten in de afdeling Waak 1.................................................................... - 12 Fig. 2.5: Voorbeelden van producten in de afdeling Waak 2...................................................................... - 13 Fig. 2.6: Voorbeelden van activiteiten in de afdeling Waak 2, plantgoedkwekerij. ................................... - 13 Fig. 2.7: Voorbeelden van activiteiten in de afdeling Waak 2.................................................................... - 13 Fig. 2.8: Voorbeelden van activiteiten in de afdeling Waak 3.................................................................... - 14 Fig. 2.9: Waterketels en verlichtingsarmaturen. ......................................................................................... - 14 Fig. 2.10: Aantal werknemers..................................................................................................................... - 15 Fig. 2.11: Afdelingen t.o.v. het aantal arbeidskrachten............................................................................... - 15 Fig. 2.12: Omzet en export in 1.000.000 EUR van de firma Waak. ........................................................... - 15 Fig. 3.1: Schematisch bovenaanzicht van de poederlakstraat. .................................................................... - 18 Fig. 3.2: Het transportsysteem. ................................................................................................................... - 19 Fig. 3.3: Voorbeeld van een monorail systeem........................................................................................... - 19 Fig. 3.4: Het ophangsysteem....................................................................................................................... - 19 Fig. 3.5: De voorbehandelingstunnel. ......................................................................................................... - 20 Fig. 3.6: Zoneverdeling van de voorbehandelingstunnel. ........................................................................... - 20 Fig. 3.7: De droogoven. .............................................................................................................................. - 22 Fig. 3.8: Binnenkant van een spuitcabine. .................................................................................................. - 22 Fig. 3.9: Een verfpistool. ............................................................................................................................ - 23 Fig. 3.10: De moffeloven. ........................................................................................................................... - 23 Fig. 3.11: S7-300 PLC en Touchpanel van Siemens. ................................................................................. - 24 Fig. 4.1: Een gedeelte uit de rekstrookjes collectie..................................................................................... - 26 Fig. 4.2: Aanbrengen van een rekstrookje op een proefstuk. ...................................................................... - 27 Fig. 4.3: Strain-Indicator............................................................................................................................. - 27 Fig. 4.4: De brug van Wheatstone. ............................................................................................................. - 28 Fig. 4.5: De loadcell maakt gebruikt van rekstrookjes................................................................................ - 28 Fig. 4.6: Zesdraadsprincipe bij loadcells. ................................................................................................... - 29 Fig. 4.7: Single Point Loadcells.................................................................................................................. - 31 Fig. 4.8: Druk Loadcells. ............................................................................................................................ - 31 Fig. 4.9: Trek Loadcells.............................................................................................................................. - 32 Fig. 4.10: Gamma loadcells van fabrikant Revere. ..................................................................................... - 32 Fig. 4.11: Mogelijke werkwijzen bij loadcells............................................................................................ - 35 Fig. 4.12: De verschillende mogelijkheden om de loadcell aan te sluiten op de PLC. ............................... - 35 Fig. 4.13: Loadcell T66-100kg en meetversterker PAXS........................................................................... - 35 Fig. 5.1: Overzicht van de doelstellingen. .................................................................................................. - 37 Fig. 5.2: Overzicht van de configuratie....................................................................................................... - 38 Fig. 5.3: Geleiding van het transportsysteem.............................................................................................. - 38 Fig. 5.4: De extra steunribben..................................................................................................................... - 39 Fig. 5.5: De proefopstelling. ....................................................................................................................... - 39 Fig. 5.6: Elektrische gegevens van de loadcell. .......................................................................................... - 41 Fig. 5.7: PAXS module............................................................................................................................... - 41 Fig. 5.8: Jumperinstellingen van de PAXS module. ................................................................................... - 42 Fig. 5.9: Aansluitklemmen van de PAXS module. ..................................................................................... - 42 Fig. 5.10: Vierdraadsprincipe, aansluiting op PAXS. ................................................................................. - 42 Fig. 5.11: Overzicht van het programmeermenu. ....................................................................................... - 43 Fig. 5.12: Instelling van de inputparameters............................................................................................... - 43 Fig. 5.13: Analoge uitgangskaart. ............................................................................................................... - 43 Fig. 5.14: Instellingen van de analoge output parameters........................................................................... - 44 Fig. 5.15: Elektrische aansluiting van de analoge outputkaart.................................................................... - 44 Fig. 5.16: Werking van een inductieve sensor. ........................................................................................... - 45 Fig. 5.17: NPN sensor................................................................................................................................. - 46 Fig. 5.18: PNP sensor. ................................................................................................................................ - 46 Fig. 5.19: Tweedraads sensor...................................................................................................................... - 46 -
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
V
Fig. 5.20 : Detectieafstand van een inductieve sensor. ............................................................................... - 47 Fig. 5.21: PNP NO Télémecanique sensor XS1 M30MA........................................................................... - 47 Fig. 5.22: Sensor opgenomen in de proefopstelling.................................................................................... - 47 Fig. 5.23: Vooraanzicht van de proefopstelling .......................................................................................... - 48 Fig. 5.24 : Zijaanzicht van de proefopstelling............................................................................................. - 48 Fig. 5.25: Module settings van de analoge ingangskaart. ........................................................................... - 49 Fig. 5.26: Bedradingschema van de analoge ingangskaart. ........................................................................ - 49 Fig. 5.27: Werkingsprincipe en voorbeeld van een encoder. ...................................................................... - 50 Fig. 5.28: Dicon 500 procesregelaar. .......................................................................................................... - 51 Fig. 5.29: Mogelijke modules bij de Dicon 500.......................................................................................... - 51 Fig. 5.30: Aansluitingen van de Dicon 500. ............................................................................................... - 52 Fig. 5.31: Elektrische aansluiting van uitgang 5 en 6. ................................................................................ - 52 Fig. 5.32: Configuratie menu 1: instelling van de uitgang.......................................................................... - 53 Fig. 5.33: Quantometer van Elster .............................................................................................................. - 54 Fig. 5.34: ProTool CS ontwerpomgeving. .................................................................................................. - 55 Fig. 5.35: MPI 9-pin connector................................................................................................................... - 56 Fig. 5.36: CP 5611 kaart van Siemens. ....................................................................................................... - 56 Fig. 6.1: Koppeling van de PLC met VB en Excel. .................................................................................... - 58 Fig. 6.2: OPC-cliënt , server principe. ........................................................................................................ - 59 Fig. 6.3: Configuratie van de OPC–server.................................................................................................. - 60 Fig. 6.4: Samenstellen OPC–server: insteekplaats 1................................................................................... - 60 Fig. 6.5: Samenstellen OPC-server: insteekplaats 2. .................................................................................. - 61 Fig. 6.6: Fysische eigenschappen van de CP-kaart. .................................................................................... - 61 Fig. 6.7: Set PG/PC interface...................................................................................................................... - 62 Fig. 6.8: Toevoegen van een PC station...................................................................................................... - 62 Fig. 6.9: Virtuele Bus in Step 7................................................................................................................... - 62 Fig. 6.10: Hardwareconfiguratie van de Virtuele Bus. ............................................................................... - 63 Fig. 6.11: Connectie aanmaken in de NetPro omgeving............................................................................. - 63 Fig. 6.12: OPC wrapper. ............................................................................................................................. - 64 Fig. 6.13: OPC Server Object Model.......................................................................................................... - 65 Fig. 6.14: Server Object Model t.o.v. de OPC-server. ................................................................................ - 65 Fig. 6.15: Synchrone communicatie. .......................................................................................................... - 66 Fig. 6.16: Asynchrone communicatie. ........................................................................................................ - 66 Fig. 6.17: Gebeurtenis gestuurde communicatie......................................................................................... - 67 Fig. 6.18: Declareren van de objecten voor OPC-technologie.................................................................... - 68 Fig. 6.19: Standaardcode bij form-load. ..................................................................................................... - 68 Fig. 6.20: Activeren van de OPC Group..................................................................................................... - 69 Fig. 6.21: Standaardcode bij form-unload. ................................................................................................. - 69 Fig. 6.22: Visualiseren van de parameters. ................................................................................................. - 70 Fig. 6.23: Voorstelling van een DLL-bestand............................................................................................. - 70 Fig. 6.24: References bibliotheek, aanduiden van Excel reference............................................................. - 71 Fig. 6.25: Object Model van Excel. ............................................................................................................ - 72 Fig. 6.26 : De vier worksheets om de gegevens per dag bij te houden. ...................................................... - 73 Fig. 6.27 : Het worksheet gemiddelden. ..................................................................................................... - 73 Fig. 6.28 : Het Excel bestand waar de gaswaarde-index berekend wordt................................................... - 74 Fig. 6.29: Declareren van de objecten voor Excel. ..................................................................................... - 76 Fig. 6.30: Standaardcode bij form load....................................................................................................... - 76 Fig. 6.31: Standaardcode bij form unload................................................................................................... - 77 Fig. 6.32: Parameters wegschrijven naar het Excel bestand. ...................................................................... - 77 Fig. 6.33: Parameters wegschrijven naar het 2de Excel bestand.................................................................. - 78 Fig. 6.34: Resetten van de setting. .............................................................................................................. - 78 Fig. 6.35: Bereikbaar maken van het Excel bestand. .................................................................................. - 78 Fig. 6.36: Applicatie automatisch laten werken.......................................................................................... - 79 Fig. 6.37: Applicatie in stop........................................................................................................................ - 79 Fig. 6.38: Programma in werking ............................................................................................................... - 80 Fig. 6.39: Programma in stop...................................................................................................................... - 80 Fig. 6.40: De Log-in form........................................................................................................................... - 81 Fig. 6.41: Het Splash-screen. ...................................................................................................................... - 81 Fig. 7.1: Uittesten van de formule. ............................................................................................................. - 83 Fig. 7.2: Grafiek 50 meetpunten. ................................................................................................................ - 84 -
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
VI
Fig. 7.3: Werkelijk scenario........................................................................................................................ - 84 Fig. 7.4: Grafiek 20 meetpunten. ................................................................................................................ - 85 -
Lijst van tabellen: Tabel 4.1: Kostprijs loadcells. .................................................................................................................... - 34 Tabel 4.2: Kostprijs rekstrookjes. ............................................................................................................... - 34 Tabel 5.1: Materiaaleigenschappen van messing........................................................................................ - 39 Tabel 5.2: Technische specificaties van de loadcell. .................................................................................. - 40 Tabel 5.3: PAXS input specificaties. .......................................................................................................... - 41 Tabel 5.4: Technische gegevens van de quantometer. ................................................................................ - 54 Tabel 5.5: Technische specificaties van de CP 5611 – kaart. ..................................................................... - 56 -
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
VII
1 Inleiding
1 INLEIDING De eindwerkopdracht gaat door in de afdeling metaalbewerking van de firma Waak te Kuurne, waar een poederlakstraat aanwezig is. Dit is een geautomatiseerde productielijn om werkstukken te lakken. De werkstukken worden na het lakken gedroogd door een oven die op aardgas werkt. Om het gasverbruik van de oven te reduceren werd voorgesteld een programma te ontwikkelen dat het gasverbruik kan opvolgen. De energiefactuur van de oven is een groot onderdeel van de kost om de stukken te lakken. Het is dan ook wenselijk om deze kost zo laag mogelijk te houden. Omdat verschillende werkstukken en lakprocedés gebruikt worden in de productielijn moet rekening gehouden worden met verschillende factoren. Een belangrijke factor is het gewicht van de werkstukken, een zwaarder gewicht zal meer warmte uit de oven onttrekken en dus resulteren in een hoger gasverbruik. Een andere factor is de tijd die nodig is om de stukken te drogen, deze wordt bepaald door de snelheid waarmee de stukken door de oven gaan. Indien er snel gedroogd moet worden zal de oven meer gas verbruiken. Bij de verschillende lakmethodes is ook de droogtemperatuur, die afhankelijk is van het type verf, belangrijk. Het doel is om al deze parameters te bundelen en te verwerken tot één enkele index die een referentie van het gasverbruik van de droogoven voorstelt, namelijk de ‘gaswaarde-index’. Om eenvoudig bij te houden wordt gebruik gemaakt van Visual Basic om een programma te ontwerpen en Microsoft Excel om alle gegevens bij te houden. Door gebruik te maken van dit programma is het mogelijk om onregelmatigheden in het gasverbruik van de oven snel terug te vinden. Voorbeeld, als de gasbrander van de oven moet gereinigd worden, kan er preventief ingegrepen worden. Dit ten opzichte van vroeger, waar het verbruik van de oven enkel via de gasfactuur op het einde van de maand kon gecontroleerd worden. Anderzijds kan ook nagegaan worden hoelang geproduceerd werd op een bepaalde dag. Indien weinig stukken gelakt worden en er toch een hoog gasverbruik is, kan onderzocht worden of er eventueel ergens een storing in het productieproces is. Een voorbeeld hiervan is een te trage aanvoer van nieuwe, te lakken werkstukken. Op deze manier kan het programma een bijdrage zijn voor de totale productiviteit van het bedrijf. Een belangrijk onderdeel van het eindwerk is het bepalen van het gewicht. Dit kan gebeuren op verschillende manieren, ofwel met rekstrookjes of met behulp van loadcells. Hierbij is het niet de bedoeling dat het gewicht van elk stuk bepaald wordt, maar dat er kan nagegaan worden hoeveel gewicht (kilogram) aan werkstukken in een bepaald tijdsinterval voorbijkomen. Het gewicht van elk werkstuk bepalen zou constructief heel moeilijk worden waardoor de kostprijs onnodig zou stijgen. Omdat de productielijn continu in bedrijf is en om de gewichtsbepaling uit te werken, werd vooraf een proefopstelling opgebouwd. Op die manier wordt een minimale implementatietijd gecreëerd en hoeft de productielijn niet lang stil te liggen. Dit dossier bevat een volledige samenvatting van hoe de applicatie tot stand is gekomen, ingeleid door een korte bespreking van het bedrijf en de werking van de poederlakstraat. In hoofdstuk vier en vijf wordt er dieper ingegaan op de gewichtsbepaling en de opstelling. Hoofdstuk zes neemt het programmeergedeelte onder de loep en het script wordt afgesloten met de implementatie in de poederlakstraat, een uitgewerkt scenario en een bespreking van de mogelijke verbeteringen aan de moffeloven voor in de toekomst.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
-9-
2 Bespreking van het bedrijf
2 BESPREKING VAN HET BEDRIJF 2.1 Referenties van het bedrijf Het eindwerk gaat door in de firma Waak te Kuurne, met volgende referenties: Waak VZW Heirweg 125 8520 KUURNE België Tel. +32 (0)56 / 36.34.34 Fax. +32 (0)56 / 36.72.34 E-mail:
[email protected] Website: www.waak.be Fig. 2.1: Logo van het bedrijf.
Interne Promotor: Philippe Vienne Externe Promotor : Isabel Sweertvaegher
2.2 Doel van het bedrijf Waak Beschutte Werkplaats vzw, waar het eindwerk en de stage doorgaat, behoort tot de groep Waak vzw. Dit bedrijf werd opgericht in 1965 en voorziet een brede waaier van initiatieven in de gehandicaptensector. Waak bestaat uit drie grote delen (zie fig. 2.2), namelijk de Beschutte Werkplaats, de Sociale Werkplaats en de Branding.
Fig. 2.2: Structuur van VZW Waak.
De werkplaats is vooral arbeidsgericht en de Branding staat in voor de zorgverlening. Deze zorgverlening bestaat uit een gezinsvervangend tehuis met een begeleiding van gedecentraliseerd wonen en een dagcentrum. Waak wil de kwaliteit van het leven van onze gehandicapte medeburgers verbeteren door in onze regio een antwoord te bieden aan de nood tot sociale integratie van personen met een handicap en dit door het verschaffen van een aangepaste arbeid in de Beschutte Werkplaats. Waak richt zich tot alle personen met een arbeidshandicap, ongeacht de aard van hun handicap. Het bedrijf wil dan ook een voorbeeldfunctie geven en de dienstverlening optimaal beschikbaar stellen aan zijn werknemers.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 11 -
2.3 Overzicht van het bedrijf De Beschutte Werkplaats richt zich vooral tot opdrachten met een belangrijk aandeel manuele taken, uitgevoerd met moderne productiemiddelen. De Beschutte Werkplaats bestaat uit drie grote afdelingen en dit elk met zijn aparte producten of diensten. Een overzicht van de afdelingen is weergegeven in onderstaande grafiek (zie fig. 2.3).
Fig. 2.3: Overzicht van de afdelingen van de Beschutte Werkplaats.
Het eindwerk heeft plaats in Waak 3, bij de afdeling metaalbewerking. In deze afdeling is een onderhoudsafdeling voorzien, deze staat niet enkel in voor het onderhoud, maar ook voor nieuwe technologieën op het gebied van de metaalbewerking. Het eindwerk heeft betrekking op de automatische poederlakstraat waar stukken gelakt worden.
2.3.1
Waak 1: Afdeling bedradingen en elektromontage
In Waak 1 worden vooral bedradingen en kabelbomen voor personen - en vrachtwagens, alsook voor huishoudtoestellen (wasmachines, drogers, enz.) geleverd aan andere bedrijven. Daarenboven maken ze ook bedradingen voor industriële toepassingen zoals textielmachines, elektronica componenten, compressoren, enz. (zie fig. 2.4).
Fig. 2.4: Voorbeelden van activiteiten in de afdeling Waak 1.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 12 -
2.3.2
Waak 2: Schoonmaak, plantgoedkwekerij, conditionering en mailings
In de afdeling Waak 2 wordt een volledig gamma artikelen geproduceerd voor nat en droog schoonmaken van vloeren en ramen (zie fig. 2.5).
Fig. 2.5: Voorbeelden van producten in de afdeling Waak 2.
Anderzijds is in Waak 2 ook een plantgoedkwekerij gevestigd met een groot aanbod van zelfgekweekte planten, zoals perkplanten, chrysanten, bodembedekkers en zelfs klantgerichte aanvragen (zie fig. 2.6).
Fig. 2.6: Voorbeelden van activiteiten in de afdeling Waak 2, plantgoedkwekerij.
In deze afdeling staat afzonderlijk een dienst Groenzorg ter beschikking van verschillende bedrijven, particulieren en openbare besturen. De Groenzorg staat in voor het onderhoud van bedrijfsdomeinen, plantsoenen en parken. Naast deze twee afdelingen is nog een derde afdeling gevestigd in Waak 2, namelijk de afdeling Conditionering en Mailings. De Conditionering heeft als specialiteit het manueel en half automatisch conditioneren van allerhande goederen zoals uitwegen, tellen, markeren, verpakken in zak of doos evenals het maken van staalkaarten, het afwerken van drukwerken en allerhande kleine montagewerken. Voor elk eenvoudig seriewerk dat niet automatisch kan uitgevoerd worden is deze afdeling beschikbaar. De dienst Mailings richt zich vooral op mailings die niet automatisch kunnen verlopen. Voorbeeld daarvan zijn speciale formaten, specifieke vouwpatronen, het toevoegen van monsters, promotieacties, etiketteren, enz. (zie fig. 2.7). Een volledige dienst wordt aangeboden van het vullen van de omslag tot het leveren aan de Post.
Fig. 2.7: Voorbeelden van activiteiten in de afdeling Waak 2.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 13 -
2.3.3
Waak 3: Metaalbewerking, assemblage en waterketels
In de afdeling metaalbewerking worden toeleveringsstukken gemaakt in middelgrote serie. Vertrekkend van blanke plaat of buis zorgt de afdeling niet alleen voor de fabricage, maar ook voor de afwerking en eventueel het poederlakken van het stuk. Er zijn verschillende toepassingsgebieden zoals laswerk, plaatbewerking en oppervlaktebehandeling (zie fig. 2.8).
Fig. 2.8: Voorbeelden van activiteiten in de afdeling Waak 3.
Enkele voorbeelden van afgeleverde producten zijn keukenapparaten (vb. frietketels, ovens), zetelonderstellen, verlichtingsarmaturen en waterketels (zie fig. 2.9). Deze laatste twee voorbeelden zijn specialisaties van het bedrijf en worden in heel wat uiteenlopende modellen aangemaakt.
Fig. 2.9: Waterketels en verlichtingsarmaturen.
De afdeling assemblage zorgt voor de afwerking van een product. Dit is assemblage van mechanische - of elektromechanische -, al dan niet in combinatie met elektronische -, componenten, bedradingen, enz. Het kan hierbij gaan om de assemblage van een onderdeel van een product of de complete afwerking van een product, inclusief het testen en verpakken.
2.4 Personeel en omzet van het bedrijf Waak wil zijn medewerkers een brede waaier aan kansen bieden, om de noodzakelijke bevoegdheden en kennis te ontwikkelen, zodat ze maximaal kunnen bijdragen tot de realisatie van de bedrijfsdoelstellingen en de ondernemingsstrategie. Tegelijk krijgen ze de mogelijkheid om hun eigen inzetbaarheid verder te ontwikkelen. Training, groei, begeleiding, ontwikkeling en sturing van de carrière zijn geen lege begrippen maar vormen de kern van het personeelsbeleid. Waak integreert personen met een arbeidshandicap in onze samenleving en geeft hen een eerlijke kans.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 14 -
Het aantal werknemers bedraagt voorlopig rond de 1700, waarvan ongeveer 400 zonder arbeidshandicap (zie fig. 2.10).
Fig. 2.10: Aantal werknemers.
Het grootste deel van het personeel is gevestigd in de productie van kabelbomen en de metaalbewerking (zie fig. 2.11).
Fig. 2.11: Afdelingen t.o.v. het aantal arbeidskrachten.
Niet enkel het personeel groeit elk jaar, maar ook de omzet en de productiecijfers (zie fig. 2.12) stijgen elk jaar. Dit toont aan dat de Waak een bedrijf is met een goede gezondheid, dat blijft groeien.
Fig. 2.12: Omzet en export in 1.000.000 EUR van de firma Waak.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 15 -
2.5 Beleidsverklaringen: 2.5.1
Beleidsverklaringen op sociaal vlak
♦ Waak wil aan zoveel mogelijk personen met een arbeidshandicap aangepast werk verschaffen. ♦ Waak biedt begeleiding aan personen met een handicap om hun arbeidsmogelijkheden te optimaliseren. ♦ De persoon met de handicap staat centraal in de werkomgeving. ♦ Er wordt rekening gehouden met mogelijkheden maar ook met de beperkingen van de werknemer. ♦ De mogelijkheden van de werknemer worden maximaal gestimuleerd. ♦ De kansen om zich te integreren op de gewone arbeidsmarkt worden vergroot.
2.5.2
Bedrijfsmatige beleidsverklaringen
♦ Waak wil een werkomgeving scheppen die vergelijkbaar is met een open bedrijf. ♦ De economische benadering ondersteunt de sociale doelstellingen. ♦ Teneinde de continuïteit van de werkverschaffing te verzekeren, zoekt Waak voornamelijk naar opdrachten in de industriële productie en toelevering. ♦ Kwalitatieve aanpak van productie en organisatie volgens norm ISO 90021. ♦ De werkverschaffing gebeurt in een veilige en milieuvriendelijke werkomgeving.
2.5.3
De belangrijkste waarden van het bedrijf
♦ Hoe de opdracht uitgevoerd wordt is even belangrijk als de opdracht zelf. ♦ Gericht op personen met een handicap. ♦ De grondslagen zijn: respect voor elkaar, klant – en verbeteringsgericht denken en handelen. De grondbeginselen van IKZ. Beleidsverklaringen zijn heel belangrijk voor een bedrijf, omdat hierin duidelijk de doelstellingen en waarden van het bedrijf geformuleerd zijn. Dit kan een belangrijke factor zijn voor andere bedrijven die handel willen drijven met de Waak, voor de werknemers zelf, alsook voor de vacatures van het bedrijf.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 16 -
3 Algemene werking van de poederlakstraat
3 ALGEMENE WERKING VAN DE POEDERLAKSTRAAT 3.1 Doel van de poederlakstraat Het doel van de poederlakstraat is om een ruw metalen stuk met een bepaalde grootte te poederlakken en dit zo snel en nauwkeurig mogelijk. Dit alles met een minimaal verbruik van energie en een minimale kost van benodigde producten. Een minimale kennis van de poederlakstraat is vereist om het eindwerk tot een goed einde te brengen.
3.2 Schematisch bovenaanzicht van de poederlakstraat De pijl toont de weg van het werkstuk.
ZONE 3
Droogoven
Moffeloven Afgifte
ZONE 2
Magazijn
Spuit Cabine 3
ZONE 4
Spuit Cabine 1
ZONE 6
Voorbehandelingsruimte
ZONE 5
Spuit Cabine 2
Spuiten
ZONE 1 Ontvangst Magazijn
Aankomst van onafgewerkte stukken
Fig. 3.1: Schematisch bovenaanzicht van de poederlakstraat.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 18 -
3.3 Werking van de poederlakstraat De productielijn bestaat uit zes belangrijke zones (zie fig. 3.1). Hieronder volgt een korte bespreking van deze zones.
3.3.1
Zone 1: Ontvangst
De ruwe stukken worden vanuit het magazijn aangebracht op een palet. Deze te lakken stukken worden door een arbeider manueel aan een transportsysteem gehangen (zie fig. 3.2). Dit transportsysteem zorgt ervoor dat de stukken gedurende het hele proces vastgehouden worden en met een constante snelheid door het productieproces bewegen.
Fig. 3.2: Het transportsysteem.
Er wordt hier gebruik gemaakt van een monorail systeem (zie fig. 3.3). Dit systeem is te vergelijken met een lange ketting waar de producten aan hangen en verder bewegen naar de gewenste locatie. Dit systeem werkt met een lage wrijving en kan grote krachten transporteren. De lage wrijving is belangrijk omdat het over lange afstanden gaat. Indien er een grote wrijving zou zijn, moet de motor veel zwaarder gedimensioneerd worden en is er veel verloren energie.
Fig. 3.3: Voorbeeld van een monorail systeem.
De producten worden door een arbeider aan een lange haak geplaatst (zie fig. 3.4). Op die manier kunnen bij kleine werkstukken meerdere producten aan één haak geplaatst worden en omgekeerd bij grote werkstukken kunnen deze verdeeld worden over meerdere haken. Dit ophangsysteem is een belangrijk onderwerp in het eindwerk, omdat het systeem op een correcte manier zal moeten onderbroken worden om de gewichtsbepaling uit te voeren.
Fig. 3.4: Het ophangsysteem.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 19 -
3.3.2
Zone 2: De voorbehandelingstunnel
De eerste fase die de stukken ondergaan is een voorbehandeling. Deze voorbehandeling is van groot belang om een hoogwaardige ondergrond te verkrijgen voor stalen en aluminium producten. Deze voorbehandeling (zie fig. 3.5) is hier gerealiseerd in een reeks dompelbaden met behulp van verschillende chemische producten.
Fig. 3.5: De voorbehandelingstunnel.
De tunnel is voorzien van drie baden met elk een specifiek doeleinde. De badverwarming gebeurt door uitgebouwde warmtewisselaars, namelijk Alfa Laval platen die de baden opwarmen. Deze platen worden door een centrale verwarmingseenheid aangestuurd. De tunnel kan in verschillende zones worden opsplitst, dit om de werking beter uit te leggen (zie fig. 3.6).
Inloop Zone
Ontvetting Zone
Spoel Zone
Neutrale Zone
Proces Zone
Afblaas Zone
Pad van het product
Fig. 3.6: Zoneverdeling van de voorbehandelingstunnel.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 20 -
♦ De inloopzone: Een ventilator is voorzien om het condensatievocht van de tunnel af te voeren en om het stof van de stukken af te blazen. ♦ Ontvettingszone: De stukken worden in een bad met vloeistof gebracht en ontvet. ♦ De spoelzone: Hier worden de werkstukken in een bad gespoeld, met een door de chemicaliënleveranciers te bepalen hoeveelheid vloeistof, om zo de ontvettingsvloeistof en andere verontreinigingen te verwijderen. De aan en afvoer van het water wordt geregeld aan de hand van een flowmeter. ♦ Neutrale zone: In deze zone worden de stukken belemmerd van drogen tussen de spoel- en de proceszone. Het is belangrijk dat de werkstukken nog vochtig zijn om een goede fosfatatie te krijgen. ♦ Proceszone: Hier wordt vloeistof over de stukken gespoten om zo een ijzerfosfatatie te verkrijgen. Fosfatatie is een chemisch proces dat een laag onoplosbare fosfaten op een metalen oppervlak aanbrengt. Omdat de toplaag van het basismateriaal geen metaal meer bevat - dit is in de spoelzone verwezenlijkt - reageert het daardoor anders dan het oorspronkelijke metaaloppervlak. Een dergelijke laag wordt ook wel conversielaag genoemd. Deze fosfaatlaag heeft bovendien goede hechting- en corrosiewerende eigenschappen. Het fosfateerproces kan niet worden gebruikt bij non-ferrometalen zoals aluminium, messing, koper of roestvrij staal. IJzerfosfatatie ontstaat door inwerking van een zwakzure fosfaathoudende vloeistof op het staaloppervlak. De kleur van de fosfaatlaag is grijs tot blauwzwart. Verbeterende eigenschappen door een ijzerfosfatatie: o Er ontstaat een corrosie bescherming op het werkstuk. o Er is een betere hechting bij lak- en lijmtoepassingen. o Werkstukken in de machinebouw zijn beter beschermd tegen slijtage. ♦ Afblaaszone: In deze zone worden de waterdruppels van de stukken geblazen, zodat deze al half gedroogd zijn.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 21 -
3.3.3
Zone 3: De droogoven
Na de voorbehandeling is een droogoven (zie fig. 3.7) voorzien om de stukken te drogen en op een bepaalde temperatuur te brengen vooraleer ze gelakt worden. Het opwarmen van de werkstukken is belangrijk omdat iets warmere stukken een betere lak voortbrengen. De oven heeft een constante temperatuur van ongeveer 120°C en is voorzien van een inloop – en uitloopsluis, dit om de warmteverliezen uit de oven tot een minimum te beperken. De verblijftijd van de stukken is gemiddeld acht minuten.
Fig. 3.7: De droogoven.
3.3.4
Zone 4: De spuitcabines
Er zijn drie spuitcabines voorzien om de stukken te poederlakken. Dit zijn beweegbare cabines (zie fig. 3.8) die afhankelijk van het kleur en type verf automatisch naar voor gebracht worden.
Fig. 3.8: Binnenkant van een spuitcabine.
Hier worden de stukken gelakt met de gewenste verfkleur door een elektrostatisch poederlaksysteem, dit aan de hand van automatische - of handpistolen. De pistoolkeuze is volledig afhankelijk van het te lakken stuk. Het principe van elektrostatisch spuiten met verfpoeder is, dat het te verven voorwerp als het ware magnetisch geladen wordt, en zo het verfpoeder ‘aantrekt’ als een magneet. Die poederlaag wordt dan verhit zodat deze smelt, en een deklaag vormt. Bij het spuiten wordt een verschil in elektrische potentiaal tussen het werkstuk en de laknevel opgewekt, waardoor de nevel 'aangetrokken' wordt. Het werkstuk moet als het ware geleidend worden gemaakt.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 22 -
Het gewenste verfpoeder wordt bij het verlaten van het pistool (zie fig. 3.9) met een zwakke, ongevaarlijke stroomsterkte maar onder hoge spanning (60.000 tot 90.000 Volt) elektrostatisch opgeladen. Daar de productdeeltjes dezelfde polariteit hebben, zullen zij elkaar afstoten, waardoor een zeer gelijkvormige nevel wordt verkregen. Door het werkstuk te aarden, krijgt het een tegenovergestelde lading dan de productnevel, waardoor het voorbijvliegende verfpoeder door het werkstuk aangetrokken wordt.
Fig. 3.9: Een verfpistool.
3.3.5
Zone 5: De moffeloven
Nadat de stukken gelakt zijn moeten deze natuurlijk gedroogd worden, dit gebeurt in een moffeloven (zie fig. 3.10). Dit is een oven die uit twee delen bestaat en waar het stuk een bocht neemt van 180°, om zo langer in de oven aanwezig te zijn. De temperatuur van de oven varieert tussen de 180°C en 210°C.
Fig. 3.10: De moffeloven.
3.3.6
Zone 6: Vertrek
De stukken worden na het drogen terug manueel van de band genomen (zie fig. 3.1). De arbeider plaatst de stukken in speciale, uit zachte kunststof gemaakte, bakken die de lak niet kunnen beschadigen. De bakken worden terug in het magazijn geplaatst en de assemblage van de stukken kan uitgevoerd worden.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 23 -
3.4 Aansturing van de poederlakstraat De aansturing van de poederlakstraat gebeurt door verschillende afzonderlijke units die niet in een netwerk of veldbus zijn opgenomen. Elke productiezone werkt met een afzonderlijke sturing die aangepast is aan de specifieke eisen die gesteld zijn. Toch is er een centrale PLC gekoppeld om enkele essentiële basisinstructies uit te voeren. Dit is een Siemens S7 –300 PLC (zie fig. 3.11), die gekoppeld is met een Simatic Touchpanel TP 170A. Deze PLC regelt de sturing van het transportsysteem, welk type product er aanwezig is en de signalisatie elementen.
Fig. 3.11: S7-300 PLC en Touchpanel van Siemens.
De PLC regelt niet de warmte van de ovens, de regeling van de spuitcabines of de temperaturen en doseringseenheden van de voorbehandelingsbaden. Deze worden allemaal door afzonderlijke procesregelaars gecontroleerd. De afzonderlijke units bespreken zou zich te ver leiden en is niet van toepassing voor het eindwerk. Enkel de temperatuursregeling van de droogoven wordt kort besproken in hoofdstuk 5. Om de gewichtsbepaling in de poederlakstraat te implementeren zal de applicatie met behulp van de huidige S7-300 PLC werken. Tijdens de metingen zal een PC continu in verbinding staan met de PLC om zo aan de hand van het VB programma alle gegevens te kunnen opslaan in een Excel document. De extra componenten die nodig zijn voor de sturing worden in hoofdstuk 5 vermeld.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 24 -
4 De gewichtsbepaling
4 DE GEWICHTSBEPALING 4.1 Onderzoek naar een gewichtsbepaling Het doel van het onderzoek is een zo goedkoop mogelijk systeem te ontwikkelen die het gewicht kan bepalen van een stuk. Deze gewichtsbepaling moet niet zo nauwkeurig zijn waardoor bepaalde certificaten en nauwkeurigheidsklassen niet relevant zijn. Om een gewichtsbepaling uit te voeren kan gebruik gemaakt worden van rekstrookjes of loadcells. In het onderzoek wordt nagegaan welke methode gebruikt zal worden en welke componenten er nodig zijn bij de gekozen methode.
4.2 Korte bespreking van de werking van rekstrookjes 4.2.1
Algemeen
Rekstrookjes zijn resistieve opnemers, die gebruik maken van weerstandsveranderingen ten gevolge van mechano-resistieve effecten of piëzo-resistieve effecten. Anders en eenvoudiger gezegd, een rekstrookje is een opnemer voor het meten van kleine lengteveranderingen en is niet meer dan een draad met een bepaalde weerstand. Als deze draad van lengte verandert zal ook de weerstand variëren, een korter wordende draad resulteert in een lagere weerstand en langer wordende draad levert een hogere weerstand op. Ze steunen op het principe van rek. De definitie van rek is: ”Binnen zekere grenzen is de relatieve weerstandsverandering lineair evenredig met de relatieve lengteverandering”. Door een rekstrook op een te vervormen materiaal te lijmen kan ter plaatse van de strook rek, opgemeten worden. Rekstrookjes (zie fig. 4.1) worden o.a. toegepast in krachtmeetdozen en meetbeugels. Ze kunnen gebruikt worden voor gewichtsbepalingen.
Fig. 4.1: Een gedeelte uit de rekstrookjes collectie.
4.2.2
Keuze van het rekstrookje en de lijm
De keuze van het type rekstrookje wordt bepaald door de materiaalsoort en door de toelaatbare mechanische rek van het materiaal. Voor materialen als metaal en beton blijft de mechanische rek meestal beneden deze toelaatbare rek. De afmetingen van het rekstrookje worden bepaald door de afmetingen van het proefstuk en/of hoe lokaal de rek wordt gemeten. Bij een uniforme rek speelt dit laatste geen rol.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 26 -
De lijmsoort wordt voornamelijk bepaald door de ruwheid van het oppervlak van het proefstuk. Het rekstrookje moet namelijk zo dicht mogelijk op het proefstuk komen te liggen om de mechanische vervorming van het proefstuk zo goed mogelijk te kunnen volgen (zie fig. 4.2).
Fig. 4.2: Aanbrengen van een rekstrookje op een proefstuk.
Bij een glad oppervlak kan secondenlijm gebruikt worden. Bij een ruw oppervlak zal een vullende lijm gekozen worden om een zo ideaal mogelijk contact te krijgen. Als het rekstrookje goed op het materiaal gekleefd is, wordt er een complete controlemeting uitgevoerd waarmee gekeken wordt of het rekstrookje inderdaad een rek kan ondergaan. Deze meting geschiedt met een Strain-Indicator (zie fig. 4.3). Dit op de volgende manier: Sluit de meter aan en stel deze in, buig het object en laat het terug komen in beginstand. Wanneer nu de meter in de beginstand terug komt kan de conclusie getrokken worden dat het rekstrookje goed bevestigd is.
Fig. 4.3: Strain-Indicator.
4.2.3
De brug van Wheatstone
Een rekstrookje is een passief element dit wil zeggen dat bij vervorming alleen de fysische weerstand verandert. Om deze weerstandsverandering nauwkeurig te kunnen meten worden de rekstrookjes in een brug van Wheatstone geschakeld (zie fig. 4.4). Het verkregen signaal wordt daarna versterkt, gemeten en verwerkt. De brug van Wheatstone is een brugschakeling waarmee zeer kleine weerstanden of weerstandsveranderingen kan gemeten worden. Ideaal is een volkomen symmetrisch opgebouwde brug van Wheatstone. Niet alleen de weerstand van de rekstrookjes in de brug maar ook de verbindingsleidingen van en naar de brug dienen zo symmetrisch mogelijk te zijn. Dat wil zeggen dat de elementen dezelfde soortelijke weerstand, doorsnede, lengte en temperatuur coëfficiënt moeten hebben om een optimaal meetresultaat te verkrijgen. Ook bij half- en kwart brug schakelingen is de symmetrie belangrijk.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 27 -
Fig. 4.4: De brug van Wheatstone.
Naast de gevoeligheid van rekstrookjes voor lengteverandering als gevolg van uitwendige mechanische belasting zijn rekstrookjes ook gevoelig voor lengteveranderingen door temperatuurschommelingen. Als alle relatieve lengteveranderingen door temperatuurvariaties in de brug gelijk zijn wordt er geen fout gemaakt door temperatuurvariaties. Veelal wordt in de brug voor R1 en R2 een identieke rekstrook gebruikt, die tevens op hetzelfde materiaal wordt aangebracht (gelijke thermische uitzetting). In geval dat R2 niet wordt gerekt maar slechts dient om temperatuursveranderingen te compenseren, wordt van een dummy rekstrook gesproken. Let op: temperatuursveranderingen kunnen aanleiding zijn tot het meten van een schijnbare rek.
4.3 Korte bespreking van de werking van Loadcells 4.3.1
Algemeen
De werking van een gewone loadcell rust op het principe van rekstrookjes, want er worden rekstrookjes gebruikt om een loadcell te maken (zie fig. 4.5). Dus zal ook hier de invloed van een kracht een zekere vervorming met zich meebrengen. Deze vervorming wordt nu echter opgemeten met een aantal, minstens vier rekstrookjes, die op een bepaald lichaam gekleefd zijn. De rekstrookjes worden eveneens in een brug van Wheatstone geplaatst om de kleine weerstandsvariatie te kunnen opmeten.
Fig. 4.5: De loadcell maakt gebruikt van rekstrookjes.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 28 -
De meeste cells zijn uit gereedschapsstaal of uit roestvaststaal vervaardigd om zo goede materiaaleigenschappen te bezitten. Onder last worden twee rekstrookjes uitgerekt en twee ingedrukt. Van deze twee ingedrukte strookjes vermindert de weerstand en van de uitgerokken strookjes vermeerdert hij. Zo zal de brug een onevenwicht opmeten, die moet worden opgemeten met een meetversterker, dit omdat het signaal heel klein is en versterkt moet worden. De meetversterker kan eventueel nog onzuiverheden in het signaal zoals ruis en trillingen wegwerken. Er kan gewerkt worden met het vierdraads - of het zesdraadsprincipe. Bij het zesdraadsprincipe (zie fig. 4.6) zal de spanningsval niet over de voedingdraden worden opgemeten en dit principe wordt dan ook het meeste toegepast. Vooral op plaatsen waar de meetcel zich op grote afstand van de meetversterkers of ingangskaarten bevinden.
Fig. 4.6: Zesdraadsprincipe bij loadcells.
De gevoeligheid wordt uitgedrukt in mV/V, daarmee wordt bedoeld dat de spanning die ontstaat bij onevenwicht van de brug zoveel mV is per aangelegde Volt bij nominale belasting. Voorbeeld een cell om 1000kg te wegen met een gevoeligheid van 2mV/V die is aangesloten op een 24V voeding zal bij nominale belasting een spanning van 48mV geven tussen zijn aansluitklemmen. Er zijn echter ook loadcells die werken op een ander principe dan rekstrookjes, want er zijn heel wat mogelijkheden om een kracht op te meten. Enkele voorbeelden: ♦ Piëzo elektrische kristallen: Als op een kristallijn materiaal een kracht wordt uitgeoefend, ontstaan elektrische ladingen op de oppervlakte van het materiaal. Deze ladingen zijn evenredig met de kracht op het materiaal. En van daaruit kan opnieuw een krachtmeting uitgevoerd worden. Als materiaal wordt vooral kunstkwarts gebruikt, deze opnemers bezitten een grote gevoeligheid en kosten dan ook veel meer dan cells met rekstrookjes. Echter moet wel vermeld worden dat dit type van meetcel niet ideaal is om krachten op te meten over een lange tijd, waardoor ze als weegapplicatie minder goed zijn. ♦ Hydraulische/pneumatische krachtopmeters: De krachtbepaling gebeurt aan de hand van een drukmeting in een gas of vloeistof.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 29 -
♦
Andere krachtmetingen:
Elke kracht kan via een elastisch lichaam teruggebracht worden tot een lengtemeting, dit is bepaald door de wet van Hooke (Formule 4.1). De enige voorwaarde is dat er in het lineaire gebied van de elasticiteitsmodulus van het materiaal moet gewerkt worden. F = k * ∆x
Formule 4.1
met: F: kracht (Newton), k: krachtconstante (N/m), ∆x: uitrekking (m). Enkele voorbeelden: o
Een LVDT of Linear Variable Differential Transformer kan gebruikt worden om een lengteverandering op te meten. De LVDT produceert een wisselspanning met een amplitude evenredig met de lengteverandering. In combinatie met bepaalde elastische lichamen kan ook dit geschikt zijn voor dynamische metingen.
o
Door gebruik te maken van een capacitieve meting door middel van een variabele condensator. De sensor bestaat uit twee evenwijdige platen, die onder invloed van de kracht een veer ofwel evenwijdig tegenover elkaar, ofwel met een variabele afstand ertussen bewegen.
o
De magnetische invloed meten op een ferromagnetisch materiaal. De eigenschappen van het magnetische materiaal veranderen immers onder invloed van een kracht. Door de stevige constructie en het hoge signaalniveau zijn deze uiterst geschikt voor ruwe en storende bewegingen.
4.3.2
Uitvoeringen
Er zijn heel wat verschillende uitvoeringen op de markt aanwezig. Het is dan ook onmogelijk om deze allemaal te bespreken en vele uitvoeringen worden ook specifiek per toepassing gemaakt. Het toepassingsgebied gaat van enkele gram tot boven de 200 ton. Het komt er op neer de geschikte vorm te kiezen naargelang de voorziene inbouwruimte of toepassing. De weegcellen zijn meestal opgenomen in een kleine constructie die ervoor zorgt dat de krachten in de juiste richting op de sensor werken. Zo worden ze ook bijkomend beschermd tegen te grote krachten en trillingen die op de cells kunnen werken. Er onderscheiden zich enkele hoofdgroepen: ♦ Single Point Loadcells: Ze worden ook wel platformweegcellen of centercells genoemd en zijn ontwikkeld om weegschalen en weegplateaus te maken. Op een Single Point loadcell (zie fig. 4.7) kan een plateau worden gemonteerd. Omdat deze weegcellen tegen buigmomenten zijn gecompenseerd zal een gewicht overal op het plateau hetzelfde uitgangssignaal opwekken. Vanwege deze compensatie zijn de Single Point cells ook heel geschikt om er kleine tanks of bakken op te monteren.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 30 -
Fig. 4.7: Single Point Loadcells.
De voordelen van deze cell is dat er slechts één weegcel nodig is om een gewichtsbepaling uit te voeren en geen steunelementen nodig zijn. Het nominale bereik is van 1.5 kg tot 500 kg, met plateau afmetingen: 150 x 150 mm tot 800 x 800 mm. Ze worden gebruikt in industriële en commerciële weegsystemen en zijn het meeste gebruikte type omdat de uitlezing onafhankelijk is van de plaats van de last op het platform. ♦ Druk Loadcells: Deze weegcellen (zie fig. 4.8), ook Shear Beam of Bending Beam loadcells genoemd, zijn bedoeld om onder constructies te worden geplaatst en zo het gewicht en/of de inhoud ervan te bepalen. Voor de lagere capaciteiten worden vaak drie of vier Shear Beam weegcellen toegepast en voor de hogere capaciteiten zijn dat in het algemeen canister (= cilindrische) uitvoeringen. Ze werken op de het principe van een drukkracht.
Fig. 4.8: Druk Loadcells.
De druk cells worden vooral gebruikt in tankwegingen, bunkerwegingen, niveaumetingen, weegbruggen en mobiele weegunits.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 31 -
♦ Trek – Druk Loadcells: Deze weegcellen kunnen een drukkracht of een trekkracht opnemen om zo het gewicht en/of inhoud te bepalen. Er zijn diverse uitvoeringen leverbaar zoals shearbeam, compression/tensioncells en S-beam (zie fig. 4.9). De S-beam cellen zijn genoemd naar hun vorm van de letter ‘s’.
Fig. 4.9: Trek Loadcells.
Ze worden gebruikt waar de last kan veranderen van trek naar druk en omgekeerd. Ze nemen niet veel montageplaats in en zijn heel gemakkelijk te installeren. Toepassingen zijn tankwegingen, silowegingen en vooral niveaumetingen en doseringsbepalingen in tanks. Een bekende fabrikant van loadcells is Revere (zie fig. 4.10).
Fig. 4.10: Gamma loadcells van fabrikant Revere.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 32 -
4.4 Bepalen van de keuze: rekstrookjes of loadcell 4.4.1
De opdracht
De opdracht is om te bepalen wat de beste manier is om de gewichtsbepaling te realiseren. Ofwel zelf een ontwerp realiseren met rekstrookjes of een loadcell aankopen. Er is gevraagd om de goedkoopste methode te nemen daar het om een proefproject gaat.
4.4.2
Mogelijkheid 1: Rekstrookjes aankopen
Bij deze mogelijkheid worden de rekstrookjes op een as geplaatst en dient de daarbij horende schakeling ontworpen te worden, om zo een variatie van rek in de as op te meten en daaruit het gewicht te bepalen via berekeningen. ♦ Voordelen van deze keuze: o o
Het is een eigen ontwerp dat gerealiseerd wordt. De kennis van rekstrookjes groeit.
♦ Nadelen van de keuze: o
o o
o
o
4.4.3
Om de opstelling te maken zijn verschillende randapparaten nodig om te kunnen testen. Deze zijn echter duur om aan te kopen indien ze niet aanwezig zijn in het bedrijf. Voorbeelden van meettoestellen die nodig zijn: digitale scoop, strain-indicator, … Afhankelijk van de grootte en type van het materiaal zal een bepaald type rekstrookje nodig zijn. Dit is geen eenvoudige bepaling, er is een ruime kennis en ervaring nodig. De ontwerper moet zelf instaan voor de kalibratie van het geheel. Er moet een schakeling gemaakt worden, de meest toegepaste is de brug van Wheatstone. Er is een berekening nodig om deze brugschakeling in evenwicht te schakelen en een bijkomende berekening om daarna het uitgangssignaal aan te passen aan de rekvariatie in de as. Het materiaal waarop de strookjes worden bevestigd moet heel zuiver gemaakt worden. Daar zijn speciale producten voor nodig, zoals schuurpapiertjes, ontvettingsmiddelen en specifieke producten afhankelijk van het materiaal. Dit brengt opnieuw een hogere kostprijs met zich mee. Om de rekstrookjes te bevestigen is er nood aan speciale lijm of hars, die eveneens moet aangekocht worden afhankelijk van het type strookje. Opnieuw kostprijsstijging.
Mogelijkheid 2: loadcell aankopen
♦ Voordeel van deze keuze: o o
o
De aankoop van een loadcell levert een relatief eenvoudige montage op. De loadcell is van een bepaald type, dat afhankelijk is van de toepassing en het gewicht. Door de fabrikant is al de uitgangswaarde vastgelegd volgens type voor het minimum - en maximumgewicht. Zo is de uitgangswaarde onmiddellijk gekend en kan daarop verder gebouwd worden. Er zijn geen berekeningen meer nodig. De cell is relatief goedkoop in aankoopprijs.
♦ Nadeel van de keuze: o
Het is geen eigen ontwerp dat gemaakt wordt, de kennis groeit niet.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 33 -
4.4.4
Keuze van de gebruikte methode
Indien het nodig zou zijn om meerdere gewichtsmetingen uit te voeren dan zou de eenmalige dure kost van de benodigde meettoestellen, om de rekstrookjes te testen, wegvallen. Dit in vergelijking met de prijs van de dan meerdere loadcells die nodig zouden zijn. De prijs van een rekstrookje varieert tussen de 10€ en 25€, dit afhankelijk van de afmetingen. Er zijn wel meestal 4 strookjes nodig. De prijs van een loadcell varieert tussen 200€ en 400€, dit afhankelijk van het gewicht, type en nauwkeurigheidsklasse. Er zijn ook duurdere cellen op de markt die voor speciale toepassingen gebruikt worden of die een heel grote nauwkeurigheid, gevoeligheid hebben. Om de keuze te staven, hieronder een voorbeeld waar een gewichtsbepaling van tien meetpunten nodig is. Hierbij wordt gebruik gemaakt van gemiddelde prijzen. ♦ Bij loadcells: Er zijn tien cellen nodig; die onmiddellijk kunnen gebruikt worden (zie tabel 4.1). Tabel 4.1: Kostprijs loadcells. Aantal 10
Prijs/stuk 300 €
Subtotaal 3.000 €
Extra /
Totaal 3.000 €
♦ Bij rekstrookjes: Er zijn tien maal vier rekstrookjes nodig (brug van Wheatstone), dus veertig. Bijkomstig moeten er meettoestellen, lijm – en schoonmaakproducten aangekocht worden (zie tabel 4.2). Tabel 4.2: Kostprijs rekstrookjes. Aantal 40
Extra:
Prijs/stuk 15 €
Subtotaal 600 €
Extra 1.150 €
Meettoestellen Lijm/schoonmaakproducten
Totaal 1.750 €
1.000 € 150 €
Bij tien gewichtbepalingen is de prijs bijna de helft goedkoper indien een eigen ontwerp gemaakt wordt met rekstrookjes dan de aankoop van loadcells. De keuze valt dan ook op de aankoop van een loadcell omdat voor het eindwerk slechts één gewichtsbepaling moet gebeuren. Om tot de bovengenoemde vaststellingen te komen is onderzoek gedaan bij bedrijven die gespecialiseerd zijn in het werken met rekstrookjes en loadcells. ♦ HBM Benelux: het bedrijf is gespecialiseerd in meetapparatuur voor het elektrisch meten van mechanische grootheden, dataloggers, krachtopmeters en rekstrookjes. ♦ Bienfait Weeg- en testtechniek: het bedrijf is gespecialiseerd in weegtechnieken. Ze verkopen ook rekstrookjes en loadcells. Na telefonisch contact werd de keuze voorgesteld om een druk loadcell te gebruiken, omdat deze het goedkoopste zijn. Door de mechanische constructie zo te ontwerpen dat het gewicht opgemeten wordt aan de hand van een drukkracht is dit volledig mogelijk. Daarnaast is een meetversterker nodig om de waarden in te lezen in de PLC.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 34 -
4.5 Keuze van het type loadcell In bijlage 1 is een volledig overzicht te vinden van de opgezochte types, met bijhorende prijzen en leveranciers. Daar loadcells die werken op trekkracht, iets duurder zijn en het gevaar voor onevenwichtigheid groter is, is het aangeraden om gebruik te maken van een Single Point loadcell. De manier van werken is in figuur 4.11 weergegeven. Er zijn dus nog bijkomende componenten nodig om het signaal in de PLC in te lezen is.
Fig. 4.11: Mogelijke werkwijzen bij loadcells.
Verschillende combinaties zijn mogelijk (zie fig. 4.12) en de keuze is vooral productafhankelijk.
Analoge Loadcell
Digitale Loadcell
Analoge Loadcell
Meetversterker
Analoge Ingangskaart PLC
Analoge Ingangskaart PLC
Speciale Ingangskaart PLC
(Siemens) Siemens)
Fig. 4.12: De verschillende mogelijkheden om de loadcell aan te sluiten op de PLC.
Er wordt gekozen om te werken met een analoge loadcell van Thames Side Maywood, type T66 en een meetversterker van Red Lion, type PAXS (zie fig. 4.13). Dit omdat het bedrijf Waak al veel met de leverancier van deze producten samengewerkt heeft en er een gegarandeerde garantie van de producten is.
Fig. 4.13: Loadcell T66-100kg en meetversterker PAXS.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 35 -
5 De opstelling
5 DE OPSTELLING 5.1 Doel van de opstelling Het doel van de opstelling is te onderzoeken hoe de verschillende factoren kunnen gekoppeld worden met het VB programma, alles uit te testen en een klare kijk te hebben over hoe de implementatie in de poederlakstraat kan gebeuren. Dit om een correcte gaswaarde-index te verkrijgen. Om een proefopstelling te maken kon gebruik gemaakt worden van de aanwezige materialen in het onderhoudsatelier. In figuur 5.1 is schematisch weergegeven wat de doelstellingen van deze opstelling is. De factoren gewicht, snelheid, temperatuur en gasverbruik zijn hierbij belangrijk.
Gewicht
Snelheid
Temperatuur
Gasverbruik
Ingave Programma
Gaswaarde-Index
Fig. 5.1: Overzicht van de doelstellingen.
Deze vier factoren zijn belangrijk voor de volgende redenen: ♦ De factor gewicht: het gasverbruik van de moffeloven is afhankelijk van het gewicht van de werkstukken die in de oven moeten drogen. Een groter, zwaarder stuk zal resulteren in een groter verbruik van de oven ten opzichte van kleinere, lichtere werkstukken. Om een idee te hebben van hoeveel massa de oven juist moet drogen is het belangrijk om een gewichtsmeting uit te voeren. ♦ De factor snelheid: eveneens is het gasverbruik van de oven afhankelijk van de snelheid waarmee de werkstukken in de oven komen. Als de oven sneller werkstukken moet drogen, zal meer gas verbruikt worden om de temperatuur van de oven constant te houden. Er wordt namelijk, in een kortere tijd, veel meer warmte onttrokken uit de oven. ♦ De factor temperatuur: bepaalde werkstukken moeten gedroogd worden op 180 °C, andere op 210°C of tussen dit temperatuursinterval. Opnieuw is het gasverbruik van de oven hiervan afhankelijk en moet deze factor in rekening gebracht worden om de gaswaardeindex te bepalen. ♦ De factor gasverbruik: deze factor wordt opgemeten om als referentie te gebruiken ten opzichte van de gaswaarde-index. In dit hoofdstuk wordt kort besproken hoe de factoren opgemeten en bepaald worden in de poederlakstraat. In figuur 5.2 is schematisch voorgesteld op welke manier de vier factoren bepaald worden.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 37 -
Debiet Meter
idd el va n
Encoder
or m
Snelheid
°C
Do
Werkstuk
Pa ram e te rs
Gas
Regelaar
Sensor Gewicht
LoadCell
Step 7 Programma Fig. 5.2: Overzicht van de configuratie.
5.2 Bepalen van het gewicht 5.2.1
De mechanische constructie
Om het gewicht correct te bepalen wordt het transportsysteem van de poederlakstraat onderbroken. Dit onderbroken stuk, waar ook het werkstuk voorbij zal komen, wordt op de loadcell gehangen. Om dit mechanisch te verwezenlijken worden twee geleidingsassen gebruikt die het transportsysteem ondersteunen (zie fig. 5.3).
Geleidingsassen
Messing bus
Fig. 5.3: Geleiding van het transportsysteem.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 38 -
Om een goede geleiding te krijgen wordt gebruik gemaakt van messing bussen, waar de assen vrij in kunnen bewegen (zie fig. 5.3). Messing is geschikt voor geleidende belastingen en heeft als extra eigenschap een goede slijtvastheid (zie tabel 5.1). Het werkstuk zal een minimale periode enkel ondersteund worden door de loadcell en net dan wordt het gewicht opgemeten. Tabel 5.1: Materiaaleigenschappen van messing.
De nauwkeurigheid ligt laag voor de applicatie. Het gewicht bepalen tot op twee kilogram nauwkeurig is voldoende, om een correcte gaswaarde-index te verkrijgen. Omdat de nauwkeurigheid zo laag is, zijn de mechanische aspecten eenvoudig en wordt met een verschuiving van het gewicht geen rekening gehouden. De onderbreking die gemaakt wordt heeft als resultaat dat twee stukken van het transportsysteem niet meer ondersteund zijn. Dit wordt opgelost door het hele systeem aan een ondersteuningsligger van het railsysteem te plaatsen en met behulp van twee extra ribben het systeem te ondersteunen. Dit wordt verduidelijkt in figuur 5.4. steunribben
de onderbreking
Fig. 5.4: De extra steunribben.
In figuur 5.5 is de volledige constructie van de proefopstelling te zien, waar alle onderdelen door middel van lassen samengevoegd zijn. Voor de implementatie in de poederlakstraat zelf zal ook met de lastechniek gewerkt worden om alles te verbinden. In bijlage 2 zijn enkele technische specificaties van het railsysteem terug te vinden. Dit is belangrijk, omdat voor de implementatie één meter rail en de verbindingsstukken die nodig zijn om het railsysteem terug aan elkaar te koppelen, besteld zijn.
Fig. 5.5: De proefopstelling.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 39 -
5.2.2
De loadcell
Zoals reeds in hoofdstuk vier vermeld, werd gekozen voor een loadcell van het merk Thames Side Maywood, type T66. Dit is een loadcell van het type Shear Beam of een druk cell, die op het principe van rekstrookjes werkt. De gekozen cell kan maximum belast worden met 100kg. Dit is ruim voldoende, omdat het maximale gewicht van de werkstukken ongeveer 50kg is. De extra 50kg die voorzien is, dient als compensatie voor het gewicht van de onderbreking.
Veiligheidshoogte
Blokje
Plaat
Fig. 5.5: De loadcell opgenomen in de proefopstelling.
Om de loadcell te monteren op de proefopstelling en op juiste hoogte in te stellen, werd een blokje en een plaat aangemaakt (zie fig. 5.5). De plaat, die ervoor zorgt dat de geleiding aan de ligger hangt, is op een juiste hoogte aangemaakt zodat de loadcell niet overbelast kan worden. Bij een maximale uitwijking van de cell zal de schroef tegen de plaat steunen. De technische specificaties van de loadcell zijn in tabel 5.2 afgebeeld en tonen dat de cell met een uitgangssignaal met eenheid ‘mV’ werkt. Hierbij wordt het belang van de meetversterker aangeduid. Tabel 5.2: Technische specificaties van de loadcell.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 40 -
Fig. 5.6: Elektrische gegevens van de loadcell.
De elektrische aansluiting van de loadcell is in figuur 5.6 weergegeven. Er wordt gebruik gemaakt van het vierdraadsprincipe. De loadcell zelf kan het gewicht nauwkeurig opmeten tot op ongeveer één gram, maar aan de hand van de meetversterker wordt de nauwkeurigheid ingesteld op slechts een halve kilogram. Op deze manier wordt de vooropgestelde nauwkeurigheid van twee kilogram zeker behaald.
5.2.3
De meetversterker
De meetversterker is nodig om het signaal dat afkomstig is van de loadcell te versterken in een geschikt signaal voor de PLC. Het gekozen type is een PAXS module van Red Lion, zoals reeds in hoofdstuk vier werd aangehaald (zie fig. 5.7). Deze module, die specifiek voor loadcell-input gebouwd is, beschikt over een led display om het gewicht te visualiseren.
Fig. 5.7: PAXS module.
De specificaties van de mogelijke ingangssignalen zijn in tabel 5.3 weergegeven. Belangrijk is dat de module juist ingesteld wordt, afhankelijk van het uitgangssignaal van de loadcell. De gebruikte cell heeft een uitgangssignaal van +/- 24mVDC. Om de meetversterker duidelijk te maken dat met dit signaal wordt gewerkt moeten de jumpers - dit zijn miniatuurschakelaars - volgens figuur 5.8 ingesteld worden. Tabel 5.3: PAXS input specificaties.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 41 -
Fig. 5.8: Jumperinstellingen van de PAXS module.
Er wordt gekozen om de module op 230V wisselspanning te voeden. De aansluitingen gebeuren volgens figuur 5.9 op klem één en twee.
Fig. 5.9: Aansluitklemmen van de PAXS module.
De loadcell wordt aangesloten volgens het vierdraadsprincipe. Figuur 5.10 toont de elektrische aansluiting van de loadcell op de meetversterker.
Fig. 5.10: Vierdraadsprincipe, aansluiting op PAXS.
Als de module correct aangesloten is moet deze nog geprogrammeerd worden. Er kan via de display geprogrammeerd worden of via een softwareprogramma. Om de kostprijs zo laag mogelijk te houden werd de software niet aangekocht. Vanuit het display mode zijn alle parameters bereikbaar (zie fig. 5.11).
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 42 -
Fig. 5.11: Overzicht van het programmeermenu.
Belangrijk bij de programmeerinstellingen zijn de ‘scaling points’ en ‘scaling style’, dit zijn onderdelen van de inputparameters. Met de ‘scaling points’ wordt meegegeven aan de module welke inputwaarde, van de loadcell, nul kilogram is en welke inputwaarde de maximale belasting van de loadcell is. Op die manier kan de module het gewicht correct berekenen en weergeven. De ‘scaling style’ bepaalt of er gewerkt wordt met een zelf ingestelde input of met een input afkomstig van de loadcell (zie fig. 5.12).
Fig. 5.12: Instelling van de inputparameters.
Bij de module moet bijkomstig een analoge uitgangskaart (zie fig. 5.13) geplaatst worden om het signaal in de PLC te kunnen inlezen. Standaard is deze kaart niet aanwezig en moet dus worden bijbesteld.
Fig. 5.13: Analoge uitgangskaart.
Deze kaart moet ook ingesteld worden in de programmeeromgeving, dit kan via menu acht gebeuren (zie fig. 5.14). In deze menu kan het gewenst type signaal ingesteld worden: 0 – 20mA, 4 – 20mA of 0 – 10V. Er werd geopteerd om een signaal van 0 – 10V te gebruiken.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 43 -
Fig. 5.14: Instellingen van de analoge output parameters.
De juiste waarde die doorgestuurd moet worden naar de uitgang van de outputkaart moet eveneens ingesteld worden. Er wordt gekozen om de inputwaarde, namelijk het opgemeten gewicht van de loadcell, door te sturen. De analog update-time is belangrijk om steeds de recentste waarde aan de uitgang te krijgen. Deze tijd mag heel hoog staan, want er wordt gewerkt met een PLC die een cyclustijd heeft van ongeveer honderd milliseconden. Andere instellingen die kunnen gemaakt worden in de meetversterker zijn: ♦ Toetsen bepaalde functies geven: minimumwaarden, maximumwaarden, tijd, … ♦ Alarmen melden bij verschillende gebeurtenissen. ♦ Code instellen, zodat andere gebruikers de module niet kunnen programmeren. ♦ Seriële communicatie instellingen. ♦ Bedrijfsinstellingen terugplaatsen. In bijlage 3 is een overzicht van het complete programmeermenu te vinden. De elektrische aansluiting van de outputkaart is in figuur 5.15 te zien. Daar gekozen werd om met een signaal van 0 tot 10V te werken, worden klem zestien en zeventien gebruikt.
Fig. 5.15: Elektrische aansluiting van de analoge outputkaart.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 44 -
5.2.4
De inductieve sensor
Om te bepalen op welk moment het gewicht wordt weggeschreven naar de PLC is er nood aan een stukdetectie. De werkstukken worden opgehangen aan stalen haken, dit zijn geleidende metalen voorwerpen en daarom is er gekozen om gebruik te maken van een inductieve sensor. Met inductieve sensoren kunnen geleidende voorwerpen (metalen) contactloos gedetecteerd worden en dit met relatief korte afstanden. ♦ Werking:
Fig. 5.16: Werking van een inductieve sensor.
Door een oscillator wordt met behulp van een spoel, een hoogfrequent elektromagnetisch veld opgewekt (fig. 5.16). Wanneer een elektrisch geleidend voorwerp in dit veld komt, wordt aan het hoogfrequent elektromagnetisch veld energie onttrokken (er ontstaan wervelstromen in het voorwerp), de sensor wordt gedempt. De onttrekking van de energie aan de oscillator wordt opgemeten en omgezet in een schakelsignaal. Dit schakelsignaal is afhankelijk van de afstand van het genaderde voorwerp Sn. De schakeltoestand wordt meestal aangeduid met een led. ♦ Voordelen van inductieve sensoren: o o o o o o o o
Contactloos detecteren, dus geen mechanische slijtage van de sensor. Onzuiverheden zoals vocht en vuil hebben geen invloed op de werking van de sensor. Theoretisch onbegrensde levensduur. Kan een hoge schakelfrequentie hebben (5000Hz). Snel schakelgedrag (geen vertragingen). Kleine inbouwmaten. Eenvoudig te monteren: de meeste sensoren zijn cilindrisch en voorzien van schroefdraad. Kan voorkomen met een maak- of verbreekcontact.
♦ Nadelen van inductieve sensoren: o o
Heeft een aparte voeding nodig (meestal 24VDC ). Detectieafstanden zijn beperkt (tot 10mm).
♦ Schakelwijzen: Voor de aansluiting van inductieve sensoren wordt een onderscheid gemaakt tussen de onderstaande uitvoeringen:
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 45 -
o
Drie aansluitdraden: schakelmethode NPN, minschakelend: schakelt de negatieve spanning door (fig. 5.17).
Klemcode: BN: Bruine aansluitdraad BU: Blauwe aansluitdraad BK: Zwarte aansluitdraad
Fig. 5.17: NPN sensor.
o
Drie aansluitdraden: schakelmethode PNP, plusschakelend: schakelt de positieve spanning door (fig. 5.18).
Fig. 5.18: PNP sensor.
o
Twee aansluitdraden (fig. 5.19).
Fig. 5.19: Tweedraads sensor.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 46 -
♦ Toegepast in de gewichtsbepaling: Er wordt een PNP sensor gebruikt omdat de PLC de + 24V van de sensor detecteert. Als de sensor schakelt krijgt de ingang van de PLC, 24V over zijn contact, in tegenstelling tot een NPN sensor waar de 0V over de ingang zou komen indien deze geschakeld wordt.
Fig. 5.20 : Detectieafstand van een inductieve sensor.
De afstand waarop kan gedetecteerd worden is vooral afhankelijk van de grootte van de sensor (zie fig.5.20). Omdat er toch een afstand van tien millimeter tussen de sensor en werkstukken kan zijn, wordt er gekozen voor een sensor met een detectieafstand van één cm. Het gebruikte type: PNP NO Télémecanique sensor XS1 M30MA (fig. 5.21). De sensor wordt in het midden van het onderbroken stuk van de rail geplaatst, omdat daar het gewicht het grootst is (zie fig. 5.22). Deze sensor is reeds aanwezig in het magazijn van het bedrijf en moet niet worden aangekocht.
Fig. 5.21: PNP NO Télémecanique sensor XS1 M30MA.
Fig. 5.22: Sensor opgenomen in de proefopstelling.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 47 -
5.2.5
Proefopstelling van de gewichtsbepaling
Om een duidelijk overzicht te geven van de proefopstelling is in figuur 5.23 en 5.24 schematisch alles weergeven. Vooraanzicht
LoadCell
Transportsysteem
Kunststof Sensor
Werkstuk Staander
Grond
Fig. 5.23: Vooraanzicht van de proefopstelling LoadCell
Zijaanzicht
Messing Bus
Onderbroken Transportsysteem Sensor
Staander
Naar Meetversterker Grond
Fig. 5.24 : Zijaanzicht van de proefopstelling.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 48 -
5.2.6
Aansluiting op de PLC
Het signaal afkomstig van de meetversterker is een analoog signaal. Om dit signaal in de PLC te lezen, is er nood aan een analoge ingangskaart. Deze kaart is reeds aanwezig in het magazijn en moet niet worden aangekocht. Het type van deze analoge ingangskaart is een SM 331 AI 2x12 bit. Op deze kaart kunnen dus twee analoge ingangssignalen aangesloten worden. De instellingen van de kaart moeten gebeuren volgens figuur 5.25 en de bedrading volgens figuur 5.26.
Fig. 5.25: Module settings van de analoge ingangskaart.
De module settings worden ingesteld op range B omdat er gewerkt wordt met een signaal van 0 tot 10V. Het gewicht wordt aangesloten tussen klem twee en drie van de kaart. Belangrijk is dat de equipotentiaal verbindingen net zoals in figuur 5.26 verbonden worden, omdat anders een verkeerde waarde kan ingelezen worden als gevolg van storingen.
Gewicht
belangrijke verbindingen
Fig. 5.26: Bedradingschema van de analoge ingangskaart.
Het PLC programma is in bijlage vier terug te vinden. Belangrijk is dat, voor de berekening van het gewicht, gewerkt wordt in getalformaat Reals om zo te kunnen rekenen met kommagetallen. De gewichtswaarde wordt in een intern woord van de PLC opgeslagen, om zo gebruikt te worden door het VB programma.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 49 -
5.3 Bepalen van de snelheid De kettingsnelheid wordt bepaald door een incrementele encoder, die is aangesloten op de motor die de ketting doet bewegen.
5.3.1
De encoder
Een incrementele encoder is een toestel met een draaibare as, dat drie pulsen genereert als de as verdraait. De pulsen worden geteld, en omgezet naar een rotatiehoek. Door twee pulstreinen te gebruiken die 90 graden in fase zijn verschoven kan de elektronica van de encoder ook de richting van de beweging afleiden uit de pulstreinen. Het werkingsprincipe is in figuur 5.27 te zien. Het A en B signaal dienen om de pulsen te tellen en een onderscheid te maken in de draaizin. Het negatieve signaal van elke puls dient om storingen uit te filteren, door middel van het differentieel principe. Beide signalen, het positieve en negatieve signaal, worden van elkaar afgetrokken en op deze manier zijn eventuele storingen weggewerkt.
Fig. 5.27: Werkingsprincipe en voorbeeld van een encoder.
5.3.2
Inlezen van de snelheid
Door de encoder wordt de snelheid van de ketting berekend. Dit gebeurt volledig in de PLC zelf en dit op de volgende manier: De pulsen van de encoder worden opgemeten in een periode van drie seconden en door een counter bijgehouden. Na deze drie seconden wordt het aantal pulsen omgezet in het getalformaat Reals. Dit woord, die eigenlijk een geheugenplaats in de PLC is, wordt vermenigvuldigd met 0.1 om de waarde in meters per minuut te krijgen. Tussen twee meetperiodes wordt een korte wachttijd van tien milliseconden gehouden om deze bewerkingen te kunnen uitvoeren en om de counter te resetten. In bijlage vijf is het PLC programma voor het uitrekenen van de kettingsnelheid terug te vinden. Het PLC programma om de kettingsnelheid door te sturen naar het VB programma is te zien in bijlage vier.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 50 -
5.4 Bepalen van de temperatuur 5.4.1
De procesregelaar
Om de temperatuur van de moffeloven in te lezen wordt gebruik gemaakt van een Jumo DICON 500 procesregelaar. Deze regelaar wordt reeds gebruikt om de oventemperatuur te regelen. De temperatuur wordt ingelezen door een Pt100 weerstand, die is aangesloten op de regelaar (zie fig. 5.28).
Pt 100 - weerstand Signaal naar de gasbrander Werkelijke waarde
Gewenste waarde
Fig. 5.28: Dicon 500 procesregelaar.
De werkelijke oventemperatuur wordt vergeleken met de gewenste temperatuur, die is ingesteld door de machinebediener. Deze instelling gebeurt op het touchpanel en is afhankelijk van de gebruikte verf. De regelaar stuurt op zijn beurt de gegevens naar de gasbrander door, om de gewenste temperatuur te doen bereiken. Deze regelaar kan uitgebreid worden met een extra analoge uitgangskaart, waarmee een signaal naar de PLC kan gestuurd worden met de werkelijke temperatuur van de oven.
5.4.2
De analoge outputkaart
Deze extra kaart werd aangekocht en geïnstalleerd in de procesregelaar (zie fig. 5.29). Uit de datasheet van de regelaar is te zien dat de kaart op een vrije uitgang kan aangesloten worden. De aanwezige vrije uitgang voor de regelaar van de moffeloven is slot 6 (zie fig. 5.30).
Fig. 5.29: Mogelijke modules bij de Dicon 500.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 51 -
Fig. 5.30: Aansluitingen van de Dicon 500.
De elektrische aansluitingen zijn eveneens uit de datasheets te halen (zie Fig. 5.31).
Fig. 5.31: Elektrische aansluiting van uitgang 5 en 6.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 52 -
5.4.3
Instellingen van de procesregelaar
Belangrijk is dat de procesregelaar juist geparametreerd wordt, zodat deze op de hoogte is van de nieuwe uitgangskaart. Er wordt gekozen om de temperatuur uit te sturen met een signaal van 0 tot 10V, net zoals bij de gewichtbepaling. De instellingen zijn aan de hand van configuratie menu’s beschikbaar zoals in figuur 5.32. Volgende instellingen moeten gebeuren om de procesregelaar juist in te stellen: ♦ ♦ ♦ ♦ ♦ ♦ ♦
Konfig 1 Ausgange, Ausgang 5, Funktion: 1.RegeAus (regeluitgang), Signal: 0-10V, Anf.Wert: 0 (begin waardebereik), EndWert : 250 (einde waardebereik), RangeFkt: 101 (laatste uitgangssignaal wordt gebruikt).
In bijlage vier is het PLC programma voor het doorsturen van de temperatuur terug te vinden. Het signaal wordt aangesloten op de tweede ingang van de analoge ingangskaart.
Fig. 5.32: Configuratie menu 1: instelling van de uitgang.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 53 -
5.5 Bepalen van het gasverbruik Om het gasverbruik van de moffeloven te bepalen wordt gebruik gemaakt van een gas-debietmeter die aangesloten is aan het begin van de gasleiding die naar de oven gaat. Deze gasmeter, die beschikt over een analoge uitlezing, wordt nu elke maand afgelezen door een medewerker en de gegevens worden opgeslagen in Excel bestand (zie bijlage 7). Het is de bedoeling om dit automatisch te doen en eveneens de gegevens bij te houden in een Excel bestand. Het verbruikte volume gas dient als referentie voor de gaswaarde-index.
5.5.1
De gasmeter
De gebruikte gasmeter is een quantometer van Elster (zie fig. 5.33). De technische specificaties zijn in tabel 5.4 te zien.
Fig. 5.33: Quantometer van Elster Tabel 5.4: Technische gegevens van de quantometer.
1:20 Range ability: Flow ranges: 6 – 1.600m³/h (210 – 56,500ft³/h) Diameters: DN 50 – 150 Pressure rates: PN 10 – 100, ANSI 150 – 600
5.5.2
Automatisch opmeten van het gasverbruik
Het maximale debiet die kan opgemeten worden van de gebruikte meter is 100 m³/h en het minimale debiet is 5 m³/h. Op de meter is een impuls transmitter voorzien in het telmechanisme, om een telsignaal uit te sturen naar een meetorgaan. Dit wordt verwezenlijk door middel van een elektromagnetisch element, die per verbruikte m³ gas een puls uitstuurt. Op deze manier is het mogelijk om het gasverbruik automatisch op te meten. Dit signaal word aangesloten op een digitale ingang van de PLC en opgeteld. Door middel van een counter wordt deze waarde bijgehouden. De counter wordt op het einde van de dag gerest, na het wegschrijven van de waarde naar een Excel bestand. Elke dag wordt de waarde bijgeteld bij de waarde van de dag ervoor. In bijlage vier is het PLC programma voor het doorsturen van het gasverbruik terug te vinden.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 54 -
5.6 Configuratie van de PLC: Uiteindelijk zijn er slecht twee modules extra nodig voor de PLC, deze zijn: ♦ 1 Analoge ingangskaart SM 311 AI 2 x 12 bit: op deze kaart wordt het signaal van het gewicht aangesloten en de temperatuur van de moffeloven. ♦ 1 Digitale ingangskaart SM 321 DI 16 x DC 24 V: op deze kaart wordt de inductieve sensor aangesloten en de gasteller. De impulsen van de encoder worden reeds ingelezen op een andere digitale ingangskaart van de PLC.
5.6.1
Het touchpanel
Het gebruikte touchpanel is een TP170A van Siemens. Dit panel kan met ProTool PRO geprogrammeerd worden. Dit is een softwarepakket van Siemens dat dient voor het configureren van HMI voorzieningen. HMI of Human Interface Machine is een verzamelnaam voor componenten in een besturingsinstallatie waarmee een operator communiceert met de machine of het proces. Het voordeel van PRO is dat er niet echt een programmeerkennis voor nodig is, daar alles object georiënteerd en symbool gebaseerd is. Het softwarepakket zelf bestaat uit twee delen: ♦ ProTool PRO CS of Configuration System: dit onderdeel is eigenlijk de ontwerpomgeving (zie fig. 5.34) voor een HMI toepassing. Deze kan zowel gebaseerd zijn op tekstdisplays als operatorpanelen. ♦ ProTool PRO RT of Run-Time: met behulp van dit onderdeel kan een computer gebruikt worden als operatorpaneel. Het ontwerp uit ProTool PRO CS kan onmiddellijk getest en gebruikt worden, zonder een paneel aan te schaffen. Bij kleine projecten wordt dit vaak gebruikt als alternatief voor een SCADA pakket. Een SCADA systeem is een uitgebreide HMI toepassing die wordt gebruikt voor de bediening en visualisatie van een volledige fabriek of van een proces als geheel.
Fig. 5.34: ProTool CS ontwerpomgeving.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 55 -
5.6.2
De onboard CP kaart
Om een fysische verbinding te verwezenlijken tussen de PLC en de PC werd gekozen om gebruik te maken van een MPI verbinding van Siemens. Deze continue verbinding is noodzakelijk en moet gegarandeerd worden omdat het gewicht, de temperatuur, het gasverbruik en de kettingsnelheid bij elk werkstuk weggeschreven wordt naar het softwareprogramma. MPI staat voor Multi Point Interface en wordt gebruikt als datacommunicatiestandaard tussen PC en PLC van Siemens. De standaard is gebaseerd op de EIA 485 norm of beter gekend als de RS 485 interface. Omdat er gewerkt wordt met een Siemens S7-300 PLC die voorzien is van een MPIinterface werd gekozen om deze standaard te gebruiken. Een MPI verbinding is eigenlijk een Profibus verbinding maar met als fysieke eigenschap dat MPI een snelheid heeft van 187,5Kbit/s ten opzichte van Profibus die met een snelheid tot 12Mbit/s kan werken. De connector, met zijn signalen is in figuur 5.35 weergegeven.
Fig. 5.35: MPI 9-pin connector.
Om deze verbinding te verwezenlijken wordt er in de PC een onboard CP kaart geplaatst (zie fig. 5.36). Dit is een speciale netwerkkaart van Siemens die het signaal omvormt tot een begrijpbaar signaal voor de PC. Deze kaart kan ook gebruikt worden met een Profibus-interface, de technische specificaties zijn in tabel 5.5, weergegeven.
Fig. 5.36: CP 5611 kaart van Siemens. Tabel 5.5: Technische specificaties van de CP 5611 – kaart. Communication services:
♦ ♦ ♦ ♦ ♦
PROFIBUS-DP master class 1 and 2 PROFIBUS DP slave with SOFTNET DP slave PG/OP communication S7 communication with SOFTNET-S7 S5-compatible communication with SOFTNET-DP or SOFTNET-S7
Can be used with:
♦ ♦ ♦ ♦ ♦ ♦
STEP 7 from V3.2 STEP 7-Micro/WIN from V2.1 ProTool, ProTool/Pro COM PROFIBUS from V3.3 SOFTNET-S7 from V3.2 (for S7 communication) SOFTNET-DP, SOFTNET-DP slave
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 56 -
6 Het programma
6 HET PROGRAMMA 6.1 Overzicht en structuur van het programma Bij detectie van een werkstuk, worden de parameters gewicht, temperatuur, snelheid en het gasverbruik doorgestuurd naar de PLC, zoals in het vorige hoofdstuk besproken. Het doel van het programma is deze parameters weg te schrijven naar een Excel applicatie die op een PC draait. Om dit te verwezenlijken moet OPC-technologie aangesproken worden om de verbinding tussen de PLC en Visual Basic, waar het programma in geschreven is, te verwezenlijken. In figuur 6.1 is schematisch het principe weergegeven van de koppeling van de PLC met de software.
Visual Basic
Excel
Cliënt
PC Server
125
Virtuele Bus
OPC SERVER CP-kaart MPI
Fig. 6.1: Koppeling van de PLC met VB en Excel.
Het is heel belangrijk om dit geheel voor ogen te hebben, want elke vorm van communicatie tussen de verschillende programma’s, Excel en VB, is hierop gebaseerd. Bijkomend moet vermeld worden, dat om de gaswaarde – index te bepalen, de parameters gedurende een hele dag opgemeten worden. Op het einde van de dag worden enkel de gemiddelde waarden weggeschreven, om zo de te grote hoeveelheid gegevens te beperken.
6.2 OPC - Technologie Om gegevens vanuit een PLC aan te spreken moet gebruik gemaakt worden van OPC-technologie of OLE for Proces Control. Dit is een technologie die ervoor zorgt dat binnen een industriële omgeving, componenten van verschillende leveranciers gekoppeld kunnen worden. De product specifieke protocollen worden omgezet en via een standaard interface (zie fig. 6.2), die gebaseerd is op de COM technologie van Microsoft, wordt alles toegankelijk gemaakt.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 58 -
Fig. 6.2: OPC-cliënt , server principe.
Het geheel werkt volgens het gekende client-server principe, dat ook voor Windows gehanteerd wordt. Iedere hardware leverancier dient één driver te leveren, de OPC-server. Deze communiceert volgens een niet product afhankelijk protocol met de device (=PLC) en biedt de data aan via een standaard interface. Om vanuit een applicatie, de OPC-cliënt, data aan te spreken uit een device, moet enkel nog volgens die standaard interface communicatie voorzien worden met de OPC-server. ♦ De OPC-server is een software-element dat autonoom werkt op een PC die rechtstreeks in verbinding staat met de PLC. Hier is gekozen om te werken met een fysische MPI-verbinding van Siemens. De basistaak van deze server bestaat erin communicatie op te zetten met de device om zodoende aanvragen van de OPC-cliënt te kunnen uitvoeren, deze communicatie gebeurt cyclisch. ♦ De OPC-cliënt is een softwareapplicatie die via de OPC interface communiceert met de OPCserver. De taken van de cliënt zijn de verbinding met de OPC-server tot stand brengen en leesen schrijfopdrachten uitvoeren. Er zijn verschillende OPC-technologieën, maar de standaard is OPC Data Acces of OPC DA, deze omschrijft een verplichte Custom Interface en een optionele Automation Interface. Er wordt voor de opstelling gebruik gemaakt van deze standaard en het is dan ook onnodig de andere standaards te bespreken.
6.2.1
Configureren van de OPC server:
Omdat gebruik gemaakt wordt van een Siemens PLC moet de OPC server ingesteld worden met behulp van de Simatic Step 7 NET software. De instellingen gebeuren volgens drie stappen die hieronder beschreven zijn. Bij de OPC Server van Siemens, wordt uitgegaan van een virtueel bussysteem binnen de PC, waarop alle mogelijke applicaties gekoppeld kunnen worden. Op deze virtuele bus krijgen alle deelnemers een adres (= index) toegewezen waardoor ze als uniek beschouwd kunnen worden (zie fig. 6.3). Het hart van die virtuele bus is de station manager, die zich op het vaste adres 125 bevindt.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 59 -
Fig. 6.3: Configuratie van de OPC–server.
De eerste stap voor het instellen van de OPC-server is het samenstellen van de virtuele bus. Op de eerste insteekplaats komt de server zelf (zie fig. 6.4).
Fig. 6.4: Samenstellen OPC–server: insteekplaats 1.
De volgende insteekplaatsen dienen voor de dataleveranciers van die OPC Server, zoals de CP kaart 5611 (zie fig. 5.33). Deze wordt op insteekplaats twee geconfigureerd (zie fig. 6.5).
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 60 -
Fig. 6.5: Samenstellen OPC-server: insteekplaats 2.
Bij die kaarten horen ook fysieke eigenschappen, maar deze staan initieel op de juiste waarde en moeten dus niet aangepast worden (zie fig. 6.6).
Fig. 6.6: Fysische eigenschappen van de CP-kaart.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 61 -
De tweede stap is in Step 7 een hardwareconfiguratie voorzien voor de virtuele bus. Aangezien bij het downloaden de data in de station manager (adres 125) van de virtuele bus zal moeten komen, dient de standaard “communication interface” gewijzigd te worden in “PC internal” (zie fig. 6.7). Zo weet Step 7 waar de verbinding met de PLC ligt en welke poort gebruik moet worden om data te ontvangen of te versturen.
Fig. 6.7: Set PG/PC interface.
In het PLC project wordt een passend station toegevoegd (zie fig. 6.8).
Fig. 6.8: Toevoegen van een PC station.
Dit station wordt net zoals de virtuele bus, “virtuele bus” genoemd (zie fig. 6.9).
Fig. 6.9: Virtuele Bus in Step 7.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 62 -
Wanneer alles correct verloopt verschijnt een gele pijl op het PC symbooltje. In dit geval kan gestart worden met de hardwareconfiguratie. Met de virtuele bus in het achterhoofd, worden de modules, vanuit de catalogus, op de juiste plaatsen gesleept (zie fig. 6.10), om daarna de nodige instellingen te doen.
Fig. 6.10: Hardwareconfiguratie van de Virtuele Bus.
De derde en laatste stap is de nodige softwarevoorzieningen aanbrengen. Bij een PLC project betekent dit het programma, bij een virtuele bus zijn dit “de connecties”. Voor het leggen van connecties wordt automatisch de NetPro omgeving opgestart. Hier kan vanuit de OPC-server volgens het S7 protocol een verbinding gelegd worden naar de CPU van de PLC (zie fig. 6.11). Na bevestiging wordt de verbinding onderaan toegevoegd en kan alles gedownload worden in de virtuele bus.
Fig. 6.11: Connectie aanmaken in de NetPro omgeving.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 63 -
6.3 Visual Basic De software wordt geprogrammeerd in Visual Basic 6.0 of kortweg VB genoemd. VB is een visuele, gebeurtenisgestuurde programmeertaal. Dit betekent dat er slechts code, die zelf aangemaakt wordt, zal worden doorlopen bij bepaalde gebeurtenissen. Dit in tegenstelling tot een PLC, waar de code cyclisch wordt doorlopen. Aan elke mogelijke actie, bij één van de geplaatste elementen, dient dus programmeercode gelinkt te worden. In deze code wordt beschreven welke gevolgen het bedienen van de input heeft. Het aangemaakte programma zal de OPC-cliënt vormen en gegevens verwerken van de OPCserver. Wanneer er vanuit een Visual Basic OPC-cliënt toegang nodig is tot een OPC-server, kan gebruik gemaakt worden van een wrapper. Een wrapper is een DLL die wordt aangeboden door de OPC Foundation met de taak als tolk op te treden tussen de Automation interface en de Custom interface. Dit is belangrijk om weten, omdat hiervan gebruik gemaakt wordt om te werken vanuit VB.
Fig. 6.12: OPC wrapper.
Bij de opstart van het nieuwe VB project moet enkel een link voorzien worden naar de betreffende DLL. Dit is via de menu references te bepalen, waar een lijst van alle bestanden te zien is waarnaar een reference gelegd kan worden. OPC Automation 2.0 is de oorspronkelijke wrapper die door de OPC Foundation wordt geleverd. Deze dient aangevinkt te worden (zie fig. 6.12).
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 64 -
6.3.1
OPC server Object Model in VB
Zoals voor iedere COM gebaseerde toepassing, is er ook voor de OPC interface een Object Model dat de structuur en de toegankelijkheid eenduidig vastlegt (zie fig. 6.13).
Fig. 6.13: OPC Server Object Model.
Overzicht van het model: ♦ OPC Server: object dat algemene informatie over de server bevat. ♦ OPC Groups: collectie die voor het beheer zorgt van alle OPC Group objecten. Hier kunnen nieuwe OPC Group objecten worden aangemaakt en kunnen default instellingen gebeuren voor de verschillende OPC Group objecten. ♦ OPC Group: dit object is een verzamelobject dat de gebruiker in staat stelt om z’n data logisch te structureren. ♦ OPC Items: deze collectie heeft ongeveer dezelfde taak als de OPC Groups collectie. Ze staat in voor het aanmaken en beheren van de onderliggende OPC Item objecten. ♦ OPC Item: Deze objecten stellen de rechtstreekse link voor naar een procesvariabele. Door middel van deze objecten kan er zowel gelezen als geschreven worden. Deze laatste zijn dus heel belangrijk om weten. Verschillende OPC items zullen worden aangemaakt om het gewicht, de temperatuur, stukdetectie, het gasverbruik en de kettingsnelheid in te lezen in het VB programma. Om de programmacode op te stellen moet telkens vanuit het voorgaande Server Object Model uitgegaan worden.
Fig. 6.14: Server Object Model t.o.v. de OPC-server.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 65 -
6.3.2
OPC communicatie mogelijkheden in VB
Er zijn drie soorten communicatie mogelijk: synchrone - , asynchrone communicatie en gebeurtenis gestuurde communicatie. Synchrone communicatie is de eenvoudigste vorm, hierbij worden alle taken mooi sequentieel afgehandeld. Het nadeel echter bij synchrone communicatie is dat het programma, na het uitvoeren van een coderegel, telkens wacht op response vooraleer er wordt overgegaan naar de volgende coderegel (zie fig. 6.15). In die periode is het programma ontoegankelijk en is het systeem eigenlijk bezet.
Fig. 6.15: Synchrone communicatie.
Om dat probleem op te lossen kan gebruik gemaakt worden van asynchroon communiceren. Wanneer dan een coderegel of schrijfactie uitgevoerd wordt, moet niet meer gewacht worden op een response om een volgende coderegel uit te voeren. Het programma gaat gewoon verder en de OPC-server genereert een event waneer een bepaalde taak is afgehandeld. Op die event kan dan worden ingespeeld om eventueel een andere actie op te zetten (zie fig. 6.16).
Fig. 6.16: Asynchrone communicatie.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 66 -
Een laatste mogelijkheid van communicatie bestaat eruit dat er vanuit de OPC-cliënt geen enkel initiatief moet worden genomen. Er kan door de OPC-server automatisch events gegenereerd worden wanneer een OPC Item uit zijn cache verandert. Hierbij is het noodzakelijk dat alle OPC Group en OPC Item objecten geactiveerd worden bij het aanmaken (zie fig. 6.17).
Fig. 6.17: Gebeurtenis gestuurde communicatie.
Er wordt voor het programma gebruik gemaakt van asynchrone communicatie, omdat alle taken mooi sequentieel gebeuren en het programma niet mag vastlopen. Synchrone communicatie wordt enkel gebruikt voor testfases.
6.3.3
VB code voor de OPC-technologie
In het programma worden volgende input gegevens ingelezen door middel van OPC-technologie: ♦ Stukdetectie: Als een stuk aan de loadcell komt wordt een bit in de PLC hoog door de inductieve sensor. ♦ Gewicht: de gewichtswaarde van het stuk wordt binnengelezen. ♦ Temperatuur: de temperatuur van de moffeloven wordt ingelezen. ♦ Snelheid: de snelheid van de ketting wordt ingelezen. ♦ Gasverbruik: het aantal pulsen van de debietmeter wordt ingelezen en opgeteld. ♦ Band bewegen: bit die hoog wordt als de band niet stil staat. Om de code te kunnen visualiseren is alles opgesplitst in delen, maar elk deel wordt onder elkaar geplaatst en door de PC doorlopen, immers is VB een gebeurtenisgestuurde programmeertaal waardoor enkel code doorlopend wordt bij bepaalde events. In bijlage 6 is de volledige programmacode terug te vinden. Het kiezen voor asynchrone communicatie gebeurt op OPC Group niveau. Om op die manier te kunnen communiceren moeten twee zaken gebeuren: ♦ De OPC Server moet in staat zijn om events te genereren voor de specifieke OPC Group. Om dit in te stellen dient een extra eigenschap geactiveerd te worden, n.l. Issubscribed = True (zie fig. 6.19). ♦ De Visual Basic applicatie moet in staat zijn om events van de OPC Server te zien. Daarvoor moet bij de declaratie van de variabelen (OPC Server object en OPC Group objecten) een extra instructie toegevoegd te worden, n.l. WithEvents (zie fig. 6.18).
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 67 -
Om in VB gebruik te maken van OPC-technologie moeten de zes inputitems gedeclareerd worden in het begin van het programma. Dit is standaardcode voor de OPC instellingen (zie fig. 6.18). 'OPC automation: openen van OPC instellingen, basiscode: Private WithEvents objServer As OPCAutomation.OPCServer Private WithEvents objGroup As OPCGroup Private objItem1 As OPCItem ' item 1: gewichtswaarde woord Private objItem2 As OPCItem ' item 2: stukdetectie boolean Private objItem3 As OPCItem ' item 3: temperatuur woord Private objItem4 As OPCItem ' item 4: snelheid woord Private objItem5 As OPCItem ' item 5: gasteller woord Private objItem6 As OPCItem ' item 6: band bewegen Private ServerHandleGroup(1 To 6) As Long ' 6 items op te nemen Fig. 6.18: Declareren van de objecten voor OPC-technologie.
Bij het laden van de VB-form moet onderstaande code doorlopen worden. Deze code dient om een connectie te maken met de OPC server en om de objecten op te roepen. Bij de form-load worden eveneens de connectieparameters ingesteld waarmee de inputs aangesproken worden. Deze worden bewaard in een array. (zie fig. 6.19) Private Sub Form_Load() 'form load 'OPC automation: 'Addref uitvoeren: Set objServer = New OPCAutomation.OPCServer 'connecteren op de OPC server: Call objServer.Connect("OPC.SimaticNET") 'Addref uitvoeren vanuit het bovenliggende OPCserver obj: Set objGroup = objServer.OPCGroups.Add("digitaal") 'Addref uitvoeren vanuit het bovenliggende obj: Set objItem1 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW110", 1) ' item 1 voor de gewichtswaarde Set objItem2 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MX106.0", 1) ' item 2 voor de stukdetectie Set objItem3 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW114", 1) ' item 3 voor de temperatuur Set objItem4 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW112", 1) ' item 4 voor de snelheid Set objItem5 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW116", 1) ' item 5 voor de gasteller Set objItem6 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MX106.1", 1) ' item 6 voor bandbewegen 'de serverhandle in de voorziene array bewaren: ServerHandleGroup(1) = objItem1.ServerHandle 'gewicht ServerHandleGroup(2) = objItem2.ServerHandle 'stukdetectie ServerHandleGroup(3) = objItem3.ServerHandle 'temperatuur ServerHandleGroup(4) = objItem4.ServerHandle 'snelheid ServerHandleGroup(5) = objItem5.ServerHandle 'gasteller ServerHandleGroup(6) = objItem6.ServerHandle 'band bewegen 'Zorgt ervoor dat de OPC Server events kan genereren voor die specifieke OPC Group: objGroup.IsSubscribed = True
Fig. 6.19: Standaardcode bij form-load.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 68 -
Om de OPC Group te activeren bij het openen van de form moet onderstaande code gevolgd worden (zie fig. 6.20). ' activeren van de OPC Group objGroup.IsActive = True ' activeren van de OPC Items binnen de actieve OPC Group objItem1.IsActive = True 'gewicht objItem2.IsActive = True 'stukdetectie objItem3.IsActive = True 'temperatuur objItem4.IsActive = True 'snelheid objItem5.IsActive = True 'gasteller objItem6.IsActive = True 'band bewegen Fig. 6.20: Activeren van de OPC Group.
Bij het ontladen van de form moet ongeveer dezelfde code geschreven worden maar nu om de connectie met de OPC server weg te nemen (zie fig. 6.21). Dit is noodzakelijk omdat de verbinding anders blijft openstaan. Private Sub Form_Unload(Cancel As Integer) 'form unload 'voor OPC automation: Dim Errors() As Long 'foutafhandeling1: On Error Resume Next 'OPC automation: 'de OPCItems via array verwijderen uit de OPCGroups: Call objGroup.OPCItems.Remove(1, ServerHandleGroup(), Errors()) 'gewicht Call objGroup.OPCItems.Remove(2, ServerHandleGroup(), Errors()) 'stukdetectie Call objGroup.OPCItems.Remove(3, ServerHandleGroup(), Errors()) 'temperatuur Call objGroup.OPCItems.Remove(4, ServerHandleGroup(), Errors()) 'snelheid Call objGroup.OPCItems.Remove(5, ServerHandleGroup(), Errors()) 'gasteller Call objGroup.OPCItems.Remove(6, ServerHandleGroup(), Errors()) 'bandbewegen 'release uitvoeren: Set objItem1 = Nothing 'gewicht Set objItem2 = Nothing 'stukdetectie Set objItem3 = Nothing 'temperatuur Set objItem4 = Nothing 'snelheid Set objItem5 = Nothing 'gasteller Set objItem6 = Nothing 'bandbewegen 'OPCGroup verwijderen uit de OPCserver: Call objServer.OPCGroups.Remove("digitaal") 'Release uitvoeren: Set objGroup = Nothing 'connectie met de OPC server wegnemen: Call objServer.Disconnect 'release uitvoeren: Set objServer = Nothing
Fig. 6.21: Standaardcode bij form-unload.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 69 -
Nu kunnen de items gebruikt worden in het VB programma. Om eenvoudig alles te visualiseren worden alle gegevens in de form zichtbaar gemaakt bij het openen van het programma. Alle parameters zijn nu bruikbaar en er kan gestart worden met het opslaan van de gegevens in Excel (zie fig. 6.22).
Private Sub objGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date) On Error Resume Next 'omdat de event de eerste keer gegenereerd wordt voor één OPC Item binnen de OPC Group (het eerste dat verandert) en de andere dan nog geen waarde bezitten 'PARAMETERS visualiseren: lblGewichtStuk.Caption = objItem1.Value 'gewicht 'stukdetectie lblStukDetectie.Caption = objItem2.Value lblTemperatuurVariabele.Caption = objItem3.Value 'temperatuur 'snelheid lblSnelheidVariabele.Caption = objItem4.Value lblGasVerbruikVariabele.Caption = objItem5.Value 'gasteller 'band bewegen bandbewegen = objItem6.Value End Sub
Fig. 6.22: Visualiseren van de parameters.
6.4 Excel 6.4.1
Excel en Visual Basic.
Windows is opgebouwd volgens een modulaire strategie. Dit betekent dat programma’s draaiende op dit platform niet bestaan uit afzonderlijke gehelen, maar dat er interfaces zijn die gebruik maken van allerlei componenten om tot hun gewenste functionaliteit te komen. Deze componenten zijn dus eigenlijk softwaremodules die op de PC terug te vinden zijn als fysieke elementen, zoals DLL bestanden, die een reeks van classes bezitten (zie fig. 6.23).
Fig. 6.23: Voorstelling van een DLL-bestand.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 70 -
Bij gebruik van een component in een toepassing, wordt elke instantie die van een class voorzien is, een object. In tegenstelling tot componenten zijn objecten logische elementen met bepaalde eigenschappen en functies. Objecten kunnen niet op zichzelf functioneren, ze zijn altijd op één of andere manier met elkaar gelinkt. De manier waarop ze met elkaar in verbinding staan ligt vast in het Object Model (zie punt 6.4) dat bij de betreffende component hoort. Met deze gedachte is het dus mogelijk om in VB gebruik te maken van de rekenmogelijkheden van Excel. De voorwaarde is natuurlijk dat Excel op de PC geïnstalleerd is, waardoor automatisch ook de component voor Excel op de PC aanwezig is. Het aanspreken van deze component gebeurt opnieuw door de references te selecteren in de references bibliotheek (zie fig. 6.24).
Fig. 6.24: References bibliotheek, aanduiden van Excel reference.
Het Object Model is in figuur 6.25 op de volgende pagina te zien en is belangrijk om in de volgende fase de VB code op te bouwen.
6.4.2
VBA
VBA of Visual Basic for Applications is een invoegtoepassing voor Windows programma’s en wordt gratis geleverd bij Microsoft Office onderdelen. VBA biedt de mogelijkheid om veel toegepaste taken te automatiseren aan de hand van een iets afwijkende VB code. Voor het automatiseren van die taken zijn er twee mogelijkheden: macro’s, die automatisch code genereren of zelf code schrijven in de VBA-editor. Een macro is een opeenvolging van acties binnen een applicatie, die in code wordt vastgelegd, om later op identieke manier te herhalen. Het maken van zo’n macro gebeurt met behulp van een ingebouwde macrorecorder, die in de taakbalk van Excel te vinden is. Omdat slechts heel eenvoudige taken nodig zijn, wordt gebruik gemaakt van macro’s om de grafieken automatisch te generen.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 71 -
Fig. 6.25: Object Model van Excel.
6.4.3
De gebruikte Excel bestanden
Voor het programma worden twee connecties gemaakt met Excel, omdat er gewerkt wordt met twee Excel bestanden. Eén bestand wordt gebruikt als buffer om alle gegevens van één productiedag op te slaan en de gemiddelden te berekenen. Het tweede bestand wordt gebruikt om de gegevens definitief op te slaan en om de gaswaarde-index te berekenen.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 72 -
In figuur 6.26 is een screenshot van het eerste Excel bestand te zien waar de gegevens automatisch door het VB programma worden ingevuld telkens een stuk de sensor voorbij komt.
De vier worksheets
Fig. 6.26 : De vier worksheets om de gegevens per dag bij te houden.
In figuur 6.27 Is een screenshot te zien van het worksheet gemiddelden. Deze gegevens worden op het einde van een productiedag doorgestuurd naar het tweede Excel bestand. De gegevens in het eerste bestand worden dan gewist.
Fig. 6.27 : Het worksheet gemiddelden.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 73 -
Het tweede bestand (zie fig. 6.28) rekent automatisch de gaswaarde-index uit aan de hand van de doorgestuurde gegevens. De index wordt teruggestuurd naar het VB programma om gevisualiseerd te worden. Bijkomstig worden enkele knoppen ingevoegd om grafieken automatisch te generen van enkele meetpunten, zodat snel een eerste zicht op het gasverbruik kan bekomen worden.
Fig. 6.28 : Het Excel bestand waar de gaswaarde-index berekend wordt.
6.4.4
De formule voor het bepalen van de gaswaarde-index
De formule om de gaswaarde index te bepalen is in formule 6.1 weergegeven. 1
1
t 6 GASWAARDE− INDEX ≅ tscenario
×
1
1
Mscenario 6 Tscenario 6 Vscenario 6 × × × 100 Formule6.1 M T V
met: t: M: T: V:
de werkelijke productietijd (uren), de gemiddelde massa (kg), de temperatuur van de moffeloven (°C), de kettingsnelheid (m/s).
Aan de optimale werking van de moffeloven wordt de factor 100 toegekend. Indien de oven een slechtere werking heeft, dan een vooropgesteld ideaal scenario, moet de index kleiner zijn dan 100. Omgekeerd geldt hetzelfde, bij een betere werking dan het scenario moet de index groter zijn dan 100. Dit vooropgestelde scenario is een profiel van de perfecte bedrijfomstandigheden waarbij het gasverbruik minimaal is. Het scenario kan in Excel eenvoudig aangepast worden en alles wordt onmiddellijk opnieuw uitgerekend. In de poederlakstraat worden voornamelijk grote series van dezelfde werkstukken door de oven gestuurd, zodat de aanpassing van het optimale scenario niet veel hoeft te gebeuren. Om dit optimaal scenario correct te bepalen zal in een eerste fase vooral geëxperimenteerd moeten worden met het programma.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 74 -
De breuken zijn opgesteld volgens de rechtevenredigheid van iedere factor. De machten dienen om de invloed van elke factor te reduceren. Als voorbeeld wordt de factor tijd uitgewerkt. Hoe langer de moffeloven in werking is hoe beter, groter de gaswaarde-index moet zijn. Voorbeeld: De oven werkt zes uur gedurende een ganse dag en het vooropgestelde optimale scenario is een werkingstijd van acht uur. De andere factoren worden niet meegerekend en zijn dus gelijk aan één. De gaswaarde-index moet lager zijn dan de vooropgestelde 100. 1
6 6 = 0.9532 × 100 = 95,32 8 Indien deze parameter omgekeerd zou geplaatst worden, wordt de volgende vergelijking bekomen: 1
8 6 = 1,0491 × 100 = 104,9 6 Dit is verkeerd, indien de werkingstijd acht uur zou zijn en het optimale scenario zes uur, dan moet de index wel groter zijn dan 100 en klopt de vergelijking. Hetzelfde geldt voor de massa, temperatuur en de snelheid van de ketting die wel omgekeerd evenredig zijn ten opzichte van het scenario. In hoofdstuk zeven wordt een uitgewerkt scenario besproken.
6.4.5
VB code voor de Excel communicatie
Net zoals voor de OPC-technologie moet ook voor Excel in VB een verbinding opgebouwd worden. In VB worden volgende acties ondernomen: ♦ Openen van de twee Excel bestanden: Poederlakgewicht.xls en Poederlaksgemiddelen.xls. ♦ De parameters gewicht, snelheid, temperatuur en gasverbruik, per stuk, worden naar het eerste bestand overgebracht. Per parameter wordt één worksheet voorzien in het werkblad. ♦ De tijd van actieve werking wordt bijgehouden in het eerste bestand. ♦ De gemiddelde waarden worden op het einde van een meetperiode of op het einde van de dag overgebracht naar het tweede bestand, waar ze opgeslagen worden. ♦ De gegevens worden gewist uit het eerste bestand. ♦ Het tweede bestand wordt bewaard. ♦ De gaswaarde-index wordt opgehaald door VB om te visualiseren in de form. Om Excel aan te spreken moet opnieuw zoals bij de OPC-technologie de objecten gedeclareerd worden in het begin van het programma (zie fig. 6.29).
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 75 -
'Excel: 'standaard coderegels om excel aan te spreken Private objExcel As excel.Application 'werkblad PoederlakGewicht.xls openen: Private objPoederlakGewicht As excel.Workbook Private objGewicht As excel.Worksheet Private objSnelheid As excel.Worksheet Private objTemperatuur As excel.Worksheet Private objGasverbruik As excel.Worksheet Private objGemiddeldes As excel.Worksheet 'werkblad PoederlakGewichtGemiddeldes_Werkblad.xls openen Private objPoederlakGewichtGemiddeldes_Werkblad As excel.Workbook Private objFile2_Gemiddeldes As excel.Worksheet Fig. 6.29: Declareren van de objecten voor Excel.
Opnieuw moet voor de form- load en -unload de connectie met Excel gemaakt of weggenomen worden (zie fig. 6.30, en fig. 6.31). 'Excel: Set objExcel = New excel.Application 'standaard coderegel om Excel als applicatie te openen 'werklblad 1 openen: poederlakgewicht: Set objPoederlakGewicht = objExcel.Workbooks.Open(App.Path & "\PoederlakGewicht.xls") 'openen van een bestaande map met het excel document erin Set objGewicht = objPoederlakGewicht.Worksheets("Gewicht") ' openen van het blad Gewicht Set objSnelheid = objPoederlakGewicht.Worksheets("Snelheid") 'openen van het blad Snelheid Set objTemperatuur = objPoederlakGewicht.Worksheets("Temperatuur") 'openen van het blad Temperatuur Set objGasverbruik = objPoederlakGewicht.Worksheets("Gasverbruik") 'openen van het blad Gasverbruik Set objGemiddeldes = objPoederlakGewicht.Worksheets("Gemiddeldes") 'openen van het blad gemiddeldes 'werkblad 2 openen Poederlakgewichtgemiddeldes_Werkblad: Set objPoederlakGewichtGemiddeldes_Werkblad = objExcel.Workbooks.Open(App.Path & "\PoederlakGewichtGemiddeldes_Werkblad.xls") 'openen van een bestaande map met het excel document erin Set objFile2_Gemiddeldes = objPoederlakGewichtGemiddeldes_Werkblad.Worksheets("File2_Gemiddeldes") ' openen van het blad Gewicht Fig. 6.30: Standaardcode bij form load.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 76 -
'Excel: Set objSnelheid = Nothing 'wegnemen uit het geheugen van blad Set objGasverbruik = Nothing Set objTemperatuur = Nothing Set objGewicht = Nothing Set objGemiddeldes = Nothing Set objFile2_Gemiddeldes = Nothing objPoederlakGewicht.Close True 'sluit excel, de true staat voor het opslaan objPoederlakGewichtGemiddeldes_Werkblad.Close True Set objPoederlakGewicht = Nothing Set objPoederlakGewichtGemiddeldes_Werkblad = Nothing objExcel.Quit Set objExcel = Nothing End Sub
'excel afsluiten 'standaard coderegel om geheugen vrij te maken
Fig. 6.31: Standaardcode bij form unload.
6.5 VB code voor het programma Nu alle communicatie-instellingen gemaakt zijn kan het programma aangemaakt worden. De vier input gegevens kunnen weggeschreven worden in het Excel bestand. Het is belangrijk dat alle gegevens onder elkaar worden geplaatst in de Excel file en dit gebeurt door gebruik te maken van een teller (zie fig. 6.32). 'Parameters wegsturen naar excel: If lblStukDetectie.Caption = "True" And bvorigewaarde = False Then iAantalClick = iAantalClick + 1 lblToon.Caption = iAantalClick objGewicht.Cells(iAantalClick, 1).Value = lblGewichtStuk.Caption objTemperatuur.Cells(iAantalClick, 1).Value = lblTemperatuurVariabele.Caption objSnelheid.Cells(iAantalClick, 1).Value = lblSnelheidVariabele.Caption objGasverbruik.Cells(iAantalClick, 1).Value = lblGasVerbruikVariabele.Caption bvorigewaarde = True End If If lblStukDetectie.Caption = "False" Then bvorigewaarde = False End If
Fig. 6.32: Parameters wegschrijven naar het Excel bestand.
Op een bepaald tijdstip of als op de knop ‘opslaan’ wordt gedrukt, worden alle berekende gemiddelden uit Excel verplaatst naar het tweede Excel bestand, waar alle gegevens definitief opgeslagen worden (zie fig. 6.33)
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 77 -
Private Sub opslaan() 'tijd in excel plaatsen:'belangrijk dat dit eerst gebeurt minutendecimaal = 1 / 60 * min verlopentijd = uur + minutendecimaal objGemiddeldes.Cells(iAantalClickTijd, 1).Value = verlopentijd 'wegschrijven waardes naar file 2: pas dan alles wegschrijven naar file 2 iAantalClickFile2Gemiddeldes = iAantalClickFile2Gemiddeldes + 1 objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes,1).Value= objGemiddeldes.Cells(2, 1).Value 'tijd objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes,2).Value= objGemiddeldes.Cells(2, 2).Value 'gewicht objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes,3).Value= objGemiddeldes.Cells(2, 3).Value 'Temperatuur objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes,4).Value= objGemiddeldes.Cells(2, 4).Value 'snelheid objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes,5).Value= objGemiddeldes.Cells(2, 5).Value 'gasteller 'opslaan van file2 mag dan gewoon met dit verder werken: objPoederlakGewichtGemiddeldes_Werkblad.Save 'visualiseren van de gaswaarde-index: lblGaswaardeIndex.Caption = objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes, 6).Value Fig. 6.33: Parameters wegschrijven naar het 2de Excel bestand.
Alle settings van het eerste bestand worden terug gereset (zie fig. 6.34). 'resetten plaats in excel: iAantalClick = 0 iAantalClickTijd = 2 'pas op iAantalClickFile2Gemiddeldes niet op nul plaatsen, dit wordt bijgehouden tot applicatie stopt i=0 Fig. 6.34: Resetten van de setting.
In de form is ook een knop voorzien om Excel onmiddellijk zichtbaar te maken, dit gebeurt door de code die te zien is in figuur 6.35. Ook via een menu is Excel bereikbaar gemaakt. Private Sub cmdToonExcel_Click() 'Tonen van Excel file Dim m As Integer 'meegeven dat dit de niet opgeslagen versie is: m = MsgBox("PAS OP! Dit is de niet opgeslagen versie", vbOKCancel + vbInformation, "Informatie") If vbOK Then objExcel.Visible = True End If End Sub Private Sub mnuGoToExcelFile_Click() Dim m As Integer m = MsgBox("PAS OP! Dit is de niet opgeslagen versie", vbOKCancel + vbInformation, "Informatie") objExcel.Visible = True End Sub Fig. 6.35: Bereikbaar maken van het Excel bestand.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 78 -
Om telkens bij een stukdetectie deze net besproken code te kunnen oproepen wordt gewerkt met een timer zodat een cyclische werking bekomen wordt die te vergelijken is met een PLC. Om aan te tonen dat het programma in werking of inactief is, is een looplicht voorzien als visualisatie. Om de tijd bij te houden wordt opnieuw met een timer gewerkt. Figuur 6.36 toont de code voor het automatisch werken van de applicatie en figuur 6.37 als het programma in stopmode staat. Private Sub cmdRunApplicatie_Click() 'applicatie automatisch laten werken Dim j As Integer 'looplicht: For j = 0 To 4 picLicht(j).Visible = True Next j tmrVertraagPicLoopLicht.Enabled = True picLicht(0).BackColor = vbGreen picLicht(1).BackColor = vbGreen picLicht(2).BackColor = vbGreen picLicht(3).BackColor = vbGreen picLicht(4).BackColor = vbGreen 'automatische cyclus: timer nodig om cyclisch te werken: tmrAutomatischeRun.Enabled = True 'jump to timer 'achtergrondkleur labels: lblToon.BackColor = vbGreen 'timer verlopen tijd: lblVerlopentijd.Visible = True lblTijd.Visible = True lblTijd = "00:00:00" lngTeller = 0 End Sub Fig. 6.36: Applicatie automatisch laten werken.
Private Sub cmdStopApplicatie_Click() 'stoppen van de applicatie 'automatische run stoppen: tmrAutomatischeRun.Enabled = False 'looplicht stoppen: tmrPicLoopLicht.Enabled = False picLicht(0).BackColor = vbRed picLicht(1).BackColor = vbRed picLicht(2).BackColor = vbRed picLicht(3).BackColor = vbRed picLicht(4).BackColor = vbRed 'timer automatische run laten stoppen: blnStart = False blnStop = True lblVerlopentijd.Visible = False lblTijd.Visible = False 'opslaan van gegevens in Excel: Call opslaan End Sub Fig. 6.37: Applicatie in stop.
De bijkomende code die zorgt voor het goed functioneren van het programma is standaard code en eenvoudig te begrijpen.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 79 -
6.6 Lay-out van het programma 6.6.1
Het hoofdscherm
Er is gekozen voor een eenvoudige en duidelijke lay-out, zodat de gebruiker heel eenvoudig kan werken met het programma. In figuur 6.38 is de program-form of het hoofdscherm te zien, dit is het beeld die de gebruiker krijgt na het opstarten van het programma.
Fig. 6.38: Programma in werking
Fig. 6.39: Programma in stop.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 80 -
6.6.2
De log-in form
Beveiliging is belangrijk, zodat enkel mensen van het onderhoudsteam het programma kunnen opstarten. Dit wordt verwezenlijkt door een paswoord in te geven (zie fig. 6.40).
Fig. 6.40: De Log-in form.
6.6.3
Het splash-screen
Dit is een beeld die tijdens de opstart van het programma getoond wordt. De bedoeling hiervan is de gebruiker wat af te leiden tijden de wachttijd, met gegevens van het programma, logo van het bedrijf,…(zie fig. 6.41).
Fig. 6.41: Het Splash-screen.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 81 -
7 Implementatie in de poederlakstraat
7 IMPLEMENTATIE IN DE POEDERLAKSTRAAT 7.1 De implementatie Constructief is het moeilijkste gedeelte de gewichtsbepaling integreren in de poederlakstraat omdat er een onderbreking van het railsysteem moet gebeuren. Om deze onderbreking te verwezenlijken dient de ketting, waar de stukken door middel van haken aan vasthangen, onderbroken te worden. De ketting is ongeveer een halve kilometer lang en moet een bepaalde spanning bezitten om een goede geleiding te verzekeren. Deze spanning wordt behouden door een mechanisme die zich bij de motor bevindt. Omdat dit een gespecialiseerd onderdeel van het transportsysteem is werd gekozen om het maken van de onderbreking uit te besteden aan het bedrijf Railtechniek nv. Dit bedrijf is gespecialiseerd in dit soort transportsystemen. Het is er mogelijk om gespecialiseerde techniekers in te huren tegen bepaalde tarieven, die in bijlage 8 terug te vinden zijn. Omdat deze werken niet meer kunnen worden uitgevoerd voor het einde van het schooljaar, kan het programma niet meer getest worden. Via simulaties kan wel aangetoond worden dat het programma correct werkt.
7.2 Uitgewerkte scenario’s: 7.2.1
Testen van de formule
Om de formule uit te testen wordt elke parameter afzonderlijk gewijzigd ten opzichte van het optimaal ingeven scenario. Zoals in figuur 7.1 te zien is wordt gestart met het wijzigen van de factor tijd terwijl alle andere factoren dezelfde waarden behouden. In werkelijkheid zal dit echter nooit voorkomen.
Fig. 7.1: Uittesten van de formule.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 83 -
Uit de grafiek is af te leiden dat de index een correcte waarde visualiseert. Als het gewicht lager is dan het gewicht van het vooropgestelde scenario stijgt de index (zie fig. 7.2). Grafiek 50 meetpunten 220,00 210,00 200,00 190,00 180,00 170,00 160,00 150,00 140,00
Gewicht daalt Index stijgt
130,00 120,00
Tijd Gewicht Temperatuur Snelheid Gasverbruik Index
110,00 100,00 90,00 80,00 70,00 60,00 50,00 40,00 30,00 20,00 10,00 0,00 0
10
20
30
40
50
60
Fig. 7.2: Grafiek 50 meetpunten.
7.2.2
Werkelijk scenario
Om een beeld te krijgen van een mogelijk scenario, is een simulatie gemaakt van twintig werkende dagen. Het optimale scenario is een werktijd van 8 uur, een gemiddelde massa van 30kg, oventemperatuur op 200°C en een snelheid van 1,1 m/s. In figuur 7.3 zijn de meetpunten terug te vinden.
Fig. 7.3: Werkelijk scenario.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 84 -
Uit de grafiek kunnen er onmiddellijk vier opvallende punten aangeduid worden, deze punten zijn ook in figuur 7.3 aangeduid met de rode kleur. ♦ Punt 1 met een index van 82: Oorzaak: gedurende die dag werd slechts drie uur gebruik gemaakt van de oven en toch is er een groot gasverbruik. Mogelijk is de oven de hele dag op een temperatuur van 210°C gehouden en is er door storing in een ander deel van de poederlakstraat weinig productiviteit geweest. ♦ Punt 2 met een index van 86: Oorzaak: de snelheid is 2 m/s waardoor het gasverbruik een stuk hoger ligt. De index refereert ten opzichte van het optimale scenario waar de snelheid ingesteld is op 1 m/s. Hier is dus geen probleem. ♦ Punt 3 met een index van 84: Oorzaak: het gewicht van de werkstukken heeft een gemiddelde waarde van 90kg, waardoor opnieuw het gasverbruik een stuk hoger ligt. Opnieuw geen probleem. ♦ Punt 4 met een index van 115: Oorzaak: het gewicht van de werkstukken heeft een gemiddelde waarde van 15kg, dit is onder de vooropgestelde 30kg, waardoor de index dit als een goede werking ziet. Grafiek 20 meetpunten 230,00 220,00 210,00 200,00 190,00 180,00 170,00
4
160,00 150,00
1
140,00
2
3
Tijd Gewicht Temperatuur Snelheid Gasverbruik Index
130,00 120,00 110,00 100,00 90,00 80,00
5
70,00 60,00 50,00 40,00 30,00 20,00 10,00 0,00 0
2
4
6
8
10
12
14
16
18
20
Fig. 7.4: Grafiek 20 meetpunten.
♦ Punt 5, extra punt in figuur 7.3 aangeduid met de groene kleur: Een hoog gasverbruik terwijl de index rond de 100 blijft. Dit is een situatie waarbij verder onderzoek mogelijk is. Indien dit gasverbruik hoog zou blijven is het mogelijk dat de brander van de gasoven vervuild is. Zoals in het gegeven voorbeeld kan het zijn dat die dag de poorten van het bedrijf veel open stonden. Op deze manier is een duidelijk visualisatie van het gasverbruik mogelijk gemaakt.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 85 -
8 Besluit
8 BESLUIT: 8.1 Evaluatie van het eindproduct Oorspronkelijk was het de bedoeling om het programma te kunnen testen in de poederlakstraat zelf maar wegens de uitbesteding van het mechanisch gedeelte was dit niet meer mogelijk. Via simulaties werkt het programma uitstekend en is het voor de werknemers heel eenvoudig in gebruik. Aan de hand van de gaswaarde-index zijn de volgende aspecten verwezenlijkt: ♦ Visualisatie van het gasverbruik: het verbruik van de moffeloven kan dagelijks gecontroleerd worden. ♦ Controle van de poederlakstraat: storingen kunnen onmiddellijk gezien worden. Een mogelijke uitbreiding is dat er een melding of alarm gestuurd wordt vanuit de PLC naar de machinebediener. De machinebediener kan op een eenvoudige manier de stroring controleren en indien nodig maatregelingen treffen. ♦ Rendementscontrole van de gasbrander: indien de gasbrander vervuild is, is het mogelijk om snel de gasbrander een reinigingsbeurt te geven. Op die manier is een grote energiebesparing mogelijk. ♦ Referentie om de gasfactuur te controleren: de gegevens worden automatisch in Excel opgeslagen en kunnen gebruikt worden als referentie en als bewijs bij de controle van de gasfactuur. ♦ Bijdrage in de totale productiviteit van het bedrijf: met behulp van de gaswaarde-index is het mogelijk om eventuele bottlenecks op te sporen in het productieproces. Indien er bijvoorbeeld een trage aanvoer van nieuwe werkstukken is, zal het gasverbruik van de oven stijgen, zonder dat de index stijgt. Dit is zichtbaar in de grafiek en de nodige oplossingen kunnen genomen worden. De bijdrage van de index is tijdswinst en energiebesparing. Dit heeft tot gevolg dat de kostprijs om een werkstuk te poederlakken kan gereduceerd worden.
8.2 Eventuele verbeteringen aan de moffeloven: Als laatste onderdeel in het eindwerk is een kort onderzoek gestart om in de toekomst eventuele verbeteringen uit te voeren. Aan de hand van de index is het mogelijk om te controleren of de aanpassingen de installatie ten goede komen. De energie, die onder de vorm van warmte, in de moffeloven wordt verbruikt kan opgedeeld worden in volgende delen: ♦ ♦ ♦ ♦ ♦
De stukken die in de oven worden verwarmd. Lucht die uit de oven wordt gezogen om verversingslucht binnen te brengen. Verliezen aan de openingen van de oven. Rendementsverlies van de brander. De luchtafvoer boven de sluizen.
Er is praktisch geen verlies door de wanden van de oven doordat deze geïsoleerd zijn met rotswol van ongeveer 150mm dik. Daarbij zijn de wanden inwendig van aluminium waardoor de warmte wordt teruggekaatst.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 87 -
Om de kwaliteit van de te lakken stukken te waarborgen moet er een bepaalde hoeveelheid lucht uit de oven worden gezogen, tegelijkertijd komt er dan verse lucht de oven binnen. De lucht van ongeveer 200°C die wordt afgezogen brengt een groot energieverlies met zich mee dat door de brander moet gecompenseerd worden. Een bepaald verversingsdebiet is noodzakelijk omdat bij het gebruikte poeder, om de stukken te lakken, moffelgassen vrijkomen in de oven die moeten worden afgezogen. Indien die moffelgassen niet worden afgezogen dan wordt de kwaliteit van de stukken niet meer gewaarborgd. Er kan in eerste instantie ingespeeld worden op het gebruikte poeder. In het verleden werd echter al uitvoerig getest met verschillende poeders. Uit die resultaten kwam het huidige poeder als beste naar boven. Het debiet van de afgezogen moffelgassen werd door de installateur van de moffeloven ingesteld met behulp van grafieken. Ook de lamellen in de oven die zorgen voor de luchtcirculatie, om een homogene temperatuur in de oven te bekomen, werden opgesteld met deze tabellen en grafieken. Deze tabellen en grafieken zijn de kern om een goede werking van de oven te bekomen en uiteraard wil de installateur deze gegevens niet vrijgegeven. Ook in de droogoven is het noodzakelijk om een bepaald debiet lucht af te zuigen. Indien er geen lucht wordt afgezogen, dan zou de relatieve vochtigheid in de oven snel stijgen. Het is immers de bedoeling van de droogoven om de natte stukken, die binnenkomen in de oven, te drogen zodat deze stukken kunnen worden gelakt. Ook hier heeft de installateur het afzuigdebiet ingesteld met de nodige gegevens ter beschikking. Voorstellen om het gasverbruik te doen dalen: ♦ Het verversingsdebiet bij de ovens staat in voor een belangrijk gedeelte van het energieverbruik. Als dit verversingsdebiet naar beneden kan worden gehaald dan wordt al een belangrijke besparing gedaan. ♦ De warmte van de rookgassen van de moffel- en droogoven kunnen gerecupereerd worden om de verversingslucht op te warmen. Bijvoorbeeld door middel van een warmtewisselaar. ♦ Als de temperatuur van de aangezogen lucht daalt dan heeft dit tot gevolg dat er meer energie nodig is om de gewenste oventemperatuur te bereiken. Een plotse temperatuursdaling kan voorkomen als de poorten van de fabriek open gaan. Zoveel mogelijk de deuren gesloten houden kan heel veel helpen. Het is ook logisch dat in de wintermaanden meer energie nodig is dan in de zomermaanden als gevolg van de lagere temperatuur in de fabriek. ♦ Om de warmte, die aan de openingen van de ovens ontsnapt naar de omgeving tegen te gaan, kunnen deuren geplaatst worden. Maar aan de openingen komen er ook stukken in en uit. De deuren die zullen geplaatst worden moeten automatisch openen en sluiten in functie van de stukkenaanvoer. Deze verbetering wordt misschien een eindwerk voor volgend jaar. ♦ Tijdens de opstart van de moffel- en droogoven werkt de brander van beide ovens in de 2de vlamgang. Als nu deze opstarttijd kan verbeterd worden dan kan enerzijds de productie vlugger opstarten en anderzijds wordt er bespaard op het brandstofverbruik. Er moet echter wel rekening worden gehouden met de thermische weerbaarheid van de oven, om een voorbeeld te geven, de lagers van de ventilator zijn niet bestand tegen te plotse temperatuursveranderingen. Dit zijn voorbeelden die allemaal afzonderlijk onderzocht moeten worden, er kan niet zomaar gezegd worden dat deze zeker een verbetering zullen geven.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 88 -
9 Literatuurlijst
9 LITERATUURLIJST 9.1 Webpagina’s: • • • • • • • • • • • • • • • • • • • • • • •
Belgische Bedrijvengids. 04/08/06.http://www.bedrijvengids-belgien.be Bienfait Weegtechniek NV. 03/09/2006. http://www.bienfaitwt.nl/index.htm BLH weighing systems. 06/08/06. http://www.blh.com/ Breva. 09/07/06.http://www.breva.be/index-n.html Cheyns NV Kortrijk. 05/08/06.http://www.cheyns.be Corotec Corporation. 04/07/06.http://www.corotec.com/techinfo/faq.html Famell. 09/07/06.http://be.farnell.com Feterkis INC. 03/07/06.http://www.feteris.nl/ Forum Visual Basic. 07/12/06. http://www.visualbasic.be/ Glasbeekfinish homepage. 09/09/06. http://www.glasbeekfinish.nl Jumo Meet en regeltechniek. 10/11/06. http://www.jumo.nl MassLoad technologies. 12/09/06. http://www.massload.com/index.htm National Instruments. 04/08/06.http://www.ni.com OPC Foundation. 14/10/06.http://www.opcfoundation.org Revere Transducers. 29/08/06. http://www.revere.nl/index/index.htm Scaime. 06/09/06.http://www.scaime.com Sensorland. 29/06/06. http://www.sensorland.com/HowPage005.html Siemens Automation. 06/12/06. http://www.siemens.be Thames Side Maywood. 04/12/06.http://www.thames-side-maywood.com/ Telemecanique homepage. 02/12/06. http://www.telemecanique.com/en/index.htm Vandecappelle Roeselare. 6/07/06.http://www.vandecappelle.be/ Waak Homepage. 15/03/07. www.waak.be Railtechniek nv. 16/03/07. http://www.xs4all.nl.
9.2 Software: • • • • • • • • •
Adobe Photoshop 7.0. 2005. Adobe Systems INC. Adobe Reader 7.0.7.Adobe Systems INC. Internet Explorer 7.0. 2006. Microsoft INC. Crimson 2.0. 2004. Red Lion Office Applications 2003. 2003. Microsoft INC. ProTool PRO 3.1.2000. Siemens Simatic Net 5.0. 2005.Siemens Step 7 5.0. 2005. Siemens Visual Basic 6.0.2003. Microsoft INC.
9.3 Boeken en cursussen: • • • • • •
Capoen,H, Industriële Automatisering,Kortrijk,2006 Vandenhoeke,D,Visual Basic for Application, Kortrijk, 2006 Vanlierde, D, Oefeningen Step 7, Kortrijk, 2006 Defossez,N, Step 7 handleiding, Kortrijk 2004 Bruijnes,G,Basiscursus Visual Basic, 2003 Snauwaert,F,Toegepaste mechanica, Kortrijk, 2003
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 90 -
Bijlagen
Bijlage 1: Overzicht van de opgezochte loadcells en meetversterkers.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
-2-
PLC kaart
Meetversterker Merk:
Merk:
Load cells
T 66 100kg
Single beam SHBxR 100kg Single point 650 100 kg Single point 642c 100kg
CPJ din rail CPJ box
PAXS + PAXCDL
MCE 9629
Siemens Siwarex U 7MH4601-1AA01 7MH4683-3AA63
SGA
LCM
BB 7MH4103-2KC01 RN 7MH5 101-3DD00 7MH3701-1AA1
Scaime type AB C3 5e 100kg Scaime type AP C3 5e 100kg Scaime type AG C3 5e 100kg Scaime type AH C3 5e 200kg
Eilersen
Siemens
Mb 46.13
Messotron
Type D5075 100kg
Eilersen
Overzicht Merken, mogelijkheden Scaime
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
Siemens AI Kaart aanwezig
Scaime
Red lion
Universal load cell 9363 100kg
Thames side Maywood
Vishay
* Meetversterker loadcell: * met analoog uitgangssignaal 4-20mA / 0-20mA / 0-10V
* Single point load cell, centercell met meetgewicht 100kg * Nauwkeurigheid niet belangrijk * Certificaten niet relevant
Gezocht:
Prijsaanvraag: Gewichtsbepaling
IPM500
Futek
Type SPB4
Type BF2
LCM
SGA DMA
430 reeks
Interface
SSB-AJ 250
Interface
Load&Strain
Calex
LLB400
Futek
S7 line
RDP - elektronics
RLW 100
RDP - elektronics
3
314A
Weightech
Model 207
Uticell
Bijlage 2: Technische informatie van het transportsysteem.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
-4-
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
-5-
Bijlage 3: Overzicht van de programmeermenu’s van de PAXS meetversterker.
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
-6-
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
-7-
Bijlage 4: PLC programma: parameters doorsturen.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
-8-
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
-9-
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 10 -
Bijlage 5: PLC programma: Berekening van de kettingsnelheid.
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 11 -
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 12 -
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 13 -
Bijlage 6: VB programma: volledige code.
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 14 -
Option Explicit 'variabele declareren: 'OPC automation:'openen van opc instellingen, basiscode Private WithEvents objServer As OPCAutomation.OPCServer Private WithEvents objGroup As OPCGroup Private objItem1 As OPCItem ' item 1: gewichtswaarde woord Private objItem2 As OPCItem ' item 2: stukdetectie boolean Private objItem3 As OPCItem ' item 3: temperatuur woord Private objItem4 As OPCItem ' item 4: snelheid woord Private objItem5 As OPCItem ' item 5: gasteller woord Private objItem6 As OPCItem ' item 6: band bewegen Private ServerHandleGroup(1 To 6) As Long ' 6 items op te nemen 'Excel: 'standaard coderegels om excel aan te spreken Private objExcel As excel.Application 'werkblad PoederlakGewicht.xls openen: Private objPoederlakGewicht As excel.Workbook Private objGewicht As excel.Worksheet Private objSnelheid As excel.Worksheet Private objTemperatuur As excel.Worksheet Private objGasverbruik As excel.Worksheet Private objGemiddeldes As excel.Worksheet 'werkblad PoederlakGewichtGemiddeldes_Werkblad.xls openen Private objPoederlakGewichtGemiddeldes_Werkblad As excel.Workbook Private objFile2_Gemiddeldes As excel.Worksheet 'declareren van i Private i As Integer 'Optellen aantal keer wegschrijven gewicht: Private iAantalClick As Integer 'Optellen aantal keer wegschrijven tijd, moet anders want start bij cell2 Private iAantalClickTijd As Integer 'optellen aantal keer wegschrijven bij gemiddeldes-Andere file: Private iAantalClickFile2Gemiddeldes As Integer 'Hoogzetten bit om stukdetectie te volgen: Private bStukdetectie As Boolean 'Grijsconstante declareren: Private Const GRIJS As Long = &H8000000F 'Voor looplicht: Private iIndex As Integer Private bTerug As Boolean 'Voor declaratie na start applicatie: Private bvorigewaarde As Boolean 'uitleg gaswaardeindex: Private ngetal As Integer 'timer voor runapplicatie: Dim blnStart As Boolean Dim blnStop As Boolean Dim lngTeller As Long 'om verlopen tijd op te splitsen: Dim uur As Long Dim min As Long 'tijd decimaal bepalen:single nemen om met komma getallen te werken: Dim minutendecimaal As Single Dim verlopentijd As Single 'Voor opslaan na bepaalde tijd: Dim tijd As Date 'voor controle band bewegen Dim bandbewegen As Boolean Private Sub cmdRunApplicatie_Click() 'applicatie automatisch laten werken Dim j As Integer 'looplicht: For j = 0 To 4 picLicht(j).Visible = True Next j tmrVertraagPicLoopLicht.Enabled = True picLicht(0).BackColor = vbGreen picLicht(1).BackColor = vbGreen picLicht(2).BackColor = vbGreen picLicht(3).BackColor = vbGreen picLicht(4).BackColor = vbGreen 'automatische cyclus: timer nodig om cyclisch te werken: tmrAutomatischeRun.Enabled = True 'jump to timer 'achtergrondkleur labels: lblToon.BackColor = vbGreen 'timer verlopen tijd: lblVerlopentijd.Visible = True lblTijd.Visible = True lblTijd = "00:00:00"
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 15 -
lngTeller = 0 End Sub Private Sub cmdsimulatie_Click() Call opslaan 'jump opslaan End Sub Private Sub cmdStopApplicatie_Click() 'stoppen van de applicatie 'automatische run stoppen: tmrAutomatischeRun.Enabled = False 'looplicht stoppen: tmrPicLoopLicht.Enabled = False picLicht(0).BackColor = vbRed picLicht(1).BackColor = vbRed picLicht(2).BackColor = vbRed picLicht(3).BackColor = vbRed picLicht(4).BackColor = vbRed 'achtergrond labels: lblStukDetectie.BackColor = vbBlue lblToon.BackColor = vbBlue 'timer automatische run laten stoppen: blnStart = False blnStop = True lblVerlopentijd.Visible = False lblTijd.Visible = False 'opslaan van gegevens in excel: Call opslaan End Sub Private Sub opslaan() 'tijd in excel plaatsen:'belangrijk dat dit eerst gebeurt minutendecimaal = 1 / 60 * min verlopentijd = uur + minutendecimaal objGemiddeldes.Cells(iAantalClickTijd, 1).Value = verlopentijd 'wegschrijven waardes naar file 2: pas dan alles wegschrijven naar file 2 iAantalClickFile2Gemiddeldes = iAantalClickFile2Gemiddeldes + 1 objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes, 1).Value = objGemiddeldes.Cells(2, 1).Value objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes, 2).Value = objGemiddeldes.Cells(2, 2).Value objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes, 3).Value = objGemiddeldes.Cells(2, 3).Value objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes, 4).Value = objGemiddeldes.Cells(2, 4).Value objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes, 5).Value = objGemiddeldes.Cells(2, 5).Value 'opslaan van file2 mag dan gewoon met dit verder werken: objPoederlakGewichtGemiddeldes_Werkblad.Save On Error Resume Next 'visualiseren van de gaswaarde-index: lblGaswaardeIndex.Caption = objFile2_Gemiddeldes.Cells(iAantalClickFile2Gemiddeldes, 6).Value 'alles resetten van labels: lblToon.Caption = "0"BlblTemperatuurVariabele.Caption = "" lblGasVerbruikVariabele.Caption = "" lblSnelheidVariabele.Caption = "" 'timer verlopen tijd: lblTijd = "00:00:00" lngTeller = 0 'resetten plaats in excel: iAantalClick = 0 iAantalClickTijd = 2 'pas op iAantalClickFile2Gemiddeldes niet op nul plaatsen, dit wordt bijgehouden tot applicatie stopt i=0 End Sub Private Sub cmdToonExcel_Click() 'Tonen van Excel file Dim m As Integer 'meegeven dat dit de niet opgeslagen versie is: m = MsgBox("PAS OP! Dit is de niet opgeslagen versie", vbOKCancel + vbInformation, "Informatie") If vbOK Then objExcel.Visible = True End If End Sub Private Sub Form_Load() 'form load 'OPC automation: 'Addref uitvoeren: Set objServer = New OPCAutomation.OPCServer 'connecteren op de OPC server: Call objServer.Connect("OPC.SimaticNET") 'Addref uitvoeren vanuit het bovenliggende OPCserver obj: Set objGroup = objServer.OPCGroups.Add("digitaal") 'Addref uitvoeren vanuit het bovenliggende obj: Set objItem1 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW110", 1 Set objItem2 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MX106.0", 1 Set objItem3 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW114", 1)
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 16 -
Set objItem4 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW112", 1 Set objItem5 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MW116", 1) Set objItem6 = objGroup.OPCItems.AddItem("S7:[S7 connection_1]MX106.1", 1) 'de serverhandle in de voorziene array bewaren: ServerHandleGroup(1) = objItem1.ServerHandle 'gewicht ServerHandleGroup(2) = objItem2.ServerHandle 'stukdetectie ServerHandleGroup(3) = objItem3.ServerHandle 'temperatuur ServerHandleGroup(4) = objItem4.ServerHandle 'snelheid ServerHandleGroup(5) = objItem5.ServerHandle 'gasteller ServerHandleGroup(6) = objItem6.ServerHandle 'bandbewegen 'Zorgt ervoor dat de OPC Server events kan genereren voor die specifieke OPC Group: objGroup.IsSubscribed = True ' activeren van de OPC Group objGroup.IsActive = True ' activeren van de OPC Items binnen de actieve OPC Group objItem1.IsActive = True 'gewicht objItem2.IsActive = True 'stukdetectie objItem3.IsActive = True 'temperatuur objItem4.IsActive = True 'snelheid objItem5.IsActive = True 'gasteller objItem6.IsActive = True 'band bewegen 'Excel: Set objExcel = New excel.Application 'standaard coderegel om Excel als applicatie te openen Set objPoederlakGewicht = objExcel.Workbooks.Open(App.Path & "\PoederlakGewicht.xls") Set objGewicht = objPoederlakGewicht.Worksheets("Gewicht") Set objSnelheid = objPoederlakGewicht.Worksheets("Snelheid") Set objTemperatuur = objPoederlakGewicht.Worksheets("Temperatuur") Set objGasverbruik = objPoederlakGewicht.Worksheets("Gasverbruik") Set objGemiddeldes = objPoederlakGewicht.Worksheets("Gemiddeldes") Set objPoederlakGewichtGemiddeldes_Werkblad = objExcel.Workbooks.Open(App.Path & "\PoederlakGewichtGemiddeldes_Werkblad.xls") Set objFile2_Gemiddeldes = objPoederlakGewichtGemiddeldes_Werkblad.Worksheets("File2_Gemiddeldes") 'positie form: Call Dim_Pos(True) 'oproepen van subroutine om positie van de form te bepalen bij opstarten vd form 'picbox: picLicht(0).BackColor = vbRed picLicht(1).BackColor = vbRed picLicht(2).BackColor = vbRed picLicht(3).BackColor = vbRed picLicht(4).BackColor = vbRed 'kleur van labels: lblStukDetectie.BackColor = vbBlue lblToon.BackColor = vbBlue 'optellen van aantal stukken - voor excel wegschrijven, initieel plaatsen: iAantalClick = 0 iAantalClickTijd = 2 iAantalClickFile2Gemiddeldes = 1 End Sub Private Sub form_Resize() 'indien form van afmetingen verandert Call Dim_Pos(True) 'oproepen van de subroutine om positie van de form te bepalen bij het resizen End Sub Private Sub Dim_Pos(EersteVier As Boolean) 'subroutine voor positie van de form If EersteVier = True Then frmGewicht.Top = 1 / 8 * Screen.Height frmGewicht.Left = 1 / 6 * Screen.Width frmGewicht.Height = 1 / 2 * Screen.Height frmGewicht.Width = 1 / 1.5 * Screen.Width End If End Sub Private Sub Form_Unload(Cancel As Integer) 'form unload 'voor OPC automation: Dim Errors() As Long 'foutafhandeling1: On Error Resume Next 'OPC automation: 'de OPCItems via array verwijderen uit de OPCGroups: Call objGroup.OPCItems.Remove(1, ServerHandleGroup(), Errors()) 'gewicht Call objGroup.OPCItems.Remove(2, ServerHandleGroup(), Errors()) 'stukdetectie Call objGroup.OPCItems.Remove(3, ServerHandleGroup(), Errors()) 'temperatuur Call objGroup.OPCItems.Remove(4, ServerHandleGroup(), Errors()) 'snelheid Call objGroup.OPCItems.Remove(5, ServerHandleGroup(), Errors()) 'gasteller Call objGroup.OPCItems.Remove(6, ServerHandleGroup(), Errors()) 'bandbewegen 'release uitvoeren: Set objItem1 = Nothing Set objItem2 = Nothing Set objItem3 = Nothing
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 17 -
Set objItem4 = Nothing Set objItem5 = Nothing Set objItem6 = Nothing 'OPCGroup verwijderen uit de OPCserver: Call objServer.OPCGroups.Remove("digitaal") 'Release uitvoeren: Set objGroup = Nothing 'connectie met de OPC server wegnemen: Call objServer.Disconnect 'release uitvoeren: Set objServer = Nothing 'Excel: Set objSnelheid = Nothing 'wegnemen uit het geheugen van blad Set objGasverbruik = Nothing Set objTemperatuur = Nothing Set objGewicht = Nothing Set objGemiddeldes = Nothing Set objFile2_Gemiddeldes = Nothing objPoederlakGewicht.Close True 'sluit excel, de true staat voor het opslaan objPoederlakGewichtGemiddeldes_Werkblad.Close True Set objPoederlakGewicht = Nothing Set objPoederlakGewichtGemiddeldes_Werkblad = Nothing objExcel.Quit 'excel afsluiten Set objExcel = Nothing 'standaard coderegel om geheugen vrij te maken End Sub Private Sub mnuExit_Click() 'menu Dim m As Integer m = MsgBox("PAS OP! Vergeet niet de gegevens in Excel op te slaan!", vbOKCancel + vbInformation, "Opslaan van de gegevens") If vbOK Then objExcel.Visible = True End Else End End If End Sub Private Sub mnuGoToExcelFile_Click() Dim m As Integer m = MsgBox("PAS OP! Dit is de niet opgeslagen versie", vbOKCancel + vbInformation, "Informatie") objExcel.Visible = True End Sub Private Sub objGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date) On Error Resume Next 'omdat de event de eerste keer gegenereerd wordt voor één OPC Item 'binnen de OPC Group (het eerste dat verandert) en de andere dan nog 'geen waarde bezitten 'PARAMETERS visualiseren: lblGewichtStuk.Caption = objItem1.Value lblStukDetectie.Caption = objItem2.Value lblTemperatuurVariabele.Caption = objItem3.Value lblSnelheidVariabele.Caption = objItem4.Value lblGasVerbruikVariabele.Caption = objItem5.Value bandbewegen = objItem6.Value End Sub Private Sub tmrAutomatischeRun_Timer() On Error Resume Next 'automatisch label van kleur veranderen: If lblStukDetectie.Caption = "True" Then lblStukDetectie.BackColor = vbGreen Else lblStukDetectie.BackColor = vbRed End If 'Parameters wegsturen naar excel: If lblStukDetectie.Caption = "True" And bvorigewaarde = False Then iAantalClick = iAantalClick + 1 lblToon.Caption = iAantalClick objGewicht.Cells(iAantalClick, 1).Value = lblGewichtStuk.Caption objTemperatuur.Cells(iAantalClick, 1).Value = lblTemperatuurVariabele.Caption objSnelheid.Cells(iAantalClick, 1).Value = lblSnelheidVariabele.Caption objGasverbruik.Cells(iAantalClick, 1).Value = lblGasVerbruikVariabele.Caption bvorigewaarde = True End If If lblStukDetectie.Caption = "False" Then bvorigewaarde = False End If 'timer automatische run laten lopen: opletten tijd die band loopt = belangrijk !!
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 18 -
If bandbewegen = True Then 'als band beweegt: tmrTijdAutoRun.Enabled = True blnStop = False blnStart = True Else 'timer automatische run laten stoppen: blnStart = False blnStop = True tmrTijdAutoRun.Enabled = False End If End Sub Private Sub tmrPicLoopLicht_Timer() 'automatisch laten lopen van looplicht: tmrVertraagPicLoopLicht.Enabled = False If iIndex = 0 Then bTerug = False End If If iIndex = 4 Then bTerug = True End If picLicht(iIndex).BackColor = GRIJS If bTerug = False Then iIndex = iIndex + 1 Else iIndex = iIndex - 1 End If picLicht(iIndex).BackColor = vbGreen End Sub Private Sub tmrTijd_Timer() 'timer voor de huidige tijd lblTime.Caption = Time lblDatum.Caption = Date 'Na bepaalde tijd opslaan van de gegevens + tijd wegschrijven: tijd = Time() If tijd > "22:00:00" Then 'Om tien uur worden alle gegevens opgeslagen. Call opslaan End If End Sub Private Sub tmrTijdAutoRun_Timer() 'timer voor de tijd die reeds voorbij is sinds start: lngTeller = lngTeller + 1 If blnStart Then If lblTijd = "00:00:00" Then lblTijd = 0 lblTimer = lngTeller Mod 10 lblTijd = digits(lngTeller / 10) End If End Sub Private Sub tmrVertraagPicLoopLicht_Timer() 'looplicht tmrPicLoopLicht.Enabled = True tmrVertraagPicLoopLicht.Enabled = False End Sub Public Function digits(lngGetal As Long) 'tijd opsplitsen: 'variabelen declareren Dim sec As Long 'Dim min As Long 'over hele form nodig --> dus hier weg 'Dim uur As Long 'over hele form nodig Dim secs As Long Dim mins As Long Dim uurs As Long 'gelijk stellen mins = Fix(lngGetal / 60) uur = Fix(mins / 60) sec = lngGetal Mod 60 min = mins Mod 60 'instellen If uur < 10 Then digits = "0" & uur Else digits = uur End If If min < 10 Then digits = digits & ":0" & min Else digits = digits & ":" & min End If If sec < 10 Then digits = digits & ":0" & sec
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 19 -
Else digits = digits & ":" & sec End If End Function
Option Explicit ‘Log-in form Public LoginSucceeded As Boolean Private Sub cmdCancel_Click() 'set the global var to false 'to denote a failed login LoginSucceeded = False Me.Hide End Sub Private Sub cmdOK_Click() 'check for correct password If txtPassword = "Waak" Then 'place code to here to pass the 'success to the calling sub 'setting a global var is the easiest LoginSucceeded = True Me.Hide Load frmSplash frmSplash.Show frmGewicht frmGewicht.Show Else MsgBox "Invalid Password, try again!", , "Login" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End Sub Option Explicit ‘splashscreen Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me End Sub Private Sub Form_Load() lblVersion.Caption = "Version 1" lblProductName.Caption = "Gaswaarde-Index" End Sub Private Sub Frame1_Click() Unload Me End Sub Private Sub trmVertraagSplash_Timer() frmSplash.Hide Unload frmSplash Load frmLogin fmLogin.Show Load frmGewicht frmGewicht.Show End Sub
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 20 -
Bijlage 7: Gasverbruik in grafiek. periode 2003 – 2007.
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 21 -
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 22 -
Bijlage 8: Tarieven Railtechniek BV.
Thesis: Studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 23 -
PRIJSLIJST MONTAGETARIEVEN m.i.v. 01-05-2007 Montagetarieven: Van maandag t/m vrijdag van 7.00 – 16.00 uur
Per uur
Bedraagt het uurtarief voor montage en servicewerk (servicewerk op basis van vaste onderhoudscontracten) Toeslag na 16.00 uur (ook voor reisuren) 150%
€
49,50
€
70,=
Tarieven zaterdag, zowel reis- als werkuren Tarieven zon- en feestdagen, zowel reis- als werkuren
€ €
70,= 95,=
Programmeur / engineer Toeslag na 16.00 uur (ook de reisuren) Tarieven zaterdag, zowel reis- als werkuren Tarieven zon- en feestdagen, zowel reis- als werkuren
€ € € €
75,= 110,= 110,= 130,=
Losse hotelboekingen per nacht
€
145,=
Kilometer vergoeding
€
0,70
Vaste montageprijzen per dag, van maandag t/m vrijdag Gebaseerd op 2 monteurs, inclusief reistijd en km. Inclusief hotelovernachting
€ 1.125,= € 1.350,=
In de regel geldt een reistijd van > 1 uur of een afstand in km. vanaf Tiel > 125 km. tevens afhankelijk van filegevoelige gebieden. Servicetarieven bij storingen: Van maandag t/m vrijdag van 7.00 – 16.00 uur Servicemonteur Service- engineer / monteur
€ €
Toeslag na 16.00 uur (ook reisuren) Servicemonteur Service- engineer / monteur
€ €
85,= 110,=
€
60,=
€
90,=
57,50 75,=
24- uurs storingsdienst op aanvraag Ondersteuning Helpdesk/modem (met een minimum van 0,5 uur) toeslag na 16.00 uur
Onze prijzen zijn strikt netto, exclusief 19% BTW
Thesis: studie en implementatie van een geautomatiseerde gewichtsbepaling.
- 24 -