Autor
|
Thema: Umsetzer (2736 mal gelesen)
|
Jules4321 Mitglied
Beiträge: 4 Registriert: 20.07.2014
|
erstellt am: 20. Jul. 2014 11:28 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich simuliere eine Fördertechnik mit Kreuzungen. Als Kreuzungen habe ich Umsetzer eingesetzt. Hierbei wollte ich Vorrangregeln definieren. Also, eine Auslagerung aus dem Kleinteilelager hat Vorrang gegenüber einem Leergutstrom. Gibt es eine Möglichkeit eine Methode zu schreiben, die je nachdem welcher Ausgang im Umsetzter gewählt wird etwas ausführt? Also quasi mit einer If-Anweisung if umsetzer.standardausgang=3 then ... Zur Umsetzung habe ich im Umsetzer eine Liste hinterlegt, die die Ausgänge festlegt. Vielen Dank 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: 28. Jul. 2014 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für Jules4321
Zitat:
Gibt es eine Möglichkeit eine Methode zu schreiben, die je nachdem welcher Ausgang im Umsetzter gewählt wird etwas ausführt?
Nein, Sie können mit der Strategie Methode flexibel den Ausgang bestimmen, Plant Simulation übergibt die Nummer des Eingangs. Das beste ist, die Simulation so aufzubauen, wie die Anlage aussieht (oder geplant ist). Vor dem Umsetzer werden Sie Sensoren und Stopper haben, die das Teil zurückhalten, wenn es nötig ist. Der beste Platz, um Materialflussentscheidungen zu treffen ist so die Ausgangssteuerung der Vorgänger des Umsetzers. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jules4321 Mitglied
Beiträge: 4 Registriert: 20.07.2014
|
erstellt am: 07. Aug. 2014 09:50 <-- editieren / zitieren --> Unities abgeben:
Ginge es auch irgendwie mit einer Ziehensteuerung? Ich habe dies bereits versucht. Allerdings wird dann nichts mehr am Umsetzer umgelagert: is do if ?=Förderstrecke then @.umlagern(umsetzer); elseif ?=Förderstrecke1 and Förderstrecke=void then @.umlagern(umsetzer); elseif ?=Förderstrecke1 and Förderstrecke.inhalt/=void and Förderstrecke1.inhalt/=void then Förderstrecke1.inhalt.umlagern(umsetzer); else end; end; Muss ich hier zusätzlich noch eine Eingangssteuerung am Umsetzer schreiben? Ich habe es bereits mit Sensoren versucht, diese sollen die LEs auf der Förderstrecke1 jedoch so lange zurückhalten bis die Förderstrecke leer ist. Sensoren werden ja nur einmal ausgelöst. 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: 07. Aug. 2014 14:24 <-- editieren / zitieren --> Unities abgeben: Nur für Jules4321
Die Ziehensteuerung muss in den Umsetzer. Dort können Sie über die Vorwärts-Blockierliste auf alle BEs zugreifen, die umlagern wollen und eines auswählen, was Sie dann "entblockieren". Wenn Sie klare Regeln haben, wer wann umlagern darf, dann geht das mit einer Ausgangssteuerung allerdings einfacher. Sie müsssten allerdings immer auf die Bedingung warten, für Förderstrecke1 und @.inhalt=void z.B. Code:
waituntil förderstrecke.belegt=false and umsetzer.belegt=false prio 1; @.umlagern;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|