Jump to content
hj-suhr

Ereignisgesteurertes Pausieren der Animation

Recommended Posts

Die Diskussion bezüglich der nicht mehr vorhandenen Exportfunktion der Ereignissteuerung habe ich mit großem Interesse verfolgt. Auch ich habe den Wegfall sehr bedauert, da es Fehler gibt, die man nur sehr schwer oder erst nach Wochen findet. Auch die Ereignisanzeige der Objekte ist dann wenig hilfreich, da sie nur die durch das Objekt (z.B. Signal) auszulösende Ereignisse auflistet, nicht die das Signal steuernde.

 

Da solche Ereignisse/Fehler manchmal nur nach Tagen oder Wochen auftreten und auch ich nicht stundenlang darauf warte, kam mir die Idee einer Hilfslösung.

 

Die Funktion des Button „Pausiert alle Animationen“ wäre hier sehr hilfreich, wenn sie ereignisgesteuert ausgelöst werden könnte. Es könnten Bedingungen für die Auslösung definiert werden, die das Problem beschreiben/eingrenzen. Tritt das Ereignis ein und die Bedingungen sind erfüllt, wird der Zustand der Anlage und der Animation eingefroren und die Umstände die ggf. zum Problem führen können untersucht werden.

 

Die vorhandene Funktion zur Deaktivierung der Ereignissteuerung hilft nicht. Da lediglich nichts mehr gesteuert wird, alle Fahrzeuge aber weiterfahren, führt sie nur ins Nirvana.

 

Inzwischen erscheint mir eine solche Lösung insbesondere bei der V5 sinnvoll, da bei mir mit dem Umfang der Fahrzeuge, Größe der Anlage und Komplexität der Ereignissteuerung zunehmend „Fehler“ auftreten, die in der Steuerung nicht erkennbar sind. Erklärbar sind diese Probleme nur mit Laufzeitfehler zwischen verschiedenen Ereignissen. Solche „Fehler“ kann ich dementsprechend nur durch eigebaute Zeitverzögerungen „heilen“

 

Bei meiner bisherigen Lösung wird statt dem „Pausieren“ eine große Signallampe angesteuert. Wird deren Signal nicht übersehen (was bei großen Anlagen sehr wahrscheinlich ist) und der Button zum Pausieren geklickt, ist der Auslösende Zustand längst Schnee von gestern.

 

Vielleicht kann NEO die scheinbar kleine Ergänzung ja umsetzen.

Share this post


Link to post
Share on other sites

Hallo hj,
bevor Neo darauf eingeht, nur ein Tip:
pausieren ist schlecht, ganz stoppen geht aber.
Dazu schreibt Du ein eingrenzendes Ereignis ggf. mit Bedingung und nutzt als Aktion 'Skript ausführen', worin Du einfach error("da isses!") schreibst.
Wenn Du dann das Ereignisprotokoll öffnest und die Bedingung eintritt, wird sofort alles gestoppt. Das EP muß offen sein, sonst wirkt error nicht.
Kann jetzt sein, dass die Syntax für das error-Kommando nicht ganz stimmt, ist aber zumindest ähnlich. Das kriegst Du dann hin.
Unter den derzeitigen Bedingungen immer noch eine ganz brauchbare Lösung.

Gruß
  Andy

Share this post


Link to post
Share on other sites

Hallo Andy,
vielen Dank für den Tip. Werde ihn auf einer Testanlage  ausprobieren.

Gruß
Jürgen

Share this post


Link to post
Share on other sites

Hallo Jürgen,
wir haben da auch schon hinterlistige Fehler gesucht. Notfalls sogar noch über einen Screenrecorder das Geschehen aufzeichnen.
Versuch's vielleicht auch mal mit doppelter bzw. vierfacher Geschwindigkeit. Dann zeigt er sich vielleicht eher. Bei der V5 von MBS kann man sich gut drauf verlassen, dass bei den höheren Geschwindgkeiten keine Dinge verschluckt werden. Dafür ist 1 Sekunde halt keine Sekunde mehr. >> und >>> sind dann nicht akkurat Vielfache. MBS tut dann einfach, was es kann.

Gruß
  Andy

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×