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

[Gelöst] Messung zwischen 2 Aufrufen mit Stoppuhr

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

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1264 Mal
Danksagung erhalten: 2213 Mal

Messung zwischen 2 Aufrufen mit Stoppuhr

#1

Beitrag von Robert_Mini »

Hallo @S. Kolbinger!

Ich tüftle gerade an einer Logik, in der ich die (genaue) Zeit zwischen 2 Aufrufen brauche.
Ich habe zwar eine funktionierende Lösung mit 2 Stoppuhren, die alternierend gestartet werden, ich denke das sollte aber auch mit einer Stoppuhr gehen.
Leider klappt irgendwas mit dem Rücksetzen der Zeit nicht, wie ich das erwarten würde.
Ausgang Debug_Time1 ($Time1) zeigt 0, was auf ein korrektes Rücksetzen hinweist
Ausgang Zeitdifferenz ($Time) und zählt immer weiter hoch, obwohl $Time1 beim Verlassen der Logik auf 0 war???

Meine Vermutung ist, dass der 2-malige Aufruf der gleichen Stoppuhr innerhalb eines Aufrufes der Logikzelle nicht vorgesehen ist?

Danke
Robert

Code: Alles auswählen

{
  "Level": [
    ["$Input","float",0.0],
    ["$Output","bool",false],
    ["$Time1","float",0.0],
    ["$Time","float",0.0],
    ["$KonstTrue","bool",true]
  ],
  "Input": [
    ["Messwert","Eingang Messsignal","$Input","a"]
  ],
  "Output": [
    ["Output","Schaltausgang","$Output","c"],
    ["Zeitdifferenz","Zeit seit letztem Wert","$Time","c"],
    ["Debug_Time1","Timer1","$Time1","a"]
  ],
  "Module": [   
	["Stopwatch","$KonstTrue","$Time1"],
	["Multiplexer",["$Time1"],"$Time","-$KonstTrue"],
	["Stopwatch","-$KonstTrue","$Time1"]
  ]
}
Zuletzt geändert von Robert_Mini am Di Dez 17, 2019 7:16 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

S. Kolbinger
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 560 Mal

#2

Beitrag von S. Kolbinger »

Hallo Robert,
Robert_Mini hat geschrieben: Sa Nov 30, 2019 11:51 am Ich habe zwar eine funktionierende Lösung mit 2 Stoppuhren, die alternierend gestartet werden, ich denke das sollte aber auch mit einer Stoppuhr gehen.
Mit einer Stoppuhr könnte es vermutlich auch lösbar sein. Aber bisher ist mir nur eine umständliche Lösung mit fortlaufendem Zähler und Differenzbildung eingefallen.
Dein Ansatz mit zwei Stoppuhren gefällt mir viel besser.

Es muss nur noch das Start-Signal dauernd wechseln, damit die Zähler abwechselnd zurückgesetzt werden:

Code: Alles auswählen

{
  "Level": [
    ["$Input","float",0.0],
    ["$Output","bool",false],
    ["$Time1","float",0.0],
    ["$Time2","float",0.0],
    ["$Time","float",0.0],
    ["$Toggle","bool",true]
  ],
  "Input": [
    ["Messwert","Eingang Messsignal","$Input","a"]
  ],
  "Output": [
    ["Output","Schaltausgang","$Output","c"],
    ["Zeitdifferenz","Zeit seit letztem Wert","$Time","c"]
  ],
  "Module": [   
	["Stopwatch","-$Toggle","$Time1"],
	["Stopwatch","$Toggle","$Time2"],
	["Multiplexer",["$Time1","$Time2"],"$Time","$Toggle"],
	["Multiplexer",["-$Toggle"],"$Toggle",0]    
  ]
}
Gruß,
Stefan K.

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1264 Mal
Danksagung erhalten: 2213 Mal

#3

Beitrag von Robert_Mini »

Danke Stefan!

Genau diese Lösung habe ich schon (viewtopic.php?f=24&t=1712).
Ich wollte nur verstehen, warum das mit einer Stoppuhr nicht klappt, denn offensichtlich gibt es Einschränkungen beim gleichen Aufruf.

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

S. Kolbinger
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 560 Mal

#4

Beitrag von S. Kolbinger »

... ah, jetzt verstehe ich die Frage. :idea:
Robert_Mini hat geschrieben: Sa Nov 30, 2019 11:51 am Meine Vermutung ist, dass der 2-malige Aufruf der gleichen Stoppuhr innerhalb eines Aufrufes der Logikzelle nicht vorgesehen ist?
Es handelt sich hier auch nicht umeineStoppuhr die duzweimalpro Durchlauf aufrufen kannst.
Tatsächlich ist jedes Modul "Stoppwatch" eine eigene unabhängige Stoppuhr (mit unabhängigen interen Zählern).
Jedes Modul in der Modulliste ist eine eigene Instanz.

Wie du bereits vermutet hast:
Ein mehrfacher Aufruf ein und desselben Moduls pro Durchlauf ist nicht vorgesehen.
Gruß,
Stefan K.

StefanW
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 10714
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5305 Mal
Danksagung erhalten: 8685 Mal
Kontaktdaten:

#5

Beitrag von StefanW »

Ist das Problem hier gelöst oder als BUG einzustufen?

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1264 Mal
Danksagung erhalten: 2213 Mal

#6

Beitrag von Robert_Mini »

Ich sehe das als Einschränkung, für die es einen Workaround gibt.
Daher gelöst.

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

Zurück zu „Logikengine & Logik-Editor“