SIEMENS S7

Industrial Automation: Siemens S7 Protocol

Siemens is a global titan in industrial automation, utilizing the S7 Communication (S7Comm) protocol as the backbone for its SIMATIC S7 PLC systems. This protocol acts as the "common language" allowing devices in the Siemens ecosystem to exchange data with SCADA, HMI, and IIoT systems.

1. What is the Siemens S7 Protocol?

The S7 Protocol is a high-level, connection-oriented communication protocol designed for the Siemens SIMATIC S7 family. It operates on the Ethernet (TCP/IP) layer, standardly utilizing Port 102.

  • Connection-Oriented: A handshake must occur between the Client and Server before any data transfer.
  • Block-Based Access: Allows direct reading/writing to Data Blocks (DB), Inputs (I), Outputs (Q), and Markers (M).
  • System Control: Beyond data, it supports administrative commands like PLC Start/Stop (Run/Stop).

2. Legacy (S7-300/400) vs. Modern (S7-1200/1500)

Modern Siemens PLCs have introduced "Optimized Block Access" to improve performance, which fundamentally changes how external devices access memory.

Feature S7-300 / S7-400 S7-1200 / S7-1500
Addressing Absolute (e.g., DB1.DBX0.0) Symbolic (Names)
Security Open by default Protected (Requires PUT/GET Permission)
Optimization Standard Access Only Optimized Access (Default)

TIA Portal: Activating PUT/GET Permission

In modern S7-1200 and S7-1500 series, PUT/GET permission is a mandatory security setting for external partners like Hubbox Connect to access data.

Step 1: Hardware Configuration

  1. Open your TIA Portal project.
  2. Right-click your PLC in the Project Tree and select Properties.
  3. Navigate to the General tab and locate Protection & Security.

Step 2: Permitting Connection Mechanisms

  1. Under Protection & Security, click on Connection mechanisms.
  2. Check the box: "Permit access with PUT/GET communication from remote partner".

Step 3: Disabling Optimized Block Access

External devices usually require standard memory addressing (Offsets). You must modify your Data Blocks (DB) accordingly:

  1. Right-click the specific Data Block (DB) and enter Properties.
  2. Go to the Attributes tab.
  3. Uncheck "Optimized block access".
  4. Notice the "Offset" column now appears in your DB variable table.

Step 4: Compile & Download

Changes will not take effect until the hardware configuration is reloaded:

  1. Select the PLC and click Compile (Hardware & Software).
  2. Click Download to device to update the PLC.
Security Warning: Enabling PUT/GET increases the attack surface of your PLC. Never expose Port 102 directly to the public internet. Always use a Hubbox Connect device to encapsulate S7 traffic within a secure, encrypted VPN tunnel.

For Hubbox S7 driver configuration and Node-RED integration: www.hubbox.io