S7 Protocol vs OPC UA for Siemens PLCs: Direct or Standardized
To read data out of a Siemens S7-1200 or S7-1500, you have two paths. The S7 protocol is the native, direct way: speak Siemens' own protocol at the controller on port 102, address memory areas and data blocks, and read. OPC UA is the standardized way: enable the UA server built into S7-1500 CPUs (and S7-1200 CPUs from firmware V4.4) and read structured, self-describing nodes through a cross-vendor protocol. The OPC UA server needs a Siemens runtime license. Both work. They are not redundant: each is the right answer for different jobs.
This guide compares the two so you pick the right interface for a given integration. For the S7 internals, see the protocol guide; for enabling the direct path, enabling PUT/GET.
The Core Difference
S7 protocol is native to Siemens. It is direct and needs no extra server: you talk to the CPU directly. The cost is that it is Siemens-specific and the data model is raw memory (DB numbers, offsets, data types you must decode yourself).
OPC UA is vendor-neutral. S7-1500 CPUs (and S7-1200 CPUs from firmware V4.4) run a UA server internally that exposes selected tags and data blocks as structured, self-describing nodes. The cost is a Siemens runtime license, setup in TIA Portal and a protocol with more layers (sessions, security, subscriptions), but you get security, subscriptions, and a client that works across every vendor.
Feature Comparison
When to Use S7
- Fast, direct reads of specific data blocks on a Siemens-only network.
- Ad-hoc monitoring and commissioning where you want zero setup beyond enabling PUT/GET.
- Small integrations where a lightweight client reads a handful of values.
When to Use OPC UA
- Cross-vendor SCADA / IT integration: the standardized northbound interface IT and third-party systems expect.
- Self-describing data: clients browse structure and types instead of decoding offsets.
- Subscriptions: push-based change notifications instead of cyclic S7 reads.
- Security requirements: UA's certificates and encryption beat S7's protection levels for any externally reachable link.
They Coexist
Most modern Siemens plants run both. The same S7-1500 exposes its data over S7 (for tight machine-level integrations and ad-hoc reads) and over OPC UA (as the standardized interface to SCADA, MES, and cloud). Enabling one does not disable the other. The choice per integration is: am I a Siemens-native tool reading specific DBs fast, or a general client that wants structured, secure, subscribe-able data?
Reading S7 Directly on macOS
MacTools S7 Explorer takes the direct S7 path: connect to the PLC on port 102, read data blocks and memory areas, decode types: no TIA Portal, no OPC UA server, no Windows. For the standardized UA path from macOS, MacTools OPC UA Explorer covers that side. The two tools reflect the same either/or this article describes.
Read Siemens S7 on macOS
MacTools S7 Explorer: native macOS S7 client. Read S7-1200/1500 data blocks and memory areas directly, no TIA Portal or Windows.
Get MacTools S7 ExplorerFrequently Asked Questions
Should I use S7 protocol or OPC UA to read a Siemens PLC?
Use S7 for fast, direct access to specific data blocks and memory areas on a Siemens-only network: it needs no extra server and minimal setup, just PUT/GET enabled. Use OPC UA when you need a cross-vendor standard, structured self-describing data, subscriptions, or built-in security. Most Siemens sites run both: S7 for tight integrations and ad-hoc reads, OPC UA as the standardized northbound interface to SCADA and IT.
Does Siemens S7-1200/1500 support OPC UA?
Yes, with a paid license. S7-1500 CPUs from firmware V2.0 and S7-1200 CPUs from firmware V4.4 (with STEP 7 V16 or later) have an OPC UA server built in, so no external OPC server is needed, but Siemens requires a SIMATIC OPC UA runtime license to run it. For the S7-1500 the license size (small, medium or large) depends on the CPU; the S7-1200 has its own OPC UA S7-1200 Basic license. You enable the server in TIA Portal, configure the endpoint and security, and select which data to expose.
Is the S7 protocol secure?
Classic S7 communication (rack/slot, port 102) has no authentication or encryption beyond optional protection levels: it relies on the network being trusted. Siemens offers CPU protection levels and, on newer firmware, TLS-based secure PG/HMI communication, but the cross-vendor secure choice is OPC UA with SignAndEncrypt. Keep S7 on an isolated OT subnet regardless.
Can I read Siemens S7 data without OPC UA or TIA Portal?
Yes. With PUT/GET access enabled on the controller, any client that implements the S7 protocol can read data blocks and memory areas directly over port 102. MacTools S7 Explorer does this natively on macOS: no TIA Portal, no OPC UA server, no Windows.
Related: Continuous Monitoring
Voltrus SCADA reads Siemens S7 and OPC UA (plus Modbus, EtherNet/IP, DNP3): dashboards, alarms, historian. Free open source core.