Kolektor Motorola Symbol MC9090 pracuje na systemie Windows Mobile 5.0 i nadal spotyka się go w magazynach, także w chłodniach. Dane techniczne urządzenia wyznaczają, co da się z nim zrobić w systemie WMS: jakie kody odczyta, w jakiej temperaturze zadziała i jak połączy się z serwerem.

Opis opiera się na specyfikacji modelu. Szerszy obraz sprzętu terminalowego w hali, wraz z siecią i zabezpieczeniem transmisji, daje strona o terminalu radiowym w magazynie: Wi-Fi i TLS.

Parametry techniczne Motorola Symbol MC9090

Specyfikacja urządzenia

Producent oferuje ten model w kilku wariantach obudowy i skanera, więc poniższe wartości opisują zakres oferty, a nie konfigurację jednego egzemplarza. Konkretną wersję potwierdza się przed zakupem lub wdrożeniem.

ParametrWartość według specyfikacji
System operacyjnyMicrosoft Windows Mobile 5.0 Premium Edition
ProcesorIntel XScale Bulverde PXA270, 624 MHz
Pamięć RAM/ROM64/64 MB w wersji CE, 64/128 MB w wersji Windows Mobile
Wyświetlacz3,8 cala (1/4 VGA), dotykowy, w wersji monochromatycznej lub kolorowej
Czytnik1D Standard, 1D Lorax albo 2D Imager
Klawiatura28, 43 lub 53 klawisze, podświetlana
KomunikacjaUSB/RS232 oraz WLAN Symbol 802.11a/b/g, Bluetooth
OdpornośćWielokrotny upadek z 1,8 m na beton, klasa IP64
ZasilanieAkumulator 2200 mAh
Temperatura pracy-20 do +50 °C
Wymiary231 x 91 x 193 mm

Klasa IP64 oznacza obudowę pyłoszczelną i odporną na zachlapanie wodą z dowolnego kierunku, ale nie na zanurzenie. Wersja MC9090-G ma dodatkowo gniazda kart SD i MMC, co ułatwia przenoszenie aplikacji i archiwizację większych baz danych. Fabrycznie instalowany jest licencjonowany klient Wavelink 5.x Telnet.

Pracownik w granatowej kurtce z kolektorem danych w dłoni na tle hali z wózkiem widłowym i ekranem
Kolektor w dłoni operatora w hali - etap, na którym urządzenie łączy czytnik z klawiaturą oraz radiem Wi-Fi

Wersje obudowy i akcesoria

Obudowa występuje w wersji standardowej albo skróconej, a także w wariancie pistoletowym GUN. Zwarta konstrukcja i gumowe elementy amortyzujące chronią urządzenie przy upadkach. Bateria daje się wymienić bez wyłączania kolektora, więc zmiana nie przerywa trwającego zadania.

  • Stacja dokująca - łączy komunikację z ładowaniem, dzięki czemu terminal wraca do pracy z naładowanym akumulatorem.
  • Ładowarka czterostanowiskowa - pozwala naładować zapasowe akumulatory.
  • Futerał - chroni obudowę i ułatwia noszenie urządzenia przy pasie.
  • Kable komunikacyjne - służą do połączenia z komputerem przez USB lub RS232.

Model jest zgodny z akcesoriami poprzedniej generacji: z uchwytami do pojazdów oraz zestawami montażowymi na desce rozdzielczej, a także z głośnikami i ładowarkami baterii. Dla magazynu z flotą starszych kolektorów oznacza to możliwość wymiany urządzeń bez wymiany całego osprzętu.

Rozpoznawanie kodów kreskowych przez kolektor

Czytniki laserowe i imager 2D

Skaner laserowy prowadzi cienką wiązkę wzdłuż kodu i mierzy, ile światła wraca do fotodiody. Jasne przerwy odbijają światło mocniej, a ciemne kreski słabiej, więc czas trwania każdego impulsu koduje szerokość elementu. Dekoder w czytniku zamienia ciąg impulsów na znaki, a aplikacja dostaje gotowy tekst.

Wariant czytnikaCo odczytujeKiedy go wybrać
1D StandardKody liniowe, na przykład EAN-13 i Code 128Etykiety na regałach i kartonach, odczyt z małej odległości
1D LoraxKody liniowe z większej odległościWysokie poziomy regałów, gdzie operator nie zbliży skanera do etykiety
2D ImagerKody liniowe i dwuwymiarowe, także zdjęciaEtykiety z kodami DataMatrix lub QR, dokumentacja uszkodzeń przy przyjęciu

Specyfikacja wspomina też o wersjach z odczytem RFID. Wybór czytnika zapada przed zakupem, bo zmiana wariantu oznacza wymianę urządzenia. O doborze skanerów do procesów opowiada strona o programie magazynowym ze skanerem, a o symbologiach strona o kodach kreskowych w magazynie.

Symbologie i przekazanie odczytu

W konfiguracji czytnika włącza się tylko symbologie używane w magazynie. Każda dodatkowa zwiększa ryzyko błędnego odczytu, zwłaszcza dla krótkich kodów liniowych, w których fragment innego kodu bywa rozpoznany jako pełny. Aplikacja WMS przejmuje potem wynik jako tekst, a jej zadaniem jest sprawdzenie, czy zeskanowana wartość pasuje do oczekiwanego towaru i lokalizacji.

Na paletach i kartonach pojawiają się etykiety GS1-128, w których każde pole poprzedza identyfikator zastosowania. Kod z datą ważności (AI 17) i numerem partii (AI 10) trzeba rozłożyć na pola, zanim system porówna je ze stanem. Zasady budowy takich etykiet opisuje strona GS1 Polska o kodach kreskowych, a praktykę etykietowania strona o etykiecie GS1 w programie WMS.

// przykład: odczyt daty ważności (AI 17) i partii (AI 10) z tekstu w postaci (AI)dane
using System;
using System.Text.RegularExpressions;

static class Gs1
{
    public static bool TryParse(string kod, out DateTime? waznosc, out string partia)
    {
        waznosc = null;
        partia = null;

        Match d17 = Regex.Match(kod, @"\(17\)(\d{6})");
        if (d17.Success)
        {
            string s = d17.Groups[1].Value;                       // RRMMDD
            int rok = 2000 + int.Parse(s.Substring(0, 2));        // uproszczenie: wiek 2000
            int mies = int.Parse(s.Substring(2, 2));
            int dzien = int.Parse(s.Substring(4, 2));
            if (mies < 1 || mies > 12) return false;
            if (dzien == 0) dzien = DateTime.DaysInMonth(rok, mies); // 00 = ostatni dzień miesiąca
            waznosc = new DateTime(rok, mies, dzien);
        }

        Match p10 = Regex.Match(kod, @"\(10\)([^(]{1,20})");
        if (p10.Success) partia = p10.Groups[1].Value;

        return waznosc.HasValue || partia != null;
    }
}

Reguła: aplikacja nie ufa samemu odczytowi, tylko sprawdza go z kartoteką i dokumentem, a kod bez znanej symbologii odrzuca z komunikatem.

Motorola Symbol MC9090 w mroźni

Zakres temperatur i kondensacja

Specyfikacja podaje zakres pracy od -20 do +50 °C. Chłodnia i typowa mroźnia składowa mieszczą się w tym zakresie, natomiast komory głębokiego mrożenia z temperaturą niższą niż -20 °C wychodzą poza dane producenta. Sam zakres nie rozstrzyga o przydatności, bo w niskiej temperaturze zmniejsza się pojemność akumulatora i wolniej reaguje ekran.

StrefaTypowa temperaturaWzględem zakresu -20 do +50 °C
Hala i rampaTemperatura otoczeniaW zakresie, ryzyko dotyczy głównie kondensacji po wejściu z chłodni
ChłodniaKilka stopni powyżej zeraW zakresie
Mroźnia składowaOkoło -18 °C lub niżejW zakresie, praca blisko dolnej granicy
Komora głębokiego mrożeniaZwykle poniżej -20 °CPoza zakresem, potrzebna wersja przystosowana do zamrażarek

Po wyjściu z mroźni na ciepłą halę na zimnej obudowie skrapla się para wodna. Klasa IP64 chroni przed zachlapaniem, ale wilgoć na stykach i skanerze nadal zakłóca pracę, więc urządzenie po przejściu między strefami zostawia się na chwilę do wyrównania temperatury. Zapasowy akumulator warto trzymać w cieple i wymieniać go bez wyłączania kolektora.

Daty ważności i rotacja partii

W mroźni system rejestruje datę przydatności każdej partii przy przyjęciu, a kolektor służy do jej odczytu z etykiety. Rotację ustala reguła FEFO (first expired, first out), w której pierwsza wychodzi partia z najkrótszym terminem, albo FIFO (first in, first out), zależnie od asortymentu. Partie po terminie system blokuje, więc nie trafiają do wysyłki. Mechanizm blokad opisuje strona o statusach i blokadach towarów w WMS.

-- przykład (nazwy ilustracyjne): wybór partii do kompletacji metodą FEFO
BEGIN TRANSACTION;

SELECT TOP (1) p.PartiaId, p.Lokalizacja, p.DataWaznosci, p.Ilosc
FROM dbo.PartiaZapasu AS p WITH (UPDLOCK, READPAST)
WHERE p.Indeks = @Indeks
  AND p.Ilosc >= @Ilosc
  AND p.Status = 'DOSTEPNA'
  AND p.DataWaznosci >= CAST(GETDATE() AS date)   -- przeterminowane partie pomijamy
ORDER BY p.DataWaznosci ASC, p.DataPrzyjecia ASC; -- najkrótszy termin wychodzi pierwszy

COMMIT TRANSACTION;

Zapytanie z blokadą UPDLOCK i wskazówką READPAST zapobiega temu, by dwóch operatorów dostało tę samą partię. Drugi kolektor omija zablokowany wiersz i dostaje następną partię z listy.

Reguła: data ważności z etykiety jest zapisywana przy przyjęciu, a kompletacja czyta ją z bazy, a nie z ponownego skanu.

Odczyt etykiet w niskiej temperaturze

W mroźni na etykiecie osiada szron, który zasłania kod i obniża kontrast. Zwykły klej etykiety w niskiej temperaturze traci przyczepność, więc do składowania w mrozie stosuje się materiał i klej przeznaczone do takich warunków. Operator przed skanem przeciera etykietę, a przy folii stretch pochyla skaner pod niewielkim kątem, żeby wiązka lasera nie odbijała się od połyskliwej powierzchni.

Kod dwuwymiarowy toleruje drobne uszkodzenia dzięki korekcji błędów, a kod liniowy z przerwą w kresce zwykle nie zostanie odczytany. Przy etykietach narażonych na uszkodzenia wybiera się więc czytnik 2D Imager albo drukuje kod większy, o szerszym module. O samym etykietowaniu opowiada strona o etykiecie GS1 w programie WMS.

Czas otwarcia drzwi chłodni

Utrzymanie niskiej temperatury zużywa dużo energii, więc każda minuta otwartych drzwi kosztuje. Planowanie zadań przyjęcia i wydania skraca czas, w którym drzwi są otwarte, bo operator dostaje kolejne zadanie na kolektorze zamiast wracać po dokumenty. Zadania w strefie mrożenia grupuje się tak, aby operator wchodził do niej możliwie rzadko. Szersze omówienie tej branży zawiera strona o WMS w mroźni.

Hala magazynowa z regałami i wózkami widłowymi, ilustracja magazynu, w którym system nadzoruje terminy ważności produktów
Hala z regałami - miejsce, w którym system śledzi daty przydatności i numery partii przy przyjęciu towaru

Aplikacja WMS na kolektorze MC9090

Emulacja terminala czy aplikacja natywna

Fabryczny klient Wavelink Telnet pozwala uruchomić na kolektorze ekrany znakowe serwowane z serwera aplikacji. Takie rozwiązanie jest lekkie i nie wymaga instalowania logiki na urządzeniu. Wada polega na sesji Telnet trzymanej przez cały czas: przerwa łączności podczas przełączania punktu dostępowego zwykle wymusza ponowne zalogowanie.

Aplikacja natywna dla Windows Mobile powstaje zwykle w .NET Compact Framework. Może buforować skany lokalnie i synchronizować je z serwerem po odzyskaniu zasięgu, co opisujemy przy pracy offline na stronie o terminalu radiowym. Dane idą do serwera przez sieć WLAN 802.11a/b/g, a drukowanie etykiet na mobilnej drukarce odbywa się przez Bluetooth.

Integracja z systemem WMS

Kolektor współpracuje z systemami magazynowymi przez sieć Wi-Fi i wymienia z nimi dyspozycje oraz potwierdzenia operacji. Studio WMS.net współpracuje z kolektorami przemysłowymi, także starszymi modelami takimi jak MC9090. Ofertę systemu przedstawia strona Studio WMS.net na stronie SoftwareStudio.

  • Dyspozycje i potwierdzenia - kolektor pobiera zadanie z serwera, a po skanie lokalizacji i towaru odsyła potwierdzenie.
  • Etykiety - wydruk etykiet z kolektora na drukarce mobilnej przez Bluetooth.

Ekran i klawiatura w pracy z aplikacją

Ekran 1/4 VGA ma rozdzielczość 320 x 240 pikseli, więc formularze projektuje się z jednym polem na krok i dużą czcionką. Ilość wpisuje się z klawiatury numerycznej, a potwierdzenie przypisuje do klawisza funkcyjnego, dzięki czemu operator obsługuje zadanie jedną ręką. Ekran dotykowy z rysikiem służy do rzadszych czynności, jak wybór pozycji z listy.

Podświetlana klawiatura ma znaczenie przy pracy w rękawicach i w słabo oświetlonych alejkach, gdzie ekran dotykowy działa gorzej niż przyciski.

Konfiguracja kolektora przy wdrożeniu WMS

Kolektor takiego typu konfiguruje się razem z wdrożeniem systemu, a nie po nim. Profil skanowania i ustawienia Wi-Fi decydują o tym, jak szybko operator wykona zadanie i ile odczytów trzeba powtórzyć.

  1. Profil skanowania - włączenie symbologii używanych w magazynie i ustawienie sposobu przekazania odczytu do aplikacji.
  2. Sieć Wi-Fi - SSID, tryb szyfrowania obsługiwany przez kartę 802.11a/b/g oraz parametry roamingu.
  3. Aplikacja i klient - instalacja aplikacji WMS albo konfiguracja klienta Wavelink Telnet.
  4. Test w strefie - próba odczytu etykiet z najwyższych regałów i sprawdzenie zasięgu w chłodni.

Reguła: profil skanowania i integracja Wi-Fi decydują o realnym tempie pracy magazynu, dlatego konfiguruje się je razem z wdrożeniem WMS.

Flotę kolektorów prowadzi się w rejestrze: numer urządzenia, wersja aplikacji, data ostatniej wymiany akumulatora i przypisany operator na zmianie. Zbiorcze zestawienie usterek pokazuje, czy problemy dotyczą jednej partii sprzętu, czy strefy hali. Podobny rejestr opisuje strona o terminalu radiowym w procesach WMS.

Kiedy MC9090 przestaje wystarczać

System Windows Mobile 5.0 od lat nie jest rozwijany przez producenta, a karty 802.11a/b/g nie obsługują nowych trybów zabezpieczeń. Systemy z tej generacji zwykle obsługują tylko starsze wersje TLS, a karty tego typu nie znają WPA3. Do wielu procesów starszy kolektor nadal wystarcza, ale wymiana staje się wtedy kwestią bezpieczeństwa i wsparcia, a nie tylko wygody.

Kierunek zmian pokazują strony o migracji terminali z Windows CE na Android oraz o kolektorze danych z Androidem. Podczas migracji sprawdza się, czy akcesoria, takie jak stacje dokujące i uchwyty pojazdowe, nadają się do nowych urządzeń, a aplikację przepisuje na docelową platformę. Podobne wymagania dotyczą kolektorów do skanowania numerów seryjnych, które opisuje strona o skanowaniu numeru seryjnego. Rozwiązanie można obejrzeć w demo systemu magazynowego.