Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  PlatzPuffer durchlaufen und auf Inhalte zugreifen

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:  PlatzPuffer durchlaufen und auf Inhalte zugreifen (1745 mal gelesen)
lepo
Mitglied



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

Beiträge: 10
Registriert: 27.01.2015

erstellt am: 27. Jan. 2015 13:00    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 zusammen,

da ich leider praktisch keine SimTalk-Erfahrung habe, und in der Literatur bzw. mit Hilfe der Suchfunktion keine zufriedenstellenden Ergebnisse finden konnte, hoffe ich, dass Ihr mir weiterhelfen könnt.

Ich würde gerne einen PlatzPuffer mit Hilfe einer Repeat-Schleife durchlaufen, dabei abfragen ob der Platz belegt ist und gegebenfalls den Inhalt umlagern.

Gedacht hatte ich mir folgendes Vorgehen:


is

i:integer;

do

i:=1;
Repeat

if PlatzPuffer.PE(i).belegt then
  PlatzPuffer.PE(i).Inhalt.umlagern(xx);

end;
  i:=i+1;

until i>PlatzPuffer.kapazität;


end;

funktioniert so natürlich leider nicht. Wenn ich das richtig verstanden habe, müsste man ein Object definieren und das ganze dann über str_to_obj mit der Zählvariable verbinden.
Leider konnte ich bisher keinen Lösungsansatz finden. Ich hoffe Ihr könnt mir ein paar Tipps dazu geben.
Viele Dank im voraus.

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: 27. Jan. 2015 14: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 lepo 10 Unities + Antwort hilfreich

Sie müssten eine kleine Zeitverzögerung zwischen den Umlagerungsvorgängen einbauen (z.B. wait(0.001)) sonst blockiert die nachfolgende Station. Ansonsten müsste Ihre Methode funktionieren.

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

lepo
Mitglied



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

Beiträge: 10
Registriert: 27.01.2015

erstellt am: 27. Jan. 2015 15: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,

Danke für die Antwort.

Ich glaube ich hab einen kleinen Fehler in meinem ersten Post.

is

i:integer;

do

i:=1;
Repeat

if PlatzPuffer.PE(i).belegt then
  PlatzPuffer.PE(i).Inhalt.umlagern(xx);

exitloop;
end;

  i:=i+1;

until i>PlatzPuffer.kapazität;


end;


Ein kurzer Überblick über das Gesamtproblem.

Die Schleife soll ein Teil der Ladesteuerung für Transportfahrzeuge sein.
Zunächst wird die Batterieladung überprüft, sollte dies einen bestimmten Wert unterschritten haben, soll das Fahrzeug in einen Puffer vor der Ladestation umgelagert werden und gleichzeitig soll ein weiter PlatzPuffer (Garage bereits geladener Fahrzeuge) durchlaufen und das 1. verfügbare Fahrzeug auf den Weg umgelagert werden.

Sobald das Fahrzeug fertig geladen ist, soll es an der erst möglichen Stelle im Platzpuffer umgelagert werden.

Mit der oben genannten Schleife haut das leider jedoch nicht so wirklich hin.

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: 27. Jan. 2015 15:24    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 lepo 10 Unities + Antwort hilfreich

wenn Sie nur eins brauchen, dann können Sie das Programm etwas abwandeln:
Code:

is
do
  if platzpuffer.belegt then
    platzPuffer.inhalt.umlagern(xx);
  end;
end;

xxx muss lang genug sein, um das Fahzeug aufzunehmen.

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

lepo
Mitglied



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

Beiträge: 10
Registriert: 27.01.2015

erstellt am: 27. Jan. 2015 15:29    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 Antworten.

Ich glaube das Problem war ein copy-paste Fehler aus einer anderen Methode. Funktionier jetzt einwandfrei.

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