Kod kreskowy to graficzne odzwierciedlenie określonych znaków poprzez kombinację ciemnych i jasnych elementów, ustaloną według przyjętych reguł budowy danego kodu (symboliki). Rozróżnia się znaki kodujące dane oraz znaki pomocnicze, charakterystyczne dla danej symboliki.

Symbolika to opis zasad tworzenia poszczególnych rodzajów kodów, czyli sposobu, w jaki znaki pisma, czytelne wzrokowo, odwzorowane są poprzez jasne i ciemne elementy o różnej szerokości.


Symbol kodu kreskowego składa się z zestawu elementów, których struktura wynika z danej symboliki oraz ze znaków czytelnych wzrokowo, przedstawionych graficznie.
Typ
MSI Plessey, jednowymiarowy kod kreskowy typu 2W, w którym występują paski o dwóch różnych szerokościach.
Kodowane znaki
Kodowane znaki: cyfry 0-9. Długość kodu: zmienna.
Opis
MSI Plessey jest kodem kodującym wyłącznie cyfry. Kod ten jest zmodyfikowaną prze firmę MSI Data Corporation wersją kodu Plessey. Większość typowych zastosowań tego kodu sprowadza się do wykorzystania 12 cyfr i większość czytników kodów kreskowych nie jest w stanie przeczytać kodu, który zawiera więcej niż 16 znaków.
Kod ten występuje w czterech wersjach:
  • MSI Plessey bez korekcji błędów
  • MSI Plessey +CHK10 (z pojedynczą korekcją błędów modulo 10)
  • MSI Plessey +CHK10 +CHK10 (z podwójną korekcją błędów modulo 10)
  • MSI Plessey +CHK11 +CHK10 (z podwójną korekcją błędów modulo 11 i modulo 10)
Budowa
Przy kodowaniu kodów kreskowych przyjmiemy, że "1" będzie reprezentować pasek (ciemny obszar), a "0" będzie reprezentować odstęp (jasny obszar). A zatem liczba 1101 reprezentuje podwójnej szerokości pasek (11), po którym występuje pojedynczej szerokości odstęp (0), a na końcu występuje pojedynczej szerokości pasek (1). Struktura kodu MSI
  • Znak start
  • Dowolna liczba znaków kodu
  • Suma kontrolna (1 lub 2 znaki)
  • Znak stop
Poniższa tabela przedstawia sposób kodowania wszystkich znaków dla kodu MSI.

Znak Kod
0 100100100100
1 100100100110
2 100100110100
3 100100110110
4 100110100100
5 100110100110
6 100110110100
7 100110110110
8 110100100100
9 110100100110
start 110
stop 1001

Poniżej przedstawiony jest zakodowany przykładowy kod "80523" (MSI Plessey +CHK11)
  1. Znak start: 110
  2. Cyfra "8": 110100100100
  3. Cyfra "0": 100100100100
  4. Cyfra "0": 100100100100
  5. Cyfra "5": 100110100110
  6. Cyfra "2": 100100110100
  7. Suma kontrolna "3": 100100110110
  8. Znak stop: 1001
Suma Kontrolna
MSI używa jednego albo dwóch cyfr kontrolnych. Najbardziej powszechnymi metodami obliczania sumy kontrolnej są:
Modulo 10 (MSI Plessey +CHK10)
Poniżej przedstawiony jest sposób obliczania sumy kontrolnej wraz z przykładem dla numeru 8052:
  1. Utwórz nowy numer przez wybranie do niego tylko cyfr na parzystych pozycjach. Dla naszego przykładu "8052" nowy numer będzie miał postać "02".
  2. Liczbę, którą otrzymałeś w pierwszym kroku, przemnóż przez 2. 02 * 2 = 4
  3. Dodaj do siebie cyfry z liczby otrzymanej w kroku drugim i dodaj do cyfr na pozycjach nieparzystych. 4 + 8 + 5 = 17 (Jeżeli wynik z kroku 2 byłby np. 123 to byśmy zsumowali: 1+2+3+8+5=19)
  4. Należy wziąć liczbę otrzymaną w punkcie trzecim i obliczyć resztę z dzielenia przez 10 17 mod 10 = 7
  5. Cyfrą kontrolną jest wartość, która dodana do wyniku z kroku czwartego da liczbę 10. W naszym przypadku jest to wartość 3, gdyż 3 + 7 = 10.
Kod wraz z cyfrą kontrolną ma postać 80523. 2 Modulo 10 (MSI Plessey +CHK10+CHK10) "2 Modulo 10" oznacza, że kod MSI ma dwie cyfry kontrolne Modulo 10. Pierwsza cyfra Modulo 10 obliczana jest tak, jak jest opisane powyżej dla "Modulo 10". Druga suma kontrolna Modulo 10 obliczana jest dla kodu, który powstał poprzez dodanie pierwszej cyfry kontrolnej. Sposób obliczania drugiej sumy kontrolnej jest taki sam jak dla pierwszej. Wykonuje się obliczanie sumy kontrolnej Modulo 10 dla kodu, który zawiera już sumę kontrolną Modulo 10. Drugą sumę kontrolną dodaje się na koniec kodu. Modulo 11 (MSI Plessey +CHK11) Inną metodą używaną do obliczania sumy kontrolnej jest Modulo 11. Sposób ten znacząco różni się od sposobu dla metody Modulo 10. Suma kontrolna dla Modulo 11 jest obliczana w następujący sposób:
  1. Przypisz wagę dla każdej cyfry z kodu, zaczynając z wagą 2 od skrajnie prawej pozycji. Następnie przesuwając się w lewo przypisuj wagi zwiększając wartość o jeden. Jeżeli dojdziesz do wagi o wartości 7, to następny znak będzie miał wagę 2 (wartości wagi są następujące: 2,3,4,5,6,7,2,3,4,5,6,7,2,3...)
  2. Przemnóż wartość każdego znaku przez przypisaną mu wagę i zsumuj wszystkie iloczyny.
  3. Oblicz resztę z dzielenia wartości otrzymanej w punkcie drugim przez 11.
  4. Wartością sumy kontrolnej jest ta liczba, która po dodaniu do wyniku z punktu trzeciego da wartość 11.
Przykład obliczeń Modulo 11 dla kodu "80523"

Kod 8 0 5 2 3
Waga 6 5 4 3 2
Iloczyn 48 0 20 6 6
W tabeli powyżej przemnożono cyfry przez przypisane im wagi. Wyniki zapisano w ostatnim wierszu. Następnie obliczamy sumę iloczynów: 48 + 0 + 20 + 6 + 6 = 80
Obliczamy resztę z dzielenia przez 11:
80 mod 11 = 3
Liczbą, którą musimy dodać do liczby 3, aby otrzymać 11, jest 8 i jest to właśnie suma kontrolna. Wstawiamy ją na koniec kodu. Kod MSI Plessey +CHK11 dla liczby 80523 ma więc postać "805238". Modulo 11 / Modulo 10 (MSI Plessey +CHK11 + CHK10) Jest to metoda, która zawiera dwie sumy kontrolne: Modulo 11 i Modulo 10. Dla danego kodu obliczana jest najpierw suma kontrolna Modulo 11 i wstawiana na koniec kodu. Dla nowego kodu (z sumą kontrolną Modulo 11) jest obliczana suma kontrolna Modulo 10, a jej wartość wstawiana jest na koniec kodu.
Sprzęt

OPL9723
# OPM1736
LS6800

E-4203
105SL
CAMEO2

PHL1300
PHL2700
PPT 2800
Zastosowanie
MaxiCode jest niewielkich wymiarów (1 cal x 1 cal). Stosowany jest do oznaczania paczek. Dzięki temu niezbędne informacje podróżują wraz z przesyłką. Kod ten stosowany jest do transportu i spedycji. Jest stosowany przez United Parcel Service do szybkiego sortowania listów.
Przykład





Przykład wygenerował program HDF® BarCode System.
2005 © HDF Sp. z o.o.