|
Autor
|
Thema: Dynamisches erzeugen von BEs (1216 mal gelesen)
|
HansMaulwurf Mitglied
 Beiträge: 3 Registriert: 27.09.2012
|
erstellt am: 27. Sep. 2012 20:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich habe eine Frage bezüglich der Erzeugung von BEs. Folgendes Simulationsmodell habe ich: Endmontagelinie, die sich Pull gesteuert aus einem Vormontagebereich Bauteile zieht. Der Vormontagebereich selbst holt sich aus einem vorgelagerten Netzwerk seine Bauteile. Ich gebe in der Endmontage eine Lieferliste vor. Aus dieser Lieferliste berechne ich mir den Produktionsstartzeitpunkt der Vormontage. Diesen Startzeitpunkt schreibe ich mir in eine Tabelle, die ich über eine wait Anweisung nach Inhalt überwache. Soweit funktioniert alles. Nachdem der Zeitpunkt erreicht ist, soll das BE in der Vormontage erzeugt werden: wait Ereignisverwalter.Zeit >= Produktionsstartzeitpunkt prio 1 BE.erzeugen(Quelle); Hier hätte ich eine Frage: Unterbricht die Wait Anweisung die Methode komplett und setzt dann wieder fort, wenn die Bedingung erfüllt ist? Je nach Produktionssituation in der Endmontage, wird die oben stehende Erzeugungsmethode öfter aufgerufen. Werden dann alle wait Anweisungen parallel abgearbeitet? Ich habe auch noch andere Funktionen, die mit wait arbeiten. Leider bemerke ich, dass nicht immer alle wait Methoden richtig arbeiten. Teilweise werden die Bedingungen erfüllt, die Wait Methode aber nicht ausgeführt.. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
   
 Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 27. Sep. 2012 20:37 <-- editieren / zitieren --> Unities abgeben:          Nur für HansMaulwurf
Es gibt zwei Anweisungen: wait(time) unterbricht eine Methode für eine gewisse Zeit. In den Ereignisverwalter wird ein Ereignis MethAufwecken eingetragen. Zum berechneten Zeitpunkt wird die Methode dann fortgesetzt. waituntil bedingung prio x; Suspendiert eine Methode --> siehe Hilfe Suspendierung von Methoden. Dabei kann es sein, dass mehrere Methoden zur gleichen Zeit aufgeweckt werden und die erste Methode die Bedingung wieder false werden lässt. Die nächste Methode wird dann wieder suspendiert... Klicken Sie im Plant Simulation Fenster auf Dbuggen - Suspendierte Methoden anzeigen, dort sehen Sie was zurzeit mit welcher Bedingung suspendiert ist. Ihre Anweisung
Zitat:
wait Ereignisverwalter.Zeit >= Produktionsstartzeitpunkt prio 1
dürfte so nicht funkionieren. Lesen Sie auch mal die Hilfe zu stopuntil, vielleicht passt das besser. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HansMaulwurf Mitglied
 Beiträge: 3 Registriert: 27.09.2012
|
erstellt am: 27. Sep. 2012 20:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo, danke für die Antwort. Ich muss mich entschuldigen, ich meine selbstverständlich waituntil mit Bedingung dahinter. Die Hilfe habe ich schon durchforstet, ich stehe aber trotzdem noch immer auf dem Schlauch. In meinem Fall sollte ja die Möglichkeit, dass die Bedingung wieder false wird, ausgeschlossen sein. Die Ereignisverwalterzeit läuft ja weiter und der gespeicherte Produktionszeitpunkt ist fixiert. Oder sehe ich dies falsch? Prinzipiell würde es mich interessieren, wie man eine derartige Pullsteuerung umsetzen kann. Ist der Ansatz wie beschrieben (also Tabelle Endmontage => Infos in Tabellen Vormontage schreiben und mit waituntil zum eingetragenen Zeitpunkt erzeugen) sinnvoll? Vielen Dank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Meister / Techniker / Ingenieur für Bauprojekte Stromnetz (m/w/d) | Wir, die SWM Magdeburg, sind seit 1993 eine feste Größe in der Region. Wir machen die Lichter an, lassen Elektroautos fahren, bringen Wärme in die Stadt, liefern Wasser und entsorgen Abwasser. Wir sind immer zuverlässig ? gerade, wenn es darum geht, Dir eine langfristige Perspektive zu bieten. Oder das Privatleben mit dem Job zu vereinen. Wir sind eben auf dem Boden geblieben.... | | Anzeige ansehen | Feste Anstellung |
|
Bon Simul Mitglied Simulant
   
 Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 27. Sep. 2012 21:53 <-- editieren / zitieren --> Unities abgeben:          Nur für HansMaulwurf
Mit waituntil-Anweisungen muss man etwas vorsichtig umgehen. Prinzipiell funktionieren Sie, es lässt sich auch gut beobachten (Debugger-... Haltepunkte setzen). Es können aber viele Fehler passieren z.B.: - Sie rufen die Methode mit der waituntil-Anweisung aus Versehen mehrmals auf (z.B. Ausgangssteuerung-Bug, bei Stau wird die Ausgangssteuerung zwei Mal aufgerufen) --> der zweite Methodenaufruf wird dann irgandwann aufgeweckt und verursacht Probleme - sie verlieren den Überblick über Ihre Bedingungen und wer welche Bedingung verändert. Das mit der Pull-Steuerung lässt sich schwer beurteilen. ´ Reale Pull-Steuerungen ziehen die Teile nicht direkt aus der Vormontage, sondern aus Zwischenpuffern oder Kanban-Flächen. Das Kanban-Lager löst dann die Vorproduktion aus (in der Regel ohne Verzögerung), die Vorproduktion die Einzelteilherstellung oder -lieferung. Dann erfolgt die Lieferung - Vorproduktion bis zum Bereitstellungslager. Bei synchronisierter Vormontage (Sublinien) erfolgt der Start der Vorproduktion mit einem festgelegten Taktabstand (bis zum Einbauort), dort reicht es, wenn Sie x Takte vor Einbauort die Vormontage (analog Auftrag) anstoßen. Echte Pull-Steuerung bedeutet, Sie holen (erzeugen) es sich, wenn Sie es brauchen und nicht zu einem bestimmten Zeitpunkt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |