NEU! UPGRADE IP 10 verfügbar!
Timberwolf VISU jetzt mit Graphic V Upgrade
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

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

NEU! Ausführliches Video Tutorial zur IP 10
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Frage] [V2.0 IP 3.1] Falls Eingang ist FALSE, dann zeitverzögert am Ausgang FALSE senden (nie ein TRUE senden)

Informationen und Diskussionen über Logik-Engine und Logik-Editor
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
Benutzeravatar

Ersteller
Eraser
Reactions:
Beiträge: 647
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 209 Mal
Danksagung erhalten: 275 Mal

[V2.0 IP 3.1] Falls Eingang ist FALSE, dann zeitverzögert am Ausgang FALSE senden (nie ein TRUE senden)

#1

Beitrag von Eraser »

Hallo,

entweder denke ich wieder mal zu kompliziert oder die Anzeigen von Grafana der Logik sind verwirrend.
Ich hoffe irgendwer kann mich in die richtige Richtung schubsen...

Aufgabenstellung:
Ich will bei einem FALSE auf einem Eingang nur ein FALSE auf dem Ausgang senden.
Bei TRUE soll nichts geschehen.
Dies wurde hier ja schon im Prinzip beschrieben: app.php/kb/viewarticle?a=97

Eine Aufzeichnung der Logik ergibt am Ausgang aber bei jedem Signalwechsel ein FALSE.
Stimmt hier die Anzeige nicht mit dem Ausgang überein, sodass eh bei einem Eingangswechsel auf TRUE gar kein FALSE auf den Ausgang gesendet wird?
1.PNG
2.PNG

Der 2. Schritt wäre dann eine Verzögerung des Ausgangssignals gegenüber des Eingangssignals.

=> Eingang ist FALSE => Verzögerung von 300s => Ausgang auf FALSE
=> Eingang auf TRUE => Nichts machen

Wiederholte FALSE auf dem Eingang hintereinander sollen funktionieren, auch wenn kein TRUE dazwischen am Eingang angekommen ist.


Wenn möglich möchte ich die ganze Logik in einem Logikbaustein haben.
Hätte deswegen probiert, es in eine Custom-Logik zu schreiben.
Leider habe ich da das Problem, dass durch den Multiplexer immer irgendein Wert geschrieben wird und es hier kein Nicht-Schreiben gibt.
Oder geht das schon?

Code: Alles auswählen

{
"Input":[
	["Input","Input","$Input","c"],
	["Time","Time","$Time","c"]
],
"Output":[
	["Output","Output","$Output","c"]
],
"Level":[
	["$Input","bool",false],
	["$Time","float",0.0],
	["$Output","bool",false],
	["$Temp_Out","bool",false],
	["$Monoflop_Out","bool",false],
	["$TRUE","bool",true],
	["$FALSE","bool",false]
],
"Module":[
	["Monoflop","$Input","-$Input","$Monoflop_Out","$Time",2],
	["And",["$Input","-$Monoflop_Out"],"$Temp_Out"],
	["Multiplexer",[0,"$FALSE"],"$Output","$Temp_Out"]
]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Eraser am Sa Mär 13, 2021 10:51 am, insgesamt 2-mal geändert.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1167 Mal
Danksagung erhalten: 2076 Mal

#2

Beitrag von Robert_Mini »

Hallo Wolfgang!

Grafana zeichnet für jeden Punkt den Wert zu jedem Aufruf auf, unabhängig davon, ober er tatsächlich gesendet wird.
Du würdest das im Dokmode an der Farbe des Ausganges oder noch besser an einem KNX-Testobjekt im Busmonitor sehen.

Ansonsten sollte das so passen, wie du dir das vorstellst.

Zur Custom Logik:
Es gibt seit längerem das "sendexplicit", damit kannst du dezidiert steuern, wann gesendet wird.
Mit Option 2 wird nur bei fallender Flanke gesendet, in deinem Fall wäre das:

Code: Alles auswählen

["SendExplicit","$Temp_Out","$Output",2]
Beim Ausgang selbst das "x" nicht vergessen!

lg
Robert
Zuletzt geändert von Robert_Mini am Sa Mär 13, 2021 10:59 am, insgesamt 4-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Benutzeravatar

Ersteller
Eraser
Reactions:
Beiträge: 647
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 209 Mal
Danksagung erhalten: 275 Mal

#3

Beitrag von Eraser »

Hallo Robert,

danke für deine Info.

Hab das mit dem SendExplicit gestern eingebaut und werde es weiter beobachten.
Gestern hat es mir ein FALSE auf den Ausgang gesendet, obwohl die 5 min. noch nicht abgelaufen waren, mal schauen...
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1167 Mal
Danksagung erhalten: 2076 Mal

#4

Beitrag von Robert_Mini »

Poste deinen Code mal.

Ich sehe da 2 Fehlerquellen:
- deine Monoflop sollte auf -$Input starten
- dein sendexplicit sollte mit Option 0 laufen

Lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Benutzeravatar

Ersteller
Eraser
Reactions:
Beiträge: 647
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 209 Mal
Danksagung erhalten: 275 Mal

#5

Beitrag von Eraser »

Hier der Code:

1.PNG

Code: Alles auswählen

// Einschaltverzögerung und nur 0 senden
// =====================================
{
"Input":[
	["Input","Input","$Input","a"],
	["Time","Time","$Time","c"]
],
"Output":[
	["Output","Output","$Output","x"]
],
"Level":[
	["$Input","bool",false],
	["$Time","float",0.0],
	["$Output","bool",false],
	["$Temp_Out","bool",false],
	["$Monoflop_Out","bool",false],
	["$TRUE","bool",true],
	["$FALSE","bool",false]
],
"Module":[
	["Monoflop","$Input","-$Input","$Monoflop_Out","$Time",2],
	["And",["$Input","-$Monoflop_Out"],"-$Temp_Out"],
	["SendExplicit","$Temp_Out","$Output",2]
]
}
Sollte jetzt funktionieren, nachdem was ich bisher beobachtet habe.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Eraser am So Mär 14, 2021 1:36 pm, insgesamt 1-mal geändert.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938
Antworten

Zurück zu „Logikengine & Logik-Editor“