S7-1500 OPC UA Error 16#B080_C400: Enable Client Interface

David Krause14 min read
OPC / OPC UASiemensTroubleshooting
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

S7-1500 OPC UA Error 16#B080_C400 (Simatic_ClientNotEnabled): Activating the Client Interface

An S7-1500 acting as an OPC UA client returns STATUS = 16#8601 with sub-status 16#B080_C400 on SFB "OPC_UA_Connect" when the OPC UA client runtime has not been enabled in the CPU configuration. The same symptom appears when an S7-1500 tries to reach an S7-1200 OPC UA server, even though third-party OPC UA clients (UaExpert, etc.) and the TIA Portal OPC UA client wizard can still reach the server. This reference isolates the failure to a single configuration bit in TIA Portal, lays out the hardware and firmware prerequisites, and documents every related sub-status value the OPC_UA_ConnectStatus output can deliver.

1. Problem Statement

Symptom reported on an S7-1500 user block calling SFB OPC_UA_Connect:

  • STATUS = 16#8601 — "Error during connect (SFB 'OPC_UA_Connect')"
  • OPC_UA_ConnectStatus = 16#B080_C400 — Simatic_ClientNotEnabled
  • ERROR = TRUE, DONE = FALSE, BUSY = FALSE

The OPC UA server (an S7-1200 in the typical reference topology) is reachable from a generic OPC UA client and from the TIA Portal client wizard, so the network path, server certificate, and TCP/4840 endpoint are known to be valid. The failure is on the S7-1500 client side, not on the server.

Diagnostic tip: Press F1 in TIA Portal while the block instance is selected. The information system of every SFB in the OPC_UA_* family includes a status/sub-status code map. The error string Simatic_ClientNotEnabled in the sub-status identifies the client-side configuration problem before any TCP packet leaves the CPU.

2. OPC UA Status Code Architecture

The OPC UA client runtime on S7-1500 reports failures through two parallel outputs on every SFB in the OPC_UA family:

Output Width Encoding Purpose
STATUS WORD S7-style status word (16#0001, 16#8601, 16#8602, …) Coarse result: success / connect error / runtime error / read error / write error.
OPC_UA_ConnectStatus / OPC_UA_NamespaceStatus / … DWORD Two 16-bit halves: SpaceId (high word) + SubCode (low word) Detailed OPC UA standard or Siemens-specific reason code.

When the high word is 16#B080, the sub-code is a Siemens (SIMATIC) extension rather than an OPC UA standard code. The convention B080_xxxx identifies a vendor-specific namespace; OPC Foundation standard codes use values defined in OPC 10000-6 Part 6: Mappings — OPC UA Connection Protocol.

Common high-level STATUS values

STATUS (hex) Meaning Typical next step
16#0001 Job completed without error None
16#7000 No job active (idle) None
16#8601 Error during OPC_UA_Connect Inspect OPC_UA_ConnectStatus
16#8602 Error during OPC_UA_NamespaceGetIndexList Inspect OPC_UA_NamespaceStatus
16#8603 Error during OPC_UA_ReadList Inspect OPC_UA_ReadListStatus
16#8604 Error during OPC_UA_WriteList Inspect OPC_UA_WriteListStatus
16#8605 Error during OPC_UA_MethodCall Inspect OPC_UA_MethodCallStatus
16#80C4 Cryptographic / certificate error Check trust list and CPU time

3. Hardware, Firmware and Software Prerequisites

Before attempting to enable the client interface, confirm the S7-1500 and S7-1200 involved are capable of running OPC UA and that the project is on a TIA Portal version that exposes the configuration UI.

3.1 S7-1500 client-side prerequisites

CPU family Minimum firmware OPC UA role Required license
S7-1500 (standard) V2.0 / V2.1 OPC UA client + server None for client; runtime "SIMATIC OPC UA S7-1500" for server
S7-1500 (ET 200SP CPU) V2.5 OPC UA client + server Same as above
S7-1500 Software Controller V21.9 (WinCC / S7-1500 SWC) OPC UA client + server Same as above
S7-1500R/H (redundant) V2.6+ OPC UA client Server license per redundant CPU
Confirm the exact firmware level with Siemens Industry Online Support entry "Which firmware versions support OPC UA on the S7-1500?" — availability differs between CPU order numbers (6ES751x-xxx02-0AB0 vs. -xxx03-0AB0). A CPU older than the minimum will not expose the OPC UA property pages at all.

3.2 S7-1200 server-side prerequisites

CPU Minimum firmware OPC UA server Notes
S7-1200 V4 (6ES721x-1xxx-xxx4) V4.2 Yes Basic server with optimization of data blocks required.
S7-1200 V4 V4.4 Yes (extended) Method calls, alarm conditions, full security.
S7-1200 G2 V1.0 Yes Built-in, no extra runtime license.

3.3 TIA Portal version

The OPC UA client configuration UI under CPU properties > OPC UA > Client requires TIA Portal V14 SP1 Update 4 or higher. Use the version that matches the S7-1500 firmware generation: V15.1 / V16 / V17 / V18 are appropriate depending on the latest firmware installed on the controller. Mixing TIA Portal versions across project, controller firmware, and HMI can suppress the OPC UA pages on the client CPU even though the firmware supports OPC UA.

4. Root Cause: Client Interface Disabled in CPU Configuration

By default, the S7-1500 ships with the OPC UA client runtime disabled. The TIA Portal project that compiles the CPU configuration contains an OPC UA property group with a single, decisive check-box: "Activate OPC UA client" (German: OPC-UA-Client aktivieren). When the box is unchecked, the OPC UA client engine is not loaded into the CPU firmware image. The SFB call still compiles, the SFB still returns a structured status — but every OPC_UA_Connect request is rejected before the first TCP SYN is sent, because the OPC UA client stack is simply not present at runtime.

This is by design: OPC UA carries licensing terms that Siemens makes explicit through runtime licenses on the server side and through project-side configuration on the client side. Leaving the client disabled by default also keeps the attack surface minimal when an automation cell does not actually require OPC UA client services.

The two parallel diagnostics — a successful UaExpert connection and a successful TIA Portal client-wizard connection — confirm the server is healthy. The S7-1500 connection failure is therefore purely a configuration issue on the client side.

5. Solution: Activating the OPC UA Client in TIA Portal

Activate the OPC UA client interface and recompile the CPU configuration. The procedure is the same for every S7-1500 project that contains an OPC UA client block.

  1. In the TIA Portal project tree, expand Devices & networks and select the S7-1500 CPU that hosts the SFB OPC_UA_Connect instance.
  2. Open Properties > OPC UA > Client. (Older TIA Portal versions place the page under Properties > OPC UA > Client server interface; the V17/V18 wording is OPC UA > General > Client.)
  3. Check "Activate OPC UA client". If the checkbox is greyed out, the firmware loaded in the device configuration does not support OPC UA — update the firmware version in the device configuration first.
  4. Under Security policy select the policy the server requires. Use None only for lab commissioning; production deployments must select Basic128Rsa15, Basic256, Basic256Sha256, or Aes128_Sha256_RsaOaep depending on the S7-1200 firmware.
  5. Under Authentication set Anonymous (lab only) or Username and password and provide the credentials configured on the S7-1200 server.
  6. Compile the project (Project tree > CPU > right-click > Compile > Software (only)) and download the configuration to the CPU. A reload of the program blocks is not sufficient; the OPC UA client engine is part of the system data and must be recompiled and downloaded.
  7. Cold-restart the S7-1500 if the firmware prompts a restart after the configuration change.

After the configuration is downloaded, retest SFB OPC_UA_Connect. STATUS should return 16#0001 on success and OPC_UA_ConnectStatus should be 16#0000_0000.

Important: A successful connection returns STATUS = 16#0001 in Done mode (one-shot) or 16#7000 in idle mode. If the SFB is still busy, wait at least one TIME timeout period before evaluating OPC_UA_ConnectStatus — the output is only valid when ERROR = TRUE or DONE = TRUE.

6. Activating the OPC UA Server on the S7-1200

Although the reported error is on the S7-1500 client, the matching S7-1200 server configuration is worth verifying so a follow-up error does not surface after the client side is fixed.

  1. Select the S7-1200 CPU in the project tree and open Properties > OPC UA > Server.
  2. Enable "Activate OPC UA server".
  3. Set the port (default 4840). Verify the S7-1500 PROFINET interface can route to that port on the S7-1200 IP — corporate firewalls or VLAN ACLs frequently drop port 4840.
  4. Choose the security policy: None for lab work, Basic256Sha256 for production.
  5. Compile, download and cold-restart the S7-1200.
  6. Once the server is up, the endpoint URL passed to OPC_UA_Connect follows the OPC Foundation convention:
opc.tcp://<S7-1200 IP>:4840

The URL is transmitted inside the SFB call as a STRING parameter. Maximum accepted length is 4096 characters per the OPC UA binary protocol definition; in practice, 30–60 characters is the typical form. Anything longer triggers Bad_TcpEndpointUrlInvalid on the client side.

7. Endpoint URL Parsing and Transport Layer

The first packet an OPC UA client transmits is a HEL (Hello) message carrying the endpoint URL. The receiving server parses the URL, validates the host portion (DNS or IP), and either accepts the connection or replies with Bad_TcpEndpointUrlInvalid as defined in OPC UA Part 6 — 7.1 OPC UA Connection Protocol. The full set of pre-session error codes that can surface in OPC_UA_ConnectStatus on S7-1500 includes:

OPC_UA_ConnectStatus (hex) Symbolic name Likely root cause
0000_0000 Good Connection established.
B080_C400 Simatic_ClientNotEnabled Client checkbox disabled (this article).
8005_0000 Bad_TcpEndpointUrlInvalid URL malformed, length > 4096, or host not resolvable.
8006_0000 Bad_ConnectionClosed Server unreachable / firewall / TCP RST.
8014_0000 Bad_Timeout Server reachable but does not reply within TIME timeout.
8020_0000 Bad_SecurityModeRejected Server refused the requested SecurityMode (e.g. None when SignAndEncrypt required).
8021_0000 Bad_SecurityPolicyRejected Server refused the requested SecurityPolicy URI.
801A_0000 Bad_ServerUriInvalid ApplicationDescription server URI does not match the certificate.
802F_0000 Bad_CertificateUntrusted Client certificate is not in the server's trust list.
8031_0000 Bad_CertificateHostNameInvalid URL host does not match the certificate CN / SAN.
8032_0000 Bad_CertificateIssuerTimeInvalid CA certificate out of validity window — check CPU clock.
8033_0000 Bad_CertificateRevoked Server has revoked the client certificate.
8036_0000 Bad_UserAccessDenied Username / password rejected or anonymous disabled on the server.
8025_0000 Bad_NoValidCertificates Server certificate missing from the client's trust list.
8026_0000 Bad_IdentityTokenRejected Token type unsupported by the server.
High word 0x80xx means Bad_ per OPC UA standard. High word 0xB080 means SIMATIC-namespace extension. Always read both halves when triaging.

8. Security Certificate Exchange

Once the client interface is enabled, the next failure mode that commonly surfaces is a certificate trust error, because OPC UA mandates mutual authentication above SecurityPolicy = None. The S7-1500 generates its own OPC UA client certificate on first connection attempt; the S7-1200 generates its server certificate likewise.

8.1 Trusting the S7-1200 server certificate on the S7-1500

  1. Open the S7-1200 online diagnostics in TIA Portal (Online & Diagnostics > Certificate manager) and export the OPC UA server certificate.
  2. On the S7-1500 project, open CPU properties > OPC UA > Client > Trusted certificates and import the S7-1200 server certificate.
  3. Alternatively, copy the certificate to the S7-1500's /opcua/certs folder via the Web server's "File browser" page or via S7 file functions.

8.2 Trusting the S7-1500 client certificate on the S7-1200

  1. The S7-1500 auto-generates a self-signed client certificate. Export it from CPU properties > OPC UA > Client > Own certificates or from /opcua/certs.
  2. Import the certificate into the S7-1200 OPC UA > Server > Trusted certificates list.
CPU time must be correct on both controllers. A clock skew larger than the issuer-validity window will trigger Bad_CertificateIssuerTimeInvalid even though the certificates are valid. Synchronize via NTP or set the CPU time manually before commissioning.

9. SFB OPC_UA_Connect Reference

The SFB is the entry point of every OPC UA call sequence on the S7-1500. Its input / output interface (LAD / FBD / SCL):

Port Direction Type Description
REQ IN BOOL Rising edge starts the connect job.
ID IN WORD Connection identifier (16#1 … 16#F for OPC UA; 0 = local).
ServerEndpointUrl IN STRING Endpoint URL, e.g. opc.tcp://192.168.0.10:4840.
SecurityPolicy IN BYTE 0 = None, 1 = Sign, 2 = SignAndEncrypt (server overrides).
Timeout IN TIME Max time for the connect job; typical T#10s … T#30s.
DONE OUT BOOL TRUE for one cycle on successful completion.
BUSY OUT BOOL TRUE while the job is in progress.
ERROR OUT BOOL TRUE on failure; STATUS is valid.
STATUS OUT WORD S7 status code (16#8601 in this scenario).
OPC_UA_ConnectStatus OUT DWORD Detailed OPC UA / SIMATIC sub-status (16#B080_C400).

Recommended SCL call skeleton:

// Rising edge of REQ starts the job
IF i_StartConnect AND NOT i_ConnectBusy THEN
    "db_OpcUa".OPC_UA_Connect(REQ := TRUE,
                                 ID := 16#0001,
                                 ServerEndpointUrl := 'opc.tcp://192.168.0.10:4840',
                                 SecurityPolicy := 0,
                                 Timeout := T#20s);
END_IF;

// Status evaluation
IF "db_OpcUa".OPC_UA_Connect.DONE THEN
    // Connected
END_IF;
IF "db_OpcUa".OPC_UA_Connect.ERROR THEN
    i_Status := "db_OpcUa".OPC_UA_Connect.STATUS;
    dw_SubStatus := "db_OpcUa".OPC_UA_Connect.OPC_UA_ConnectStatus;
END_IF;

10. Verification Procedure

After the client checkbox is set and the configuration is downloaded, verify the connection without leaving TIA Portal.

  1. Go online with the S7-1500. Online & Diagnostics > OPC UA > Client connections lists active sessions.
  2. Open a watch table that includes the OPC UA instance DB. Trigger REQ and observe BUSY, DONE, ERROR, STATUS and OPC_UA_ConnectStatus.
  3. Confirm STATUS = 16#0001 and OPC_UA_ConnectStatus = 16#0000_0000 after a few seconds.
  4. If a status trace is required, record the instance DB over 30 seconds with the S7-1500 Trace function and mark the rising edge of DONE.
  5. From an external client (UaExpert), connect to opc.tcp://<S7-1500 IP>:4840 to verify the S7-1500 server (if it is also acting as a server).

Diagnostic flow chart

SFB OPC_UA_Connect called (REQ = TRUE) STATUS = 16#8601 ? OPC_UA_ConnectStatus = B080_C400 ? Activate OPC UA client in CPU properties, recompile and download. Look up sub-status in TIA Portal F1 help (certificates, URL, security policy). STATUS = 16#0001 & OPC_UA_ConnectStatus = 0 → success

11. Common Edge Cases and Field Pitfalls

Symptom Likely cause Remedy
Client checkbox greyed out Firmware on the device configuration does not support OPC UA. Update the firmware version under Device configuration > Module parameters and re-load.
STATUS = 16#8601 persists after enabling Configuration downloaded without cold restart, or another SFB instance still holds the connection ID. Cold-restart the CPU and use unique connection IDs per parallel connection.
Bad_TcpEndpointUrlInvalid URL string contains a typo, length > 4096, or uses a DNS name the CPU cannot resolve. Use the IP literal; keep the URL under 80 characters.
Bad_SecurityModeRejected S7-1200 server set to SignAndEncrypt, S7-1500 client set to None. Match the security policy on both sides.
Bad_CertificateUntrusted Server certificate missing from client trust list, or vice versa. Exchange certificates per Section 8.
Connection succeeds in TIA Portal wizard, fails from S7-1500 Wizard uses a temporary certificate; runtime needs a permanent trust. Import the wizard's certificate into the project for a permanent trust chain.
Status 16#8601 only after PLC restart Client interface deactivates if the license check fails at boot. Verify the OPC UA runtime license is correctly assigned (only required for server role on S7-1500).
No traffic on port 4840 OPC UA server on S7-1200 not enabled, or VLAN / firewall blocks 4840. Enable server, open the port on managed switches.
Connection works, but OPC_UA_ReadList returns 16#8603 Namespace index mismatch — different S7-1200 firmware exposes a different namespace layout. Re-run namespace get-index-list on every reconnect; do not hard-code indices.
Sub-status oscillates between B080_C400 and Good Configuration change in TIA Portal not yet downloaded. Compile and download; clear online/offline diff.

12. FAQ

What does S7-1500 OPC UA error 16#B080_C400 (Simatic_ClientNotEnabled) mean?

The OPC UA client runtime on the S7-1500 CPU has not been activated. Open CPU properties > OPC UA > Client in TIA Portal, enable "Activate OPC UA client", recompile the project and download the configuration. The CPU must be cold-restarted if TIA Portal requests it.

Can I keep the OPC UA client disabled by default for security and enable it per project?

Yes. Siemens ships the OPC UA client runtime disabled so projects do not pay for an unused feature. The client interface is enabled at compile time through the CPU property page; there is no per-instance on/off switch at runtime.

Why does UaExpert connect to the S7-1200 but the S7-1500 does not?

UaExpert is a generic client with its own certificate and trust handling. The S7-1500 is a controller without an active OPC UA client stack when Activate OPC UA client is unchecked, so it cannot negotiate a session regardless of server health. Enabling the client in TIA Portal restores parity.

Is a runtime license required on the S7-1500 for the OPC UA client?

No. The OPC UA client on S7-1500 is included in the firmware. The SIMATIC OPC UA runtime license applies to the OPC UA server on S7-1500 only. The S7-1200 OPC UA server does not require an additional license on firmware V4.4+.

How do I look up an unknown OPC UA sub-status code?

Select the SFB instance in TIA Portal and press F1. The information system lists every STATUS and sub-status code returned by the block, including the SIMATIC namespace (0xB080) and the OPC UA standard codes (0x80xx). For OPC Foundation standard codes, also refer to OPC UA Part 6 — 7.1 OPC UA Connection Protocol.

What is the maximum endpoint URL length accepted by the S7-1500 OPC UA client?

The URL is transmitted inside the OPC UA binary HEL message and is limited to 4096 bytes per the OPC UA connection protocol specification. Strings exceeding the limit cause Bad_TcpEndpointUrlInvalid. In practice, keep URLs under 80 characters to stay clear of the boundary.

Do I need to cold-restart the S7-1500 after enabling OPC UA?

Yes, in most cases. The OPC UA client engine is part of the system data and is loaded during the next startup. A warm restart usually does not reload system data blocks, so the client remains disabled until the CPU is power-cycled or a cold restart is executed through TIA Portal.

Back to blog