Resolving WinCC TIA Portal IO Field Exclamation Mark Quality

David Krause11 min read
HMI ProgrammingSiemensTroubleshooting
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: Exclamation Mark in the WinCC I/O Field

An exclamation mark (⚠) appears at the left edge of a WinCC Comfort, WinCC Advanced, or WinCC Professional I/O field even though the connected value still updates correctly in the S7 data block. The field is flagged invalid, but the process value continues to refresh. The marker is independent of the configured output format (binary, decimal, string, hexadecimal) and persists across recompilation of the HMI project.

The marker is generated by the WinCC runtime quality-code evaluation. It is not a syntax error in the HMI tag configuration, a panel defect, or a wiring fault. The runtime reads the OPC UA quality stamp of the underlying process tag and renders the warning glyph whenever the quality is anything other than Good (0x00C00000). The same logic applies to WinCC Unified I/O fields, although the configuration path differs.

Root Cause: Tag Quality Status

The exclamation mark is a quality indicator tied to the HMI tag connection. WinCC runtime retrieves the quality stamp of every polled tag, translates it into a visual cue on the I/O field, and updates the cue on each cycle. The display is controlled by the property "Visualize Tag Status" in TIA Portal V15 through V17 (pre-Update 8) and by "Show Connection Quality" in TIA Portal V17 Update 8 and later (V18, V19, V20). Both properties are located under the I/O field's Miscellaneous tab in the Properties inspector.

When the connection is healthy, the field shows the process value with no marker. When the connection is broken, the addressed DB or address range is missing from the PLC, the symbolic name has been renamed without re-binding the HMI tag, or the HMI tag points to a non-existent operand, the runtime writes a quality code other than Good to the tag and the I/O field displays the warning glyph.

OPC Quality Code Reference

S7-1500 / OPC UA quality code subset relevant to the I/O field warning (per OPC UA Part 6 / IEC 62541)
Quality Code (hex) Status I/O Field Behavior
0x00000000 Good - non-specific Value shown, no marker
0x00C00000 Good - local override Value shown, no marker
0x40000000 Uncertain - non-specific Value shown, marker visible
0x40C00000 Uncertain - substitute value Value shown, marker visible
0x80000000 Bad - non-specific Marker visible, value stale
0x80040000 Bad - configuration error Marker visible, value empty
0x80050000 Bad - communication error Marker visible, value frozen
0x801F0000 Bad - device failure Marker visible, value empty
0x80320000 Bad - access denied Marker visible, value empty

Read the quality code at runtime through the HMI Tag Management or by binding a temporary I/O field to the Quality output of the suspect tag. The code is 32 bits: bits 24–31 carry the status (Good / Uncertain / Bad), bits 16–23 carry the sub-status, and bits 0–15 carry the limit bits.

Diagnostic Workflow

  1. Open the HMI device in the TIA Portal project tree.
  2. Start the WinCC Runtime simulation (RT) or connect to the live HMI panel.
  3. Open HMI Tags and right-click the suspect tag to enable the quality column.
  4. Read the displayed quality code and timestamp.
  5. Cross-reference the code with the table above to identify the failure class.
  6. Open the connected PLC in Online & Diagnostics and read the diagnostic buffer for the matching event.
  7. Inspect the PLC's symbol table for unresolved or renamed HMI tag references.

Inline diagnostic flow (SVG)

I/O field shows ⚠ marker HMI tag quality ≠ Good Read quality code HMI Tags → Quality column Map code → root cause Use OPC table above Bad - Configuration (0x80 04) → Re-download DBs Bad - Communication (0x80 05) → Check PLC connection Bad - Device (0x80 1F) → Check I/O module ⚠ Marker persists after fix → check tag address binding ✓ Marker cleared → quality = 0x00C00000 (Good)

Solution 1: Configure the Visualize Tag Status Property

When the underlying tag returns values that are functionally correct but the quality code is not Good, hide the warning glyph at the screen-object level. This is a presentation fix only and does not repair the underlying connection problem.

  1. In the HMI editor, select the affected I/O field.
  2. In the Properties inspector, open the Miscellaneous category.
  3. Set Visualize Tag Status = NO (TIA Portal V15 to V17 pre-Update 8) or Show Connection Quality = No (TIA Portal V17 Update 8 and later).
  4. Recompile the HMI project and download the runtime to the panel or to the RT simulation.
  5. Verify that the warning is no longer rendered while the value continues to update.
Hiding the marker removes the visual warning. It does not resolve dropped connections, missing DBs, or invalid address references. Use this only after the underlying quality issue is confirmed to be cosmetic, for example when an HMI-tag-to-PLC-tag connection is intentionally blocked by an access list while a simulated value is supplied from a script.

Solution 2: Re-Download All PLC Data Blocks

If the PLC diagnostic buffer reports an I/O access error (event 0x4570 "DB not loaded" or similar), the most common root cause is a data block (DB) referenced by the HMI tag that was created, modified, or removed on the TIA side but not reloaded into the S7-1500 / S7-1200 CPU. The CPU then returns Bad - Configuration Error (0x80040000) for any read against the missing or size-mismatched block.

  1. Go to the PLC device in the project tree.
  2. Open Program blocks and select every DB used by an HMI tag.
  3. Use Download to device → Software (all blocks) to push the complete block container.
  4. Confirm the prompt that asks whether to overwrite existing blocks.
  5. On S7-1500 CPUs, also run Download to device → Configuration for the hardware and the symbol table.
  6. Re-run the HMI runtime and confirm the I/O field no longer carries the warning glyph.

Always recompile the PLC software before the download so that the symbol table visible to the HMI matches the actual block layout. Mismatched block numbers (e.g. DB1 originally, now DB11 after auto-numbering) are a frequent cause of phantom warnings after refactoring.

Solution 3: Validate HMI Tag Address Mapping

An exclamation mark can also appear when the symbolic address of the HMI tag no longer matches the PLC program. This is common after renaming, restructuring, or refactoring a data block, and after importing tags from an external CSV.

  1. Open the HMI tag in the editor.
  2. Confirm the Connection field points to the correct PLC.
  3. Confirm the PLC tag / Address is bound to a symbolic operand that exists in the S7 program, for example "Data_block_1".Motor.Speed.
  4. Recompile the PLC software; unresolved symbols appear under PLC tags → Inconsistent.
  5. Re-link the HMI tag to the corrected symbolic name and re-download the HMI runtime.
A common silent failure occurs when an HMI tag is bound to absolute addressing (e.g. DB1.DBD4) and the DB is later edited with optimized block access. Optimized blocks no longer guarantee offsets, so the HMI reads a wrong or stale memory location. Switch to symbolic addressing (see Solution 5) before the next download.

Solution 4: Analyze the PLC Diagnostic Buffer

The S7 diagnostic buffer is the authoritative source for the reason a quality code transitioned from Good to Bad. Read the buffer via Online & Diagnostics → Diagnostics → Diagnostic Buffer in the PLC's context menu.

S7-1500 diagnostic events that map to an I/O field exclamation mark
Event ID (hex) Text Suggested Action
0x3570 PROFINET IO station failure Check device name, IP, and cabling
0x39C1 Diagnostic interrupt from module Open module diagnostics in device view
0x4302 Stop due to I/O error Inspect distributed I/O and PROFINET diagnostics
0x4542 No valid license Re-license the CPU and optional blocks
0x4570 DB not loaded Re-download the missing data block
0x35C0 Communication fault, partner not reachable Verify IP, subnet, and routing
0x3312 Substitute value active Confirm intended fallback / clear via OB100

Solution 5: Use Symbolic Instead of Absolute Addressing

Absolute addressing (for example, DB1.DBD4) survives only as long as the DB structure does not change. Symbolic addressing (for example, "Motor_DB".Speed_RPM) keeps the HMI tag bound to the correct memory location even when offsets shift. Symbolic binding also lets the TIA compiler flag inconsistent references at compile time, which prevents most warning-glyph conditions from reaching runtime.

  1. Open the HMI tag and the linked PLC tag.
  2. Replace the absolute address with the symbolic name from the PLC's global tag table or the data block's static section.
  3. Set the data block attribute Optimized block access = Enabled for new S7-1500 DBs.
  4. Recompile and download both devices.
  5. Verify the I/O field reads the expected value and the quality code is 0x00C00000.

Solution 6: Use the QualityStatus() Function in Scripts

For panels that run user-defined scripts, query the tag's quality code directly and branch on it. The QualityStatus function returns the OPC UA quality as a 32-bit integer, allowing scripted responses (logging, alarm, screen change) without relying on the visual marker.

// VBScript sample - WinCC Comfort / Advanced
Dim q
q = SmartTags("Motor_DB").QualityStatus
If (q And &H80000000) <> 0 Then
  ' Bad quality - log to alarm buffer
  HMIRuntime.Trace "Bad quality on Motor_DB: " & Hex(q) & vbCrLf
ElseIf (q And &H40000000) <> 0 Then
  ' Uncertain quality - warn operator
  HMIRuntime.Trace "Uncertain quality on Motor_DB: " & Hex(q) & vbCrLf
Else
  ' Good quality - normal operation
End If

Verification

  1. Open the runtime view of the HMI screen and confirm the I/O field no longer renders the exclamation mark.
  2. Open HMI Tags at runtime and confirm each connected tag reports quality Good (0x00C00000).
  3. In the PLC, open Online & Diagnostics and confirm no I/O access errors are recorded after the value update.
  4. Force a value change from the PLC and confirm the I/O field updates without a transient quality warning.
  5. Cycle the HMI runtime once (stop / start) to confirm the marker does not return at cold start.

Version-Specific Property Notes

Property label evolution for the I/O field quality indicator
TIA Portal Version Property Label Location Default
V15, V15.1, V16 Visualize Tag Status Properties → Miscellaneous Yes
V17 (pre-Update 8) Visualize Tag Status Properties → Miscellaneous Yes
V17 Update 8 and later Show Connection Quality Properties → Miscellaneous Yes
V18, V19, V20 Show Connection Quality Properties → Miscellaneous Yes

The behavior is identical across versions. The label change aligns with the broader Connection Quality framework introduced with TIA Portal V17, which surfaces OPC UA quality codes across all HMI controls, not just the I/O field. The framework also adds a quality-code tooltip when hovering over a control that has the option enabled. TIA Portal V18 onward extends the framework with a screen-level Connection Status indicator that summarizes the worst quality of all bound tags on the current screen.

Related Configuration: Connection Quality on Other Controls

The same Show Connection Quality property is available on bar graphs, sliders, symbolic I/O fields, trend controls, gauges, and the date/time picker. Configure it consistently across the screen so operators do not receive conflicting visual feedback. For screen-level quality summary, use the Connection Status control bound to the screen and enable its quality output.

For WinCC Unified, the I/O field is configured through the Configuring Screens (RT Unified) - IO Field documentation. Unified renders a similar quality indicator and exposes the quality through the tag's Quality property rather than through a screen-object toggle. The I/O field defaults to empty in Unified; the value is rendered based on the configured output format only when the tag's quality is Good.

Troubleshooting Matrix

Symptom → likely root cause → first action
Symptom Likely Cause First Action
Marker on every I/O field, no value updates PLC connection down Verify IP, subnet, PROFINET name on the HMI connection
Marker on one I/O field, value updates Quality code is Uncertain Inspect tag's OPC quality; check simulated/stub values
Marker on multiple fields, values stale CPU in STOP or one DB missing Read PLC diagnostic buffer, re-download blocks
Marker appears after DB edit Absolute address offset changed Switch HMI tags to symbolic addresses
Marker appears only on one PLC, intermittent Access list or security level Check HMI access rights in PLC properties
Marker clears after HMI restart, returns in 5 min Polling timeout on slow connection Increase HMI update time or move to Ethernet

FAQ

Why does the I/O field show an exclamation mark while the value still updates?

The exclamation mark is a quality-code warning, not a value error. The runtime reads the OPC UA quality stamp of the underlying tag; if the quality is anything other than Good (0x00C00000), the I/O field renders the warning glyph even when the value is still being written.

What is the difference between "Visualize Tag Status" and "Show Connection Quality"?

They are the same property. "Visualize Tag Status" was the label in TIA Portal V15 through V17 pre-Update 8. "Show Connection Quality" is the label introduced with TIA Portal V17 Update 8 and used in V18, V19, and V20 as part of the unified Connection Quality framework.

Does hiding the warning solve the underlying problem?

No. Setting the property to No only removes the visual indicator. If the cause is a missing DB, a renamed tag, or a broken connection, the HMI will still read stale data. Resolve the root cause first and re-enable the indicator as a maintenance aid.

Which TIA Portal versions are affected?

All TIA Portal versions from V15 through V20 expose this indicator on the I/O field. The behavior is identical; only the property label changes at V17 Update 8. WinCC Unified follows a different but functionally equivalent model through the tag's Quality property.

Can the warning appear on WinCC Unified panels?

Yes. WinCC Unified exposes an equivalent quality indicator on the I/O field through the tag's Quality property. The root causes (missing DBs, broken connections, unresolved symbolic addresses) are the same as in WinCC Comfort and Advanced.

Back to blog