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.
| Setting | Description | Example | Units / Format |
|---|---|---|---|
| Enable | Enables or disables this schedule. | true | Boolean |
| Name | Unique name for this schedule. | DailyCounterReset | Text |
| Asset | Asset tag used to group and filter this schedule. Available as the {Asset} placeholder in action values. | Line1 | Text |
| Schedule group | Free 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 1 | Text |
| Description | Free text description for documentation purposes. | Reset daily production counter | Text |
| FromTime | Date 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:00 | Date and time |
| ToTime | Optional 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:00 | Date and time |
| Repeat | Interval 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 Day | Enum |
| Exceptions | Exception expression evaluated at execution time. When the expression is true, the execution is skipped. The ... button opens the Condition editor. | PLC1.Maintenance_Active == 1 | Expression |
| Operator access | Who 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. | Edit | Hidden, 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 |
No rows match the filter.
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.
| Setting | Description | Example | Units / Format |
|---|---|---|---|
| Once | Runs one time on the first day at the start time. | ||
| Daily | Runs every N days from the first day. | every 1 day(s) | Interval 1 to 999 |
| Weekly | Runs 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 |
| Monthly | Runs 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 dates | Runs on the dates selected in the calendar. | 14 Sep, 28 Sep, 12 Oct | Dates |
| Ends | Never, On a date (inclusive) or After a number of runs. Once and Specific dates have no end rule. | After 10 runs | Never, Date, Count |
| Skip special days | Special day list from the Special Days page whose dates are skipped. | Belgium public special days 2026 | List name |
| Skip these dates | Individual dates that are skipped. | 2026-12-24, 2026-12-31 | Dates |
No rows match the filter.
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.
| Action | Fields | Description |
|---|---|---|
| None | Placeholder type. The action is not executed. | |
| Set | Variable | Writes 1 to the variable. |
| Reset | Variable | Writes 0 to the variable. |
| Toggle | Variable | Inverts the current value of the variable between 0 and 1. |
| Momentary On | Variable | Writes 1 to the variable and writes 0 again after 1.5 seconds. |
| Set Value | Variable, Value | Writes the entered value to the variable. |
| Send Email | Email To, Email Body | Sends an email to the entered address. The body supports the schedule placeholders and variable placeholders. |
| Execute Script | Python Script | Executes the selected Python script. |
| Transfer Recipe | Recipe From, Recipe To | Transfers the values from one recipe to another recipe. |
| Sample Group | Sample Group | Writes a historian sample for every variable assigned to the named sample group. Multiple sample groups can be entered comma-separated. |
| Restart Device | Device | Restarts 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. |
No rows match the filter.
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.