Kod kreskowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Kod EAN-13: jeden z najczęściej występujących kodów na wyrobach konsumenckich. Prefiks 590 oznacza, iż dany produkt został wyprodukowany lub jest dystrybuowany przez przedsiębiorstwo zarejestrowane w polskiej organizacji GS1

Kod kreskowy, kod paskowy (ang. barcode) – graficzna reprezentacja informacji poprzez kombinację ciemnych i jasnych elementów, ustaloną według symboliki (reguł opisujących budowę kodu, np. jego wymiary, zbiór kodowanych znaków, algorytm obliczania cyfry kontrolnej i inne) danego kodu. Kod kreskowy przeznaczony jest dla czytników elektronicznych. Ma na celu umożliwienie automatycznego odczytywania informacji. Głównym zastosowaniem kodu kreskowego jest automatyczna identyfikacja produktów w szeroko pojętej logistyce.

Zasady działania[edytuj | edytuj kod]

W trakcie odczytywania kodu techniką skanowania, światło pochodzące z czytnika, uformowane w cienką wiązkę (laser), przesuwa się wzdłuż czytanego kodu, w danym momencie oświetla niewielki punkt kodu, następnie światło to jest odbijane przez jasne elementy kodu (przerwy), a pochłaniane przez jego ciemne elementy (kreski, pola). Światło odczytuje fotodioda, odbite od przerw powoduje powstanie w czytniku silniejszych sygnałów elektrycznych, natomiast w wyniku braku odbicia (kreski) powstają sygnały słabsze. W zależności od grubości kresek/przerw, różny jest też czas trwania poszczególnych sygnałów. Czas trwania każdego impulsu koduje informacje, które są tłumaczone przez dekoder czytnika na cyfry, litery lub inne znaki i przesyłane do komputera.

Występują również kody wykorzystujące więcej, niż dwa kolory do zapisu informacji (np. Ultracode[1]), co umożliwia zapisanie większej ilości informacji.

Kodowanie symboli może przebiegać również w inny sposób, np. na podstawie różnic wysokości. Ma to miejsce w kodach Bumpy Bar Code[2].

Zastosowanie kodów[edytuj | edytuj kod]

Kody kreskowe posiadają wiele zastosowań w różnych dziedzinach działalności ludzkiej. Do najważniejszych z nich można zaliczyć:

  • identyfikację jednostek handlowych (numery GTIN), przy czym w tym ujęciu za jednostkę handlową uważa się dowolny produkt lub usługę, której można nadać cenę i która występuje w przepływie w łańcuchu dostaw. A zatem do kategorii tej zalicza się jednostki (produkty) w opakowaniach zbiorczych i jednostkowych, sprzedawane w hurcie i detalu, dostępne na rynku krajowym (wewnętrznym) lub międzynarodowym, o stałej lub zmiennej ilości, o jednorodnej lub niejednorodnej zawartości. Do kategorii tej zalicza się również oznaczenia wydawnictw ciągłych (ISSN), muzycznych (ISMN) lub książek (ISBN);
  • identyfikację jednostek logistycznych (numery SSCC), czyli takich jednostek, które zostały utworzone dla potrzeb transportu i magazynowania (np. paletowe jednostki ładunkowe lub kontenerowe jednostki ładunkowe) oraz podlegają procesom identyfikacji, śledzenia i zarządzania podczas przepływu przez łańcuch dostaw. Związany z tym jest również termin Etykieta logistyczna, na której zawarte są podstawowe informacje o jednostce logistycznej;
  • identyfikację zasobów (numery GIAI), a konkretniej zasobów trwałych (o statusie zapasów) przedsiębiorstwa (np. opakowań zwrotnych wielokrotnego użytku, palet);
  • identyfikację lokalizacji (numery GLN, SWIFT, DUNS, BSI/AFNOR), służącej do identyfikacji obiektów, którym można nadać adres (np. przedsiębiorstwa, konkretne pokoje, punkty sprzedaży, komunikaty EDI);
  • identyfikację relacji usługowych (numery GSRN nadawane usługobiorcom);
  • inne zastosowania, takie jak znakowanie kuponów, kwitów zwrotnych, rachunków, telefonów komórkowych, przesyłek kurierskich, recept, leków, stron internetowych i innych.

Ze względu na fakt znakowania towarów w sprzedaży detalicznej oraz wydawnictw, do najczęściej spotykanych należą symboliki EAN (Europa) i UPC (Ameryka Północna).

Rodzaje kodów[edytuj | edytuj kod]

Występuje około 250 rozwiązań w dziedzinie kodów kreskowych. W związku z tym istnieje kilka sposobów ich podziału:

  • Podział według wymiarowości kodu:
  • jednowymiarowe (liniowe, 1D) – informacje zapisane są w jednej linii (najczęściej w postaci kresek);
  • dwuwymiarowe piętrowe – rozwinięcie kodów jednowymiarowych polegające na istnieniu kilku linii kodu, jedna pod drugą;
  • dwuwymiarowe matrycowe – informacja zapisana jest na określonej powierzchni, z tym że do zapisu nie są wykorzystywane kreski, lecz inne oznaczenia;
  • kody złożone – występują w nich zarówno elementy kodów jednowymiarowych, jak i dwuwymiarowych;
  • kody trójwymiarowe – zazwyczaj są to wytłaczane dowolne kody jednowymiarowe (Bumpy Bar Code). Różnica polega na tym, iż w zapisie/odczycie zamiast różnic w kolorach wykorzystuje się różnice głębokości tłoczenia[2].
  • Podział według szerokości kresek:
  • kody o jednej szerokości kresek (np. PosiCode[3]) – kodowanie polega na występowaniu, bądź nie, kreski w określonym miejscu;
  • kody o dwóch szerokościach kresek;
  • kody o wielu szerokościach kresek (modularne).
  • Podział według rodzaju kodowanych symboli:
  • Podział według ciągłości kodu (nie dotyczy kodów matrycowych):
  • kody ciągłe – nie występują w nich przerwy między kodowanymi znakami;
  • kody dyskretne – występują przerwy między kodowanymi znakami.
  • Podział według ilości kodowanych znaków:
  • kody o ściśle określonej liczbie kodowanych znaków (o stałej długości);
  • kody o różnej liczbie kodowanych znaków (o zmiennej długości).
  • Podział według przyjętej metody weryfikacji odczytanych danych:
  • kody samosprawdzalne (np. wszystkie kody typu m z n) – pewne procedury sprawdzania błędów są zaimplementowane w budowie kodu. Np. poszczególne symbole są kodowane tak, aby różnić się od siebie maksymalnie, a zatem błędne odczytanie jednej kreski powoduje automatyczną niepoprawność kodu;
  • kody ze znakiem kontrolnym (np. z cyfrą kontrolną);
  • kody samosprawdzalne z dodatkowym znakiem kontrolnym.

jednowymiarowe[edytuj | edytuj kod]

Kody jednowymiarowe
Nazwa symboliki Numeryczny
/alfanumeryczny
Ciągły
/dyskretny
dwie szerokości
/modularny
stała/zmienna
długość
Uwagi i wykorzystanie
Codabar[4] alfanumeryczny dyskretny dwie Włączony do USS przez AIM
CODE 11[5] numeryczny dyskretny dwie
Kod 2 z 5[6]
(Code25)
numeryczny ciągły dwie występuje w kilku odmianach
Przeplatany 2 z 5[7]
(Code25 Interleaved)
numeryczny ciągły dwie zmienna
(parzysta ilość,
maks. 16)
Włączony do USS przez AIM
Kod 3 z 9[8]
(Code39)
alfanumeryczny
(43 znaki w podst. wer.)
dyskretny dwie zmienna Włączony do USS przez AIM
Code 93[9] alfanumeryczny (ASCII) ciągły modularny zmienna Włączony do USS przez AIM
Kod 128[10]
(Code128)
alfanumeryczny (ASCII) ciągły modularny zmienna Zaimplementowany przez GS1 jako GS1-128[11]. Występują odmiany A, B oraz C.
EAN-8[12] numeryczny ciągły modularny stała (8) Zaimplementowany przez GS1, opakowania jednostkowe
EAN-13[12] numeryczny ciągły modularny stała (13) Zaimplementowany przez GS1, opakowania jednostkowe, GTIN. Może występować z 2 lub 5 cyfrowym dodatkiem add-on.
GS1-128[11] alfanumeryczny (ASCII) ciągły modularny zmienna Zaimplementowany przez GS1. Opakowania zbiorcze, etykieta logistyczna
ITF-14[7] numeryczny ciągły dwie stała (14) Zaimplementowany przez GS1, opakowania zbiorcze
MSI Plessey ciągły dwie
UPC-A[12] numeryczny ciągły modularny stała (12) Zaimplementowany przez GS1, opakowania jednostkowe
UPC-E[12] numeryczny ciągły modularny stała (6) Zaimplementowany przez GS1, opakowania jednostkowe
PosiCode[3] alfanumeryczny ciągły jedna zmienna Włączony do USS przez AIM
POSTNET ciągły dwie
GS1 DataBar[13]
(RSS)
numeryczny lub
alfanumeryczny
ciągły modularny Zaimplementowany przez GS1; pełna implementacja w systemach skanujących od 2010 roku; do znakowania bardzo małych jednostek; licencja – domena publiczna; cechy kodu uzależnione są od wersji
Telepen[14] alfanumeryczny
(ASCII)
ciągły dwie Wykorzystywany w bibliotekach. Włączony do USS przez AIM

Kraj producenta i umowne znaczenie prefixu kodu EAN-13 i UPC-12[edytuj | edytuj kod]

Według prefiksu[15]

  • 00, 01, 02... do 09 USA
  • 20..29 służą do znakowania towarów o zmiennej wadze bezpośrednio w sklepach.
  • 30, 31, 32... do 37 Francja
  • 380 Bułgaria
  • 383 Słowenia
  • 385 Chorwacja
  • 387 Bośnia-Hercegowina
  • 400, 401, 402... do 440 Niemcy
  • 45 i 49 Japonia
  • 46 Rosja
  • 471 Tajwan
  • 474 Estonia
  • 475 Łotwa
  • 477 Litwa
  • 479 Sri Lanka
  • 480 Filipiny
  • 482 Ukraina
  • 484 Mołdawia
  • 485 Armenia
  • 486 Gruzja
  • 487 Kazachstan
  • 489 Hongkong
  • 50 Wielka Brytania
  • 520 Grecja
  • 528 Liban
  • 529 Cypr
  • 531 Macedonia
  • 535 Malta
  • 539 Irlandia
  • 54 Belgia & Luksemburg
  • 560 Portugalia
  • 569 Islandia
  • 57 Dania
  • 590 Polska
  • 594 Rumunia
  • 599 Węgry
  • 600 i 601 RPA
  • 609 Mauritius
  • 611 Maroko
  • 613 Algieria
  • 619 Tunezja
  • 622 Egipt
  • 626 Iran
  • 64 Finlandia
  • 690 i 691 Chiny
  • 70 Norwegia
  • 729 Izrael
  • 73 Szwecja
  • 740, 741... do 745 Gwatemala, Salwador, Honduras, Nikaragua, Kostaryka, Panama
  • 746 Dominikana
  • 750 Meksyk
  • 759 Wenezuela
  • 76 Szwajcaria
  • 770 Kolumbia
  • 773 Urugwaj
  • 775 Peru
  • 777 Boliwia
  • 779 Argentyna
  • 780 Chile
  • 784 Paragwaj
  • 786 Ekwador
  • 789 Brazylia
  • 80, 81, 82 i 83 Włochy
  • 84 Hiszpania
  • 850 Kuba
  • 858 Słowacja
  • 859 Czechy
  • 860 Jugosławia
  • 869 Turcja
  • 87 Holandia
  • 880 Korea Południowa
  • 885 Tajlandia
  • 888 Singapur
  • 890 Indie
  • 893 Wietnam
  • 899 Indonezja
  • 90 i 91 Austria
  • 93 Australia
  • 94 Nowa Zelandia
  • 890 Indie
  • 955 Malezja
  • 977 ISSN (zarezerwowane dla czasopism)
  • 978 ISBN (zarezerwowane dla książek)
  • 98 i 99 kupony

dwuwymiarowe[edytuj | edytuj kod]

Information icon.svg Osobny artykuł: Kody 2D.
Kody dwuwymiarowe
Nazwa symboliki Piętrowy
/Matrycowy
Uwagi i wykorzystanie
CodaBlock F[16] Piętrowy
Kod 49[17]
(Code49)
Piętrowy Włączony do USS przez AIM
Kod 16K[18]
(Code 16K)
Piętrowy Włączony do USS przez AIM
Code One[19] Matrycowy
PDF417[20] Piętrowy kod alfanumeryczny o dużej gęstości – na powierzchni porównywalnej z powierzchnią kodu EAN mieści ponad 1000 znaków; odporny na częściowe uszkodzenia. Włączony do USS przez AIM
Micro-PDF 417[20] Piętrowy Wykorzystywany w złożonych symbolikach RSS[13]. Włączony do USS przez AIM
RSS spiętrzony[13]
(GS1 DataBar)
Piętrowy Zaimplementowany przez GS1; pełna implementacja w systemach skanujących od 2010 roku; licencja – domena publiczna
Aztec Code[21] Matrycowy Możliwość kodowania cyrylicy, alfabetu hebrajskiego i arabskiego. Dostępny na licencji domeny publicznej. Włączony do USS przez AIM.
Data Matrix[22] Matrycowy Zaimplementowany przez GS1
MaxiCode[23]
(UPS MaxiCode)
Matrycowy Nadaje się do skanowania na elementach szybko przemieszczających się. Licencja – domena publiczna. Włączony do USS przez AIM.
Semacode[24] Matrycowy Stworzony na podstawie kodu Data Matrix. Koduje adresy URL
QR Code[25] Matrycowy Możliwość kodowania symboli pisma japońskiego, nadaje się do skanowania elementów szybko przemieszczających się. Włączony do USS przez AIM
ShotCode Matrycowy
SuperCode[26] Matrycowy domena publiczna
UltraCode[1] Występuje w wersjach czarno-białej i kolorowej. Domena publiczna. Opracowany przez Zebra Technologies.
VeriCode[27] Matrycowy Opracowany przez Veritec Inc.
VSCode[28] Matrycowy Opracowany przez Veritec Inc.

złożone[edytuj | edytuj kod]

Kody złożone
Nazwa
symboliki
Element
jednowymiarowy
Element
dwuwymiarowy
Uwagi i wykorzystanie
Aztec Mesa[29] Code 128, Code 39,
Code 93, Code 93i,
Przeplatany 2 z 5,
UPC-A, EAN-13
Aztec Code Zaimplementowany przez AIM
Symboliki
złożone
EAN.UCC[30]
EAN-13, EAN-8,
UPC-A, UPC-E,
EAN-128, RSS-14,
RSS Rozszerzony,
RSS Ograniczony
PDF 417,
Micro PDF417
Zaimplementowany przez GS1

Charakterystyczne cechy kodów[edytuj | edytuj kod]

  • N – stosunek szerokości kreski szerszej do węższej w kodach o dwóch szerokościach kresek.
  • wymiar X (moduł) – szerokość najwęższego paska w kodach o wielu szerokościach kresek (modularnych). Inne szerokości są zazwyczaj wielokrotnością tej wartości.
  • Gęstość – ilość znaków możliwych do zakodowania na określonej długości – zależy od wymiaru X i rodzaju kodu.
  • Cicha strefa – obszar kodu występujący przed znakiem start i po znaku stop, który musi być pozbawiony innych oznaczeń. Jego kolor jest identyczny do koloru jasnych (białych) pasków.
  • Znaki Start i Stop – występujące w kodach liniowych oraz niektórych piętrowych; oznaczenia początku i końca kodu.
  • Wzór wyszukiwania – występujący w niektórych kodach matrycowych obszar kodu o specyficznym wyglądzie, który pozwala czytnikowi na odnalezienie konkretnego miejsca w kodzie, względem którego rozpatrywana jest reszta zeskanowanego obszaru.
  • Wzór orientacyjny – występujące w niektórych kodach matrycowych zgrupowanie elementów (o ściśle określonych kolorach i kształtach), pozwalające na określenie orientacji skanera względem odczytywanego kodu.

Urządzenia odczytujące[edytuj | edytuj kod]

Information icon.svg Osobny artykuł: Skaner kodów kreskowych.

Początkowo do odczytu używano specjalnie zmodyfikowanych piór świetlnych, które musiały być przesuwane tuż nad kodem prostopadle do pasków, co okazywało się niewygodne. Obecnie do odczytu używa się czytników (zwanych także skanerami) różnorodnej konstrukcji, umożliwiających odczyt z pewnej odległości i mniej czułych na ustawienie odczytywanego kodu, które można, ze względu na technologię wykonania, generalnie podzielić na:

  • laserowe (większy zasięg odczytu),
  • diodowe CCD (większa odporność, większa szybkość odczytu),
  • oparte na kamerach video

Dodatkowo, wśród skanerów laserowych wyróżnia się skanery jednoliniowe oraz wieloliniowe. Skanery wieloliniowe mają dodatkowe promienie ułożone równolegle lub w kształt pięciokąta albo gwiazdy. Umożliwia to jeszcze większą niezależność od położenia odczytywanego kodu względem okna skanera.

Wraz ze wzrostem precyzji (gęstości) kodu oraz jego stopnia skomplikowania (np. kody matrycowe względem liniowych), wzrastają wymagania stawiane skanerom do jego poprawnego odczytu.

Historia[edytuj | edytuj kod]

  • 1932 – Wallace Flint pisze na Uniwersytecie Harwardzkim pracę magisterską na temat automatycznych punktów kasowych w supermarketach.
  • 1948 – Joe Woodland i Berny Silver rozpoczynają badania nad technicznym aspektem odczytu i kontroli cen artykułów żywnościowych w handlu.
  • 1949 – Girard Feissel zgłasza w amerykańskim urzędzie patentowym wniosek dotyczący sposobu kodowania cyfr.
  • 1970 – producenci i handlowcy z USA i Kanady tworzą stowarzyszenie do jednolitego kodowania towarów.
  • 1973 – oficjalne zatwierdzenie kodu kreskowego UPC (Universal Product Code).
  • 1974 – powstanie tymczasowego komitetu badającego możliwość wprowadzenia jednolitego systemu identyfikacji towarów w Europie.
    • 26 czerwca – pierwszy, oznaczony kodem kreskowym, towar przechodzi przez kasę w domu towarowym Marsh w Troy, w stanie Ohio. Towarem tym była guma do żucia „Wrigley's”[31].
  • 1976 – powstaje Europejski System Kodowania Towarów EAN (European Article Numbering).
  • 1976 – opracowanie pierwszego alfanumerycznego kodu kreskowego – Code 39.
  • 1977 – powołanie Stowarzyszenia Kodowania Towarów EANA (European Article Numbering Association).
  • 1981 – przekształcenie systemu europejskiego w międzynarodowy – powstaje IANA.
  • 1984 – opracowanie przez organizację Automotive Industry Action Group (AIAG) pierwszego standardu zakładającego wykorzystanie kodu składającego się z czterech kodów Code 39 ułożonych na sobie piętrowo.
  • 1987 – wprowadzenie przez firmę Intermec pierwszego kodu dwuwymiarowego piętrowego Code 49.
  • 1990 – przyjęcie Polski do systemu EAN i powołanie organizacji narodowej CKK – Centrum Kodów Kreskowych w Instytucie Logistyki i Magazynowania w Poznaniu.
  • 1998 – organizacje EAN i UCC podjęły decyzję o kompleksowym scaleniu systemu UPC z systemem EAN, dzięki czemu obecnie funkcjonuje jeden globalny system EAN.UCC.
  • 2005 – globalne Forum GS1, podczas którego oficjalnie dokonano zmiany nazwy z EAN International na GS1.

Zobacz też[edytuj | edytuj kod]

RFID – Radiowy kod kreskowy

Bibliografia[edytuj | edytuj kod]

Przypisy

  1. 1,0 1,1 Opis kodu UltraCode na stronach aimglobal.org (ang.)
  2. 2,0 2,1 Opis kodów Bumpy Bar Code na stronach meccomark.com (ang.)
  3. 3,0 3,1 opis kodu PosiCode na stronach aimglobal.org (ang.)
  4. Opis symboliki Codabar na stronie barcodeisland.com (ang.)
  5. opis kodu na stronie barcodeisland.com (ang.)
  6. Opis symboliki Kod 2z5 na stronie barcode.ro (ang.)
  7. 7,0 7,1 (PDF)Specyfikacje symboliki ITF-14 na stronie gs1pl.org [dostęp: 2008.01.11].
  8. Opis symboliki Code39 na stronie barcodeman.com (ang.)
  9. Opis symboliki Code93 na stronie morovia.com (ang.)
  10. (PDF)Specyfikacja kodu GS1-128 na stronie organizacji GS1 [dostęp: 2008.01.11].
  11. 11,0 11,1 (PDF)Specyfikacje symboliki GS1-128 na stronie gs1pl.org [dostęp: 2008.01.11].
  12. 12,0 12,1 12,2 12,3 (PDF)Specyfikacje symboliki EAN/UPC na stronie gs1pl.org [dostęp: 2008.01.11].
  13. 13,0 13,1 13,2 (PDF)Specyfikacje symbolik RSS na stronach gs1pl.org [dostęp: 2008.01.11].
  14. (ang.)(PDF)Specyfikacje symboliki Telepen na stronie telepen-barcode.co.uk.
  15. Kod kreskowy wyrobów wyprodukowanych w krajach słowiańskich i innych krajach środkowoeuropejskich
  16. Opis symboliki CodaBlock F na stronie barcode.ro (ang.)
  17. Opis symboliki Code49 na stronie barcode.ro (ang.)
  18. Opis symboliki Code16K na stronie barcode.ro (ang.)
  19. Opis symboliki Code One na stronie barcode.ro (ang.)
  20. 20,0 20,1 Opis symboliki PDF417 na stronie pdf417.pl.
  21. Opis symboliki Aztec Code na stronach tkb-4u.com (ang.)
  22. Opis symboliki DataMatrix na stronie barcode.ro (ang.)
  23. Opis symboliki MaxiCode na stronie maxicode.pl.
  24. Opis kodu Semacode na stronie semacode.org (ang.)
  25. Opis kodu na stronie qrcode.com (ang.)
  26. Opis symboliki SuperCode na stronie aimglobal.org (ang.)
  27. Opis kodu VeriCode na stronie veritecinc.com (ang.)
  28. Opis kodu VSCode na stronie veritecinc.com (ang.)
  29. Opis symboliki Aztec Mesa na stronie aimglobal.org (ang.)
  30. (PDF)Specyfikacje symbolik złożonych GS1 na stronie gs1pl.org.
  31. Heritage timeline. [dostęp 7 października 2009]. (zakładka dla roku 1974).

Linki zewnętrzne[edytuj | edytuj kod]

Generatory kodów:

Commons in image icon.svg
WiktionaryPl nodesc.svg
Zobacz hasło kod kreskowy w Wikisłowniku