Hallo PlantSimulator2009!
Ich vermute mal, dass du mit Puffer und Lager beide Male das als PufferB bezeichnete Lager meinst?!
Willst du wenn Fraesen1 bzw. Fraesen2 leer ist, gezielt ein entsprechendes Teil aus dem Lager entnehmen? Oder willst du ein Teil aufnehmen und am entsprechenden Zielort warten bis das Teil benötigt wird? Ich vermute mal, du willst gezielt Teile nachladen. Daher ein paar Anregungen in diese Richtung.
Wenn du einzelne Plätze deines Lager ansprechen willst, gibt es die Methode PE(x,y). x,y sind die Dimensionen deines Lagers. Wenn du ein Stahlteil haben möchtest, könntest du folgendermaßen danach suchen in deinem Lager: (in beiden Beispielen ist y=1 und x deine Lagerkapazität)
is
i,j:integer
do
j:=0;
i:=0;
repeat
i:=i+1;
if PufferB.PE(i,1).inhalt.Material="Stahl" then
j:=i;
until j/=0;
PufferB.PE(j,1).inhalt.umlagern(.BEs.Kran:2);
end;
Mit dieser Methode nimmst du gezielt ein Stahlteil auf.
Alternativ könntest du in einer Tabelle die Teile speichern und in der Tabelle nach dem entsprechenden Teil suchen:
is
i:integer;
t:boolean;
do
--- füllen der Bestandstabelle
for i:=1 to PufferB.Kapazität loop
Tabelle[i,1]:=PufferB.PE(i,1).inhalt.Material;
next;
--suchen nach entsprechendem Teil
Tabelle.ZeigerX:=0;
t:=Tabelle.finden({1,1}..{*,1},"Stahl");
if t=true then
PufferB.PE(Tabelle.ZeigerX,1).inhalt.umlagern(.BEs.Kran:2);
else
---was auch immer: eventuell warten?
end;
end;
Dies sind lediglich Anregungen!!! In beiden Fällen wirst du bei leeren Lagerplätzen vermutlich Fehlermeldungen bekommen ("Ein VOID kann keine Methode Material empfangen" oder so ähnlich). Das musst du noch anpassen.
Unabhängig von alledem ist in Zeile 14 ein Fehler: BE.Material="Stahl". Du meinst doch sicher .BEs.Kran:2.inhalt.Material="Stahl".
Für weitere Überlegungen wäre es hilfreich zu wissen, welcher Sensor die angezeigte Methode auslöst. Mir scheinen einige gedankliche Fehler darin zu stecken oder ich habe falsch kombiniert .
[Diese Nachricht wurde von Buffi79 am 08. Apr. 2009 editiert.]
[Diese Nachricht wurde von Buffi79 am 08. Apr. 2009 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP