Bij de automatisatie van uw werkplaats zal de identificatie van de werkstukken meestal gebeuren aan de hand van barcodes. Afhankelijk van de opbouw van uw werkplaats zal er andere informatie nodig zijn. Onderstaande schema geeft aan welke informatie waar nodig is.
Machine
|
Bewerkingen |
Informatie |
Zaagmachine |
Zagen van profielen |
Barcode aanmaken na het zagen aan de hand van de zaaglijst. |
Bewerkingscenter |
Frezen, boren van profielen |
Unieke identificatie nodig van de individuele profielen |
Beslag positioneren |
Positioneren en schroeven van beslag |
Unieke identificatie nodig van de individuele profielen |
Lasmachine (pvc) |
Lassen van het kader |
Unieke identificatie van de kader (meestal 4 omtrek profielen + eventuele T-stijlen) |
Hoekoppoetser (pvc) |
Oppoetsen van het gelaste kader |
Unieke identificatie van de kader |
Bij het doorlopen van de werkplaats merken we dat er een verschillende identificatie dient te gebeuren afhankelijk van de bezochte machine. Er zijn machines die afzonderlijke profielen moeten kunnen identificeren en er zijn machines die een volledige kader in zijn geheel moeten kunnen identificeren. We moeten hiermee rekening houden bij het samenstellen van de barcode:
-
bestaat de werkplaats enkel uit machines om profielen te bewerken dan volstaat het om in de barcode enkel de unieke identificatie van de profielen op te nemen.
-
zijn in de werkplaats ook machines aanwezig om kaders te bewerken, dan zal ook de unieke kader identificatie mee opgenomen moeten worden.
Wanneer we via JoPPS etiketten aanmaken met barcodes gaan we als volgt tewerk:
Voor de identificatie van de opdracht gebruiken we de runtag. Dit is een interne teller die door JoPPS verhoogd wordt telkens er gerekend wordt. De waarde kan zowel decimaal (0-65535) als hexadecimaal (0000-FFFF) worden uitgelezen. Het eerste deel van de barcode zal dan de decimale waarde bevatten uitgeschreven op 6 cijfers.
Ieder profiel en iedere kader krijgt tijdens de berekening een uniek nummer toegekend, ook bij het rekenen in batch. Wanneer in de werkplaats enkel nood is aan de identificatie van de unieke profielen dan zal barcode als volgt worden samengesteld:
bbbbbbpppp: hierbij is bbbbbb de unieke runtag en pppp het unieke profielnummer.
Is er daarnaast echter ook nood aan de unieke kader informatie dan zal de barcode als volgt worden samengesteld:
bbbbbbkkkkpppp: hierbij is kkkk dan het unieke kadernummer.
In dit laatste geval zal de volledige barcode gelezen worden voor de unieke identificatie van de profielen en zullen enkel de eerste 10 cijfers worden gelezen voor de unieke kader identificatie (is in te stellen op de machine en is soms niet mogelijk; moet dus steeds nagevraagd worden bij de machine leverancier).
Een voorbeeld (met als runtag = 001089 / #0441):
Onderdeel
|
Profiel nummer
|
Kader nummer
|
Barcode
|
B1 buitenkader
|
0001
|
0001
|
00108900010001
|
B3 buitenkader
|
0002
|
0001
|
00108900010002
|
B2 buitenkader
|
0003
|
0001
|
00108900010003
|
B4 buitenkader
|
0004
|
0001
|
00108900010004
|
T1 stijl kader
|
0008
|
0001
|
00108900010008
|
V1 vleugel
|
0011
|
0002
|
00108900020011
|
V3 vleugel
|
0012
|
0002
|
00108900020012
|
V2 vleugel
|
0013
|
0002
|
00108900020013
|
V4 Vleugel
|
0014
|
0002
|
00108900020014
|
Wanneer de etiketten met barcodes via JoPPS worden afgedrukt, moeten we het desbetreffende rapport aanpassen dat de barcode gaat samenstellen.
Optimalisatie etiketten
In de folder ...\RPT\Common\ het bestand lbl_optimization_b_project.qrf
In dit bestand staan een aantal voorgedefinieerde barcodes voor verschillende bewerkingcenters (de lijnen die voorafgaan worden met een punt-komma staan in commentaar). De samenstelling van de barcode geeft slechts een voorbeeld en zal steeds per situatie moeten bekeken worden.
Nemen we bijvoorbeeld volgende regel:
DSP_PIECE_BARCODE="BARCODE:%BARCODETYPE%;%SHOWCODE%;%BARCODEWIDTH%;%BARCODEHEIGHT%;0;0;#
%EVAL{IntToStr0(StrToNum("%RUNTAGDEC%"),6)+IntToStr0(@%DB_PIECE_COUNT%,4)}" DISPLAY AS IMGREF(0,0,0)
De code die in het vet staat aangegeven dient om de barcode samen te stellen:
IntToStr0(StrToNum("%RUNTAGDEC%"),6) is het eerste deel van de barcode en zal de runtag in decimale vorm uitschrijven op 6 plaatsen met voorloopnullen.
IntToStr0(@%DB_PIECE_COUNT%,4) is het tweede deel van de barcode en zal het unieke profielnummer uitschrijven op 4 plaatsen met voorloopnullen.
We kunnen door bovenstaande regel aan te passen nu ook het unieke kadernummer in de barcode opnemen, deze regel wordt dan:
DSP_PIECE_BARCODE="BARCODE:%BARCODETYPE%;%SHOWCODE%;%BARCODEWIDTH%;%BARCODEHEIGHT%;0;0;#
%EVAL{IntToStr0(StrToNum("%RUNTAGDEC%"),6)+IntToStr0(@%DB_PIECE_BATCHREF%)+#
IntToStr0(@%DB_PIECE_COUNT%,4)}"DISPLAY AS IMGREF(0,0,0)
IntToStr0(@%DB_PIECE_BATCHREF%) wordt hier als tweede deel gezet en zal het unieke kader uitschrijven op 4 plaatsen met voorloopnullen.
Elumatec en Thorwesten etiketten
Op dezelfde manier kan ook de barcode worden samengesteld voor de andere etiketten in JoPPS: Elumatec en Thorwesten waarvan de bestanden in dezelde folder zijn terug te vinden (lbl_mc1.qrf, resp lbl_mc2.qrf).
Onderstaande tabel geeft een overzicht van de parameters die kunnen gebruikt worden in de qrf om de barcode samen te stellen.
|
Parameter
|
Type
|
Inhoud
|
|
Aangewezen parameters om te gebruiken
|
RUNTAG
|
String
|
Runtag hexadecimaal
|
|
RUNTAGDEC
|
String
|
Runtag decimaal
|
%DB_PIECE_COUNT%
|
Int
|
Unieke nummer over alle profielen (zowel de constructieve als de niet-constructieve)
|
|
%DB_PIECE_BATCHPART%
|
Int
|
|
Uniek per batch
|
%DB_PIECE_BATCHREF%
|
Int
|
Unieke nummer per batch van de kader
|
%DB_PIECE_BATCHCNT%
|
Int
|
Unieke nummer per batch van de constructieve profielen (dit nummer komt dus niet overeen met %DB_PIECE_COUNT%)
|
Niet in batch
|
%DB_PIECE_PROJECTPART%
|
Int
|
|
Uniek per project
|
%DB_PIECE_PROJECTREF%
|
Int
|
Unieke nummer per project van de kader
|
%DB_PIECE_PROJECTCNT%
|
Int
|
Unieke nummer per project van de constructieve profielen
|
Niet te gebruiken
|
%DB_PIECE_GROEPPART%
|
Int
|
|
Uniek per groep
|
%DB_PIECE_GROEPREF%
|
Int
|
Unieke nummer per groep van de kader
|
%DB_PIECE_GROEPCNT%
|
Int
|
Unieke nummer per groep van de constructieve profielen
|
%DB_PIECE_FRAMEREF%
|
Int
|
Unieke nummer per deel van de kader
|
Uniek per deel
|
%DB_PIECE_FRAMECNT%
|
Int
|
Unieke nummer per deel van de constructieve profielen
|
%DB_PIECE_VENTREF%
|
Int
|
Unieke nummer per vleugeldeel van de kader
|
Uniek per vleugeldeel
|
%DB_PIECE_VENTCNT%
|
Int
|
Unieke nummer per vleugeldeel van de constructieve profielen
|
Sommige machines hebben de mogelijkheid om zelf etiketten met barcodes aan te maken (zaagmachines en sommige bewerkingcenters). Het samenstellen van de barcode kan, afhankelijk van de sturing, op 3 verschillende manieren worden samengesteld:
-
de barcode wordt in de sturing samengesteld en kan niet door de gebruiker aangepast worden. Dit is de minst flexibele manier van werken, voor aanpassingen is een interventie van TECHWIN’s ontwikkelteam nodig.
-
de sturing kan een aantal verschillende barcodes samenstellen afhankelijk van de gekozen parameter. In de meeste gevallen bestaat de samenstelling voor de barcode, maar het kan nog steeds voorkomen dat er een interventie van TECHWIN’s ontwikkelteam nodig is.
- de sturing beschikt over een parameter/instelling waarmee de barcode door de gebruiker kan worden samengesteld door middel van scripting. Dit is de meest flexiblele manier van werken. Er bestaat echter nog steeds de kans dat de nodige parameters in het script niet beschikbaar zijn. Ook in dat geval zal steeds een interventie van TECHWIN’s ontwikkelteam nodig zijn.
Voorbeeld:
JoPPS barcode scripting |
Param.Value['BARCODE'] := StrRight('0000' + Param.Value['BATCHREF'],4)
+ StrRight('0000' + Param.Value['_RUNTAG'],4)
+ StrRight('0000' + Param.Value['CUTCNT'],4);
|