Hallo,
da mir bis jetzt hier immer weitergeholfen wurde,
folgt mal wieder eine Anfrage von mir:
Folgendes Szenario:
- mehrere Teams, welche aus mehreren Operatoren bestehen
- Es sollen 2 Operator beim Eintreten in den Server gerufen werden, nach 10sec wird ein Operator davon wieder freigegeben
Folgenden Sachverhalt habe ich versucht abzubilden:
- betritt ein Produkt den Server, dann wird das Event 10 ausgelöst,
ist das Produkt 10 sec im Server, wird Event 11 aufgerufen.
- Event 10 beinhaltet den Aufruf von jeweils 1nem Operator aus 2 verschiedenen Teams (es werden also insgesamt 2 Operator gerufen)
- Event 11 beinhaltet, freeoperators() für einen Operator von den 2 vorher gerufenen Operators
OnEntered des Servers:
…
zSize(c),
i
),
EntryTrigger,
setlabel([Merker], 0, c), {Label des Servers - damit DelayEvents des Teams nur einmal ausgeführt wird)
CreateEvent(0,c,10) {Erzeuge Event 10 – wird beim Eintreten des Produktes in den Server erzeugt}
)
On Event des Servers:
…
),
{- Event 10: Calloperators – wird beim Eintreten des Produktes in den Server ausgeführt}
Do(
calloperators(In(2,c),1),
calloperators(In(3,c),1),
CreateEvent(10,c,11)), {Event 11}
{- Event 11: Freeoperators – wird nach 10sec ausgeführt}
Do(
freeoperators(In(3,c),first(c)))
)
On Event des Teams:
Do(
Status( i) := 30,
if (label([Merker] ,i) = 0, {eingefügt}
Do (DelayEvents( 1000000000000, i), setlabel([Merker], 1, i))) {angepasst}
),
…
Folgendes Problem ist dabei aufgedrehten:
- der Server startet mit den Bearbeiten des Produktes, auch wenn nur ein Operator da ist und nicht alle 2 Operators – WARUM ???
Ich möchte das Event nicht dem Produkt zuordnen, da ich sonst Probleme sehe, dass der Calloperators-Befehl zwar ausgeführt wird, die gerufenen Operators aber gerade „busy“ sind und erst zu einem späteren Zeitpunkt das Produkt erreichen, welches dann den Server schon verlassen hat, in dem der Calloperators-Befehl ausgeführt wurde.
Abgeändertes Szenario:
Wenn ich nach 10Sec den Operator nicht wieder freigebe, sondern noch einen neuen Operator rufe, dann ist der Auslastungsgrad des Servers auf einmal über 200% und das Produkt verlässt frühzeitig (also bereits nach10sec) den Server (die vorgegebene Behandlungszeit wird abgebrochen) und wechselt in das nachfolgende Atom – alle 3 Operatoren wechseln ebenfalls in das nachfolgende Atom. WARUM???
Ich bin Euch wie immer für jeden Hinweis dankbar!
katjes
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP