NEWS
Pumpensteuerung mit Laufzeit
-
Hallo,
ich bin Neu hier und habe ein Problem mit meiner Steuerung und komme da einfach nicht weiter.
Ich möchte über die Vis die Pumpe im Handmodus einschalten, danach soll die Pumpe für eine einstellbare Zeit laufen und danach wieder abschalten.
Für Hand Ein benutze ich das Fancy Switch widget und für die Zeit das ctrl input datetime (nur Zeit, keine sec - 00:00)
Datenpunkte habe ich auch angelegt:
Hand = Logikwert
Laufzeit_Hand2 = Zeichenkette, auch mit Zahl probiert
Ich tippe mal da bei mir der Datenpunkt Laufzeit_Hand2 der Wert 00:10 hat klappt das nicht.
Habe auch noch andere Sachen ausprobiert, leider ohne erfolg, die Pumpe schaltet sich nie aus.
Kann mir dazu vllt. einer helfen und sagen was ich hier falsch machen.
Schonmal vielen Dank
Sascha -
@zashhhhh sagte: da bei mir der Datenpunkt Laufzeit_Hand2 der Wert 00:10 hat klappt das nicht.
Richtig. Du musst den String "hh:mm" in Minuten als Zahl umrechnen, um mit dem Intervallzähler vergleichen zu können.
Der Zähler darf nicht den gleichen Bezeichner haben wie die Intervall-Variable!
-
Danke das klappt so wie beschrieben.
Habe ich das so richtig verstanden, das mit den umrechnen, ist das so korrekt ?
In der Variable "Dauer" wird de genaue Wert von Laufzeit_hand genommen, danach
wird von zb. 00:10 der erste wert genommen x 60 was 0 ergibt.
Danach von 00:10 der zweite wert genommen und zum ersten wert dazugezählt, was dann eine Zahl von 10 ergibt.Bei zb 02:15 wäre das dann eine Zahl von 135, der in der Variable Dauer geschrieben wird. Der Counter geht dann solange bis dieser ein Wert von 135 hat.
Was ist denn der unterschied zwischen aktualisiere und steuere ? Beide machen bei mir das selbe
-
@zashhhhh sagte: In der Variable "Dauer" wird de genaue Wert von Laufzeit_hand genommen
Die Variable dauer wird erst mit einem Array mit 2 Elementen ["hh","mm"] beschrieben. Anschließend werden aus den 2 Elementen die Gesamtminuten berechnet.
@zashhhhh sagte in Pumpensteuerung mit Laufzeit:
Was ist denn der unterschied zwischen aktualisiere und steuere ?
Bei "steuere" wird keine Bestätigung (ack = false) mitgegeben, d.h. der Wert muss gesendet werden (für Adapter-Datenpunkte). Bei "aktualisiere" wird die Bestätigung mitgegeben (für eigene virtuelle Datenpunkte).
EDIT: Man kann auch die Variable dauer für einen Count down verwenden:
-
@paul53 Danke!
Ok also wenn man das erstmal verstanden hat wie man aus einer Uhrzeit eine Zahl macht ist das leicht.
Leichter wäre es gewesen, was auch geklappt hat, direkt ein Feld für Minuten als Zahl zu nehmen. jedoch hatte ich dabei das Problem das ich das Feld in der VIS nicht kleiner bekommen habe, somit bin ich auf ein Feld mit Uhrzeit gegangen.Die Variablen zb Dauer kann ich die auch in weiteren Skripte benutzen oder muss ich dort andere benutzen ? Nicht das diese von ein anderen Skript überschrieben werden.
Jetzt werde ich das mal umsetzen für meine Automatik Steuerung mit Wochentagen und verschiednenen Laufzeiten
-
@zashhhhh sagte: Die Variablen zb Dauer kann ich die auch in weiteren Skripte benutzen oder muss ich dort andere benutzen ?
Die Gültigkeit einer Variablen ist auf das Skript beschränkt. In anderen Skripts kann auch wieder eine Variable dauer verwendet werden, ohne dass sie sich gegenseitig beeinflussen.