HermesSQL magazyn wysokiego składowania - model adresów
Regał o wysokości kilkunastu metrów zmienia sposób opisu lokalizacji. W magazynie płaskim wystarczy adres na podłodze, a w wysokim składzie o miejscu decyduje jeszcze poziom, na którym leży paleta. HermesSQL, produkt firmy Humansoft, prowadzi lokalizacje w hierarchii strefa-rząd-regał-poziom, więc każde miejsce paletowe ma własny, jednoznaczny adres.
Ten artykuł zajmuje się wyłącznie wymiarem pionowym. Obejmuje adresację poziomów oraz strefowanie według sprzętu, a dalej pracę wózków i wind i kompletację w wielu poziomach. Układ lokalizacji i inwentaryzację opisuje tekst o HermesSQL w operacjach logistycznych magazynu wysokiego składowania, a znakowanie miejsc i towaru omawia artykuł o etykietach i kodach GS1 w HermesSQL WMS. Terminale i aplikację mobilną przedstawia strona o aplikacji dla magazynów wysokiego składowania, a ogólny zarys procesów - opis HermesSQL WMS w zarządzaniu magazynem.
Składnia adresu i kontrola poprawności
Przykładowy adres A-03-12-4 czytamy od lewej: strefa A, rząd 03, regał 12, poziom 4. Ostatni segment odpowiada piętru regałowemu, więc operator wie, na jaką wysokość podnieść widły, zanim wjedzie w aleję. Zapis słowny w rodzaju „trzeci regał od końca, wysoko” nie ma tej własności, bo nie da się go sprawdzić maszynowo.
-- przykładowa tabela lokalizacji z poziomem i ograniczeniami sprzętowymi
CREATE TABLE dbo.LokalizacjaPrzyklad (
Adres varchar(12) NOT NULL PRIMARY KEY, -- np. A-03-12-4
Strefa char(1) NOT NULL,
Rzad tinyint NOT NULL,
Regal tinyint NOT NULL,
Poziom tinyint NOT NULL,
WysokoscMm smallint NOT NULL,
NosnoscKg smallint NOT NULL,
Zablokowana bit NOT NULL DEFAULT 0,
CONSTRAINT CK_LokalizacjaPrzyklad_Adres CHECK (
Adres = CONCAT(Strefa, '-',
RIGHT('0' + CAST(Rzad AS varchar(3)), 2), '-',
RIGHT('0' + CAST(Regal AS varchar(3)), 2), '-',
Poziom))
);
-- indeks filtrowany obejmuje tylko wolne miejsca na górnych poziomach
CREATE NONCLUSTERED INDEX IX_LokalizacjaPrzyklad_Gora
ON dbo.LokalizacjaPrzyklad (Strefa, Poziom)
INCLUDE (WysokoscMm, NosnoscKg)
WHERE Zablokowana = 0 AND Poziom >= 5;
Skrypt jest przykładem mechanizmu, a nie schematem HermesSQL. Ograniczenie CHECK odrzuca adres, który nie zgadza się ze swoimi składnikami, co zatrzymuje literówki przy imporcie kartoteki lokalizacji. Kolumny WysokoscMm i NosnoscKg pozwalają filtrować miejsca według możliwości sprzętu, a indeks filtrowany w SQL Server obejmuje tylko górne poziomy, więc pozostaje mały i szybki przy szukaniu wolnych miejsc.
Reguła: adres lokalizacji składa się z segmentów, które program potrafi zweryfikować, a nie z opisu słownego.
Strefowanie poziomów według sprzętu i rotacji
Strefowanie w pionie dzieli ten sam regał na części o różnych regułach. Dolne poziomy obsługują wózki paletowe i unoszące, a górne wyłącznie sprzęt z masztem teleskopowym i operatorzy z odpowiednimi uprawnieniami. System uwzględnia tę granicę przy alokacji, więc paleta wymagająca dużego zasięgu nie trafi na miejsce, do którego żaden dostępny wózek nie sięgnie.
Drugim kryterium jest rotacja. Towar szybko rotujący ląduje na niskich poziomach, a zapas rezerwowy wędruje wyżej. Zasady doboru miejsc według obrotu opisuje strona o rozmieszczeniu towaru w magazynie wysokiego składowania, a wariant ze stałym miejscem przypisanym do indeksu - artykuł o metodzie stałych miejsc składowania. W praktyce oba podejścia się łączy: lokalizacje stałe dla asortymentu powtarzalnego i dynamiczne dla towaru sezonowego.
| Poziom składowania | Typowy sprzęt | Przeznaczenie strefy |
|---|---|---|
| Poziom 0-1 (do ok. 2,5 m) | wózek paletowy, wózek unoszący | towar szybko rotujący, kompletacja ręczna |
| Poziom 2-4 (do ok. 7 m) | wózek podnośnikowy, reach truck | zapas bieżący, uzupełnianie stref kompletacji |
| Poziom 5 i wyżej (powyżej 7 m) | wózek wysokiego składowania, żuraw regałowy | zapas rezerwowy, towar wolno rotujący |
Wysokości w tabeli są przykładowe. Rzeczywisty podział zależy od konstrukcji regału i zasięgu floty, dlatego granice poziomów zapisuje się w definicji stref, a nie w kodzie. Błędy w geometrii regałów, które później utrudniają takie strefowanie, zbiera artykuł o błędach przy planowaniu układu regałów.
Strefy a inwentaryzacja cykliczna
Poziomy górne, trudniej dostępne, można liczyć rzadziej albo innym trybem niż poziomy robocze na wysokości człowieka. Skraca to czas zamrożenia ruchów w danej strefie, bo liczenie palet z dziesięciu metrów wymaga podniesienia operatora albo osobnego wózka. Podział na strefy daje więc dwa oddzielne kalendarze liczenia w obrębie jednego regału.
Wózki wysokiego składu i przydział zadań
Aplikacja Mobilny Magazynier działa na terminalach montowanych w kabinach wózków oraz na kolektorach ręcznych. Terminal odbiera polecenie przyjęcia lub przesunięcia palety albo jej pobrania, razem z pełnym adresem i wysokością podnoszenia widł. Operator potwierdza wykonanie skanowaniem kodu z regału, a stan lokalizacji zmienia się od razu dla dyspozytora i pozostałych kierowców. Dzięki temu dwa zadania nie dostają tego samego miejsca paletowego.

Parametry floty a filtr zadań
System zna parametry techniczne wózków i na tej podstawie rozstrzyga, które zadania mogą trafić do danego pojazdu. O przydziale decydują cztery dane, zapisane przy każdym wózku.
- Maksymalna wysokość podnoszenia - wyznacza najwyższy poziom, do którego wózek może zostać skierowany.
- Udźwig na poziomach - katalogowy udźwig maleje wraz z wysokością, więc paleta dopuszczalna na poziomie drugim może przekroczyć limit na szóstym.
- Szerokość korytarza roboczego - odcina aleje, w których dany wózek nie skręci ani nie ustawi się do wsunięcia palety.
- Ważność przeglądu - wózek bez aktualnego przeglądu technicznego nie dostaje zadań na górnych poziomach.
| Warunek przydziału | Sprawdzenie | Skutek przy niespełnieniu |
|---|---|---|
| Zasięg masztu | wysokość miejsca nie przekracza wysokości podnoszenia wózka | zadanie zostaje w kolejce dla innego pojazdu |
| Nośność miejsca i udźwig | masa palety mieści się w obu limitach | system proponuje niższy poziom |
| Uprawnienia operatora | aktualne uprawnienie do typu wózka | zadanie wraca do dyspozytora |
-- przykładowy dobór miejsca dla palety i konkretnego wózka
DECLARE @MaxWysokoscMm smallint = 7000,
@MasaPaletyKg smallint = 800;
SELECT TOP (1) l.Adres
FROM dbo.LokalizacjaPrzyklad AS l
WHERE l.Zablokowana = 0
AND l.WysokoscMm <= @MaxWysokoscMm
AND l.NosnoscKg >= @MasaPaletyKg
AND NOT EXISTS (SELECT 1
FROM dbo.ZapasPrzyklad AS z
WHERE z.Adres = l.Adres)
ORDER BY l.Poziom, l.Rzad, l.Regal;
Zapytanie pokazuje ideę, a nie moduł produktu: miejsce musi spełnić warunki wysokości i nośności oraz być wolne. Wersja produkcyjna dokłada blokady lokalizacji i rezerwację miejsca na czas przejazdu, żeby dwa wózki nie zajęły tego samego adresu w tej samej sekundzie.
Reguła: zadanie trafia do wózka dopiero po sprawdzeniu zasięgu i udźwigu pojazdu oraz uprawnień operatora dla poziomu docelowego.
Cykl zadania na górnym poziomie
Przemieszczenie palety na wysoki poziom składa się z kilku zdarzeń, a system zapisuje każde z nich osobno. Zadanie powstaje z dokumentu przyjęcia albo z reguły uzupełnienia, trafia do kolejki, a po przydziale wózkowi pojawia się na terminalu operatora. Osobne potwierdzenie pobrania z miejsca źródłowego i osobne odłożenia w miejscu docelowym dzielą operację na dwa zapisy, więc przerwana jazda nie gubi palety.
| Etap zadania | Zapis w systemie | Co widzi dyspozytor |
|---|---|---|
| Oczekuje | rekord zadania z adresem docelowym i priorytetem | pozycję w kolejce |
| Przydzielone | wózek i operator zapisani przy zadaniu | pojazd oraz poziom docelowy |
| Pobrano | skan palety i lokalizacji źródłowej | paletę w ruchu, miejsce źródłowe zwolnione |
| Odłożono | skan kodu z regału na poziomie docelowym | miejsce zajęte, zadanie zamknięte |
Dwa skany mają znaczenie także przy pomyłkach. Jeżeli operator odłoży paletę o poziom niżej, niż wskazano, kod z regału nie zgodzi się z adresem docelowym. W konfiguracji takiego systemu zwykle ustawia się regułę, że zadanie pozostaje otwarte do czasu korekty: operator wskazuje nowy adres albo dyspozytor zatwierdza zmianę. Zapis źródłowy i docelowy zostaje w historii ruchów, więc rozbieżność da się odtworzyć po fakcie, a nie tylko zauważyć przy inwentaryzacji.
Transport pionowy windami i platformami
W obiektach wielokondygnacyjnych piętra budynku pełnią rolę osobnych stref składowania lub kompletacji, a palety przemieszczają się między nimi windą towarową. HermesSQL kolejkuje te zlecenia i grupuje zadania kierowane na to samo piętro. Winda robi wtedy mniej pustych przejazdów, a operatorzy na dole i na górze krócej czekają na kurs.
Dane o obłożeniu każdej kondygnacji są aktualizowane na bieżąco. Dyspozytor widzi, na którym piętrze zaczyna brakować miejsca, zanim dojdzie do zatoru przy rozładunku. Praktyczne aspekty pracy w takim obiekcie, w tym rolę wind i platform, opisuje tekst o obsłudze magazynu wysokiego składowania, a miejsce transportu autonomicznego w takiej architekturze - artykuł o automatyzacji magazynu i współpracy WMS z robotami.
Zadanie międzypiętrowe jako trzy etapy
Przerzut palety między kondygnacjami składa się z trzech etapów. Wózek dojeżdża do windy, winda wykonuje kurs, a drugi wózek rozwozi paletę na piętrze docelowym. Każdy etap ma własnego wykonawcę oraz własny skan i status. Wózek na dole kończy pracę po odstawieniu palety na platformie, a jego kolega na górze przejmuje ją po zjeździe windy. Operator widzi na terminalu tylko swój odcinek, a wózek nie stoi w oczekiwaniu na przejazd windy.
Taki podział ma jeszcze jedną zaletę: obłożenie platformy i kolejka do windy stają się mierzalne. Dyspozytor odróżnia opóźnienie po stronie wózków od opóźnienia po stronie transportu pionowego i wie, gdzie dołożyć zasób.
Kompletacja w magazynie wielopoziomowym
W magazynie wielopoziomowym trasa kompletacji liczy nie tylko odległość w poziomie, lecz także liczbę zmian wysokości podnoszenia widł. Każda zmiana wydłuża realizację zamówienia bardziej niż sam przejazd wózkiem. HermesSQL grupuje pozycje zamówienia tak, aby operator pobrał towar z sąsiednich poziomów w jednym przejeździe wzdłuż regału, zamiast wracać do tej samej alei.

System bierze pod uwagę również obciążenie alei roboczych i rozdziela zadania między dostępne wózki. Mechanizmy kompletacji, w tym batch picking i wave picking, opisuje artykuł o kompletacji zleceń. Wprowadzenie zmian w istniejącym obiekcie przebiega według czterech etapów.
- Analiza rozkładu towarów - wskazanie lokalizacji, które generują najdłuższe przejazdy i najwięcej zmian wysokości.
- Przeniesienie rotacji szybkiej - towar często pobierany trafia na poziomy dostępne bez zmiany wysokości widł.
- Reguły grupowania - zadania łączy się według stref i poziomów, a nie wyłącznie według kolejności zamówień.
- Test na jednej zmianie - porównanie czasu realizacji z okresem sprzed zmiany, po czym reguły obejmują cały magazyn.
Uprawnienia operatorów i bezpieczeństwo pracy na wysokości
Praca na wysokości podlega odrębnym wymaganiom: uprawnienia operatorów, okresowe przeglądy sprzętu i procedury dla prac powyżej określonej wysokości. HermesSQL wspiera je przez przydzielanie zadań wyłącznie operatorom z aktualnym uprawnieniem do danego typu wózka. Zadania na górnych poziomach są blokowane dla sprzętu, który nie ma wymaganego wyposażenia zabezpieczającego. Zaświadczenia kwalifikacyjne do obsługi wózków jezdniowych wydaje w Polsce Urząd Dozoru Technicznego, więc termin ważności takiego dokumentu jest danymi wejściowymi dla reguł przydziału.
System rejestruje też historię zdarzeń związanych z bezpieczeństwem: potwierdzenia szkoleń, terminy przeglądów wózków i zgłoszenia usterek. Ułatwia to audyty wewnętrzne oraz kontrole zewnętrzne. Szerszy zestaw zasad zawiera artykuł o bezpieczeństwie w magazynie.
Reguła: przed uruchomieniem najwyższych poziomów należy ustawić twarde blokady przydziału dla wózków bez ważnego przeglądu i operatorów bez aktualnego uprawnienia UDT.
Uruchomienie stref górnych w projekcie wdrożeniowym
Wdrożenie w obiekcie z regałami wysokiego składu wymaga innego przygotowania niż w magazynie płaskim. Punktem wyjścia jest inwentaryzacja fizycznej struktury: liczby poziomów oraz wysokości i nośności regałów. Do tego dochodzi spis floty wraz z parametrami technicznymi. Na tej podstawie buduje się strukturę lokalizacji w systemie, zanim ruszy szkolenie operatorów.
Następnie konfiguruje się reguły alokacji między poziomami oraz reguły bezpieczeństwa z poprzedniej części. Optymalizację tras kompletacji uruchamia się dopiero po nich, bo algorytm musi pracować na poprawnie odwzorowanej geometrii. Efekty takiego uporządkowanego wdrożenia zestawia artykuł o korzyściach WMS w magazynie wysokiego składowania.
Po uruchomieniu następuje okres stabilizacji. Dyspozytorzy i operatorzy pracują na nowych regułach pod nadzorem zespołu wdrożeniowego, a system generuje raporty odchyleń, które pokazują źle skonfigurowane strefy albo błędnie przypisane uprawnienia. Informacje o samym systemie publikuje producent, firma Humansoft. Porównanie z rozwiązaniem SoftwareStudio dla wysokich regałów daje strona programu Studio WMS.net.


