Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Leerung eines Lagers

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:  Leerung eines Lagers (1302 mal gelesen)
Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 20. Mai. 2008 19:51    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,

ich stehe vor folgendem Problem:

Meine BE's sollen nach der Produktion zunächst gelagert werden und dann zu bestimmten Uhrzeiten (2mal am Tag) disponiert werden. Nach dieser Disposition müssen die BE's warten(1,2 oder 3 Stunden) bis sie abgeholt werden (Senke = LKW). Die Wartezeit ist prozentual vorgegeben, also 70% der BE's müssen z.B. eine Stunde warten usw.

Meine Fragen dazu: Wie kann ich die Disposition der BE's zu Uhrzeiten (2 Uhrzeiten pro Tag) mit einer Methode o.ä. darstellen?
Und wie stelle ich dann die Wartezeit der BE's dar, bis diese dann zur Senke kommen?
Hier im Forum habe ich dazu leider nichts passendes gefunden. Über eure Hilfe bin ich sehr dankbar!

Gruß Jan

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

Homer Simpson
Mitglied



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

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 20. Mai. 2008 20:34    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 Onyx245 10 Unities + Antwort hilfreich

Mittels ref(Methodenname).methaufr(zeit) kann man eine Methode zu einem bestimmten Zeitpunkt aufrufen (wenn 'Zeit' vom Datentyp datetime ist zu einem festen Zeitpunkt, wenn 'Zeit' vom Typ time oder real ist nach einer Zeitspanne (in Sekunden). Den ersten Aufruf kann man in einer Init-Methode durchführen. Die aufgerufene Methode kann sich dann mittels self.methaufr(Zeit) selbst erneut aufrufen. Alternativ könnte die Methode auch eine Endlosschleife enthalten, in der immer wieder eine bestimmte Zeit gewartet wird:
Code:
repeat
    ...
    wait Zeit;
until false;

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

Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 20. Mai. 2008 20:46    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 schonmal für die schnelle Antwort, aber ich habe mich undeutlich ausgedrückt. Sorry.
Erschwerend zu dem Zeitproblem kommt nämlich noch hinzu, dass ich nichtmal weiß wie das Lager generell geleert wird. Also wie bekomme ich die BE's vom Lager zum nächsten Punkt in der Kette?

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

Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 21. Mai. 2008 20:46    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


sim1.JPG

 
Hi,

also ich hab jetzt nochmal ein bißchen weiterprobiert, in dem neu erschienenen Buch von Bangsow gestöbert und auch auf dessen Homepage, aber leider nichts gefunden.
Habe mal das bisherige Modell angehängt, das Lager soll sich so leeren, dass es zu 70% zu Station "W24", zu 20% zu W48 und zu 10% zu W96 geht.
Ich habe nur ein Beispiel gefunden, dass die Teile vernichtet und das Lager also wieder komplett leer räumt, wenn es voll gelaufen ist. (lager.vernichteBEs). Gibt es etwas wie lager.weiterleitenBEs oder ähnlich?

Vielen Dank!

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

LaBonita
Mitglied
Dipl.-Math.


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

Beiträge: 151
Registriert: 26.07.2007

eM-Plant 7.5 bis 8.1
VB
Java
C#

erstellt am: 26. Mai. 2008 18:39    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 Onyx245 10 Unities + Antwort hilfreich

Hallo Onyx245,

Du kannst es ja mal mit den Attributen .cont (oder auch .inhalt) und .move(ziel) versuchen. Dazu ist aber noch zu beachten, dass mit .cont immer das nächste BE genommen wird. Die bisherige Verweilzeit in dem Lager wird dabei nicht berücksichtigt. Hierfür vielleicht den Eintrittszeitpunkt speichern und davon abhängig entscheiden. Dabei ist sicherlich noch das durchlaufen des Inhalts (.MU(i)) hilfreich.

Jetzt aber erst mal viel Spass beim Spielen!!!

Gruß,
Ortrun

P.S.: Ohne Zugang zum Programm erwischt man schon mal die falsche Attributbezeichnung...

[Diese Nachricht wurde von LaBonita am 31. Mai. 2008 editiert.]

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

Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 31. Mai. 2008 10:42    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


sim2.JPG

 
Hallo mal wieder,

ich bin mittlerweile schon ein Stückchen weiter. Das Lager leert sich, ich habe es jetzt hinter 3 Puffer gesetzt, also ein bißchen umgestellt.(siehe Bild)

Das einzige, was mir eigentlich jetzt noch fehlt ist, dass sich das Lager je um 8 und um 13 Uhr leert. Mit der ref Methode habe ich es bisher noch nicht geschafft, da fehlt mir leider ein gutes Beispiel. Probiere weiter, aber hat vielleicht noch jemand einen Tip, wie das aussehen könnte?

Gruß Onyx

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

Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 31. Mai. 2008 13:11    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

So, habe jetzt mal einen Trigger erstellt der die Lagerleerungsmethode starten soll.
Leider krieg ich den nicht zum laufen. Mein ursprünglicher Methodencode sieht so aus:

Zitat:

is
do
if lager.anzahlBes = 8 then
@.umlagern(Senke);
end;
end;

Ich muss ja irgendwas mit dem alten und dem neuen Wert anstellen, da hab ich "(Wertalt,Wertneu:boolean)
"
Und dann müsste irgendetwas kommen wie "Wertneu = true then" und dann soll der alte Code weiterlaufen, aber das funktioniert nicht. Hat jemand einen Tip?

Vielen Dank!

Gruß Onyx

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

Homer Simpson
Mitglied



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

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 31. Mai. 2008 21:09    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 Onyx245 10 Unities + Antwort hilfreich

Ich würde es erstmal mit einem Generator statt mit einem Trigger versuchen. Das ist einfacher.

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

Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 02. Jun. 2008 10:09    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

Ok danke, mit dem Generator werde ich es dann mal probieren.

Habe jetzt aber noch ne Frage zur Lagerleerung: Ich würde gerne einstellen, dass das Lager geleert wird, sobald die Y-Dimension zu einem bestimmten Zeitpunkt voll (=8) ist.
Genauer: Ich habe ein Lager mit den Dimensionen Y=8 und X=300 und immer um 8 und 13 Uhr soll eben kontrolliert werden, welche X-Reihen voll sind. Geht das irgendwie?

Vielen Dank,
Gruß Jan

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

Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 08. Jun. 2008 15:55    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

Update:
Ich schaffe es jetzt, dass das Lager pünktlich geleert wird, immer wenn genau 8 Einheiten drin sind.
Ich möchte aber, dass es geleert wird, sobald 8 einheiten in der X-Dimension sind. Also kann man in der Methode irgendwie gezielt die X-Dimension ansprechen?

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

LaBonita
Mitglied
Dipl.-Math.


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

Beiträge: 151
Registriert: 26.07.2007

eM-Plant 7.5 bis 8.1
VB
Java
C#

erstellt am: 08. Jun. 2008 20: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 Onyx245 10 Unities + Antwort hilfreich

Verwende doch einfach die modulo Rechnung - das ist entweder \\ oder //... Einfach mal in der Hilfe nachschauen. Dann funktioniert das problemlos mit jedem Vielfachen von x.

Gruß,
Ortrun

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

Onyx245
Mitglied
Student

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

Beiträge: 9
Registriert: 19.05.2008

erstellt am: 12. Jun. 2008 14:19    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

Neues Update, mit Modulo hab ich es nicht geschafft, aber ich hab jetzt einen Quellcode der darstellen soll, dass wenn ein Lager voll ist das nächste gefüllt wird und so weiter. Funktioniert soweit: Wenn das erste Lager voll ist wird das zweite gefüllt. Wenn das voll ist werden jedoch die weiteren nicht geleert. Stelle mal hier den Methodencode ein, vielleicht sieht ja einer auf Anhieb den Fehler woran das liegt:

Zitat:
is
do
if lager.voll
then @.umlagern(lager1)
else @.umlagern(lager);
if lager1.voll
then @.umlagern(lager2)
else @.umlagern(lager1);
if lager2.voll
then @.umlagern(lager3)
else @.umlagern(lager2);
if lager3.voll
        then @.umlagern(lager4)
else @.umlagern(lager3);
if lager4.voll
then @.umlagern(lager5)
else @.umlagern(lager4);
end;
end;
end;
end;
end;
        end;

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