# LGF_GetCalendarWeek_ISO (FC / V3.0.1)

Autor: Siemens Digital Industry

## Kurzbeschreibung

Diese Funktion berechnet aus dem vorgegebenen Datum die Kalenderwoche und die Anzahl der Tage für europäische Länder nach ISO 8601, die seit dem Anfang des Jahres vergangen sind.

### Baustein Schnittstelle

| LGF_GetCalendarWeek_ISO (FC) |
--- | --- | ---
DTL |  |  | date |  | Ret_Val |  |  | DInt
|  |  |  |  | calendarDay |  |  | DInt
|  |  |  |  | error |  |  | Bool
|  |  |  |  | status |  |  | Word

### Input Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
date | DTL | Datum zur Berechnung der Kalenderwoche und der Tage seit dem 1. Januar

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | DInt | Nummer der Kalenderwoche
calendarDay | DInt | Vergangene Tage seit 1.Januar für das angegebene Datum
error | Bool | FALSE: Kein Fehler / TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
status | Word | 16#0000-16#7FFF: Status des FB / 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)

### Status & Error Meldungen

Code / Wert | Bezeichner / Beschreibung
--- | ---
16#0000 | STATUS_NO_ERROR Status: kein Fehler aufgetreten
16#8201 | ERR_LIM_DATE Datum ausserhalb des gültigen Bereiches, es muss nach dem <1970-01-01 ; 2262-04-11> liegen

## Funktionsbeschreibung

Zählweise für europäische Länder nach ISO 8601

- Kalenderwochen haben 7 Tage, beginnen an einem Montag und werden über das Jahr fortlaufend gezählt
- Die Kalenderwoche 1 eines Jahres ist diejenige, die den ersten Donnerstag enthält.
- Jedes Jahr hat entweder 52 oder 53 Kalenderwochen.
- Ein Jahr hat 53 Kalenderwochen, wenn folgende Eigenschaften zutreffen:
  - Ein Gemeinjahr beginnt an einem Donnerstag und endet an einem Donnerstag.
  - Ein Schaltjahr beginnt entweder an einem Mittwoch und endet an einem Donnerstag oder es beginnt an einem Donnerstag und endet an einem Freitag.
- Der 29., 30. und 31. Dezember können schon zur Kalenderwoche 1 des Folgejahres gehören.
- Der 1., 2. und 3. Januar können noch zu der letzten Kalenderwoche des Vorjahres gehören.

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 01.00.00 | Siemens Industry Online Support
| 27.01.2017 | First released version
| 01.00.01 | Siemens Industry Online Support
| 17.08.2018 | Upgrade: TIA V15 Update 2
| 01.00.02 | Siemens Industry Online Support
| 23.11.2018 | Upgrade: TIA V15.1
| 01.00.03 | Simatic Systems Support
| 16.07.2019 | Renamed from LGF_CalenderWeek to LGF_CalenderWeek_ISO Function split into week for ISO and US Format and as well day counter. Result passed as return value. Standard header implemented Constant, temp variable naming Update function call of CalendarDay
| 03.00.00 | Simatic Systems Support
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library
| 03.00.01 | Simatic Systems Support
| 19.01.2020 | Insert documentation