Kod kreskowy MSI - MSI Barcode

Image
Kod kreskowy MSI dla numeru 1234567 z cyfrą kontrolną Mod 10

MSI (znany również jako Modified Plessey ) to symbolika kodu kreskowego opracowana przez MSI Data Corporation, oparta na oryginalnej symbolice Plessey Code . Jest to ciągła symbolika, która nie sprawdza się samoczynnie. MSI jest używany głównie do kontroli zapasów, oznaczania pojemników magazynowych i półek w środowiskach magazynowych.

Zestaw znaków i wyszukiwanie binarne

Kod kreskowy MSI zawiera tylko cyfry 0–9; nie obsługuje liter ani symboli.

Każda cyfra jest konwertowana do 4 bitów dziesiętnych zakodowanych binarnie . Następnie 1 bit jest dołączany na początku i dwa bity 0.

Wreszcie, każdy bit jest drukowany jako para kresek / spacji o łącznej szerokości trzech modułów. Bit 0 jest reprezentowany jako 1/3 słupka, po którym następuje 2/3 spacja, podczas gdy 1 bit jest reprezentowany jako 2/3 słupka i 1/3 spacja.

Mapowanie binarne

Każda cyfra i znak ochronny jest reprezentowana przez liczbę binarną, jak pokazano w poniższej tabeli.

Postać Dwójkowy Słupy Mapa
Początek 1 110
0 0000 ▍▍▍▍ 100100100100
1 0001 ▍▍▍▋ 100100100110
2 0010 ▍▍▋▍ 100100110100
3 0011 ▍▍▋▋ 100100110110
4 0100 ▍▋▍▍ 100110100100
5 0101 ▍▋▍▋ 100110100110
6 0110 ▍▋▋▍ 100110110100
7 0111 ▍▋▋▋ 100110110110
8 1000 ▋▍▍▍ 110100100100
9 1001 ▋▍▍▋ 110100100110
Zatrzymać 00 ▍▍ 1001

Aby utworzyć obraz kodu kreskowego z tej mapy, wystarczy wziąć pod uwagę cyfrę 1 jako czarny pasek, a cyfrę 0 za biały pasek i odpowiednio utworzyć obraz.

Sprawdź obliczenie cyfry

Kod kreskowy MSI wykorzystuje jeden z pięciu możliwych schematów obliczania cyfry kontrolnej :

  • Brak cyfry kontrolnej (najrzadziej)
  • Mod 10 (najczęściej)
  • Mod 11
  • Mod 1010
  • Mod 1110

Cyfra kontrolna Mod 10

Podczas korzystania z algorytmu cyfry kontrolnej Mod 10, ciąg do zakodowania 1234567 zostanie wydrukowany z cyfrą kontrolną 4:

 12345674

Algorytm cyfry kontrolnej Mod 10 wykorzystuje algorytm Luhna .

Cyfra kontrolna mod 11

1. Odwróć ciąg do zakodowania (w tym przypadku 1234567).

 Let S be the reverse of the string to be encoded
 S = 7654321

2. Ciąg jest następnie „ważony” przy użyciu powtarzającego się wzorca współczynnika ważenia. Istnieją dwa algorytmy modulo 11, które wykorzystują różne powtarzane wzorce współczynników ważenia: algorytm IBM , który wykorzystuje (2,3,4,5,6,7) i algorytm NCR , który wykorzystuje (2,3,4,5,6, 7,8,9). Uzyskaj sumę ciągu, przechodząc przez każdy znak w pętli i pomnóż ją przez wagę od 2 do 7 (IBM) lub od 2 do 9 (NCR) w zależności od jego pozycji. Jeśli wartość ciężaru przekracza najwyższą liczbę (7 lub 9), zresetuj wagę z powrotem do 2.

 This example is using the IBM modulo 11 algorithm with a weighting pattern of (2,3,4,5,6,7)
 Let X = the final product of the string to encode.
 X = 7 * 2
 X = 6 * 3
 X = 5 * 4
 X = 4 * 5
 X = 3 * 6
 X = 2 * 7
 X = 1 * 2
 X = 14 + 18 + 20 + 20 + 18 + 14 + 2

 X = 106

3. Zmodyfikuj sumę o 11, odejmij wynik od 11, a następnie ponownie zastosuj funkcję mod 11.

 Let C equal the check digit.
 C = (11 - (X mod 11)) mod 11
 C = (11 - (106 mod 11)) mod 11
 C = (11 - 7) mod 11
 C = 4 mod 11
 C = 4

Cyfra kontrolna to 4.

Cyfra kontrolna Mod 1010

Po prostu oblicz cyfrę kontrolną Mod 10 za pierwszym razem, a następnie oblicz ją ponownie z poprzednim wynikiem i dołącz wynik drugiego obliczenia Mod 10 do ciągu, który ma być zakodowany.

Cyfra kontrolna Mod 1110

To samo co Mod 1010, ale pierwsze obliczenie powinno być cyfrą kontrolną Mod 11.

Przykład

Na przykład wygenerujemy kod kreskowy MSI dla sekwencji numerów 1234567 przy użyciu najpopularniejszej metodologii cyfr kontrolnych Mod 10.

Cyfra kontrolna (jak obliczono powyżej) dla tej sekwencji to 4.

Po obliczeniu cyfry kontrolnej po prostu zamapuj każdy znak w ciągu do zakodowania, używając powyższej tabeli jako odniesienia, aby uzyskać mapę binarną kodu kreskowego; pamiętaj, aby poprzedzić kod „start” i zakończyć go „stop”. Na przykład, aby zmapować ciąg 1234567 z cyfrą kontrolną Mod 10, dałoby to następującą mapę binarną:

Postać Mapa Komentarz
Początek 110 Znak początkowy
1 100100100110 Numer 1
2 100100110100 Liczba 2
3 100100110110 Liczba 3
4 100110100100 Liczba 4
5 100110100110 Liczba 5
6 100110110100 Liczba 6
7 100110110110 Liczba 7
4 100110100100 Cyfra kontrolna 4
Zatrzymać 1001

Skutkuje to następującym kodem kreskowym:

MSI-barcode.png

Bibliografia

Linki zewnętrzne