Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  FHM nach bestimmten BEs durchsuchen

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:  FHM nach bestimmten BEs durchsuchen (1363 mal gelesen)
Stugots
Mitglied


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

Beiträge: 5
Registriert: 06.01.2014

erstellt am: 06. Jan. 2014 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

Hallo erstmal!

Ich habe eine wahrscheinlich einfach zu beantwortende Frage: wie kann man anhand einer Methode prüfen, ob ein FHM ein bestimmtes BE enthält? In meiner Simulation können die FHM viele verschiedene BEs aufladen und ich würde die FHMs gern später anhand eines bestimmten BE sortieren.

Ich komme nur leider nicht auf den benötigten Code. Bisher:

if @.Inhaltsliste = BETyp3 then
umlagern usw.

Muss anhand der "Inhaltsliste" geprüft werden? Ist ein anderer Befehl nötig? Dass das "=" nicht ausreicht, ist mir klar, nur wie kann die Inhaltsliste durchsucht werden?

Besten 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: 06. Jan. 2014 23:10    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 Stugots 10 Unities + Antwort hilfreich

Sie suchen bestimmt nach einem BE-Namen..
Die Inhaltsliste brauchen Sie nicht unbedingt. Mit anzahlBEs können Sie ermitteln, wie viele BEs auf dem FHM sind und mit BE(i) können Sie auf jedes einzelne BE zugreifen. Das alles in eine Schleife verpacken:

Code:

for local i:=1 to FHM.anzahlBEs loop
if BE(i).name="BETyp3" then
  BE(i).umlagern(ziel);
  exitloop;
end;
next;


Siehe Hilfe anzahlBEs, BE oder [] ...

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

Stugots
Mitglied


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

Beiträge: 5
Registriert: 06.01.2014

erstellt am: 13. Jan. 2014 18:52    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 und vielen Dank schonmal;

leider klappt es noch nicht so ganz... ich muss zugeben, dass ich als Neuling auch nicht sehr viel Erfahrung habe und noch oft Syntaxfehler einbaue. Meine Methode, die als Ausgangssteuerung fungiert, sieht folgendermaßen aus:

Code:

is
do
for local i:=1 to @.anzahlBEs loop
if BE(i).name="BETyp3" then
@.umlagern(FB211);
  exitloop;
else
@.umlagern(FB663);
end;
next;
end;


Mit der Methode stauen sich die FHMs nun am Ausgang. Muss ich den exitloop anders setzen? Das next?

Und wird mit der Funktion "BE.name" denn nach dem konkreten Namen gesucht und nicht nach der Art? Also, Name im Sinne der einmaligen Namensvergabe bei Erstellung an der Quelle. Ich suche allerdings nach der übergeordneten Art, also nach einem der zwölf möglichen BE-typen.

Besten Dank soweit noch einmal!

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. Jan. 2014 19:04    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 Stugots 10 Unities + Antwort hilfreich

Wie erkennen Sie einen BE-Typ (benutzerdefiniertes Attribut) ?
Sind die FHM nur mit einem Typ beladen?
Wollen Sie ledigleich die FHM unterschiedlichen Zielen zuordnen?

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

Stugots
Mitglied


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

Beiträge: 5
Registriert: 06.01.2014

erstellt am: 14. Jan. 2014 09:27    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

Ja, das ist die Frage: wie erkenne ich einen BE-Typ? Ich habe nicht einem BE ein neues Attribut zugeordnet, sondern zwölf verschiedene BEs erstellt. Dafür steht jedes BE für einen anderen Artikel in einem Kommissioniersystem.

Wäre die Geschichte einfacher, wenn ich nur ein BE habe, das aber dann ein neues Attribut hat? Ich habe neue Attribute bisher nicht hinzufügen können.

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: 14. Jan. 2014 10:23    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 Stugots 10 Unities + Antwort hilfreich

wenn Sie unterschiedliche BEs erstellt haben, dann haben die BEs unterschiedliche Namen; das ist die Standard-Vorgehensweise in Plant Simulation.

Wenn es darum geht, die FHM auf verschiede Fördertechnikelemente zu verteilen, dann müsste das folgende reichen:

Code:

is
do
  if @.inhalt.name="BETyp3" then
    @.umlagern(FB211);
  else
    @.umlagern(FB663);
  end;
end;


Mit Name wird der Name zurückgegeben, den Sie für das BE in der Klassenbibliothek festgelegt haben.

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

Stugots
Mitglied


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

Beiträge: 5
Registriert: 06.01.2014

erstellt am: 15. Jan. 2014 14:23    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, das funktioniert nun teilweise: die Methode erkennt allerdings nur den BE-Typen, der als letztes auf das FHM geladen wurde. Wenn ein BE-Typ schon vorhanden ist und danach ein anderes hinzukommt, erkennt es die Methode nicht.

Muss nun doch die Inhaltsliste durchsucht werden?

Vielen Dank für Ihre Hilfe!

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

Stugots
Mitglied


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

Beiträge: 5
Registriert: 06.01.2014

erstellt am: 15. Jan. 2014 15: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

Zur Ergänzung hier ein erster Quelltext für die Überprüfung des Attributs "Inhaltsliste" (table). Warum wird mir in der vierten Zeile gleich ein Fehler angezeigt, dass die Parameteranzahl als 1 erwartet, aber als 0 übergeben wird?

Code:
is
    i : integer;
do
@.Inhaltsliste.setzeZeiger(1,1);
gefunden:=@.Inhaltsliste.finden({1,1}..{1,*},"Fördergut3");

  if gefunden then
    @.umlagern(FB211);
  else
  @.umlagern(FB663);
  end;
end;

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: 15. Jan. 2014 17: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 Stugots 10 Unities + Antwort hilfreich

Der Methode inhaltsliste müssen Sie eine Tabelle übergeben, darin wird die Inhaltsliste gespeichert. Die Inhaltsliste enthält Objektverweise. Mit denen müssen Sie dann weiter arbeiten, z.B.:
Code:

is
  i,k : integer;
  ih : table;
  gefunden:boolean;
do
  ih.create;
  @.Inhaltsliste(ih);
  for i:=1 to ih.xDim loop
    for k:=1 to ih.yDim loop
      if ih[i,k].name="Fördergut3" then
        gefunden:=true;
        exitloop 2;
      end;
    next;
  next;
 
  if gefunden then
    @.umlagern(FB211);
  else
    @.umlagern(FB663);
  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