Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Leerung des kompletten lagerinhalts

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 des kompletten lagerinhalts (1099 mal gelesen)
hm82
Mitglied


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

Beiträge: 4
Registriert: 17.06.2008

erstellt am: 17. Jun. 2008 17:01    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

ich stehe vor folgendem problem:

2x im tag soll eine methode aufgerufen werden, was ich mittels generator auch soweit hinbekommen habe.
diese methode soll das komplette lager leeren, wenn der aktuelle lagerinhalt\\(modulo)8 = 0 ist.
die methode sieht wie folgt aus:

is
i:integer;
j:integer;
do
for i := 1 to current.Lager.xDim
loop
    for j := 1 to current.Lager.yDim
    loop
        if lager.anzahlBEs\\8 = 0
        then
current.Lager[i,j].move(disposition);
        end;
    next;
next;
end;

das problem ist nun, dass sobald die bedingung erfüllt ist, nicht der gesamte lagerinhalt auf die disposition umgelagert wird sondern nur jeweils genau eine einheit!
ab einem bestimmten zeitpunkt wird dann stets 2x am tag eine einheit auf die dispositions-station umgelagert, da das lager komplett gefüllt ist (2400).
wie muss die methode aussehen, dass bei erfüllung der bedingung der komplette lagerinhalt umgelagert wird und nicht nur eine einheit??

danke schonmal im vorraus
mfg

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: 17. Jun. 2008 17:15    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 hm82 10 Unities + Antwort hilfreich

Hallo hm82,

Warum denn so kompliziert? Probier's mal mit (Gemütlichkeit  ) :

Code:
is
  local
    i, num:integer;
do
  num := lager.anzahlBEs;
  if num\\8 = 0
  then
    for i := 1 to num
    loop
      current.Lager.cont.move(disposition);
    next;
  end;
end;

Sicherlich wäre eine Überprüfung, ob die Umlagerung auch erfolgreich war mit entsprechender Fehlerbehandlung noch hilfreich.

Gruß,
Ortrun

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

hm82
Mitglied


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

Beiträge: 4
Registriert: 17.06.2008

erstellt am: 17. Jun. 2008 21:41    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

besten dank für die schnelle antwort!
jetzt ein neues problem:
die ausgangslage ist die, dass ich 300 reihen a 8 stellplätze habe!
mittels methode soll nun erreicht werden, dass alle reihen, die voll sind, geleert werden! die prüfung, ob reihen voll sind, erfolgt 2x am tag! das ganze mach ich dann wieder mit einem generator!
dabei habe ich auch die modulo rechnung im sinn. allerdings leert sich bisher das lager nur, wenn mod = 0 ist!
allerdings sind ja auch reihen gefüllt, wenn der modulo = x ist!
wie kann ich das mittels methode lösen??

mfg

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: 18. Jun. 2008 10: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 Nur für hm82 10 Unities + Antwort hilfreich

Was hälst Du davon: größtes Vielfaches von 8 berechnen, das kleiner ist als der aktuelle Lagerbestand und die dann umlagern. Das ist einfache Mathematik aus der Mittelstufe.

Gruß,
Ortrun

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

hm82
Mitglied


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

Beiträge: 4
Registriert: 17.06.2008

erstellt am: 18. Jun. 2008 11: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

....leider habe ich keinen plan, wie man sowas mittels methode abbilden kann! 
über hilfe wäre ich sehr dankbar!
mfg

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: 18. Jun. 2008 11: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 hm82 10 Unities + Antwort hilfreich

Da fehlen mir die Worte... Aber versuch es mal damit:

Code:
is
  local
    num, i: integer;
do
  num := lager.anzahlBEs // 8;

  if num = 0
  then
    -- weniger als 8 Teile im Lager
    return;
  end;

  for i := 1 to (num * 8)
  loop
    current.Lager.cont.move(disposition);
  next;
end;


Gruß,
Ortrun

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

hm82
Mitglied


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

Beiträge: 4
Registriert: 17.06.2008

erstellt am: 18. Jun. 2008 14:17    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

besten dank!
läuft!

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