Ausgänge blinkend progrmmieren

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
Kellomein
Beiträge: 101
Registriert: 11.08.2009, 19:03

Ausgänge blinkend progrmmieren

Beitrag von Kellomein » 03.12.2009, 18:46

Hallo
Ich habe mal eine Frage ob jemand weiss wie man am besten die Ausgänge von Aktoren so programmieren kann , das sie je nach Aktion entweder dauern oder blinkend angesteuert werden können. Ich habe zwar was gelesen das mann in der CCU direkt im Expertenmodus die Ausgänge speziel programmieren kann , aber es fehlt halt die Dokummentation und ausserdem möchte ich dieses über die CL -Software machen können ohne direkte Verknüpfung.
Über Vorschläge oder Ideen wäre ich sehr dankbar.
Gruss Jörg

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Ausgänge blinkend progrmmieren

Beitrag von buempi » 08.12.2009, 10:08

Hallo Jörg

Über Homeputer CL müsste sich das Blinken im Sekundentakt eigentlich mit folgendem Makro in der Fernbedienung lösen lassen:

Code: Alles auswählen

wenn Fernbedienung = "kurz" dann
   Nochmals:
   Licht umschalten
   warte("00:00:01")
   gehezu Nochmals
endewenn

wenn Fernbedienung = "lang" dann
   Licht ausschalten
endewenn
Willst du einen Halbsekundentakt, kannst du folgendes versuchen; du brauchst eine Variable "HalbeSekunde" vom Typ Zahl mit Startwert 0,0:

Code: Alles auswählen

// Der Tag hat 86400 Sekunden; 172800 ergibt also eine halbe Sekunde
// Man könnte der Variablen auch einfach den Startwert 0,000005787 zuweisen

HalbeSekunde := 1/172800

wenn Fernbedienung = "kurz" dann
   Nochmals:
   Licht umschalten
   warte(HalbeSekunde)
   gehezu Nochmals
endewenn

wenn Fernbedienung = "lang" dann
   Licht ausschalten
endewenn
Weil durch jedes Umschalten zwei Funksignale erzeugt werden (Schaltbefehl und Rückmeldung), sollte eine solche Spielerei nicht zu lange in Betrieb sein. Abgesehen von der Störung anderer Signale, könnte auch rasch mal die gesetzlich festgelegte Sendezeitbeschränkung (1%) überschritten werden. Besser wäre es natürlich, wenn man einem Aktor die Anweisung "blinke im Abstand X" übermitteln könnte. Das müsste aber erst mal in der Firmware der Geräte selbst vorgesehen sein. Ob das der Fall ist, weiss ich nicht; habe jedenfalls bisher nichts derartiges gelesen.

Viele Grüsse
Bümpi

Kellomein
Beiträge: 101
Registriert: 11.08.2009, 19:03

Re: Ausgänge blinkend progrmmieren

Beitrag von Kellomein » 09.12.2009, 14:20

Hallo bümpi
Erstmal Danke , läuft natürlich. Mit der Halben sec habe nicht getest , braucht eigentlich keiner . Mein Anliegen ich möchte bei einer bestimmten Bediengung den Ausgang blinkend/Intervall ansteurn um einen gewissen Zustand anzuzeigen. Nun mein nächstens Problem : dieses soll aber nur für eine gewisse Zeit zB. 5sec aktiviert sein. Nun setzte ich wieder auf dem sogenanten schlauch. Ich habe es mit Stoppuhr und ähnlichen propiert , aber irgendwie sehe ich den Wald vor Bäumen nicht. Ich denke Du bist da der richtige um mir wieder audf den Weg zu helfen.
Erstmal danke im Vorraus

Gruss Jörg

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Ausgänge blinkend progrmmieren

Beitrag von buempi » 09.12.2009, 17:04

Hallo Jörg

Man könnte das sicher mit STOPPUHR() programmieren. Dazu müsste man die Startzeit in eine Zeitvariable schreiben und bei jedem Durchgang mit STOPPUHR() die Laufzeit abfragen.

Bei einem Blinkvorgang halte ich es aber für besser, über einen Zähler ein X-maliges Aufblinken zu realisieren:

Code: Alles auswählen

// Zaehler ist eine Variable vom Typ Zahl

wenn Fernbedienung = "kurz" dann

   Zaehler := 0

   Nochmals:
   // bewirkt ein 3-maliges Einschalten
   wenn Zaehler < 6 dann
      Zaehler := Zaehler + 1
      Licht umschalten
      warte("00:00:01")
      gehezu Nochmals
   endewenn

endewenn
Viele Grüsse
Bümpi

Kellomein
Beiträge: 101
Registriert: 11.08.2009, 19:03

Re: Ausgänge blinkend progrmmieren

Beitrag von Kellomein » 10.12.2009, 13:28

Hallo bümpi
Mal wieder den Nagel auf den Kopf getroffen , genau das was ich wollte > super. Ich habe mich gefragt wo her du weiss das der Zähler auf 6 für drei Durchgänge stehen muss. OK umschalten jeweils ein Zähler >OK = 6 aber woher weiss mann das , es hätte auch das umschalten selbst gezählt werden können. Aber es klappt , Danke erstmal bis zum nächsten Problem und das wird kommen :D

Gruss Jörg

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Ausgänge blinkend progrmmieren

Beitrag von buempi » 10.12.2009, 13:49

Hallo Jörg
Kellomein hat geschrieben:Ich habe mich gefragt wo her du weiss das der Zähler auf 6 für drei Durchgänge stehen muss.
Mit der Anweisung "Zaehler := Zaehler + 1" bestimme ich ja selbst, wann der Zähler um 1 erhöht wird; nämlich bei jedem Durchlaufen des Schleife. Also kann ich auch genau vorhersagen, wie oft das Licht umgeschaltet wird.

Die Lösung hat deshalb gegenüber STOPPUHR() den Vorteil, dass sie mit Sicherheit dazu führt, dass genau 6x geschaltet wird. Bei STOPPUHR() in Kombination mit WARTE() würden 6 Sekunden Laufzeit nicht garantiert zum gleichen Ergebnis führen.

Viele Grüsse
Bümpi

Kellomein
Beiträge: 101
Registriert: 11.08.2009, 19:03

Re: Ausgänge blinkend progrmmieren

Beitrag von Kellomein » 10.12.2009, 14:18

Hallo bümpi
OK ich habe da wohl nicht zu ende gedacht. Ist klar der Zähler zählt die umlaufe und nicht das umschalten :idea: :idea:

Danke
Gruss Jörg

Antworten

Zurück zu „homeputer CL“