Overview
WinCC 7.4 supports two distinct runtime hosting modes: interactive mode, in which a user logs in to Windows and starts the runtime from the WinCC Explorer or the system tray, and service mode, in which the SIMATIC WinCC runtime is launched as a Windows service at machine boot. Service mode is the deployment of choice for operator stations on the plant floor because it does not require a logged-in user and survives logoff/reboot cycles unattended.
A common commissioning question on Windows 7 / Windows Server 2008 R2 stations is: "If the WinCC service is already running, how do I autostart the Graphics Runtime (PdlRt.exe) when an operator logs in, without manually clicking Start Graphics Runtime in the tray icon?" The Siemens Knowledge Base article 23061262 covers WinCC's built-in autostart mechanism, but that mechanism restarts the entire WinCC runtime. When the runtime is already active as a service, that mechanism is a no-op for PdlRt.exe. This reference documents the field-proven procedure to launch PdlRt.exe at user logon while the rest of WinCC is hosted as a service.
Prerequisites
- WinCC 7.4 (Update 1 through Update 14) installed on Windows 7 SP1 / Windows Server 2008 R2 or later; this procedure is also valid for WinCC 7.4 SP1.
- WinCC project with an active runtime license (single-station or client/server).
- WinCC configured in Service Mode via the SIMATIC WinCC Service Mode tool or by registering the service manually. Confirm by opening
services.mscand verifyingCCStartService(orSIMATIC WinCC Service) is set to Automatic. - Local Administrator rights on the engineering / operator station.
- A domain or local user account with Log on as batch job privileges if you implement the Scheduled Task method.
- The PdlRt.exe binary located at
C:\Program Files (x86)\Siemens\WinCC\bin\PdlRt.exe. Confirm the path on x64 hosts; on 32-bit Windows the path isC:\Program Files\Siemens\WinCC\bin\PdlRt.exe.
WinCC 7.4 Process Architecture
Understanding the runtime topology is critical before touching the autostart configuration. A WinCC 7.4 runtime is not a single process; it is a coordinated set of executables managed by the WinCC Service Manager.
| Process | Role | Starts with Service | Started by WinCC Explorer |
|---|---|---|---|
| CCStartService.exe | Service Manager; launches and supervises child processes | Yes | No |
| SQL Server (WINCC) | Process / alarm / tag archive database | Yes | No |
| CCArchiveManager.exe | Archive server (tag / alarm) | Yes | No |
| CCAlarmServer.exe | Alarm logging server | Yes | No |
| CCMsgQueue.exe | Internal message queue | Yes | No |
| PDLRT.exe | Graphics Runtime – renders process pictures | Sometimes* | Yes |
| CCExplorer.exe | Configuration UI (not used at runtime) | No | By user |
*PdlRt.exe starts with the service only when the WinCC project has Graphics Runtime selected in Computer Properties → Startup AND the service mode tool is configured to honor that flag. In many service-mode deployments PdlRt.exe is intentionally left out so that operators see a clean desktop before the HMI appears.
Why the Standard WinCC Autostart Procedure Fails
The procedure documented in Siemens KB 23061262 registers the entire WinCC runtime as the autostart target. The implementation creates (or modifies) the registry value
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\WinCC
with the value
"C:\Program Files (x86)\Siemens\WinCC\bin\CCStartStop.exe" -r
This works correctly when no WinCC runtime is running, because CCStartStop.exe will launch the complete runtime stack including PdlRt.exe. In a service-mode deployment, however, CCStartService.exe is already running and refuses to spawn a duplicate. The launcher short-circuits and the Graphics Runtime is never invoked. The operator still sees a clean Windows desktop with only the WinCC tray icon, and must click Start Graphics Runtime manually. The same logic explains why the WinCC Explorer menu Start Graphics Runtime behaves inconsistently in service mode – it issues a service-control request that may be ignored if the runtime is already considered "active".
CCStartStop.exe autostart behaviour to force a second start. The service will fight the duplicate, generate events 7000 / 7011 in the System event log, and the picture display will flicker between two competing PdlRt.exe instances.Step-by-Step: Configure PdlRt.exe Autostart
- Verify the WinCC service is running: open
services.msc, locate SIMATIC WinCC / CCStartService, and confirm status = Running, startup type = Automatic. - Open the WinCC project once in WinCC Explorer and confirm the picture tree compiles without errors. PdlRt.exe reads the compiled PDL cache from the active project directory.
- Identify the project directory. Typical locations are
C:\WinCC\<ProjectName>orD:\Projects\<ProjectName>. Note this path. - Determine which startup picture should appear when PdlRt.exe is invoked. Open the project's Computer Properties → Graphics Runtime and record the Start Picture field (e.g.
Startup.pdl). - Choose one of the autostart mechanisms below and implement only one of them. Implementing multiple methods causes duplicate PdlRt.exe instances.
Method A — Startup Folder Shortcut (Simplest)
This method works when the operator is required to log in interactively (no auto-logon).
- Log in as the operator.
- Open
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startupin Windows Explorer. - Right-click → New → Shortcut.
- Enter the target:
"C:\Program Files (x86)\Siemens\WinCC\bin\PdlRt.exe" - Name the shortcut WinCC Graphics Runtime and click Finish.
- Right-click the new shortcut → Properties → Shortcut tab. In Target, append the project switch if your environment requires it (see Command-Line Reference below). In Run, select Minimized so the console window does not flash on the operator's screen.
- Log off and log back in to verify.
Method B — Registry Run Value (Most Compatible)
The Run-key approach survives most Group Policy user-configurations and does not depend on the explorer shell.
- Open
regeditas Administrator. - Navigate to
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run. - Create a new String Value named
PdlRt. - Set the value data to:
"C:\Program Files (x86)\Siemens\WinCC\bin\PdlRt.exe" - Close the registry editor and log off / log on to test.
Autologon.exe or control userpasswords2), the Run key fires automatically after the auto-logon completes, achieving unattended startup of the HMI.Method C — Scheduled Task (Recommended for Production)
Task Scheduler gives the cleanest control: the trigger fires on user logon, the task can run with highest privileges, and the historical log helps with audits.
- Open
taskschd.msc. - Click Create Task (not Create Basic Task).
-
General tab: name =
Start WinCC Graphics Runtime. Tick Run whether user is logged on or not only if you have tested the resulting session-0 isolation; otherwise leave it off and tick Run with highest privileges. - Triggers tab: New… → At log on → Specific user → select the operator account. Tick Enabled.
-
Actions tab: New… → Start a program → Program/script:
C:\Program Files (x86)\Siemens\WinCC\bin\PdlRt.exe - Conditions tab: untick Start only if on AC power if the station is a panel PC. Untick Start the task only if the computer is on AC power if relevant.
- Settings tab: tick Allow task to be run on demand; If the task fails, restart every = 1 minute, up to 3 attempts – this recovers gracefully from a transient Explorer crash.
- Click OK, supply the operator's password if prompted, and log off / log on to verify.
Method D — Group Policy Logon Script
For fleets of operator stations managed centrally, deploy the same trigger through Active Directory:
- Create a batch file
StartPDLRT.batin\\<domain>\NETLOGON:@echo off"C:\Program Files (x86)\Siemens\WinCC\bin\PdlRt.exe" - Open
gpmc.msc, edit the GPO linked to the OU containing the operator stations. - Navigate to User Configuration → Policies → Windows Settings → Scripts → Logon.
- Add
StartPDLRT.batas a Logon script. - Force a Group Policy refresh on the operator station (
gpupdate /force) and log off / log on.
PdlRt.exe Command-Line Reference
Although the WinCC documentation focuses on configuration from WinCC Explorer, PdlRt.exe accepts a small set of command-line switches. The parameters below are documented for WinCC 7.4 in the WinCC Information System under Graphics Runtime → Calling Graphics Runtime from the Command Line.
| Switch | Effect | Example |
|---|---|---|
-f <picture.pdl> |
Start with the named picture instead of the project default. | PdlRt.exe -f Start.pdl |
-project <path> |
Explicitly select the WinCC project directory. | PdlRt.exe -project "C:\WinCC\Plant_A" |
-lang <code> |
Force a runtime language (DE, EN, FR, ES, IT, ZH). | PdlRt.exe -lang EN |
-noSplash |
Suppress the splash screen during start. | PdlRt.exe -noSplash |
-console |
Open a debug console for diagnostics. | PdlRt.exe -console |
PdlRt.exe /? from a command prompt to display the supported parameter set on that installation.Verification and Commissioning
- Reboot the operator station and confirm Windows boots into the WinCC service (no interactive user required).
- Log in as the operator. Within 10–20 seconds, the configured startup picture should fill the screen.
- Open Task Manager → Details and confirm one and only one
PdlRt.exeentry is listed. Multiple entries indicate that two autostart mechanisms are active. - Confirm tag updates are live: from the active picture, toggle a writable tag (e.g. motor start) and verify the change of state propagates.
- Open the WinCC service log file
C:\Program Files (x86)\Siemens\WinCC\diagnose\WinCC_Service_<ComputerName>.logand search for entries around the logon timestamp – they should show no "PdlRt duplicate instance" warnings. - Repeat the test after a planned power loss to confirm unattended recovery.
Troubleshooting Matrix
| Symptom | Likely Cause | Fix |
|---|---|---|
| PdlRt.exe does not start at all | Path or quoting error in autostart command. | Wrap the executable path in double quotes; verify path with dir "C:\Program Files (x86)\Siemens\WinCC\bin\PdlRt.exe". |
| Brief console window flashes, picture never appears | PdlRt.exe crashed because the project is not loaded. | Check CCStartService status; verify the project path; tail WinCC_Service_*.log. |
| Two PdlRt.exe processes listed | Two autostart mechanisms enabled simultaneously. | Disable one method; keep either Registry or Task Scheduler or Startup folder. |
| Picture appears, then closes immediately | Operator logon script logs off or reboots. | Inspect scheduled task "Stop if the computer ceases to be idle" setting; ensure no logoff script. |
| Graphics Runtime does not display on second monitor | PdlRt.exe launched before the second monitor is enumerated. | Add a 5-second delay via timeout /t 5 /nobreak in a wrapper batch file. |
| Error: "WinCC project not active" | CCStartService lost the project activation. | Re-activate the project via WinCC Explorer once; then the service keeps it active. |
| Antivirus quarantines PdlRt.exe | Heuristic flag on unsigned process. | Add an exception for C:\Program Files (x86)\Siemens\WinCC\bin\. |
| Picture is blank, only frame | Wrong -project path or read-only GraCS folder. |
Verify GraCS permissions: operator user needs Read & Execute. |
Field-Commissioning Notes
UAC on Windows 7. If the operator account is a standard user (recommended) and User Account Control is enabled, registry changes in HKCU\…\Run do not require elevation. Scheduled tasks that Run with highest privileges do require the operator's password at task creation but execute elevated at logon without prompting.
Session 0 isolation. On Windows Server 2008 R2 / Windows 7 with the default security baseline, scheduled tasks configured Run whether user is logged on or not execute in session 0 and will not display the HMI on the operator's interactive desktop. Always test this configuration with the operator present before declaring the station ready.
Auto-logon and silent reboot. When the operator station auto-logs-on, the Run-key / Scheduled Task mechanism fires after the desktop is built. To hide the brief black desktop background, set the wallpaper to the same .pdl picture rendered by the project, or enable the WinCC Desktop Background integration in Computer Properties → Graphics Runtime.
Redundant pairs. Some sites run two operator panels in parallel for redundancy. Configure each panel with its own Scheduled Task pointing to its own project copy; do not share the same project path across two panels because the CCStartService-level lock file will collide.
Migration to WinCC 8.x or TIA WinCC Professional. The same autostart logic applies; however the binary moves to PdlRt.exe under C:\Program Files\Siemens\Automation\WinCC RT\bin. Adjust all paths accordingly when migrating. For TIA Portal Runtime (WinCC Runtime Professional / Comfort), the equivalent process is RT_Adv.exe or WinCCRTPro.exe and is typically autostarted via AutoStart configuration inside TIA, not via the Windows mechanisms described here.
Why does the WinCC Explorer autostart from KB 23061262 not start PdlRt.exe in service mode?
That KB article registers the entire WinCC runtime (CCStartStop.exe) as the autostart target. In service mode the WinCC service is already running and ignores a second start request, so PdlRt.exe is never launched. You must trigger PdlRt.exe independently via Windows autostart.
Where is the Graphics Runtime executable on WinCC 7.4?
The executable is PdlRt.exe located at C:\Program Files (x86)\Siemens\WinCC\bin\PdlRt.exe on 64-bit Windows, or C:\Program Files\Siemens\WinCC\bin\PdlRt.exe on 32-bit hosts.
Can PdlRt.exe autostart without any user logging in?
No. PdlRt.exe renders to the interactive desktop and therefore needs an active Windows session. With auto-logon enabled, the Run-key or Scheduled Task fires automatically after the auto-logon completes, giving the effect of an unattended startup.
Which autostart method is best for a panel PC running 24/7?
Use a Scheduled Task configured for the operator account with a logon trigger and "Restart on failure" enabled. This method survives Group Policy, is auditable, and recovers automatically from a transient PdlRt.exe crash.
How do I prevent two PdlRt.exe instances after a service restart?
Implement only one autostart mechanism (Registry, Task Scheduler, Startup folder, or Group Policy) and verify in Task Manager that exactly one PdlRt.exe appears after logon. Disable any duplicate entries before placing the station in production.