Fixing WinCC Unified V17 Non-Integrated Connection PLC

David Krause14 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

Fixing WinCC Unified V17 Non-Integrated Connection PLC Certificate Errors

When a WinCC Unified V17 Runtime client is configured against a SIMATIC PLC that lives in a separate TIA Portal project (a so-called non-integrated connection), the HMI often refuses to come online and surfaces a TLS/certificate warning. The failure is not a wiring, IP, or PG/PC interface problem: it is the TIA Portal V17 security model refusing to trust the remote controller. This reference walks through the architecture, the root cause, the step-by-step certificate import, PLCSIM Advanced V4.0 specifics, the device-proxy fallback, and a verification matrix that takes a non-integrated Unified station from "red X" to green.

Affected products: WinCC Unified V17 (ES and PC RT), TIA Portal V17, SIMATIC S7-1500 / ET 200SP CPUs (FW 2.9+), PLCSIM Advanced V4.0. Earlier Unified V16 builds did not enforce the same certificate chain; V18 keeps the V17 trust model intact.

1. Architecture: Integrated vs Non-Integrated Connection

Understanding the difference between an integrated and a non-integrated connection is the prerequisite for understanding the certificate error. In TIA Portal, the type of connection is selected when you drag a PLC onto an HMI device or when you create an HMI connection node manually under Connections > HMI connections.

Property Integrated Connection Non-Integrated Connection
Project layout PLC and HMI devices live in the same TIA Portal project (.ap17) HMI is in its own project; PLC is compiled/exported externally Configuration is stored once and compiled together
Connection data ownership TIA Portal embeds the PLC IP, rack, slot, and certificate reference inside the HMI project The HMI engineer must type the PLC IP, rack, and slot by hand Auto-generated from project tree
Certificate handling (V17+) TIA Portal trusts the local PLC automatically because both objects are signed by the same project fingerprint PLC ships a self-signed X.509 certificate that the Unified PC Runtime does not yet know about Certificate exchange is automatic
Typical use Single-engineer projects, factory acceptance tests, OEMs that ship one combined archive Multi-engineer workflows, brownfield retrofits, OT/IT hand-offs, machine builders integrating third-party PLCs
Compile output Single HMI compilation unit with the trusted-cert bundle Two independent compilation units that must exchange trust material manually

Non-integrated is not "unsupported"; it is a legitimate topology. The catch is that the security model in TIA Portal V17 onward no longer accepts the PLC's certificate silently. The Unified Runtime evaluates the certificate chain on every connection attempt, and if the PLC's issuer is not in its trust store, the connection is rejected before any tag read can occur.

2. Symptom Matrix: What the User Actually Sees

Depending on the build of WinCC Unified PC RT (V17.0, V17.0.1, V17 Update 3, or V17 Update 5) and whether the diagnostic channel is enabled, the failure surfaces in several different ways. The table below maps the visible symptom to the underlying TIA Portal state.

Symptom reported by operator / engineer Unified log location Likely underlying state
"Connection failed: certificate not trusted" C:\ProgramData\Siemens\Automation\Logfiles\WinCCUnified\RT\Connection.log PLC cert absent from Unified trust store
"HMI tag shows bad quality, value = 0xFF" Tag logging / diagnostics view TLS handshake failed silently; data block returned without values
"Runtime: certificate error" red banner across the screen WinCC Unified RT system event list Self-signed cert from PLC was rejected at startup
Connection works for a few seconds, then drops RT trace: ConnectionStateMachine PLC cert expired, or cert CN does not match the IP/FQDN configured in the HMI connection
Works locally, fails across VLAN/router Wireshark / tcpdump on TCP/102 OPC UA / S7comm TLS handshake, certificate not in the RT trust store
PG/PC interface set correctly, still fails TIA Portal > Online > Accessible nodes TIA Portal itself is online; only the RT instance is missing the trust
Common red herring: Engineers often suspect the PG/PC interface, the S7ONLINE access point, or the PLC's IP routing. In a non-integrated scenario with a cert error, those layers are all healthy. The failure is at the X.509 trust evaluation that sits on top of the ISO-on-TCP / OPC UA transport.

3. Root Cause: TIA Portal V17 Security Model

Starting with TIA Portal V17, the connection between an HMI panel (or Unified PC RT) and a SIMATIC controller is protected by mutual TLS. Each side presents an X.509 certificate, and each side must trust the other side's issuer. The protection is enabled by default and is enforced by the Secure PG/PC and HMI Communication project property, which lives in Project tree > [CPU] > Properties > Protection & Security > Connection mechanisms.

For an integrated connection, TIA Portal signs both the HMI configuration and the PLC configuration with the same project fingerprint during compile, so the trust is implicit. For a non-integrated connection, the two fingerprints are independent. The PLC keeps its own self-signed certificate (or a CA-signed certificate if the customer has rolled out PKI), and the Unified Runtime has never seen that certificate before. The connection is therefore rejected with an SSL_ERROR_HANDSHAKE translated into the Unified-specific error string "certificate is not trusted".

TIA Project A S7-1500 CPU self-signed cert C1 TIA Project B Unified PC RT trust store: { } TLS Handshake cert rejected 0x80131500 Mutual TLS: PLC presents C1, RT has no trusted issuer

Siemens documents this exact scenario in entry ID 109799540 in the Siemens Industry Online Support. The KB is the canonical procedure for importing a controller's certificate into the Unified Runtime trust store. The remainder of this article implements that procedure end-to-end.

4. Prerequisites

Before touching certificates, confirm that the lower layers of the stack are working. The following checks eliminate false positives.

  1. PG/PC interface on the engineering station: set to S7ONLINE -> TCP/IP -> [your NIC] in Control Panel > Set PG/PC Interface. Verify with Online > Accessible nodes: the PLC must appear with its IP and rack/slot.
  2. Unified Runtime target must be reachable from the engineering station. Confirm with ping and telnet <plc-ip> 102; ISO-on-TCP uses TCP port 102.
  3. PLCSIM Advanced V4.0 instance must be running in Accessible nodes with a softbus license seat. Set PLCSIM Advanced Virtual Ethernet Adapter as the PG/PC interface when the simulator is local, or as a routable IP if the simulator is on a remote workstation.
  4. Unified PC RT V17 must be installed, and the project must be loaded to the RT at least once with RT Loader so that the trust store directory exists on disk.
  5. Administrative rights on the PC running the RT, because the certificate store lives under %ProgramData%\Siemens\Automation\CertStore\Unified\RT.
If telnet <plc-ip> 102 fails, the problem is below the TLS layer. Stop, fix the network or PG/PC interface, then re-test. Importing a certificate into a system that cannot even open TCP/102 will not change anything.

5. Step-by-Step Solution: Import the PLC Certificate

The procedure is identical whether the remote PLC is real, a PLCSIM Advanced instance, or a soft controller. The only variable is where you read the certificate from.

5.1 Export the certificate from the PLC

  1. Open the PLC project in TIA Portal V17.
  2. Right-click the CPU in the project tree, choose Properties > Protection & Security > Certificate manager.
  3. Select the entry whose Subject matches the CPU's serial number or device name; this is the Device certificate (often labeled S7-1500 with role Controller).
  4. Click Export and save the file as PLC_Controller.cer (DER format). Note the file path; you will copy it to the RT machine.

For PLCSIM Advanced V4.0, the certificate is generated the first time the simulated CPU is started. If you skipped the certificate export wizard, the file lives at %ProgramData%\Siemens\Automation\PLCSIM\Certificates\<InstanceID>\controller.cer.

5.2 Transfer the certificate to the RT machine

Use a USB stick, a file share, or a WinSCP session. Do not paste the certificate through a clipboard encoder: a single corrupted byte turns the trust chain invalid.

5.3 Import into the Unified Runtime trust store

There are two accepted methods. Pick the one that matches your workflow.

Method A — HMI Certificate Manager (recommended for most engineers).

  1. On the RT machine, open Start > Siemens Automation > WinCC Unified > Certificate Manager.
  2. Switch to the Trusted devices tab.
  3. Click Add, browse to PLC_Controller.cer, confirm the SHA-256 fingerprint matches what the CPU displays.
  4. Restart the Unified Runtime service: net stop "Siemens WinCC Unified RT" && net start "Siemens WinCC Unified RT".

Method B — Direct file placement (scriptable, used in OEM builds).

  1. Copy PLC_Controller.cer to C:\ProgramData\Siemens\Automation\CertStore\Unified\RT\Trusted\.
  2. If the directory does not exist, create it.
  3. Recreate the trust index by running Siemens.Automation.CertStoreRefresh.exe (found in the Unified RT installation directory), or restart the RT service as in Method A.
Filename gotcha: Unified RT expects the file extension .cer or .crt; PEM-encoded files with the .pem extension are silently ignored. Re-export if the importer reports "no certificate found".

5.4 Verify in TIA Portal

  1. Back on the engineering station, open the Unified project.
  2. Select Connections > [your HMI connection] > Properties > Connection mechanisms.
  3. The status of the partner should now read Certificate is trusted; the previous red icon turns green.
  4. Compile the HMI and download to the Unified RT again so the new connection metadata is on the target.

6. PLCSIM Advanced V4.0: Specific Considerations

PLCSIM Advanced is the most common environment for engineers who first hit this error, because a non-integrated connection is often built up specifically to test the scenario where the PLC project and the HMI project live on different TIA Portal instances. Two configuration points are easy to miss.

Setting Where Default Recommended for non-integrated test
Use virtual Ethernet adapter PLCSIM Advanced instance settings Disabled Enabled, with an IP inside the same subnet as the RT machine's loopback
Enable secure communication PLCSIM Advanced instance > Security tab Enabled (V4.0+) Enabled, certificate auto-generated on first start
Runtime firewall rules Windows Defender Firewall on RT machine Block inbound TCP/102 from non-domain networks Add a rule for the PLCSIM instance IP
Local time on RT and PLCSIM host Windows date/time Real-time clock Synchronized — clock skew > 5 min invalidates the cert validity window

PLCSIM Advanced V4.0 added an explicit Export certificate for external HMI button on the instance's ribbon. If you use it, the resulting file already matches the format expected by the Unified trust store and can be dropped directly into CertStore\Unified\RT\Trusted without re-export from TIA Portal.

7. The Device-Proxy Fallback

When an engineer cannot solve the certificate import in a reasonable time, the most common workaround reported in the field is to convert the non-integrated HMI connection into an integrated one through a device proxy. A device proxy is a TIA Portal object that embeds a remote PLC into the local project. Behind the scenes, the proxy carries the remote PLC's certificate, and the resulting HMI connection is treated as integrated by the compiler.

  1. In the HMI project's TIA Portal, right-click Devices & networks > Add new device > PLC > SIMATIC S7-1500 > Device proxy.
  2. Point the proxy at the remote project's TIA file (a TIA Portal export package, file extension .zip).
  3. Drag a connection from the HMI to the proxied PLC. The connection is now integrated from the compiler's point of view, and the certificate trust is automatic.
  4. Compile and download. Connection comes online.
Trade-off: the device-proxy path is fast but couples the HMI project to the PLC's export package. Every PLC change requires re-exporting the package and re-importing the proxy. For one-off commissioning it is fine; for fleet rollouts of 50+ machines it is unsustainable, and the direct certificate import is the right answer.

8. Verification Procedure

After the import, run the following checks in order. Each one is a gate; if it fails, fix it before moving on.

  1. Service health: Get-Service "Siemens WinCC Unified RT" must return Running.
  2. Trust-store presence: dir "C:\ProgramData\Siemens\Automation\CertStore\Unified\RT\Trusted\PLC_Controller.cer" must show the file with the expected byte count.
  3. Connection status: in the Unified RT diagnostics view, the connection state transitions from Not connected (certificate error) to Establishing to Connected within five seconds.
  4. Tag read: force a value at the PLC (e.g. MW0 := 1234 in the PLCSIM Advanced watch table) and read the corresponding HMI tag in the diagnostics view. The value must update within 1 s.
  5. Log scan: tail the Connection.log and confirm there are no 0x80131500 or SEC_E_UNTRUSTED_ROOT entries for the connection in question.
  6. Survive restart: reboot the RT machine. The connection must re-establish automatically without operator intervention. This confirms the trust is persisted, not just cached in memory.

9. Troubleshooting Matrix

Symptom Probable cause Fix
"No certificate found" in Certificate Manager File is PEM, wrong extension, or 0 bytes Re-export from TIA Portal as DER, ensure .cer
Cert imported, connection still fails RT service not restarted net stop/start "Siemens WinCC Unified RT"
Connection works for 1 hour, then drops PLC cert is short-lived (1 h) test cert Generate a long-lived cert in the CPU properties
Works in lab, fails on site Clock skew between RT and PLC Configure NTP, keep skew < 1 min
Cert fingerprint mismatch warning Different CPU than the one exported Re-export the certificate from the actual CPU
Connection drops when the engineering station closes TIA TIA Portal held the session; RT is not the issue Open the HMI connection in TIA and click "Update partner"
Certificate manager refuses to add a CA-signed cert Unified RT expects a device cert, not a CA chain Import the full chain in CertStore\Unified\RT\Issuers instead
Multiple PLCs from different vendors — cert chaos Per-PLC trust list not centralized Roll out a Siemens-signed CA via Certificate authority project property

10. Long-Term Best Practice: Roll Out a Project-Specific CA

For organizations that run many non-integrated connections, importing one certificate per PLC does not scale. TIA Portal V17 onward supports a Certificate Authority project property where the engineer generates a project-wide CA, signs every CPU and every HMI with that CA, and the Unified Runtime only has to trust the CA once. The flow is:

  1. Open the PLC project, Properties > Protection & Security > Certificate authority.
  2. Click Create CA; provide a name and validity (recommended: 5 years).
  3. Export the CA's public certificate (ProjectCA.cer).
  4. Import ProjectCA.cer into the Unified RT trust store, into the Issuers folder rather than the Trusted devices folder, so any CPU signed by this CA is automatically trusted.
  5. Repeat for every PLC. No further per-CPU import is needed.

This setup survives CPU firmware updates as long as the CPU is re-signed with the same CA, which happens automatically if the engineer keeps Auto-update device certificates enabled.

11. Field-Proven Caveats

  • Antivirus exclusion. Some endpoint protection suites quarantine CertStoreRefresh.exe as a "credential manager". Add the entire C:\ProgramData\Siemens\Automation tree to the AV exclusion list on the RT machine.
  • Domain vs. workgroup. If the RT machine is in a workgroup and the PLC is in a domain, certificate validation by the local policy still works as long as the certificates are X.509 v3; the problem is with NTLM/Kerberos, not with X.509. The two should not be conflated.
  • CPU firmware 2.9 boundary. S7-1500 CPUs older than firmware 2.9 do not support the V17 security model. Upgrade firmware or fall back to V16 RT for those CPUs.
  • Unified RT upgrade in place. When you upgrade Unified RT from V17.0 to V17 Update 5, the trust store is preserved, but the index is rebuilt on first start. Plan for a 30-60 s boot delay during that rebuild.
  • Cloud-bridged connections. If the PLC is reached through a Siemens Industrial Edge or a Teamcenter bridge, the bridge must be added to the trust store as a forwarding proxy, and its certificate must include the Subject Alternative Name matching the bridged PLC's IP.

12. Standards and References

Two ISO/IEC documents anchor the design decisions above and are worth keeping in the project folder:

  • IEC 62443-3-3 — System security requirements and security levels, which is what the V17 certificate model implements in practice.
  • RFC 5246 / RFC 8446 — TLS 1.2 and TLS 1.3 specifications; Unified PC RT negotiates TLS 1.2 with mutual authentication, so the PLC cert must include the id-kp-clientAuth extended-key-usage flag.

Do non-integrated WinCC Unified V17 connections work at all, or is integrated the only option?

Yes, non-integrated connections are fully supported. TIA Portal V17 added mandatory certificate trust for the Unified Runtime, so the PLC certificate must be imported into the Unified PC Runtime trust store. Once the certificate is trusted, the non-integrated connection behaves identically to an integrated one in runtime.

Where exactly do I put the exported PLC certificate on the Unified Runtime machine?

Copy the DER-encoded .cer file to C:\ProgramData\Siemens\Automation\CertStore\Unified\RT\Trusted\, then restart the Siemens WinCC Unified RT service. Alternatively, use the WinCC Unified Certificate Manager > Trusted devices > Add dialog, which writes to the same location.

What is the Siemens KB article that covers this issue?

Entry ID 109799540 in the Siemens Industry Online Support describes the certificate import workflow for Unified V17 with the specific paths and screenshots for the certificate manager.

Does PLCSIM Advanced V4.0 also need a certificate import?

Yes. PLCSIM Advanced V4.0 enforces the same mutual-TLS model as a physical S7-1500. Export the certificate from the PLCSIM Advanced instance (or from the TIA Portal project that owns the simulated CPU) and import it into the Unified Runtime trust store using the procedure above.

Can I bypass the certificate check to test quickly?

You can disable Secure PG/PC and HMI Communication in the CPU's properties under Protection & Security > Connection mechanisms, which downgrades the connection to legacy plain S7comm. This is acceptable for a bench test but must be re-enabled before production. For a permanent solution, trust the PLC certificate instead of disabling security.

Why does a device proxy make the connection work without an import?

A device proxy embeds the remote PLC into the HMI project, so the compiler treats the HMI-to-PLC link as integrated. The certificate trust is then implicit because both sides share the same project fingerprint. The trade-off is that every PLC change forces a proxy re-import.

Back to blog