Topic-icon Zeitmessung

Mehr
29 Jun 2019 15:56 #1 von Harry
Zeitmessung wurde erstellt von Harry
Ich habe einen Regensensor und einen Mähroboter. Meine Programmierung möchte ich nun soweit erweitern, dass bei Regen die Steckdose des Mähroboters ausgeschaltet wird und danach wieder eingeschaltet wird.

Ausschalten soll die Steckdose nur wenn es min. 30 Sekunden geregnet hat.
Einschalten erst wieder 5 Stunden nach dem es aufgehört hat zu regnen.

Steuermodul 1.81
Software 2.70

EMD 12.10 = Regensensor
AMD 10.05 = Steckdoses des Mähroboters
JRM 02-04 = Zeitmessung für Verzögerung 30sek nach Regen ein
JRM 02-05 = Zeitmessung für Verzögerung 5std nach Regen aus.

So wäre mein Ansatz, das Feintuning fehlt aber noch.
z.B. wenn es aufhört zu regnen und innerhalb der 5std wieder regnet.
Was ist die max. Länge bei "Zeitmessung ein mit Zeitglied?

Begin Regen
EMD 12.10=Ein -> JRM 02-04 Zeitmessung ein mit Zeitglied 30sek
JRM 02-04=Statusflag aus & EMD 12-10=ein -> AMD 10-05 aus

Ende Regen
EMD 12.10=Aus -> JRM 02-05 Zeitmessung ein mit Zeitglied 5std
JRM 02-05=Statusflag aus -> AMD 10-05 ein

Vielen Dank für eure Hilfe
Harry

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
30 Jun 2019 11:02 #2 von Harry
Harry antwortete auf Zeitmessung
Ich habe inzwischen eine Lösung gefunden, zumindest theoretisch (noch nicht getestet)
Was mich noch etwas stört sind die 3 Zeitmessungen bei Regen aus da max. nur 65535 1/10 Sekunden gehen.
Kennt da jemand eine bessere Lösung?

Begin Regen
EMD 12.10=Ein -> JRM 02.04 Zeitmessung ein mit Zeitglied 30sek
EMD 12.10=Ein -> JRM 02.05 Zeitmessung abgebrochen
EMD 12.10=Ein -> JRM 02.06 Zeitmessung abgebrochen
EMD 12.10=Ein -> JRM 02.07 Zeitmessung abgebrochen
JRM 02.04=Statusflag aus -> AMD 10.05 aus

Ende Regen
EMD 12.10=Aus -> JRM 02.04 Zeitmessung abgebrochen
EMD 12.10=Aus -> JRM 02.05 Zeitmessung ein mit Zeitglied 54000 (1,5std)
JRM 02.05=Statusflag aus -> JRM 02.06 Zeitmessung ein mit Zeitglied 54000 (1,5std)
JRM 02.06=Statusflag aus -> JRM 02.07 Zeitmessung ein mit Zeitglied 54000 (1,5std)
JRM 02.07=Statusflag aus -> AMD 10-05 ein

Viele Grüße
Harry

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Aug 2019 11:59 #3 von Fossibaer58809
Fossibaer58809 antwortete auf Zeitmessung
Warum nimmst Dui beim Ende des Regens nicht einfach den Befehl
AMD 10.05 Verzögert einschalten 10.800 Sekunden?

Wenn der Ausgang noch eingeschaltet ist, dann bleibt er ein eingeschaltet.

Gruß
Michael

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Aug 2019 12:04 #4 von Fossibaer58809
Fossibaer58809 antwortete auf Zeitmessung
Vielleicht funktioniert diese hier:

Start Regen:
Wenn Eingang Regensensor EIN>0 Sekunden
DANN Ausgang Mähroboter Verzögert Ausschalten 30 Sekunden

Ende Regen:
WENN Eingang Regensensor AUS
UND Ausgang Mähroboter ist EIN
DANN Ausgang Mähroboter einschalten
SONST Ausgang Mähroboter Verzögert Einsachalten 10.800 Sekunden

Kann das leider jetzt nicht prüfen, sollte aber funktionieren da der letzte Befehl überschrieben wird.

Gruß
Michael

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Aug 2019 13:11 - 13 Aug 2019 13:17 #5 von Harry
Harry antwortete auf Zeitmessung
Ich komme in diesem Editor nicht mit dem Zitieren klar. Mein Text bezieht sich immer auf den Absatz darüber.

Fossibaer58809 schrieb: Warum nimmst Dui beim Ende des Regens nicht einfach den Befehl AMD 10.05 Verzögert einschalten 10.800 Sekunden?

Wenn der Ausgang noch eingeschaltet ist, dann bleibt er ein eingeschaltet.

Und wenn es inzwischen wieder angefangen hat zu regnen schaltet er sich meines Wissens trozdem ein, da es in diesem Fall kein Abbruch des verzögerten Einschaltens gibt.

Fossibaer58809 schrieb: Vielleicht funktioniert diese hier:
Start Regen:
Wenn Eingang Regensensor EIN>0 Sekunden
DANN Ausgang Mähroboter Verzögert Ausschalten 30 Sekunden

Ich möchte verhindern, dass bei eine, kurzen Impuls sofort ausgelöst wird. Ich benutze den Regensensor um bei offene Dachfenster und Regen Alarm zu geben. In seltenen fällen kommt es vor, das der Regensensor kurz an und wieder aus geht, obwohl es nicht regnet.

Fossibaer58809 schrieb: UND Ausgang Mähroboter ist EIN
DANN Ausgang Mähroboter einschalten

Macht das einen Sinn?

Fossibaer58809 schrieb: Vielleicht funktioniert diese hier:
SONST Ausgang Mähroboter Verzögert Einsachalten 10.800 Sekunden

Sind wir wieder bei dem Problem mit dem erneuten Regen.
Bei dem verzögert Einschalten müsste meiner Meinung nach ein zusätliches Abbruchsignal hinzu kommen, falls es wieder mit dem regnen beginnt. Ich glaube 10.800 Sekunden gehen auch nicht. Ist das max. nicht 65535 1/10 Sekunden?.

Im Moment bendiene ich mein Mähroboter von Hand, habe die Programmierung also erst einmal aufgeschoben. Ich denke aber mein oberer Ansatz müsste funktionieren, freue mich aber immer über verbesserungsvorschläge.

Grüße Harry
Letzte Änderung: 13 Aug 2019 13:17 von Harry.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Aug 2019 13:59 - 14 Aug 2019 14:04 #6 von Fossibaer58809
Fossibaer58809 antwortete auf Zeitmessung
Da der Ausgang der Steckdose Mähroboter ein Ausgangsmodul (AMD 10.05) ist, sind es in diesem Falle 65535 Sekunden. Nur bei dem Rollladenmodul sind die Zeiten in 1/10 Sekunden anzugeben.

Fangen wir einmal an meinen Vorschlag Schritt für Schritt durchzugehen:

Analyse:

- Immer wenn der Regensensor ein EIN Signal gibt soll der Ausgang AMD 10.05 nach 30 Sekunden ausgeschaltet werden.
- Das Signal war ein Fehlsignal, dann soll das Abschalten des Ausgangs AMD 10.5 abgebrochen werden
- Liegt das Signal länger als 30 Sekunden an, soll Ausgang AMD 10.05 ausgeschaltet werden.
- Wird das Signal des Regensensors nach mehr als 30 Sekunden gelöscht soll der Ausgang nach 3 Stunden wieder aktiviert werden.

Dazu gehen wir den folgenden Weg

1. Regensensor gibt Signal REGEN
WENN EMD 12.01 Ein>2 Sekunden
DANN AMD 10.05 verzögert ausschalten 28 Sekunden.

Dieser Befehl sendet also an den Ausgang AMD 10.05 den Befehl diesen in 28 Sekunden auszuschalten.
Den Eingangsbefehl EIN > 2 Sekunden nutzen wir in diesem Fall schon mal zum Entprellen.
Als Ergebnis dieser Programmierung haben wir also unserem Ausgang den Befehl in 28 Sekunden auszuschalten gegeben. Das Abbrechen der 28 Sekunden, das dafür sorgt, dass unserer Ausgang bei einem Prellen nicht ausgeschaltet wird vernachlässigen wir hier erst einmal.

2. Regensensor gibt Signal ES REGNET NICHT MEHR
WENN EMD 12.01 AUS > 2 Sekunden
UND AMD 10.05 ist EIN
DANN AMD 10.05 einschalten
SONST AMD 10.05 Verzögert Einschalten 10.800 Sekunden

Wenn also das Signal kommt, dass der Regensensor ausgeschaltet hat überprüfen wir, ob der Ausgang AMD 10.05 noch eingeschaltet ist. Wenn ja, dann sind die 28 Sekunden noch nicht um und wir schalten den Ausgang ein um den Ausschaltbefehl abzubrechen. Also ist dieses dann unser Zeitabbruch und der Ausgang ändert seinen Status nicht auf AUS.

Ist der Ausgang AMD 10.05 jedoch ausgeschaltet, dann war es tatsächlich am regnen und der Ausgang AMD 10.05 wird in 3 Stunden wieder eingeschaltet.

Damit haben wir also alle Punkte aus der Analyse erfüllt.

Wenn es während der 3 Stunden wieder anfängt zu regnen, dann wird der Befehl zum verzögertem Einschalten von der obigen Programmierung (... DANN AMD 10.05 verzögert ausschalten 28 Sekunden) überschrieben (bleibt also AUS).


Grüße
Michael
Letzte Änderung: 14 Aug 2019 14:04 von Fossibaer58809.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
17 Aug 2019 11:58 #7 von Harry
Harry antwortete auf Zeitmessung
Danke für die Info der Sekunden, Verzögerungen hatte ich bis jetzt nur bei den Rollladenmodulen benutzt.

Für den Rest habe ich erst einmal eine weile benötigt um es zu verstehen.

---
WENN EMD 12.01 Ein>2 Sekunden
DANN AMD 10.05 verzögert ausschalten 28 Sekunden.
---
WENN EMD 12.01 AUS > 2 Sekunden
UND AMD 10.05 ist EIN
DANN AMD 10.05 einschalten
SONST AMD 10.05 Verzögert Einschalten 10.800 Sekunden
---

"DANN AMD 10.05 einschalten"
Dann ist die Zeile nur dafür da um das verzögerte ausschalten von 28 Sekunden abzubrechen?
Bist du dir sicher, dass dies den Timer abbricht?

Man könnte es ja auch so verstehen
1. Es fängt an zu regnen
EMD 12.01 geht für > 2 Sekunden an
-> Verzögertes Ausschalten 28 Sekunden startet.

2. nach 10 Sekunden hört es auf zu regnen
EMD 12.01 geht für > 2 Sekunden aus
-> AMD 10.05 ist noch an und bekommt den Befehl an.

Die Frage ist nun ob der 28Sekunden Timer mit dem Befehl "AMD 10.05 Ein" abgebochen wird oder weiter läuft. Ich hätte jetzt vermutet dass er weiter läuft und nach weiteren 16 Sekunden den Ausgang aus schaltet.

Ich hätte es so programmiert, aber da weisst du bestimmt mehr als ich:-)

---
WENN EMD 12.01 AUS > 2 Sekunden
UND AMD 10.05 ist EIN
DANN AMD 10.05 einschalten UND TIMER ABBRECHEN
SONST AMD 10.05 Verzögert Einschalten 10.800 Sekunden
---

Wenn ich dich richtig verstanden habe, dann führt eine Aktion auf einem Ausgang automatisch zum abbruch aller Timer die diesen Ausgang betreffen?

Vielen Dank für deine Hilfe. Deine Lösung ist viel einfacher als meine, genau aus diesem Grund habe ich hier nachgefragt und ich habe wieder viel dabei gelernt.

Harry

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
17 Aug 2019 12:32 - 17 Aug 2019 12:35 #8 von Fossibaer58809
Fossibaer58809 antwortete auf Zeitmessung

"DANN AMD 10.05 einschalten"
Dann ist die Zeile nur dafür da um das verzögerte ausschalten von 28 Sekunden abzubrechen?
Bist du dir sicher, dass dies den Timer abbricht?

Ja bin ich.

2. nach 10 Sekunden hört es auf zu regnen
EMD 12.01 geht für > 2 Sekunden aus
-> AMD 10.05 ist noch an und bekommt den Befehl an.


Die Frage ist nun ob der 28Sekunden Timer mit dem Befehl "AMD 10.05 Ein" abgebochen wird oder weiter läuft. Ich hätte jetzt vermutet dass er weiter läuft und nach weiteren 16 Sekunden den Ausgang aus schaltet.

Der laufende Befehl wird immer überschrieben (sofern er in einem eigenen Telegramm kommt, ist in diesem Fall so)

Wenn ich dich richtig verstanden habe, dann führt eine Aktion auf einem Ausgang automatisch zum abbruch aller Timer die diesen Ausgang betreffen?

Richtig, jeder Zeitbefehl wird mit einem neuen Befehl überschrieben.


Allerdings gibt es in dieser einfachen Programmierung eine kleine Schwachstelle:
Wenn nach dem Ende des Regens die 3 Stunden noch nicht abgelaufen sind, dann erzeugt ein Prellen größer 2 Sekunden einen Neustart der Zeitmessung. Das könnte man aber noch über einen Merker weg bekommen.
Letzte Änderung: 17 Aug 2019 12:35 von Fossibaer58809.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum