KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[NEUHEIT] AND-Logikbaustein mit einstellbarem Sendeverhalten/Sendefilter V1.0

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Dragonos2000
Reactions:
Beiträge: 2200
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 492 Mal
Danksagung erhalten: 897 Mal

AND-Logikbaustein mit einstellbarem Sendeverhalten/Sendefilter V1.0

#1

Beitrag von Dragonos2000 »

Angeregt von diesem Thread viewtopic.php?p=40554#p40554 habe ich einen AND-Logikbaustein erstellt, dessen Sendeverhalten sich einstellen lässt. Vielleicht kann es wer brauchen, bei Bedarf kann ich das gerne noch auf andere Logikfunktionen anpassen.

Sendeoptionen:
  • Nur False senden
  • Nur True senden
  • False und True senden, aber nur wenn sich der Ausgangswert geändert hat
  • False und True immer senden, wenn die Logik getriggert wird

Code: Alles auswählen

{
	"Level": [
		["$ConstFalse","bool",false],
		["$ConstTrue","bool",true],
		["$bit0","bool",false],
		["$bit1","bool",false],		
		["$LastVal","bool",false],
		["$SameVal","bool",false],
		["$Send","bool",false],
		["$SendAll","bool",false],
		["$SendAllChngd","bool",false],
		["$SendFalse","bool",false],
		["$SendTrue","bool",false],		
		["$O_ResultAnd","bool",false],
		["$P_OpMode","integer",0],
		["$VAR<I_Input!>","bool",false],
		["$VAR<Inhibit?>","bool",false]
	],
	"Input": [
		["Operation mode","Operation mode: 0=Send both results whenever triggered; 1=Send only TRUE results; 2=Send only FALSE results; 3=Send both results, only when output changes", "$P_OpMode","u"],
		["AND input","Inputs of AND logic","$VAR<I_Input!>","a"],
		["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
	],
	"Output": [
		["Output","Output of the logic","$O_ResultAnd","x"]
	],
	"Module": [
		["Break",["$VAR<Inhibit?>"]],											//completely disable logic
		["And",["$VAR<I_Input!>"], "$O_ResultAnd"],
		["Limiter","$O_ResultAnd",0,"$SameVal",["$LastVal", "$LastVal"]],       //Check, if $O_ResultAnd has new value
		["Latch","$O_ResultAnd","$LastVal","$ConstTrue",0],						//Save $O_ResultAnd for next cycle
		["BinaryDemultiplexer","$P_OpMode",["$bit0","$bit1"]],
		["Latch","$ConstFalse","$Send","$ConstTrue",0],							//Reset
		["And",["$O_ResultAnd","$bit0","-$bit1"], "$SendTrue"],					//Evaluate sending TRUE
		["And",["-$O_ResultAnd","-$bit0","$bit1"], "$SendFalse"],				//Evaluate sending FALSE
		["And",["-$bit1","-$bit0"], "$SendAll"],								//Evaluate sending always
		["And",["$bit1","$bit0","-$SameVal"], "$SendAllChngd"],					//Evaluate sending change
		["Latch","$ConstTrue","$Send","$SendTrue",0],							//Set sending when TRUE
		["Latch","$ConstTrue","$Send","$SendFalse",0],							//Set sending when FALSE
		["Latch","$ConstTrue","$Send","$SendAll",0],							//Set sending always
		["Latch","$ConstTrue","$Send","$SendAllChngd",0],						//Set sending on change
		["SendExplicit","$Send","$O_ResultAnd",0]
	],
	"_Meta": {
		"Icon": "",
		"Version": "1.0",
		"_description": "Logic module with configurable sending behaviour"
	}
}
/** Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */
Sollte soweit selbsterklärend sein, ansonsten fragen.

Disclaimer:
Die Verwendung erfolgt auf eigene Gefahr. Ich hafte nicht für etwaige entstandene Schäden, die durch die Nutzung entstanden sind, noch garantiere ich eine Fehler freie Funktion.

Nutzungsrechte:
Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht.
Zuletzt geändert von Dragonos2000 am Do Jun 30, 2022 5:47 pm, insgesamt 5-mal geändert.
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

theAndy
Reactions:
Beiträge: 14
Registriert: Di Mär 14, 2023 4:44 pm
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

#2

Beitrag von theAndy »

Hi das ist eine super Logik, vielen Dank fürs bereitstellen.
Ich bin mit den Logiken noch nicht ganz so vertraut, du hast angeboten die Logik evtl. noch zu erweitern. :D
-> ich würde beim "Output" die Funktion "Mapping zu Ganzzahl" benötigen, könntest du das evtl. noch einfügen?
Das ist bei der bestehen leider nicht vorhanden.
(Hintergrund ist, ich möchte damit einen Rollladen auf ein eine genaue Position fahren)

Ich wäre dir sehr Dankbar :-)
Grüße Andy
TWS 3500L ID:1140 VPN offen, Reboot erlaubt
ETS6 6.2.2 (Build 7302)
Antworten

Zurück zu „Zusätzliche Logikbausteine“