UTC Weltzeit

Begonnen von j_poool, 26. April 2011, 16:50:50

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

j_poool

Hallo!
Bin gerade Bausteine wie SUN_POS und SUN_TIME zu testen nur hab ich Probleme mit dem Zeiteingang UTC:
wie gehe ich da um? Wie kann ich den berechnen?

Vielen dank für eure Hilfe!!!

hugo

was willst du berechnen?
schau dir mal die definition von utx c im wickipedia an....

zur umrechnung von lokalzeit in utc und umgekehrt findest du funktionen in der oscat lib.
allerdings solltest du nicht von lokalzeit nach utc rechnen, den wegen der sommerzeit gibt es lücken bzw eine stunde im hjahr doppelt was nicht eindeutig ist.

hingegen kannst du immer zuverlässig von uts nach loaklzeit umrechnen.

am einfachsten bei gebäudeautomation ist es die interne uhr der sps auf utc zu stellen uind die entsprechende lokalzeit bei bedarf auszurechnen.

das ganze macht das calendar strukt in der oscat lib mittels der funktion calendar_calc und vieles mehr

j_poool

Hallo Hugo!
Alles klar, nur verstehe ich nicht was ich da anlegen muss, hab es mit DT oder TOD versucht, funkt nicht, mit dem Baustein Ltime_to_UTC verstehe ich auch nicht was ich da anlegen muss...... ???

??? bin verwirrt ???

martin.k

Hallo

Schau mal im Handbuch auf Seite 115 unten und das dazu passende Beispiel auf Seite 116.
Gruß Martin

j_poool

Hallo!
Habe selber das Beispiel schon gesehen, nur finde ich den Baustein SYSRTCGETTIME nicht.
Arbeitest du mit TWINCAT oder verwendest du WAGO Library?

hugo

sysrtcgettime ist ein baustein der mit wago controllern geliefert wird.

er stellt das interface zur sps internen hardwareuhr her.
leider ist die uhr einer sps nicht standardisiert, so das du abhängig von hersteller und modell der sps jeweils den geeigneten baustein zum auslesen der uhr benötigst.
die baiusteine liefert ausschliesslich der hersteller selbst

j_poool

Ok....wie kann ich das Problem mit Twincat (Beckhoff) lösen....bzw. wie bekomme ich die UTC Zeit her?

hugo

du solltest mal dein manual für deinen controller lesen, dort gibt es sicherlich die hinweise
die erste frage wäre aber ob dein e sps überhaupt eine uhr hat ???

j_poool

Um die Systemzeit auszulensen verwende ich den nt_gettime Baustein. Da kann ich am Ausgang in eine Struktur Zeit, Datum auslesen.

[gelöscht durch Administrator]

hugo

ok und wo ist jetzt dein problem ?????????

du setzt einfach aus den daten des baustein einen wert vom typ dt zusammen. die bausteine dazu findest du alle in der oscat lib
auch zu fuss ist das keine anspruchsvolle aufgabe sondern eher zusammenstopseln....

j_poool

Geschafft  ;D

Einfach DT_TO_DATE einsetzten und das wars...........

Vielen Dank für die Hilfe !!!

kira2000

Hallo,

ich greife dieses ältere Thema noch einmal auf:

@ Hugo

Die WAGo 750-842 hat ja keine interne Uhr. Wie kann ich das dann lösen?

hugo

nun ja keine hardware uhr bedeutet das du die uhrzeit simulieren musst.

siehe dazu die bausteine rtc.... in der bibliothek.
zusätzlich musst du nach dem start und von zeit zu zeit die uhr neu setzen.
hierzu gibts in der lib z.b. den baustein dcf77 oder du holst die die zeit aus dem netz siehe hierzu die network lib.

kira2000

Ups,

hört sich kompliziert an. Ich bin mir nicht sicher, ob meine Kenntnisse da ausreichen. Gibt es Beispiele dazu?

hugo

schau ins manual das sind basics wenn du das nicht schaffst sehe ich schwarz also beiss dich durch
du kannst das aber erst mal etwas lesen und ein paar lehrbeispiele machen das ist nicht schwierig