FB_DailyScheduler
Funktionsbaustein zum Schalten von Aktionen an jedem n-ten Tag im Jahr.
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
uiPeriodicity : UINT;
uiBegin : UINT;
eStartEnd : ENUM;
stStartEnd : TIMESTRUCT;
stSystemtime : TIMESTRUCT;
uiPeriodicity: Periodizität bzw. Intervall. Darf im Bereich von 1..365 liegen.
uiBegin: Startwert für den Tageszähler. Darf im Bereich von 1..365 liegen. Beispiel: uiPeriodicity=5, uiBegin=2: Schaltereignisse am 2.Jan., 7.Jan. 12.Jan. etc. - uiPeriodicity=3, uiBegin=1: Schaltereignisse am 1.Jan., 4.Jan. 7.Jan. etc.
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.