Wiersz raportu z sumą wolnych palet w strefie A nie mówi, czy te miejsca leżą obok siebie, czy są rozproszone pojedynczo między zajętymi regałami. Od tej różnicy zależy, czy nowa dostawa zmieści się w jednym ciągu, czy trzeba ją rozdzielać. Wizualizacja zajętości magazynu zamienia dane z systemu WMS w obraz hali, który pozwala ocenić sytuację jednym spojrzeniem.

Tekst pokazuje, jak z rekordów w bazie powstaje procent zajętości, jak przekłada się go na mapę cieplną oraz widok 2D i 3D i jak taki obraz wspiera planowanie przestrzeni. Odpowiednio dobrany system do magazynu udostępnia te dane automatycznie, bez ręcznego liczenia wolnych miejsc przez pracownika.

Wizualizacja zajętości magazynu jako obraz danych z WMS

Wizualizacja zajętości magazynu jest graficznym odwzorowaniem stanu zapełnienia lokalizacji, tworzonym na podstawie danych zarejestrowanych w systemie. W najprostszej formie to schemat regałów z zaznaczonymi miejscami wolnymi i zajętymi. W bardziej rozbudowanych wdrożeniach to interaktywny model, w którym kliknięcie w regał pokazuje szczegóły przechowywanego asortymentu.

Podstawą jest dokładna struktura lokalizacji zdefiniowana w systemie: podział na strefy i rzędy oraz na kolumny i poziomy składowania. Bez niej wizualizacja nie ma czego odwzorowywać, bo system nie wie, gdzie fizycznie leży dany fragment powierzchni. Zasady kodowania adresów opisuje artykuł o miejscach składowania, a rolę takiego systemu w codziennym funkcjonowaniu firmy artykuł o roli WMS w rozwoju firmy.

Ta strona dotyczy wnętrza hali. Podobny problem na zewnątrz, czyli obraz zajętości miejsc parkingowych placu manewrowego, omawia tekst o wizualizacji zajętości miejsc parkingowych.

Wyliczanie zajętości z danych magazynowych

Procent zajętości nie jest polem w bazie, tylko wynikiem zapytania. Najprostsza miara liczy lokalizacje, na których leży jakikolwiek towar, i dzieli je przez liczbę lokalizacji aktywnych w strefie. Przykład poniżej pochodzi z uproszczonego schematu, a nazwy tabel i kolumn są wyłącznie ilustracją.

-- przykładowa zajętość stref: odsetek aktywnych lokalizacji, na których leży towar
SELECT l.KodStrefy,
       COUNT(*) AS Lokalizacje,
       SUM(CASE WHEN s.KodLokalizacji IS NOT NULL THEN 1 ELSE 0 END) AS Zajete,
       CAST(100.0 * SUM(CASE WHEN s.KodLokalizacji IS NOT NULL THEN 1 ELSE 0 END)
            / COUNT(*) AS decimal(5, 1)) AS ProcentZajetosci
FROM dbo.Lokalizacja AS l
LEFT JOIN (SELECT DISTINCT KodLokalizacji
           FROM dbo.Stan
           WHERE Ilosc > 0) AS s ON s.KodLokalizacji = l.KodLokalizacji
WHERE l.Aktywna = 1
GROUP BY l.KodStrefy;

Lokalizacje wyłączone z użytku, na przykład uszkodzony regał, nie mogą zaniżać mianownika, dlatego w zapytaniu jest warunek aktywności. Funkcja SUM z wyrażeniem CASE zlicza wiersze warunkowo w jednym przebiegu po danych.

Liczba zajętych lokalizacji nie zawsze odpowiada rzeczywistemu zapełnieniu. Lokalizacja z jednym kartonem jest zajęta tak samo jak pełna paleta, choć zostaje w niej dużo wolnego miejsca. Dlatego dobiera się miarę do rodzaju składowania.

MiaraSposób liczeniaKiedy wystarcza
Zajętość lokalizacjiLokalizacje z towarem podzielone przez lokalizacje aktywneSkładowanie paletowe, jedna paleta na miejsce
Zajętość objętościowaObjętość towaru podzielona przez pojemność lokalizacjiRegały półkowe z drobnicą w wielu wariantach
Zajętość masowaMasa towaru podzielona przez nośność poziomuCiężkie ładunki, kontrola obciążenia regału

Miary objętościowa i masowa wymagają w kartotece wymiarów i wagi jednostek, więc ich jakość zależy od jakości danych podstawowych. Bez wymiarów wizualizacja pozostaje przy liczeniu lokalizacji, co w wielu magazynach paletowych w zupełności wystarcza.

Mapy cieplne i progi kolorów

Mapa cieplna, zwana też heat mapą, przedstawia obciążenie stref gradientem kolorów. Strefy z dużą ilością wolnej przestrzeni oznacza się na zielono, średnio obciążone na żółto lub pomarańczowo, a lokalizacje bliskie pełnego zapełnienia na czerwono. Kierownik zmiany ocenia sytuację całego magazynu w kilka sekund, bez przeglądania osobnych raportów dla każdej strefy.

Największą wartość mapa daje w magazynach o zmiennym natężeniu ruchu, na przykład przy szczycie przedświątecznym lub sezonowych wzrostach sprzedaży. Kolor czerwony pojawiający się regularnie w tej samej strefie sygnalizuje wąskie gardło, zanim doprowadzi ono do przestojów w kompletacji lub przyjęciach.

Kolor wynika z progów, które przekłada się na kategorie w zapytaniu albo w warstwie prezentacji. Wartości progowe są kwestią polityki magazynu: strefa szybkiej rotacji wymaga zapasu wolnych miejsc na bieżące odkłady, więc jej czerwony próg ustawia się niżej niż w strefie składowania długoterminowego.

-- przykładowe przełożenie procentu zajętości na kolor mapy cieplnej (progi ustawia się osobno dla każdego magazynu)
SELECT KodStrefy,
       ProcentZajetosci,
       CASE WHEN ProcentZajetosci >= 90 THEN 'CZERWONY'
            WHEN ProcentZajetosci >= 70 THEN 'POMARANCZOWY'
            ELSE 'ZIELONY' END AS KolorMapy
FROM dbo.WidokZajetosciStref;   -- widok oparty na zapytaniu z poprzedniego przykładu
Pracownik w czapce i kurtce odblaskowej trzyma laptop z widocznym ekranem, w tle regały pełne towaru
Ekran z mapą obciążenia stref - odczyt kolorów zastępuje przeglądanie osobnych raportów dla każdej strefy

Stałe oznaczenia kolorystyczne stref

Oprócz map cieplnych stosuje się stałe kolory przypisane do stref lub kategorii asortymentu. Jeden oznacza strefę szybkiej rotacji, inny towar o specjalnych warunkach przechowywania, jeszcze inny lokalizacje zarezerwowane pod zamówienie. Taki system działa jak legenda mapy: raz zapamiętany, pozwala odczytywać informacje bez wczytywania się w opisy.

Skuteczność zależy od spójności w całym obiekcie i na wszystkich zmianach. Jeśli ten sam odcień oznacza co innego w zależności od strefy lub zespołu, wizualizacja wprowadza w błąd zamiast pomagać. Klucz kolorystyczny ustala się więc raz, przed uruchomieniem modułu, i dokumentuje w instrukcji stanowiskowej.

Widok 2D i 3D układu regałów

Widok dwuwymiarowy przypomina rzut z lotu ptaka: pokazuje układ rzędów regałów i ciągów komunikacyjnych oraz położenie bram. Wystarcza operatorom, którzy muszą szybko znaleźć wolne miejsce lub sprawdzić trasę do wskazanej lokalizacji. Wymaga też najmniej zasobów obliczeniowych, więc działa płynnie nawet na starszych terminalach.

Model trójwymiarowy dodaje wysokość składowania. W magazynach wysokiego składowania towar leży na kilku poziomach jednego regału, a widok 3D pokazuje zajętość każdego poziomu osobno, podczas gdy 2D wymagałby osobnej warstwy dla każdej wysokości. Obraz przestrzenny ułatwia też prezentację stanu magazynu osobom spoza zespołu operacyjnego, na przykład podczas rozmów o rozbudowie obiektu.

Długa alejka magazynu z regałami paletowymi na kilku poziomach i wózkiem w oddali
Regały wielopoziomowe - widok 3D pokazuje zajętość każdego poziomu osobno, a schemat 2D łączy je w jeden rzut
MetodaZaletyNajlepsze zastosowanie
Mapa 2DSzybkie wdrożenie, niskie wymagania sprzętowe, czytelny widok z góryCodzienna praca operatorów i odnajdywanie wolnych lokalizacji
Model 3DOdwzorowanie poziomów i wysokości regałów, realistyczny widok haliPlanowanie rozbudowy, prezentacje dla zarządu, projektowanie stref
Heat mapaNatychmiastowa ocena obciążenia stref koloremMonitorowanie obciążenia i wskazywanie wąskich gardeł

W praktyce firmy nie wybierają jednej metody na stałe. Mapa 2D obsługuje codzienną pracę magazynierów, heat mapa trafia na ekran kierownika zmiany, a model 3D pojawia się przy analizach i prezentacjach dotyczących rozwoju obiektu.

Kolorowanie schematu po stronie przeglądarki

Schemat 2D zwykle jest plikiem SVG, w którym każda lokalizacja ma element o identyfikatorze zbudowanym z kodu adresu. Skrypt pobiera z serwera zajętość w formacie JSON i zmienia klasy CSS elementów, więc kolory pochodzą z arkusza stylów, a nie z kodu. Wywołanie asynchroniczne (AJAX) pozwala odświeżać obraz bez przeładowania strony.

// przykładowe kolorowanie schematu 2D: element SVG ma identyfikator zbudowany z kodu lokalizacji
$.getJSON('/api/zajetosc', { strefa: 'A' }, function (dane) {
    dane.forEach(function (lok) {
        var el = document.getElementById('lok-' + lok.kod);
        if (el) {
            el.setAttribute('class', 'lok lok--' + lok.poziom);   // klasy CSS: zielony, pomaranczowy, czerwony
        }
    });
});

Aktualizacja obrazu danymi z systemu WMS

Wizualizacja jest tak dokładna, jak dane, które ją zasilają. Każda transakcja w systemie, czyli przyjęcie, przesunięcie między lokalizacjami lub wydanie, zmienia stan graficzny magazynu bez opóźnienia. Dane trafiają do systemu najczęściej przez terminal radiowy, którym operator skanuje kod lokalizacji i towaru przy regale, zamiast przepisywać informacje z papierowych dokumentów.

Częstotliwość odświeżania jest kompromisem. Odpytywanie serwera w krótkim, stałym interwale jest proste i wystarcza na ekranie kierownika, a kanał typu WebSocket przesyła zmianę w chwili jej zapisania i ma sens tam, gdzie obraz obserwuje wiele osób jednocześnie. W obu wariantach źródłem prawdy pozostaje baza, a wizualizacja niczego nie przechowuje.

Reguła: obraz magazynu jest odczytem stanu z bazy, nie osobną kopią. Dane wprowadzone ręcznie do samej mapy rozjeżdżają się z ewidencją przy pierwszej nieodnotowanej operacji.

Rezerwacja miejsca przed dostawą

Miejsce składowania bywa rezerwowane już na etapie zamówienia zakupu, zanim towar fizycznie dotrze do magazynu. W wizualizacji taka rezerwacja ma osobny kolor, który odróżnia lokalizacje zajęte fizycznie od zarezerwowanych na przyszłą dostawę. Dokument PZ potwierdzający dostawę zamienia rezerwację w zajętość w chwili zarejestrowania w systemie. Sam przebieg przyjęcia opisuje strona o przyjęciu do magazynu.

Planowanie przestrzeni i decyzje o rozbudowie

Bez wizualizacji planowanie przestrzeni opiera się w dużej mierze na doświadczeniu osoby odpowiedzialnej za rozmieszczenie towaru. Obraz zajętości zastępuje intuicję konkretnym widokiem, na którego podstawie łatwiej podjąć decyzję opartą na faktach. Cztery korzyści wymienia się najczęściej:

  • Szybka ocena wykorzystania - brak ręcznego liczenia wolnych miejsc w strefach.
  • Planowanie dostaw z wyprzedzeniem - miejsce dla nowej partii wskazuje się, zanim towar dotrze.
  • Wspólny obraz sytuacji - wszystkie zmiany pracują na tym samym widoku, co porządkuje obsługę magazynu.
  • Porównanie okresów - historia zajętości ujawnia sezonowe wzorce i ryzyko przeciążenia regału lub ciągu komunikacyjnego.

Najbardziej praktyczną korzyścią jest szybkie znalezienie wolnych lokalizacji przy przyjęciu dostawy. Zamiast obchodzić kolejne rzędy, operator sprawdza obraz i od razu widzi wolne miejsca najbliżej strefy przyjęć. Ten sam widok pomaga w odwrotnym kierunku: podczas inwentaryzacji w magazynie od razu widać lokalizacje oznaczone jako zajęte, w których fizycznie nie ma już towaru, co wskazuje na błąd w ewidencji.

Pracownica z dokumentem stoi przy palecie z towarem obok wózka widłowego przy regale
Weryfikacja lokalizacji przy regale - obraz zajętości wskazuje, które miejsca sprawdzić w pierwszej kolejności

Decyzja o rozbudowie, dostawieniu regałów lub wynajęciu powierzchni rzadko wynika z jednego raportu. Zwykle pochodzi z powtarzającego się wzorca: te same strefy regularnie osiągają graniczne wypełnienie, a wolna przestrzeń kurczy się z miesiąca na miesiąc mimo prób optymalizacji. Historia map zajętości zgromadzona przez system pozwala taki wzorzec wychwycić wcześniej niż analiza samych liczb w arkuszu. Dla zarządu obraz stale czerwonej strefy jest też argumentem w rozmowie o budżecie, bo pokazuje problem zrozumiale nawet dla osoby niezwiązanej z logistyką.

Rozmieszczenie towaru a czytelność wizualizacji

Sposób rozmieszczenia towaru wpływa na to, jak czytelny będzie jego obraz. Kryteria podziału zebrano w tabeli.

KryteriumSkutek dla obrazu magazynu
Rodzaj asortymentuStrefy o spójnym kolorze, łatwe do odczytania
Dostawca lub dostawaGrupy lokalizacji przypisane do konkretnej partii przyjęcia
Odbiorca lub odbiórLokalizacje wydzielone pod zamówienie, widoczne jako rezerwacja
Przynależność do wyrobu lub kompletuSąsiednie lokalizacje składników jednego zestawu
Urządzenia pomocniczePodział stref według sprzętu, który obsługuje regał
Metoda stałych miejscPrzewidywalny obraz, z wieloma pustymi miejscami rezerwowymi
Metoda wolnych miejscWyższe wykorzystanie powierzchni, obraz mniej uporządkowany
Częstotliwość pobrań (ABC)Grupa A blisko drogi między przyjęciem a wydaniem

Podział według ABC skraca drogę towaru w magazynie. Produkty o najwyższej rotacji, oznaczone w wizualizacji jako grupa A, leżą najbliżej trasy łączącej strefę przyjęć i wydań, a towar rotujący rzadziej trafia w głąb magazynu lub na wyższe poziomy regałów. Metody rozmieszczenia opisują artykuły o slottingu i analizie ABC oraz o przestrzeni magazynowej w systemie WMS.

Wdrożenie i dobre praktyki wizualizacji

Wdrożenie zaczyna się od uporządkowania struktury lokalizacji w systemie, a kończy na przeszkoleniu zespołu z odczytu nowego obrazu. Podczas przyjęcia towar dzieli się na jednostki ładunkowe, którym system przypisuje lokalizację, a dokument PZ aktualizuje stan wizualizacji od razu po zarejestrowaniu. Cztery zasady ograniczają ryzyko, że obraz przestanie odpowiadać rzeczywistości:

  • Rejestracja przy regale - każdą operację zapisuje się od razu, a nie z pamięci na koniec zmiany.
  • Jeden klucz kolorów - te same barwy oznaczają to samo we wszystkich strefach i na wszystkich zmianach.
  • Weryfikacja przy spisie - zgodność obrazu ze stanem fizycznym sprawdza się podczas inwentaryzacji cząstkowych.
  • Widok dopasowany do odbiorcy - operator potrzebuje innego poziomu szczegółów niż zarząd.

Te same dane można przedstawić w raportach drukowanych. Tworzenie zestawień na bazie SQL Server opisuje dokumentacja Report Builder w Microsoft Learn. Funkcje systemu WMS.net, na którym opiera się wizualizacja, prezentuje serwis produktowy Studio WMS.net.