Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Bearbeitung an Station mit geringster Belegung

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:  Bearbeitung an Station mit geringster Belegung (690 mal gelesen)
newfrog
Mitglied


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

Beiträge: 3
Registriert: 13.12.2012

erstellt am: 13. Dez. 2012 19: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

Hallo,

ich habe eine Flussteuerung und dahinter 3 Puffer. Ich möchte mittels einer Methode die BEs in den Puffer schicken, der die wenigsten BEs enthält.

Gibt es eine einfachere Möglichkeit als eine ziemlich verschachtelte if-else-elseif Unterscheidung bei der stufenweise gegenübergestellt wird welcher Puffer kleiner ist?

Mein Ansatz funktioniert im Moment noch nicht (Syntax  ). Sieht aber wie folgt aus:

Code:

is
do
if .puffer1.AnzahlBEs > .puffer2.AnzahlBEs
then
if .puffer2.AnzahlBEs > .puffer3.AnzahlBEs
then @.umlagern(puffer3);
else @.umlagern(puffer2);
elseif .puffer1.AnzahlBEs < .puffer3.AnzahlBEs
then @.umlagern(puffer1);
else
  @.umlagern(puffer3);
  else
end;
end;
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: 14. Dez. 2012 08:18    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 newfrog 10 Unities + Antwort hilfreich

So kompliziert ist das nicht: Flusssteuerung Ausgangsverhalten Methode --> Sie müssen die Nachfolgernummer zurückgeben:
Code:

: integer
is
do
  if puffer1.anzahlBEs < puffer2.anzahlBEs AND puffer1.anzahlBEs < puffer3.anzahlBEs then
    return 1;
  elseif  puffer2.anzahlBEs < puffer1.anzahlBEs AND puffer2.anzahlBEs < puffer3.anzahlBEs then
    return 2;
  else
    return 3;
  end;
end;



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

newfrog
Mitglied


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

Beiträge: 3
Registriert: 13.12.2012

erstellt am: 14. Dez. 2012 11: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

Vielen Dank für die schnelle Info. Ich hab noch eine Sache, die mir nicht ganz einleuchtet. Ich hab folgenden Code in der Methode. Jetzt kommt für die else-Bedingung @.umlagern(puffer3); die Fehlermeldung "Die Anweisung umlagern darf nicht in Formeln verwendet werden". Warum geht das umlagern in den Puffer 1 und 2 aber nicht in Puffer3?

Code:

is
do
  if puffer1.AnzahlBEs < puffer2.AnzahlBEs AND puffer1.AnzahlBEs < puffer3.AnzahlBEs then
    @.umlagern(puffer1);
  elseif  puffer2.AnzahlBEs < puffer1.AnzahlBEs AND puffer2.AnzahlBEs < puffer3.AnzahlBEs then
    @.umlagern(puffer2);
  else
    @.umlagern(puffer3);
  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: 14. Dez. 2012 12: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 Nur für newfrog 10 Unities + Antwort hilfreich

Welche Einstellungen haben Sie in Ihrer Flusssteuerung und wo haben Sie die Methode "angehängt"?

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

newfrog
Mitglied


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

Beiträge: 3
Registriert: 13.12.2012

erstellt am: 14. Dez. 2012 13:21    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

Die Flusssteuerung ist in den Standardeinstellungen. Im Ausgangsverhalten ist die Methode "Verteilung" ausgewählt, die ich vorher gepostet habe.

Etwas das ich vorher auch noch nicht gesehen hab ist die Meldung:

"Das Formatieren der Methode '.Modelle.Netzwerk.Verteilung' überschreibt den vorhandenen Quelltext. Möchten Sie die Methode trotzdem formatieren?"

Diese tritt auf wenn ich die Methode in der Flusssteuerung ausgewählt habe und auf "übernehmen" klicke.

Wenn ich bejahe sieht die Methode danach wie folgt aus:

Code:

: integer
is
do
-- @ ist das BE
return 1;
end;

Sind Methoden in der Flusssteurung grundsätzlich mit return n zu gestalten? Und gibt das n die Kante an, die von der Flusssteuerung abgeht?

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



Techniker Rohrleitungskonstruktion (m/w/d)
W...
Anzeige ansehenKonstruktion, Visualisierung
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. Dez. 2012 14: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 Nur für newfrog 10 Unities + Antwort hilfreich

Ja, die Methode muss die Nummer des Nachfolgers zurückgeben, siehe mein Listing.

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