FB_CalcSunriseSunset
Funktionsbaustein zur Berechnung des Sonnenaufgangs und des Sonnenuntergangs durch die Angabe der geographischen Länge, der geographischen Breite, des Bezugsmeridian und der Uhrzeit.
Die Erde ist in mehrere Zeitzonen unterteilt. Jeder Zeitzone ist ein Bezugsmeridian zugeordnet. Bezugsmeridian einiger Zeitzonen:
Zeitzone | Bezugsmeridian |
---|---|
GMT (Greenwich Mean Time) | λGMT = 0° |
MEZ (Mitteleuropäische Zeit) | λMEZ = 15° |
MESZ (Mitteleuropäische Sommerzeit) | λMESZ = 30° |
Bei der Angabe der Uhrzeit muss die Zeit nach Greenwich Mean Time (GMT) angegeben werden.
Dieser Baustein ist nur in der PC-Version der Library verfügbar. |
VAR_INPUT
fDegreeOfLongitude : LREAL := 8.5;
fDegreeOfLatitude : LREAL := 51.9;
fReferenceMeridian : LREAL;
dCurrentDate : DATE;
fDegreeOfLongitude: geographische Länge (Längengrad) in Grad.
fDegreeofLatitude: geographische Breite (Breitengrad) in Grad.
fReferenceMeridian: Bezugsmeridian von der Zeitzone.
dCurrentDate: aktuelles Datum.
VAR_OUTPUT
todSunrise : TOD;
todSunset : TOD;
todSunrise: Sonnenaufgang. Ausgabe der Stunde und der Minute.
todSunset: Sonnenuntergang. Ausgabe der Stunde und der Minute.
Beispiel
PROGRAM MAIN
VAR
fbCalcSunriseSunset : FB_CalcSunriseSunset;
todSunrise : TOD;
todSunset : TOD;
fbGetSystemTime : GETSYSTEMTIME;
fileTime : T_FILETIME;
dtCurrentDate : DT;END_VAR
fbGetSystemTime(timeLoDW =>fileTime.dwLowDateTime,
timeHiDW =>fileTime.dwHighDateTime);
dtCurrentDate := FILETIME_TO_DT(fileTime);
fbCalcSunriseSunset( fDegreeOfLongitude := 8.5, (* Longitude of Verl *)
fDegreeOfLatitude := 51.9, (* Latitude of Verl *)
fReferenceMeridian := 30.0, (* Central European Summer Time *)
dCurrentDate := DT_TO_DATE(dtCurrentDate),
todSunrise => todSunrise,
todSunset => todSunset);