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.
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.
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 |
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ą.
Brak transakcji w toku.
Jest możliwe posiadanie otwartego pliku log (w zależności od ustawienia uruchamiania harmonogramowania).
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).
###########################################################################
$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
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 |
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.
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
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