FB_CalcSunriseSunset

FB_CalcSunriseSunset 1:

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.

FB_CalcSunriseSunset 2:

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);