Option Ereignis
Inhaltsverzeichnis
Übersicht
Mit der Option Ereignis können Ereignisbedingungen hinterlegt werden, sodass beispielsweise nach einer bestimmten Anzahl an Produktionsvorgängen auf einer Ressource ein sogenanntes Ereignis stattfindet; Asprova erstellt bei Erfüllung einer Ereignisbedingung einen Ereignisauftrag für die Ressource.
- Beispiel
60 Minuten Reinigung zuweisen, nachdem 10 Mal auf einer Ressource produziert wurde. "10 Mal Produktion" ist als Bedingungsformel hinterlegbar. Weiterhin können die folgenden Bedingungen benutzt werden:
- wenn 500 Einheiten produziert wurden
- wenn die Produktionszeit 100 Stunden erreicht
- wenn der Num Spec 1-Wert eines Fertigungsartikels 100 erreicht
- wenn Spec 1 oder Spec 2 eines Fertigungsartikels geändert werden
- wenn Spec 1 und Spec 2 eines Fertigungsartikels geändert werden
- wenn Spec 1 (Farbe) eines Fertigungsartikels weiß ist
- wenn ein Input-Artikel (Rohmaterial) geändert wird
- Festlegen erlaubter Startzeiten oder erlaubten Wochentagen, an denen Ereignisaufträge beginnen dürfen
- Zyklisch wiederkehrende Ereignisaufträge (zum Beispiel: Erstellung eines Ereignisauftrages alle 10 Tage)
Ereignisaufträge werden auf Grundlage des Planugsergebnisses erstellt und entsprechend den Ereignisbedingungen zugewiesen. Da Ereignisse während Ausführung des Befehles 'Anpassung' verarbeitet werden, muss diese Eigenschaft im Planungsparameter erfasst werden. Bei Zuweisung von Ereignisaufträgen wird die Vorgangsreihenfolge aus dem Planungsergebnis nicht verändert, während Vorgänge in die Zukunft bewegt werden.
Sie können Codes für zu erstellende Ereignisaufträge unter 'Ereignisauftragscode' im Reiter Codeerstellung der Projekteinstellungen eingeben.
Ereigniseigenschaften
Sie können andere Einstellungen wie Ereignisbedingungen im Reiter Ereignis der Planungsparametereinstellungen vornehmen.
Geben Sie einen Namen für eine Ereignisbedingung in der Eigenschaft 'Ereignisbedingung' unter dem Reiter "Ereignis" der Planungsparametereinstellungen ein. Klicken Sie auf den kleinen schwarzen Pfeil, links neben dem Namen, um das Eigenschaftsfenster für die Ereignisbedingung zu öffnen.
Grundsätzlich
- Bedingte Formeln
- Geben Sie hier eine Bedingung zur Erstellung eines Ereignisses ein.
- (Beispiel)
ME.EventObjectEval[1].Counter >1000 | Wenn der Zähler des Ereignisobjektparameters 1000 übersteigt | ||
ME.LeftOperation.Order.Item != ME.CurrOperation.Order.Item | Wenn sich der Artikel auf der linken Seite des Vorganges vom Artikel des derzeitigen Vorganges unterscheidet. |
- Dauer
- Geben Sie die Dauer des Ereignisses an.
- (Beispiel)
1.5h+5h | Ein Ereignis von 6,5 Stunden | ||
IF( ME.CurrentOperation.Order.Item == 'ItemA', 1.5h, 3h ) | 1,5 Stunden wenn der Artikel des derzeitigen Vorgangs "ArtikelA" ist, ansonsten 3 Stunden. |
- Ressource
- Geben Sie eine Ressource an, auf der das Ereignis eintritt. Geben Sie einen bestehenden Ressourcencode ein. Ressourcengruppen dürfen nicht angewendet werden.
- Ereigniszähler
- Geben Sie hier den zu zählenden Wert oder den Startwert an, der in der Bedingungsformel verwendet werden soll. Geben Sie einen Namen in der Eigenschaft "Ereigniszähler" ein. Wenn Sie auf den Pfeil links vom eingebenen Namen klicken, wird das Eigenschaftsfenster für den Ereigniszähler angezeigt.
Zeitperioden
- Erlaubte Startzeit für Vorgänge der Ereignisaufträge
- Geben Sie hier Zeitperioden ein, in welcher Vorgänge des Ereignisauftrages starten können. Start- und Endzeit werden durch einen Bindestrich (-) miteinander verbunden. Durch Semikolone getrennt können mehrere Zeitperioden angeben werden. Die Methode zum Festlegen der Zeitperioden ist dieselbe wie bei der Eingabe von Schichtmustern in der Kalendertabelle.
- Erlaubte Startwochentage für Vorgänge von Ereignisaufträgen
- Geben Sie hier Wochentage an, während denen Vorgänge des Ereignisauftrages beginnen können. Wochentage werden in Form von So, Mo, Di, Mi, Do, Fr und Sa angeben und durch einen Bindestrich (-) verbunden. Mehrere Wochentagsperioden werden durch Semikolone getrennt angegeben. Die Methode zum Festlegen der Zeitperioden ist dieselbe wie zur Eingabe von Schichtmustern in der Kalendertabelle.
- Zuweisungsposition
- Geben Sie hier die Position an, der Vorgänge des Ereignisauftrages zugewiesen werden sollen.
Nach Vorgang | Weist Vorgänge des Ereignisauftrages nach dem Vorgang zu, in dem die Ereignisbedingung erfüllt wurde. | ||
Nach vorherigem Vorgang | Weist Vorgänge des Ereignisauftrages nach dem vorherigen Vorgang des Vorgangs zu, in welchem die Ereignisbedingung erfüllt wurde. | ||
Vor Vorgang | Weist Vorgänge des Ereignisauftrages direkt vor dem Vorgang zu, in welchem die Ereignisbedingung erfüllt wurde. |
- Kommentare
- Geben Sie Kommentare ein.
- Farbe
- Bestimmen Sie Anzeigefarbe der Balken des Ereignisauftrages an. Die Farbe wird in der Eigenschaft 'Anzeigefarbe' des Ereignisauftrages eingestellt.
- Planungsparameter
- Planungsparameter, in dem das Ereignis eingetragen wurde.
Ereigniszähler
Reiter Grundsätzlich
- Inkrementformel
- Geben Sie hier an, wie sich der Wert des Zählers für Formel-verwendende Vorgänge erhöhen soll.
- (Beispiel)
ME.CurrentOperation.OperationOutMainItemQty | Fügt Produktionsmengen der Vorgänge hinzu. | ||
ME.CurrentOperation.OperationProductionTime | Fügt Produktionszeiten der Vorgänge hinzu. |
- Zählerstartzeit
- Geben Sie hier die Zeit an, zu welcher der Zählerinitialisierungswert (erstes Mal) aktiv wird.
- (Beispiel)
31/12/2018 | Legt fest, dass der Initialisierungswert am 31.12.2018 angewendet wird. |
- Zählerinitialisierungswert (erstes Mal)
- Geben Sie hier den Initialisierungswert für den Zähler ab der Zeit ein, die unter "Zählerstartzeit" eingetragen ist. Wenn hier kein Wert hinterlegt ist, wird der Wert aus der Planungsstartzeit verwendet.
- Zählerinitialisierungswert (nach einem Ereignis)
- Der Zähler wird gestartet, sobald die Bedingungsformel erfüllt ist. Geben Sie hier den Zeitpunkt ein, nach dem der Zähler gestartet werden soll. Der Standardwert ist 0. Wenn eine Formel in "Zählerinitialisierungswertformel (nach einem Ereignis)" eingegeben wurde, werden die Formelergebnisse verwendet.
Einstellungen
- Zählerinitialisierungswertformel (nach einem Ereignis)
- Beschreiben Sie den Wert des "Zählerinitialisierungswertes (nach einem Ereignis)" mit einer Formel. Wenn eine Formel angegeben ist, wird das Formelergebnis für "Zählerinitialisierungswert (nach einem Ereignis)" verwendet. Bei leer gelassener Eigenschaft wird der Wert verwendet, der unter "Zählerinitialisierungswert (nach einem Ereignis)" hinterlegt ist.
- (Beispiel)
Wert des Zählers bei einem Ereigniseintritt minus 100 | ME.Counter-100 |
Beispiele
Es erfolgen Beispiele zur Angabe von Ereignisobjekten. Darin wird Projektbeispiel 1 verwendet.
Beispiel 1
Legen Sie ein Ereignis mit den folgenden Bedingungen fest:
- Erstellen Sie einen Ereignisauftrag auf einer Ressource "Mixer1".
- Erstellen Sie einen Ereignisauftrag nach einem Vorgang, während dem die Herstellung von 150 Einheiten oder mehr abgeschlossen wurde.
- 50 Stück wurden seit der Planungsbasiszeit hergestellt.
- Ereignisauftrag dauert sechs Stunden.
- Die Erlaubte Startzeit für Vorgänge des Ereignisauftrages liegt zwischen 17:00 Uhr und 23:00 Uhr.
Einstellungen
Geben Sie in der Eigenschaft "Ereignisbedingung" unter dem Reiter "Ereignis" der Planungsparametereinstellungen "Mixer1 Wartung" als Namen für die Ereignisbedingung an.
Hinterlegen Sie folgende Eigenschaften für Ereignisbedingung "Mixer 1 Wartung":
Bedingte Formeln | ME.EventCounter[1].Counter >=150 | ||
Ressource | Mixer1 | ||
Ereigniszähler | Produktionsmenge | ||
Farbe | 1.0 |
Legen Sie die Eigenschaft "Produktionsmenge" des Ereigniszählers wie folgt fest:
Inkrementformel | ME.CurrentOperation.OperationOutMainItemQty | ||
Zählerstartzeit | 37777.0 | ||
Zählerinitialisierungswert (erstes Mal) | 50.0 |
Geben Sie in der Eigenschaft "Ereignisauftragscode" unter dem Reiter Codeerstellung der Projekteinstellungen eine Formel ein, in welcher der Code des Ereignisses als Name der Ereignisbedingung, gefolgt von einer Seriennummer, angezeigt wird:
- ME.Event[1].Code+ '_'+Func_GenStrSerialNum(PROJECT.Project_EventOrderSerialNumber,4)
Bei Neuplanung wird der Ereignisauftrag folgendermaßen zugewiesen:
- Da am 5.6.2051 bereits 50 Stück produziert wurden, übersteigt die gesamte Produktionsmenge 150 Stück, da Produktionsmengen von jeweils 30 und 90 Stück aus dem ersten und zweiten Vorgang zum Initialwert hinzugefügt werden. Der Ereignisauftrag Mixer1 Wartung_0000 wird erstellt.
- Ein weiterer Ereignisauftrag Mixer1 Wartung_0001 wird erstellt, wenn die gesamte Produktionsmenge 150 Stück durch Hinzufügen der Produktionsmengen von 25 Stück, 80 Stück und 50 Stück aus den drei Vorgängen nach dem ersten Ereignisauftrag übersteigt.
Geben Sie in der Eigenschaft "Erlaubte Startzeit für Vorgänge der Ereignisaufträge" der Ereignisbedingung Mixer1 Wartung als Uhrzeit 17:00-23:00 Uhr an.
Wenn Sie neu planen, wird der Ereignisauftrag nach links verschoben, um die erlaubte Startzeit zu berücksichtigen.
Beispiel 2
Geben Sie ein Ereignis mit den folgenden Bedingungen ein:
- Erstellen Sie einen Ereignisauftrag für Ressource InspectionCentre1 vor dem Vorgang, während dem die absolute Produktionsmenge 100 oder mehr erreicht.
- Die Dauer des Ereignissauftrages beträgt acht Stunden.
Einstellungen
Geben Sie in der Eigenschaft "Ereignisbedingung" der Planungsparametereinstellungen "Wartung" als Namen für die Ereignisbedingung an.
Geben Sie die folgenden Eigenschaften für die Ereignisbedingung "Wartung" ein.
Bedingungsformel | ME.EventCounter[1].Counter >100 | ||
Dauer | 8h | ||
Ressource | InspectionCenter1 | ||
Ereigniszähler | Param | ||
Zuweisungsposition | Vor dem Vorgang |
Legen Sie den Ereigniszähler "Param" wie folgt an.
Inkrementformel | ME.CurrentOperation.OperationOutMainItemQty |
Bei Neuplanung werden Ereignisaufträge vor Vorgängen zugewiesen, während denen die absolute Produktionsmenge 100 überschreitet.
Beispiel 3
Ereignisobjekte werden, wie im folgenden Diagramm gezeigt, angegeben. Beide Objekte generieren Ereignisaufträge in Abhängigkeit von der Produktionsmenge. Ereignis100 erstellt einen Ereignisauftrag, sobald die Produktionsmenge 100 oder mehr erreicht. Ereignis200 erstellt einen Ereignisauftrag sobald die Produktionsmenge 200 oder mehr erreicht. Der "Zählerinitialisierungswert (nach einem Ereignis)" ist auf 0 gesetzt und "Zählerinitialisierungswertformel (nach einem Ereignis)" ist leer.
Bei Neuplanung werden Ereignisaufträge, wie im folgenden Diagramm gezeigt, zugewiesen. (Ereignisaufträge von Ereignis100 werden in orange+ und von Ereignis200 in blau angezeigt.)
Ereignisbedingungen von Ereignis100 und Ereignis200 werden als "100 oder mehr" beziehungsweise "200 oder mehr" hinterlegt. Der Wert von Ereignis200 ist doppelt so hoch wie der von Ereignis100. Trotzdem tritt Ereignis100 nicht immer zur selben Zeit ein, wie Ereignis200. Grund dafür ist, dass eine Differenz zwischen dem Zählerwert und dem Bedingungswert in Abhängigkeit von der Produktionsmenge eines Vorgangs auftreten kann. Der Zähler steht zu Beginn auf 0, weshalb diese Differenz eintreten wird! Im folgenden Diagramm entsteht eine Differenz von 21 für Ereignis100 sowie eine Differenz von 18 für Ereignis200:
Um Ereignisaufträge für Ereignis100 und Ereignis200 gleichzeitig zu erstellen, kann die Eigenschaft "Zählerinitialisierungswertformel (nach einem Ereignis)" genutzt werden (um die Differenz zu berücksichtigen).
Geben Sie für Ereignis100 in der Eigenschaft "Zählerinitialisierungswertformel (nach einem Ereignis)" folgendes an:
- ME.Counter-100
Geben Sie für Ereignis200 in der Eigenschaft "Zählerinitialisierungswertformel (nach einem Ereignis)" folgendes an:
- ME.Counter-200
Nach Neuplanung werden Ereignisaufträge für Ereignis100 zur selben Zeit, erstellt wie jene für Ereignis200.
Reihenfolge, wenn mehrere Ereignisse zur selben Zeit eintreten
Wenn mehrere Ereignisse zur selben Zeit eintreten, werden Ereignisaufträge in der Reihenfolge erstellt, in der Ereignisobjekte verzeichnet sind.
Wenn beispielsweise zwei Ereignisobjekte, "Ereignis1" und "Ereignis2", im Planungsparameter verzeichnet sind werden Ereignisaufträge der Reihenfolge nachgehend erstellt. (Der rote Auftrag E0000 wird aus dem Ereignisobjekt Ereignis1 erstellt und der gelbe Auftrag E0002 wird aus dem Ereignisobjekt Ereignis2 erstellt.)
Anders als im Beispiel oben zeigt das folgende Diagramm einen Fall, in dem Ereignisobjekte in der Reihenfolge von "Ereignis2" und "Ereignis1" verzeichnet sind. Dementsprechend werden Ereignisaufträge in umgekehrter Reihenfolge (vom obigen Beispiel) zugewiesen.
Umrüstaufgaben
Gibt es zwischen den Vorgängen "A" und "B" eine Umrüstzeit, oder ist in den Projekteinstellungen [Keine Rüstzeit zwischen gleichen Artikeln] aktiviert, so dass es keine Rüst- und Abrüstzeiten zwischen den Vorgängen gibt, so führt das Einfügen eines Ereignisauftrags zwischen diesen Vorgängen zu neuen Umrüstaufgaben zwischen "A" und dem Ereignisauftrag, sowie zwischen dm Ereignisauftrag und "B". Um dies zu vermeiden, setzen Sie [Zuweisungsreihenfolge der Vorgänge beibehalten] der Ressourcen auf "Ja (Rüstzeiten beibehalten)", so dass die, vor der Zuweisung des Ereignisauftrags geltenden, Rüstzeiten beibehalten werden.
Das Setzen von [Zuweisungsreihenfolge der Vorgänge beibehalten] auf "Ja" führt zu folgendem:
- Bei der Berechnung der Umrüstzeit von Fertigungsaufträgen wird der Vorgang des Ereignisauftrags ignoriert und der nächste Vorgang wird betrachtet.
- Für Ereignisaufträge gibt es kein Umrüsten. Statisches Rüsten wird weiterhin zugewiesen.
- Auch wenn [Keine Rüstzeit zwischen gleichen Artikeln] aktiviert ist, bleibt das statische Rüsten von Ereignisaufträgen bestehen.
- Ist [Zuweisungsreihenfolge der Vorgänge beibehalten] der [Hauptressource] des Vorgangs des Ereignisauftrags auf "Ja (Rüstzeiten beibehalten)" gesetzt, so werden 1., 2. und 3. angewendet, unabhängig davon, was bei den Subressourcen des Vorgangs des Ereignisauftrags für [Zuweisungsreihenfolge der Vorgänge beibehalten] gesetzt ist.
- Hinweis
- Der Wert "Ja (Rüstzeiten beibehalten)" für [Zuweisungsreihenfolge der Vorgänge beibehalten] steht erst ab Version 15.0 zur Verfügung.
Einschränkungen
Es gibt einige Einschränkungen, die bei Nutzung der Funktion Ereignisbedingung beachtet werden müssen. Details entnehmen Sie der Dokumentation für die Option Ereignis (zu finden im Installationsordner von Asprova/Samples/Event1).
Es existieren einige Probleme mit der Funktion Ereignisbedingung.
- Logik 9
- Als Ergebnis der Zuweisung von Ereignisaufträgen zu einer Ressource kann es vorkommen, dass Leerlaufzeiten für Ressourcen bestehen, in denen Ereignisaufträge nicht zugewiesen werden.
- Logik 15
- Wenn die Position für die Zuweisung eines Ereignisauftrags durch "Erlaubte Startwochentage für Vorgänge der Ereignisaufträge" beschränkt ist, kann die zugewiesene Position von der erwarteten Position abweichen.