Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Auslagern aus Puffer steuern

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:  Auslagern aus Puffer steuern (2969 mal gelesen)
Zwisto
Mitglied



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

Beiträge: 35
Registriert: 12.10.2012

erstellt am: 12. Nov. 2012 13:13    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 Community,

ich habe folgendes Problem zu lösen:

Aus einem Puffer soll quasi auf Anfrage abgerufen werden, sobald an einer Bearbeitungsstation Material verbraucht wird.
Ich hab mir überlegt, dass ganze zu lösen indem ich immer wen Material auf der Bearbeitungsstation eintrifft, der Ausgang des Puffers geöffnet wird. (wird in der init Methode blockiert) Darüberhinaus habe ich eine Warteschlange erstellt in die Einträge geschrieben werden sobald Teile auf die Bearbeitungsstation umlagern.
Nun dachte ich mir das ich eine Methode schreibe in der ich festlege, dass solange Einträge in der Warteschlange vorhanden sind, der Ausgang des Puffers geöffnet wird.
Das Problem hierbei ist, dass ich gerne hätte das pro Eintrag lediglich ein einziges Fördergut aus dem Puffer umgelagert wird und genau ein Eintrag aus der Warteschlange entfernt wird.
Meine Frage ist, ob es einen Befehl gibt, mit dem ich sagen kann das nur das erste Teil im Puffer umgelagert wird (und nur wenn Einträge in der Warteschlange vorhanden sind)

Grüße Zwisto

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

Deadsim
Mitglied


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

Beiträge: 6
Registriert: 09.11.2012

Plant Simulation 10.1.1

erstellt am: 12. Nov. 2012 14:35    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 Zwisto 10 Unities + Antwort hilfreich

Ich erkenne hier dein echtes Problem nicht.
Du rufst mit Warteschlange.Dim ab, ob noch Teile in der Liste sind.
Wenn ja dann lagerst du ein Teil um.
Wenn nicht, dann eben nicht.


is
do
  while Warteschlange.Dim > 0 loop
    Puffer.umlagern
    Was auch immer du mit dem Teil machen willst := Warteschlange.entnehmen
  end;
end;

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

Zwisto
Mitglied



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

Beiträge: 35
Registriert: 12.10.2012

erstellt am: 12. Nov. 2012 14:57    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

Danke für die Antwort.
Problem ist, dass dann der Ausgang des Puffers offen bleibt und dadurch mehr Teile umgelagert werden als sollen...
Ich habe es bisher nicht geschafft das pro Eintrag auch nur genau ein Fördergut weiter gegeben wird, der Puffer die Methode umlagern nicht kennt.

Was meinst du mit "  Was auch immer du mit dem Teil machen willst := Warteschlange.entnehmen" ?

Grüße Zwisto

[Diese Nachricht wurde von Zwisto am 12. Nov. 2012 editiert.]

[Diese Nachricht wurde von Zwisto am 12. Nov. 2012 editiert.]

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

Bon Simul
Mitglied
Simulant


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

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 12. Nov. 2012 15:36    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 Zwisto 10 Unities + Antwort hilfreich

Zitat:

Ich habe es bisher nicht geschafft das pro Eintrag auch nur genau ein Fördergut weiter gegeben wird, der Puffer die Methode umlagern nicht kennt.


Versuchen Sie es mit:

Code:

puffer.inhalt.umlagern(ziel); --genau ein teil


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

Zwisto
Mitglied



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

Beiträge: 35
Registriert: 12.10.2012

erstellt am: 12. Nov. 2012 16:14    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

Vielen Dank!

Das funktioniert, allerdings hätte ich gern das ein Werker das Teil zur nächsten Station bringt und es nicht direkt umgelagert wird.
Hab bisher aber leider keine Methode gefunden, die da sagt, "gehe los" 

Grüße Zwisto

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

Bon Simul
Mitglied
Simulant


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

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 12. Nov. 2012 16:44    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 Zwisto 10 Unities + Antwort hilfreich

Das läuft über das Ausgangsverhalten Teil wegtragen. Wenn Sie eine Ausgangssteuerung im Puffer definieren (keine Kante), dann wird der Werker erst mit Aufruf von @.umlagern gerufen. Wenn Sie davor Ihre Bedingung definieren (warteschlange.yDim > 0 und zielstation.belegt und noch kein Job unterwegs), sollte er entsprechend warten.
Ansonsten Hilfe: Werker --> Methode geheZu

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

Zwisto
Mitglied



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

Beiträge: 35
Registriert: 12.10.2012

erstellt am: 12. Nov. 2012 18:26    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

Problem ist, dass momentan überhaupt kein Werker gerufen wird.
Aktuell entsperre ich den Ausgang durch eine Methode einer anderen Station.

Code:

while Abruf.Dim > 0 loop
LagerKLT_voll.AusgangGesperrt := false;
LagerKLT_voll.inhalt.umlagern(Reader);
Abruf.entnehmen;
end;
LagerKLT_voll.AusgangGesperrt := true

Habe daher auch gar keine Ausgangsteuerung beim Puffer (LagerKLT_voll). Nach etwas rumprobieren glaube ich das es am klügsten wäre die Methode zu splitten und via der Puffer Ausgangssteuerung den in der Liste Abruf einen Eintrag zu entnehmen und den Ausgang nochmals zu sperren, nachdem via Werker umgelagert wurde. Habe aber keine Lösung gefunden, entweder kommt kein Werker der umlagert, es wird direkt auf die nächte Station umgelagert oder der Ausgang bleibt gesperrt... 

Grüße Zwisto

[Diese Nachricht wurde von Zwisto am 12. Nov. 2012 editiert.]

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

Bon Simul
Mitglied
Simulant


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

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 13. Nov. 2012 08:31    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 Zwisto 10 Unities + Antwort hilfreich

Das ist von der Ferne aus schwierig zu beurteilen.
Ich würde es als reine Ziehen-Steuerung modellieren: Wenn alle Bedingungen erfüllt sind, zieht sich die verbrauchende Station ein Teil aus dem Puffer. Das kann man gut über die Einganssteuerung der auslösenden Station erledigen. Wenn es der Werker transportieren soll, dann lagern Sie das zu transportierende Teil auf einen speziellen Platz um (Pick-Bereich) und verbinden die Stationen (Pick-Bereich- Reader) mit dem "Werker-Standard-Kram" (Arbeitsplätze, Fußwege, Werkerpool).

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

Zwisto
Mitglied



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

Beiträge: 35
Registriert: 12.10.2012

erstellt am: 13. Nov. 2012 15:56    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

Habe es jetzt exakt auf diese Weise gelöst. Erscheint mir auch fast am sinnvollsten in Bezug auf meinen gesamten Prozess.

Vielen Dank für die Hilfe  !!

Grüße Zwisto

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