SwitchTimeS (FB)¶
FUNCTION_BLOCK SwitchTimeS
Kurzbeschreibung¶
Schaltuhr mit 5 einstellbaren Zeitperioden und binärem AusgangJede Zeitperiode ist durch eine Einschaltzeit / Ausschaltzeit und ein Datum definiert
Darstellung¶
Schnittstellen¶
Eingänge¶
Name Datentyp Wertebereich Initialwert Funktion xEn BOOL Freigabeeingang
Ausgänge¶
Name Datentyp Wertebereich Initialwert Funktion xActive BOOL Anzeige von aktiven Zeitperioden todActivatedFrom TOD Einschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags todActivatedTo TOD Ausschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags
Sollwerte / Parameter¶
Name Datentyp Wertebereich Initialwert Funktion datCH1_Date DATE DATE#2017-01-01 Datum der Zeitperiode 1 todCH1_TimeFrom TOD TOD#07:00 Einschaltzeitpunkt der Zeitperiode 1 todCH1_TimeTo TOD TOD#12:00 Ausschaltzeitpunkt der Zeitperiode 1 xCH1_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 1 sCH1_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ Text für die Zeitperiode 1 datCH2_Date DATE DATE#2017-01-01 Datum der Zeitperiode 2 todCH2_TimeFrom TOD TOD#07:00 Einschaltzeitpunkt der Zeitperiode 2 todCH2_TimeTo TOD TOD#12:00 Ausschaltzeitpunkt der Zeitperiode 2 xCH2_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 2 sCH2_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ Text für die Zeitperiode 2 datCH3_Date DATE DATE#2017-01-01 Datum der Zeitperiode 3 todCH3_TimeFrom TOD TOD#07:00 Einschaltzeitpunkt der Zeitperiode 3 todCH3_TimeTo TOD TOD#12:00 Ausschaltzeitpunkt der Zeitperiode 3 xCH3_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 3 sCH3_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ Text für die Zeitperiode 3 datCH4_Date DATE DATE#2017-01-01 Datum der Zeitperiode 4 todCH4_TimeFrom TOD TOD#07:00 Einschaltzeitpunkt der Zeitperiode 4 todCH4_TimeTo TOD TOD#12:00 Ausschaltzeitpunkt der Zeitperiode 4 xCH4_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 4 sCH4_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ Text für die Zeitperiode 4 datCH5_Date DATE DATE#2017-01-01 Datum der Zeitperiode 5 todCH5_TimeFrom TOD TOD#07:00 Einschaltzeitpunkt der Zeitperiode 5 todCH5_TimeTo TOD TOD#12:00 Ausschaltzeitpunkt der Zeitperiode 5 xCH5_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 5 sCH5_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ Text für die Zeitperiode 5
Funktionsbeschreibung¶
Allgemeines¶
Der aktuelle Zeitpunkt ( Datum / Uhrzeit ) wird permanent mit den 5 definierten Zeitperioden verglichen.
Der Anzeigeausgang xActive nimmt den Zustand TRUE an, falls bei aktivem Freigabeeingang ( xEn = TRUE ) mindestens eine der 5 Zeitperioden aktiv ist.
Freigabeeingang xEn¶
xEn xActive todActivatedFrom todActivatedTo Hinweis FALSE FALSE unverändert unverändert FB deaktiviert TRUE Zustand abhängig von den 5 Zeitperioden Einschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags Ausschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags FB aktiviert
Anzeigeausgang xActive¶
Der Anzeigeausgang nimmt den Zustand TRUE an, falls bei aktivem Freigabeeingang ( xEn = TRUE ) mindestens eine der 5 Zeitperioden aktiv ist.
xActive xEn Zeitperiode 1 Zeitperiode 2 Zeitperiode 3 Zeitperiode 4 Zeitperiode 5 Hinweis FALSE FALSE X X X X X FB deaktiviert FALSE TRUE FALSE FALSE FALSE FALSE FALSE Keine Zeitperiode aktiv TRUE TRUE FALSE FALSE TRUE FALSE FALSE Mindestens eine Zeitperiode aktiv
Einschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags todActivatedFrom¶
Dieser Anzeigeausgang nimmt den Wert des Einschaltzeitpunkts der letzten aktiven Zeitperiode an, falls bei aktivem Freigabeeingang ( xEn = TRUE ) das Datum des
aktuellen Zeitpunkts mit dem Datum der Zeitperiode übereinstimmt. In allen übrigen Situationen wird er nicht verändert.
Ausschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags todActivatedTo¶
Dieser Anzeigeausgang nimmt den Wert des Ausschaltzeitpunkts der letzten aktiven Zeitperiode an, falls bei aktivem Freigabeeingang ( xEn = TRUE ) das Datum des
aktuellen Zeitpunkts mit dem Datum der Zeitperiode 5 übereinstimmt. In allen übrigen Situationen wird er nicht verändert.
Zeitperioden 1 - 5 ( X = 1 .. 5 )¶
Jede Zeitperiode ist durch einstellbare Daten ( Einschaltzeitpunkt todCHX_TimeFrom, Ausschaltzeitpunkt todCHX_TimeTo und Datum datCHX_Date ) definiert
Zusätzlich kann eine Betriebsart ( xCHX_Mode ) sowie ein beschreibender Text ( sCHX_Notice ) festgelegt werden.
Liegt der Ausschaltzeitpunkt vor dem Einschaltzeitpunkt, so wird für die Prüfung der Ausschaltzeitpunkt auf den Wert des Einschaltzeitpunkts gelegt.
Eine Zeitperiode ist aktiv, falls das aktuelle Datum mit dem Datum der Zeitperiode übereinstimmt und der Zeitpunkt sich innerhalb der Zeitperiode befindet ( xCHX_Mode = TRUE ).
Eine Zeitperiode ist aktiv, falls das aktuelle Datum mit dem Datum der Zeitperiode übereinstimmt und der Zeitpunkt sich ausserhalb der Zeitperiode befindet ( xCHX_Mode = FALSE ).
Visualisierung¶
Information¶
Element Autoren Datum Version Anmerkungen Funktion Adam Bartod 09.2016 1.0 Ursprungsversion Programmierung Adam Bartod 09.2016 1.0 Ursprungsversion Test Jochen Reu 09.2017 1.0 Ursprungsversion Dokumentation Jochen Reu 10.2017 1.0 Ursprungsversion
Codesys¶
- InOut:
Scope Name Type Initial Comment Input xEn BOOL Freigabeeingang datCH1_Date DATE DATE#2017-1-1 Datum der Zeitperiode 1 todCH1_TimeFrom TOD TIME_OF_DAY#7:0 Einschaltzeitpunkt der Zeitperiode 1 todCH1_TimeTo TOD TIME_OF_DAY#12:0 Ausschaltzeitpunkt der Zeitperiode 1 xCH1_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 1 sCH1_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ datCH2_Date DATE DATE#2017-1-1 Datum der Zeitperiode 2 todCH2_TimeFrom TOD TIME_OF_DAY#7:0 Einschaltzeitpunkt der Zeitperiode 2 todCH2_TimeTo TOD TIME_OF_DAY#12:0 Ausschaltzeitpunkt der Zeitperiode 2 xCH2_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 2 sCH2_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ datCH3_Date DATE DATE#2017-1-1 Datum der Zeitperiode 3 todCH3_TimeFrom TOD TIME_OF_DAY#7:0 Einschaltzeitpunkt der Zeitperiode 3 todCH3_TimeTo TOD TIME_OF_DAY#12:0 Ausschaltzeitpunkt der Zeitperiode 3 xCH3_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 3 sCH3_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ datCH4_Date DATE DATE#2017-1-1 Datum der Zeitperiode 4 todCH4_TimeFrom TOD TIME_OF_DAY#7:0 Einschaltzeitpunkt der Zeitperiode 4 todCH4_TimeTo TOD TIME_OF_DAY#12:0 Ausschaltzeitpunkt der Zeitperiode 4 xCH4_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 4 sCH4_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ datCH5_Date DATE DATE#2017-1-1 Datum der Zeitperiode 5 todCH5_TimeFrom TOD TIME_OF_DAY#7:0 Einschaltzeitpunkt der Zeitperiode 5 todCH5_TimeTo TOD TIME_OF_DAY#12:0 Ausschaltzeitpunkt der Zeitperiode 5 xCH5_Mode BOOL TRUE Modus der Anzeige für die Zeitperiode 5 sCH5_Notice STRING ‘Eigene Notiz - zum ändern klicken.’ Output xActive BOOL Anzeige von aktiven Zeitperioden todActivatedFrom TOD Einschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags todActivatedTo TOD Ausschaltzeitpunkt der letzten aktiven Zeitperiode des aktuellen Tags