PLC Reports User Manual

15. Scheduling

The scheduling defines at what times reports are created. PLC Reports provides many possibilities to specify schedules. For example, reports can be created daily, weekly, monthly or annually. However, more complex triggers such as “At the last working day of the month” are also available. The worksheet for scheduling definitions is named “Scheduling”.

To edit and validate scheduling definitions, a report template must be opened first by clicking “Open Report File” in section “2. Report File”.

Scheduling definitions can be entered starting from row 6. Row 5 is reserved for the column headers. The header area (row 1-4) is not being interpreted.

15.1. Walk-Through: How to Edit Scheduling Definitions

  1. Open a report file for editing.
  2. Select the worksheet “Scheduling” in the Excel report template.
  3. Enter or change the desired scheduling definitions in Excel.
  4. Navigate to section “7. Scheduling” in PLC Reports.
  5. Click the button “Load and Check Scheduling”.
  6. PLC Reports now reads and validates all instructions defined in the worksheet “Scheduling”.
  7. Valid scheduling definitions will be shown in the table “Scheduling”.
  8. If errors occur while loading or validating, corresponding messages will appear in the message list.
  9. Error-free scheduling definitions are marked with the icon Icon OK in column “Def”.
  10. Error-prone scheduling definitions are marked with the icon Warning in column “Def”.
  11. By double clicking an error message, you can directly jump to the error-prone cell in the Excel sheet.
  12. After editing the report template, save and close the workbook using the corresponding commands in the Excel file menu.


15.2. Important Information about Scheduling Cycles

PLC Reports is a reporting system designed for multi-threading operations. Multiple processor cores can independently process different scheduling events. Nevertheless, for better performance it is important to consider the following points carefully:

1.2.1. Data Transfer Rate and Network Topology

The data transfer rate to a connected PLC is limited and the most important conditions limiting the data each PLC can provide per second are:
- The PLCs cycle load of the user program.
- The cycle of the user program.
- The setting “cycle load through communication” in the hardware configuration of the CPU.
- Available connection resources of the CPU.
- Model of the PLC.
- Firmware version of the PLC.
- Network topology.
- Internet connection or local network.

Make sure that the PLC user program is not negatively influenced by data requests from the reporting system. Opening Excel

Opening Excel requires some computer resources. Therefore, wherever possible, scheduling events should be defined in a way that least possible events use Excel at the same time.

At the end of each month 10 monthly reports are created. The scheduling should be chosen in a way that the reports are started subsequently, for instance with a time difference of 1 minute each. Adjust the parameter “Start Time” in the configuration of the scheduling accordingly.

15.2.2. Fast Archiving Cycles

Choose the archiving cycles wisely. Fast cycles result in a high amount of data and many values to be stored. Consider the number of values stored when using fast cycles. For example, if one value is archived per second, each year more than 31 million values are stored. In only a few situations it will make sense to create reports with such a high amount of values.

Use the available compression function like min, max or average calculation if fast cycles are needed, for example, to monitor peaks. By this the communication load to the PLC will still be high, but much smaller number of values will be stored.

15.2.3. Archiving Cycles <10s

If archiving cycles faster than 10s are used, special care needs to be taken while configuring. Make sure that the former cycle has finished before starting the next one. If events queue, the following event will be skipped and the message list will display a corresponding error message.

If fast cycles are needed, make sure to distribute the events as equally as possible by choosing different start times. In addition, consider the network connection performance to the PLC.

15.2.4. Computer Performance

Depending on the configuration of the PLC Reports, a bigger or smaller number of computer resources will be used. Make sure to test the performance before using the configuration in a process environment, especially when using low performance computer hardware. You can check the used resources, for example, by using the Windows Task Manager.

15.2.5. Automatic Windows Updates

While installing Windows Updates the performance of Windows may be highly limited, which should be considered when configuring Windows Updates.

15.2.6. Automatic Reboots while Windows Updates

Rebooting the computer is often necessary when installing Windows Updates. With Windows 7 and 8 automatic restarts can only be disabled by registry entries. If PLC Reports is running when the computer shuts down, it will automatically restart after rebooting.

Automatic restarts can be disabled by the following registry key:

Create a new 32-bit DWORD NoAutoRebootWithLoggedOnUsers
Set the value to 1

Faulty Windows Registry entries may lead to unpredictable malfunctions of the computer or may even damage the Windows installation. Registry settings must be performed by qualified administrators only.

15.2.7. Automatic Logon

If automatic restarts of windows are activated, automated logon for a certain user should be enabled to ensure that PLC Reports restarts immediately after rebooting.

To enable automatic logon, follow these steps:

  1. Start Regedt32.exe, and then locate the following registry sub key:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  2. Using your account name and password, double click the DefaultUserName entry, type your user name, and then click OK.
  3. Double click the DefaultDomainName entry, type the domain name, and then click OK.
  4. Double click the DefaultPassword entry, type your password, and then click OK.


If the DefaultPassword value does not exist, follow these steps:
4.1. Click Add Value on the Edit menu.
4.2. In the Value Name box, type DefaultPassword, and then click REG_SZ for the Data Type
4.3. Type your password in the String box, and then save your changes.

Also, if no DefaultPassword string is specified, Windows automatically changes the value of the AutoAdminLogon key from 1 (true) to 0 (false), which disables the AutoAdminLogon feature.

  1. Click Add Value on the Edit menu, enter AutoAdminLogon in the Value Name box, and then click REG_SZ for the Data Type.
  2. Type 1 in the String box, and then save your changes.
  3. Quit Regedit32.
  4. Click Start, click Shutdown, and then click OK to turn off your computer.
  5. Restart your computer and Windows. You are now able to log on automatically.

To bypass the AutoAdminLogon process, and to log on as a different user, hold down the SHIFT key after you log off or after Windows restarts.

Faulty Windows Registry entries may lead to unpredictable malfunctions of the computer or may even damage the Windows installation. Registry settings must be performed by qualified administrators only.

15.2.8. Virus Scanners

While virus scanner software performs a scan, the performance of Windows may be highly limited, which should be consider when selecting your system configuration.

15.3. Testing Scheduling Events

Clicking the button “Test” in the table “Scheduling” allows testing the scheduling events. After clicking the button, sub-section “Check Scheduling” shows all events within the selected time frame.

15.3.1. Walk-Through: How to Test Scheduling Events

  1. Select the time frame to be tested by using of the calendars “Events From” and “Events To”.
  2. Click the button “Test” in the desired row.
  3. The table in sub-section “Check Scheduling” shows all events within the selected time frame.



Check Scheduling

15.4. Columns of the Worksheet „Scheduling“

The worksheet “Scheduling” contains the following columns:

15.4.1. Column A: Index

This column is used for defining a unique identification number (index) for each scheduling.

Records will only be interpreted if column “Index” contains a valid numeric value.  If the index cell is blank, all entries in the following columns of the same row will not be considered. This way, any comments can be added for documentation or description purposes. Empty rows will also not be considered.

15.4.2. Column B: Command

This column is used for selecting the desired type of the scheduling. Valid values are:
- At Start
- Every x Seconds
- Every x Minutes
- Every x Hours
- Every x Days
- Every Weekday
- Every Weekend Day
- Every x Weeks
- Every x Weeks on Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday*
- Every x Weeks on Weekdays
- Every x Weeks on Weekend Days
- Every x Month
- Every x Month on the first ** Monday***
- Every x Month on the last ** Day
- Every x Years

* Any combination of days can be used
** First, Second, Third, Fourth or Last
*** Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Weekday or Weekend Day

15.4.3. Column C: Start Time

This column is used to define the start time of the scheduling event. All repeating events will be calculated on the basis of the start time.

A monthly report is created starting from 1/1/2010 always on the last day of the month at 11:59:59 PM. Column “Command” is set to “Every 2 months on the last day”. The start time is set to 1/1/2010 11:59:59 PM.

15.4.4. Start Command

This column defines the index of the instruction to start with when starting by schedule. Valid values are indexes of instruction defined in the instruction list.

15.4.5. Column C: Remarks

This column is used for documentation purposes and can contain any comment.