Jump to content

Empfohlene Beiträge

Geschrieben

@Neo

Könntest du in der EV in zukünftigen Versionen eventuell eine Bedingung mit der Abfrage zum Animationszustand einbauen?

Man kann zwar grundlegend als Auslöser wählen "Wenn eine Animation gestartet/gestoppt wird" aber danach nicht mehr unterscheiden ob gestartet oder gestoppt. Das wäre aber eventuell sinnvoll.

Geschrieben

Hallo MarkoP,

das Ereignis "Animation gestartet/gestoppt" liefert als Auslöser bereits den Zustand der Animation mit. Nutze dafür einfach die Bedingung "Eigenschaft/Variable besitzt den Wert" und verwende den entsprechenden Auslöser.

Viele Grüße,

Neo

Geschrieben

Hallo @Neo,

Modelle, bei denen es keine "veraltete Animation" mehr gibt, werden bei dem Ereignis "Animation gestartet/gestoppt" in der Auswahlliste nicht mehr angeboten.

Wie ist denn bei neuen Modellen zu verfahren, oder habe ich etwas übersehen?

LG Ronald

 

Geschrieben
vor 47 Minuten schrieb RoniHB:

Modelle, bei denen es keine "veraltete Animation" mehr gibt, werden bei dem Ereignis "Animation gestartet/gestoppt" in der Auswahlliste nicht mehr angeboten.

Aber sie kennen ein Ereignis "Schalter wird betätigt (integriert)". Dieses Ereignis wird am Ende der Animation ausgelöst.

Geschrieben
vor 13 Minuten schrieb Goetz:

Aber sie kennen ein Ereignis "Schalter wird betätigt (integriert)". Dieses Ereignis wird am Ende der Animation ausgelöst.

Vielen Dank Goetz, das ist ja einfach. Damit kann man z.B, abfragen, ob ein Tor o.ä. geöffnet oder geschlossen wurde.

temp.thumb.JPG.dbf2fc1f5ac8e72c1b75ebafa3a7b5e1.JPG

LG Ronald

 

Geschrieben

@Neo

Zitat

das Ereignis "Animation gestartet/gestoppt" liefert als Auslöser bereits den Zustand der Animation mit. Nutze dafür einfach die Bedingung "Eigenschaft/Variable besitzt den Wert" und verwende den entsprechenden Auslöser.

Das must du etwas genauer ausführen bitte. Hinweis ich nutze vorrangig nur die grafische EV kein LUA.

Dazu hätte ich gleich eine zweite Frage die nicht ganz zum Thema passt aber daran angrenzt:
Im Ereignis kann man zwischen den drei üblichen Punkten (Beliebiges Objekt/Auswählen.../Auswählen (Schlagwort)) wählen. Ist es möglich einer Animation im Studio ein Schlagwort zu geben? Wenn ja, wie ist das Vorgehen?

Geschrieben (bearbeitet)
vor 12 Minuten schrieb MarkoP:

etwas genauer ...

Animationszustand.jpg.643a3757593bc3a85d59e42e244001fa.jpg

false = Animation ist gestoppt, true = Animation läuft (= wurde gerade gestartet)

 

vor 12 Minuten schrieb MarkoP:

Ist es möglich einer Animation im Studio ein Schlagwort zu geben? Wenn ja, wie ist das Vorgehen?

Du kannst dem Objekt ein Schlagwort geben.
Und dann bei "Animation wird gestartet/gestoppt" dieses Schlagwort anstelle des Objekts angeben.

Bearbeitet von Goetz
Geschrieben

Danke @Goetz,

Das hilft schon. In Kombination mit der anderen Frage kann ich dadurch eventuell meine EV um ein gutes Stück verkleinern. Vielleicht kannst du ja auch zu der Frage eine Antwort liefern:

Zitat

Dazu hätte ich gleich eine zweite Frage die nicht ganz zum Thema passt aber daran angrenzt:
Im Ereignis kann man zwischen den drei üblichen Punkten (Beliebiges Objekt/Auswählen.../Auswählen (Schlagwort)) wählen. Ist es möglich einer Animation im Studio ein Schlagwort zu geben? Wenn ja, wie ist das Vorgehen?

 

Geschrieben
Gerade eben schrieb MarkoP:

Vielleicht kannst du ja auch zu der Frage eine Antwort liefern:

Das hatte ich ergänzt. Hat sich zeitlich mit deiner Antwort hier überschnitten.

Geschrieben

Das soll heißen das das Schlagwort das ich dem Objekt gebe das die Animation besitzt bei dem Auslöseereignis auch als Schlagwort für die Animation selbst genutzt wird?

Geschrieben

Also entweder ich habe es falsch verstanden oder es funktioniert doch nicht.

Screenshot2025-05-23144932.thumb.jpg.dfb7c4e8adba412088a2c03fff6f5b8b.jpg

Nicht wundern, das Ereignis wird vor Abfrage aktiviert.
Was mir auffäält, anders als auf deinem Screenshot sieht man bei mir auch nicht die Option Boolischer Wert.

Mit True/False meintest du doch die beiden Zweige der Bedingung, oder nicht?

Geschrieben
Zitat

Den Namen der Animation kannst du nicht durch ein Schlagwort ersetzen.

Das meinte ich nicht. Ich meinte das es das gleiche Schlagwort ist, sowohl beim Objekt selbst als auch bei dessen Animation.

Geschrieben

Du hast es

Gerade eben schrieb MarkoP:

falsch verstanden

Du testest, ob die Variable existiert.
Ich prüfe in meinem Screenshot, welchen Wert sie hat. Denn sie existiert immer, kann aber true oder false sein.

Geschrieben

Hatte es in dem Moment auch gesehen als die Benachrichtigung zu deiner Antwort kam.

Allerdings muss ich die Aktion trotzdem in den oberen Zwei der Bedingung (also true wenn man so sagen will setzen) damit es funktioniert.

Geschrieben
vor 5 Minuten schrieb MarkoP:

Ich meinte das es das gleiche Schlagwort ist, sowohl beim Objekt selbst als auch bei dessen Animation.

Ja, das kann dasselbe Schlagwort sein. Egal, für welches Ereignis du es nutzen möchtest.
 

Geschrieben (bearbeitet)
vor 10 Minuten schrieb MarkoP:

in den oberen Zwei der Bedingung (also true wenn man so sagen will

Schau meinen Screenshot genau an, Marko.

Da ist die Bedingung, dass der Wert "false" ist. Kein Häkchen im Feld "Boolescher Wert"
In diesem Fall ist die Bedingung erfüllt (= true), wenn die Animation stoppt (Animationszustand = false).

Wenn du das Häkchen setzt, dann ist die Situation umgekehrt. Jetzt gilt "Bedingung erfüllt", wenn die Animation startet.

Nicht einfach fummeln, bis es passt. Sondern mitdenken und verstehen!

Du siehst auch im Ereignisprotokoll, wann der Wert "Animationszustand" true ist und wann false.

Bearbeitet von Goetz
Erklärung erweitert
Geschrieben

Nur als Hintergrund:

Ich habe mir für mein Bedientpult einen GBS-Baustein gebastelt, mit dem ich 5 verschiedene Rolltore an einem Gebäude steuern kann:

Screenshot2025-05-23150232.jpg.3cc26a8e918c20241e058780fef13bbd.jpg

Ich wähle dazu ein oder mehrere Rolltore durch aktivieren der Taster A-E aus und aktiviere die "Taste" für Rauf bzw. Runter.

Screenshot2025-05-23150504.thumb.jpg.b4729f90d07f6b48c427977f579bb6a6.jpg

Die EV dazu sieht folgendermaßen aus:

Bei "Rolltore" öffnen" wird geprüft welche Auswahltasten Aktiv sind und entsprechend über Schlagwort die Animation des Objektes gestartet, anschließend mit kurzer Zeitverzögerung werden dann die Zweige für die zutreffenden Rolltore und der unterste Zweig aktiviert.

Wenn die Animation beendet ist wird dann der entsprechende Auswahltaster deaktiviert.

Im untersten Zweig wird ständig der Status der Auswahltasten geprüft und wenn alle Auswahltasten deaktiviert sind werden die beiden Tasten für Raus und Runter deaktiviert.

Die Zeitverzögerungen brauchte ich, da die EV sonst zu schnell war und die Zweige zur Animationsüberwachung schon beim Start ausgelöst haben. Über die Angabe des Schlagwortes kann ich später auch mal mehrere Tore mit einer Auswahltaste steuern wenn das Sinn macht.

Aber wie du siehst ist die EV für die wenigen Aktionen schon sehr komplex und mit dem neuen Wissen muss ich mal schauen ob sich das nicht weiter eingrenzen lässt.

So kann ich zb auch mehrere Rolltore über einen Auswahltaster steuern wenn sie das gleiche Schlagwort haben

Geschrieben
Zitat

Da ist die Bedingung, dass der Wert "false" ist. Kein Häkchen im Feld "Boolescher Wert"
In diesem Fall ist die Bedingung erfüllt (= true), wenn die Animation stoppt (Animationszustand = false).

Wenn du das Häkchen setzt, dann ist die Situation umgekehrt. Jetzt gilt "Bedingung erfüllt", wenn die Animation startet.

OK, dann habe ich "Boolischer Wert" all die Jahre falsch verstanden. Normalerweise ist für die Umkehrung das "negieren" zuständig, dass es ja darunter auch noch einmal gibt. Ich kenne die Funktion "Boolischer Wert" lediglich zur Erkennung von True/False oder 1/0, also damit es keine dritte Möglichkeit geben kann. Das es in dem Fall die Umkehr der Funktion erfüllt, da muss ich mich echt dran gewöhnen.

Geschrieben (bearbeitet)
vor 19 Stunden schrieb MarkoP:

dann habe ich "Boolischer Wert" all die Jahre falsch verstanden.

Nein, das hast du nicht.
Aber ein Vergleich erzeugt einen neuen Booleschen Wert.

Es macht also einen Unterschied, ob du fragst ob Animationszustand == true ist oder ob Animationszustand == false ist.
Je nachdem, wie du den Vergleich schreibst, ist das Ergebnis unterschiedlich. In allen Programmiersprachen!

Bearbeitet von Goetz
Geschrieben

Verstehe ich zwar nicht, aber ist auch egal. Ich habe eine Kombination gefunden die reagiert.

Allerdings habe ich im nächsten Schritt versucht das mit dem Schlagwort einzubauen, dann reagiert es nicht mehr.

Screenshot2025-05-23152918.thumb.jpg.e5c34b8c0addb1bf887c726e6465e88a.jpg

Ich habe im Vergleich zur funktionierenden Lösung nur im Ereigis von "Auswählen..." auf "Auswählen (Schlagwort)" umgestellt und das entsprechende Schlagwort das alle 5 Auswahltaster haben angegeben.

Sicher das das it dem Schlagwort bei einer Animation auch funktioniert?

Geschrieben (bearbeitet)

Ja, das funktioniert sicher, aber dein Auswahlbutton hat bestimmt keine Animation. Sondern das Rolltor!

Und es ist nicht egal, wenn du solche simplen logischen Zusammenhänge nicht verstehst.
Lies die Erklärung bitte noch einmal. Ich habe die Variable X durch Animationszustand ersetzt. Das macht es vielleicht verständlicher.

Das Ergebnis eines Vergleichs ist wahr, wenn beide Seiten gleich sind.
Animationszustand == false ist wahr, wenn der Animationszustand false ist.

Ein Bild drückt es eventuell besser aus:

BoolescheAlgebra.jpg.af9b06cf1271835cd7be9a4451bf91f0.jpg

Bearbeitet von Goetz
Geschrieben

Stimmt, das Rolltor hat natürlich die Animation, war mir auch schon aufgefallen. Die Auswahltaster haben nur auch das Schlagwort um zu prüfen wann alle Ausgeschaltet sind, darum hatte ich es verwechselt.

Das mit dem logischen Zusammenhang verstehe ich schon, aber es gibt ja immer mehrere Kombinationsmöglichkeiten:
True = True / false=false
true=false / false=true (wenn negiert)

Mich hatte verwirrt, dass du oben geschrieben hattest gestoppt = false. False war für mich kurzerhand der zweite Zweig der Bedingung.
Wenn man es richtig betrachtet ist bei nicht negierter Funktion die gestoppte Animation true und sobald sie läuft false. dann passt es auch mit dem Bild. Ich meinte lediglich, dass ich eine Kombination gefunden habe die funktioniert, indem Fall die negierte.

Im Moment bin ich dabei die 5 einzelnen Ereignisse der EV zum Animationsende in ein Ereignis zusammenzufassen, was dank des Schlagwortes jetzt geht. Danach versuche ich die Abfrage der Auswahltaster auch noch in dieses Ereignis zu bekommen, wodurch ich die gesammte Steuerung auf drei Ereignisse eingrenzen könnte. Aber selbst 4 wären ja schon gut.

Geschrieben

Screenshot2025-05-23163110.thumb.jpg.e92f749fdb56a2d6381c2a0d707f5597.jpg

So, mit den neuen Erkenntnissen konnte ich die EV auf 4 Ereignisse reduzieren und in den Ereignissen ca. 2/3 aller Aktionen löschen.
Also deutlich verschlanken und es funktioniert perfekt.

Nächste Änderung wird der Versuch sein, die Animationsgeschwindigkeit irgendwie mit einzubinden.
Ich weiß das man in der EV die Geschwindigkeit einstellen kann, aber da es ja generisch ist kann ich es aktuell nur für alle gleich einstellen. Ich möchte es gerne individualisieren.

Geschrieben

Screenshot2025-05-23165014.thumb.jpg.313740e554d637f74a195c1420861be1.jpg

So, jedes Rolltor hat eine Objektvariable "Geschwindigkeit" bekommen die dann im jeweiligen Öffnen7Schließen-Ereignis abgefragt wird.

Jetzt lassen sich die Tore nicht nur zusammen sondern auch zusammen aber verschieden schnell steuern. Die jeweilige Auswahltaste geht aus sobald die Animation des zugehörigen Rolltors abgeschlossen ist und wenn alle Auswahltasten deaktiviert sind geht auch die Steuertaste aus.

Sollte Bahnland meinen Modellwunsch erfüllen und eine Blinkfunktion in die GBS2-Taster einbauen werde ich es noch so anpassen, dass die Steuerungstaster blinken solange eine Animation läuft.

 

Danke für deine Hilfe 

@Goetz

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...