gépek által optikailag leolvasható kód From Wikipedia, the free encyclopedia
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:
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.
Kezdetben magyartalanul „bar kód”-nak fordították (pl. Ezermester Kiskönyvtára 24., PC-től a teletextig, 1984).
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á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.
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:
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.
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 |
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.
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ő:
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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.