Univerzális termékkód

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2016. november 2-án áttekintett verziótól ; az ellenőrzéshez 31 szerkesztés szükséges .

A UPC vagy az univerzális termékkód (univerzális termékkód) egy amerikai vonalkód - szabvány , amelyet az üzletekben található termékek nyomon követésére terveztek. A UPC-t 1973 -ban George Joseph Laurer , az IBM Corporation mérnöke fejlesztette ki . 1974 júniusában az NCR első UPC szkennerét telepítették az ohiói Troyban található Marsh szupermarketben . 1974. június 26-án ennek a szupermarketnek a pénztárosa beszkennelte az első tételt, egy doboz 10 Wrigley - gyümölcsgumit .

Szabványosítás

Az Egyesült Államokban az UCC (Uniform Code Council, Inc.) és a kanadai ECCC (Electronic Commerce Council of Canada) részt vett a UPC kódok szabványosításában és regisztrálásában. 2005-ben ezek a szervezetek egyesültek az EAN európai szövetséggel, és létrehozták a GS1 globális szabványügyi szervezetet . Az „Oroszországi Nemzeti GS1 Szervezet” ennek a szervezetnek a képviselője az Orosz Föderációban.

A kód típusai:

UPC-A és ezzel egyenértékű UPC-E
UPC-A UPC-E

A UPC kód csak számokat tartalmaz, betűket vagy egyéb szimbólumokat nem.

A kód fejlesztése más országokban való használatra

A 12 számjegyű UPC az európai EAN-13 javított kód elődje , amely 13 számjegyet kódol. A UPC kód egy speciális eset, az EAN-13 kód egy részhalmaza. A UPC-kód EAN-13-kóddá alakul úgy, hogy a UPC-kód tizenkét számjegye elé egy nullát adunk. Ez azt jelenti, hogy a termék, amelynek vonalkódját a cikk ábráján látjuk, EAN-13 kódja lesz: 0 036000291452. Emiatt kezdődnek az USA-ban vagy Kanadában gyártott termékek európai kódolású kódjai. nulláról.

Fontos, hogy maga a "sraffozás" egy ilyen transzformációban, vagyis a UPC-nek megfelelő kódok EAN-13 mintája megegyezzen a UPC "sraffozásával". Ily módon a címkék újranyomtatása vagy az áruk újracsomagolása nélkül biztosították az amerikai kódok kompatibilitását az európai olvasáshoz.

Az EAN-13 kóddal és a UPC-től való eltérésével kapcsolatos további információkért lásd az európai cikkszámot .

A szerkezet általános leírása

A UPC kód egy egyszerű és közel szimmetrikus lineáris vonalkód. Az egyszerűség, a szimmetria és a nagy zajtűrés annak köszönhető, hogy a kódok létrehozása idején nem volt kellően fejlett technológia.

A kód 2 számjegycsoportból áll, mindegyik csoportban 6 számjegy - bal és jobb. A számcsoportokat az úgynevezett védő, vagy befoglaló vonásminták (Guard Patterns) határolják. Ezek a sablonok egy szélességű vonásokat tartalmaznak, amelyek a vonalkód-leolvasó szinkronizálására szolgálnak. Pontosan három ilyen mező jelenléte elsősorban a vonalkód lekerekített felületen történő lehetséges alkalmazásának köszönhető. És ha most ez nem jelent különösebb problémát, akkor a kód létrehozásakor a szkennernek tudnia kellett egyetlen körvonal szélességét a kód elején, közepén és végén. A bal és jobb oldali védőmintázat 3 egységnyi szélességű vonásból áll - két sötét és egy világos közöttük. Az átlagos védősablon 5 vonásból áll - három világos és két sötét. Minden más számok.

A bal vagy jobb oldali csoport minden számjegye négy vonással van kódolva: két világos és két sötét. Minden vonás relatív szélessége egy, kettő, három vagy négy egység lehet. Az egyjegyű teljes körvonalszélesség mindig hét egység. Az egyes számjegyek bitmintája úgy van kialakítva, hogy a számjegyek a lehető legkülönbözőbbek legyenek egymástól. A sötét vagy világos terület maximális hossza nem haladhatja meg a négy egységet. A teljes kód teljes szélessége mindig 95 egység. Bármely kódban 29 világos és 30 sötét vonás található. Mindezek a technikai megoldások fontosak a kód megbízhatósága és egyszerű beolvasása szempontjából.

A kód első számjegye - ez az ún. előtag - némi logikai jelentéssel bír, de technikai szempontból nem annyira fontos. Az utolsó számjegy egy ellenőrző szám, a kód szkennerrel történő leolvasásakor vagy a kódszámok billentyűzetről történő kézi bevitelekor fellépő esetleges hiba észlelésére szolgál.

A vonáskombináció olvasásának iránya nem számít - a kódot úgy tervezték, hogy egyformán könnyen olvasható legyen előre és hátrafelé (ha a terméket fejjel lefelé fordítják). Az sem mindegy, hogy a teljes vonalkód milyen kialakítású – fényképészetileg pozitív vagy negatív: a sötét háttérre világos csíkokkal nyomtatott vonalkód ugyanúgy olvasható, mint a világos háttéren sötét csíkokkal. A körvonal- és háttérszíneknek nem kell fehérnek és feketének lenniük, más színkombinációk is lehetségesek.

Számkódolás

UPC-A vonalkód kódoló táblázat S L LLLLLMRRRRRR R E mintával
"Csendes"
zóna
S
(kezdet)
L
(bal oldali kód)
M
(középen)
R
(jobb kód)
E
(vége)
"Csendes"
zóna
0 egy 2 3 négy 5 6 7 nyolc 9 0 egy 2 3 négy 5 6 7 nyolc 9
Számjegykódolás a kód jobb és bal oldalán
Szám Bal kód Fordított kód Helyes kód Vonalvastagság
0 0001101 0100111 1110010 3-2-1-1
egy 0011001 0110011 1100110 2-2-2-1
2 0010011 0011011 1101100 2-1-2-2
3 0111101 0100001 1000010 1-4-1-1
négy 0100011 0011101 1011100 1-1-3-2
5 0110001 0111001 1001110 1-2-3-1
6 0101111 0000101 1010000 1-1-1-4
7 0111011 0010001 1000100 1-3-1-2
nyolc 0110111 0001001 1001000 1-2-1-3
9 0001011 0010111 1110100 3-1-1-2
Biztonsági minta kódolás
Minta Bal Középre állított Jobb oldalon
Bal oldali védősablon 101
Közepes védősablon 01010
Megfelelő védősablon 101



A kód felépítésénél a még nem túl fejlett elektronika körülményei között fontos volt, hogy a szkenner minél könnyebben olvasható legyen, illetve magának a szkennernek a hardverét leegyszerűsítsük. Az egyik nehézséget a kód ellenkező irányú leolvasásának problémája okozta, vagyis a pénztáros által „fejjel lefelé” hozott termék kódjának leolvasása. Ezért nagyon fontos volt, hogy a csíkok váltakozása mindkét irányban azonos legyen - először egy sötét vonás, majd fehér, majd ismét sötét, és így tovább. Igen, és az is jó lenne, ha a védősablonok helyzete mindig ugyanazon a helyen lenne.

A megoldást megtalálták. Észreveheti, hogy a kód nagyon szimmetrikusan néz ki, vagyis a középponttól jobbra és balra lévő vonások száma mindig azonos, a vonalkód jobb és bal oldali részének szélessége pedig azonos. Vagyis a vonalkód-olvasási mechanizmus mindig ugyanaz, függetlenül attól, hogyan forgatja ezt a kódot.

Ami a váltakozó világos és sötét vonások ugyanazt a sorrendjét illeti az előre és hátra olvasás során, a fejlesztők ezt azzal érték el, hogy a jobb és bal számcsoportok kódolása kissé eltér – a jobb oldali karakterek fényképészetileg negatív körvonalúak a számokhoz képest. baloldaliakat. Ez azt jelenti, hogy ugyanazon számjegy vonásmintái azonosak, de pozitívak vagy negatívak. Más szóval, az egyetlen különbség az, hogy ha a kód bal oldalán ez egy világos vonás, akkor a jobb oldalon sötét.

Az előre vagy hátra olvasás felismerésének problémája logikusan ugyanolyan könnyen megoldható. Például, ha a szkenner egy 3-2-1-1 vonásvastagságú számot olvas be, akkor megérti, hogy ez a "nulla" szám és annak közvetlen leolvasása, ha pedig 1-1 vastagságú vonalakat olvas be. -2-3, akkor megérti, hogy ez ugyanaz a "nulla", de az ellenkező irányba olvassa el. A szokásos kódoláshoz képest tükörkódolású számok olvasásakor a lapolvasó megérti, hogy a teljes vonalkódot az ellenkező irányba olvassa be, ezért a teljes, 12 számjegyből álló sorozatot fordított sorrendben kell továbbítani a számítógépnek.

Mindez modern mércével mérve bizonyos viszontbiztosítás és túlzás volt, de az év 1973 volt.

Csekkszám számítás

A UPC-A (GTIN-12) kódban az ellenőrző szám (számjegy) kiszámítása a következőképpen történik:

  1. A páratlan helyen lévő számjegyek (első, harmadik, ötödik stb.) összeadódnak, és az eredményt megszorozzák hárommal.
  2. A páros helyeken lévő összes számjegy (második, negyedik, hatodik stb.) összeadódik.
  3. Az előző két lépésben kapott számokat összeadjuk, és csak az utolsó számjegy marad meg az eredményből.
  4. Ezt a számot kivonjuk 10-ből.
  5. A számítások végeredménye az ellenőrző számjegy (a tíz a 0-nak felel meg).

Például a „03600029145X” ábrán látható UPC-A vonalkód ellenőrző számjegye, ahol az „X” a keresett ellenőrző számjegy, a páratlan számjegyek (0+6+0+2+1) összeadásával számítható ki. +5 = 14), megszorozva hárommal (14 × 3 = 42), az eredményt a rendszer az összes páros számjeggyel összegzi (42+3+0+0+9+4 = 58), az utolsó számjegy kivételével az összeset eldobja (58 mod 10 = 8), kivonjuk 10-ből (10 − 8 = 2), és ha szükséges, mindent eldobunk, kivéve az utolsó számjegyet (2 mod 10 = 2). A kívánt csekkszám a 2.

A kód beolvasásakor a leolvasás helyességét hasonló módon, de valamivel egyszerűbben ellenőrizzük:

  1. Az összes páratlan számot összeadjuk és megszorozzuk 3-mal.
  2. Minden páros számjegy összeadódik, beleértve az ellenőrző számjegyet is.
  3. ezeket az összegeket összeadjuk, és az eredmény utolsó számjegye megmarad.

Technikailag a számjegyek feldolgozása egymás után, egy menetben történik, minden számjegyet megszorozva 1-gyel vagy 3-mal, a pozíció egyenletességétől függően, hozzáadva az összeghez, és az aktuális összeg maradék modulo 10-ét véve. Más szóval, a tízeseket azonnal el kell dobni, ami nagyban leegyszerűsíti a számítási mechanizmust.

Ha az eredmény nulla, akkor a kód helyesen lett beolvasva, ha bármely más számjegy, akkor a kód egyértelműen hibásan lett beolvasva.

Termékkódolás

Ez a kód elsősorban a sok vállalkozás által gyártott termékek kereskedelmének automatizálására jött létre, így a szabványosítás és szabályozás szempontjából is fontos volt a belső tartalom kérdése, hogy a különböző vállalkozások ne rendelhessenek ugyanazt a kódot egy termékhez. Minden újonnan gyártott terméktípusnak saját egyedi kóddal kellett rendelkeznie, és ez volt az egész rendszer fő ötlete. Vagyis, ha egy gyártó például farmert gyárt, akkor a különböző színű, méretű és szabású farmernadrágokat eltérő kódokkal kell ellátni. Vagyis ha például 10 színről, 50 típusról, 20 méretről van szó, akkor ezek kódolásához tízezer kódra lesz szükség.

Másrészt ugyanannak a terméknek, de különböző gyártó vállalatoktól, eltérő kódolást kell tartalmaznia. Mindez fontos volt a kereskedelemben a könyvelés automatizálásához, a termékegyenlegek automatikus ellenőrzéséhez egy raktárban, az üzletek polcain stb.

Ennek a kódnak az elméleti maximuma 100 milliárd különböző típusú áru (11 számjegy). Óriási számnak tűnt. De az elmélet nem mindig felel meg a gyakorlatnak, és a jelenlegi helyzet olyan, hogy a rendszer több mint 30 éves fennállása során ezek a kódok nem voltak elegendőek. Ez a kiegyensúlyozatlan, pazarló költekezésüknek köszönhető.

Kezdetben a kód 11 számjegyét a következőképpen osztották el:

Azaz elméletileg a rendszer legfeljebb hatszázezer vállalkozást jelentett (előtagonként százezret), amelyek mindegyike akár százezer nevet is kódolhatott termékeinek.

Előtag

Ez a kód első számjegye. Logikusan felosztja a kódokat a gyártott termékek típusaira.

Az európai EAN-13 kódok esetében úgy tűnik, hogy ezek az amerikai előtagok mindegyike nullával kezdődik, azaz 01, 02, 03 stb. Az európai szövetséggel való egyesülés után a globális GS1 America európai kódolásban további 10-13-as előtagokat kapott, amelyek a normál termék kódolására szolgálnak majd.

Cégkód

A vállalati kód a kódnak az a része, amelyet a szabályozó szervezet hozzárendel a terméküket kódolni kívánó vállalkozásokhoz. A vállalati kód az eredeti terv szerint 5 számjegyből és egy normál termék kódolására fenntartott előtagból állt. Így mintegy hatszázezer vállalkozás bejegyzésére volt lehetőség. Mint kiderült, ez nem elég. A cégkód a UPC kód bal oldalán található.

Termékkód

A termékkód a kód jobb oldalának első 5 számjegyét foglalja el. A vállalkozásnak minden terméktípust saját egyedi kóddal kellett kódolnia. A 99999 kód magának a vállalkozásnak a kódolására van fenntartva, a munkafolyamat automatizálása érdekében.

Termékkódolás

A számok szemantikai terhelése a termék nevében: A közhiedelemmel ellentétben magának a terméknek a digitális kódja (3-5 számjegy) nem hordoz szemantikai terhelést. A Szövetség a kódok következetes hozzárendelését javasolja, amikor új típusú termékek kerülnek forgalomba anélkül, hogy ebbe a kódba további szemantikai terhelést kellene beruházni.

A UPC vállalkozásokon és szakmai szervezeteken belüli használatához minden 2-es számmal kezdődő kód hozzá van rendelve, amelyet bármely vállalkozás saját belátása szerint, de kizárólag saját belső céljaira használhat fel. Ezeknek a kódoknak a vállalkozáson kívüli használata tilos. A 2-vel kezdődő kódok belső tartalma követhet bármilyen logikát, amit ez vagy az a vállalkozás beállított magának (általában ezek a kiskereskedők), és tartalmazhatják a termék árát vagy súlyát, vagy bármilyen más paramétert, és ez a kódolás különösen gyakran súlyárukhoz használják.

"Mítosz" a kódolt három hatosról

A kód beolvasásának szinkronizálása érdekében George Laurer 3 speciális védő- vagy körülzáró mezőt (Guard Patterns) biztosított - a bal mezőt (LGP), a központi mezőt (CGP) és a jobb oldali mezőt (RGP). Az ábrán ezek a mezők az áttekinthetőség kedvéért zölddel vannak kiemelve, valójában fehérek. A bal és a jobb margó három egység széles, a középső margó 5 egység széles (emlékezzünk vissza, bármelyik számjegy kódja 7 egység széles). A legenda annak köszönhető, hogy az egyik kódolásban (lásd a fenti táblázatot) a 6-os számot az 1010000 szekvencia képviseli, amely vizuálisan két vonásként érzékelhető. A védőmezők (101 és 01010) is úgy néznek ki, mint két vonás, de ennek semmi köze a 6-os szám kódolásához, kivéve a vizuális hasonlóságot. George Laurer maga is felismeri ezeknek a mezőknek némi hasonlóságát a hatos kódolásával, de ezt véletlennek tartja. Azt is véletlennek tartja, hogy kereszt-, vezeték- és családneve (George Joseph Laurer) hat-hat betűt tartalmaz. A UPC vonalkódban nincs kódolt három hatos. [4] Másrészt Thomas Psaras görög informatikus, akinek semmi köze a valláshoz, ezt mondta: „A vonalkód helyes és pontos használata érdekében rejtett kettős kódvonalakat használnak az információk elkülönítésére, amelyek véletlenül azt jelölik. a 6-os szám a vonalkóddal reprodukált numerikus információ elején, közepén és végén.

Lásd még

Jegyzetek

  1. NHRIC (National Health Related Items Code) (hivatkozás nem érhető el) . HealthData . Az Egyesült Államok Egészségügyi és Humánszolgáltatási Minisztériuma. Letöltve: 2017. március 5. Az eredetiből archiválva : 2021. március 8.. 
  2. 1 2 UPC és EAN vonalkód oldal (downlink) . www.adams1.com. Letöltve: 2017. március 5. Az eredetiből archiválva : 2017. január 30. 
  3. UPC-E SZIMBOLÓGIA (downlink) . www.barcodeisland.com. Letöltve: 2017. március 5. Az eredetiből archiválva : 2020. február 26. 
  4. UPC kérdések 666 -ról Archiválva az eredetiből 2016. január 6-án.

Linkek