← All Posts

How to Enable PUT/GET on S7-1200/1500 (and Why Siemens Disables It)

Almost every "my S7 tool connects but cannot read any data" support ticket ends at the same setting: PUT/GET is disabled. Siemens ships S7-1200 and S7-1500 controllers with Permit access with PUT/GET communication turned off, on purpose. The connection succeeds — TCP 102 is open, the rack/slot is right — but reads and writes of arbitrary data blocks return an access error. Enabling it is a one-checkbox change in TIA Portal, but the security implication is worth understanding before you tick it.

This guide walks through the steps and explains why the default is off. For what to do after enabling, see reading an S7 data block; for a more secure alternative, S7 vs OPC UA.

The Steps in TIA Portal

  1. Open the project and the PLC in TIA Portal.
  2. In the device view, select the CPU and open Properties.
  3. Go to Protection & Security → Connection mechanisms.
  4. Tick Permit access with PUT/GET communication from remote partner.
  5. (Optional) Set the Access level protection to match what your clients need.
  6. Download the hardware configuration to the PLC — the setting takes effect only after download.
The download step is the one people miss. PUT/GET is a CPU property. Changing it in the project changes nothing on the PLC until you download the hardware config. If your client still cannot read after ticking the box, you almost certainly forgot to download.

Why Siemens Disables It by Default

PUT/GET lets any S7 client on the network read and write arbitrary data blocks — with no authentication and no encryption. Left enabled on a reachable network, that is a serious exposure: anyone who can reach TCP 102 can read your recipe data, flip outputs, or change setpoints. Siemens ships it off so a freshly commissioned PLC is not wide open by accident, and leaves the enablement decision to the integrator who understands the network.

Is It Safe to Enable?

The More Secure Alternative: OPC UA

If your integration is cross-vendor, externally reachable, or security-sensitive, skip PUT/GET and enable the controller's built-in OPC UA server instead. Modern S7-1500 (and newer S7-1200) CPUs run a UA server natively, exposing selected data as structured nodes with certificates, encryption, and per-user access control. You get the data out without opening the raw PUT/GET door. See S7 vs OPC UA.

Once Enabled, Then What?

With PUT/GET on, an external S7 client reads data blocks by number, offset, and length over port 102. See reading a data block for the mechanics. Remember the other gotcha: optimized DBs (S7-1500 default) have no fixed offsets — mark them standard for offset reads, or use symbolic access.

Reading on macOS

Once PUT/GET is enabled and downloaded, MacTools S7 Explorer connects on port 102 from macOS and reads the data blocks directly — no TIA Portal, no Windows. Useful for confirming the enable took effect and for ongoing monitoring.

Read S7 Data on macOS

MacTools S7 Explorer — connect to S7-1200/1500 once PUT/GET is enabled, read data blocks, monitor values. Native macOS app.

Get MacTools S7 Explorer

Frequently Asked Questions

How do I enable PUT/GET on an S7-1200 or S7-1500?

In TIA Portal, open the CPU Properties, go to Protection & Security > Connection mechanisms, and tick "Permit access with PUT/GET communication from remote partner". Download the updated hardware configuration to the PLC. After that, external S7 clients can read and write data blocks over port 102. The setting is per-CPU and must be downloaded to take effect.

Why is PUT/GET disabled by default on Siemens S7 PLCs?

For security. PUT/GET lets any S7 client on the network read and write arbitrary data blocks without authentication. Left enabled on a reachable network, that is a serious exposure. Siemens ships it disabled so a freshly commissioned PLC is not wide open by accident, and leaves the enablement decision to the integrator who understands the network segmentation.

Is enabling PUT/GET safe?

It is safe on a properly isolated OT network behind a firewall, where only trusted clients can reach TCP 102. It is not safe on any shared, routed, or internet-reachable network, because PUT/GET has no authentication or encryption. For external or cross-vendor access, OPC UA with SignAndEncrypt is the more defensible choice.

What is the alternative to PUT/GET for reading S7 data?

The main alternative is OPC UA. Modern S7-1500 (and newer S7-1200) CPUs have an OPC UA server built in that exposes selected data as structured nodes with certificates, encryption, and per-user access control. For a cross-vendor or security-sensitive integration, enable the UA server instead of PUT/GET. See our S7 protocol vs OPC UA comparison.

Related: Secure Remote PLC Access

For reaching S7 PLCs remotely without opening inbound ports, Voltrus Remote builds an outbound-only WireGuard mesh into the OT subnet.

Further Reading