Rodzaje kodów kreskowych
Podział według wymiarowości kodu kreskowego:
-
kod jednowymiarowy (liniowe, 1D) - informacje zapisywane są w jednej linii (najczęściej w postaci kresek);
-
kod dwuwymiarowy piętrowe - rozwinięcie kodów jednowymiarowych polegające na istnieniu kilku linii kodu, jedna pod drugą;
-
kod dwuwymiarowy matrycowy - 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:
-
kody numeryczne - kodowane są jedynie cyfry w systemie dziesiętnym;
-
kody 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 stałej długości - kody o ściśle określonej liczbie kodowanych znaków;
-
kody o zmiennej długości - kody o różnej liczbie kodowanych znaków.
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.
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 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
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 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.