Kod 49

Z Wikipedii, wolnej encyklopedii
Przykład kodu "Kod 49"

Kod 49 (Code 49) – alfanumeryczny dwuwymiarowy piętrowy ciągły modularny samosprawdzalny kod kreskowy o zmiennej długości opracowany w 1987 przez firmę Intermec Corporation. Była to pierwsza symbolika dwuwymiarowa, która została wprowadzona do powszechnego użytku[1]. W chwili obecnej jest dostępna na licencji public domain. Symbolika została włączona do Wykazu Ujednoliconych Symbolik (ang. USS – Unform Symbol Specyfications) przez organizację AIM (Global Trade Association of the Automatic Identification & Data Capture Industry).

Kod ten powstał w oparciu o Kod 3 z 9 poprzez ustawienie kilku (od dwóch do ośmiu) kodów w rzędach jeden nad drugim. Obecnie specyfikacja zawiera również pewne elementy symboliki UPC[1]. W kodzie tym wymagane jest stosowanie znaków kontrolnych. Kod został opracowany w celu zamieszczania na małych produktach (np. na lekach, podzespołach elektronicznych, na kasetkach z filmami fotograficznymi w systemie Kodaka o nazwie Advanced Photographic Systems lub do śledzenia części podczas procesu produkcji[2]). Wadą symboliki jest jej skomplikowana charakterystyka, co wiąże się z większymi wymaganiami wobec urządzeń odczytujących. Teoretyczna gęstość kodu wynosi 170 znaków alfanumerycznych na cal2[1]. Rzeczywista maksymalna gęstość kodu wynosi 93,3 znaków alfanumerycznych lub 154,3 znaków numerycznych na cal2[3].


Budowa kodu[edytuj | edytuj kod]

Kod składa się z od dwóch do ośmiu rzędów pasków, z których każdy jest oddzielony poziomą ciemną kreską, której szerokość wynosi jeden moduł (wymiar modułu to 0,191mm). Długość pojedynczego rzędu kresek jest stała, z marginesami wynosi 81 modułów (tworzących 18 kresek ciemnych i 17 jasnych) oraz koduje cztery dwuznakowe słowa kodowe. Jedno słowo kodowe jest budowane przez 16 modułów ułożonych w cztery ciemne i cztery jasne kreski. Dodatkowo w każdym rzędzie jest umieszczona informacja o jego numerze oraz suma kontrolna dla danych w nim zakodowanych. Liczba rzędów uzależniona jest od ilości kodowanych informacji. Specyfikacja symboliki zezwala na łączenie pojedynczych kodów celem zakodowania większej ilości danych. Wysokość kresek w jednym rzędzie jest zmienna i zależna od liczby rzędów oraz miejsca przeznaczonego na umieszczenie kodu, jednakże zaleca się, by minimalna ich wysokość wynosiła 8 modułów. Zachowanie kolejności skanowania rzędów nie jest obowiązkowe. Wymagane jest stosowanie znaków START/STOP oraz marginesów (cichych stref) po prawej i lewej stronie kodu.

Tryby kodowania znaków[edytuj | edytuj kod]

Kod może być użyty w trzech trybach kodowania znaków:

  • jako kod numeryczny (w trzech słowach kodowych jest wtedy kodowane pięć cyfr, a zatem w jednym kodzie można zapisać do 81 cyfr).
  • jako kod alfanumeryczny wykorzystujący tablicę 49 znaków (część tablicy ASCII, można zakodować do 49 znaków w jednym kodzie[4]).
  • jako kod alfanumeryczny kodujący tablicę 128 znaków ASCII.

W celu umożliwienia kodowania wszystkich 128 znaków tablicy ASCIIw kodzie wykorzystuje się znaki Shift 1 oraz Shift 2, które zmieniają znaczenie znaku, z którym są połączone. Dodatkowo występuje znak NS określający tryb kodowania (numeryczny/alfanumeryczny) oraz symbole funkcyjne FNC1, FNC2 i FNC3.

Mechanizmy wykrywania błędów[edytuj | edytuj kod]

W kodzie wykorzystuje się znaki kontrolne występujące przed oznaczeniem STOP w każdym rzędzie. Wartość tych znaków oblicza się na podstawie algorytmu modulo 49. Dodatkowo obliczane są znaki kontrolne dla całego symbolu. W przypadku, gdy liczba rzędów w kodzie jest mniejsza od siedmiu – są to dwa znaki. Natomiast, gdy jest większa lub równa siedem, liczba ta wynosi trzy znaki.

Linki zewnętrzne[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. a b c Russ Adams: 2-Dimensional Bar Code Page. [dostęp 2011-08-27]. [zarchiwizowane z tego adresu (7 lipca 2011)]. (ang.).
  2. Strona opisująca użycie kodów 2D na aimglobal.org. aimglobal.org. [zarchiwizowane z tego adresu (2006-10-05)]. (ang.)
  3. Glosariusz na stronie Intermec.com (ang.)
  4. Informacje o kodzie na stronie code49.dlawas.com