Rollladen Zeitgesteuert / Systemzeit auslesen und nutzen

locke_87

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hilfe! Ich habe das Problem, das ich es nicht hinbekomme, die Systemzeit der Wago SPS auszulesen und zu nutzen. Ich möchte feste Zeiten eingeben, wann meine Rollladen rauf und runter fahren. Ich muss einmal wissen, wie ich die Zeit der WagoSPS abfragen und nutzen kann. Ich arbeite mit Codesys 2.3 und einer Wago 750-880. Ich habe sowohl die Bibliothek von Wago als auch die Oscat Basic und Building und die SysLibRTC in gebrauch. Mit "SysRtcGetTime" und dem Eingang dummy=TRUE wird ja die Zeit ausgelesen, aber wie kann ich diese dann nutzen?

Ich danke schonmal vorab für eure Hilfe!

Gruß
Locke

EDIT Ich habe auch die Forensuche und Google schon genutzt, bin aber blutiger Anfänger. Es wäre Ideal, wenn das Jemand mal in FUP einfach darstellen und oder erklären könnte :-/
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo locke_87
Schritt 1: Zeit auslesen, ergibt eine Angabe im Datumsformat
Schritt 2: Wandeln nach String
Schritt 3: String zerlegen in Sekunde, Stunde usw.
Schritt 4: Diese Teilstrings wandeln nach Integer
Mit diesen Werten kannst du dann alle gewünschten Operationen programmieren.
Hier mein Code:
Code:
(* Systemzeit lesen und Werte vereinzeln *)
Echtzeit:=SysRtcGetTime(dummy);     (* Echtzeit lesen *)
(* Echtzeit := DT#2015-02-21-20:31; *)
Echtzeit_String:=DT_TO_STRING(Echtzeit);   (* Echtzeit umwandeln in String *)
Jahr:=STRING_TO_INT(MID(Echtzeit_String, 4, 4)) ;
Monat:=STRING_TO_INT(MID(Echtzeit_String, 2, 9));
Tag:=STRING_TO_INT(MID(Echtzeit_String, 2, 12));
Stunde:=STRING_TO_INT(MID(Echtzeit_String, 2, 15));
Minute:=STRING_TO_INT(MID(Echtzeit_String, 2, 18));
Sekunde:=STRING_TO_INT(MID(Echtzeit_String, 2, 21));
Viel Erfolg :D
eNDe
 
Hi eNDe,

nachdem du nun die Uhrzeit hast sollte der Rest einfach sein. In der OSCAT Building, von der du ja sprachst, gibts einen kompletten Satz an Bausteinen für Rollläden und Raffstore (Jalousien):
BLIND_ACTUATOR
BLIND_CONTROL
BLIND_CONTROL_S
BLIND_INPUT
BLIND_NIGHT
BLIND_SCENE
BLIND_SECURITY
BLIND_SET
BLIND_SHADE
BLIND_SHADE_S

Im einfachsten Fall benötigst du für nen Rollladen nur BLIND_INPUT und BLIND_CONTROL_S. Zusammen mit BLIND_NIGHT hast du schon deine komplette Rollladensteuerung mit Zeitsteuerung.
Geht bei mir seit fünf Jahren.
Verfeinern kann man das dann noch mit einer Schattenkantenführung bei Sonne oder Sicherheitsfunktionen wie Schutz bei Regen oder Wind.
Beispiele dazu sind in der OSCAT-Doku (zur Building-Lib) im Kapitel "Jalousiesteuerung" zu finden.

Gruß ohm200x
 
In der Scheduler03.lib von Wago sind die Schaltuhren - einfach die Uhrzeit übergeben u. Schaltzeiteintragungen kannst DU bequem über die Visu vornehmen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Antworten. Leider bin ich nicht weiter wie auf dem Bild zu sehen. Ich verstehe nicht, wie ich die ausgegebene Echtzeit von "SysRtcGetTime" in "DT" nun z.B. an die Kalender oder Zeituhrbausteine richtig weiter geben kann.
Bin leider ziemlicher Anfänger :-/

Gruß
Lukas

wago.JPG
 
Bin nun schon deutlich weiter, mit dem Bausteil "FbScheduleWeekly" aus der Wago Lib konnte ich die Zeit im DT Format ohne Probleme bearbeiten. Wäre super, wenn mir nochmal Jemand erklären könnte, wie ich im FUP das Format der Zeit für andere Bausteine anpassen könnte!

Danke euch!
 
Den Aufruf der Systemzeit würde ich in einer seperaten Task realisieren u. nicht im allg. Haufen - die Uhrzeit einer globalen Variable zuweisen.

Was willst Du mit einer Formatanpassung für andere Bausteine erreichen :confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
okay, danke für den Tipp, ich werde das ganze eh nochmal neu schreiben und "aufräumen", wenn ich mit meinem Experimenten durch bin! Naja aus der OSCAT lib kann der Baustein calendar_calc mit mit dem Zeitformat in DT umgehen oder mache ich da, mal wieder, etwas falsch?

Danke und Gruß
Lukas
 
Wenn man mit fremden Bibliotheken arbeitet sollte man sich auch die Doku hierfür zu Gemüte führen - in deinem Fall ist das die Struktur CALENDAR, welche für den gewünschten Baustein nötig ist.

Dort wird das Zeitformat DT ebenfalls verwendet.
 
Zurück
Oben