Hallo
Ich bin noch relativ unerfahren mit der Nutzung von Plant Simulation und SimTalk.
Ich habe eine Flughafensimulation erstellt. Dabei kommen aus einer Quelle exponentialverteilt die Reisenden an, gehen dann zu den Check In Schaltern. Den Weg dahin habe ich über eine Parallelstation dargestellt (benötigen 2-3 min dorthin).
Vor den Schaltern habe ich eine Warteschlange gebaut. von dort aus gehen die Passagiere dann an die Checkin Schalter. Davon gibt es 5 stück mit Bearbeitungszeit (mü=7 und sigma=2). Danach gehen so zu den Gates, dieser Baustein ist dann auch gleichzeitig die Senke.
Mein Problem ist nun folgendes. Ich will verschiedene Pausen an den Check in Schaltern simulieren. Es gibt 2 Schichten an den Schaltern mit jeweils 8 Stunden Arbeitszeit. Es gibt eine kurze (15min) und eine lange Pause(30min) pro Schicht. Die kleine beginnt 90min nach Schichtbeginn, wenn der erste Schalter aus der Pause zurück ist, geht der zweite usw.
Die große Pause beginnt dann 3,5 stunden nach Schichtbeginn in der selben Reihenfolge.
Meine erste Lösung war, die Pausen über Störungen darzustellen und dafür alle entsprechenden Zeiten einzutragen. Das Problem dabei war jedoch, dass wenn ein Kunde bedient wird und die Pausenzeit losgeht, er dort stehen bleibt, bis der Arbeiter aus der Pause zurück sind und ihn weiter bearbeiten.
Woran ich grad arbeite ist, das ganze über Eingangssperren zu realisieren. Habe dies mit der ref(Methode) Funktion versucht.
In der Init Methode dann ref(Methode)... und in der entsprechenden Methode dann begonnen mit:
wait(5400);
....checkin1.eingangGesperrt:=true;
wait(900);
....checkin1.eingangGesperrt:=false;
if checkin1.eingangGesperrt:=false;
then
checkin2.eingangGesperrt:=true;
wait(900);
....checkin2.eingangGesperrt:=false;
usw.
Wenn es dann nun aber zur nächsten pause kommt, funktioniert das mit dem wait(...) nicht mehr, die abstände stimmen dann einfach nicht.
Nun wollte ich gerne versuchen die zeit aus dem ereignisverwaltet direkt anzusprechen.
Quasi theoretisch so:
if .....ereignisverwalter.zeit= 01:30:00:0000
then ref(pausenmethode1)
else if....
usw.
Nur leider passt das mit dem Format nicht, irgendwas funktioniert da mit dem time-format nicht.
Könntet ihr mir bitte helfen?
Wie kann ich das lösen oder vielleicht doch mit einer anderen Vorgehensweise lösen?
Vielen lieben Dank im Voraus.
Grüße.
[Diese Nachricht wurde von chrisch123 am 07. Dez. 2016 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP