zu einer Bestimmten Zeit wird ein Rezept bearbeitet da die Bearbeitungsdauer sehr unterschiedlich sein kann passiert es hin und wieder das schon 2 neue Aufträge Anstehen bei einem ist das kein Problem ( solange Rezept Aktiv kein neues Starten )
Wie Vergebe ich da eine Reihenfolge ( Rezept 4 kamm als erstes dann Rezept 2 also muß 4 zuerst bearbeitet werden )
Bitte um Lösungen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Das geht normalerweise mit einem FIFO, also beispielsweise ein Array, in das die einzelnen Requests der Reihe nach reingeschriben werden. Nach Bearbeitung eines Requests wird dieses aus dem FIFO rausgeschmissen. Der Code könnte für eine handvoll Rezepte so ähnlich aussehen(Achtung: nicht getestet):
IFEinRezeptBearbeitetTHEN
  FORi:=0TO8BY1DO
  Fifo[i]:=Fifo[i+1];
  END_FOR
  EinRezeptBearbeitet:=FALSE;
  IFersteFreieStelle>1THEN
  ersteFreieStelle:=ersteFreieStelle-1;
  END_IFEND_IFIFNeuesRezept<>0THENFifo[ersteFreieStelle]:=NeuesRezept;ersteFreieStelle:=ersteFreieStelle+1;NeuesRezept:=0;END_IF
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hab da ein Problem:
zu einer Bestimmten Zeit wird ein Rezept bearbeitet da die Bearbeitungsdauer sehr unterschiedlich sein kann passiert es hin und wieder das schon 2 neue Aufträge Anstehen bei einem ist das kein Problem ( solange Rezept Aktiv kein neues Starten )
Wie Vergebe ich da eine Reihenfolge ( Rezept 4 kamm als erstes dann Rezept 2 also muß 4 zuerst bearbeitet werden )
Bitte um Lösungen
Das geht normalerweise mit einem FIFO, also beispielsweise ein Array, in das die einzelnen Requests der Reihe nach reingeschriben werden. Nach Bearbeitung eines Requests wird dieses aus dem FIFO rausgeschmissen. Der Code könnte für eine handvoll Rezepte so ähnlich aussehen(Achtung: nicht getestet):