Jest mechanizmem obrazującym i wspomagającym proces planowania produkcji. Mechanizm ten tworzy wykres Gantta oraz próbuje (korzystając z wbudowanych algorytmów) rozmieścić je w odpowiedniej (umożliwiającej zakończenie prac w terminie) kolejności.
Moduł harmonogramowania można traktować jako czarną skrzynkę, do której dostarczane są następujące dane:
– lista operacji do wykonania
– lista dostępnych stanowisk / maszyn
– proces technologiczny wymuszający kolejność wykonywania operacji (na przykład: budując szafę najpierw musimy wyciąć i polakierować drzwi i ścianki, następnie zmontować całość, przyczepić dodatki, np uchwyty i na koniec zapakować)
– opcjonalną listę operatorów, którzy są w stanie obsługiwać zadane stanowiska / maszyny
– opcjonalną listę dodatkowych zasobów (na przykład: mamy tylko jeden zestaw wierteł, ale trzy wiertarki) potrzebnych do wykonania danej operacji
– informację o planach pracy operatorów (zmiany, urlopy) i maszyn (przerwy techniczne, awarie)
– dane dodatkowe: przydzielone priorytety dla operacji lub całych zadań, terminy i tolerancje dla ich przekroczeń
Na wyjściu dostajemy harmonogram prac – informację, w jakiej kolejności należy wykonywać operacje (kiedy zaczać, na którym stanowisku, itp) w postaci wykresu Gantta. Obliczenia mogą przebiegać w pełni automatycznie lub być wspomagane przez operatora.
W przypadku obliczeń automatycznych, moduł w kilkunastu przebiegach stara się tak rozłożyć zadania, by jak najmniej terminów zostało przekroczonych. Każdy przebieg składa się z następujących faz:
– dodanie do harmonogramu informacji o przerwach w pracy maszyn, godzinach pracy operatorów itp
– naniesienie na harmonogram operacji, których początek wyznaczył ręcznie operator, lub których realizacja już została rozpoczęta i nie powinna być przerwana
– naniesienie na harmonogram zadań, o których operator powiedział, że koniecznie muszą się zakończyć przed wskazanym terminem; odbywa się to przez zaplanowanie wykonania ostatniej operacji w zadaniu tak, by “na styk” zdążyć przed terminem, a następnie na iteracyjnym rozpatrzeniu poprzedników tego zadania tak, by ostatni z nich zakończył się nie później niż przed rozpoczęciem ostatniego. De facto oznacza to przejście po zadaniach tak oznaczonych od prawej strony wykresu i naniesienie ich w pierwszym wolnym miejscu (stąd nazwa – zadania “od prawej”)
– kolejno naniesienie pozostałych operacji – “od lewej strony” wykresu szukamy wolnych miejsc i próbujemy wstawić w nie kolejne operacje; dla każdej operacji jest wyliczana tzw. funkcja oceny, która decyduje jak bardzo pilne jest wykonanie danej operacji w rozpatrywanym momencie czasowym; na wartość tej funkcji wpływa między innymi:
* planowany czas trwania operacji
* czas pozostały do upłynięcia terminu zadania
* stopień zrównoleglenia (na ilu innych maszynach ta operacja może być wykonywana)
* priorytet nadany przez operatora
* ile jeszcze operacji pozostało do wykonania w ramach zadania
W każdym przebiegu program używa nieco innych kryteriów wyboru operacji. W ten sposób generowane są różne warianty rozmieszczenia operacji na wykresie.
Po naniesieniu na harmonogram wszystkich operacji, dokonywana jest ocena wygenerowanego rozwiązania. Na wartość oceny wpływają następujące parametry:
– czy wszystkie operacje zostały wykonane w terminie
– o ile ewentualnie zostały przekroczone terminy
– czy przekroczenie terminu mieści się w zadanej przez operatora tolerancji
– na ile obciążenie maszyn jest równomierne
Na koniec spośród wszystkich przebiegów wybierany jest ten harmonogram, który został najlepiej oceniony. Następnie operator ma możliwość wprowadzenia własnych zmian.
W przypadku, gdy program nie jest w stanie znaleźć rozwiązania, operacje są układane do momentu napotkania problemu, po czym operator jest proszony o wprowadzenie zmian w tym fragmencie harmonogramu. Po pomyślnym rozwiązaniu problemu generowanie rozwiązania jest kontynuowane.
Kolejne uruchomienie modułu na już wygenerowanych danych spowoduje rozszerzenie istniejącego harmonogramu o nowe operacje. Program będzie starał się zachować istniejący układ operacji – ale jeśli stwierdzi, że jest to niewykonalne, zaproponuje operatorowi wprowadzenie zmian do już istniejącej części harmonogramu.
Operator może w dowolnym momencie wymusić wykonanie zadanej operacji na konkretnej maszynie od konkretnej godziny. Należy się jednak liczyć z tym, że tego typu warunki mogą utrudnić lub nawet uniemożliwić znalezienie rozwiązania.
Aby korzystać z harmonogramowania należy zaznaczyć odpowiednią opcję w konfiguracji (Program -> Systemowe -> Konfiguracja -> Ekran zleceń konfiguracja -> opcja Włącz mechanizm harmonogramowania) oraz należy skonfigurować produkt (wypełniając pola Tj, Tkw itd.).
Żeby przejść do ekranu harmonogramowania musimy w pierwszej kolejności wykonać bilansowanie, a następnie kliknąć PPM (prawym przyciskiem myszy) na kolumnie zaopatrzenia i wybrać pozycję harmonogramowanie.
Rys. 95 Podgląd harmonogramowania.
Ekran harmonogramowania przedstawia za pomocą diagramu Ganta szacunkowy (na podstawie danych wprowadzonych w opisie produktu algorytm pozycjonuje maszyny i zadania) czas wykonania poszczególnych zleceń.
Aplikacja sama proponuje kolejność wykonywania poszczególnych zadań, ale nic nie stoi na przeszkodzie by użytkownik (przy pomocy myszy) przeprojektował diagram.
Każde zlecenie reprezentowane jest przez prostokąt o określonej barwie (kilka prostokątów o te samej barwie oznacza jedno zlecenie wykonywane na kilku maszynach).
Klikając PPM na zleceniu (prostokącie) możemy zobaczyć status:
Rys. 96 Status zlecenia.
, na którym widzimy podstawowe informacje na temat danego podzlecenia, albo możemy wybrać Info o zleceniu:
Rys. 97 Info o zleceniu.
, które zawiera bardziej szczegółowy zbiór informacji o danym podzleceniu (więcej informacji na temat tego ekranu znajduję się w podrozdziale Zlecenia, w części Info o zleceniu).
Z lewej strony ekranu mamy wypisane maszyny dostępne w systemie.
Pasek narzędziowy (znajdujący się w dole ekranu) jest podzielony na dwie części, w górnej mamy wyświetlane następujące informację:
-
Tryb szeregowania
-
Czas (wyświetla datę wraz z godziną w miejscu wskazywanym przez kursor myszy)
-
Wybrana operacja (nr zlecenia)
W dolnej części możemy:
-
wybrać datę początkową
-
klikając w przycisk Zajętość:
Rys. 98 Zajętość.
, na którym w sposób graficzny prezentowana jest informacja na temat wykorzystania poszczególnych maszyn, możemy filtrować (zmienić domyślne ustawienia filtrowania) te informację klikając w przycisk Filtr:
Rys. 99 Ustawienia filtrowania.
-
przycisk Cofnij służy do cofania zmian
-
przycisk Filtr otworzy ekran filtrowania (analogiczny jak na Rys. Ustawienia filtrowania)
-
przycisk Opcje otworzy okno:
Rys. 100 Opcje harmonogramowania.
-
Poprzednie szeregowanie – w przypadku dodania nowego zlecenia:
-
Zachowaj (nie będą wprowadzana zmiany w dotychczasowym harmonogramie zadań)
-
Zastąp ( zostanie wyliczony nowy harmonogram)
-
Spróbuj zachować (zostanie wyliczony nowy harmonogram, który będzie starał się zachować harmonogram dotychczasowych zleceń w nie zmienionej postaci)
-
-
Liczba iteracji – oznacza ile razy program przeliczy algorytmy w poszukiwaniu optymalnego rozkładu zleceń na harmonogramie:
-
Maksymalna możliwa
-
Ustalona ilość
-
-
Odstępy – odległości pomiędzy:
-
Odstęp poziomy (zadaniami)
-
Odstęp pionowy (wierszami)
-
-
Siatka
-
czy rysować linie poziome i/lub pionowe
-
ustalamy wysokość wiersza
-
-
Siatka
-
wybieramy jedną z jednostek czasu tzn. Co oznacza jedna kolumna: dzień, tydzień czy miesiąc – w zależności od typowego dla danej dziedziny cyklu produkcji
-
dalej ustalamy, ile takich jednostek jest widocznych jednocześnie na całej szerokości okna
-
bywa, że chcemy jednostkę podzielić na mniejsze (np. dzień na zmiany)
-
-
Tytuł pierwszej kolumny
-
pozwala uczynić ekran bardziej zrozumiałym w danej organizacji (branży)
-






