Kod 49 – Wikipedia, wolna encyklopedia
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]- Specyfikacje symboliki Code49 na stronie aimglobal.org. aimglobal.org. [zarchiwizowane z tego adresu (2006-09-23)]. (ang.) (dostęp do specyfikacji jest płatny)
Bibliografia
[edytuj | edytuj kod]- Kody kreskowe – rodzaje standardy sprzęt zastosowania – ILiM, Poznań 2000, ISBN 83-87344-60-5
Przypisy
[edytuj | edytuj kod]- ↑ a b c Russ Adams: 2-Dimensional Bar Code Page. [dostęp 2011-08-27]. [zarchiwizowane z tego adresu (7 lipca 2011)]. (ang.).
- ↑ Strona opisująca użycie kodów 2D na aimglobal.org. aimglobal.org. [zarchiwizowane z tego adresu (2006-10-05)]. (ang.)
- ↑ Glosariusz na stronie Intermec.com (ang.)
- ↑ Informacje o kodzie na stronie code49.dlawas.com