Krzysztof Płuciennik
KL. 1L
Kod kreskowy
Pierwszy kod kreskowy, ze względu na swój wygląd, został nazwany tarczą strzelniczą (ang.
bull's eye). Składał się on z serii koncentrycznych okręgów. Kiedy Woodland i Silver opisali ten
symbol, podstawowa symbolika została opisana jako wzorzec prostych linii, podobnie do
dzisiejszego jednowymiarowego kodu kreskowego. Wzorzec składał się z 4 białych kresek na
ciemnym tle. Pierwsza kreska stanowiła punkt odniesienia, a pozycja pozostałych trzech linii była
ustalona w odniesieniu do pierwszej. Informacja była zakodowana poprzez obecność lub brak
jednej lub więcej linii. To pozwalało na przypisanie 7 różnych towarów. Jednak wynalazcy
zauważyli, że dodanie więcej linii zwiększa możliwość zakodowania danych. Używając 10 kresek
można zakodować 1023 stany. W 1962 roku Silver, zmarł w wieku 38 lat, nie ujrzawszy
komercyjnego zastosowania kodów kreskowych. W 1992 roku prezydent Bush przyznał
Woodlandowi nagrodę (National Medal of Technology). Jednak żaden z wynalazców nie zarobił na
idei, która zapoczątkowała ogromny biznes. Kody kreskowe nie były używane w przemyśle do
1966 roku. NAFC (The National Association of Food Chains) zgłosiła się do producentów sprzętu,
aby opracowali system, który usprawniłby proces sprzedaży. W 1967 RCA zainstalowała jeden z
pierwszych systemów skanujących w sklepie Krogen w Cincinnati. Kody towarów były
reprezentowane przez "bull's eye barcodes", który składał się z okręgów i przestrzeni o zmiennej
szerokości. Te kody nie były drukowane na opakowaniach przez producentów, lecz umieszczane
przez pracowników sklepu. Wystąpiły jednak pewne problemy z kodem RCA/Kroger. Stało się
jasne, że przemysł musiałby zgodzić się na standard kodowania otwarty dla wszystkich
producentów i przyjęty przez wszystkich producentów żywności oraz dystrybutorów. W 1969 roku
NAFC powierzyła rozwój projektu kodów kreskowych dla szerokiego przemysłu firmie Logicon
Inc. Rezultatem był UGPIC (Universal Grocery Products Identification Code) w lecie 1970. Na
podstawie raportu Logicon powstał komitet amerykańskiej sieci supermarketów d/s kodu Uniform
Grocery Product. Trzy lata później kod został wprowadzony na rynek i jest używany w USA do
dziś. Pomysł przedstawiła firma IBM, a rozwijał George Laurer, którego praca była rozwinięciem
pomysłów Woodlanda i Silvera. W czerwcu 1974 roku jeden z pierwszych skanerów UPC,
wyprodukowany przez NCR Corp., został zainstalowany w supermarkecie Marsh w Troy, Ohio.
Kod produktu pierwszy raz został zeskanowany 26 czerwca 1974. Był to dziesięciopak owocowych
gum do żucia firmy Wrigley. Gumy nie były specjalnie wyznaczone do tego celu - przypadkowo
sprzedawca jako pierwszy je właśnie zeskanował. Dzisiaj paczka gum jest wystawiana w
Smithsonian Institution's National Museum of American History. Pierwsze próby zastosowania
kodów kreskowych w przemyśle do automatycznej identyfikacji zostały podjęte w latach
pięćdziesiątych przez AAR (Stowarzyszenie Kolei Amerykańskich). W 1967 roku przyjęto
optyczny kod kreskowy. Oznaczanie wagonów kolejowych i instalacja skanerów rozpoczęły się 10
października 1967 roku. Minęło siedem lat, zanim zdołano oznaczyć 95% floty kolejowej. Wiele
przyczyn złożyło się na niepowodzenie tego systemu i został on porzucony w latach
siedemdziesiątych. Wydarzenie, które uznaje się za prawdziwe zastosowanie kodów kreskowych w
przemyśle, miało miejsce 1 września 1981 roku, kiedy to Departament Obrony Stanów
Zjednoczonych zastosował Code 39 do oznaczania wszystkich produktów sprzedanych armii.
Dzisiaj kody kreskowe są najpopularniejszą oraz najtańszą formą automatycznej
identyfikacji towarów. Używane są do opisywania dokumentów i produktów w celu umożliwienia
automatycznego odczytywania i wprowadzania danych do komputerów za pomocą urządzeń
powszechnie nazywanych: "czytnik kodów kreskowych" lub "skaner kodów kreskowych". Do
nadruku kodów paskowych najczęściej są wykorzystywane drukarki etykiet. (np. drukarki Zebra).
Zastosowanie kodów kreskowych przyczynia się do zwiększenia wydajności i usunięcia błędów
ludzkich przez zautomatyzowanie procesu zbierania danych. Liczba gałęzi przemysłu, które
wymagają stosowania technologii kodów kreskowych ciągle się powiększa. Coraz więcej
podmiotów pracuje nad integracją automatycznej identyfikacji ze swoimi systemami. Możemy
wymienić tu sektory prawne (dokumenty), służbę zdrowia, przemysł motoryzacyjny, bankowość
włączając karty plastikowe oraz sektory produkcyjne.
Kod kreskowy jest kombinacją następujących po sobie jasnych i ciemnych kresek
odzwierciedlających ciąg znaków (w zależności od standardu - cyfr, liter lub wszystkich znaków
ASCII). Kreski te zwane są elementami kodu. Jasne kreski można też określić jako przerwy
pomiędzy kreskami ciemnymi. Różne kombinacje następujących po sobie różnej grubości kresek i
przerw reprezentują różne znaki. Po lewej i prawej stronie kodu kreskowego znajduje się wolna
przestrzeń szerokości przynajmniej 1/4" ułatwiająca czytnikowi zorientowanie się gdzie kod
kreskowy się zaczyna i gdzie się kończy. 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). Ś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
ASCII. W tym "normalnym" już formacie dane trafiają do komputera.
Dane zawarte w samym kodzie kreskowym są tylko ciągiem znaków, któremu w odpowiedniej
bazie danych przyporządkowane są pewne informacje. Dla przykładu, kod kreskowy wydrukowany
przez producenta na oryginalnym opakowaniu towaru (np. soku w kartonie), nie zawiera informacji
dotyczącej ceny tego towaru. Jednak przy kasie, po zeskanowaniu kodu, na monitorze ukazuje się
jego cena. W innym sklepie zeskanowanie tego samego kodu powoduje pojawienie się innej ceny.
W każdym z tych sklepów tej samej wartości kodu kreskowego przyporządkowane są różne
wartości ceny towaru. Natomiast w obydwu sklepach ten sam kod będzie najprawdopodobniej
identyfikował dokładnie ten sam towar, gdyż ma identyczną wartość na wszystkich swoich
opakowaniach. Jak więc widać kod kreskowy pełni przeważnie rolę identyfikatora pozwalającego w
szybki sposób otrzymać z bazy danych informacje z nim związane. Od każdej reguły, również w
tym przypadku, są jednak wyjątki. Istnieje bowiem możliwość zapisania pewnych danych
bezpośrednio w treści kodu kreskowego. Stosuje się ją jednak raczej rzadko i ma sens jedynie w
przypadku danych o małej ilości znaków (np. oznaczenie tylko daty produkcji towaru), gdyż
zapisanie w ten sposób większej ilości informacji powodowałoby powstanie zbyt dużych
rozmiarów kodów kreskowych, których odczytanie byłoby bardzo trudne. Jeśli zachodzi
konieczność zapisu nieco obszerniejszych informacji bez odwoływania się do zewnętrznych baz
danych, stosuje się od niedawna specjalne standardy kodów kreskowych - kody piętrowe inaczej
zwane kodami dwuwymiarowymi.
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.
•
Podział według szerokości kresek:
•
kody o jednej szerokości kresek (np. PosiCode) – 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 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.
Wybrane przykłady kodów kreskowych:
Kod PostNET
Na 60-lecie wynalezienia kodu kreskowego możesz zobaczyć w Google reprezentację logo Google w kodzie kreskowym Code 128!!!
Moje imię i nazwisko zakodowane w kodzie 128 wygenerowane przez generator kodów na stronie internetowej