Hi,
ich muss mal was fragen.
Wieso bekomme ich die alarmanlage mit dem folgenden Programm nicht unscharf.
Lege ich das "Unscharf" als einzelnes Programm an funktioniert es.
Wo mache ich denn hier den Denkfehler.
Alarmanlage schalten fehler
Moderator: Co-Administratoren
-
- Beiträge: 27
- Registriert: 01.11.2016, 20:12
-
- Beiträge: 14165
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 585 Mal
- Danksagung erhalten: 1500 Mal
Re: Alarmanlage schalten fehler
In den Anfängertipps kannst Du lesen, dass ein Programm immer von oben nach unten abgearbeitet wird. Dabei ist es egal, welcher der Trigger das Programm angestoßen hat. Es wird nicht nur der Zweig abgearbeitet, in dem der Trigger enthalten ist. Daher kommt auch die grundsätzliche Empfehlung, gegensinnige Aktionen nicht innerhalb eines Programms abzuarbeiten. Das kann funktionieren, muss aber nicht. Damit es funktioniert, ist eine entsprechende Abfragelogik notwendig. Um unscharf schalten zu können, müsstest du die vorgelagerten Abfragen um die jeweilige Prüfung, ob die jeweilige Funktion deaktiviert ist, ergänzen. Nur dann würde es bis zur dritten Abfrage weiterlaufen. Daher die Empfehlung: getrennte Programme.
Gruß Xel66
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 27
- Registriert: 01.11.2016, 20:12
Re: Alarmanlage schalten fehler
Hi,
vielen Dank für Deine ausführliche Antwort.
Ich habe dieses Programm 1 zu 1 aus dem ELV Journal übernommen.
Wenn das so ist, warum machen die denn dann sowas?
Extern oder intern scharf funktionieren aber einwandfrei.
Gruß totocotonio
vielen Dank für Deine ausführliche Antwort.
Ich habe dieses Programm 1 zu 1 aus dem ELV Journal übernommen.
Wenn das so ist, warum machen die denn dann sowas?
Extern oder intern scharf funktionieren aber einwandfrei.
Gruß totocotonio
-
- Beiträge: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Alarmanlage schalten fehler
Ich sehe da keinen Fehler im Programm.
Wenn NUR die Taste "FB Alarmanlage unscharf" gedrückt wird, wird das Programm getriggert. Dann läuft es ereignislos über die beiden ersten Bedingungsblöcke - es ist ja keine andere Taste gedrückt (oder???). Es kommt schließlich im dritten Block an und führt dessen Dann aus.
Lege doch das Programm mal komplett neu an. Gehe Schritt für Schritt vor:
Lege erst mal in die WENNs nur den jeweiligen Tastendruck und in die DANNs das sofortige Setzen der SV. Teste das korrekte Verhalten wie programmiert und baue dann weiter sukzessive auf.
Gruß
Manfred
Wenn NUR die Taste "FB Alarmanlage unscharf" gedrückt wird, wird das Programm getriggert. Dann läuft es ereignislos über die beiden ersten Bedingungsblöcke - es ist ja keine andere Taste gedrückt (oder???). Es kommt schließlich im dritten Block an und führt dessen Dann aus.
Lege doch das Programm mal komplett neu an. Gehe Schritt für Schritt vor:
Lege erst mal in die WENNs nur den jeweiligen Tastendruck und in die DANNs das sofortige Setzen der SV. Teste das korrekte Verhalten wie programmiert und baue dann weiter sukzessive auf.
Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
Re: Alarmanlage schalten fehler
Grundsätzlich wäre Deine Beschreibung richtig... In diesem Fall aber nicht!Xel66 hat geschrieben: Nur dann würde es bis zur dritten Abfrage weiterlaufen. Daher die Empfehlung: getrennte Programme.
Da das Programm ausschließlich Tasten als Auslöser nutzt ist es ein "Sonderfall".
Bei den Auslösern handelt es sich um "Tastendrücke". Ein Tastendruck ist immer nur für den Programmdurchlauf erfüllt den er selbst ausgelöst hat. Da in diesem Programm in jedem Block eine andere Taste als Auslöser/Bedingung enthalten ist, kann es nich dazu kommen das ein "falscher" Block erfüllt ist. Erfüllt sein kann maximal nur der Block in dem die auslösende Taste enthalten ist.
Kurz gesagt, von der CCU-Logik her müsste das Programm funktionieren!!! Sicherlich reagiert die CCU hier eigenwillig... Hier greift die Erkenntnis das die CCU gegenteilige Schaltungen in einem Programm nicht immer mag, auch wenn die Programme von ihrer Logik fehlerfrei sind.
Das Programm komplett löschen und identisch neu schreiben sollte die Fehlfunktion beheben. Ansonsten bleibt nur die Lösung mit getrennten Programmen.
Viele Grüße!
Jörg
Jörg