UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[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: 2181
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 481 Mal
Danksagung erhalten: 889 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
Antworten

Zurück zu „Zusätzliche Logikbausteine“