Schedules

Manual for Schedules configuration in the configuration area.

Updated 7 min read
On this page (7 sections)
  1. Overview
  2. Schedule Settings
  3. Repeat interval
  4. Calendar rule
  5. Actions
  6. Placeholders
  7. Notes

The Schedules configuration page defines time-driven tasks. A schedule executes its FromTime actions when the FromTime is reached and, optionally, its ToTime actions when the ToTime is reached. The schedule repeats either at a fixed Interval (Every Day, Every Hour, ...) or according to a Calendar rule (weekdays, monthly, specific dates, with skip dates and a special day list).

Schedules automate recurring tasks such as writing variable values, executing Python scripts, sending emails, transferring recipes, and sampling variable groups to the historian.

Variables referenced in schedule actions use the format DeviceName.VariableName, for example PLC1.Pump1_Speed.

Schedule Settings

Create a new schedule with the Add button in the toolbar. The Add dialog contains all schedule settings organized in the sections General, Timing, and Actions, with default values already filled in. Enter at least the Name and FromTime and press Create. The Special Days button in the toolbar opens the Special Days page, where the lists of dates used by Skip special days are maintained.

The schedule row shows Enable, Name, FromTime, ToTime, Interval, When, Asset, Operator access, Exceptions, Skip list and Description directly and most values can be edited in place. When is the read-only summary of the calendar rule or interval, for example Mon to Fri, 06:00 to 18:00. Press the Settings icon on a schedule row to open the edit dialog, which contains the same sections and all settings of the schedule. Press Save to apply the changes.

Each schedule row also shows an information field with the time of the most recent execution, and two action icons that open the Edit Actions dialog for the FromTime actions and the ToTime actions directly.

12 rows
SettingDescriptionExampleUnits / Format
EnableEnables or disables this schedule.trueBoolean
NameUnique name for this schedule.DailyCounterResetText
AssetAsset tag used to group and filter this schedule. Available as the {Asset} placeholder in action values.Line1Text
Schedule groupFree text group of the schedule. A Scheduler object on a runtime page can be pinned to a group: it then shows only the schedules of that group and gives that group to schedules added there. The field suggests the groups already in use.Line 1Text
DescriptionFree text description for documentation purposes.Reset daily production counterText
FromTimeDate and time of the first execution of the FromTime actions. With a Repeat interval, the next execution is calculated from this time.2026-05-27 06:00Date and time
ToTimeOptional date and time at which the ToTime actions execute. With a Repeat interval, the ToTime repeats at the same interval. Leave empty for schedules without ToTime actions.2026-05-27 18:00Date and time
RepeatInterval or Calendar rule. Interval selects one of the fixed repeat intervals (see the Repeat section); Calendar rule opens the rule editor described in the Calendar rule section. Leave the interval empty for a schedule that executes once.Every DayEnum
ExceptionsException expression evaluated at execution time. When the expression is true, the execution is skipped. The ... button opens the Condition editor.PLC1.Maintenance_Active == 1Expression
Operator accessWho sees this schedule through a Scheduler Object on a runtime page. Hidden (default): administrators only. View: operators see the schedule and its next run but cannot change it. Edit: operators with the Schedule Edit Right may change its timing, exceptions, enable and delete it.EditHidden, View, Edit
Actions (FromTime)Actions executed when the FromTime is reached and at every repeat. The ... button opens the Edit Actions dialog.Actions
Actions (ToTime)Actions executed when the ToTime is reached and at every repeat. The ... button opens the Edit Actions dialog.Actions

Repeat interval

The following repeat intervals are available: Every 100ms, Every 500ms, Every 1s, Every 2s, Every 5s, Every 10s, Every 15s, Every 30s, Every 1min, Every 2min, Every 5min, Every 10min, Every 15min, Every 30min, Every Hour, Every Day, Every Week, Every Month, and Every Year.

After each execution the next execution time is calculated by adding the repeat interval. When the calculated time is in the past, for example after a server restart, the schedule advances directly to the next occurrence in the future. Every Month and Every Year follow the calendar, so the execution stays on the same day of the month and time of day.

Sub-minute intervals are supported; the shortest interval is Every 100ms.

Without an interval and without a calendar rule the schedule executes once at the FromTime and once at the ToTime. A one-time schedule whose time has passed is deactivated.

Calendar rule

Select Calendar rule in the Repeat field of the schedule dialog to describe the schedule with a calendar rule instead of a fixed interval. With a calendar rule, FromTime is the first day and the start time of the series and ToTime is the end time: the difference between ToTime and FromTime is applied to every occurrence, so an overnight window is entered as FromTime 22:00 and ToTime 06:00 on the next day.

The rule editor offers Once, Daily, Weekly, Monthly and Specific dates. Daily, Weekly and Monthly repeat every N days, weeks or months and end Never, On a date or After a number of runs. Weekly selects the weekdays. Monthly runs On day N of every month (day 29, 30 or 31 runs on the last day of shorter months) or On the first, second, third, fourth or last weekday of every month. Specific dates runs on the dates selected in the calendar, all at the start time.

Below the rule, Skip special days selects a list from the Special Days page and Skip these dates lists individual dates. On a skipped day neither the FromTime actions nor the ToTime actions execute; the schedule continues with the next occurrence. Skipped occurrences count towards an After N runs end.

When the calendar rule has no further occurrence, the schedule stays in the list and its information field shows Completed, no further occurrences. A rule that cannot be evaluated is reported in the information field and the schedule does not execute.

SettingDescriptionExampleUnits / Format
OnceRuns one time on the first day at the start time.
DailyRuns every N days from the first day.every 1 day(s)Interval 1 to 999
WeeklyRuns on the selected weekdays, every N weeks. The week starts on Monday.Mo Tu We Th Fr, every 1 week(s)Weekdays, interval 1 to 999
MonthlyRuns On day N of every N months, or On the first to last weekday of every N months.On day 1 of every 1 month(s)Day 1 to 31 or First to Last + weekday
Specific datesRuns on the dates selected in the calendar.14 Sep, 28 Sep, 12 OctDates
EndsNever, On a date (inclusive) or After a number of runs. Once and Specific dates have no end rule.After 10 runsNever, Date, Count
Skip special daysSpecial day list from the Special Days page whose dates are skipped.Belgium public special days 2026List name
Skip these datesIndividual dates that are skipped.2026-12-24, 2026-12-31Dates

Actions

The FromTime and ToTime fields in the Actions section of the schedule dialog open the Edit Actions dialog through the ... button. The same dialog opens from the two action icons on each schedule row.

Press Add Action to add an action. Each action has a type and the input fields for that type. Fields with a ... button open a picker for variables, Python scripts, recipes, or sample groups. Actions execute in the order shown and can be moved up and down or deleted. Press Save to apply the action list.

11 rows
ActionFieldsDescription
NonePlaceholder type. The action is not executed.
SetVariableWrites 1 to the variable.
ResetVariableWrites 0 to the variable.
ToggleVariableInverts the current value of the variable between 0 and 1.
Momentary OnVariableWrites 1 to the variable and writes 0 again after 1.5 seconds.
Set ValueVariable, ValueWrites the entered value to the variable.
Send EmailEmail To, Email BodySends an email to the entered address. The body supports the schedule placeholders and variable placeholders.
Execute ScriptPython ScriptExecutes the selected Python script.
Transfer RecipeRecipe From, Recipe ToTransfers the values from one recipe to another recipe.
Sample GroupSample GroupWrites a historian sample for every variable assigned to the named sample group. Multiple sample groups can be entered comma-separated.
Restart DeviceDeviceRestarts the selected device. The device connection is closed, the device configuration is read again, and the connection is started again. Use it to recover a device after a communication problem or to apply configuration changes to that device.

Placeholders

Action values support placeholders that are replaced when the action executes. {FromTime}, {ToTime}, {Repeat}, and {Asset} are replaced with the corresponding schedule values. A variable placeholder in the format {DeviceName.VariableName}, for example {PLC1.Pump1_Speed}, is replaced with the current value of that variable. Placeholders are typically used in the Email Body of a Send Email action and in the Value of a Set Value action.

Notes

The Enable switch in the column header row enables or disables all schedules at once after confirmation.

The information field on each schedule row shows the time of the most recent execution of the schedule.

The Exceptions expression is evaluated each time the schedule is due. When the expression is true, the FromTime or ToTime actions are skipped for that occurrence and the information field indicates that an exception was active. The schedule continues with the next occurrence.

Use the Condition editor (... button on the Exceptions field) to build the exception expression from variables, operators, and values.

Operator access decides which schedules the Scheduler Object on a runtime page shows. New and existing schedules are Hidden until an administrator sets View or Edit. A schedule created by an operator from a Scheduler Object gets Edit access and the Asset of that object.

Something missing or wrong in this article? Contact us