Punkty wejścia > Moduł Produkcja > Standardowy skrypt OPTLIB 

SBBWST: Wyróżnienie zasobów gniazda produkcyjnego

Ten Entry point służy do wyróżnienia zasobów głównego gniazda produkcyjnego w harmonogramowaniu (pojęcie podgniazd produkcyjnych)

Aby tego dokonać, interwencje dotyczą:

- ekstrakcji danych gniazda produkcyjnego(Podział gniazd produkcyjnych uwzględnionych w dowolnej liczbie przypadków)

- ekstrakcji operacji (przypisanie operacji do właściwego zasobu gniazda produkcyjnego zgodnie ze zdefiniowanymi ustawieniami) —

-w momencie aktualizacji przy wychodzeniu z harmonogramowania (aktualizacja kryteriów) — Patrz proces OPTLIBA

Na przykład:

Dla wyróżnienia opartego na narzędziach, gniazdo produkcyjne P1 będzie podzielone w sposób następujący:

P1 — 00

P1 — 01 Narzędzie 1

P1 — 02 Narzędzie 2

Gniazdo produkcyjne 00 jest zawsze dostępne dla operacji nie przypisanych zgodnie z kryteriami.

Kontekst i metoda działania

Transakcja

Brak transakcji w toku.

Plik log

Jest możliwe posiadanie otwartego pliku log (w zależności od ustawienia uruchamiania harmonogramowania).

Różne przypadki wywoływania

Entry point jest wywoływany dwukrotnie. Każde wywołanie jest możliwe do zidentyfikowania przez zmienną globalną GSBBWST:

GSBBWST = « LOADWST »

Ekstrakcja gniazd produkcyjnych. W Entry point należy wprowadzić listę kryteriów dla niedoborów gniazda produkcyjnego.

Aby tego dokonać, tabela XSBBT(15)(musi być załadowana biorąc przy wyjściu pod uwagę pierwszy pusty indeks (0). Zmienna NBSBB musi zawierać liczbę wprowadzonych pozycji. Zmienna GPE musi być ustawiona na wartość 1 w celu określenia, że gniazdo produkcyjne podlega rozróżnieniu.

Na przykład:

XSBBT(0) = ''

XSBBT(1) = 'OUTIL1'

XSBBT(2) = 'OUTIL2'

NBSBB = 3

GPE = 1

GSBBWST = « LOADOPE »

Operacja ekstrakcji, ten Entry point musi uzupełnić kryteria rozróżniania w postaci pola w tabeli MFGOPE, dla których konieczne jest wprowadzenie zmiennej alfanumerycznej XSCHSBB (15 znaków).

Tabela XSBBT musi być w razie potrzeby załadowana ponownie.

Na przykład:

XSCHSBB = 'EQUNUM' # Standardowe pole narzędzia

If [F:MWS]WST <> XWST

XSBBT(0) = ''

XSBBT(1) = 'OUTIL1'

XSBBT(2) = 'OUTIL2'

NBSBB = 3

Endif

GPE = 1

Ważne:

Ponieważ należy przejść przez tabelę MFGOPE, aby znaleźć zastosowane kryteria, klasa [F :MFO2] specjalnie otwarta w tym celu ([F: MFO] klasy) znajduje się w pozycji i nie może być zmieniana.

Dostępne zmienne oraz maski

Podczas pierwszego wywołania (GSBBWST = « LOADWST ») klasa [F :MWS] jest online.

Podczas drugiego wywołania (GSBBWST = « LOADOPE ») klasy [F :MWS] i [F :MFO] są online.

Otwarte tabele

W poniższej tabeli oznaczenie istotnej zawartości wskazuje, że zawartość ta jest zgodna z kontekstem.

Tabela

Istotna zawartość

Tytuł tabeli

MFGHEAD

Nie

Nagłówek zlecenia produkcyjnego

MFGITM

Nie

Zwolnione artykuły

MFGMAT

Nie

Materiały

MFGOPE

Nie

Operacje (MFO + MFO2)

SCHEDULING

Nie

Dane Harmonogramowania

WORKSTATIO

Nie

Gniazda produkcyjne

TABWEEDIA

Nie

Układ tygodniowy

ITMMASTER

Nie

Artykuł

ITMFACILIT

Nie

Artykuł/lokalizacja

OPE_FOCUS: Wyróżnienie operacji podczas uruchomienia harmonogramu

Ten Entry point służy do określenia listy operacji, które powinny być wyróżnione na początku wyświetlania wykresu Gantt.

Jest również wykorzystywany do zmiany zawartości etykiet ekranowych połączonych z operacją.

Kontekst i metoda działania

Transakcja

Brak transakcji w toku.

Plik log

Jest możliwe posiadanie otwartego pliku log (w zależności od ustawienia uruchamiania harmonogramowania).

Różne przypadki wywoływania

Entry point jest wywoływany po ekstrakcji każdej operacji.

Maska [M :OPTK] znajduje się w pozycji w momencie wywołania.

Klasy [F :MFG], [F :MFO] i [F :SCH] są w pozycji z istotną zawartością.

Podkreślanie operacji jest formułowane przez wywołanie podprogramu WRITE_FOCUS procesu OPTLIBB.

Subprog WRITE_FOCUS(LFCY, LCOD, LOK, LMESS)

Z:

Zn. LFCY : Lokalizacja produkcji

Zn. LCOD : kod odpowiedzi

'000 '= akcja typu koncentracji (wartość stała)

Liczba całkowita LOK: Wskaźnik koncentracji

0 = brak koncentracji (tylko wymiana tekstu etykiety ekranowej)

1 = aktywna koncentracja

Zn. LMESS: Wiadomość, która ma być wyświetlana w harmonogramowaniu

Identyfikacja operacji musi w być wprowadzona w masce [M :OPW1] (MFGNUM, OPENUM, OPESPLNUM).

Przykład wdrożenia

###########################################################################

$ACTION

Przykład ACTION

When 'OPE_FOCUS' : Gosub OPE_FOCUS

Endcase

Zwrot

$OPE_FOCUS

Lokalna liczba całkowita IOK: IOK = 0

Lokalny zn. XMESS(250)

Lokalny zn. WCHAIN, WSPECHAR

# pour test, operacje, które zawierają narzędzia są oznaczane do wyróżnienia

If [F:MFO]EQUNUM = '' : Zwrot: Endif

# przy wprowadzaniu ciągu znaków należy się upewnić, że nie są stosowane przecinki, średniki i inne niekompatybilne znaki...

WCHAIN = [M:OPTK]ITMREF

WSPECHAR = ','

Gosub REMOVE_CHAR od OPTLIB

[M:OPTK]ITMREF = WCHAIN

WCHAIN = [M:OPTK]ITMREF

WSPECHAR = ';'

Gosub REMOVE_CHAR od OPTLIB

[M:OPTK]ITMREF = WCHAIN

# przy wprowadzaniu ciągu znaków należy się upewnić, że nie są stosowane przecinki, średniki i inne niekompatybilne znaki...

WCHAIN = [M:OPTK]ITMDES1

WSPECHAR = ','

Gosub REMOVE_CHAR od OPTLIB

[M:OPTK]ITMDES1 = WCHAIN

# przy wprowadzaniu ciągu znaków należy się upewnić, że nie są stosowane przecinki, średniki i inne niekompatybilne znaki...

WCHAIN = [M:OPTK]ITMDES1

WSPECHAR = ';'

Gosub REMOVE_CHAR od OPTLIB

[M:OPTK]ITMDES1 = WCHAIN

XMESS = [F:MFO]MFGNUM+»/»+num$([F:MFO]OPENUM)-[M:OPTK]ITMREF-[M:OPTK]ITMDES1-»____(Koncentracja dotyczy tej operacji ...) '

[M:OPW1]MFGNUM = [F:MFO]MFGNUM

[M:OPW1]OPENUM = [F:MFO]OPENUM

[M:OPW1]OPESPLNUM = [F:MFO]OPESPLNUM

Call WRITE_FOCUS([F:MFO]MFGFCY, '000', IOK, XMESS) From OPTLIBB

Zwrot

Otwarte tabele

W poniższej tabeli oznaczenie istotnej zawartości wskazuje, że zawartość ta jest zgodna z kontekstem.

Tabela

Istotna zawartość

Tytuł tabeli

MFGHEAD

Tak

Nagłówek zlecenia produkcyjnego

MFGOPE

Tak

Operacje

SCHEDULING

Tak

Dane harmonogramowania

INIT_JAL: Inicjalizacja harmonogramowania

Ten Entry point jest używany we wszystkich operacjach załadowanych do pamięci i przed ekstrakcją w kierunku harmonogramowania w celu wykorzystania dla określonych wartości.

Kontekst i metoda działania

Ten Entry point jest wykorzystywany do listy operacji ładowanej do pamięci.

Dostępne zmienne dla każdej operacji to:

Local Shortint WOPENUM (NBOPMX) : # numer operacji
Local Shortint WOPESPLNUM (NBOPMX) : # operacji frakcji
Local Char WWST (GLONWST) (NBOPMX) : # stacja robocza
Local Char WLAB (GLONWST) (NBOPMX) : # robocizna
Local Decimal WSETLABC(NBOPMX) : # współczynnik konfiguracji robocizny
Local Decimal WOPELABC(NBOPMX) : # współczynnik operacji robocizny
Local Integer WOPESTA (NBOPMX) : # status operacji
Local Date WOPEEND (NBOPMX) : # data rozpoczęcia
Local Date WOPEEND (NBOPMX) : # data zakończenia
Local Date WOPEEND (NBOPMX) : # liczba stacji roboczych
Local Integer WLABN (NBOPMX) : # liczba osób
Local Integer WPRPTIM (NBOPMX) : # czas przygotowania
Local Decimal WSETTIM (NBOPMX) : # czas ustawiania dla 1 wykluczenia
Local Decimal WOPETIM (NBOPMX) : # czas działania 1 wykluczenia
Local Decimal WWAITIM (NBOPMX) : # czas oczekiwania
Local Decimal WPSPTIM (NBOPMX) : # czas pooperacyjny
Local Decimal WQTY (NBOPMX) : # pozostała ilość
Local Date WFRCSTRD (NBOPMX) : # wymuszona data rozpoczęcia
Local Decimal WFRCSTRH (NBOPMX) : # wymuszona godzina rozpoczęcia
Local Char WFRCHOU(5)(NBOPMX) # Heure forcée au format hh:mm
Local Decimal WFRCSTRF(NBOPMX) : # wymuszana frakcja daty rozpoczęcia
Local Integer WFRCFLG (NBOPMX) : # wymuszona flaga rozpoczęcia operacji
Local Integer WWSTTYP (NBOPMX) : # kod kooperacji
Local Decimal WSCOLTI (NBOPMX) : # opóźnienie kooperacji
Local Char WWIPNUM (GLONVCR)(NBOPMX) : # numer kredytu kooperacji
Local Char WSCOITMREF(GLONITM)(NBOPMX) : # artykuł kooperacji
Local Integer WSCDCOD (NBOPMX) : # kod harmonogramowania
Local Integer WNEXOPEN (NBOPMX) : # następny numer operacji
Local Integer WNEXSPLN (NBOPMX) : # następna frakcja operacji (utworzona w PG)
Local Integer WOPERG (NBOPMX) : # klasyfikacja operacji
Local Integer WOPETRT (NBOPMX) : # operacja przetwarzana w klasyfikacji
Local Decimal WSCDPCT (NBOPMX) : # % chev

Zastosowanie

Przykład kodu wymiany opóźnienia zakupu artykułu kooperacji przez na opóźnienie artykułu/lokalizacji:

$ACTION

Przykład ACTION

When 'INIT_JAL' : Gosub INIT_JAL

Endcase

Zwrot

$INIT_JAL

Dla I = 0 do NBOP-1

Jeśli WWSTTYP(I) = 3

Odczytane [ITF]ITF0=WSCOITMREF(I);WMFGFCY

If !fstat : WSCOLTI(I)= [F:ITF]OFS : Endif

Endif

Następne I

Zwrot