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:
- 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.
- A user-defined VB script or C script in the project contains a hard-coded
PrintorPrintReportcall 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.ShellorShell.Applicationto invoke print operations
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
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)
- Open the TIA Portal project that produces the unwanted print job.
- In the project tree, expand the HMI device you are targeting (for example, HMI_1 [KTP1200 Comfort] or PC-Station_1 [RT Advanced]).
- Open Runtime Settings.
- Select Alarms from the navigation pane.
- Clear the checkbox next to Report.
- Compile the project (Project → Compile → Software (rebuild all)) and download to the HMI device or PC runtime.
- Restart Runtime and observe the Windows print queue.
Procedure B — Disable Report on a Single Alarm Class
- Navigate to HMI → HMI alarms → Alarm classes (or Discrete alarms / Analog alarms).
- Select the alarm class whose records are flooding the printer (commonly Errors or Warnings).
- In the Properties pane under Print / Report, uncheck Report.
- Repeat for each alarm class that contributes to the page count.
- Compile and download.
Procedure C — Identify Script-Triggered Print Jobs
If the page flood persists after Procedure A, scripts are the next suspect.
- In the project tree, right-click Reports and choose Cross-reference. Review the right pane for any report scheduled to print at runtime start.
- Open Scripts → Global scripts and search the entire script tree for the strings:
Print,Spool,Printer,PrintReport,PrintScreen,PrintAlarm,PrintTag. - Search also for
ShellExecute,WScript.Shell, andRoundRectangle-style Windows print API calls inside VB scripts. - 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
- Open the Windows Print Queue (
printmanagement.msc) on the runtime PC and clear any pending jobs. - Launch the WinCC Runtime project.
- Wait 60 seconds; the queue must remain empty.
- Trigger a known alarm and verify it appears in the alarm view on the panel / runtime but does not create a spool entry.
- 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:
- Open Services (
services.msc) and stop Print Spooler. - Delete the contents of
C:\Windows\System32\spool\PRINTERS. - Restart the Print Spooler service.
- Re-test with the WinCC project.
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, orPrintTagin 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
- Select the HMI device root in the project tree.
- Press Ctrl+Shift+F to open the global Find & Replace dialog.
- Enable Search in: → All objects in device.
- Search for each of:
Report,Print,Spool,Printer,PrintReport,PrintScreen,PrintAlarmRecord,PrintTag. - 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.