LGF_AstroClock (FB / V3.0.1)


Autor: Siemens Digital Industry

Kurzbeschreibung

Diese Funktion berechnet die Zeiten des Sonnenauf- und Sonnenuntergangs basierent auf der Lokalzeit für einen bestimmten Ort auf der Erde. Die genaue Position wird in Form von geographischen GPS Koordinaten (Längen- und Breitengrad / Longitude und Latitude) übergeben.

LGF_AstroClock - Erde mit Längen- und Breitengrad

Baustein Schnittstelle

LGF_AstroClock (FB)
Bool  enable valid  Bool
    
LGF_typeGPS_DD  positionGps busy  Bool
    
Time  offsetSunrise error  Bool
    
Time  offsetSunset status  Word
    
   subFunctionStatus  Word
    
   actualLocalTime  DTL
    
   sunriseTime  DTL
    
   sunsetTime  DTL
    
   isDaytime  Bool
    
   

Input Parameter

BezeichnerDatentypDefault WertBeschreibung
enableBoolFALSETRUE: Aktiviert die Funktionalität des FB
positionGpsLGF_typeGPS_DD---GPS-Position zur Berechnung der Sonnenaufgangs- und Sonnenuntergangszeit
offsetSunriseTimeT#0sOffset zum Sonnenaufgang (wird zur Sonnenaufgangszeit addiert, wird bei `isDaytime` berücksichtigt, negative Zeit ist erlaubt)
offsetSunsetTimeT#0sOffset zum Sonnenuntergang (addiert zur Sonnenuntergangszeit, berücksichtigt bei `isDaytime`, negative Zeit erlaubt)

Output Parameter

BezeichnerDatentypBeschreibung
validBoolTRUE: Ausgabewerte am FB gültig
busyBoolTRUE: FB ist aktive und neue Ausgabewerte können erwartet werden.
errorBoolFALSE: Kein Fehler / TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
statusWord16#0000-16#7FFF: Status des FB / 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)
subFunctionStatusWordStatus oder Rückgabewert von aufgerufenen FB's / FC's und Systemfunktionen
actualLocalTimeDTLAktuelle Zeit (Lokalzeit)
sunriseTimeDTLSonnenaufgangszeit (Lokalzeit)
sunsetTimeDTLSonnenuntergangzeit (Lokalzeit)
isDaytimeBoolTRUE: Wenn die Lokalzeit der Steuerung zwischen "sunrise" und "sunset" liegt.

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_EXECUTION_FINISHED_NO_ERROR
Abarbeitung ohne Fehler beendet
16#7000STATUS_NO_CALL
Block ist nicht in Bearbeitung - not `enable`
16#7001STATUS_IN_OPERATION
Block ist in Abarbeitung - Enabled
16#8204ERR_LATITUDE_VALUE
Fehler: Falscher Latitude DD Wert (Breitengrad)
16#8205ERR_LONGITUDE_VALUE
Fehler: Falscher Longitude DD Wert (Längengrad)
16#8601ERR_RD_SYS_T
Fehler in Funktion RD_SYS_T: Lese System Zeit - weitere infos in `subFunctionStatus`
16#8602ERR_RD_LOC_T
Fehler in Funktion RD_LOC_T: Lese Lokal Zeit - weitere infos in `subFunctionStatus`

Benutzer definierte Datentypen

LGF_typeGPS_DD (UDT)

Datentyp für GPS-Koordinaten im Format Dezimalgrad.
Für Breitengrad (Latitude) und Längengrad (Longitude).
Datentyp für einen gesamten GPS Datensatz.

BezeichnerDatentypDefault WertBeschreibung
latitudeReal0.0Breitengrad (Latitude) in Grad mit Nachkommastellen
(Einheit: Grad dezimal), Norden = positiv; Süden = negativ)
gültiger Wertebereich [-90.00000..90.00000]
longitudeReal0.0Längengrad (Longitude) in Grad mit Nachkommastellen
(Einheit: Grad dezimal), Osten = positiv; Westen = negativ)
gültiger Wertebereich [-180.0000..180.0000]

Funktionsbeschreibung

Hinweis
In subFunctionStatus wird der Status von aufgerufenen Anweisungen ausge-geben. Der Ausgangswert in status gibt in diesem Fall an, welche Anweisung den Fehler verursacht hat. Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Wenn Prozesse in Abhängigkeit vom Wechsel zwischen Tag und Nacht automa-tisiert ablaufen sollen, wird die Funktion einer astronomischen Uhr benötigt. Beispiele dafür wären das Ein- und Ausschalten einer Außenbeleuchtung oder das Öffnen und Schließen von Rollläden.

Sollen diese Prozesse zeitversetzt, also eine definierte Zeit vor oder nach Sonnen-auf- oder Sonnenuntergang, ausgeführt werden, wird jeweils noch ein Offset benötigt.


Hinweis
Für eine exakte Ausführung der Funktion, muss gewährleistet sein, dass die Systemzeit und Lokalzeit der SIMATIC Steuerung richtig eingestellt ist.

Basierend auf der Systemzeit/Lokalzeit der SIMATIC Steuerung und den ein-gestellten Koordinaten berechnet der Baustein die Zeiten für Sonnenauf- und Sonnenuntergang. Die Offset-Zeiten werden zum Sonnenauf- und Sonnenuntergang hinzugerechnet und an den Ausgängen sunrise und sunset ausgegeben. Liegt die System Lokalzeit der SIMATIC Steuerung zwischen diesen Werten, wird der Ausgang isDaytime auf den Wert TRUE gesetzt.


Hinweis

Da sich die Zeiten für Sonnenauf- und Sonnenuntergang täglich verändern, kann es sein, dass der Ausgang isDaytime über einen längeren Zeitraum dauerhaft auf TRUE oder FALSE "stehen bleibt":


Die Eingabe der GPS- Koordinatenwerte wird auf gültige Werte geprüft. Bei ungül-tigen Werten wird ein entsprechender Fehlercode an status ausgegeben.

Liegt an einem Formalparameter ein ungültiger Koordinatenwert vor, werden die Ausgänge sunrise und sunset auf den Wert DTL#1970-01-01-00:00:00 gesetzt.


####### Beispiel

Das folgende Beispiel verdeutlicht die Funktionsweise des Bausteins.

Geografische Koordinaten für Nürnberg-Moorenbrunn, Datum und Systemzeit:

Beschreibung Wert
Längengrad: + 11.07675°
Breitengrad: + 49.45203°
Datum: 28.02.2020
Lokalzeit: 11:22:37
Sonnenaufgang 07:01:23
Sonnenuntergang 17:56:14

Abbildung: FB LGF_AstroClock, Beobachtung des Bausteins online mit den Parametern sowie den Aktualparametern über die Beobachtungstabelle

LGF_AstroClock - Beobachtung des Bausteins online

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Siemens Industry Online Support
19.08.2015First released version
01.00.01Siemens Industry Online Support
01.10.2015T_ADD instruction is replaced with "+"
01.00.02Siemens Industry Online Support
16.11.2015"offsetSunrise", "offsetSunset" is calculated in
"daytime"
Bug fix at "Adjust back TO UTC"
01.01.00Siemens Industry Online Support
07.06.2015Add output actSystemTime and actLocalTime
01.01.01Siemens Industry Online Support
15.06.2015Add comments
01.01.02Siemens Industry Online Support
04.01.2017Bug fix at calculation sunrise and sunset
01.01.03Siemens Industry Online Support
20.01.2017Upgrade: TIA V14 Update 1
01.01.04Siemens Industry Online Support
22.02.2017Code optimization
01.01.05Siemens Industry Online Support
09.07.2018Initialize #tempIntSunrise, #tempIntSunset,#tempDate1Jan
01.01.06Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
01.01.07Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
01.00.08Simatic Systems Support
30.08.2019Rename from Astro to AstroClock
Update Type name to positionGps - "LGF_typeGPS_DD" - GPS position as decimal degree
Refactoring of interface
- one input type for GPS data
- refactored for better usability
- refactoring of whole block to "ENABLE" behavior
03.00.00Simatic Systems Support
23.04.2020Set version to V3.0.0, harmonize the version of the whole library
03.00.01Simatic Systems Support
12.11.2020Bug fix - not enabled - block still running
Insert documentation