Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Ereignisse aufzeichnen

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:  Ereignisse aufzeichnen (2456 mal gelesen)
Nash25
Mitglied



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

Beiträge: 32
Registriert: 20.02.2007

erstellt am: 07. Mai. 2007 10:40    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,
wisst ihr wie ich Ereignisse einer Simulation aufzeichnen kann?

Ich will solche Ereignisse hier Aufzeichnen:
1. BE wird erstellt
2. BE wird zerstört
3. BE „betritt“ die Maschine
4. BE verlässt die Maschine
5. Maschinen Attribut XY wird verändert
6. BE wird zusammengebaut
7. BE wird auseinandergebaut

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


Ex-Mitglied

erstellt am: 07. Mai. 2007 17:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

schau Dir mal das Thema "Protokolldatei" an.

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

Nash25
Mitglied



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

Beiträge: 32
Registriert: 20.02.2007

erstellt am: 07. Mai. 2007 17:17    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 hab ich gefunden, aber wie kann ich mich selbst an die Ereignisse drann hängen?
ich will z.B. auch noch eigene Parameter an jeder Zeile eines Trace Files, bei bestimmten Ereignissen drannhängen.
Desweiteren bekomme ich in der Trace File keine Ereignisse wie, BE tritt in Maschine A ein, BE tritt aus Maschine A aus
Zitat:
Aus            1:00.0000 .BEs.Fördergut:158076 (.Modelle.Netzwerk.Einzelstation)
  Aus            1:00.0000 .BEs.Fördergut:158075 (.Modelle.Netzwerk.Senke)
  ErzeugeBE      1:00.0000 .Modelle.Netzwerk.Quelle
  Aus            1:00.0000 .BEs.Fördergut:158077 (.Modelle.Netzwerk.Quelle)
  Aus            2:00.0000 .BEs.Fördergut:158076 (.Modelle.Netzwerk.Einzelstation)

z.B. Fördergut: 158076 der gibt mir beidemale wieder das BE geht "Aus" der Einzelstation

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


Ex-Mitglied

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

hmmmm,

ich glaube, Du versuchst gerade Deine eigenen Ideen und Vorstellungen in eMPlant wieder zu finden.

Wenn in der Ereignisliste - dem eigentlichen "Herz" des ereignisorientierten Simulators- 2 "AUS"-Ereignisse  des .BEs.Fördergut:158076 von der "Einzelstation"  zum Zeitpunkt 1 /2min stehen, so bedeutet es fuer mich nur, dass zum 1. Ereigniszeitpunkt das Be nicht umgelagert werden konnte (vielleicht weil die Senke blockiert war ?) und ein neues Be-"Aus"-Ereignis zum Zeitpunkt 2 min bestimmt und in die Ereignisliste eingereiht wurde.

Das Verhalten ist also wohl korrekt!

Wenn im Tracefile nicht die von Dir erdachten Ereignisse ("BE tritt in Maschine A ein") stehen, so werden Sie wohl so auch  nicht benötigt fuer die Ereignisverarbeitung oder lassen sich durch andere Zusammenhänge bestimmen ( z.B. Vorgänger/ Nachfolgerbeziehung)

Soweit ich weis, kannst Du die Protokolldatei in eine Tabelle auslesen. Hier hättest Du durch eine  weitere Spalte, die Möglichkeit "etwas" anzuhaengen.

Hast Du Dir eigentlich auch die 3D-Protokolldatei angeschaut ?

In dieser Datei werden alle relevanten Daten fuer die 3D-Simulation protokolliert.


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

Nash25
Mitglied



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

Beiträge: 32
Registriert: 20.02.2007

erstellt am: 08. Mai. 2007 10:54    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

also die Protkolldatei ist ja nur eM-Plant spezifisch.
und ist auch nur eine binär Datei.
Ich muss ein allgemeines Konzept zur Kopplung einer Simulation an eine externe Visualisierung entwickeln.
das ganz mache ich am Beispiel eM-Plant.

Hier wird mir z.B. nicht angezeigt das das BE 1 zur Zeit 0 in der Quelle erzeugt wird.

Zitat:
ErzeugeBE      0.0000 .Modelle.Netzwerk.Quelle
  Aus            0.0000 .BEs.Fördergut:1 (.Modelle.Netzwerk.Quelle)
  ErzeugeBE      0.0000 .Modelle.Netzwerk.Quelle
  Aus            0.0000 .BEs.Fördergut:2 (.Modelle.Netzwerk.Quelle)
  Aus            1:00.0000 .BEs.Fördergut:1 (.Modelle.Netzwerk.Einzelstation)

Die von mir definierten Ereignisse machen meines erachtens eine Ereigniss Simulation aus.
Wie könnte ich solche Ereignisse Mitloggen?

Zitat:
1. BE wird erstellt
2. BE wird zerstört
3. BE „betritt“ die Maschine
4. BE verlässt die Maschine
...

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: 08. Mai. 2007 14:35    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 Nash25 10 Unities + Antwort hilfreich

Ab Plant Simulation 7.6 kann man mittels der globalen Funktion setMUTraceRouteMethod(ref(Methode)); eine Methode bestimmen, die aufgerufen wird, sobald ein BE von einem Objekt auf ein anderes umgelagert wird. Der Methode wird u.a. der alte und neue Standort übergeben. Somit kann man einfach den Materialfluss mitprotokollieren. Achtung: Die Methode wird erst aufgerufen, wenn der Referenzpunkt umgelagert wird.

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

Nash25
Mitglied



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

Beiträge: 32
Registriert: 20.02.2007

erstellt am: 08. Mai. 2007 14: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

die Funktion schau ich mir mal an.

ich bin bis jetzt "soweit" gekommen

Code:
EreignisTabelle := Ereignisverwalter.holeEreignisListe(0);
if(EreignisTabelle[ 2, 1]="ErzeugeBE") then
Hilfe := EreignisTabelle[ 4, 1];
BE := Hilfe.BEStueck(Hilfe.AnzahlBEs);
temp := false;
end;


ich will mitloggen wenn das Ereigniss ErzeugeBE erscheint dann, soll er mir die IDE des BE's speichern
nur dumm das, wenn dieses Ereigniss auftritt, sich das BE noch auf keinem Objekt befindet, dafür brauch es anscheinend noch ein zweites Ereigniss

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


Ex-Mitglied

erstellt am: 08. Mai. 2007 17:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

@ Protokolldatei

die 2D-Protokolldatei ist mit jedem Texteditor einles- und bearbeitbar!
die 3d-Protokolldatei ist eine gepackte (*.gz) Textdatei - also auch les- und editierbar!!

Den Inhalt kannst Du auch während der (3D-)Simulation in der Konsole ausgeben lassen (rechte Maustaste und Channels aktivieren).


   

Zitat:

Die von mir definierten Ereignisse machen meines erachtens eine Ereigniss Simulation aus.
Wie könnte ich solche Ereignisse Mitloggen?


mach es doch so:

1. BE wird erstellt
wird durch  das Aus-Ereignis der Quelle nachgebildet

2. BE wird zerstoert
wird durch  das Aus-Ereignis der Senke nachgebildet

3. BE "betritt" Station
wird durch das Aus-Ereignis der Vorgängerstation bestimmt.
Also such in der chronolgisch sortierten Ereignisliste das Vorgänger-Aus-Ereignis zum spezifischen Be.

4. BE "verlässt" Station
s. Aus-Ereignis

Diese 4 Ereignisse kannst Du aber auch ueber folgende Methode protokollieren.


is
ort1    : object;
do
print @,"erzeugt auf ",chr(9),?.~;

ort1:=?.~;

repeat
waituntil ?.~/=ort1 prio 1;
if ort1 /=VOID then
print @, " verlässt", ort1;
print @, " betritt ", ?.~;
end;
ort1:=?.~;
until false or ort1.internalclassname="Drain";

print @,"vernichtet auf ",chr(9),?.~;

end;

trage sie beim Be in das Feld der Konstruktorsteuerung ein.

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

Nash25
Mitglied



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

Beiträge: 32
Registriert: 20.02.2007

erstellt am: 08. Mai. 2007 18: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

stimmt, und wieder hast du recht, die 3D informationen waren nur gepackt.
Ich kann diese Infos aber nicht verwenden, da die möglichkeit gegeben sein muss Simulatoren an die Visualisierung anzuschließen, welche keine 3D Ausgabe haben.

dein Quellcode ließt sich für mich wie assembler code 

ich finde die Konstruktersteuerung bei dem BE nicht.

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


Ex-Mitglied

erstellt am: 08. Mai. 2007 18:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Welche Simulatoren haben keine 3D-Ausgabe ?

@Konstruktorsteuerung

Menue "Extras" und dann "Steuerungen" auswählen.

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

Nash25
Mitglied



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

Beiträge: 32
Registriert: 20.02.2007

erstellt am: 08. Mai. 2007 18:39    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

ich bin über Select Controls auf den Konstruktor gekommen.
dort hab ich den Namen "meiner" Methode dann eingetragen
z.B. SLX der verfüt über keine 3D Visualsierung, soll aber angeblich verdammt schnell und gut sein, kann ich aber nicht beurteilen

aber wenn man jeder simulationssoftware an eine Visualisierungssoftware koppeln kann wäre es doch schon toll.

PS: kannst du mir bitte kurz deinen Quellcode erklären?
das klingt alles so verdammt kryptisch für mich

print @," erzeugt auf ",chr(9),?.~;
ort1:=?.~;
?.~/=ort1

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


Ex-Mitglied

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


@ = aufrufendes BE = ? in diesem Fall !!

?.~ = @.standort, also Objekt auf dem das Be liegt

ort1 = Vorgaengerort des BEs.

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

Nash25
Mitglied



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

Beiträge: 32
Registriert: 20.02.2007

erstellt am: 08. Mai. 2007 19:39    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

achso @ ist sowas wie ein this zeiger
aber warum steht das ? dann nochmal für das BE?

es ist doch sicher realisitisch das sich Attribute eines Objektes währen der Laufzeit ändert?

Ich meine jetzt solche Attribute, bei stationären Objekte, wie z.B. Förderstrecke.
Das man z.B. sagt weil zuviele BE's sich auf dem Förderband befinden ändern wir die Geschwindigkeit des Förderbandes.
wie könnte man sowas abfragen?

Welche Attribute ich überwache, gebe ich natürlich vor.
über eine externe Methode und ein Waituntil (Value Changed)?

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


Ex-Mitglied

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

  
Zitat:

aber warum steht das ? dann nochmal für das BE?

Der anonyme Bezeichner ? verweist auf den Baustein, der die Methode aufruft. (s. Hilfe)

in diesem Fall wird die Methode vom Be (Konstruktorsteuerung) aufgerufen !

Besser , Du machst dies ueber eine Eingangssteuerung des Förderbandes

if ?.anzahlbes > ... then
?.geschwindigkeit:=0.1 ;
else
?.geschwindigkeit:=0.15 ;
end;


  


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

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