Rechnen mit Uhrzeiten

Doofundstinkt

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte mit TwinCat in meiner Haussteuerung die Raffstores abhängig von Uhrzeiten rauf- und runterfahren.

Hierzu möchte ich in der Visualisierung die Uhrzeit verstellen können.
Mir reicht eine Änderung in 15 Minuten - Schritten.

Jetzt quäle ich mich mit der CTUD - Funktion, um damit die Vorgabe- Uhrzeit in 15- Minuten- Schritten zu erhöhen. Hier komme ich nicht mit der Konvertierung des Datentypes von Time to Word klar.

Wie kann ich das Problem lösen?

Gruß

Ingo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier komme ich nicht mit der Konvertierung des Datentypes von Time to Word klar.

Wie kann ich das Problem lösen?
Hallo Ingo,

der Datentyp TIME hat die Auflösung von 1ms und wird intern wie DWORD behandelt, also ein 32Bit-Datentyp. Die Umrechnung in 1/4 Stunden Takte könnte so aussehen:

Code:
VAR
    tTime: TIME;
    nQuarter: WORD;
END_VAR
nQuarter:= DWORD_TO_WORD(TIME_TO_DWORD(tTime) / 1000 / 60 / 15);
Gruß,
witkatz
 
Hallo Witkatz,

danke für die schnelle Antwort.

Bisher habe ich mir relativ einfach geholfen:

IF bSollwertUp = TRUE
THEN Uhrzeit := Uhrzeit + t#1m;
END_IF;

Allerdings ist es auf der Visualisierung relativ schwer zu bedienen, da man den genauen Wert schlecht trifft. Da werde ich mir wohl noch einen step reinprogrammieren müssen.

Aktuell habe ich noch das Problem, dass ich mir den Sonnenuntergang berechnen lasse, und die Funktion spuckt mir einen ziemlich genauen Sonnenuntergang aus: TOD#16:59:16.273

Wie kann ich die Zeit umformatieren? Mir reicht es wenn ich nur Stunden und Minuten bekomme.....

Ich möchte meine Raffstores über einen einfachen Vergleich zufahren lassen....

IF Uhrzeit = Sonnenaufgang
THEN Zentral_Jalousie_Auf:=TRUE;
END_IF;

Gruß

Ingo
 
Hallo,
wie wäre es denn so :
Code:
IF Uhrzeit [COLOR=Red][B]>=[/B][/COLOR] Sonnenaufgang
    THEN Zentral_Jalousie_Auf:=TRUE;
    END_IF;
oder vielleicht :
Code:
Zentral_Jalousie_Auf:= (Uhrzeit [COLOR=Red][B]>=[/B][/COLOR] Sonnenaufgang) and not (Uhrzeit [COLOR=Red][B]>=[/B][/COLOR] Sonnenuntergang) ;
Gruß
LL
 
Zurück
Oben