FB_MonthlyScheduler1
Funktionsbaustein zum Schalten von Aktionen an einem bestimmten Wochentag in bestimmten Monaten.
Der Funktionsbaustein benötigt zum Schalten das Durchschreiten des Zeitschaltpunktes. Ein nachträgliches Ändern der Schaltereignisse bzw. der Zeit ist daher nicht zulässig. |
VAR_INPUT
arrActiveMonth : ARRAY[1..12] OF BOOL;
uiActiveWeekday : UINT;
eStartEnd : ENUM;
stStartEnd : TIMESTRUCT;
stSystemtime : TIMESTRUCT;
arrActiveMonth: Monat in dem geschaltet werden soll - arrActiveMonth[1]=>Januar .. arrActiveMonth[12]=>Dezember. Mehrfachauswahl ist möglich.
uiActiveWeekday: Wochentag, an dem in den gewählten Monaten geschaltet werden soll. 0=Sonntag .. 6=Samstag. Mehrfachauswahl ist nicht möglich; der Wert darf 6 nicht überschreiten
eStartEnd: Auswahl der Start-End-Definition.
TYPE E_StartEnd : ( eSTARTTIME_ENDTIME := 1, eSTARTTIME_DURATION := 2, eSTARTTIME_ENDEVENT := 3, eSTARTEVENT_ENDTIME := 4, eSTARTEVENT_DURATION := 5, eSTARTEVENT_ENDEVENT := 6 ); END_TYPE eSTARTTIME_ENDTIME: Startzeit/Endzeit-Auswahl. Ist die Start-Tageszeit größer oder gleich der End-Tageszeit, so wird das Ende auf den nächsten Tag gelegt. eSTARTTIME_DURATION: Startzeit/Dauer-Auswahl. eSTARTTIME_ENDEVENT: Startzeit/Endereignis-Auswahl. eSTARTEVENT_ENDTIME: Startereignis/Endzeit-Auswahl. Ist die Start-Tageszeit größer oder gleich der End-Tageszeit, so wird das Ende auf den nächsten Tag gelegt. eSTARTEVENT_DURATION: Startereignis/Dauer-Auswahl. eSTARTEVENT_ENDEVENT: Startereignis/Endereignis-Auswahl. |
stStartEnd: Struktur mit den Parametern, welche Start und Ende definieren. Nicht benötigte Variablen bleiben intern unberücksichtigt, wie beispielsweise die Dauer bei Startzeit/Endzeit-Auswahl.
TYPE ST_StartEnd : STRUCT todStartTime : TOD; bStartEvent : BOOL; tDuration : TIME; todEndTime : TOD; bEndEvent : BOOL; END_STRUCT END_TYPE |
todStartTime: Startzeit.
bStartEvent: Startereignis
tDuration: Schaltdauer.
todEndTime: Endzeit.
bEndEvent: Endereignis.
stSystemtime: aktuelle Uhrzeit im TIMESTRUCT-Format. Wichtig ist, dass jede Sekunde mitgezählt wird.
VAR_OUTPUT
bOut : BOOL;
bTriggerOn : BOOL;
bNoEventNextYear : BOOL;
bError : BOOL;
nErrorId : UDINT;
bOut: Steuerausgang, welcher durch die Start- und Endereignisse ein- oder ausgeschaltet wird.
bTriggerOn: Triggerausgang für die Einschaltereignisse. Dieser Ausgang dient dazu, Einschaltereignisse zu erfassen. Sollten 2 Einschaltereignisse aufeinanderfolgen würde man dieses über den Steuerausgang bOut nicht bemerken, da dieser auf TRUE stehen bleiben würde, siehe auch zeitliche Überschneidungen in der Übersicht.
bNoEventNextYear: Innerhalb der nächsten 366 Tage kann kein Tag gefunden werden, auf den die Parametrierung zutrifft.
bError: Dieser Ausgang wird auf TRUE geschaltet, wenn die Parametrierung fehlerhaft ist. Der befehlsspezifische Fehlercode ist in nErrorId enthalten. Wird nach korrekter Parametrierung auf FALSE zurückgesetzt.
nErrorId: Enthält den befehlsspezifischen Fehlercode. Wird nach korrekter Parametrierung auf auf 0 zurückgesetzt. Siehe Fehlercodes.