WinCC IO Field Flashing: Resolving Drawing Optimization Issues

David Krause12 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 Overview

Siemens WinCC Runtime projects commonly exhibit a defect where configured I/O fields briefly blank out (the field rectangle turns white for roughly 100 ms) immediately after every value update cycle, then redraw the new value. Visually this appears as a continuous flicker synchronized to the configured refresh interval. In one documented deployment the refresh interval was 2 seconds, so the symptom was perceived as constant flashing at 0.5 Hz.

This fault is independent of the underlying PLC tag values. Tag diagnostics, the WinCC Channel Diagnostic tool, redundancy operation, and the HMI client all report correct values. The defect originates inside the WinCC Graphics Runtime and its screen redraw pipeline. The single recommended remedy is to disable the runtime option Drawing Optimization, accessible from the server's runtime settings. Once unchecked, the I/O field stops blanking and the value updates smoothly on each cycle.

This article documents the root cause, the step-by-step remediation, the verification procedure, and a set of related screen-design best practices that prevent the defect from recurring.

Affected System Architecture

The defect has been reproduced on the following reference architecture, which is representative of mid-to-large WinCC Server/Client deployments used in process industries:

Layer Component Quantity Notes
SCADA servers WinCC Server (master + redundant partner) 2 Server-to-Server redundancy with event synchronization
HMI clients WinCC Client 1+ Reads published tags from the server
Legacy controllers SIMATIC S5 5 Connected through CP 1623 communication processor in the server
Modern controllers SIMATIC S7-400 (Industrial Ethernet, S7 protocol) 15 Standard S7 communication via onboard IE interface
Modern controllers SIMATIC S7-400 (TCP/IP) 5 TCP/IP raw or S7-over-TCP variant
Backbone SCALANCE X414-3E managed switch 1 1 Gbit/s network, VLAN segmentation optional
Tag source for affected fields DB233 of each S7-400 station — REAL (32-bit floating point) values, shared data block
The defect is not specific to the S5/S7 mix or to a particular channel unit. It manifests whenever the WinCC Graphics Runtime's redraw engine interacts with I/O fields whose value updates arrive at the configured Update interval.

Observed Symptoms

Engineers diagnosing this defect will typically observe the following fingerprint:

  1. Blank frame on each update. The I/O field's background turns fully white for approximately 100 ms immediately after the configured update interval elapses. There is no text, no border, no value inside the field rectangle.
  2. Update interval is preserved. The total cadence is correct: blank → value → blank → value, with the cycle matching the configured Update property (commonly 2 s).
  3. Multiple I/O fields on the same screen flicker in lock-step. Because all fields are driven by the same Graphics Runtime redraw pass, the symptom is screen-global, not isolated to a single widget.
  4. Channel diagnostics remain green. WinCC Channel Diagnostic reports OK status for every connection. Tag values sampled manually are correct and stable.
  5. Tag source pattern. The flashing is most visible on I/O fields that read floating-point (REAL) values from a shared DB (for example, DB233 on every S7-400), but it also occurs for BOOL, INT, and WORD types when Drawing Optimization is enabled.
  6. No flashing property set. The I/O field's Flashing attribute is unchecked; the symptom is not the result of a deliberate blink animation.

Root Cause Analysis

WinCC Runtime exposes a global drawing performance option labelled Drawing Optimization. When enabled (the default in many installation profiles), the runtime applies an incremental redraw strategy intended to reduce CPU load on screens with many dynamic objects: the screen background and unchanged static objects are reused from the previous frame, and only the bounding rectangle of changed dynamic objects is invalidated and redrawn.

The interaction of this incremental strategy with the I/O field widget causes the visible flash. The runtime first invalidates the field rectangle (the user sees a white background for ~100 ms), then performs the text rasterization, then blits the new glyphs onto the surface. With Drawing Optimization enabled, the Graphics Runtime does not restore the previously cached bitmap between the invalidation and the new text redraw, so the user perceives a momentary blank.

The defect is amplified when several I/O fields share the same tag source because each field independently invalidates its rectangle in the same redraw pass, producing the synchronized flicker. Floating-point fields (REAL) make the defect more visible because the formatted string length frequently changes between samples, causing the field to be re-rasterized every cycle.

Drawing Optimization is a runtime-level setting; it is not exposed on a per-screen or per-object basis. It is enabled or disabled project-wide from the server's WinCC Runtime settings dialog. The same setting applies to the redundant partner server and is not synchronized — each server must be configured individually.

Solution: Disable Drawing Optimization

The corrective action is to disable Drawing Optimization on every WinCC Server involved in the project. Perform the following steps on the master server and on the redundant server:

  1. Locate the WinCC Runtime icon in the system tray (notification area) of the WinCC server. The icon appears as a yellow-and-black WinCC symbol once Runtime is loaded.
  2. Right-click the icon to open the context menu.
  3. Select WinCC Runtime settings (German installations may label this Laufzeit-Einstellungen).
  4. In the settings dialog, locate the option labelled Drawing Optimization (German: Zeichnungsoptimierung).
  5. Uncheck the Drawing Optimization option.
  6. Click OK or Apply to commit the change.
  7. Restart WinCC Runtime to ensure the new draw pipeline takes effect across all open pictures.

After the option is cleared, the Runtime uses a full-picture redraw strategy on every change. The brief white-flash interval disappears because the field's previous frame is no longer invalidated before the new text is rasterized.

Step-by-Step Verification Procedure

After applying the fix, use the following procedure to verify that the defect is resolved and that no regression has been introduced:

  1. Open the affected screen on the WinCC client. Watch an I/O field that previously flickered for at least five full update cycles (10 s at the 2 s default).
  2. Confirm steady rendering. The field should display its value continuously, with no white-frame artifact between updates.
  3. Force a value change in DB233 from the PLC (for example, by writing a different REAL value with a programming device or by triggering a process event). Verify the I/O field updates within one cycle and remains stable between cycles.
  4. Check redundant partner behavior. Trigger a server failover and verify the new active server also renders I/O fields correctly. If the redundant server still shows flicker, repeat the Drawing Optimization procedure on that machine.
  5. Sample CPU load. Open the Windows Task Manager and observe the CCExplorer.exe (WinCC Explorer) and CCRTProcs.exe (Runtime processes) CPU consumption before and after the change. A modest increase (typically < 5 %) is expected on highly dynamic screens; this is the cost of disabling the incremental redraw.
  6. Validate channel diagnostics. Open the WinCC Channel Diagnostic tool and confirm all connections remain OK.
  7. Log a screenshot of the corrected screen for the project quality-assurance file.

IO Field Update Time Configuration

The Update property of an I/O field controls how often the field requests a new value from the tag manager. Right-click the I/O field in the Graphics Designer, choose Configuration Dialog, and set Update to a value matching the dynamic nature of the underlying process.

Update value Recommended use Typical application
250 ms Fast closed-loop visualization Servo drive status, high-speed counters
500 ms Default for fast machine states Axis positions, valve feedback
1 s Standard SCADA polling Process temperatures, levels, flows
2 s Default for slow process data Tank levels, batch totals
5 s Slow-changing archived data Shift totals, energy counters
Selecting the smallest feasible update interval does not eliminate the flashing defect. Drawing Optimization must be disabled regardless of the chosen update time. A 250 ms update combined with Drawing Optimization enabled produces a near-continuous flicker that is visually indistinguishable from a hardware fault.

Network and Channel Diagnostics

Although the flashing defect is local to the Graphics Runtime, the diagnostic checklist must verify that the network and S7 channel units are not contributing intermittent timeouts that could mask or amplify the visual symptom. The reference deployment used a SCALANCE X414-3E switch at 1 Gbit/s with the following verification points:

  • MAC address allocation. Confirm that every S7-400 CP and every WinCC server has a unique MAC address. Siemens Ethernet devices typically ship with OUI 00-0E-8C (Scalance), 08-00-06 (older Hilscher/Siemens), or 00-0B-A1 (CP1613/CP1623 family). A duplicate MAC on the same broadcast domain produces sporadic value drops and may mimic the flashing symptom.
  • Channel Diagnostic tool. In WinCC Explorer, open Tools → Channel Diagnosis and verify each S7 connection reports status OK, with non-zero Connection Quality counters and no Connection Faults.
  • OPC / S7 connection counts. The S7 channel unit permits a limited number of concurrent connections per CP. Verify the configured Max. Number of Connections in the S7 channel unit properties against the actual connection count reported by the diagnostic tool.
  • CP1623 for SIMATIC S5. The CP 1623 (PCI Express) supports S5 H1 communication. Verify the configured protocol profile (H1, FETCH/WRITE, or ISO transport) matches the legacy PLC firmware and that the PROFIBUS / Industrial Ethernet parameters are consistent across the S5 stations.
  • Switch load. On the SCALANCE X414, enable port statistics and verify no port exceeds sustained 60 % utilization. Network saturation would produce tag timeouts and would be visible in the Channel Diagnostic tool; absence of those symptoms confirms the network is not the root cause.

State Diagram of the Defect

The following SVG summarizes the redraw state machine of an I/O field with Drawing Optimization enabled versus disabled:

Tag Update Event PLC → Tag Manager Invalidate Rectangle White frame ~100 ms Rasterize Text New value drawn Tag Update Event PLC → Tag Manager Full Picture Redraw No white frame Blit Text New value drawn Drawing Optimization = ON (defective path) Drawing Optimization = OFF (correct path) Perception: white flash every cycle vs. smooth value update.

Troubleshooting Matrix

Symptom Likely cause First diagnostic step Remediation
I/O field blanks ~100 ms every update Drawing Optimization enabled Open WinCC Runtime settings Disable Drawing Optimization on every server
I/O field flickers every ~2 s with correct values Same root cause as above Confirm all servers are configured Restart Runtime after the change
I/O field shows zeros or last valid value S7 connection lost Channel Diagnostic tool Restore S7 connection, verify CP
Screen-wide flicker during screen change Picture transition animation Picture properties → Effects Disable fade/wipe effects
Flicker only on process value bars Bar widget with frequent min/max change Bar configuration → Limits Stabilize limit values or raise update time
Flicker on client only, server stable Client-side CPU overload or RDP/ICA session Task Manager on client Use local client or upgrade graphics driver
Flicker correlates with network broadcast storms Duplicate MAC or loop SCALANCE port statistics Enable Spanning Tree, isolate port

Best Practices for WinCC Screen Design

  1. Disable Drawing Optimization on production servers. Apply the runtime-setting change as part of the standard commissioning checklist for every WinCC Server/Client project that uses I/O fields heavily.
  2. Avoid placing many I/O fields on the same picture. When a single picture must display dozens of process values, group them into faceplates and open the faceplate on demand rather than rendering every value at all times.
  3. Match the Update time to the process dynamic. A 2 s update is sufficient for 95 % of process displays and avoids unnecessary CPU work. Faster updates should be reserved for motion and safety-relevant screens.
  4. Use the Output/Input field type instead of separate I/O fields. Combining display and input into a single Output/Input field halves the number of dynamic objects on the screen and reduces redraw overhead.
  5. Lock the resolution and color depth. Mixed DPI scaling on Windows servers can produce partial redraws that look like flicker. Set a fixed screen resolution and disable DPI scaling on the Runtime station.
  6. Test redundancy manually. After every major picture change, force a server switchover and confirm both servers render correctly. Drawing Optimization is set per-server and is not propagated by redundancy.
  7. Document the runtime setting in the project quality plan. Add Drawing Optimization state to the commissioning handover sheet so future maintenance staff know the setting has been intentionally changed.

Performance Considerations

Disabling Drawing Optimization incurs a measurable CPU cost on screens with many dynamic objects because every change triggers a full picture redraw. For typical process screens (50–200 dynamic objects), the additional load is negligible on any server built in the last decade. On extremely dense screens (1000+ dynamic objects, complex trending) the load increase may be 5–10 % of one CPU core. In those cases, consider splitting the screen into smaller sub-pictures and loading them on demand rather than re-enabling Drawing Optimization.

The redundant partner should be configured identically; otherwise the failover can produce a brief visual discontinuity if the new active server still has Drawing Optimization enabled.

Related WinCC Runtime Settings

The WinCC Runtime settings dialog exposes several options that interact with the Graphics Runtime:

  • Drawing Optimization — controls incremental redraw. Disable when I/O field flicker is observed.
  • Picture Cache — caches compiled pictures to disk. Always leave enabled.
  • Automatic Hotkeys — assigns hotkeys to buttons based on their index. Disable if keyboard input interferes with operator actions.
  • Hide Header on Top of Picture — removes the runtime header. Independent of drawing behaviour.
  • Language Switch — runtime language selection. Independent of drawing behaviour.

Only Drawing Optimization has been observed to produce the I/O field flashing defect. Other settings are unrelated to the symptom but are listed here for completeness.

FAQ

What is the fastest way to stop WinCC I/O fields from flashing?

Right-click the WinCC Runtime icon in the system tray, open WinCC Runtime settings, uncheck Drawing Optimization, and restart WinCC Runtime. Apply the change on every WinCC Server in the project, including the redundant partner.

Does Drawing Optimization affect I/O field values?

No. Tag values, Channel Diagnostic, and redundancy are unaffected. The defect is purely visual: the field rectangle is briefly invalidated and rendered white for ~100 ms before the new text is drawn.

Will disabling Drawing Optimization increase CPU load?

Yes, slightly. On typical process screens the additional load is below 5 % of one CPU core. On screens with 1000+ dynamic objects the increase can reach 10 %; in those cases split the screen into sub-pictures instead of re-enabling Drawing Optimization.

Do I need to repeat the change on the redundant server?

Yes. Drawing Optimization is a local runtime option and is not synchronized between the master and the redundant partner. Configure both servers identically and verify behaviour after a forced failover.

Can I keep Drawing Optimization enabled for performance and still avoid the flash?

No. Drawing Optimization is the root cause of the flash. The supported remediation is to disable it project-wide on the server. For very dense screens, prefer to split the picture or reduce the number of dynamic objects per screen rather than re-enable Drawing Optimization.

Back to blog