Overview
The SIMATIC S7-1500 CPU family integrates an OPC UA Server directly into the controller firmware, exposing tag data and (with newer firmware) methods to OPC UA clients on the plant network. Historically, Siemens delivered only the Server role; the OPC UA Client role on the S7-1500 was introduced as a separately licensed option beginning with TIA Portal V15 and a follow-up firmware update. The Server is enabled per interface (PROFINET port) and is bound by firmware capability - not all 14 parts of the IEC 62541 (OPC UA) specification are implemented in every firmware release.
This reference consolidates the supported specification parts, the minimum firmware / TIA Portal combinations, the security model, and the gaps (Events/Alarms, Historical Access, Programs state machine, PubSub) that engineers must understand before designing an S7-1500-centric OPC UA architecture. All capabilities below are anchored to the official Siemens S7-1500 Communication Function Manual and the OPC UA specification (IEC 62541).
OPC UA Architectural Concepts on the S7-1500
OPC UA (IEC 62541) replaces the COM/DCOM-bound OPC Classic stack with a service-oriented architecture transported over binary TCP, WebSockets, or MQTT. The S7-1500 OPC UA Server implements the following core building blocks:
- Address Space Model – Hierarchical, node-based object tree. On the S7-1500, the OPC namespace is built from the PLC tag table, DBs marked as accessible, and (with TIA V15+) the new OPC UA Companion Specification view.
- Services – Read, Write, Browse, Subscribe, Call (Methods), RegisterServer/Discovery. Implemented subsets are listed in the section below.
- Information Model – The base DI (Device Integration), AutomationML, and selected Companion Specifications (Euromap 77, Euromap 83).
- Mappings – OPC UA Binary over TCP (port 4840) and (firmware-dependent) HTTPS/WebSecure. No WebSocket or MQTT broker is embedded in the S7-1500 firmware itself - MQTT PubSub is supported via the Siemens "New Functions" firmware middleware path, not natively on the CPU.
For a primer on the underlying standard, refer to the OPC Foundation OPC UA overview and the OPC UA Wikipedia entry.
OPC UA Specification Parts – Supported vs Not Supported
The OPC UA specification (IEC 62541) is published in 14 numbered parts. Siemens implements a strict subset on the S7-1500, as documented in the Siemens "Supported OPC UA Specifications" entry (ID 109763315) and the S7-1500 Communication Function Manual (entry ID 109763315 / 109771626).
| Part | Title | S7-1500 Support | First FW / TIA |
|---|---|---|---|
| 1 | Concepts and Overview | Full (compliance base) | FW 1.8 / TIA V13 SP1 |
| 2 | Security Model | Full (SecurityPolicy None, Basic128Rsa15, Basic256, Basic256Sha256) | FW 1.8 |
| 3 | Address Space Model | Full | FW 1.8 |
| 4 | Services | Read, Write, Browse, Subscribe, Call, RegisterServer, Discovery | FW 1.8 (Call added 2.5) |
| 5 | Information Model | DI (base), Companion Specs (select) | FW 2.5 / TIA V15 |
| 6 | Mappings | UA Binary on TCP/4840; HTTPS via Web API in TIA V17+ | FW 1.8 |
| 7 | Profiles | Standard 2017 UA Server profile, Embedded 2017 UA Server profile | FW 1.8 |
| 8 | Data Access (DA) | Full - variable read/write/monitored | FW 1.8 |
| 9 | Alarms & Conditions (A&C) | Not supported in the original S7-1500 UA Server (no event nodes from PLC program) | n/a |
| 10 | Programs (state machine) | Not supported on classic S7-1500; introduced on S7-1500V/T-CPU with FW 2.9+ | FW 2.9 (T-CPU) |
| 11 | Historical Access (HDA) | Not supported on the S7-1500 Server (use S7-1500 data logging + SCADA historian instead) | n/a |
| 12 | Discovery | LDS-based local Discovery (RegisterServer) and FindServers supported | FW 1.8 |
| 13 | Aggregates | Client-side only; S7-1500 does not pre-compute aggregates | n/a |
| 14 | PubSub | Not supported natively on the S7-1500 CPU. Achieved through external brokers (MQTT middleware) or via the SIMATIC IoT2050 / RUGGEDCOM cross-link | n/a (broker-side) |
Firmware and TIA Portal Compatibility Matrix
The OPC UA capability exposed by the CPU is gated by the firmware version and by the TIA Portal version used to configure the project. Mismatched TIA/firmware combinations will silently down-grade the Server to the lowest-common-denominator feature set.
| Firmware | TIA Portal | OPC UA Server Capability |
|---|---|---|
| V1.8 | V13 SP1 / V14 | DA only, no Methods, no Companion Specs, no Client role |
| V2.0 | V14 SP1 | DA, improved subscription performance, optional security certificates |
| V2.5 | V15 | DA + Methods + Companion Specifications (Euromap 77/83); Server only |
| V2.6 | V15.1 | DA, Methods, Companion Specs, optional OPC UA Client runtime (licensed) |
| V2.9 | V17 | S7-1500V/T-CPU: Programs state machine (Part 10), expanded Information Model |
| V3.0+ | V18 / V19 | WebSecureTransport mapping, additional SecurityPolicies (Aes128-Sha256-RsaOaep, Aes256-Sha256-RsaPss) |
Refer to the S7-1500 "New Functions" firmware PDF (entry ID 109771626) for the definitive per-firmware change log.
OPC UA Server Configuration in TIA Portal
Enable the Server role on the S7-1500 CPU by navigating to CPU Properties → Communication → OPC UA Server. The configuration table below shows the parameters that must be set for a production deployment.
| Parameter | Default | Recommended (Secure) | Notes |
|---|---|---|---|
| Activate OPC UA Server | Disabled | Enabled | Per PROFINET interface |
| Port | 4840 | 4840 (or NAT'd) | OPC UA Binary |
| Security Policy | None | Basic256Sha256 (legacy) / Aes128-Sha256-RsaOaep (FW 3.0+) | Disable "None" in production |
| Authentication | Anonymous | Username/Password or Certificate | Anonymous is a common audit finding |
| Max Sessions | 100 | 5–20 | Each session costs ~64 KB RAM |
| Min Publishing Interval | 100 ms | 500 ms (to match PLC scan) | Lower = higher CPU load |
| Sampling Interval | 1000 ms | 1000 ms | |
| Queue Size (MonitoredItem) | 1 | 5–10 | Buffer for network jitter |
| DB Visibility Filter | All | Whitelist by DB name pattern | Limits attack surface |
| Methods Enabled | No | Yes (if FW ≥ 2.5) | Requires Methods FB in PLC program |
| Companion Specs | None | Euromap 77/83 (plastic/rubber machinery) | Loads namespace XML |
Step-by-step configuration
- Open the TIA Portal project, select the S7-1500 CPU, and open Properties.
- Navigate to Communication → OPC UA → Server.
- Tick Activate OPC UA Server and bind it to the PROFINET interface X1/X2.
- Import a server certificate (self-signed for test, CA-signed for production) under Security → Certificates.
- Whitelist the DBs / tag collections that should be visible: OPC UA → Symbol Configuration.
- If Methods are needed, declare them under OPC UA → Methods and reference the corresponding PLC FB.
- For Companion Specifications, load the namespace XML (Euromap 77/83) from disk and assign nodes to PLC variables.
- Compile the project and download to the CPU. Activate "Run OPC UA Server" in Online → Diagnostics → OPC UA.
OPC UA Methods (Firmware ≥ 2.5, TIA ≥ V15)
Methods allow a client to invoke an FB on the CPU and receive a return value - conceptually a remote procedure call. They are exposed as Call service nodes in the address space.
Server-side declaration
- Create a function block in the PLC program with the OPC UA Method attribute enabled in its properties.
- Declare the input parameters (var_input) and output parameters (var_output / var_in_out) - each becomes an argument of the UA
Callrequest. - Reference the FB instance DB in the OPC UA Symbol Configuration so the runtime can resolve the
Callto the FB method body.
Example – sum of two tags
FUNCTION_BLOCK "fb_OpcUaSum"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
iTag1 : Real;
iTag2 : Real;
END_VAR
VAR_OUTPUT
oResult : Real;
END_VAR
BEGIN
oResult := iTag1 + iTag2;
END_FUNCTION_BLOCK
Once the symbol is published, any OPC UA client can issue:
CallRequest
objectId = ns=4;s=|var|fb_OpcUaSum_DB
methodId = ns=4;s=|method|fb_OpcUaSum
inputArguments = [20.0, 22.0]
returns [42.0]
OPC UA Companion Specifications (Firmware ≥ 2.5)
Companion Specifications are vendor- or industry-specific information models defined as XML namespaces and node sets. By loading the namespace XML into the S7-1500 OPC UA configuration, the Server exposes standardized node paths that any client (MES, ERP, machine builder tool) can navigate without a custom interface.
Commonly supported on the S7-1500:
- Euromap 77 – plastics/rubber injection-molding machinery interface.
- Euromap 83 – interface for upstream/downstream equipment in plastics/rubber production.
- DI (Device Integration) – IEC 62541-100 base information model.
To load a Companion Spec, place the corresponding namespace XML under OPC UA → Companion Specifications in TIA Portal, map the standardized node paths to PLC variables, and recompile. Search the TIA Portal Help system for "companion" for the version-specific wizard.
Subscription vs PubSub – Clarification
Engineers frequently conflate Subscription (OPC UA Part 4) with PubSub (OPC UA Part 14). On the S7-1500:
-
Subscription – a client-server model where the client opens a session, registers MonitoredItems, and receives
Publishresponses. Supported on the S7-1500 since FW 1.8. - PubSub – a brokerless (UDP multicast) or brokered (MQTT) publish/subscribe model. Not implemented on the S7-1500 CPU itself. MQTT is the supported middleware path - messages are produced by an external gateway (e.g., SIMATIC IoT2050, Node-RED, or a WinCC Unified data source) that consumes the S7-1500's classic DA/DA-via-Subscription and republishes through an MQTT broker.
If your customer requires Part 14 PubSub, you must deploy an edge gateway, not rely on the CPU's native OPC UA stack.
Security Model
OPC UA Part 2 (Security) is fully implemented on the S7-1500. The Server supports:
- SecurityPolicies: None (debug only), Basic128Rsa15 (legacy), Basic256, Basic256Sha256, Aes128-Sha256-RsaOaep (FW 3.0+), Aes256-Sha256-RsaPss (FW 3.0+).
- MessageSecurityModes: None, Sign, SignAndEncrypt.
- Authentication: Anonymous (default - leave for lab only), Username/Password, X.509 Client Certificate.
- Transport: UA Binary over TCP/4840; WebSecureTransport (HTTPS, port 443) on FW 3.0+.
OPC UA Client (Firmware ≥ 2.6, TIA ≥ V15.1, Licensed)
The Client role enables the S7-1500 to act as an OPC UA consumer - reading values from a third-party OPC UA Server, calling methods on remote servers, and writing data back. The capability is unlocked by:
- Installing the SIMATIC OPC UA Client runtime option on the CPU (license key, order number 6ES7822-1AA05-0YA5 or similar per current catalog).
- Configuring the Client connection in TIA Portal under Communication → OPC UA → Client.
- Declaring the OPC_UA_Client_DB and using the supplied FBs (
OPC_UA_Client_Read,OPC_UA_Client_Write,OPC_UA_Client_Method_Call) in the PLC program.
Reference: Siemens OPC UA Client Function Manual (entry ID 109762770).
Diagnostics and Verification
After enabling the OPC UA Server, validate connectivity before commissioning:
- TIA Online diagnostics – Online → Diagnostics → OPC UA shows current session count, subscription count, and rejected requests.
- Siemens OPC UA Scout – the official browser, available in the TIA Portal toolset, validates the address space, security settings, and subscription rates.
-
Wireshark dissector – filter on
tcp.port == 4840to confirm UA Binary frames; right-click → Decode As → OpcUa for protocol dissection. -
Linux open62541 test client – quick smoke test from a Linux host:r>
./client discover -e opc.tcp://192.168.0.1:4840
Common error codes returned by the S7-1500 UA Server:
| Status Code (hex) | Symbolic | Cause | Remediation |
|---|---|---|---|
| 0x80000000 | BadUnexpectedError | Internal PLC exception | Check PLC diagnostic buffer; restart OPC UA Server |
| 0x80040000 | BadMethodInvalid | Method FB not linked to symbol config | Re-link the FB in Symbol Configuration; recompile |
| 0x80200000 | BadCommunicationError | Network drop / CPU load > 90% | Reduce publishing interval; check PROFINET topology |
| 0x80230000 | BadServerIndexInvalid | Stale subscription after firmware update | Re-create subscription on the client |
| 0x802C0000 | BadIdentityTokenRejected | Certificate/username mismatch | Verify trust list and user mapping on the CPU |
Troubleshooting Matrix
| Symptom | Likely Cause | Corrective Action |
|---|---|---|
| Client cannot connect on 4840 | Server not enabled, firewall blocking, wrong interface | Verify Activate OPC UA Server on the right PROFINET port; open TCP 4840 |
| Bad_SecurityPolicyNotSupported | Client demands a policy the CPU's FW does not implement | Upgrade FW to V3.0+ for Aes128-Sha256-RsaOaep |
| Methods are not visible in address space | FW < 2.5 or FB has no OPC UA Method attribute | Upgrade firmware, enable method attribute on the FB |
| Subscription data is intermittent | Publishing interval too low for PLC scan time | Set publishing interval ≥ 2 × OB1 cycle time |
| Client requires PubSub | Feature not supported on S7-1500 | Add SIMATIC IoT2050 or external MQTT gateway |
| High CPU load after enabling UA | Excessive MonitoredItems or sub-100 ms publishing | Raise MinPublishingInterval; consolidate monitored items |
FAQ
Which OPC UA specification parts does the S7-1500 Server actually support?
Parts 1, 2, 3, 4, 5, 6, 7, 8, 12, and 13 are supported. Parts 9 (Alarms & Conditions), 10 (Programs), 11 (Historical Access), and 14 (PubSub) are not implemented on the S7-1500 CPU. See Siemens entry ID 109763315 for the official matrix.
What is the minimum firmware for OPC UA Methods and Companion Specifications?
Firmware V2.5 with TIA Portal V15 is required to expose Methods and load Companion Specifications such as Euromap 77 and Euromap 83. The OPC UA Client role is a separately licensed runtime option available from FW V2.6 / TIA V15.1.
Can the S7-1500 act as an OPC UA PubSub publisher?
No. OPC UA Part 14 PubSub is not native to the S7-1500 firmware. Use an edge gateway (SIMATIC IoT2050, Node-RED, or a third-party MQTT broker) to convert classic DA/Subscription data into PubSub or MQTT messages.
Which SecurityPolicy should I use in production?
Disable SecurityPolicy None, require SignAndEncrypt, and prefer Basic256Sha256 on legacy firmware or Aes128-Sha256-RsaOaep / Aes256-Sha256-RsaPss on firmware V3.0 and newer. Always combine with X.509 client certificate authentication rather than username/password.
Why does my OPC UA client see no methods even though the FB is configured?
Confirm three conditions: (1) firmware is V2.5 or later, (2) the FB has the OPC UA Method attribute enabled in its properties, and (3) the FB instance DB is included in the OPC UA Symbol Configuration. A method node that is missing one of these is silently omitted from the address space.