Jump to content

Ereignisgesteurertes Pausieren der Animation


Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...