Einen Befehl wiederholen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
Hilfe Nummer: 778500

In Asprova lassen sich Bedingungen zur automatischen Wiederholung eines Befehles (Schleife) hinterlegen. Diese werden als "Schleifen" bezeichnet.

Eigenschaften von Schleifen
Mit Schleifen verwandte Eigenschaften sind für Befehle verfügbar. Diese finden sich im Eigenschaftsfenster unter dem Reiter "Schleife".

Commandloop01.jpg

  • Ab Asprova Version 14.1 wurde der Reiter [Schleife] in [Steuerung] umbenannt und im eine weitere Funktion erweitert. Der hier dargestellte Screenshot ist aus einer Version < 14.1. und zeigt als Reiternamen daher noch [Schleife].


Schleifenwiederholungen MAX

Maximale Anzahl an Schleifen. Die Schleife wird beendet, sobald die Schleifenbedingungsformel WAHR ist beziehungsweise die Anzahl der Wiederholungen diesen Wert überschreitet. Wenn kein Wert hinterlegt ist, interpretiert Asprova dies als "1".

Schleifenzähler

Diese Eigenschaft kann als Zähler für Wiederholungen eines Befehles verwendet werden. Es sind mehrere Werte hinterlegbar.

Schleifeninitialisierungsformel

Diese Formel wird nur einmal, zu Beginn der Schleife, ausgeführt. Dabei sind mehrere Formeln hinterlegbar und es werden immer alle Formeln ausgeführt. Der Standardwert ist: ME.LoopCounter[1]=1

Schleifenbedingungsformel

Bestimmen Sie die Schleifenbedingung. Mehrere Schleifenbedingungen können parallel hinterlegt werden und es werden immer alle Formeln ausgeführt. Ist das Ergebnis der Bedingung WAHR, wird der Befehl ausgeführt. Der Standardwert ist: ME.Command_LoopCounter[1]<=ME.Command_LoopMaxFrequency

Verwenden Sie die Eigenschaft "Schleifenwiederholdung MAX", um eine Schleife eine bestimmte Anzahl an Wiederholungen durchführen zu lassen. Verwenden Sie die Eigenschaft "Schleifenbedingungsformel", wenn die Anzahl der Wiederholungen nicht klar ist. Für den letzten Fall sollte eine hohe Zahl unter "Schleifenfrequenz MAX" hinterlegt werden (also eine Zahl, die erwartungsgemäß größer als die Anzahl der Schleifenwiederholungen ist und durch die "Schleifenbedingungsformel" wiederholt werden).

Schleifeninkrementformel

Diese Formel wird bei Ausführung des Befehles ausgeführt. Es sind mehrere Formeln hinterlegbar und es werden immer alle ausgeführt. Der Standardwert ist: ME.LoopCounter[1]=ME.LoopCounter[1]+1


Der Befehlsablauf vom Schleifenprozesses sieht folgendermaßen aus:

  1. Ausführen der Schleifeninitialisierungssformel
  2. Ausführen der Schleifenbedingungsformel zur Bestätigung der Schleifenbedingungen
  • Beenden ohne Ausführung des Befehles wenn die Anzahl der Wiederholungen den Wert in Schleifenwiederholungen MAX überschreitet
  • Ausführung des Befehles wenn das Ergebnis aller Schleifenbedingungsformeln WAHR ist
  • Beenden ohne Ausführung Befehles wenn das Ergebnis einer der Schleifenbedingungsformeln FALSCH ist
  • Ausführen der Schleifeninkrementformel
  • Zurückkehren zum zweiten Prozess


Der Standardwert zur Ausführung des Befehles wird auf einmal gesetzt, wie aus dem Ablauf des Schleifenprozesses ersichtlich ist.


Anmerkungen

- Wenn eine der Formeln nicht ausgeführt werden kann, wird der Prozess an dieser Stelle beendet und der nächste Befehl ausgeführt.
- Derzeit funktioniert die Schleifenfunktion bei Nutzung im Planungsparameter.
- Die folgenden vier Werte müssen vor Beginn der Schleife hinterlegt sein. Wird eine davon währen der Schleife geändert, hat dies keinen Einfluss darauf.
- Schleifenwiederholungen MAX
- Schleifeninitialisierungssformel
- Schleifenbedingungsformel
- Schleifeninkrementformel


Beispiel

Eine vierwöchige Planung wird auf einzelne Wochen verteilt und die LET jedes Auftrages zu Beginn der Woche vorwärts zugewiesen.

Einstellen der Schleife

Unter "Schleifenwiederholungen MAX" wird ein Wert hinterlegt, um die Schleife vier Mal ablaufen zu lassen.


Schleifenwiederholungen MAX 4.0

Zuweisungsstartzeit

Anhand des Schleifenzählers wird eine Formel für die Zuweisungsstartzeit hinterlegt, so dass Aufträge ab Beginn der Woche zugewiesen werden.


Zuweisungsstartzeit PROJECT.SchedulingStartTime+(1w*(PROJECT.CommandReschedule.LoopCounter[1]-1))

Aufträge filtern

Unter Verwendung des Schleifenzählers legen Sie eine Formel zum Filtern von Aufträgen fest, deren LETs innerhalb der Zuweisungsperiode liegen.


Aufträge filtern ME.LET>=PROJECT.BasisTime+(1w*(PROJECT.CommandReschedule.LoopCounter[1]-1))&&ME.LET<PROJECT.BasisTime+(1w*PROJECT.CommandReschedule.LoopCounter[1])



Hilfe Nummer: 778500