Naja, gewollt insofern,
5012|9001|0|""|"EN[1]<>0"|""|1|0|0|2
als dass das Formel-Ergebnis auf Ausgang 1 und das invertierte Ergebnis auf Ausgang 2 soll.
Nach meinen Beobachtungen würde ich mal behaupten, dass der negative Ausgang immer nach dem Hauptausgang gesetzt wird. Das mit dem Rücksetzen (mache ich oft per Telegrammverzögerung) ist eine coole Idee!
Ankündigung
Einklappen
Keine Ankündigung bisher.
Homeserver: Kommunikation und erste Gehversuche
Einklappen
X
-
Hast Du eine Quelle für das 'gewollt', insbesondere interessiert mich die Frage, ob die Reihenfolge definiert ist? Reihenfolge der Ausgänge? Ich habe interessehalber mit einem anderen Baustein, der auch einen neg-Ausgang hat (9009) getestet - auch hier kann ich bei einem 'Ausgangskurzschluß' auf dasselbe KO das Toggeln beobachten. Dies würde einen wirklich kompakten rücksetzenden Trigger ermöglichen.Zitat von MatthiasS Beitrag anzeigen[...] Wenn ich da natürlich das gleiche Ojekt anhänge, geht das schief, ich habe nacheinander das postitive und das invertierte Ojekt am Ausgang.
Das ist so gewollt. [...]
Einen Kommentar schreiben:
-
Jo, danke. Hatte ich gerade auch über das Wiki gefunden.Zitat von MatthiasS Beitrag anzeigenUnd zwecks Entwickler-Doku, eigenem Nummernbereich für Bausteine:
http://www.dacom-homeautomation.de/p...id=delogikentw
BTW: Dein dortiger Link zeigt ins Nirwana
Einen Kommentar schreiben:
-
Und zwecks Entwickler-Doku, eigenem Nummernbereich für Bausteine:
http://www.dacom-homeautomation.de/p...id=delogikentw
Einen Kommentar schreiben:
-
Danke. Damit hat sich ein Teil meiner Frage erledigt.Zitat von dhe Beitrag anzeigenEinen einfachen Einstieg bietet dir das Wiki:
https://knx-user-forum.de/mediawiki/...tein_erstellen
Die Variablen sind ganz unten mit einem Link zu erreichen (welche Variable für was ist).
Und in logic.dat steht auch wunderbar dokumentiert, dass eine Änderung der Dauer in der Treppenhauslichtfunktion ignoriert werden soll...
Einen Kommentar schreiben:
-
Um das Thema Binärauslöser abzuschließen:
Nach meinem(!) Verständnis wird laut Beschreibung dieses Bausteins immer nur ein Ausgang beschickt, nicht beide nacheinander:
Daher habe ich das nicht als Problem gesehen. Sicher ist, der Baustein "works as coded", nach meiner Meinung aber nicht "works as documented".Zitat von Doku zu BinärauslöserIst der Wert des Eingangstelegramms ungleich Null, erfolgt die Ausgabe an Ausgang 1.
Ist der Wert des Eingangstelegramms gleich Null, erfolgt die Ausgabe an Ausgang 2.
Aktuell bin ich mit einer Treppenhausfunktion beschäftigt, bei der ich aber mit dem passenden Baustein alleine nicht hinbekomme, dass während der Treppenhauslichtzeit das Dauerlicht angefordert wird. Eine Änderung auf 0 an E1 bewirkt nicht, dass A3 nicht auf 0 gesetzt wird. Lösen kann man das, indem man das nachher nochmal mit dem dann aktuellen Status ver'und'et, dennoch möchte ich es aus Lerngründen auch anders realisieren.
Dazu würde ich mir gerne einen einfachen Timer als eigenen Logikbaustein bauen, der einmalig eine Zeit bekommt und nach den x Sekunden den Ausgang auf irgendwas setzt, das ich auswerten kann, unabhängig davon, was am Eingang weiterhin passiert, vielleicht auch noch mit einem resetierbaren Eingang "for future use".
Nun finde ich aber weder die hsl-Datei für die Treppenhauslichtfunktion noch die Ein/Auschaltverzögerung unter logic, um mal zu schauen, wie man sowas macht. Könnt ihr mir sagen, wo ich schauen muss?
Kann man eigentlich Logikbausteinmakros oder gar -funktionen schreiben? Wenn ich immer wiederkehrend 3 oder mehr Bausteine gleichartig zusammenstelle, wäre das echt eine Vereinfachung.
Einen Kommentar schreiben:
-
Einen einfachen Einstieg bietet dir das Wiki:Zitat von Tokamak Beitrag anzeigenGibt es eine Doku über Format und einsetzbare Funktionen? Dann kann man sich den einen oder andern Baustein selbst bauen.
https://knx-user-forum.de/mediawiki/...tein_erstellen
Die Variablen sind ganz unten mit einem Link zu erreichen (welche Variable für was ist).
Grüsse
Dominique
Einen Kommentar schreiben:
-
Korrektur:
Die Funktion des Binaus ist so definiert:
Der Baustein gibt an A1 das Ergebnis der boolschen Operation "E1<>0" aus. An A2 das invertierte Ergebnis.
Du könntest dein Wunschziel erreichen, wenn du das Ausgangsobjekt nur an A1 anhangst. Da erscheint dann der durchgereichte Eingang.
Einen Kommentar schreiben:
-
Ich verstehe schon, was Tokamak meint. Aber der Baustein ist genauso konzipiert, wie er arbeitet:
Der Baustein gibt bei E<>0 an A1 eine 1 aus und an A2 das neative Ergebnis. Wenn ich da natürlich das gleiche Ojekt anhänge, geht das schief, ich habe nacheinander das postitive und das invertierte Ojekt am Ausgang.
Das ist so gewollt. Ich bin jetzt seit der ersten HS-Minute dabei, dass der Binaus so vergewaltigt wird, ist sogar mir neu :-)
Einen Kommentar schreiben:
-
Du musst einen weiteren Auslöser in Deiner Logik haben, wenn das Ergebnis bei Dir toggelt. Der BinAus arbeitet eindeutig, die Zuweisung geschieht nur einmalig. Anbei ein Muster, vergleiche die Zeitstempel des EIBMON.Zitat von Tokamak Beitrag anzeigen[...] Aber wenn man einen Ausgang direkt mit einem KO verbindet, erhält das KO nacheinander beide Werte, [...]Angehängte Dateien
Einen Kommentar schreiben:
-
*lach* Nein. Er löst schon binär aus, d.h. er unterscheidet zwischen <>0 und 0. Aber wenn man einen Ausgang direkt mit einem KO verbindet, erhält das KO nacheinander beide Werte, was nicht mit meinem Verständnis übereinstimmt, sicher aber mit der Art, wie die Logikbausteine interpretiert werden.
Auf jeden Fall habe ich das mal zum Anlass genommen, in die hsl-Dateien reinzuschauen. Gibt es eine Doku über Format und einsetzbare Funktionen? Dann kann man sich den einen oder andern Baustein selbst bauen.
Einen Kommentar schreiben:
-
Das Schöne an Logik - es ist keine GlaubensfrageZitat von Tokamak Beitrag anzeigenInzwischen glaube ich, dass der Binärauslöser nicht wie beschrieben funktioniert ...
. Der Baustein gibt dies aus:
5012|9001|0|""|"EN[1]<>0"|""|1|0|0|2
E1| Berechnung |A1 | A2
1 | "1 <> 0" = 1 | 1 | 0
0 | "0 <> 0" = 0 | 0 | 1
Einen Kommentar schreiben:
-
Danke. Ich hatte nur unter der Onlinehilfe zur Logik selbst geschaut.Zitat von Taxus Beitrag anzeigenDoch, sicher: Experte öffnen - F1 - Übersicht - Wissenswertes - Startverhalten der Logik.
Inzwischen glaube ich, dass der Binärauslöser nicht wie beschrieben funktioniert - oder ich dessen Beschreibung missinterpretiere. Der Eingangswert soll zwar transparent an den Ausgang gelegt werden, doch toggelt er dort, auch nur, wenn ein Ausgang genutzt wird, so dass er nicht zur direkten Zuweisung an ein ausgehendes KO genutzt werden sollte. Befehle zu triggern stellt hingegen kein Problem dar.
Einen Kommentar schreiben:
-
Doch, sicher: Experte öffnen - F1 - Übersicht - Wissenswertes - Startverhalten der Logik.Zitat von Tokamak Beitrag anzeigenDirekt verlinkt ist diese HTML-Seite in der Online-Hilfe nicht, oder?
Einen Kommentar schreiben:
-
Danke für den Link. Das erklärt natürlich mein Problem. Gefunden hätte ich das nur, wenn ich gewusst hätte, dass das im Startverhalten des HS begründet liegt - und man die Datei überhaupt findet. Nur interessehalber: Direkt verlinkt ist diese HTML-Seite in der Online-Hilfe nicht, oder? Über die Suche kann man sie finden.Zitat von Taxus Beitrag anzeigenDas generelle Startverhalten ist ja in der Onlinehilfe C:\Programme\GIRA\HS+FS\exp22\hlp\logikstart.html beschrieben. Stelle daher einfach sicher, dass die Logikkette auch vollständig durchlaufen wird, d. h. alle verwendeten Bausteine müssen während der Initialisierung auch berechnet werden (steht in der Doku zum Baustein, notfalls im Baustein selbst). Wenn Du das aus "Übersichtlichkeitsgründen" nicht in einem Rutsch sicherstellst, musst Du eben einen weiteren Durchlauf anstoßen, indem Du z. B. das Systemstartobjekt dazu verwendest, die Logik leicht zeitverzögert nochmals auszuführen. Ob das die Logik wohl übersichtlicher macht ...
Gestern Abend, als ich dann nicht mehr weiter wusste, habe ich mir letztlich so geholfen, wie es die genannte Hilfeseite impliziert. Das Flag "Beim Starten abfragen" habe ich entfernt, da es eh nichts brachte, und dann nach Systemstart die Statusabfragen als Befehle selbst auf den Bus geschickt. Nach Systemstart ist die Logik initialisiert, und dann fluppte es sofort. Die Werte stimmen, und meiner Vorstellung von Übersichtlichkeit/Gruppierung ist genüge geleistet.
Nochmals danke für die Hilfe, auch an Michael.
Wohl fühle ich mich mit dem Binärauslöser auch nicht, zumal ich immer den "Kurzschluss" erzeugte, weil ich in Ermangelung anderer Möglichkeiten beide Ausgänge auf ein KO gelegt habe.Anmerkung: ich verwende den Binärauslöser höchst selten, in meinem gesamten Projekt nur fünf mal. Aber das ist natürlich so individuell wie die Aufgabenstellungen.
Das Treiberobjekt hilft, auch die Sperre konnte ich gestern an anderer Stelle optimal verwenden. Wietere Treiberobjekte mit sbc-, neg- und neg-sbc-Ausgängen, das wäre noch was.
Einen Kommentar schreiben:


Einen Kommentar schreiben: