Seite 2 von 2

Re: Modul: SendExplizit

Verfasst: Do Jul 02, 2020 10:29 pm
von Robert_Mini
Zum obigen Vorschlag von Wolfgang sein noch ergänzt, dass es schon "CT" gibt, da käme auch noch "CTX" dazu, was formatierungstechnisch problematisch sein könnte.

Robert

Re: Modul: SendExplizit

Verfasst: Do Jul 02, 2020 11:57 pm
von Robert_Mini
Hallo Stefan @S. Kolbinger!

Was mir aufgefallen ist:
Vergisst man beim output das "x" und lässt dort "a" im Code stehen, dann wird das SendExplicit ignoriert.
Das ist zwar irgendwie logisch (auf Basis der Diskussion oben), aber für einen Anwender dann auch wieder unlogisch.

Auch wenn wir es oben anders besprochen haben, denke ich, dass die Anzeige von x an der Oberfläche nicht zwingend ist, es wird ja auch ein interner Timer nicht sichtbar, ein Trigger-Eingang schon...

Hier kommt die Doppelgleisigkeit von GUI und Code ins Spiel. Da bin ich mit der letzten Änderung, wie SendeOptionen in die Oberfläche kommen, auch schon etwas unglücklich (auch wenn ich das mit angeregt habe).
- Code Änderung wird aktuell immer übernommen, auch wenn der Input oder Output selbst unverändert ist => damit werden Änderungen an der Oberfläche immer wieder überschrieben.
- Das ursprüngliche Verhalten war auch nicht optimal: da wurde eine Änderung der Trigger bzw. Sendeoption erstmalig übernommen, ab dann war die Oberfläche führend. Eine Änderung im Code wurde nicht mehr übernommen.
- Korrekt (oder ideal) wäre aus meiner Sicht immer die letzte Änderung: Sprich Code Änderung => GUI übernimmt den Wert, GUI bleibt führend, Code Änderung am jeweiligen Input/Output => GUI wird überschrieben. Das war ursprünglich fast schon so (Variable geändert => SendeOption neu gesetzt), nur das Anpassend der Sendeoption wurde ignoriert.

Zurück zum SendExplicit: => Ich denke mal laut:
- Ein SendExplicit im Code sollte immer wirken
- Im Output Angabe von A, C, T, CT oder X
- In der GUI wird A, C, T, CT oder X angezeigt und kann auch verändert werden, wobei X nur zur Auswahl steht, wenn SendExplicit im Code gesetzt ist.
- X bedeutet "SendExplicit Only", A, C, T, CT wie bisher, aber ein etwaiges SendExplicit im Code wird zusätzlich ausgeführt.

Würde dann in der Doku heißen:
X ... SendExplicit only
A ... Always
C ... On change: Object is sent, when value is changed or SendExplicit is used.
T ... On Timer: Object is sent, when timer ends or SendExplicit is used.


Eigentlich wollte ich nur das Verhalten ganz oben melden, ob das so passt. Wenn ja kann alles so bleiben, denn ich bin von SendExplicit schon jetzt begeistert. Zusammen mit dem Modul "Triggered" ergeben sich damit wirkliche viele Möglichkeiten, die bisher mit "break" nur teilweise bzw. sehr holprig umsetzbar waren!

lg
Robert

Re: Modul: SendExplizit

Verfasst: Fr Jul 03, 2020 10:42 pm
von paralan
Hallo zusammen,

ich habe heute mal mit dem neuen Modul gespielt (V1.6.0 I.P. 3) und wollte einen Sendefilter mit einem einfachen AND Modul aufbauen.
Es soll nur das True gesendet werden, wenn das AND Modul auch ein True senden würde. Im Doktor Modus schaltet der Ausgang immer gleich wie der Eingang. Es wird also auch das False ausgegeben.
Könnt mir da jemand auf die Sprünge helfen? :think:

Zweite Frage: Kann der Optionsparameter (0-3) auch über eine Eingangsvariable versorgt werden?

Code: Alles auswählen

{
  "Level": [
    ["$In_val", "bool",false],
    ["$Out_val","bool",false]
  ],
  "Module": [
    ["And",["$In_val"],"$Out_val"],
    ["SendExplicit","$In_val","$Out_val",1]
  ],
  "Input": [
    ["Eingang","Eingangswert","$In_val","a"]
  ],
  "Output": [
    ["Ausgang","Ausgangswert","$Out_val","x"]
  ]
}

Re: Modul: SendExplizit

Verfasst: Sa Jul 04, 2020 9:22 pm
von Robert_Mini
paralan hat geschrieben: Fr Jul 03, 2020 10:42 pm Im Doktor Modus schaltet der Ausgang immer gleich wie der Eingang. Es wird also auch das False ausgegeben.
Könnt mir da jemand auf die Sprünge helfen? :think:
Was ich bisher gesehen habe, wird der Ausgang im Dokmode übernommen, aber nicht gesendet => Test-GA anschließen und am Busmonitor schauen.
Das ist der Unterschied zum Break, wo auch die Ausführung abgebrochen wird und der Ausgang gar nicht beschrieben wird.
In deinem Beispiel wir der Ausgang ja beschrieben, aber das Senden unterdrückt.
paralan hat geschrieben: Fr Jul 03, 2020 10:42 pm Zweite Frage: Kann der Optionsparameter (0-3) auch über eine Eingangsvariable versorgt werden?
Meines Wissens nicht => ausprobieren.

lg
Robert

Re: Modul: SendExplizit

Verfasst: Mo Jul 06, 2020 9:23 am
von paralan
Danke Robert. Ich werde das mit einer GA testen. Der Dok-Mode hat mich da irritiert. Vielleicht kann man das ja noch optimieren.

Re: Modul: SendExplizit

Verfasst: Di Jul 14, 2020 9:29 pm
von paralan
Hallo Robert,

konnte heute nochmal das neue SendExplizit Modul testen. Es war so wie du vermutet hast. Im Dok-Mode wird der Ausgang als gesendet angezeigt, es wird aber nichts auf den BUS gesendet. Das Modul funktioniert also einwandfrei!!

Vielleicht kann man in Zukunft die Anzeige im Dok-Mode so anpassen, dass der rechte Zustand am Ausgang (da wo das Objekt verschaltet ist) nur einen Status anzeigt, wenn auch was gesendet wird.

Danke nochmal für deinen Tipp! :handgestures-thumbsup:

Re: Modul: SendExplizit

Verfasst: Do Jul 22, 2021 1:01 pm
von Eraser
Hallo

hat sich hier noch etwas getan oder ist der Zustand wie bei 1.6 gleich geblieben?

Würde jetzt endlich dazu kommen, das SendExplicit in ein paar Logiken einzubauen.
Bei mir wäre der Anwendungsfall jener, dass ich mit dem SendExplicit spezielle Ausgänge bei einem Triggersignal senden will, obwohl der Ausgang auf C steht und sich nicht geändert hat. Laut den letzten Infos in diesem Thread geht das derweil also nur, indem man den Ausgang verdoppelt und den einen auf C stellt und den anderen auf X. Beide Ausgänge dann mit der gleichen GA verbinden. Ist dies so korrekt?