Od cyfry do kreski

Słabą stroną wszelkich systemów przetwarzania danych jest wprowadzanie informacji. Nadal odbywa się ono najczęściej przez wpisywanie ich z klawiatury, albo bezpośrednio do systemu lub na wyspecjalizowanych stanowiskach przygotowania danych.

Słabą stroną wszelkich systemów przetwarzania danych jest wprowadzanie informacji. Nadal odbywa się ono najczęściej przez wpisywanie ich z klawiatury, albo bezpośrednio do systemu lub na wyspecjalizowanych stanowiskach przygotowania danych.

Potrzebę zautomatyzowania procesu wprowadzania danych dostrzegano od początku istnienia systemów komputerowych. Było to łatwe w systemach bazujących na pomiarach dokonywanych przez specjalizowane urządzenia. Aby umożliwić automatyzację wprowadzania danych w innych, bardziej uniwersalnych systemach, należało stworzyć elastyczne metody oznaczania obiektów, przy zachowaniu łatwości i niezawodności odczytu oznaczeń. Pierwsze metody automatycznej identyfikacji zaczęto projektować dla dużych supermarketów, o wysokich obrotach wielką liczbą asortymentów. Tu bowiem tradycyjne sposoby nie pozwalały na efektywne zarządzanie.

Przyjęte rozwiązanie polegało na rozliczaniu ilościowym i wartościowym sprzedaźy wszystkich asortymentów i wymagało oznaczania każdego towaru indywidualnym identyfikatorem. Na jego podstawie w kasie odczytywano cenę. Nie wystarczało oznaczanie towaru metką z numerem. Odczytywanie numeru towaru przez kasjerkę było zbyt wolne i często błędne. Należało stworzyć system oznaczeń, który pozwalałby na odczyt automatyczny .

Takie rozwiązania bazowały początkowo na technologii automatycznego odczytu pisma (OCR). Technologia ta była obarczona powaźnymi wadami. Czytniki pisma wymagały określonego kroju czcionki, a algorytmy, słuźące do rozpoznawania obrazu, były stosunkowo skomplikowane i czasochłonne. Naleźało więc dąźyć do stworzenia systemu doskonalszego, bardziej niezawodnego przy odczycie, tańszego przy instalacji i w eksploatacji.Takim rozwiązaniem stał się....

Kod kreskowy

Już w pierwszym zgłoszeniu patentowym przewidywano zastosowanie go w systemach kasowych. Mimo to pojawił się on najpierw w bibliotekach i laboratoriach, a powszechne stosowanie kodu w handlu rozpoczęło się dopiero z powstaniem standardów Universal Product Code (UPC) i European Article Numbering (EAN).

Szerokie rozpowszechnienie kodu kreskowego dla automatycznej identyfikacji spowodowała niezawodność odczytu przy zastosowaniu stosunkowo tanich urządzeń czytających. W odróźnieniu od identyfikatora opartego na technologii OCR, kod kreskowy jest tworem jednowymiarowym - wysokość kresek kodu decyduje o nadmiarowości i odporności na częściowe uszkodzenie symbolu. Odczyt kodu jest odczytem liniowym, dokonywanym w poprzek kresek.

Prostsze są więc algorytmy dekodowania. Polegają one na analizie ciągu zerojedynkowego, odpowiadającego kreskom i odstępom pomiędzy nimi. Przewaga kodu kreskowego nad systemami identyfikacji opartymi na stosowaniu nośników magnetycznych polega na kilku jego cechach. Pierwszą z nich jest elastyczność stosowania. Moźe on być nanoszony na różnych nośnikach i umieszczany na wielu typach obiektów, także w bardzo niesprzyjających warunkach. Drugą istotną cechą jest niski koszt przygotowania i nanoszenia symbolu kodowego. Odbywa się to albo przez nalepianie etykiety, albo przez drukowanie bezpośrednio na opakowaniu lub na identyfikatorze osobistym, a wreszcie na nanoszeniu bezpośrednio na znakowanym obiekcie itp.

Uniwersalna krecha

Kod kreskowy jest niewątpliwie rozwiązaniem najbardziej uniwersalnym. Równie łatwo moźe być zastosowany do oznaczania towarów w sklepie czy ksiąźek w bibliotece, jak i do identyfikatorów osobistych, aż do wypełniania kodem dokumentów, w celu późniejszej automatyzacji ich odczytu.

Przy stosowaniu kodu kreskowego w systemach mikrokomputerowych bardzo istotną cechą jest możliwość druku oznaczeń kodowych przez owe systemy. Nie wymaga to ani bazowania na oznaczeniach nadawanych przez producentów, ani zamawiania identyfikatorów w wyspecjalizowanych firmach. Pozwala na zaopatrywanie w identyfikatory kodowe nie tylko towarów w obrocie handlowym. ale wielu rozmaitych obiektów. Naleźy teź podkreślić, że w wielu przypadkach dla produkcji identyfikatorów kodowych nie trzeba wcale rozbudowywać stosowanego systemu komputerowego; do drukowania kodu na dokumentach wystarczy standardowa drukarka.

Kod kreskowy usprawnia wprowadzanie danych i eliminuje pomyłki powstające podczas ich wprowadzania.

Korzyści stosowania kodu kreskowego zaleźą od przeznaczenia systemu komputerowego. Największe będą tam, gdzie do tej pory wprowadzano ręcznie duże ilości danych, powiązanych z konkretnymi obiektami. Takimi są systemy obsługi sklepów, hurtowni czy magazynów. Prócz usprawnienia samego procesu wprowadzania danych, a co za tym idzie redukcji stanowisk obsługi lub zwiększenia obrotu, kod kreskowy daje nowe możliwości, np. dokonywanie spisów z natury przez odczyt oznaczeń kodowych urządzeniami przenośnymi, czy automatyczne sortowanie paczek w firmie spedycyjnej.

W wielu dziedzinach stosowanie kodu kreskowego stało się już standardem. Dotyczy to m.in krwiodawstwa, gdzie jest nie do pomyślenia tworzenie systemu informatycznego dla banku krwi, bez stosowania automatycznej identyfikacji. System obsługi biblioteki bez kodu kreskowego uważany jest za przestarzały. Najszersze zastosownie znalazł on jednak w handlu, a efekty ekonomiczne mówią same za siebie. Kod kreskowy może też z powodzeniem zastąpić inne, wcześniej stosowane systemy automatycznej identyfikacji, np. oparte na kartach magnetycznych.

Nie taki kod drogi jak go malują

Wspomniane wyżej przykłady stosowania kodu kreskowego dotyczą krajów zachodnich. W Polsce automatyczna identyfikacja toruje sobie drogę z wielkim trudem. Podstawową przyczyną tego stanu rzeczy jest niski stan wiedzy na ten temat. Jak dotąd niewiele jest publikacji specjalistycznych i popularnych, dotyczących kodów kreskowych. Jednymi z nielicznych są wydawnictwa Centrum Kodów Kreskowych w Poznaniu. Mają one jednak niewielki zasięg.

Brak informacji dotyka nie tylko potencjalnych uźytkowników, ale również - może w większym stopniu - projektantów systemów i programistów. W warunkach braku informacji wolą oni trzymać się od pomysłów stosowania kodów kreskowych z daleka.

Wokół problematyki kodu kreskowego zdąźyło narosnąć kilka mitów. Pierwszy z nich to przeświadczenie o bardzo wysokich kosztach instalacji systemów z automatyczną idenyfikacją. Prawda, zdarza się sprzęt drogi, lecz występuje on w przypadku bardzo zaawansowanych, specjalistycznych rozwiązań. Drogie są skanery laserowe, przenośne czytniki i terminale itp. Jednak dla większości zastosowań nie są one wcale potrzebne. Dla systemów pracujących w bibliotekach, szpitalach, laboratoriach czy magazynach wystarczają proste skanery CCD czy czytniki piórowe. Ich ceny wraz z dekoderami wahają się od około 2 mln (produkty taiwańskie) do około 8 mln zł. (wysokiej klasy czytnik firmy Datalogic International). Należy przy tym pamiętać, że jednorazowy koszt zakupu urządzenia pozwala potem na stałe oszczędności. Czasami korzyści są nie tylko materialne, np. w stacji krwiodawstwa czy laboratorium szpitalnym.

Drugim mitem jest przekonanie o niezwykłych trudnościach wydrukowania czytelnego kodu kreskowego, a co za tym idzie konieczności stosowania drogich, specjalistycznych drukarek lub korzystania z gotowych etykiet, drukowanych metodami poligraficznymi. Tymczasem czytelny kod daje się drukować praktycznie na każdej drukarce laserowej czy mozaikowej, pod warunkiem zastosowania odpowiedniego oprogramowania.

Funkcje druku kodu kreskowego, realizowane przez systemy operacyjne niektórych drukarek, nie są jednak najlepsze. Lepiej więc korzystać ze specjalizowanego oprogramowania. Specjalizowane drukarki termiczne i termotransferowe są niezbędne tylko przy druku dużych ilości etykiet i konieczności automatyzacji ich nalepiania. Druk termiczny jest obciążony poza tym istotną wadą. Etykiety są stosunkowo nietrwałe, wrażliwe na światło i czynniki chemiczne. Eliminuje to możliwość ich stosowania dla trwałych oznaczeń do wielokrotnego odczytu.

Rozwój drukarek laserowych oraz pojawienie się papieru samoprzylepnego, spowodowało znaczny rozwój oprogramowania drukującego, mającego wiele zalet w porównaniu z drukarkami specjalizowanymi.

Kolejnym mitem, będącym przeszkodą w upowszechnianiu kodu kreskowego, jest przeświadczenie o konieczności posiadania zezwoleń na jego stosowania. Tymczasem dotyczy to jedynie producentów, pragnących oznaczać swe wyroby kodem kreskowym typu EAN, o początkowych cyfrach 590, będących identyfikatorem naszego kraju. Uprawnienia do nadawania takich identyfikatorów kodowych posiada Centrum Kodów Kreskowych w Poznaniu.

W przypadku stosowania kodów kreskowych przez firmy nie będące producentami towaru nie są wymagane zezwolenia. Oczywiście nie wolno im oznaczać towarów dowolnym kodem, lecz w przypadku stosowania kodu standardu EAN na wewnętrzne potrzeby, mogą stosować kod rozpoczynający się od cyfry 2, która oznacza tzw. kod "in store".

Nos do tabakiery, czy tabakiera do nosa

Jak widać, nie ma specjalnych przeszkód z wprowadzaniem kodów kreskowych do tworzonych w kraju systemów komputerowych. Naleźy pamiętać, źe dołączenie czytnika kodu kreskowego do istniejącego systemu najczęściej daje mierne rezultaty. Aby bowiem efektywnie wykorzystać wszystkie zalety automatycznej identyfikacji system, należy specjalnie zaprojektować i wykonać system informatyczny. Dotyczy to przede wszystkim modułów dokonujących bezpośredniego wprowadzania danych. Jeżeli zostały one zaprojektowane do wprowadzania danych z klawiatury, samo zastąpienie wpisywania danych przez odczyt kodu niewiele przyspieszy wystawianie całego dokumentu. Konieczne jest dokładne zaprojektowanie całego systemu, z modyfikacją całego trybu pracy oraz przeorganizowaniem stanowisk wprowadzania danych.

Naleźy dbać o zachowanie jednorodnego charakteru poszczególnych funkcji systemu, to znaczy ograniczać jednoczesne wprowadzanie danych z klawiatury i czytnika kodów. Jest to stosunkowo trudne do uzyskania, lecz daje znakomite efekty. Jeźeli bowiem praca z systemem wymaga naprzemiennego wpisywania tekstu z klawiatury i odczytu kodu, to po odczytaniu kodu osoba obsługująca będzie musiała odłoźyć czytnik, co znakomicie opóżni całą pracę.

Podany przykład jest trywialny, lecz sygnalizuje problemy, od rozwiązania których zaleźy efektywność systemu. Wiele urządzeń czytających będzie wymagało stosowania efektywniejszych narzędzi programistycznych od dBase III+ czy Clippera'87. Większość tych urządzeń wymaga procedur obsługi z wykorzystaniem przerwań. Inaczej bowiem uzyskuje się rozwiązania nieeleganckie i nieefektywne.

System używający kodu kreskowego winien maksymalnie automatyzować czynności związane z jednoznaczną identyfikacją towarów. Częstym błędem jest np. stosowanie do druku etykiet urządzeń w rodzaju samodzielnych drukarek, nie podłączonych bezpośrednio do systemu. Powoduje to konieczność przenoszenia przez obsługę danych z systemu do urządzeń drukującym, co w drastyczny sposób zwiększa moźliwość pomyłek.

Szczypta logistyki

W zastosowaniach typowo handlowych rodzaj wykorzystywanego kodu kreskowego jest narzucony przez normy, jednak w wielu zastosowaniach wybór typu kodu zaleźy od projektanta systemu. I tu niezbędne jest pewne minimum wiedzy na temat kodów kreskowych. Pozwoli to wybrać kod efektywny i bezpieczny do stosowania w konkretnych warunkach. W celu wyboru typu kodu dla konkretnego zastosowania naleźy przeanalizować wiele czynników, poczynając od określenia typu i zakresu informacji, którą system ma odczytywać z kodu kreskowego, poprzez dostępne sposoby druku, aż po warunki odczytu i posiadane urządzenia czytające. Różne kody kreskowe mają bowiem różną tolerancję druku, inne możliwości w zakresie kontroli poprawności odczytu, różną gęstość upakowania informacji.

Inny typ kodu należy wybrać dla informacji alfanumerycznej, inny dla alfanumerycznej. W praktyce często spotyka się stosowanie kodu Code 39, który pozwala na kodowanie informacji alfanumerycznej. Jest to jednak kod o małej gęstości upakowania informacji i małej (ok. 10%) tolerancji druku. Oznacza to, źe dla bezpiecznego odczytu czytnikiem piórowym, kodowane symbole powinny być krótkie - kilka znaków. Ostatnio spotkaliśmy się jednak ze stosowaniem oznaczeń w kodzie Code 39 o długości ponad 20 znaków drukowanych w wysokiej gęstości! Na dodatek wysokość kodu nie przekraczała 1 cm. Taki sposób kodowania zaprzecza wszelkim zasadom. Wystarczyłoby bowiem zastosowanie np. kodu Interleaved 2/5, przy którym bezwzględna długość kodu o tej samej zawartości jest prawie dwukrotnie mniejsza. Toteż stosowanie kodu Code 39 dla informacji zawierającej same cyfry, jest zupełnie nieuzasadnione.

Inna metoda zwiększania bezpieczeństwa odczytu polega na stosowaniu dwóch krótszych kodów odczytywanych kolejno, zamiast jednego długiego. Takie rozwiązanie stosuje np.firma BENETTON dla oznaczania swych wyrobów, dla których typowy kod EAN jest zbyt mało pojemny. Kolejny odczyt dwóch dobrze wydrukowanych kodów o właściwych proporcjach jest wygodniejszy dla obsługi i szybszy od odczytu kodu zbyt długiego. Przy druku mozaikowym lub atramentowym kod kreskowy powinien posiadać duźą tolerancję w celu poprawnego odczytu - takim kodem jest kod Industrial 2/5 o tolerancji do 25% (odmiana tego kodu jest standardem przy oznaczaniu biletów lotniczych i nalepek na bagaź właśnie z powodu niskiej niekiedy jakości druku). Długie kody można też odczytywać, ale do tego celu nie nadaje się czytnik piórowy, lecz drogie czytniki laserowe. W opisywanym wyżej przypadku podstawowa znajomość problematyki kodów kreskowych pozwoliłaby uniknąć wydatków na nietrafne rozwiązanie, które w praktyce sprowadziło kod kreskowy do roli najsłabszego ogniwa w systemie.

Podobne przykłady można mnożyć. Aby uniknąć nieudanych zastosowań kodów kreskowych, konieczne jest upowszechnianie informacji dotyczącej tej problematyki. Stosowanie kodu kreskowego daje bowiem znakomite efekty tylko wtedy, gdy jest przemyślane i prawidłowo wdroźone. Inaczej w najlepszym wypadku zmarnują się nakłady poniesione na urządzenia, a opowieści o straszliwych kłopotach związanych z kodem kreskowym, wzbogacą się o kolejny przypadek.

W niniejszym tekście zasygnalizowano tylko niektóre problemy i możliwości związane z automatyczną identyfikacją w systemach informatycznych. Zaawansowane urządzenia pozwalają na zupełnie nowe sposoby rozwiązywania wielu problemów. Urządzenia przenośne w rodzaju w pełni programowalnych, specjalizowanych komputerów, nowe generacje dekoderów, będących w istocie kompletnymi terminalami do tworzenia stanowisk wprowadzania danych, elastyczne i szybkie systemy drukujące umożliwiają budowę efektywnych systemów o nietradycyjnych rozwiązaniach, tańszych i efektywniejszych od dotychczasowych.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200