Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Zeitversetzte BE´s erzeugen

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:  Zeitversetzte BE´s erzeugen (427 mal gelesen)
VS-Simulator
Mitglied
Doktorand


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

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 13. Mai. 2008 09:56    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,

möchte zeitgesteuert/zeitversetzt BE´s erzeugen lassen. Wie folgt meine Idee für den Code:

If Anzahl_SM_MAN = 50 then
  Sim_Zeit := Ereignisverwalter.Zeit;
  If Ereignisverwalter.Zeit > Sim_Zeit + 180 then
  animation(false);
  for i:=1 to 700 loop
      .BEs.Magnethülse_MAN.erzeugen(SM_MAN);
  next;
  animation(true);
  end;
end;

Es funktioniert alles, wenn ich nicht die Bedingung Sim_Zeit + 180 für die Ausführung angebe.

Könnt ihr mir weiterhelfen, was ich bei dieser Bedingung falsch mache?

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: 13. Mai. 2008 10:06    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 VS-Simulator 10 Unities + Antwort hilfreich

Hallo VS-Simulator,

die Antwort ist ganz einfach: Zu einem Simulationszeitpunkt (nämnlich dann wenn die Methode ausgeführt wird) setzt Du Dir Sim_Zeit := Ereignisverwalter.Zeit; und in der nächsten Zeile prüfst Du, ob Deine Ereignisverwalter.Zeit größer ist als die gerade ausgelesene Zeit +180 - die Bedingugn kann niemals wahr ergeben. Das mußt Du anders machen.

Gruß,
Ortrun

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

VS-Simulator
Mitglied
Doktorand


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

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 13. Mai. 2008 11: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

Hallo Ortrun,

habe das Ganze jetzt anstatt mit If-Bedinungen mit Waituntil realisiert jedoch bekomme ich dann immer die Medlung, dass die Zeile "Waituntil Ereignisverwalter.Zeit > Sim_Zeit + 180 prio 1;" nicht überwachbar ist.

Hab momentan keine andere Idee wie ich sonst dies realisieren könnte. Kannst du mir einen Tip geben?

Danke !!

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

der simulant
Mitglied



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

Beiträge: 71
Registriert: 28.02.2007

-----------
der simulant

erstellt am: 13. Mai. 2008 12: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 Nur für VS-Simulator 10 Unities + Antwort hilfreich

Hallo VS-Simulator,

zu Deinem Problem. Wenn ich Dich richtig verstehe loest Deine Methode aus, wenn eine gewisse Variable "Anzahl_SM_MAN" 50 Stk. erreicht hat. In diesem Augenblick weist Du der Varibalen "Sim_Zeit" die aktuelle Ereignisverwalter.Zeit zu.

Mit Deinem waituntil wolltest Du warten, bis "Sim_Zeit" + 180 vergangen sind.
Warum setzt Du nicht einfach ein -wait 180 in Deinen Methodentext ein.
Hiermit erreichst Du genau Deinen von Dir beschriebenen Zeitversatz.

Gruß

der simulant

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

VS-Simulator
Mitglied
Doktorand


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

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 13. Mai. 2008 15: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 Simulant!

vielen Dank für deinen Tip. Man sieht ja oft das einfache nicht.
Funktioniert nun prima !!

Gruß
Christian

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