Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Reihenfolge INIT Methoden

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:  Reihenfolge INIT Methoden (3088 mal gelesen)
RostigerNagel
Mitglied
Student


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

Beiträge: 23
Registriert: 27.03.2006

eM-Plant 7.5.5
Win2k

erstellt am: 19. Mai. 2006 12:46    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,

weiss jemand wie die Reihenfolge der Abarbeitung der Init Methoden festgelegt ist oder festgelegt werden kann?

Problem:
Im Root Netzwerk Fabrik befinden sich Unternetzwerke z.b. Lager und Kanban Steuerung.
Beim Init Aufruf soll das Lager Initialbefüllt werden und in der Kanban Steuerung die Kanbans in form einer Tabelle erzeugt werden.

Das Problem ist, dass zuerst die Init des Lagers gerufen wird (also BEs erzeugt werden und versuchen einen Kanban zu erwerben) bevor die Kanbans erzeugt werden.

Im Moment behelfe ich mir damit die Kanbantabelle bei RESET auf den Startwert zu setzen. Da ich den Experiment Manager nutzen will, wäre es aber sauberer wenn die Kanbantabelle per Init gesetzt würde.

Ich habe schon versucht die Kanban Init Methode in der Init Methode des Root Netzwerkes zu rufen...doch siehe da, diese Init Methode wird nach der Lager Init und ebenfalls nach der Kanban Init abgearbeitet.

dankbar,
Ich

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


Ex-Mitglied

erstellt am: 19. Mai. 2006 13:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

ich vermute mal, die einzelnen init-Methoden werden in der Reihenfolge ihrer Erzeugung im Modell aufgerufen und zwar die zuletzt Erzeugte zuerst !

Du kannst die Reihenfolge beeinflussen, indem Du einfach im Modell ein Subnetz kopierst und das ursprüngliche Subnetz mit dem kopierten Netz austauschst. Dann wird z.B. die init-Routine dieses zuletzt erzeugten Netzes als 1. aufgerufen.

Gruss

------------------
Der Simulator

[Diese Nachricht wurde von Simulator am 19. Mai. 2006 editiert.]

RostigerNagel
Mitglied
Student


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

Beiträge: 23
Registriert: 27.03.2006

eM-Plant 7.5.5
Win2k

erstellt am: 19. Mai. 2006 14: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

Hm... das ist dann doch etwas unpraktisch würde aber gehen.
Es wundert mich, dass tecnomatix eine Möglichkeit zum Steuern des Init Ablaufes nicht bedacht hat. Es kann ja schon das eine oder andere mal auftreten, dass x vor y erzeugt werden muss. Und dann immer komplett das Modell umbauen ist ein wenig hinderlich.

Danke.

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


Ex-Mitglied

erstellt am: 19. Mai. 2006 14:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

Also bedacht wurde es meines Erachtens schon.
Mit  einer  Wait - Anweisung in der jeweiligen init-Methode kannst Du ja die Anweisungsausführung zeitlich verzögern.

Gruss

------------------
Der Simulator

RostigerNagel
Mitglied
Student


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

Beiträge: 23
Registriert: 27.03.2006

eM-Plant 7.5.5
Win2k

erstellt am: 19. Mai. 2006 15:37    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

Sehr gute Idee...

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

Homer Simpson
Mitglied



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

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 20. Mai. 2006 20:50    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 RostigerNagel 10 Unities + Antwort hilfreich

Eine wait-Anweisung ist möglicherweise keine so gute Idee, da man dann ja eine bestimmte Zeit verstreichen lassen muss (und wenn es nur eine hunderdstel Sekunde Simulationszeit ist). Selbst falls "wait 0" auch funktionieren sollte (wobei ich mir da nicht so sicher bin), so werden trotzdem evtl. andere Ereignisse, die zum Simulationszeitpunkt 0 eingereiht sind, vorher abgearbeitet, also bevor die Methode weiterläuft.

Es gibt aber noch zwei andere Möglichkeiten, das Problem zu lösen: Erstens könnte man in der Init-Methode eine weitere Methode (hier z.B. namens NachInit) mittels ref(NachInit).neueAufrufkette; ausführen (ich hoffe, die Methode heißt wirklich so). Eine so aufgerufene Methode wird nach allen anderen (Init-)Methoden aber vor dem nächsten Ereignis ausgeführt.

Die zweite Möglichkeit besteht darin, eine Init-Steuerung beim Ereignisverwalter einzutragen. Dazu selektiert man den Ereignisverwalter und drückt F3. Dann doppeltklickt man auf die Zeile mit InitSt und gibt in dem sich öffnenden Eingabefeld den Namen der auszuführende Methode ein (z.B. VorInit). Diese Methode wird jetzt vor allen anderen Init-Methoden ausgeführt.

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