# LGF_TimerSwitch (FB / V3.0.1)

Autor: Siemens Digital Industry

## Kurzbeschreibung

Dieser Baustein ist eine Zeitschaltuhr. Es ist möglich tägliche, wöchentliche, monatliche, jährliche Zeitschaltpunkte und Zeitschaltpunkte für Werktage oder Wochenendtage festzulegen.
Mode: Täglich: 1, Wöchentlich: 2, Monatlich: 3, Jährlich: 4, Arbeitstage: 5, Wochenende: 6

Der Zeitwert wird immer mit der Lokalzeit der SPS verglichen, daher muss der Zeitwert, der bei den On- und Off-Parametern angegeben wird, als lokale Zeit angegeben werden.

### Baustein Schnittstelle

| LGF_TimerSwitch (FB) |
--- | --- | ---
USInt |  |  | onMonth |  | signal |  |  | Bool
USInt |  |  | onDay |  | actLocalTime |  |  | DTL
USInt |  |  | onWeekday |  | error |  |  | Bool
USInt |  |  | onHour |  | status |  |  | Word
USInt |  |  | onMinute |  | subFunctionStatus |  |  | Word
USInt |  |  | offMonth |  |  |  |  |
USInt |  |  | offDay |  |  |  |  |
USInt |  |  | offWeekday |  |  |  |  |
USInt |  |  | offHour |  |  |  |  |
USInt |  |  | offMinute |  |  |  |  |
USInt |  |  | mode |  |  |  |  |

### Input Parameter

Bezeichner | Datentyp | Default Wert | Beschreibung
--- | --- | --- | ---
onMonth | USInt | 0 | Monat, in der der Ausgang gesetzt wird
onDay | USInt | 0 | Tag, an dem der Ausgang gesetzt wird
onWeekday | USInt | 0 | Wochentag, an dem der Ausgang gesetzt wird; Sonntag: 1, Montag: 2, Dienstag: 3, ...
onHour | USInt | 0 | Stunde, in der der Ausgang gesetzt wird
onMinute | USInt | 0 | Minute, in der der Ausgang gesetzt wird
offMonth | USInt | 0 | Monat, in der der Ausgang zurückgesetzt wird
offDay | USInt | 0 | Tag, an dem der Ausgang zurückgesetzt wird
offWeekday | USInt | 0 | Wochentag, an dem der Ausgang zurückgesetzt wird; Sonntag: 1, Montag: 2, Dienstag: 3, ...
offHour | USInt | 0 | Stunde, in der der Ausgang zurückgesetzt wird
offMinute | USInt | 0 | Minute, in der der Ausgang zurückgesetzt wird
mode | USInt | 0 | Angabe des Modus (siehe Funktionsweise); Täglich: 1, Wöchentlich: 2, Monatlich: 3, Jährlich: 4, Arbeitstage: 5, Wochenende: 6

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
signal | Bool | Ausagngssignal
actLocalTime | DTL | Aktuelle Lokalzeit
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)
subFunctionStatus | Word | Status Word einer aufgerufenen Unterfunktion

### Status & Error Meldungen

Code / Wert | Bezeichner / Beschreibung
--- | ---
16#0000 | STATUS_NO_ERROR Status: kein Fehler aufgetreten
16#8200 | ERR_NO_MODE_SELECTED Error: Kein vorhandener Mode ausgewählt, bitte Eingang `mode` prüfen
16#8600 | ERR_RD_LOC_T Error in Funktion RD_LOC_T - weitere infos in `subFunctionStatus`

## 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.

Der Baustein bietet verschiedene Arten einer Zeitschaltuhr, die im Parameter `mode` bestimmt werden

- Tägliche Zeitschaltuhr (mode = 1)
- Wöchentliche Zeitschaltuhr (mode = 2)
- Monatliche Zeitschaltuhr (mode = 3)
- Jährliche Zeitschaltuhr (mode = 4)
- Werktags, Montag bis Freitag (mode = 5)
- Wochenende, Samstag und Sonntag (mode = 6)

Der Zeitwert wird immer mit der Lokalzeit der SPS verglichen, daher muss der Zeitwert, der bei den On- und Off-Parametern angegeben wird, als lokale Zeit angegeben werden.

Abhängig vom Modus müssen folgende Formalparameter beschaltet werden:

Mode | Mode | Required formal parameters
--- | --- | ---
1 . | Tägliche Zeitschaltuhr | onHour / offHour onMinute / offMinute
2 . | Wöchentlich Zeitschaltuhr | onWeekday / offWeekday onHour / offHour onMinute / offMinute
3 . | Monatliche Zeitschaltuhr | onDay / offDay onHour / offHour onMinute / offMinute
4 . | Jährliche Zeitschaltuhr | onMonth / offMonth onDay / offDay onHour / offHour onMinute / offMinute
5 . | Werktags | onHour / offHour onMinute / offMinute
6 . | Wochenende | onHour / offHour onMinute / offMinute

Entspricht die eingestellte Startzeit der aktuellen Lokalzeit der Steuerung, wird der Ausgang `signal` auf `TRUE` gesetzt. Entspricht die eingestellte Abschaltzeit der aktuellen Lokalzeit der Steuerung, wird der Ausgang `signal` wieder zurückgesetzt.

Hinweis
  Beachten Sie, dass der Baustein in den Modi „Monatliche Zeitschaltuhr“ (mode = 3) oder „Jährliche Zeitschaltuhr“ (mode = 4) nur dann schaltet, wenn die Tage, die Sie an den Eingangsparametern „onDay“ und „offDay“ angeben, tatsächlich in diesem Monat vorkommen.

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 01.00.00 | Siemens Industry Online Support
| 19.08.2015 | First released version
| 01.00.01 | Siemens Industry Online Support
| 16.11.2015 | Fix in mode 2
| 01.01.00 | Siemens Industry Online Support
| 23.05.2016 | New mode 5 + 6 New output: actLocalTime
| 01.01.01 | Siemens Industry Online Support
| 02.01.2017 | Upgrade: TIA V14 Update 1
| 01.01.02 | Siemens Industry Online Support
| 14.09.2018 | Fix in modes 1, 3, 5, 6
| 01.01.03 | Siemens Industry Online Support
| 17.09.2018 | Upgrade: TIA V15 Update 2
| 01.01.04 | Siemens Industry Online Support
| 10.10.2018 | Connection to type restored
| 01.01.05 | Siemens Industry Online Support
| 23.11.2018 | Upgrade: TIA V15.1
| 01.01.10 | Simatic Systems Support
| 13.11.2019 | Magic numbers removed, tag naming added, code reworked
| 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