Hallo zusammen!
Beim Erstellen von Bausteinen habe ich öfters die Notwendigkeit, Ausgänge so zu definieren, dass sie nur bei Änderung senden, das 1. Telegramm bei der Initialisierung oder danach soll aber trotzdem gesendet werden. Die normale Definition
5004|1|0|1|2|0
kann das nicht. Wenn das 1. auszugebende Telegramm False ist, wird nichts gesendet, da False keine Änderung ist.
Wenn ich den Ausgang so anlege:
5004|1|-1|1|2|0
funktioniert das auch nicht. Das "Runden auf Binär" bewirkt offensichtlich, dass bei der Initialisierung in jedem Fall ein True-Telegramm gesendet wird, auch wenn im Baustein kein Senden programmiert ist.
Erst die Variante
5004|1|-1|0|2|0
funktioniert richtig! Das erste Telegramm, welches nach dem Start des Bausteins ausgegeben wird (egal ob während der Initialisierung oder danach), wird auf jeden Fall gesendet. "Runden auf binär" muss allerdings im Baustein selbst berücksichtigt werden.
Das ist eine Funktion, die für mich sehr essentiell ist, denn wenn beim Systemstart z.B. verschiedene Zustände abgefragt werden, möchte ich, dass True oder False in jedem Fall gesendet und weiterverarbeitet wird, auch bei sbc-Ausgängen!
Leider habe ich keine Stelle gefunden, wo dieses Verhalten der Ausgänge so genau beschrieben wäre... - und nachdem es doch einige Zeit gekostet hat, das Verhalten herauszufinden, möchte ich euch diese Erkenntnis nicht vorenthalten!
Wie löst ihr so etwas um ein sauberes Startverhalten des HS hinzubekommen? Das normale sbc-Verhalten ist doch dazu wenig geeignet! Und die sbc-Ausgänge vieler eingebauten Bausteine verhalten sich nochmals anders, hier wird beim Systemstart gar nichts gesendet!
Gruß
GKap
Beim Erstellen von Bausteinen habe ich öfters die Notwendigkeit, Ausgänge so zu definieren, dass sie nur bei Änderung senden, das 1. Telegramm bei der Initialisierung oder danach soll aber trotzdem gesendet werden. Die normale Definition
5004|1|0|1|2|0
kann das nicht. Wenn das 1. auszugebende Telegramm False ist, wird nichts gesendet, da False keine Änderung ist.
Wenn ich den Ausgang so anlege:
5004|1|-1|1|2|0
funktioniert das auch nicht. Das "Runden auf Binär" bewirkt offensichtlich, dass bei der Initialisierung in jedem Fall ein True-Telegramm gesendet wird, auch wenn im Baustein kein Senden programmiert ist.
Erst die Variante
5004|1|-1|0|2|0
funktioniert richtig! Das erste Telegramm, welches nach dem Start des Bausteins ausgegeben wird (egal ob während der Initialisierung oder danach), wird auf jeden Fall gesendet. "Runden auf binär" muss allerdings im Baustein selbst berücksichtigt werden.
Das ist eine Funktion, die für mich sehr essentiell ist, denn wenn beim Systemstart z.B. verschiedene Zustände abgefragt werden, möchte ich, dass True oder False in jedem Fall gesendet und weiterverarbeitet wird, auch bei sbc-Ausgängen!
Leider habe ich keine Stelle gefunden, wo dieses Verhalten der Ausgänge so genau beschrieben wäre... - und nachdem es doch einige Zeit gekostet hat, das Verhalten herauszufinden, möchte ich euch diese Erkenntnis nicht vorenthalten!
Wie löst ihr so etwas um ein sauberes Startverhalten des HS hinzubekommen? Das normale sbc-Verhalten ist doch dazu wenig geeignet! Und die sbc-Ausgänge vieler eingebauten Bausteine verhalten sich nochmals anders, hier wird beim Systemstart gar nichts gesendet!
Gruß
GKap
Kommentar