Siemens PLC Data Monitoring via S7 Protocol and Snap7
Last updated on 19 May 2026
In modern industrial automation, reliable communication between PLCs and external systems is essential. This article explains what Snap7 is, how the S7 protocol works, and how to configure a Siemens PLC so that an external client can establish a connection. You will learn exactly what S7comm does, how Snap7 implements the protocol, and which PLC types are supported — including the correct rack and slot settings for S7-300, S7-400, S7-1200, and S7-1500.
For background tools and remote solutions, you can also look into secure remote access for industrial systems.
What is the S7 Protocol Snap7
The S7 protocol (also known as the S7comm protocol) is a communication protocol developed by Siemens for SIMATIC S7 PLCs. It runs on top of TCP/IP and typically uses port 102. Originally designed for engineering tools like STEP 7 or TIA Portal, it is also widely used by SCADA systems, MES platforms, and other applications for data monitoring. Snap7 implements this protocol open-source, allowing reading and writing without Siemens software.
What Can You Communicate With
- Read and write data from PLC memory (DB, M, I, Q)
- Request PLC status information
- Download and diagnose programs (Siemens environments)
Key Features of S7comm
Important technical points to know when integrating with S7 and Snap7:
- Communication via TCP/IP (port 102) — standard Ethernet enables access through existing networks.
- Support for multiple PLC families — both classic S7 series and modern S7-1200/1500.
- Use of rack and slot — rack and slot indicate the CPU position within the PLC cabinet (S7-300/400 typically rack 0 slot 2; S7-1200/1500 typically rack 0 slot 1).
- Access to various memory areas such as data blocks (DB), markers (M), inputs (I), and outputs (Q).
- No standard encryption within S7comm — security must be managed at network or PLC level.
What is Snap7
Snap7 is an open-source library that implements the S7 protocol. It enables engineers and developers to read and control Siemens PLCs without Siemens licenses. Snap7 works via IP (port 102) and uses the same rack/slot logic as the official tools.
Main features of Snap7:
- Works via IP, port 102 and rack/slot settings
- Supports multiple memory areas (DB, M, I, Q)
- Can both read and write
- Suitable for older and modern PLCs
- Free to use (no license costs)
Snap7 is widely used for data logging and data processing; for data monitoring and further infrastructure management, you can find background information at data monitoring.
Setting up the Siemens PLC for Snap7
For a successful Snap7 connection, several settings in the PLC and network must be correct. Below are the practical checkpoints.
Network Access and Firewall (Port 102)
Ensure the PLC is accessible on port 102 and that the client is in the same network or can reach the PLC via routing. For external connections, proper network configuration and firewall control are essential; for integrations with remote systems, it’s common to set up and monitor controlled remote access. For information about secure external solutions, check remote access.
S7-300, S7-400, S7-1200, and S7-1500 Rack and Slot Settings
When setting up the connection, the software asks for a Rack and Slot number. This indicates the position of the CPU:
- Siemens S7-1200 → Usually use Rack 0, Slot 1
- Siemens S7-1500 → Usually use Rack 0, Slot 1
- Siemens S7-300 / S7-400 → Usually use Rack 0, Slot 2
PUT/GET Communication (S7-1200 / S7-1500)
For S7-1200 and S7-1500, ‘Allow PUT/GET communication’ must be explicitly enabled in TIA Portal. Without this option, the PLC often refuses external connections via Snap7.
Review Security Settings
Check access rights, firewall rules, and PLC protection. For some S7-1500 systems, protection must be set to “Full access” or equivalent to allow external reading and writing.
Prepare Data Blocks
Define clear data blocks with fixed addresses and data types. Note:
- Only global DBs are readable/writable via external clients.
- “Optimized block access” must be disabled if you want fixed addressing and simple access.
Supported Siemens PLC Types
Snap7 supports almost all PLCs that use the classic S7 protocol (S7comm). Below is an overview with notes.
| PLC type | Series | Snap7 Support | Notes |
|---|---|---|---|
| S7-200 | Legacy | Limited / partial | Only models with Ethernet module; many old S7-200 communicate via PPI/serial. |
| S7-300 | Classic | Full | Widely used; stable support. |
| S7-400 | Classic | Full | Support comparable to S7-300. |
| S7-1200 | Modern | Full | Requires ‘Allow PUT/GET communication’ in PLC settings. |
| S7-1500 | Modern | Full | Same principle as S7-1200; security can be stricter. |
| LOGO! | Small PLC | Not supported | LOGO uses a different protocol than S7comm. |
| ET200 (IM) | Decentralized I/O with CPU | Limited / dependent | If the CPU supports S7comm, Snap7 works here too. |
Note: S7-200 support is limited because many older models communicate via serial PPI bus and not via standard S7comm. LOGO! PLCs are not compatible with Snap7. S7-1200 and S7-1500 are generally fully usable provided the correct communication options are enabled on the PLC side.
In summary: the S7 protocol and Snap7 together form a practical, open way to retrieve or write data to Siemens PLCs. During implementation, pay particular attention to network access (port 102), rack/slot, PUT/GET settings in TIA Portal, and correct data block configuration. For advanced integrations and further documentation about remote solutions and data logging, you can consult Remote’s resources.


