Vonalkód

A Wikipédiából, a szabad enciklopédiából
Vonalkód

A vonalkód olyan, gépekkel optikailag leolvasható kód, amelynél különböző vastagságú függőleges sötét vonalak és világos közök meghatározott váltakozása fejezi ki az információt. Általában alattuk számokat is elhelyeznek. Leggyakoribb felhasználási területe a kereskedelem, például az áruk csomagolásán, ami lehetővé teszi az áru következő adatainak gyors azonosítását:

  • a gyártó ország
  • a gyári szám
  • a termék cikkszáma

Vonalkód jelképekkel megjelenített azonosító számok lehetővé teszik a gépek számára az elektronikus leolvasást, aminek eredményeképpen használata nagyban segíti és gyorsítja az információ áramlását a bolti pénztáraknál, raktári átvételnél, illetve minden olyan helyen, ahol az üzleti folyamatokban lehetséges.

Az egységes szerkezetű számozási, azonosítási rendszer és az automatikus adatgyűjtést biztosító vonalkódok mára sokféle méretben léteznek, és ha szükséges, a csökkentett helyigényű, úgynevezett DataBar (korábban RSS) kódok akár egy kis ampullán is elhelyezhetők. A klasszikus kereskedelmi alkalmazásokon kívül a vonalkódoknak jelentős szerepük van az élelmiszerek és gyógyszerek nyomon követésében.

A vonalkódos azonosítás a GS1 rendszer legismertebb eleme, amely a kereskedelmi folyamatok elválaszthatatlan része. A vonalkód jelképekkel megjelenített azonosító számok teszik lehetővé a gépek számára az elektronikus leolvasást (szkennelést), ami nagyban segíti és gyorsítja az információ áramlását a bolti pénztáraknál, raktári átvételnél, illetve minden olyan helyen, ahol az üzleti folyamatokban szükséges.

Magyar neve[szerkesztés]

Kezdetben magyartalanul „bar kód”-nak fordították (pl. Ezermester Kiskönyvtára 24., PC-től a teletextig, 1984).

Kifejlesztése[szerkesztés]

A vonalkód-leolvasó és -kiértékelő rendszer szabadalmi leírását Classifying Apparatus and Method címmel 1949 októberében nyújtotta be feltalálója, Norman Joseph Woodland amerikai gépészmérnök (1921–2012) és munkatársa, Bernard Silver (1924–1963). A szabadalmi okiratot 1952. október 7-én állították ki, US Patent 2,612,994 Archiválva 2013. február 5-i dátummal a Wayback Machine-ben szám alatt. A két feltaláló később eladta a találmány összes jogát 15 000 dollárért a Philco iparcikk-kereskedő vállalatnak.[1]

A vonalkód leolvasása[szerkesztés]

A vonalkód leolvasását erre kifejlesztett készülékek teszik lehetővé, elsősorban a pénztárosok számára. Legelőször az Amerikai Egyesült Államokban, Troy városban (Ohio állam) alkalmazták egy szupermarketben, egy Wrigleys rágógumin lévő kód leolvasásakor 1974. június 26-án. A vonalkód használatát Magyarországon legelsőként a Skála Budapest Nagyáruház vezette be, 1984-ben, majd az 1990-es évek óta az egész országban elterjedt.

A vonalkódban nem a fekete vonalak, hanem a köztük lévő fehérek a „hasznosak”, mivel ezekről verődik vissza a leolvasó által kibocsátott impulzus. A különböző vastagságú és távolságú fehér vonalak egy számsorozatot kódolnak, amit általában számjegyekkel is kiírnak a vonalkód alatt.

Leolvasó eszközök[szerkesztés]

  • Fényceruzák
  • Kézi szkennerek
  • Pultba épített szkennerek
  • Lézerpisztolyok
  • Számos okostelefon-alkalmazás képes az eszköz beépített kamerájának segítségével beolvasott vonalkód értelmezésére.

Típusai[szerkesztés]

GTIN (EAN-13)[szerkesztés]

Egy GTIN-13 típusú vonalkód

Az Európában használt kereskedelmi forgalomba kerülő vonalkód szabványa a GS-1 kódolás (régebben EAN kódolás, azaz European Article Numbering), ebben 13 számjegy jelöli az illető terméket (GTIN – Global Trade Item Number, azaz globális termékazonosító szám). Ezen számsorozat utolsó jegye egy ellenőrző szám, ami egy speciális algoritmus eredményeképpen adódik az első 12 számjegyből.

Az első tizenkét számjegy az alábbi jellemzőket határozza meg:

  • Első 3 számjegy: az országjel (Magyarországé: 599, ami azt jelenti, hogy Magyarországon van az a forgalmazó, aki előfizetett a GS1-kódra)
  • Következő 2–7 számjegy: Forgalmazó vagy gyártó céget azonosítja. Hivatalos neve az országkóddal együtt cégprefix. Minél rövidebb cégprefixet vásárol a vonalkód felhasználója, annál nagyobb termékpalettát tud egyedi azonosítóval ellátni – és természetesen annál nagyobb éves díjat is fizet.
  • Fennmaradó számjegyek (2–7 számjegy): Magát a terméket és kiszerelését azonosítja. Természetesen, mivel csupán egy sorszám utal (az ország és a gyártó száma után) a termékre, külön kell a leolvasó (kereskedő) rendszerében hozzárendelni a termék valódi nevét, kivéve ha a vonalkódtartomány gazdája az egyes vonalkódokhoz tartozó adatokat feltöltötte a GS1 rendszerébe (GDSN – Global Data Synchronization Network, azaz Globális adatszinkronizációs hálózat). A szabvány szerint egy termék különböző kiszereléseit különböző azonosítóval kell ellátni (pl. 0,5 literes és 1,5 literes ásványvíz).
  • 13 számjegy: Ellenőrző karakter

Szerkezete[szerkesztés]

A vonalkód sötét vonalakból és fehér közökből áll. A vonalkódon belül három hosszabb vonalpár két részt határol el. A részeken belül 6-6 számjegy kódja látható. Egy-egy számjegyet két vonal kódol. A 13. számjegy – amely egyébként a kódolt számok közül az első – a kódvonalak szélességének paritásából állapítható meg.

A vonalak és a közök szélessége 1, 2, 3 vagy 4 egység. Minden számjegy kód szélessége 7 egység. A határoló vonalpárok vonalainak szélessége 1 egység. A két szélső határoló a közzel együtt 3 egységnyi, a középső pedig a 3 közzel együtt 5 egységnyi.

A vonalkód első része a 2–7., a második része a 8–13. számjegyeket kódolja. Az 1. számjegy értéke abból olvasható le, hogy az első rész számjegyeinek kódolásában hogyan váltakozik az A illetve a B kódolási mód. A második rész minden számjegyének kódolási módja a C szerinti.

A három kódolási mód:

Számjegy A B C
0 0001101 0100111 1110010
1 0011001 0110011 1100110
2 0010011 0011011 1101100
3 0111101 0100001 1000010
4 0100011 0011101 1011100
5 0110001 0111001 1001110
6 0101111 0000101 1010000
7 0111011 0010001 1000100
8 0110111 0001001 1001000
9 0001011 0010111 1110100

A táblázatban 1 a sötét és 0 a világosabb egységet jelöli. Azt látjuk szélesebb vonalnak, ahol több sötét egység van egymás mellett.

A kódolási módokat az különbözteti meg egymástól, hogy míg az A kód szerint a számjegyek kódjában a sötétebb vonalak össz-szélessége páratlan (3 vagy 5 egység), addig a B és C kód szerint ugyanez páros (2 vagy 4 egység). A C kódolási módnál a B mód tükörképét látjuk.

Az A és a B kódolás váltakozása az első részben aszerint, hogy mi az 1. számjegy:

1. számjegy A 2–7. számjegyek kódolása
0 AAAAAA
1 AABABB
2 AABBAB
3 AABBBA
4 ABAABB
5 ABBAAB
6 ABBBAA
7 ABABAB
8 ABABBA
9 ABBABA

Az első részben tehát mindig három A és három B kódolású számjegy van, kivéve ha az 1. számjegy nulla, amikor mind a hat kódolása A.

Tehát míg az első részben mindig van olyan számjegy amiben a sötét vonalak össz-szélessége páratlan egységnyi, addig a második részben minden számjegy kódjában páros a sötét vonalak össz-szélessége. A vonalkódok ez utóbbi tulajdonsága alapján tehát megállapítható, hogy a vonalkódot 'elölről' vagy 'hátulról' olvastuk le. Erre azért van szükség, hogy mindegy legyen, hogy a leolvasáskor a vonalkódot 'melyik oldalról' – alulról vagy felülről – nézzük.

Összefoglalva. A vonalkód mindig 95 egység széles, és 30 sötét vonalból áll. A vonalakat szomszédos páronként kell értelmezni. Az 1., 8. és 15. vonalpár határoló vonal. A 2–7. és 9–14. párból az az első amelyikben van (3 vagy 6) olyan pár amire a két vonal össz-szélessége páratlan. Az első számjegy értéke abból adódik, hogy ebben az első részben hányadik jegyek vannak páratlan össz-szélességű vonalakkal kódolva. Az első rész vonalpárjait az A+B táblával, a második rész vonalpárjait a C tábla szerint kell dekódolni.

Országkódok[szerkesztés]

Néhány nagyobb ország kódja:

Kód Ország
000–139 USA/Kanada
300–379 Franciaország
400–440 Németország
450–459,490–499 Japán
460–469 Oroszország
471 Kínai Köztársaság
500–509 Egyesült Királyság
590 Lengyelország
594 Románia
599 Magyarország
613 Ausztria
690–695 Kína
800–839 Olaszország
840–849 Spanyolország
869 Törökország

Az ellenőrző szám kiszámítása[szerkesztés]

A vonalkód minden páros helyen álló (nulladik, második,…) számjegyét hárommal, a páratlan helyeken állókat eggyel kell megszorozni, majd a kapott szorzatokat összeadni. Az ellenőrző számjegy az a szám, amelyet ehhez az összeghez kell adni, hogy a következő, 10-zel osztható számot kapjuk. Megfordítva, páratlan helyen lévő x-et 1-gyel, páros helyen lévő x-et 3-mal kell szorozni.

Ez egy példán bemutatva egy EAN-13 rendszerű vonalkódon a következő: 629104150021?

6 2 9 1 0 4 1 5 0 0 2 1
×
1 3 1 3 1 3 1 3 1 3 1 3
=
 6  6  9  3  0 12  1 15  0  0  2  3

Ezek összege: 57 Ehhez 3-at kell adni, hogy megkapjuk a következő, tízzel osztható számot, a 60-at, tehát a vonalkód helyesen: 6291041500213.

6
291041
500213

Egyéb kódolások[szerkesztés]

Sokféle kódolás (Code39, Code128 stb.) létezik, és ezeknek még annál is több alfajtája van. A speciálisabb kódokat például raktári rendszerekben, szállítmányozáskor belső azonosításra szokták használni. Van olyan kódolás, amelyik csak numerikus karakterekből, s van olyan amelyik a teljes ASCII kódtábla elemeiből építkezhet.

A Code128 11 egység széles tömbökre és egy két egység széles záróvonalra bontható. Az első tömb azt adja meg, hogy a további tömböket, mint kódokat, a Code128 három lehetséges kódtáblája közül melyikkel kell értelmezni. Például a "C" kódtábla szerint a tömbök a másodiktól az utolsó kettőt kivéve a megadott számjegyeket kódolják, kettesével. (Vagyis a második tömb az első két számjegy együttes kódja, a harmadik tömb a 3. és 4. számjegy együttes kódja, a 4. tömb az 5. és a 6. számjegyé stb.) Az utolsó előtti tömb egy ellenőrző szám kódja. Az ellenőrző szám olyan, hogy ha a kódolt számpárokat a sorszámukkal szorozva összeadjuk, s az így kapott összeghez hozzáadjuk az első és a kontroll tömb számértékét, akkor egy 103-mal osztható számot kapunk. Az utolsó tömb az úgynevezett 'stop' kód, a plusz 2 egység széles záró vonallal együtt.

Tehát a C128 vonalkód struktúrája, ha számsort kódol akkor a következő:

  • 1. tömb: egy 'startC' kód (11 egység széles)
  • 2., 3., … tömbök: a páronként vett számjegyek kódjai (mindegyik 11 egység széles)
  • az utolsó előtti tömb: az ellenőrzőszám kódja (11 egység széles)
  • az utolsó tömb a 2 egység széles záró vonallal együtt: a 'stop' kód (13 egység széles)

A C128 mindhárom kódtáblája olyan felépítésű, hogy egy-egy tömbben 3 sötét és 3 világos rész látható. Minden tömb sötét egységgel kezdődik és világossal ér véget. A "B" kódtáblával betűk is kódolhatóak. Az "A" kódtábla kisbetűknek megfelelő részével speciális karakterek is kódolhatóak.

Kapcsolódó szócikkek[szerkesztés]

Irodalom[szerkesztés]

  • Automating Management Information Systems: Barcode Engineering and Implementation – Harry E. Burke, Thomson Learning, ISBN 0-442-20712-3
  • Automating Management Information Systems: Principles of Barcode Applications – Harry E. Burke, Thomson Learning, ISBN 0-442-20667-4
  • The Bar Code Book – Roger C. Palmer, Helmers Publishing, ISBN 0-911261-09-5, 386 pages
  • The Bar Code Manual – Eugene F. Brighan, Thompson Learning, ISBN 0-03-016173-8
  • Handbook of Bar Coding Systems – Harry E. Burke, Van Nostrand Reinhold Company, ISBN 978-0-442-21430-2, 219 pages
  • Information Technology for Retail:Automatic Identification & Data Capture Systems - Girdhar Joshi, Oxford University Press, ISBN 0-19-569796-0, 416 pages
  • Lines of Communication – Craig K. Harmon, Helmers Publishing, ISBN 0-911261-07-9, 425 pages
  • Punched Cards to Bar Codes – Benjamin Nelson, Helmers Publishing, ISBN 0-911261-12-5, 434 pages
  • Revolution at the Checkout Counter: The Explosion of the Bar Code – Stephen A. Brown, Harvard Univ Press, ISBN 0-674-76720-9
  • Reading Between The Lines – Craig K. Harmon and Russ Adams, Helmers Publishing, ISBN 0-911261-00-1, 297 pages
  • The Black and White Solution: Bar Code and the IBM PC – Russ Adams and Joyce Lane, Helmers Publishing, ISBN 0-911261-01-X, 169 pages
  • Sourcebook of Automatic Identification and Data Collection – Russ Adams, Van Nostrand Reinhold, ISBN 0-442-31850-2, 298 pages

Jegyzetek[szerkesztés]

További információk[szerkesztés]

Commons:Category:Barcode
A Wikimédia Commons tartalmaz Vonalkód témájú médiaállományokat.