Resolving PCS 7 V7.1 SP2 WinCC Trend Unhandled Exception Errors

David Krause11 min read
SCADA ConfigurationSiemensTroubleshooting
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 Overview

On SIMATIC PCS 7 V7.1 SP2 systems running WinCC V7.0 SP2 as the OS-level HMI, navigating the trend view backward in time (e.g., paging into archived or older online data segments) randomly raises an Unhandled Exception on the WinCC client. The runtime crashes silently: the trend window closes, the WinCC Explorer process hangs, and the operator must terminate the CCExplorer.exe task via Task Manager and reboot the Windows session before the client recovers.

The fault profile has three repeatable signatures:

  • Non-deterministic triggering. The exception fires only when the operator scrolls, drags the ruler, or jumps to a date older than the active trend buffer, and only on a subset of clients per shift.
  • Multi-client susceptibility. Typical PCS 7 installations report 4 to 8 client stations configured against 1 or 2 redundant WinCC server pairs; failures do not correlate to a single station.
  • Server independence. The redundant server pair continues archiving without error, and the OS-level Trend service on the server does not log a corresponding fault. Only the client-side PDLRT / OnlineTrendControl DLLs are implicated.

This behavior was confirmed against WinCC V7.0 SP2, which is the HMI component shipped with PCS 7 V7.1 SP2. The root cause is a defect inside the WinCC OnlineTrendControl internals (historical paging, archive segment binding, and trend-name caching) that is corrected by sequential hotfix updates K7.0.2.3 and K7.0.2.5.

Affected Versions and Components

Component Version State
SIMATIC PCS 7 V7.1 SP2 Affected (HMI runtime built on WinCC V7.0 SP2)
SIMATIC PCS 7 V7.1 SP3 / SP4 Affected if WinCC V7.0 SP2 runtime is reused
SIMATIC PCS 7 V8.0 and later Not affected by this specific trend bug; superseded by V8.0 trend control
SIMATIC WinCC V7.0 SP2 base Defect present
SIMATIC WinCC V7.0 SP2 + Update 3 (K7.0.2.3) Partial fix (trend name display only)
SIMATIC WinCC V7.0 SP2 + Update 5 (K7.0.2.5) Full fix (ruler, name, paging, flashing)
SIMATIC WinCC V6.0 SP3a HF31 Documented precedent fix on PCS 7 V6.1 SP4 trend path

The SIMATIC HMI Update 3 (K7.0.2.3) Readme lists the trend-name display correction shipped with the early hotfix. The cumulative SIMATIC HMI Update 5 (K7.0.2.5) Readme includes the OnlineTrendControl paging fix (ruler window, flashing objects) and is the version that resolves the V7.1 SP2 client-side exception. Reference PCS 7 V8.0 release notes for migration context: What's new in SIMATIC PCS 7 V8.0 compared to V7.1.

Root Cause Analysis

The Unhandled Exception originates in the client-side CCOnlineTrendControl.OCX when the WinCC trend component attempts to resolve an archived segment handle that no longer exists in the redundant server's active archive window. Three conditions must align for the exception to surface:

  1. Archived paging event. The operator selects a time range older than the in-memory segment. The control requests a swap from the server's segment cache.
  2. Stale trend-name cache. The WinCC trend name list (the column that appears above each curve) is rebuilt by Update 3; without it, name resolution can fall back to an invalid pointer.
  3. Concurrent access on a redundant pair. The redundant partner holds an open archive handle; the failing client receives a partial response that the unpatched control cannot reconcile, triggering the 0xC0000005-class access violation reported as Unhandled Exception by the .NET runtime that hosts the trend window.

Because the failure is racing the redundant archive lookup, only a subset of clients crash during any given navigation event. This explains why the same operator action succeeds on client A and fails on client B within the same shift. Patching the OnlineTrendControl re-establishes the trend-name binding path and adds explicit error handling for the missing-segment condition, eliminating the access violation.

Engineering note: Do not attribute the exception to the SIMATIC Shell, the Windows user-rights model, or the .mcp download path until the OnlineTrendControl has been patched. The Shell, rights, and download symptoms cited by other operators are separate issues that can co-exist with this bug; fix the trend exception first, then audit the server-client configuration.

Prerequisites

  • Local administrator rights on every WinCC client and on both redundant servers.
  • The original PCS 7 V7.1 SP2 installation media (or a verified image) to enable repair-mode reinstall when applying the hotfix.
  • Downloaded hotfix packages: WinCC_V70_SP2_Update3 (K7.0.2.3) and WinCC_V70_SP2_Update5 (K7.0.2.5) from Siemens Product Support. Entry IDs 48694762 and 53421268 respectively.
  • Current WinCC project backup: copy the project directory (default C:\Program Files\Siemens\Automation\WinCC\WinCCProjects\<PROJECT>) and the <PROJECT>.mcp file to a network share.
  • Maintenance window of 45 to 90 minutes per client for the patch sequence and a full WinCC runtime reboot.
  • Verified DCOM and SIMATIC Shell configuration; document current values before changing them.

Solution Procedure

Step 1 - Capture the failing trend configuration

Before any patching, export the active trend picture and its tag bindings:

  1. Open the WinCC project on the engineering station in Graphics Designer.
  2. Open the trend picture (typically @OnlineTrend.pdl or a project-specific PDL).
  3. Document the data source assignments: archive name, trend window size, time base, and update cycle.
  4. Right-click the OnlineTrendControl and select Properties > Trends; record each trend name and the bound archive tag. This list is the basis for verifying the Update 3 / Update 5 trend-name fix.

Step 2 - Install Update 3 (K7.0.2.3)

The Update 3 readme corrects the display of trend names in the OnlineTrendControl. The exception is not fully eliminated by this step, but the patch is a prerequisite for Update 5 and must be installed first.

  1. Stop WinCC runtime on the target client: in WinCC Explorer, click Stop Runtime or run net stop "wincc" from an elevated command prompt.
  2. Run the Update 3 installer on the client. Confirm installation path points to the WinCC V7.0 SP2 install directory.
  3. Reboot the client to clear any locked CCOnlineTrendControl.OCX registrations.
  4. Repeat for every WinCC client; the update is per-station, not per project.

Step 3 - Install Update 5 (K7.0.2.5)

The Update 5 readme delivers the cumulative OnlineTrendControl fix (ruler window display, trend-name display, flashing object handling, and the missing-archive paging path that triggers the exception). Apply on top of Update 3.

  1. Stop WinCC runtime on the client.
  2. Launch the Update 5 installer. If the installer detects Update 3 is missing, it will warn and prompt; do not bypass.
  3. When prompted, select Repair mode for the existing WinCC V7.0 SP2 installation. Repair-mode replacement registers the patched OCX correctly.
  4. Reboot the client.
  5. Repeat for every WinCC client.
Server note: The hotfixes ship with full WinCC runtime installers. If your server pair still uses WinCC V7.0 SP2 base (no Update 5), install Update 5 on the redundant servers as well. A patched client requesting data from an unpatched server is still vulnerable to segment-binding races.

Step 4 - Verify the trend-name display

  1. Start WinCC runtime on one client.
  2. Open the trend picture and select a time range older than the current segment (for example, 24 hours back).
  3. Confirm that each trend column shows the configured trend name above its curve. Pre-Update 3, the names would render as numeric IDs or be blank.
  4. Drag the ruler across a historical segment. Confirm the ruler window opens without exception. Pre-Update 5, this action triggers the Unhandled Exception on unpatched clients.

Step 5 - Verify exception elimination

  1. From the same patched client, navigate to a date range crossing at least two archive segment boundaries (e.g., a 7-day range when segments are 1 day).
  2. Repeat the navigation ten times with the ruler drag operation between each jump.
  3. Confirm no Unhandled Exception is raised. If a fault is still observed, capture the Windows Application event log entry (source .NET Runtime or Application Error) and the faulting module name. Continue to Step 6 for the SIMATIC Shell audit.
  4. Roll the verification to each remaining patched client.

Step 6 - Audit SIMATIC Shell and DCOM (related server-client stability)

Operators frequently observe SIMATIC Shell connectivity drops on PCS 7 V7.1 SP2 even after the trend hotfix. Verify the following on each client and server:

  • SIMATIC Shell DCOM identity. Open dcomcnfg.exe, navigate to Component Services > Computers > My Computer > DCOM Config. Locate SIMATIC WinCC Explorer and SIMATIC WinCC Runtime. Confirm the launch and activation identity is set to The interactive user for single-user clients, or This user with the dedicated WinCC service account for clients in a service context.
  • Firewall. Disable Windows Firewall on the PCS 7 network or open TCP 102 (S7Comm), TCP 135 (DCOM), and the dynamic RPC range 49152-65535 between WinCC server, redundant partner, and clients. Use netsh advfirewall firewall add rule with explicit remote IP scope rather than blanket disabling.
  • Client-server time skew. Trend paging is timestamp-sensitive. Confirm Windows Time service is active on every PCS 7 node and skew is under 5 seconds. Use w32tm /query /status to verify.
  • Server-client project replication. Re-download the project to the client using the SIMATIC Shell. Confirm no An error occurred while downloading message appears; this message indicates the project file download was interrupted, which can corrupt the local client cache and trigger trend exceptions indirectly.

Verification Matrix

Test Expected Result After Patching Failure Indicator
Open trend picture, current time range Trend renders, names visible Blank trend names, numeric IDs
Drag ruler on current segment Ruler window opens, value pair shown Unhandled Exception, WinCC closes
Jump to 24 h old segment Archive loads, trends redraw Access violation in CCOnlineTrendControl
Flashing object in trend picture Flashes at configured cycle Object frozen or missing
Failover of redundant server during trend open Trend reconnects to partner seamlessly WinCC exits or trend greyed out

When the Exception Persists After Update 5

If clients still raise the Unhandled Exception after both hotfixes are installed and the WinCC runtime has been cleanly restarted, escalate the diagnostic by capturing:

  1. Windows Application event log entry from .NET Runtime and from Application Error. Note the faulting module (typically KERNELBASE.dll or CCOnlineTrendControl.OCX) and the exception code offset.
  2. WinCC diagnostic files from C:\Program Files\Siemens\Automation\WinCC\Diagnose, including WinCC_Sys_.log and WinCC_Sys_.log for the failing session window.
  3. Project download state: confirm <PROJECT>.mcp MD5 matches between engineering station, server, and client. A mismatch indicates a partial download from a previous SIMATIC Shell push.
  4. Trend archive size: if the configured archive exceeds 50,000 tags or 200 MB per segment, consider splitting the archive or raising the segment size to reduce segment-boundary crossings during navigation.

Provide this bundle to Siemens Product Support via the official support request form. Reference entry ID 48694762 (Update 3) and 53421268 (Update 5) for faster routing. Where the system must remain in production, an interim workaround is to lock the trend default time range to the in-memory window (no paging) so the broken code path is not exercised, accepting the loss of historical view on the operator screens.

Upgrading to PCS 7 V8.0 or Later

PCS 7 V8.0 ships a rebuilt WinCC runtime that supersedes the V7.0 SP2 OnlineTrendControl. If your system is on V7.1 SP2 with a documented maintenance contract, plan a phased migration to V8.0 or the current supported release. The PCS 7 V8.0 release notes summarize the runtime differences; the SIMATIC BATCH V8.0 manual documents the BATCH Launch Coordinator change that affects batch-oriented trend views. Where a hotfix-only fix is acceptable for the remaining asset life, the Update 5 sequence above is the lower-risk path; for new deployments or systems entering a multi-year lifecycle, full migration is preferred.

Server-Client Configuration Checklist (V7.1 SP2)

Beyond the trend hotfix, the following baseline prevents the symptoms cited by operators (download errors, .mcp permission errors, SIMATIC Shell instability):

  • All PCS 7 nodes joined to the same Active Directory domain with a common time source.
  • Local group SIMATIC HMI exists identically on every server and client with the same WinCC operator and engineer accounts.
  • Share <SERVER>\<PROJECT> exposed with read/write for the WinCC service account and read for operator accounts.
  • WinCC project path on each client points to \<SERVER>\<PROJECT>\<PROJECT>.mcp (UNC), not a mapped drive letter.
  • DCOM default authentication level set to Connect on every node.
  • Antivirus exclusions for C:\Program Files\Siemens\Automation and the project directory on every node.
  • Page file set to a fixed size of 4096 MB or larger on every WinCC client (16 GB RAM is common for V7.1 SP2 clients).

Trend Performance Tuning

Once the exception is eliminated, performance tuning prevents regression:

  • Archive segmentation. Use 1-day segments for 1-second trends and 7-day segments for 10-second or slower trends. This keeps the segment swap count low when operators page across weeks of data.
  • Compression. Enable archive compression (level 9) on tags with low-amplitude noise. PCS 7 APL documentation describes the standard tag-block interlocks that interact with trend performance; see the PCS 7 BRAUMAT Library user guide for the reset behavior of interlocking blocks that may also affect tag updates.
  • Client-side trend count. Cap a single trend picture at 8 curves. Beyond 8 curves, the OnlineTrendControl paging path becomes a measurable contributor to CPU load even on patched builds.
  • Ruler behavior. Disable the ruler window on operator-facing trends if it is not required for batch review. Ruler interaction is the single highest-cost operation in the control.

FAQ

Which hotfix fixes the PCS 7 V7.1 SP2 trend Unhandled Exception?

Apply SIMATIC HMI Update 5 (K7.0.2.5) on top of Update 3 (K7.0.2.3) on every WinCC V7.0 SP2 client and on the redundant server pair. Update 5 contains the OnlineTrendControl ruler-window and missing-segment fix that eliminates the access violation.

Do I need to install Update 3 before Update 5?

Yes. The Update 5 installer detects Update 3 as a prerequisite and refuses to install cleanly without it. Update 3 delivers the trend-name display correction; Update 5 is cumulative on top of it.

Do the hotfixes need to be installed on the servers as well as the clients?

Yes. A patched client requesting archive data from an unpatched redundant server can still trigger the segment-binding race. Apply Update 3 and Update 5 to every server, redundant partner, and client running WinCC V7.0 SP2.

What if the exception still occurs after Update 5?

Capture the Windows Application event log (.NET Runtime and Application Error entries), the WinCC diagnostic files, and the project MD5 hash on every node. Confirm DCOM identity, firewall, time synchronization, and project replication are clean before opening a Siemens Product Support request with entry IDs 48694762 and 53421268 referenced.

Is upgrading to PCS 7 V8.0 required to eliminate this bug?

No. Update 5 is sufficient as long as the system remains on V7.1 SP2. For systems planning a multi-year lifecycle or experiencing additional server-client instabilities (download errors, .mcp permission faults, SIMATIC Shell drops), a phased migration to V8.0 or the current supported release is the longer-term recommendation.

Back to blog