Resolving WinCC 7.4 SP2 to S7-1200 CPU 1214C HMI Tag Visibility Failure
When a SIMATIC WinCC 7.4 SP2 server is paired with a SIMATIC S7-1200 CPU 1214C, operators frequently encounter a situation in which the S7 channel accepts the connection without generating an explicit error, yet the configured tags return quality code 0x00000001 (bad/internal error) and never populate in process screens. The PLC remains pingable, the topology is correct, and identical WinCC projects are talking successfully to S7-1500 controllers in the same subnet. The root cause is almost always the Secure HMI Communication feature in TIA Portal: WinCC 7.4 cannot consume a TLS-protected HMI session, and the channel silently refuses to bring up the connection.
This article dissects the failure mode, walks through the exact parameter changes in TIA Portal and WinCC Explorer required to bring tags online, and provides a verification procedure that prevents the issue from recurring after firmware updates or project migration.
1. Problem Details
1.1 Observed Symptoms
- SIMATIC WinCC 7.4 SP2 Update 2 is installed on the HMI server.
- CPU 1214C is running firmware V4.5.
- A communications processor (CP) module is inserted in the S7-1200 rack with firmware V3.1 and is enabled for S7 communication.
- Tags added under the SIMATIC S7-1200, S7-1500 Channel driver in WinCC Configuration Studio do not update and remain in quality code
bad. - The PLC responds to
pingfrom the WinCC server when the ping is issued against the CP module's IP address, confirming Layer 3 reachability. - No firewall rule, ACL, or port restriction is blocking TCP/102 (ISO-on-TCP RFC 1006) or TCP/443 (TLS for Secure HMI).
- Identical WinCC projects communicate correctly with multiple S7-1500 stations in the same network.
1.2 Topology Assumed
| Node | Role | Firmware / Software | IP Address (example) |
|---|---|---|---|
| WinCC Server | HMI / SCADA station | WinCC 7.4 SP2 Upd2 on Windows Server 2016 | 10.10.0.20 / 24 |
| CPU 1214C (PROFINET port 1) | PLC | Firmware V4.5 | 192.168.0.10 / 24 (engineering subnet) |
| CP 12xx (e.g. CP 1243-1) | Telecommunications / routing module | Firmware V3.1 | 10.10.0.30 / 24 (HMI subnet) |
| Switch (managed) | L2 interconnect | N/A | N/A |
2. Root Cause Analysis
2.1 The Secure HMI Communication Feature
Starting with TIA Portal V16 and S7-1200 firmware V4.4, Siemens introduced Secure HMI Communication, a TLS-encrypted variant of the S7 communication protocol designed to replace plain ISO-on-TCP between HMI panels, WinCC Runtime, and the controller. Secure HMI uses TCP/443 with mutual certificate authentication and requires the project to ship X.509 certificates from the PLC's certificate authority to every authorized HMI client.
WinCC 7.4 does not support Secure HMI Communication. The SIMATIC WinCC V7.4 system manual documents the channel SIMATIC S7-1200, S7-1500 Channel as a plain S7 protocol driver; the secure variant SIMATIC S7-1500 Channel (Secure) is delivered only with WinCC V7.5 SP2 Update 4 and later. When the PLC is configured to require a secure session, WinCC 7.4 attempts the handshake, fails, and the channel quietly disconnects. No error window is raised because the underlying WinCC Channel DLL is a legacy binary that predates the secure handshake.
2.2 Why the Channel Fails Silently
Older WinCC V7 channel implementations do not log a descriptive message when the peer requests TLS but the local side cannot provide it. The connection state machine moves from Connecting to Disconnected within a few hundred milliseconds, and the tags retain the last good value (or 0 if the project is freshly compiled). This is the diagnostic signature that distinguishes a Secure HMI mismatch from a routing or firewall failure: the latter produces a connection timeout in the order of 30-60 seconds, while the former fails almost immediately.
2.3 Quick Diagnostic Check
- Open the WinCC Explorer on the server.
- Right-click the channel and select Channel Diagnosis.
- Switch to the Connection tab.
- Note the connection state and the timestamp of the last successful cycle.
- If the connection shows Disconnected with no error code, or cycles between Disconnected and Connecting in under 1 s, Secure HMI is the most probable cause.
3. Resolution Procedure
The fix is performed on the PLC project in TIA Portal, not in WinCC. Once the Secure HMI requirement is removed, the S7-1200 falls back to classic ISO-on-TCP on TCP/102, which the WinCC 7.4 channel can consume natively.
3.1 Prerequisites
- TIA Portal V15.1 or newer installed (the project was originally built in V15.1 according to the supplier's handover).
- S7-1200 CPU 1214C project file (.ap15_1 or newer) with the security settings accessible.
- PG/PC Ethernet interface that can route to the CP module on the HMI subnet.
- WinCC Explorer running on the server with the affected project loaded in Configuration mode.
3.2 Step-by-Step: Disable Secure HMI in TIA Portal
- Open the S7-1200 project in TIA Portal.
- In the project tree, select Devices & Networks and double-click the CPU 1214C.
- Open the device view of the CPU and select the Properties pane.
- Navigate to Security > Settings in the inspector window.
- Locate the option "Permit access with PUT/GET communication from remote partner (PLC, HMI, OPC, ...) ". This option is independent of the secure HMI toggle and must remain enabled for WinCC to read process data.
- Navigate to Security > Secure HMI Communication (sometimes labelled HMI Communication > Secure depending on the TIA Portal version).
- Uncheck "Activate secure HMI Communication" for every HMI connection that points to the WinCC server.
- Compile the project (Hardware and Software, full rebuild) and download to the CPU 1214C.
- When prompted, choose Replace PLC certificate only if a new CPU is being commissioned; otherwise retain the existing certificate so that secured S7-1500 connections elsewhere in the plant are not invalidated.
3.3 Step-by-Step: Verify the WinCC Channel
- Open WinCC Explorer on the HMI server.
- Right-click the SIMATIC S7-1200, S7-1500 Channel driver in the navigation tree.
- Select System Parameters > Unit and confirm the logical device name points to the network adapter that reaches the CP module, not the engineering subnet.
- Open the Connection editor and edit the affected connection.
- In the Connection Properties dialog, set:
| Field | Value (example) | Notes |
|---|---|---|
| Connection name | PLC_LINE1 | Free text, must match tag prefix conventions |
| IP address | 10.10.0.30 | Address of the CP module, not the CPU's PROFINET port |
| Access point | S7ONLINE | Default for the S7-1200/1500 channel |
| Rack | 0 | S7-1200 is always rack 0 |
| Slot | 1 | CPU slot in the S7-1200 rack |
| Connection type | TCP/IP | Do not select ISO-on-TCP for a CP-fronted route |
| Connection mode | Active | WinCC is the connection owner |
| Partner (end point) | CPU 1214C | Optional label |
- Click Test Connection. A successful test returns "Connection established" with a round-trip time under 30 ms on a local subnet.
- Save the configuration and activate the runtime via the WinCC Explorer toolbar.
3.4 Step-by-Step: Remove Stray TIA-Side Connection Definitions
The supplier's project contained a HMI connection object configured in TIA Portal with WinCC Advanced as the partner. Because the production runtime is WinCC 7.4 (not WinCC Advanced), this object must be removed to avoid build warnings and to prevent the compiler from re-enabling Secure HMI on the next download.
- In TIA Portal, open Devices & Networks > Networks view.
- Select the Connections table at the bottom of the editor.
- Delete every HMI connection whose partner points to a WinCC Advanced RT or a non-existent HMI station.
- Recompile the project. The download dialog should no longer show a Secure HMI certificate section.
4. Verifying the Fix
4.1 Channel-Level Verification
- Open WinCC Explorer > Tools > Channel Diagnosis.
- Switch to the Connection view. The affected connection should show Connected (OK) with a continuously incrementing Last successful cycle timestamp.
- Switch to the Tag view. Internal tags derived from the CPU 1214C DBs should report quality code
0xC0(good) and reflect the live process values.
4.2 Process-Level Verification
- Start Graphics Runtime and open a process screen containing at least three tags from the CPU 1214C.
- Toggle a known bit in the PLC (e.g.
DB1.DBX0.0) using a watch table in TIA Portal. - Confirm the corresponding WinCC display element updates within 1 s (default WinCC acquisition cycle is 1 s; tag-specific cycle times override this).
- Force a connection interruption by disabling the CP module's port on the switch. The WinCC channel should transition to Disconnected within 2 s and to Connecting immediately when the port is re-enabled. This confirms the channel is not in a sticky failure state.
4.3 Diagnostic Tag Reference
| Internal Tag | Meaning | Expected After Fix |
|---|---|---|
@S7_1200_1500_ConnectionStatus |
Per-connection state | 1 (Connected) |
@S7_1200_1500_LastError |
Last error code | 0 (no error) |
@S7_1200_1500_LastCycleTime |
Round-trip in ms | < 30 ms on local subnet |
@S7_1200_1500_QualityCode |
Aggregate tag quality | 0xC0 (good) or 0xC4 (good, substituted) |
5. Connection Parameter Reference
5.1 WinCC 7.4 Channel Comparison
| Driver | WinCC Version | Protocol | Port | Secure HMI | Recommended for S7-1200 |
|---|---|---|---|---|---|
| SIMATIC S7-1200, S7-1500 Channel | V7.0 onwards | ISO-on-TCP (RFC 1006) | TCP/102 | No | Yes, for WinCC < V7.5 SP2 Upd4 |
| SIMATIC S7-1500 Channel (Secure) | V7.5 SP2 Upd4 onwards | TLS over TCP | TCP/443 | Yes | Yes, for WinCC >= V7.5 SP2 Upd4 |
| OPC UA WinCC Channel | V7.4 onwards | OPC UA over TCP | TCP/4840 (server) / TCP/4841 (discovery) | Optional | Yes, when S7-1200 OPC UA server is enabled |
| MPI/DP Channel | V7.0 onwards | MPI / PROFIBUS DP | N/A | No | No — S7-1200 has no PROFIBUS interface |
5.2 S7-1200 / S7-1500 Channel Parameter Mapping
| WinCC Field | Logical Equivalent in TIA Portal | Default for S7-1200 |
|---|---|---|
| Rack | Hardware catalog > Rack number | 0 |
| Slot | CPU slot in the rack configuration | 1 (S7-1200) / 1 (S7-1500) |
| IP address | PROFINET interface > Ethernet addresses | Use the CP address when routing through a CP |
| Access point | Set PG/PC interface > S7ONLINE | S7ONLINE |
| Connection mode | HMI connection > Active / Passive establishment | Active for WinCC |
| PUT/GET | CPU properties > Security > Permit PUT/GET | Enabled (mandatory for WinCC S7 channel) |
5.3 S7-1200 CPU 1214C Communication Specifications (FW 4.5)
| Parameter | Value | Source / Note |
|---|---|---|
| Number of PROFINET ports | 2 (switch, integrated) | S7-1200 system manual |
| Number of CP / CM modules | Up to 3 (left of CPU) | Depends on signal module count |
| Maximum S7 connections (PUT/GET + HMI) | 8 (CPU 1214C FW 4.x) | Shared with OPC UA, MODBUS, TCP, ISO-on-TCP |
| Maximum OPC UA server sessions | 5 (FW 4.4 onwards, optional add-on) | License required for > 5 sessions |
| Active Secure HMI sessions | Up to 8 (FW 4.5) | Subject to overall connection count |
| Web server connections | Up to 30 (HTTP) / 5 (HTTPS) | Independent of S7 channel count |
| Data record routing via CP | Yes, when CP supports S7 routing | CP 1243-1 supports S7 routing FW 3.0+ |
Detailed electrical, mechanical, and communication specifications for the CPU 1214C are published in the S7-1200 Programmable Controller system manual available on Siemens Industry Online Support. The communication subsystem is described in the section Communications CPU 1214C in the TIA Portal manual collection, mirrored at docs.tia.siemens.cloud — Communications CPU 1214C.
6. CP Module Configuration (Routing Case)
When the WinCC server must reach the CPU 1214C through a CP module, the CP becomes the network termination for ISO-on-TCP. The CP forwards S7 messages to the CPU via the backplane bus. Two configuration points must be correct:
6.1 S7 Routing Enable on the CP
- In TIA Portal, open the device view of the CP module.
- Open Properties > General > S7 Routing.
- Check "Use S7 routing".
- Compile and download the CP configuration.
6.2 IP Routing Table
The CP must know which subnet the CPU's PROFINET port lives on so that the S7-1500 or WinCC client on the HMI subnet can reach the engineering subnet through it. The CP automatically populates this table when the S7 routing flag is enabled and the S7-1200 station is on a different subnet. The table is visible under Properties > General > IP Routing.
7. Firmware Compatibility Matrix
| Component | Tested Firmware | Notes |
|---|---|---|
| CPU 1214C | V4.5 | Secure HMI feature introduced in V4.4; default is off on fresh projects but on on templates cloned from V4.6+ |
| CP 1243-1 (typical CP card) | V3.1 | Supports S7 routing and IP routing. No Secure HMI proxy; routes plain ISO-on-TCP only |
| TIA Portal project | V15.1 / V16 / V17 | Secure HMI toggle location is consistent from V16 onwards |
| WinCC V7.4 SP2 Upd2 | N/A | Does not support Secure HMI; will silently fail TLS handshake |
| WinCC V7.5 SP2 Upd4 | N/A | First V7.x release with Secure HMI support |
| WinCC V7.5 SP2 Upd5 and later | N/A | Recommended baseline if Secure HMI is mandatory |
8. Field-Proven Caveats
8.1 Pingability Is Not a Communication Indicator
ICMP echo and ISO-on-TCP share no protocol logic. A PLC that answers ping can still refuse the S7 connection. Always validate with the WinCC Channel Diagnosis tool, never with ping alone.
8.2 The "It Worked Before" Trap
Cloned TIA Portal projects are the most common source of inadvertent Secure HMI activation. A template that was originally built for an S7-1500 panel with WinCC 7.5 often has Secure HMI enabled by default. When the same project is later pointed at a WinCC 7.4 server without disabling the flag, the silent failure appears immediately. Always diff the Security > Secure HMI Communication block between working and non-working projects before downloading.
8.3 Routing Conflicts
The original incident also reported that the WinCC connection pointed to the wrong network interface (the engineering subnet instead of the HMI subnet). The Channel Diagnosis tool will surface this as connection state Disconnected with a S7 error code in the 0x8000 - 0x80FF range. The fix is to re-point the Logical device name in System Parameters > Unit to the adapter that has the HMI subnet IP, and to re-test.
8.4 PUT/GET Access Is a Separate Flag
Disabling Secure HMI does not automatically re-enable PUT/GET access. Both flags must be set correctly:
- Activate secure HMI Communication = off (resolves the silent disconnect).
- Permit access with PUT/GET communication from remote partner = on (otherwise the S7-1200 rejects the read request even over a plain session).
8.5 Cross-Subnet Routing
When the CP module and the CPU are on different subnets, the CP must perform IP routing in addition to S7 routing. The WinCC server must have a route to the CPU's PROFINET subnet via the CP's IP. Test the route with a non-S7 tool such as telnet 192.168.0.10 102 from the WinCC server; an empty banner confirms that the TCP/102 endpoint is reachable end-to-end.
8.6 WinCC Project Migration Pitfall
Migrating a WinCC V7.3 project that pointed to a non-secure S7-1200 into a WinCC V7.4 project retains the legacy SIMATIC S7-300/400 Channel on some installations. That legacy channel is incompatible with S7-1200 firmware V4.x. Re-bind every connection to the SIMATIC S7-1200, S7-1500 Channel driver before commissioning.
9. Channel Diagnosis Field Reference
| Error Code (hex) | Meaning | Likely Cause | Action |
|---|---|---|---|
| 0x00000000 | No error | — | — |
| 0x00000001 | Internal channel error | Secure HMI mismatch, certificate missing | Disable Secure HMI in TIA Portal |
| 0x8001 | Connection aborted by partner | PLC CPU in STOP, CP firewall blocking | Verify CPU is in RUN, check CP firewall rules |
| 0x8002 | Partner not reachable | Wrong IP, wrong interface, switch port down | Validate telnet to TCP/102 |
| 0x800A | Partner requires secure HMI | Secure HMI enabled in TIA, WinCC < 7.5 SP2 Upd4 | Disable Secure HMI or upgrade WinCC |
| 0x80C0 | Tag address out of range | DB number or offset invalid in WinCC tag editor | Re-check DB / offset against TIA symbol table |
| 0x80C4 | Access to protected area | Know-how protection active on the block | Provide the password or refactor to an unprotected block |
| 0x80D0 | PUT/GET disabled on the CPU | Security setting not enabled | Enable Permit PUT/GET in CPU security |
10. When to Upgrade WinCC Instead of Disabling Secure HMI
Disable Secure HMI only when WinCC 7.4 is the runtime of record. If the plant is moving to a newer WinCC version or to WinCC Unified, the recommended pattern is:
- Upgrade WinCC to V7.5 SP2 Update 5 (or the current supported update at the time of work).
- Recompile the WinCC project against the new channel SIMATIC S7-1500 Channel (Secure).
- Re-enable Activate secure HMI Communication in TIA Portal.
- Distribute the new PLC certificate to the WinCC server certificate store.
- Recommission the runtime and validate tag quality codes.
Disabling Secure HMI is a pragmatic step for legacy systems that cannot be upgraded. For greenfield installations or major retrofits, the secure channel is preferred because it eliminates the legacy ISO-on-TCP attack surface and simplifies compliance with IEC 62443 zone & conduit requirements.
11. Quick-Reference Checklist
- [ ] CPU 1214C firmware V4.5 reachable on the engineering subnet.
- [ ] CP module firmware V3.1 with S7 routing enabled.
- [ ] TIA Portal: Security > Secure HMI Communication disabled for every WinCC connection.
- [ ] TIA Portal: Permit PUT/GET communication from remote partner enabled.
- [ ] TIA Portal: stray HMI connection objects pointing to WinCC Advanced RT removed.
- [ ] WinCC 7.4 SP2 uses the SIMATIC S7-1200, S7-1500 Channel driver (not the secure variant).
- [ ] WinCC connection points to the CP module IP, not the CPU's PROFINET port.
- [ ] Logical device name in System Parameters > Unit matches the HMI subnet adapter.
- [ ] CP firewall rule allows TCP/102 from the WinCC server IP.
- [ ]
telnet <CP IP> 102from the WinCC server returns an empty banner. - [ ] Channel Diagnosis shows Connected (OK) with a fresh timestamp.
- [ ] Process screen updates within one acquisition cycle after a forced bit toggle.
12. Frequently Asked Questions
Why does WinCC 7.4 see the S7-1200 tags in the tag editor but show them as bad in runtime?
The WinCC tag editor imports the DB layout offline from the TIA project, so the tag list always populates even when the channel cannot establish a session. At runtime the channel DLL attempts the secure handshake, fails, and the tags report quality code 0x00000001. The fix is to disable Secure HMI Communication in the CPU's security settings and recompile the TIA project.
Which WinCC version is the first to support Secure HMI Communication?
SIMATIC WinCC V7.5 SP2 Update 4. Earlier versions, including V7.4 SP2 Update 2, do not support the TLS variant. If Secure HMI must remain enabled, upgrade WinCC to V7.5 SP2 Update 5 (or the current service pack) and re-bind the connection to the SIMATIC S7-1500 Channel (Secure) driver.
Can I keep Secure HMI enabled on some HMI connections and disabled on others?
Yes. In TIA Portal, the Secure HMI Communication flag is per HMI connection object, not per CPU. You can run a WinCC 7.5 SP2 Upd4+ server with Secure HMI enabled and a legacy WinCC 7.4 server against the same CPU with Secure HMI disabled, provided the CPU has enough free S7 connection resources. The CPU 1214C supports up to 8 simultaneous S7 connections on firmware 4.5.
Does disabling Secure HMI Communication weaken the PLC's security?
It removes the TLS protection on the HMI channel only. All other security controls (access level, know-how protection, CPU password, CP firewall, OPC UA security policies) remain active. For a defense-in-depth posture, treat the HMI subnet as a trusted conduit and rely on the CP firewall plus network segmentation to compensate for the absence of TLS on the HMI channel.
How do I confirm the connection target is the CP module and not the CPU PROFINET port?
Open WinCC Explorer > right-click the connection > Properties. The IP Address field must contain the CP module's IP, not the CPU's. Validate with telnet <CP IP> 102 from the WinCC server; an empty terminal confirms the ISO-on-TCP endpoint is reachable. If the connection is pointed at the CPU and the CPU and CP are on different subnets, the connection will fail with error code 0x8002 (partner not reachable) regardless of the Secure HMI setting.