Resolving WinCC Runtime Printing 60 Unwanted Pages on Startup

David Krause11 min read
SiemensTroubleshootingWinCC
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Problem Description

After launching a TIA Portal WinCC Runtime project on a Panel, Comfort Panel, or PC-based RT Advanced / RT Professional target, the connected default Windows printer immediately receives a print job containing dozens of pages—often around 60 sheets—without any operator action. The job appears at Start, the application has not been touched, and the queue fills with alarm text entries rather than screens, logs, or trend recordings.

This symptom is commonly reported on Windows 7 64-bit engineering stations and runtime PCs running TIA Portal V13 SP1 Update 5 and later releases through V20, but the underlying cause is not platform-specific. It is the result of one of two configuration paths:

  1. The global Report option is enabled under Runtime Settings → Alarms, causing every active alarm event whose individual alarm record carries the Report property to be written to the standard printer.
  2. A user-defined VB script or C script in the project contains a hard-coded Print or PrintReport call that fires on startup or on a cyclical trigger.

The remaining sections walk through root-cause analysis, the exact step-by-step resolution, the verification procedure, and adjacent print triggers you must rule out before declaring the fix complete.

Root Cause Analysis

WinCC Runtime contains two independent print pipelines. A page flood at startup is almost always traced to the alarm report pipeline because the alarm buffer is populated as soon as the runtime initializes, and every alarm with the Report property set will immediately generate an output record.

Mechanism 1 — Global "Report" Toggle in Runtime Settings

Under Project tree → Runtime Settings → Alarms, the option Report enables printing of alarm events to the standard printer of the HMI device. When this option is active, each alarm whose alarm class or alarm record carries the Report property triggers a print job at the moment the event occurs: incoming, outgoing, and acknowledged transitions each produce a record.

If you have, for example, 20 alarms with the Report property and each one fires on startup (or the buffer already contains pre-existing entries from a previous session that has just been loaded), the spooler will receive 60 records—matching the 60-page count reported.

Mechanism 2 — Scripts Containing Print Calls

The second path is a script scheduled at Runtime start or on a tag change that calls one of the following system functions:

  • PrintReport — prints the currently displayed report
  • PrintScreen — prints the currently displayed screen
  • PrintAlarmRecord / PrintAlarmBuffer — prints alarm records
  • PrintTag — prints tag values
  • Native Windows scripting using WScript.Shell or Shell.Application to invoke print operations
Note: A PrintScreen call on a 1920x1080 screen at default DPI typically generates 6–12 pages, not 60. A 60-page flood almost always points to the alarm Report pipeline rather than a screen-print function.

Decision Flowchart

Runtime prints 60 pages at start Identify source Disable Report flag? YES — alarm Report path Uncheck Report in Runtime Settings → Alarms NO — script path Cross-reference scripts Search Print / Spool Verify: launch RT, spooler stays empty Remove / comment the offending script Confirm zero pages in queue

Affected TIA Portal Versions and WinCC Variants

The alarm Report property has existed since the earliest WinCC flexible editions and persists through every modern release. The path shown below is consistent across all of the following:

TIA Portal Version WinCC Variant Runtime Settings Path Confirmed Behavior
V13 SP1 (Update 5) RT Advanced / Comfort Panels Runtime Settings → Alarms → Report Prints on alarm event
V14 / V14 SP1 RT Advanced / RT Professional Runtime Settings → Alarms → Report Prints on alarm event
V15 / V15.1 RT Advanced / RT Professional Runtime Settings → Alarms → Report Prints on alarm event
V16 / V17 RT Advanced / RT Professional Runtime Settings → Alarms → Report Prints on alarm event
V18 / V19 / V20 RT Advanced / RT Professional Runtime Settings → Alarms → Report Prints on alarm event
WinCC V7.x (Classic) WinCC Explorer Alarm Logging → Reports Prints on alarm event

The behaviour is documented in the Siemens official runtime manual Printing in Runtime (Panels, Comfort Panels, RT Advanced), which describes the same pipeline and the same Report toggle.

Step-by-Step Resolution

Procedure A — Disable the Global Report Flag (Most Common Cause)

  1. Open the TIA Portal project that produces the unwanted print job.
  2. In the project tree, expand the HMI device you are targeting (for example, HMI_1 [KTP1200 Comfort] or PC-Station_1 [RT Advanced]).
  3. Open Runtime Settings.
  4. Select Alarms from the navigation pane.
  5. Clear the checkbox next to Report.
  6. Compile the project (Project → Compile → Software (rebuild all)) and download to the HMI device or PC runtime.
  7. Restart Runtime and observe the Windows print queue.
Warning: Clearing the global Report flag disables alarm printing project-wide. If you require printing of a single alarm class only, leave the global flag enabled and clear the Report property on the individual alarm records (see Procedure B).

Procedure B — Disable Report on a Single Alarm Class

  1. Navigate to HMI → HMI alarms → Alarm classes (or Discrete alarms / Analog alarms).
  2. Select the alarm class whose records are flooding the printer (commonly Errors or Warnings).
  3. In the Properties pane under Print / Report, uncheck Report.
  4. Repeat for each alarm class that contributes to the page count.
  5. Compile and download.

Procedure C — Identify Script-Triggered Print Jobs

If the page flood persists after Procedure A, scripts are the next suspect.

  1. In the project tree, right-click Reports and choose Cross-reference. Review the right pane for any report scheduled to print at runtime start.
  2. Open Scripts → Global scripts and search the entire script tree for the strings: Print, Spool, Printer, PrintReport, PrintScreen, PrintAlarm, PrintTag.
  3. Search also for ShellExecute, WScript.Shell, and RoundRectangle-style Windows print API calls inside VB scripts.
  4. For each match, comment out the line, recompile, and verify the queue.

Example VB script excerpt that produces unwanted output on tag change:

Sub PrintOnTrigger(ByVal tagName As String) If SmartTag("AlarmSpool") = 1 Then PrintReport "AlarmLog" ' <-- triggers a print job SmartTag("AlarmSpool") = 0 End If End Sub

Comment the PrintReport line or guard it behind a manual operator button to eliminate the automatic trigger.

Verification

  1. Open the Windows Print Queue (printmanagement.msc) on the runtime PC and clear any pending jobs.
  2. Launch the WinCC Runtime project.
  3. Wait 60 seconds; the queue must remain empty.
  4. Trigger a known alarm and verify it appears in the alarm view on the panel / runtime but does not create a spool entry.
  5. If a single alarm class must still print, manually trigger a representative event of that class and confirm only that one record arrives at the printer.

Adjacent Print Triggers You Must Rule Out

Beyond the alarm Report pipeline, WinCC Runtime contains several print-capable functions. Each is a potential contributor and must be inspected when the page count does not drop to zero after Procedure A.

Hardcopy (PrintScreen)

The PrintScreen system function outputs the currently displayed screen to a connected printer. It is most often wired to a function key or button. Cross-reference the project for any HMI tag or button configured with the event Press → PrintScreen. A stuck or short-circuited input wired to this event will produce continuous output.

Scheduled Reports

Under Reports, any report configured with a trigger of type Time, Tag, or Runtime start will execute its print definition when the condition is met. Right-click Reports → Cross-reference to view all configured triggers.

Log Printing

Data logs and alarm logs each have a Print action available via right-click on the log view. Confirm no log view is bound to a startup event.

Recipe Reports

Recipes can be configured to print on Data record loaded or Data record saved. Check Recipes → Properties → Report if your project uses recipes.

Windows Print Spooler Side Effects

If the print job still arrives even after the Report flag is cleared, the cause is no longer the WinCC project—it is the Windows print subsystem holding a queued job. Follow the standard recovery sequence documented in Fix printer connection and printing problems in Windows:

  1. Open Services (services.msc) and stop Print Spooler.
  2. Delete the contents of C:\Windows\System32\spool\PRINTERS.
  3. Restart the Print Spooler service.
  4. Re-test with the WinCC project.
Caution: Deleting the spool folder cancels every pending print job on the machine, including unrelated jobs from other users. Coordinate before executing on a shared engineering station.

Default Printer Configuration on the HMI Device

WinCC Runtime writes its Report output to the Windows-defined default printer of the runtime host. If the host has no printer installed, Windows substitutes OneNote or a virtual fax printer, which still produces page counts. Verify in Control Panel → Devices and Printers that the configured default matches the intended physical device; otherwise, redirect or remove the phantom device.

Alarm Configuration Best Practices

  • Enable the global Report flag only when regulatory or operational evidence requires a paper audit trail.
  • When paper output is required, restrict the Report property to a single alarm class (for example, System errors) and disable it on Warnings and Information classes. This caps the maximum page flood to a manageable volume.
  • For high-traffic alarm classes, prefer logging to the persistent alarm buffer and review on demand via Alarm view → Print, rather than enabling automatic printing.
  • Always run Reports → Cross-reference before commissioning a project to verify no report is bound to startup or to a tag that toggles on power-up.
  • Document every script call to PrintReport, PrintScreen, PrintAlarmRecord, or PrintTag in the project quality plan; treat them as audited functions.

Troubleshooting Matrix

Symptom Likely Cause First Check Fix
60 pages at startup Global Report flag + populated alarm buffer Runtime Settings → Alarms → Report Uncheck Report, or clear Report on offending alarm classes
6–12 pages at startup PrintScreen on a high-resolution screen Cross-reference buttons / keys for PrintScreen Rebind PrintScreen to a manual event
1–2 pages on every alarm transition Report on individual alarm records Alarm properties → Print Uncheck Report per alarm
Pages appear only after operator action Button or script wired to print function Search scripts for Print / Spool Remove the wired event or guard the script
Pages appear even after project disable Spooler holding old job Print Queue, services.msc Stop spooler, clear C:\Windows\System32\spool\PRINTERS, restart spooler
Pages printed to wrong printer Default printer mismatch Control Panel → Printers Set correct default or remove phantom printers
Pages printed on PC but not on panel Panel has no printer configured Control Panel on panel → Printers Connect USB printer or disable printing on panel

Cross-Reference: Project-Wide Search Workflow

  1. Select the HMI device root in the project tree.
  2. Press Ctrl+Shift+F to open the global Find & Replace dialog.
  3. Enable Search in: → All objects in device.
  4. Search for each of: Report, Print, Spool, Printer, PrintReport, PrintScreen, PrintAlarmRecord, PrintTag.
  5. Record every hit and confirm whether each binding is intentional.

Field Commissioning Checklist

  • Confirm the Windows default printer matches the commissioning plan.
  • Clear the global Report flag unless paper output is contractual.
  • Run Cross-reference on Reports and capture the output for the FAT/SAT report.
  • Search all scripts for print-related system functions; list and justify every occurrence.
  • Launch Runtime cold (full power cycle), wait 90 seconds, verify empty print queue.
  • Trigger one alarm of each class; verify only the intentional class produces output.
  • Document the printer name, driver version, and spool folder location in the project handover document.

Notes on Windows 7 64-bit and Later Hosts

The original symptom was reported on Windows 7 64-bit with TIA Portal V13 SP1 Update 5. The same fix applies on Windows 10 and Windows 11 hosts running TIA Portal V14 through V20. There is no Windows-version-specific behavior in the alarm Report path; all differences are in the surrounding print subsystem. Use the Microsoft printer troubleshooting article for host-level diagnostics, and the Siemens Printing in Runtime documentation for the project-level configuration paths shown above.

FAQ

Where is the Report option in TIA Portal WinCC Runtime?

Open the HMI device in the project tree, choose Runtime Settings → Alarms, and clear the Report checkbox. This disables alarm printing globally; alternatively, leave the global flag enabled and clear the Report property on individual alarm classes in HMI alarms → Alarm classes.

How do I find which script is printing pages at runtime start?

Right-click Reports in the project tree and choose Cross-reference to inspect all report triggers. Then search every script (Global area, Scheduled tasks, Screen events) for the strings Print, PrintReport, PrintScreen, PrintAlarmRecord, PrintTag, Spool, and Printer; comment out each hit and retest.

Does disabling the Report flag affect alarm logging?

No. The Report flag controls only the paper printout path. Alarm logging to the volatile alarm buffer and to the persistent alarm log continues to function; the alarms are still visible in the Alarm view on the panel.

Why does the print job still appear after I clear the Report flag?

The Windows print spooler may be holding a queued job submitted before the flag was cleared. Stop the Print Spooler service, delete the contents of C:\Windows\System32\spool\PRINTERS, and restart the service. Also verify no script still calls a print function.

Which TIA Portal versions are affected by this Report behavior?

All currently supported versions from V13 SP1 through V20 expose the same Report flag under Runtime Settings → Alarms. WinCC V7.x Classic exposes an equivalent setting in the Alarm Logging editor. The resolution procedure is identical across versions.

Back to blog