Beispiele für Initialisierungen

Wochenzeitplan/week für FB_BA_ScheduleBinary

Von Montag bis Sonntag wird eine Funktion um 6:00 Uhr eingeschaltet. Täglich um 18:00 Uhr wird sie ausgeschaltet. Falls diese Funktion nach 18 Uhr extern eingeschaltet wurde, so wird um 0:00 Uhr erneut ausgeschaltet.

// Monday
Schedule.aWeek[E_BA_Weekday.eMonday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,1].uValue.bVal             := TRUE;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nHour            := 6;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,2].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nHour            := 18;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,3].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nSecond          := 0;
// Tuesday
Schedule.aWeek[E_BA_Weekday.eTuesday,1].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].uValue.bVal            := TRUE;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nHour           := 6;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nSecond         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].uValue.bVal            := FALSE;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nHour           := 18;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nSecond         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].uValue.bVal            := FALSE;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nHour           := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nSecond         := 0;
// Wednesday
Schedule.aWeek[E_BA_Weekday.eWednesday,1].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].uValue.bVal          := TRUE;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nHour         := 6;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nSecond       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].uValue.bVal          := FALSE;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nHour         := 18;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nSecond       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].uValue.bVal          := FALSE;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nHour         := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nSecond       := 0;
// Thursday
Schedule.aWeek[E_BA_Weekday.eThursday,1].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,1].uValue.bVal           := TRUE;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nHour          := 6;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,2].uValue.bVal           := FALSE;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nHour          := 18;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,3].uValue.bVal           := FALSE;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nHour          := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nSecond        := 0;
// Friday
Schedule.aWeek[E_BA_Weekday.eFriday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,1].uValue.bVal             := TRUE;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nHour            := 6;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,2].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nHour            := 18;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,3].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nSecond          := 0;
// Saturday
Schedule.aWeek[E_BA_Weekday.eSaturday,1].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].uValue.bVal           := TRUE;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].stTime.nHour          := 6;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].uValue.bVal           := FALSE;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].stTime.nHour          := 18;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].uValue.bVal           := FALSE;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].stTime.nHour          := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].stTime.nSecond        := 0;
// Sunday
Schedule.aWeek[E_BA_Weekday.eSunday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSunday,1].uValue.bVal             := TRUE;
Schedule.aWeek[E_BA_Weekday.eSunday,1].stTime.nHour            := 6;
Schedule.aWeek[E_BA_Weekday.eSunday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSunday,2].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eSunday,2].stTime.nHour            := 18;
Schedule.aWeek[E_BA_Weekday.eSunday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSunday,3].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eSunday,3].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,3].stTime.nSecond          := 0;

Wochenzeitplan für FB_BA_ScheduleMultistate

Von Montag bis Sonntag wird um 23:00 Uhr und 0:00 Uhr der Wert 2 vorgegeben, um 5:00 Uhr jedoch der Wert 1.

// Monday
Schedule.aWeek[E_BA_Weekday.eMonday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,1].uValue.udiVal           := 2;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nHour            := 23;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,2].uValue.udiVal           := 2;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,3].uValue.udiVal           := 1;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nHour            := 5;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nSecond          := 0;
// Tuesday
Schedule.aWeek[E_BA_Weekday.eTuesday,1].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].uValue.udiVal          := 2;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nHour           := 23;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nSecond         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].uValue.udiVal          := 2;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nHour           := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nSecond         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].uValue.udiVal          := 1;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nHour           := 5;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nSecond         := 0;
// Wednesday
Schedule.aWeek[E_BA_Weekday.eWednesday,1].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].uValue.udiVal        := 2;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nHour         := 23;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nSecond       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].uValue.udiVal        := 2;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nHour         := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nSecond       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].uValue.udiVal        := 1;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nHour         := 5;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nSecond       := 0;
// Thursday
Schedule.aWeek[E_BA_Weekday.eThursday,1].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,1].uValue.udiVal         := 2;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nHour          := 23;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,2].uValue.udiVal         := 2;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nHour          := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,3].uValue.udiVal         := 1;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nHour          := 5;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nSecond        := 0;
// Friday
Schedule.aWeek[E_BA_Weekday.eFriday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,1].uValue.udiVal           := 2;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nHour            := 23;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,2].uValue.udiVal           := 2;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,3].uValue.udiVal           := 1;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nHour            := 5;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nSecond          := 0;
// Saturday
Schedule.aWeek[E_BA_Weekday.eSaturday,1].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].uValue.udiVal         := 2;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].stTime.nHour          := 23;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,1].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].uValue.udiVal         := 2;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].stTime.nHour          := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,2].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].uValue.udiVal         := 1;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].stTime.nHour          := 5;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eSaturday,3].stTime.nSecond        := 0;
// Sunday
Schedule.aWeek[E_BA_Weekday.eSunday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSunday,1].uValue.udiVal           := 2;
Schedule.aWeek[E_BA_Weekday.eSunday,1].stTime.nHour            := 23;
Schedule.aWeek[E_BA_Weekday.eSunday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSunday,2].uValue.udiVal           := 2;
Schedule.aWeek[E_BA_Weekday.eSunday,2].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eSunday,3].uValue.udiVal           := 1;
Schedule.aWeek[E_BA_Weekday.eSunday,3].stTime.nHour            := 5;
Schedule.aWeek[E_BA_Weekday.eSunday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eSunday,3].stTime.nSecond          := 0;

Kombination der Ausnahme im Datumsbereich mit einem Wochenzeitplan für FB_BA_ScheduleAnalog

Dieses Beispiel stellt eine Kombination eines Datumsbereiches in Verbindung mit einer Wochenzeitschaltuhr dar.

Im Datumsbereich vom 1. März 2026 bis zum 31.September 2026 wird an jedem Tag um 0:00 Uhr der analoge Wert 14,0 vorgegeben.

Außerhalb dieses Datumsbereiches ist der Wochenzeitschaltplan aktiv. Von Montag bis Freitag wird um 6:00 Uhr der Wert 22,0, um 18:00 Uhr der Wert 16,0 und um 0:00 Uhr der Wert 14,5 ausgegeben.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 126;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay01;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 0;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.rVal                   := 14.0;

// Monday
Schedule.aWeek[E_BA_Weekday.eMonday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,1].uValue.rVal             := 22.0;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nHour            := 6;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,2].uValue.rVal             := 16.0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nHour            := 18;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,3].uValue.rVal             := 14.5;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nSecond          := 0;
// Tuesday
Schedule.aWeek[E_BA_Weekday.eTuesday,1].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].uValue.rVal            := 22.0;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nHour           := 6;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,1].stTime.nSecond         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].uValue.rVal            := 16.0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nHour           := 18;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,2].stTime.nSecond         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].eState                 := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].uValue.rVal            := 14.5;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nHour           := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nMinute         := 0;
Schedule.aWeek[E_BA_Weekday.eTuesday,3].stTime.nSecond         := 0;
// Wednesday
Schedule.aWeek[E_BA_Weekday.eWednesday,1].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].uValue.rVal          := 22.0;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nHour         := 6;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,1].stTime.nSecond       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].uValue.rVal          := 16.0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nHour         := 18;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,2].stTime.nSecond       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].eState               := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].uValue.rVal          := 14.5;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nHour         := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nMinute       := 0;
Schedule.aWeek[E_BA_Weekday.eWednesday,3].stTime.nSecond       := 0;
// Thursday
Schedule.aWeek[E_BA_Weekday.eThursday,1].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,1].uValue.rVal           := 22.0;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nHour          := 6;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,1].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,2].uValue.rVal           := 16.0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nHour          := 18;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,2].stTime.nSecond        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].eState                := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eThursday,3].uValue.rVal           := 14.5;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nHour          := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nMinute        := 0;
Schedule.aWeek[E_BA_Weekday.eThursday,3].stTime.nSecond        := 0;
// Friday
Schedule.aWeek[E_BA_Weekday.eFriday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,1].uValue.rVal             := 22.0;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nHour            := 6;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,1].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,2].uValue.rVal             := 16.0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nHour            := 18;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eFriday,3].uValue.rVal             := 14.5;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eFriday,3].stTime.nSecond          := 0;

Ausnahme/Exception Datum/Date

Die folgenden Beispiele zeigen mögliche Varianten für die Ausnahme Datum von einem Zeitschaltplan mit einem binären Zeitschalteintrag auf.

Variante 01

Die Ausnahme Datum ist immer aktiv. Es wird täglich um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 02

Für das gesamte Jahr 2025 wird täglich um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 125;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 03

Im Februar wird an jedem Tag um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eFebruary;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 04

An jedem 29. eines Monats um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 05

Jeden Montag wird um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 06

Am 29. März wird um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 07

Im Jahr 2025 wird immer am 29. eines Monats um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 125;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 08

Der 29. eines Monats muss auf einem Montag liegen, damit um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet wird.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 09

Im April 2025 wird an jedem Tag um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 125;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eApril;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 10

Im April wird an jedem Montag um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eApril;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 11

Im Jahr 2030 wird an jedem Montag um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 130;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 12

Am 29. Mai 2030 wird um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 130;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eMay;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 13

Im Jahr 2030 wird im Mai an jedem Montag um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 130;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eMay;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 14

Im Jahr 2030 muss der 29. eines Monats auf einem Montag liegen, damit um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet wird.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 130;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 15

Der 29. April muss auf einem Montag liegen, damit um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet wird.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 255;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eApril;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 16

Der 28. Februar 2025 müsste auf einem Montag liegen, damit um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet wird. Innerhalb des Bausteins wird überprüft, ob die Einschaltbedingung korrekt ist. Da der 28. Februar 2025 auf einem Freitag liegt, wird der Wochentag eDayOfWeek auf Freitag korrigiert, so dass am Freitag, den 28. Februar 2025 um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet wird.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDate;
Schedule.aException[1].uDate.stDate.nYear                      := 125;
Schedule.aException[1].uDate.stDate.eMonth                     := E_BA_Month.eFebruary;
Schedule.aException[1].uDate.stDate.nDay                       := E_BA_Day.eDay28;
Schedule.aException[1].uDate.stDate.eDayOfWeek                 := E_BA_WeekDay.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Ausnahme/Exception Woche und Tag/WeekNDay

Die folgenden Beispiele zeigen mögliche Varianten für die Ausnahme Woche und Ausnahme Tag mit einem binären Zeitschalteintrag auf.

Variante 01

Die Ausnahme WeekNDay ist immer aktiv. Es wird an jedem Tag um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.Unspecified; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.Unspecified;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 02

Im August wird an jedem Tag um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.eAugust; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.Unspecified;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 03

An den Tagen 8-14 eines jeden Monats wird um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.Unspecified; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.eWeek2;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 04

An jedem Montag wird um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.Unspecified; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.Unspecified;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 05

An den Tagen 29-31 im März wird um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.eMarch; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.eWeek5;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.Unspecified;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 06

An jedem Montag im März wird um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.eMarch; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.Unspecified;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 07

Einer der Tage 29-31 eines Monats muss auf einem Montag liegen, damit um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet wird.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.Unspecified; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.eWeek5;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Variante 08

Einer der Tage 1-7 im März muss auf einem Montag liegen, damit um 6:00 Uhr ein- und um 18:00 Uhr ausgeschaltet wird.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eWeekNDay;
Schedule.aException[1].uDate.stWeekNDay.eMonth                 := E_BA_Month.eMarch; 
Schedule.aException[1].uDate.stWeekNDay.eWeekOfMonth           := E_BA_Week.eWeek1;
Schedule.aException[1].uDate.stWeekNDay.eWeekday               := E_BA_Weekday.eMonday;
Schedule.aException[1].aEntry[1].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[1].stTime.nHour                  := 6;
Schedule.aException[1].aEntry[1].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[1].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[1].uValue.bVal                   := TRUE;
Schedule.aException[1].aEntry[2].eState                        := E_BA_SchedEntryState.eValue;
Schedule.aException[1].aEntry[2].stTime.nHour                  := 18;
Schedule.aException[1].aEntry[2].stTime.nMinute                := 0;
Schedule.aException[1].aEntry[2].stTime.nSecond                := 0;
Schedule.aException[1].aEntry[2].uValue.bVal                   := FALSE;

Autokorrektur Initialisierungen

Bei fehlerhaften Initialisierungen findet innerhalb des Funktionsbausteins eine Autokorrektur statt. Die folgenden Beispiele stellen mögliche Initialisierungen zur Autokorrektur dar.

DateRange

Beispiel 01

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 255;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 255;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.Unspecified;

Automatische Korrektur, weil kein spezifischer Zeitraum angegeben ist.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.Invalid;

Beispiel 02

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 127;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eMonday;

Automatische Korrektur, die Datumsbereiche werden getauscht und die Wochentage korrigiert.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 126;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay30;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.eWednesday;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 127;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eWednesday;

Beispiel 03

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 125;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.eTuesday;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.Unspecified;

Automatische Korrektur. die Wochentage werden bei Falschangabe angepasst.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 125;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.eMonday;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eTuesday;

Beispiel 04

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 222;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := 123;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := 126;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := 222;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 220;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := 121;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := 145;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := 127;

Automatische Korrektur, bei Jahr, Monat und Tag werden die höchsten, gültigen Einträge genommen - 31.12.2100. Der Wochentag wird dem resultierenden Datum angepasst.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 200;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eDecember;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.eFriday;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 200;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eDecember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eFriday;

Beispiel 05

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 124;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eFebruary;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eFebruary;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay30;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.Unspecified;

Automatische Korrektur, die Monatstage werden angepasst. Der Wochentag wird dem resultierenden Datum angepasst.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 124;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eFebruary;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.eThursday;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eFebruary;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay28;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eSaturday;

Beispiel 06

Schedule.aWeek[E_BA_Weekday.eMonday,1].eState                  := E_BA_SchedEntryState.Invalid;
Schedule.aWeek[E_BA_Weekday.eMonday,1].uValue.bVal             := TRUE;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nHour            := 30;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nMinute          := 120;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nSecond          := 124;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nHundredths      := 124;
Schedule.aWeek[E_BA_Weekday.eMonday,2].eState                  := E_BA_SchedEntryState.eUndefined;
Schedule.aWeek[E_BA_Weekday.eMonday,2].uValue.bVal             := TRUE;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nHour            := 11;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nMinute          := 12;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nSecond          := 13;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nHundredths      := 14;
Schedule.aWeek[E_BA_Weekday.eMonday,3].eState                  := E_BA_SchedEntryState.eNull;
Schedule.aWeek[E_BA_Weekday.eMonday,3].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nHour            := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nMinute          := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nSecond          := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nHundredths      := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,4].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,4].uValue.bVal             := TRUE;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nHour            := 99;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nMinute          := 111;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nSecond          := 222;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nHundredths      := 100;

Automatische Korrektur, Sortierung beim Wochenzeitplan nach dargestellter Reihenfolge in den Einträgen: E_BA_SchedEntryState.eValue > E_BA_SchedEntryState.eNull > E_BA_SchedEntryState.eUndefined. Aus E_BA_SchedEntryState.Invalid wird E_BA_SchedEntryState.eUndefined.

Die Uhrzeiten werden angepasst.

Schedule.aWeek[E_BA_Weekday.eMonday,1].eState                  := E_BA_SchedEntryState.eValue;
Schedule.aWeek[E_BA_Weekday.eMonday,1].uValue.bVal             := TRUE;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nHour            := 23;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nMinute          := 59;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nSecond          := 59;
Schedule.aWeek[E_BA_Weekday.eMonday,1].stTime.nHundredths      := 99;
Schedule.aWeek[E_BA_Weekday.eMonday,2].eState                  := E_BA_SchedEntryState.eNull;
Schedule.aWeek[E_BA_Weekday.eMonday,2].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nHour            := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nMinute          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nSecond          := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,2].stTime.nHundredths      := 0;
Schedule.aWeek[E_BA_Weekday.eMonday,3].eState                  := E_BA_SchedEntryState.eUndefined;
Schedule.aWeek[E_BA_Weekday.eMonday,3].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nHour            := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nMinute          := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nSecond          := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,3].stTime.nHundredths      := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,4].eState                  := E_BA_SchedEntryState.eUndefined;
Schedule.aWeek[E_BA_Weekday.eMonday,4].uValue.bVal             := FALSE;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nHour            := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nMinute          := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nSecond          := 255;
Schedule.aWeek[E_BA_Weekday.eMonday,4].stTime.nHundredths      := 255;

Beispiel 07

Schedule.aException[1].eType                                   := E_BA_DateValChoice.Invalid;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 127;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eMonday;

Automatische Korrektur, der Datumsbereich wird getauscht und die Wochentage korrigiert.

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 126;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay30;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.eWednesday;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 127;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eWednesday;

Beispiel 08

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 125;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.Unspecified;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.Unspecified;

Automatische Korrektur, die Wochentage werden angepasst

Schedule.aException[1].eType                                   := E_BA_DateValChoice.eDateRange;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nYear      := 125;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eMonth     := E_BA_Month.eMarch;
Schedule.aException[1].uDate.stDateRange.stDateFrom.nDay       := E_BA_Day.eDay31;
Schedule.aException[1].uDate.stDateRange.stDateFrom.eDayOfWeek := E_BA_WeekDay.eMonday;
Schedule.aException[1].uDate.stDateRange.stDateTo.nYear        := 126;
Schedule.aException[1].uDate.stDateRange.stDateTo.eMonth       := E_BA_Month.eSetember;
Schedule.aException[1].uDate.stDateRange.stDateTo.nDay         := E_BA_Day.eDay29;
Schedule.aException[1].uDate.stDateRange.stDateTo.eDayOfWeek   := E_BA_WeekDay.eTuesday;