Autor
|
Thema: Umlagern (695 mal gelesen)
|
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 05. Dez. 2005 14:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich habe eine Förderstrecke, die auf zwei Nachfolger umlagern kann. Die beiden Nachfolger sind ebenfalls Förderstrecken. Die Verteilung erfolgt anhand einer Methode (Ausgangssteuerung) und besagt, wenn die eine Förderstrecke voll, dann umlagern auf die andere. Jetzt habe ich das Problem -und darüber stolpere ich immer wieder- dass der Befehl umlagern das BE nicht umlagern kann, weil das vorherige BE noch den Eingang des Nachfolgers "versperrt". Weil das Förderband ja einen Moment benötigt um das BE wegzufördern. Gibt es eine elegante Lösung wie ich diesem Problem Herr werde? ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! [Diese Nachricht wurde von DFault am 05. Dez. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Dez. 2005 14:37 <-- editieren / zitieren -->
|
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 05. Dez. 2005 14:50 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank erst mal, aber ich verteile auch noch typabhängig. Typ A immer auf Förderband1, es sei denn Förderband1 ist voll. Dann auf Förderband2. Dabei kommt es dann zu dem besagten Problem. ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 05. Dez. 2005 15:25 <-- editieren / zitieren --> Unities abgeben:
VERDAMMT! Ich hab's gefunden, ich Idi.... <pfad>.FreierEingang und gut is ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 05. Dez. 2005 15:35 <-- editieren / zitieren --> Unities abgeben:
Hmmm....doch noch nicht FreierEingang lässt sich leider nicht in einer Waituntil-Anweisung nutzen. Sonst noch wer ne Idee? ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Dez. 2005 16:49 <-- editieren / zitieren -->
Hi, versuchs mal so: bau mal eine flusssteuerung zw den puffern. Strategie :Auswahl Eigenschaft: Methode Methode : m und trage mal in die Methode m folgendes ein: (r : integer) : integer is do if @.name="A" then if ?.nf(1).voll then return 2; else return 1; end; end; if @.name="B" then return 2; end; end; Gruss
------------------ DER SIMULATOR |
bullwt Mitglied
Beiträge: 17 Registriert: 25.10.2005
|
erstellt am: 07. Dez. 2005 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für DFault
Hoi, ich hab das eben mal fix nachgebaut so wie du es beschrieben hast. So wie ich es verstehe ist hat ist Band 1 manchmal voll und dann sollen die BEs auf Band 2 mitumgelagert werden. Und weil auf Band 2 dann so viel los ist, ist die Übergabe vom Vorgänger manchmal blockiert. Bei mir werden die BEs dann nur kurz gelb und werden dann umglagert wenn das BE auf dem Nachfolgeband Platzgemacht hat. vieleicht hab ichs aber auch ganz falsch verstanden. meine methode sieht so aus: Zitat: is do if @.name = "Typ1" and FS1.voll = false then @.umlagern(FS1); elseif @.name = "Typ1" and FS1.voll = true then @.umlagern(FS2); elseif @.name = "Typ2" then @.umlagern(FS2); end; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 07. Dez. 2005 10:30 <-- editieren / zitieren --> Unities abgeben:
Hi bullwt, Deine Methode ist so nicht falsch (sah meine auch erst aus), aber sie fängt nicht das Scheitern des Umlagerversuchs ab. Ein Band kann nämlich NICHT voll sein, aber dennoch nicht genug Platz für die Aufnahme eines BEs haben. Ich habe jetzt teilweise mit der Lösung von Simulator und teilweise mit der Methode EingangOffen gearbeitet und es scheint ganz gut zu funktionieren. Zumindest bis jetzt! Trotzdem vielen Dank! ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! [Diese Nachricht wurde von DFault am 07. Dez. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bullwt Mitglied
Beiträge: 17 Registriert: 25.10.2005
|
erstellt am: 07. Dez. 2005 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für DFault
|
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 07. Dez. 2005 10:50 <-- editieren / zitieren --> Unities abgeben:
Das hab ich natürlich auch. Meine Bänder können auch VOLL sein. Aber es kann z.B. vorkommen das ein BE das Band gerade verlassen hat (das Band also nicht mehr VOLL ist). Nun ist die Bedingung NICHT VOLL erfüllt, ein BE kann aber trotzdem nicht umgelagert werden, weil auf dem Eingang des Bandes noch nicht ausreichend Platz ist um ein neues BE aufzunehmen. Bedingt durch die Dauer, die die anderen BEs (die sich bereits auf dem Band befinden) zum nachrücken brauchen. ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! [Diese Nachricht wurde von DFault am 07. Dez. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 07. Dez. 2005 11:34 <-- editieren / zitieren -->
|
Ex-Mitglied
|
erstellt am: 07. Dez. 2005 15:19 <-- editieren / zitieren -->
Hi, sobald Platz auf der Förderstrecke ist, wird umgelagert- auch wenn das be noch nicht vollständig auf die Förderstrecke draufpasst. siehe hierzu auch umlagern/umsetzen. Anstatt den Zustand "voll"- , kannst Du vor dem Umlagern auch die belegte Länge der Förderstrecke abfragen und danach entscheiden wohin umgelagert werden soll. Gruss ------------------ DER SIMULATOR [Diese Nachricht wurde von Simulator am 07. Dez. 2005 editiert.] |
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 07. Dez. 2005 15:23 <-- editieren / zitieren --> Unities abgeben:
Werde mir das bei Gelegenheit mal genauer anschauen (hab leider etwas Zeitdruck). Im Moment funktioniert das mit der FlowControl ziemlich gut! Die belegte Länge abzufragen klingt auch gar nicht mal verkehrt...wie gesagt, ich werde es bei Gelegenheit ausprobieren. Vielen Dank für die Anregungen und Tipps. ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |