Kod kreskowy
Z Wikipedii
Kod kreskowy, kod paskowy – to graficzna reprezentacja informacji poprzez kombinację ciemnych i jasnych elementów, ustaloną według przyjętych reguł budowy danego kodu. Kod kreskowy przeznaczony jest dla czytników elektronicznych. Ma na celu umożliwienie automatycznego wczytywania informacji. Głównym zastosowaniem jest automatyczna identyfikacja produktów w szeroko pojętej logistyce.
W trakcie czytania kodu, światło pochodzące z czytnika jest odbijane przez jasne elementy kodu (przerwy) a pochłaniane przez jego ciemne elementy (kreski, pola). Światło odbite od przerw powoduje powstanie w czytniku słabszych sygnałów elektrycznych, natomiast w wyniku braku odbicia (kreski) powstają sygnały silniejsze. W zależności od grubości kresek różna jest też długość trwania poszczególnych sygnałów. W wyniku tego powstaje ciąg sygnałów elektrycznych o różnym natężeniu i różnej długości. Jest to tylko nieco bardziej skomplikowane od zasady działania alfabetu Morse'a. Otrzymane w ten sposób impulsy elektryczne są tłumaczone przez dekoder czytnika na język cyfr, liter i innych znaków i przesyłane do komputera.
Występują również kody wykorzystujące więcej, niż dwa kolory do zapisu informacji (np. Ultracode[1]) albo kodujące symbole w inny sposób (np. na podstawie różnic wysokości, np. Bumpy Bar Code[2]).
Spis treści |
[edytuj] Zastosowanie kodów
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 (oraz wewnętrznym) lub międzynarodowym, o stałej i 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ą one 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 inne
Ze względu na fakt znakowania towarów w sprzedaży detalicznej, jak również wydawnictw, do najczęściej spotykanych należą symboliki EAN (Europa) oraz UPC (Ameryka Północna).
[edytuj] Rodzaje kodów
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 wykorzystuje się kresek, 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 w wysokości[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
-
- numeryczne – kodowane są jedynie cyfry w systemie dziesiętnym
- alfanumeryczne – kodowane są cyfry i pozostałe znaki kodu ASCII, czasem również znaki występujące w niektórych alfabetach
- 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 ilości kodowanych znaków (o stałej długości)
- kody o różnej ilości 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, by 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
[edytuj] 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 (Code25) |
numeryczny | ciągły | dwie | ||
Przeplatany 2 z 5[6] (Code25 Interleaved) |
numeryczny | ciągły | dwie | zmienna (parzysta ilość, maks 16) |
Włączony do USS przez AIM |
Kod 3 z 9[7] (Code39) |
alfanumeryczny (43 znaki w podst. wer.) |
dyskretny | dwie | zmienna | Włączony do USS przez AIM |
Code 93[8] | alfanumeryczny (ASCII) | ciągły | modularny | zmienna | Włączony do USS przez AIM |
Kod 128[9] (Code128) |
alfanumeryczny (ASCII) | ciągły | modularny | zmienna | Zaimplementowany przez GS1 jako GS1-128[10]. Występują odmiany A, B oraz C. |
EAN-8[11] | numeryczny | ciągły | modularny | stała (8) | Zaimplementowany przez GS1, opakowania jednostkowe |
EAN-13[11] | 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[10] | alfanumeryczny (ASCII) | ciągły | modularny | zmienna | Zaimplementowany przez GS1. Opakowania zbiorcze, etykieta logistyczna |
ITF-14[6] | numeryczny | ciągły | dwie | stała (14) | Zaimplementowany przez GS1, opakowania zbiorcze |
MSI Plessey | ciągły | dwie | |||
UPC-A[11] | numeryczny | ciągły | modularny | stała (12) | Zaimplementowany przez GS1, opakowania jednostkowe |
UPC-E[11] | 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 | |||
RSS[12] (GS1 DataBar) |
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 public domain. Cechy kodu uzależnione są od wersji. | |
Telepen[13] | alfanumeryczny (ASCII) |
ciągły | dwie | Wykorzystywany w bibliotekach. Włączony do USS przez AIM |
[edytuj] dwuwymiarowe
Nazwa symboliki | Piętrowy /Matrycowy |
Uwagi i wykorzystanie |
CodaBlock[14] | Piętrowy | |
Kod 49[15] (Code49) |
Piętrowy | Włączony do USS przez AIM |
Kod 16K[16] (Code 16K) |
Piętrowy | Włączony do USS przez AIM |
Code One[17] | Matrycowy | |
PDF 417[18] | 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[18] | Piętrowy | Wykorzystywany w złożonych symbolikach RSS[12]. Włączony do USS przez AIM |
RSS spiętrzony[12] (GS1 DataBar) |
Piętrowy | Zaimplementowany przez GS1; pełna implementacja w systemach skanujących od 2010 roku; licencja public domain |
Aztec Code[19] | Matrycowy | Możliwość kodowania Cyrylicy, alfabetu hebrajskiego i arabskiego. Dostępny na licencji public domain. Włączony do USS przez AIM. |
Data Matrix[20] | Matrycowy | Zaimplementowany przez GS1 |
MaxiCode[21] (UPS MaxiCode) |
Matrycowy | Nadaje się do skanowania na elementach szybkoprzemieszczających się. Licencja public domain. Włączony do USS przez AIM. |
Semacode[22] | Matrycowy | Stworzony na podstawie kodu Data Matrix. Koduje adresy URL |
QR Code[23] | Matrycowy | Możliwość kodowania symboli alfabetu japońskiego, nadaje się do skanowania elementów szybkoprzemieszczających się. Włączony do USS przez AIM |
ShotCode | Matrycowy | |
SuperCode[24] | Matrycowy | Public domain. |
UltraCode[1] | Występuje w wersjach czarno-białej i kolorowej. Public domain. Opracowany przez Zebra Technologies. | |
VeriCode[25] | Matrycowy | Opracowany przez Veritec Inc. |
VSCode[26] | Matrycowy | Opracowany przez Veritec Inc. |
[edytuj] złożone
Nazwa symboliki |
Element jednowymiarowy |
Element dwuwymiarowy |
Uwagi i wykorzystanie |
Aztec Mesa[27] | 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[28] |
EAN-13, EAN-8, UPC-A, UPC-E, EAN-128, RSS-14, RSS Rozszerzony, RSS Ograniczony |
PDF 417, Micro PDF417 |
Zaimplementowany przez GS1 |
[edytuj] Charakterystyczne cechy kodów
- 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 pozawala 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
[edytuj] Urządzenia odczytujące
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 o kamery video
Dodatkowo wśród skanerów laserowch wyróżnia się skanery jednoliniowe oraz skanery wieloliniowe. Skanery wieloliniowe mają dodatkowe promienie ułożone równolegle lub w kształt pięciokąta. Umożliwia to jeszcze większą niezależność od położenia odczytywanego kodu względem okna skanera.
Im większa jest precyzja(gęstość) kodu lub im bardziej skomplikowany jest kod (np. kody matrycowe względem liniowych) tym większe wymagania są określane względem urządzeń odczytujących.
[edytuj] Historia
- 1932 – Wallace Flint pisze na Uniwersytecie Harwardzkim pracę magisterską na temat automatycznych punktów kasowych w supermarketach
- 1938 – Joe Woodland i Berny Silver rozpoczęli badania nad technicznym aspektem odczytu i kontroli cen artykułów żywnościowych w handlu
- 1959 – Girard Feissel zgłosił w amerykańskim urzędzie patentowym wniosek o sposób kodowania cyfr od 0 do 9
- 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".
- 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
- luty – Zmiana nazwy organizacji krajowej z CKK - Centrum Kodów Kreskowych na GS1 Polska w Instytucie Logistyki i Magazynowania w Poznaniu
[edytuj] Literatura
- Informatyka dla logistyki, autor: J. Majewski, wyd.: Instytut Logistyki i Magazynowania, Poznań 2002, ISBN 83-87344-95-8
- Kody kreskowe - rodzaje standardy sprzęt zastosowania - ILiM, Poznań 2000, ISBN 83-87344-60-5
[edytuj] Przypisy
- ↑ 1,0 1,1 (en)Opis kodu UltraCode na stronach aimglobal.org
- ↑ 2,0 2,1 (en)Opis kodów Bumpy Bar Code na stronach meccomark.com
- ↑ 3,0 3,1 (en)opis kodu PosiCode na stronach aimglobal.org
- ↑ (en)Specyfikacje symboliki Codabar na stronie aimglobal.org (dostęp do specyfikacji jest płatny)
- ↑ (en)opis kodu na stronie barcodeisland.com
- ↑ 6,0 6,1 (PDF)Specyfikacje symboliki ITF-14 na stronie gs1pl.org
- ↑ (en)Specyfikacje symboliki Code39 na stronie aimglobal.org (dostęp do specyfikacji jest płatny)
- ↑ (en)Specyfikacje symboliki Code93 na stronie aimglobal.org (dostęp do specyfikacji jest płatny)
- ↑ (PDF)Specyfikacje symboliki UCC/EAN-128 na stronie gs1pl.org
- ↑ 10,0 10,1 (PDF)Specyfikacje symboliki GS1-128 na stronie organizacji GS1
- ↑ 11,0 11,1 11,2 11,3 (PDF)Specyfikacje symboliki EAN/UPC na stronie gs1pl.org
- ↑ 12,0 12,1 12,2 (PDF)Specyfikacje symbolik RSS na stronach gs1pl.org
- ↑ (en)(PDF)Specyfikacje symboliki Telepen na stronie telepen-barcode.co.uk
- ↑ (en)Specyfikacje symboliki CodaBlock F na stronie aimglobal.org (dostęp do specyfikacji jest płatny)
- ↑ (en)Specyfikacje symboliki Code49 na stronie aimglobal.org (dostęp do specyfikacji jest płatny)
- ↑ (en)Specyfikacje symboliki Code16K na stronie aimglobal.org (dostęp do specyfikacji jest płatny)
- ↑ (en)Specyfikacje symboliki Code One na stronie aimglobal.org (dostęp do specyfikacji jest płatny)
- ↑ 18,0 18,1 Opis symboliki PDF417 na stronie pdf417.pl
- ↑ (en)Opis symboliki Aztec Code na stronach tkb-4u.com (dostęp do specyfikacji jest płatny)
- ↑ (en)Opis symboliki DataMatrix na stronie barcode.ro
- ↑ Opis symboliki MaxiCode na stronie maxicode.pl
- ↑ (en)Opis kodu Semacode na stronie semacode.org
- ↑ (en)Opis kodu na stronie qrcode.com
- ↑ (en)Opis symboliki SuperCode na stronie aimglobal.org
- ↑ (en)Opis kodu VeriCode na stronie veritecinc.com
- ↑ (en)Opis kodu VSCode na stronie veritecinc.com
- ↑ (en)Opis symboliki Aztec Mesa na stronie aimglobal.org
- ↑ (PDF)Specyfikacje symbolik złożonych GS1 na stronie gs1pl.org
[edytuj] Linki zewnętrzne
- (en)Strona organizacji GS1
- Strona organizacji GS1 Polska w Instytucie Logistyki i Magazynowania
- Strona internetowa Instytutu Logistyki i Magazynowania
- (en)ISSN i kody kreskowe
- (en)Strona organizacji standaryzującej AIM – na stronie istnieje możliwość zakupu pełnych specyfikacji włączonych do USS (wykazu ujednoliconych symbolik).
- (en)Opis niektórych symbolik na stronach morovia.com
- (en)Opis niektórych symbolik na stronach barcode.ro
- (en)adams1.com Serwis poświęcony kodom kreskowym
- (en)barcodeisland.com Serwis poświęcony kodom kreskowym
- (en)barcodeman.com Serwis poświęcony kodom kreskowym
Generatory kodów: