Terminal radiowy w magazynie pracuje dokładnie tak długo, jak długo trzyma się jego sesja z serwerem WMS. Każde zeskanowanie lokalizacji lub palety to zapytanie, które musi dotrzeć do bazy danych i wrócić z odpowiedzią, zanim operator wykona następny ruch. Gdy łączność zawodzi, tempo hali spada szybciej niż przy awarii samego programu.

Tekst opisuje dwie warstwy techniczne: sieć bezprzewodową oraz ochronę transmisji. Osobno omawia sprzęt z aplikacją i zachowanie terminala po utracie zasięgu. Sam sprzęt i typowe procesy operatora przedstawia strona o terminalu radiowym w procesach WMS, a tu w centrum są infrastruktura i bezpieczeństwo danych.

Terminal radiowy w magazynie a sieć Wi-Fi w hali

Pokrycie sieci i roaming

Sygnał w hali osłabiają regały wysokiego składowania oraz towar o dużej zawartości metalu lub wody. Pokrycie ocenia się pomiarem w terenie (site survey) z rozstawionymi punktami dostępowymi, a nie na podstawie samego planu hali. Pomiar obejmuje wszystkie strefy pracy operatora, także najwyższe poziomy regałów i narożniki, gdzie sygnał bywa najsłabszy.

Terminal przemieszcza się razem z operatorem, więc w trakcie zmiany przełącza się między punktami dostępowymi. Rozszerzenia 802.11k i 802.11v podpowiadają mu, do którego punktu przejść, a 802.11r skraca ponowne uwierzytelnienie. Starsze kolektory zwykle ich nie obsługują i wtedy roaming zależy od progu siły sygnału ustawionego w kliencie Wi-Fi.

Emulacja terminala znakowego (Telnet) utrzymuje jedną sesję TCP, dlatego przerwa podczas przełączania punktu dostępowego może ją zakończyć i wymusić ponowne logowanie. Aplikacja komunikująca się po HTTPS jest na takie przerwy odporniejsza, bo każde zapytanie jest niezależne od poprzedniego.

Pasma i pojemność sieci

W paśmie 2,4 GHz mieści się tylko kilka kanałów, które nie nakładają się na siebie, a dodatkowo pracują w nim Bluetooth i sprzęt biurowy. Pasmo 5 GHz daje więcej kanałów i mniej zakłóceń, dlatego kolektory z kartą 802.11a, takie jak MC9090, warto ustawić właśnie na nim. Urządzenia ograniczone do 802.11b i g zostają w paśmie 2,4 GHz.

Skan kodu generuje niewielki pakiet danych, więc sama praca operatorów obciąża sieć słabo. Duży ruch tworzą dopiero aktualizacje firmware'u oraz wgrywanie aplikacji. Takie zadania planuje się poza godzinami szczytu i wykonuje w partiach, żeby nie zajmować kanału w środku zmiany.

Szyfrowanie transmisji i uwierzytelnianie operatorów

Warstwa radiowa WPA2 i WPA3

Szyfrowanie Wi-Fi chroni tylko odcinek między terminalem a punktem dostępowym. Wybór trybu zależy od tego, co obsługują urządzenia w hali, dlatego zestawienie warto zrobić przed zakupem sprzętu, a nie po instalacji sieci.

Tryb zabezpieczeńUwierzytelnianie i szyfrOcena dla terminali magazynowych
WEPWspólny klucz, szyfr RC4Złamany, nie nadaje się do żadnej sieci produkcyjnej
WPA z TKIPPSK lub 802.1X, szyfr TKIPWycofany ze standardu, jego obecność osłabia całą sieć
WPA2-PersonalWspólne hasło (PSK), szyfr AES-CCMPProsty w konfiguracji, ale zmiana hasła wymaga przeprogramowania całej floty
WPA2-Enterprise802.1X z serwerem RADIUS (metody EAP-TLS lub PEAP)Poświadczenia per urządzenie lub użytkownik, można odwołać pojedynczy terminal
WPA3-PersonalSAE zamiast PSKOdporny na zgadywanie hasła offline, starsze kolektory zwykle go nie obsługują
WPA3-Enterprise802.1X, opcjonalnie tryb 192-bitowyNajwyższy poziom, wymaga aktualnego systemu i klienta Wi-Fi na terminalu

Kolektory z systemem Windows Mobile i kartą WLAN 802.11a/b/g powstały na długo przed standardem WPA3, więc zwykle kończą na WPA2. Sieć dla takich urządzeń prowadzi się w osobnym SSID, zamiast obniżać zabezpieczenia sieci przeznaczonej dla nowszych terminali z Androidem. Dopuszczone tryby sprawdza się w dokumentacji sieci na stronie Wi-Fi Alliance o zabezpieczeniach sieci.

Reguła: sieć terminali radiowych działa w osobnym VLAN-ie z własnym SSID, a zapora otwiera z niego wyłącznie porty aplikacji WMS.

Szyfrowanie sesji i dostęp przez Internet

Po stronie radiowej kończy się ochrona WPA, a dalej dane idą siecią przewodową. Aplikacja terminalowa powinna więc szyfrować sesję z serwerem osobno, po HTTPS z TLS w wersji 1.2 lub 1.3 (opis protokołu zawiera RFC 8446). Certyfikat serwera musi być ważny i podpisany przez urząd, któremu ufa terminal.

Przy starszych terminalach pojawiają się dwa praktyczne problemy. Wyłączenie starszych wersji TLS na serwerze odcina urządzenia, które obsługują tylko wersję 1.0, więc zgodność sprawdza się przed zmianą. Zegar terminala po rozładowaniu może wrócić do daty z przeszłości, a wtedy certyfikat wygląda na jeszcze nieważny i logowanie kończy się błędem.

Aspekt połączeniaSieć lokalna Wi-FiPołączenie przez Internet
ZasięgOgraniczony do hali i punktów dostępowychDowolne miejsce z łączem internetowym
OpóźnieniaNiskie i stabilneZależne od jakości łącza operatora
ZabezpieczeniaWPA2 lub WPA3, separacja VLANDodatkowo tunel VPN lub HTTPS z TLS
Typowe zastosowaniePraca wewnątrz haliZdalny magazyn, wiele lokalizacji, praca poza halą

Logowanie operatora i wygasanie sesji

Każdy operator loguje się indywidualnym loginem i hasłem albo krótkim kodem PIN. Dzięki temu każdą operację magazynową da się przypisać do konkretnej osoby, a rozbieżności inwentaryzacyjne wyjaśnia się na podstawie zapisu zdarzeń. Sesja wygasa po okresie bezczynności, co zabezpiecza dane, gdy urządzenie zostanie zgubione lub odłożone bez nadzoru.

W sieci WPA2-Enterprise pojedynczy terminal może mieć własny certyfikat klienta (EAP-TLS). Zgubione urządzenie odcina się wtedy przez unieważnienie tego certyfikatu na serwerze RADIUS, bez zmiany ustawień pozostałych terminali w hali.

Reguła: login identyfikuje osobę, a nie urządzenie, dlatego wspólne konto zmiany zrywa ślad audytowy.

Trzy osoby z tabletami w hali magazynowej, w tym pracownik w kamizelce odblaskowej, ilustracja nadzoru nad bezpieczeństwem systemu
Nadzór administratora nad kontami operatorów i dostępem do terminali - etap konfiguracji uwierzytelniania

Integracja sprzętowa kolektorów z aplikacją WMS

Aplikacja natywna czy emulacja terminala

Zgodność urządzenia z systemem WMS dotyczy firmware'u i skanera, a osobno modułu radiowego Wi-Fi. Dane trafiają do serwera przez aplikację natywną albo przez emulator terminala znakowego. Aplikacja natywna lepiej wykorzystuje ekran dotykowy i buforowanie danych, a emulacja bywa jedyną drogą dla starszych kolektorów z klientem Telnet.

Integracja skanera opiera się na kilku parametrach konfiguracji. Zależnie od modelu ustawia się włączone symbologie oraz sposób przekazania odczytu do aplikacji (klawiatura programowa lub zdarzenie). Do tego dochodzi przyrostek zatwierdzający, na przykład Enter. Błędna konfiguracja nie psuje odczytu, ale powoduje, że kod trafia w złe pole ekranu.

Przemysłowy kolektor danych z klawiaturą numeryczną i kolorowym ekranem na tle regałów magazynowych
Kolektor z fizyczną klawiaturą - urządzenie obsługiwane w rękawicach na etapie przyjęcia i przesunięć

Zarządzanie flotą terminali

Administrator powinien móc zdalnie zaktualizować firmware, zmienić ustawienia sieci i wgrać nową wersję aplikacji na wszystkie terminale naraz, bez podłączania każdego do komputera. W praktyce służy do tego system zarządzania urządzeniami mobilnymi, opisany na stronie o wdrożeniu MDM dla programu magazynowego na Androida.

Nową wersję aplikacji wgrywa się najpierw na kilku terminalach pilotażowych i dopiero po dniu pracy na hali na całą flotę. Taka kolejność ogranicza skutki błędu, którego nie wychwyciły testy na stanowisku. Wersję poprzednią zostawia się w repozytorium, żeby administrator mógł ją przywrócić jednym zadaniem.

Terminale przemysłowe i urządzenia mobilne

System WMS.net współpracuje z kolektorami takimi jak Zebra czy Honeywell oraz ze starszymi modelami, w tym z Motorola Symbol MC9090, który w wielu magazynach nadal pracuje. Obok terminali przemysłowych stosuje się tablety i smartfony z aplikacją magazynową. Ten wariant opisują strony o kolektorze danych z Androidem oraz o migracji terminali z Windows CE na Android.

  • Terminal przemysłowy - wytrzymuje upadki na beton i pracę w niskich temperaturach, a wbudowany skaner laserowy czyta kody z większej odległości niż aparat telefonu.
  • Tablet lub smartfon - niższy koszt urządzenia, wystarcza w małym magazynie, przy inwentaryzacji wyrywkowej i kontroli jakości przyjmowanego towaru.

Praca terminala po utracie łączności

Bufor lokalny i synchronizacja

Martwe strefy zdarzają się za regałami wysokiego składowania, w komorach chłodniczych i przy konstrukcjach tłumiących sygnał. Terminal z buforem zapisuje wykonane skany w pamięci lokalnej, a po odzyskaniu zasięgu wysyła je do serwera. Operator nie skanuje ponownie tych samych pozycji, a chwilowy brak sieci nie kasuje wykonanej pracy.

Bufor nie zastępuje łączności, tylko amortyzuje jej krótki brak. Zbyt długa praca offline zwiększa ryzyko konfliktu, gdy dwóch operatorów niezależnie zarejestruje operacje na tej samej lokalizacji lub palecie. Administratorzy ustalają więc maksymalny czas pracy w trybie buforowanym, po którym terminal blokuje dalsze skanowanie do chwili odzyskania połączenia.

  • Identyfikator zdarzenia - każdy skan dostaje na terminalu unikalny numer (GUID), więc ponowna wysyłka nie tworzy duplikatu.
  • Znacznik czasu - czas skanu pochodzi z zegara terminala, a czas odbioru nadaje serwer, co pozwala odtworzyć kolejność zdarzeń.
  • Limit pracy offline - po jego przekroczeniu aplikacja przestaje przyjmować skany do chwili synchronizacji.
  • Weryfikacja stanu - serwer sprawdza przy odbiorze zgodność lokalizacji z ilością, a niezgodne zdarzenia odsyła do wyjaśnienia.

Poniższy przykład (nazwy tabel są ilustracyjne, nie pochodzą ze schematu produktu) pokazuje odbiór paczki skanów z terminala. Klucz główny w kolumnie ZdarzenieId i warunek NOT EXISTS sprawiają, że powtórzona po zerwaniu sesji wysyłka nie powiela zapisów.

-- przykładowa tabela zdarzeń skanowania odbieranych z kolektora
CREATE TABLE dbo.ZdarzenieSkanu (
    ZdarzenieId  uniqueidentifier NOT NULL PRIMARY KEY,  -- nadawany na terminalu
    TerminalId   int              NOT NULL,
    OperatorId   int              NOT NULL,
    Lokalizacja  nvarchar(20)     NOT NULL,
    Kod          nvarchar(50)     NOT NULL,
    Ilosc        decimal(18,3)    NOT NULL,
    CzasSkanu    datetime2(0)     NOT NULL,              -- zegar terminala
    CzasOdbioru  datetime2(0)     NOT NULL DEFAULT SYSDATETIME()
);

-- ponowna wysyłka tej samej paczki po zerwaniu sesji nie powiela zdarzeń
DECLARE @Paczka TABLE (
    ZdarzenieId uniqueidentifier, TerminalId int, OperatorId int,
    Lokalizacja nvarchar(20), Kod nvarchar(50), Ilosc decimal(18,3), CzasSkanu datetime2(0)
);

INSERT INTO dbo.ZdarzenieSkanu
       (ZdarzenieId, TerminalId, OperatorId, Lokalizacja, Kod, Ilosc, CzasSkanu)
SELECT p.ZdarzenieId, p.TerminalId, p.OperatorId, p.Lokalizacja, p.Kod, p.Ilosc, p.CzasSkanu
FROM @Paczka AS p
WHERE NOT EXISTS (SELECT 1 FROM dbo.ZdarzenieSkanu AS z
                  WHERE z.ZdarzenieId = p.ZdarzenieId);

Reguła: synchronizacja musi być idempotentna, czyli ta sama paczka wysłana dwa razy daje ten sam stan bazy co wysłana raz.

Ciągłość działania serwera WMS

Zatrzymana kompletacja oznacza opóźnione wysyłki, a zablokowane przyjęcie towaru kolejkę samochodów przy rampie. Ciągłość pracy zapewnia redundancja: serwer zapasowy przejmuje ruch po awarii głównego, a regularne kopie zapasowe bazy ograniczają skutki utraty sprzętu. Bieżący monitoring serwera i alerty o spadku wydajności pozwalają administratorowi zareagować, zanim przestój odczują operatorzy.

Odporność trzeba sprawdzać w praktyce. Symulowane wyłączenie serwera głównego oraz próbne odtworzenie kopii bazy ujawniają luki w procedurach przed sezonem wysyłkowym. Przy kilku lokalizacjach awaria jednego oddziału nie powinna blokować pozostałych, co osiąga się przez odseparowanie środowisk sieciowych poszczególnych magazynów. Zasady ochrony danych i dostępu opisuje strona o bezpieczeństwie w magazynie.

Zasięg i ergonomia w trudnych strefach

Chłodnie i baterie terminali

W magazynach chłodniczych terminal znosi niskie temperatury i kondensację pary po wyjściu z komory na halę o wyższej temperaturze. Zimno obniża też pojemność akumulatora, więc zapasowe baterie w chłodni zużywają się szybciej niż na hali. Szczegóły tej branży omawia strona o WMS w mroźni. Stacje dokujące przy wyjściach z hali pozwalają wymienić rozładowany terminal na naładowany bez przerywania zmiany.

Pracownica magazynu z tabletem w ręku na tle regałów, przykład urządzenia mobilnego używanego zamiast terminala przemysłowego
Urządzenie mobilne w strefie o mniejszej intensywności skanowania - dobór sprzętu do warunków pracy

Typowe problemy i ich zapobieganie

Zespoły magazynowe zgłaszają najczęściej zanik zasięgu w martwych strefach. Drugą pozycję zajmuje rozładowana bateria w środku zmiany, a trzecią zawieszenie aplikacji po długiej pracy. Większości z nich zapobiega się na etapie planowania, dobierając liczbę punktów dostępowych do wielkości hali i przewidując zapasowe urządzenia na wypadek awarii sprzętu.

Pomaga prosty rejestr zgłoszeń dotyczących terminali. Zestawienie powtarzających się awarii pokazuje strefę ze słabym zasięgiem albo partię urządzeń wymagającą wymiany baterii, zamiast reagowania na każde zgłoszenie osobno. Dobór sprzętu do zadania opisuje też strona o mobilnej obsłudze magazynu oraz o doborze skanera do systemu WMS.

Kolejność wdrożenia sieci terminali

Bezpieczną sieć terminali radiowych buduje się w powtarzalnej kolejności, którą planuje się jeszcze przed zakupem sprzętu.

  1. Pomiar pokrycia Wi-Fi - sprawdzenie zasięgu we wszystkich strefach, w tym przy regałach wysokiego składowania i w komorach chłodniczych.
  2. Dobór terminali - urządzenia dopasowane do odporności na upadki oraz do obsługiwanych trybów szyfrowania.
  3. Konfiguracja zabezpieczeń - WPA2 lub WPA3 w osobnym VLAN-ie oraz certyfikat TLS na serwerze.
  4. Testy z systemem WMS - instalacja aplikacji i próba synchronizacji po celowym odcięciu zasięgu, a potem szkolenie zespołu z procedury awaryjnej.

Przed uruchomieniem produkcyjnym rozwiązanie można obejrzeć w demo systemu magazynowego, a opis sprzętu w ofercie producenta znajduje się na stronie o terminalach radiowych SoftwareStudio.