Problem with SUN_TIME

Begonnen von Frankeman, 05. August 2011, 22:34:56

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Frankeman

Hi,

I have stange outputs when using the SUN_TIME functionblock.
When i set UTC to 1-8-2011 then
Midday = 7:39:36 
SunRise = 3:10:30 
SunSet = 12:08:42

When i set UTC to 2-8-2011 then (one day later)
Midday = 6:34:24
SunRise = 5:48:42
SunSet = 7:20:06

When i set UTC to 3-8-2011 then (another day later)
Midday = 5:19:04 
SunRise = 8:39:44 
SunSet = 2:00:24

I would expect some minutes difference per day not hours.
I noticed that the earlyest day i can set for the PLC's RTC = 1-1-2009.
Can somebody help me with this.

Latitude = 52.0
Longitue = 4.3
H = 0.0

Oscat 332
PCworx 6.10.105 (latest version)
ILC150 HW4 FW370 (latest versions)

Best regards, Frank.

peewit

Hi,

there is no problem
you do something wrong

(sun_time_sample.jpg)


[gelöscht durch Administrator]

Frankeman

Hi,

Many thanks, there is indeed no problem with the calculations.
After the SUN_TIME i used DT_TO_STRF to display the time.
The output of the SUN_TIME is a TOD, the DT_TO_STRF needs a DT as input, my mistake.

The TOD_TO_STRING and the other TOD_TO_ functions are not explained in the englisch help file.

I like your library, Frank.

peewit

ZitatThe TOD_TO_STRING and the other TOD_TO_ functions are not explained in the englisch help file.

these blocks I've programmed only for pcworx (unofficially)
because the type DT and TOD is not supported directly

michaelgreubel

Hallo,
ich habe auch Probleme mit dem Sun-Time Baustein.
Bei den Vorgegebenen Werten bekomme ich ganz andere Ergebnisse .

Latitude 52.0
Longitude 4.3
H 0.0
UTC 1.8.2011

Midday        11h47m09s
Sun_Rise      7h57m57s
Sun_Set     15h36m22s
Sun_Dec     15.117035

Ich benutze PCWORX 5.20 mit einem ILC170 (ILC330) und die Oscat 332
letzte änderung im Sun_Time 25.01.2011 rev1.7

michaelgreubel

Hallo,
das Sun_Time Modul macht doch alles Richtig.

Das Set_Date Modul hat einen Fehler.

Mann muss in der ersten Zeile statt LIMIT LIMIT_INT schreiben.
Jetzt funzt es mit dem 170er und dem 330er.

Gruß Michael

peewit

#6
hallo

wir werden das bei der nächsten release reparieren

ansich ist das eine schwäche des compilers
alle parameter beim limit sind vom typ int und die case anweisung benötigt auch int
das es dann nicht klappt ist unverständlich...

es kann leicht sein das der compilerfehler nur in deinem alten pcworc 5.20 ist
aktuell ist pcworx 6.10 sp1 hf3

aber was solls ....... so ist das eben
es sollte ja auch mit einem alten pcworx funktionieren

klaus1

Probleme auf der CX9001 (Beckhoff):
LATITUDE := 48, LONGITUDE := 13 h = default
Time UTC: 05.10.2012 20:50 Uhr
Sunrise: TOD#06:55
Sunset: TOD#15:22

Oscat_basic 332.
Bitte um Hilfe.
Function set_date hat zwar in erster Zeile ein LIMIT, allerdings kann ich daraus kein LIMIT_INT machen. (Datentyp gibts nicht).
Danke,

peewit

hallo

die sache mit limit -> limit int betrifft doch nur pcworx steuerungen
du schreibst aber das du eine cx9001 hast

was ist denn dein eigentliches problem ?

klaus1

hallo,

Die Sonnenaufgangs und Untergangszeiten sind zu bald! ;-) 15:22 Uhr Untergang statt 19:10 ca..
Danke,
Klaus

klaus1

kann mir jemand mal für oben genannte werte die Zeiten berechnen? Ich finde das Problem nicht. Ich geb UTC Zeiten ein.
danke,

peewit

hallo

das habe ich auf twincat softplc mit oscat_basic 3.33 getestet (siehe bild)
und es passt auch ziemlich gut

zum testen:   http://www.volker-quaschning.de/datserv/sunpos/index.php


[gelöscht durch Administrator]

klaus1

ok, ich glaub das problem ist die eingegebene Zeit. ich bin 2h zu früh. eingegeben habe ich die aktuelle lokale Zeit. In der Beschreibung steht UTC eingeben. was kommt dann genau raus bzw. wie komme ich auf die tasächliche lokale Sonnen auf und Untergangszeit?
danke,

peewit


der baustein CALENDAR_CALC erledigt das alles von alleine
der braucht nur ein paar parameter, und stellt dir dann alles in einer datenstruktur zur verfügung
nähmlich eine sonnen auf/untergangzeit auf lokalzeit basis

wenn du denn baustein aber nicht willst, dann kannst du dir zumindest im quellcode ansehen, wie man
die sun_time utc-weltzeiten auf lokalzeiten umrechnet


viel spass beim basteln noch ....