Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Hilfe bei Plant Simulation (Ich=Noob)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Hilfe bei Plant Simulation (Ich=Noob) (1674 / mal gelesen)
chrisch123
Mitglied


Sehen Sie sich das Profil von chrisch123 an!   Senden Sie eine Private Message an chrisch123  Schreiben Sie einen Gästebucheintrag für chrisch123

Beiträge: 6
Registriert: 07.12.2016

erstellt am: 07. Dez. 2016 20:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

math4fun
Mitglied



Sehen Sie sich das Profil von math4fun an!   Senden Sie eine Private Message an math4fun  Schreiben Sie einen Gästebucheintrag für math4fun

Beiträge: 167
Registriert: 12.12.2005

erstellt am: 11. Dez. 2016 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für chrisch123 10 Unities + Antwort hilfreich

Hallo Chrisch,
in der Toolbox auf der Registerkarte "Ressourcen" gibt es ein Objekt "Schichtkalender", das es für solche Zwecke gibt.
Das Problem dabei ist, dass die Pause die wartenden Kunden in der Warteschlange überrascht und sie die Pause dort verbringen. Das ist nicht real.
Deine Idee könnte man mit den folgenden Kode realisieren:

repeat
checkin1.eingangGesperrt:=false;
wait str_to_time("1:30:00"); -- nach einer 1,5 h
checkin1.eingangGesperrt:=true;
wait str_to_time("30:00"); -- 0,5 h Pause, jetzt ist Zeit = 2 h
checkin1.eingangGesperrt:=false;
wait str_to_time("3:30:00"); -- nach 3,5 h Pause, jetzt ist Zeit = 5,5 h
checkin1.eingangGesperrt:=true;
wait str_to_time("15:00"); -- 0,25 h Pause, jetzt ist Zeit = 5,75 h
checkin1.eingangGesperrt:=false;
wait str_to_time("2:15:00"); -- nach 2,25 h ist Schichtende, jetzt ist Zeit = 8 h
until false

Nun hat der Schalter "checkin1" einen Schichtkalender mit Schichten von jeweils 8 h.
Der Nachteil ist, dass der Schalter in seiner Pausenzeit die Kunden in der Warteschlange noch bedienen muss.
Mir scheint, dass das der Realität entspricht.

Grüße
Peter

------------------
PM

___________________
www.math4fun.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz