Verfassen von anwenderdefinierten Batch-Freigaberegeln
Logik von Batch-Freigaberegeln
Bevor Sie anwenderdefinierte Batch-Freigaberegeln erstellen und die entsprechenden Batch-Freigabefunktionen verfassen können, müssen Sie die von der Batch-Freigabefunktion verwendete Logik verstanden haben. Wenn ein Fertigungsauftrag bei einem Arbeitsgang mit spezifizierter Batch-Definition eingeht, wird die Batch-Freigabefunktion aufgerufen.
Die aufgerufene Batch-Freigabefunktion ermittelt, welche Menge dem zu bildenden Batch hinzugefügt wird, wodurch wiederum bestimmt wird, wann der zu bildende Batch freigegeben wird.
Benennen der Funktion
Sie können einen beliebigen Namen für die Batch-Freigabefunktion wählen, solange es sich nicht um den Namen einer von Anwendern aufrufbaren Standardfunktion handelt.
Argumente
#include "factor.h"
double brrl(ldp, batch)
LOAD *ldp; /* pointer to the load */
BATCHDEF *batch; /* pointer to the batch definition */
Die Funktion verwendet zwei Argumente: einen Zeiger auf die Ladung (Typ: LOAD *) und einen Zeiger auf den Batch (Typ: BATCHDEF *).
Rückgabewert
Die Funktion gibt einen Wert zurück, der zu dem zu bildenden Batch hinzugefügt werden soll (Typ: double).
Im folgenden Beispiel für eine Batch-Freigabefunktion wird als Basis die Menge im Fertigungsauftrag verwendet:
double brrl (LOAD *ldp, BATCHDEF *batch)
/*-----------------------------------------------------------------
Batch release rule which adds the quantity on the job.
ARGS:
ldp - pointer to the arriving load (job)
batch - pointer to the batch that this load will follow
RETURNS: job quantity
-----------------------------------------------------------------*/
{
return((double)ldp->losize);
{
Installieren der anwenderdefinierten Funktion
Um Ihre anwenderdefinierte Freigabefunktion für die Reihenfolgeplanung verfügbar zu machen, müssen Sie sie mit der Funktion ucini1 installieren, indem Sie die Funktion sedfbq aufrufen. Diese Funktion hat zwei Argumente in der folgenden Reihenfolge:
- Die Nummer der Batch-Freigaberegel, für die Sie das anwenderdefinierte Programm geschrieben haben.
- Die Adresse Ihrer Batch-Freigabefunktion.
So installieren Sie die obige Beispielregel "brrl" an Regelposition 39:
sedfbq (39, brrl);