Dimmen per Zeit

Begonnen von Matze, 30. Dezember 2021, 19:22:38

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Matze

Hallo zusammen!
Ich bin neu hier und auch am Lernen wie man was Programmiert, daher bitte nicht sauer sein wenn komische fragen kommen sollten  ::) 

Ich habe zuhause eine Beckhoff CX8090 verbaut ich nutze Twin Cat 2

ich möchte gerne meinen Raum ab einer bestimmten Uhrzeit dimmen, wie geh ich da am besten vor?
Und wie kann ich meine Uhrzeit auslesen bzw. ändern?
Danke für eure Tipps und Anregungen

mattsches

Hallo Matze,

die Uhrzeit kannst du mit dem FB "RTC" auslesen (TcUtilities.lib, kurioserweise in der Kategorie "Converting + Formatting"). Vorher muss sie aber mindestens einmal gesetzt werden, was über denselben Baustein geht. Wie das geht, ist in der Doku ganz gut beschrieben: https://infosys.beckhoff.com/index.php?content=../content/1031/tcplclibutilities/html/tcplclibutilities_rtc.htm&id=

Um auf eine Uhrzeit reagieren zu können (also das Datum außer Acht zu lassen), ist eine zyklische Überführung in eine Variable vom Typ TOD sinnvoll:

todTime := DT_TO_TOD(dtDateTime);

Die kannst du dann im Code ganz einfach gegen die entsprechenden Schaltzeiten vergleichen:


Reset:= bAwayLongTerm AND
(todTime=tod#19:34:52 + tRandomTimeOffset OR
todTime=tod#07:11:23 AND NOT Dunkelheit_TOF.Q OR
todTime>tod#07:11:23 AND Dunkelheit_FN.Q ),


Mit dem Ergebnis eines solchen Vergleichs könntest du dann zu einer bestimmten Uhrzeit z. B. den SET-Eingang eines DIMM_2 beschalten und über VAL den gewünschen Schaltpunkt vorgeben. Ich würde dabei wirklich auf "=" vergleichen, damit die Vorgabe nur als Impuls von einer Sekunde dauer erfolgt und davor und danach weiterhin manuell gedimmt werden kann.

Matze

Hey super danke dir für den Tip :)
Habe jetzt alles einmal so gemacht wie im Beispiel.
bei dem Datum sind 2 Tage drin, wie kann ich das dann verstellen?
Uhrzeit passt.
Wenn ich jetzt z.B. das Lichtschalten willen wie muss ich das anstellen?also welchen baustein muss ich nehmen das ich damit arbeiten kann?
Lg und danke

mattsches

Zitat von: Matze in 07. Januar 2022, 11:13:31
bei dem Datum sind 2 Tage drin, wie kann ich das dann verstellen?

Ich verstehe die Frage nicht ganz. Wo sind zwei Tage drin? Das Ganze ist ein Beispiel, ich schalte da eine Lampe unter bestimmten Bedingungen aus, nicht nur über die Uhrzeit. Du müsstest bei dir natürlich auf die gewünschte(n) Zeitpunkt(e) vergleichen. Und wenn diese Uhrzeit verstellbar sein soll (im Sinne von einstellbar über eine Bedienoberfläche), dann müsstest du sie natürlich auf Variablen legen.

Wie du das Licht dann tatsächlich schaltest, und welche Bausteine es dafür gibt, kannst du prima in der Doku der OSCAT_BUILDING nachlesen. Ich habe wie schon gesagt z. B. den DIMM_2 im Einsatz. Wobei die Auswahl des Bausteins natürlich davon abhängt, wie genau du denn dimmen willst. Den DIMM_2 habe ich an einer Dimmerklemme im Einsatz, die einen Analogwert als Sollwert erwartet. Für nicht dimmbare Lampen (an/aus) kannst du z. B. einen SWITCH_I nehmen.


Matze

HEy also Uhrzeit und Datum habe ich jetzt genau (irgendwie war das Datum beim ersten mal nicht richtig)
Ich gucke mir mal die Doku an und melde mich noch mal wenn es nicht passt oder ich Hilfe brauche :)

Matze

Hey ich hab mir mal die Doku durchgelesen aber ich raff es einfach nicht  :'(
ich benutze die Dimmerklemme KL2751
wenn ich jetzt denn DIMM_2 nehme was muss ich da denn alles programmieren im FUP?
und die KL2751 muss ich doch Konfigurieren im Systemmanger? was muss ich da alles genau machen?