Hallo allerseits,
ich bin momentan an meiner Masterarbeit zugange und arbeite u.a. mit Plant Simulation. Leider bin ich jedoch noch recht neu in der Materie und stehe im Moment vor einem Problem, bei dem ich einfacht nicht weiterkomme und die Hilfe von Experten bräuchte.
Zum Problem:
Ich habe eine Art Werkstattfertigung mit 25 Einzelstationen simuliert, vor denen sich jeweils ein Puffer mit unendlicher Kapazität befindet. Die Stationen bzw. deren vorgelagerte Eingangspuffer werden von Fahrzeugen, auf denen sich je ein BE befindet, nach einem festen Ablaufplan angesteuert. In diesem Ablaufplan sind für jeden Auftrag die jeweiligen Freigabezeitpunkte auf den Maschinen hinterlegt. Sobald ein Fahrzeug einen Eingangspuffer erreicht, wird der Eingangszeitpunkt samt BE- und Fahrzeuginformationen in einer Tabelle gespeichert. Nun können drei Fälle auftreten:
1) Fahrzeug erreicht Puffer vor Freigabezeitpunkt
2) Fahrzeug erreicht Puffer zum exakten Freigabezeitpunkt
3) Fahrzeug erreicht Puffer mit Verspätung, d.h. nach dem Freigabezeitpunkt
Ich komme leider einfach nicht dahinter, wie ich das geschickt mit Puffereingangs- und Ausgangssteuerungen lösen kann. Fall 2) ist trivial und wird auch so gut wie nie auftreten. Meine Idee für Fall 1) war, bei Eingang eines BEs in einen bestimmten Puffer die jeweilige Dauer bis zum Freigabezeitpunkt zu berechnen und die Ausgangssteuerung bzw. "@.umlagern" verzögert mittels "wait (Wartedauer)" aufzurufen. Das klappt nur leider nicht. Ebenso wenig klappt der verzögerte Methodenaufruf "methAufr(WarteDauer)", bei dem ich einen Fehler bekomme, dass ein void nicht auf methaufr zugreifen kann.
Was das Ganze leider zusätzlich komplexer macht ist, dass jedes BE eine spezifische Bearbeitungszeit hat, die der Station bei Eingang übergeben wird und dass sich aufgrund der großen Anzahl an Aufträgen diese in den Puffern oft stapeln. Was also ebenfalls passieren kann ist, dass ein Freigabezeitpunkt eines BEs in einem Puffer zwar erreicht wird, die Station, auf die umgelagert werden soll sich jedoch noch in Bearbeitung befindet. In anderen Worten, könnte ich das BE erst nach dem eigentlichen Freigabezeitpunkt freigeben (die entstandene Verzögerung, die sich durch Rückstau ergeben hat, müsste ich dann zusätzlich in einer Tabelle erfassen). Ich vermute, dass man dann irgendwie mit einer Ziehensteuerung -falls ich diese richtig verstanden habe - arbeiten muss, aber ich komme auch da leider nicht weiter.
Ich hoffe, ich konnte mein Problem halbwegs nachvollziehbar klarmachen und würde mich riesig über jegliche hilfreichen Tipps freuen, wie ich die Pufferfreigabesteuerungen in PlantSim lösen kann!
Liebe Grüße.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP