PLC Drivers

Native S7 Protocol Communication

Ignition Siemens S7 Driver: Connect S7-1200 and S7-1500 PLCs

The Ignition Siemens S7 driver provides native connectivity to the entire Siemens S7 family, including S7-300, S7-400, S7-1200, and S7-1500 PLCs. Read and write data blocks, merkers, inputs, and outputs over Ethernet without any additional middleware or OPC server.

Overview

The Ignition Siemens S7 driver communicates directly with Siemens PLCs over Ethernet using the native S7 protocol (ISO-on-TCP, RFC 1006). This eliminates the need for third-party OPC servers and provides fast, reliable access to all PLC memory areas including data blocks, merkers, inputs, outputs, counters, and timers.

Whether you are integrating legacy S7-300/400 controllers or modern S7-1200/1500 with optimized block access, the Ignition Siemens S7 driver handles the connection seamlessly. Configure rack and slot parameters, map data block addresses to Ignition tags, and start monitoring your Siemens infrastructure in minutes.

Key Benefits

  • Native S7 protocol without third-party OPC servers
  • Support for S7-300, S7-400, S7-1200, and S7-1500 families
  • Direct data block, merker, input, and output access
  • Optimized block access for S7-1200/1500 controllers
  • Array and UDT (User-Defined Type) tag support

Siemens S7 Communication Architecture

The Ignition Siemens S7 driver connects to PLCs over PROFINET/Ethernet using the S7 protocol, reads data blocks and memory areas, and exposes them as Ignition tags for Perspective and Vision clients.


┌─────────────────────────────────────────────────────────────────────┐
│                     Siemens PLC Layer                               │
│                                                                     │
│  ┌───────────┐  ┌───────────┐  ┌───────────┐  ┌───────────┐       │
│  │  S7-300   │  │  S7-400   │  │  S7-1200  │  │  S7-1500  │       │
│  │  (Legacy) │  │  (Legacy) │  │           │  │           │       │
│  └─────┬─────┘  └─────┬─────┘  └─────┬─────┘  └─────┬─────┘       │
│        │              │              │              │               │
└────────┼──────────────┼──────────────┼──────────────┼───────────────┘
         │              │              │              │
         └──────────────┴──────┬───────┴──────────────┘
                               │
                    PROFINET / Industrial Ethernet
                        (S7 Protocol / ISO-on-TCP)
                               │
┌──────────────────────────────┼──────────────────────────────────────┐
│                    Ignition Gateway                                  │
│                              │                                      │
│              ┌───────────────┴───────────────┐                      │
│              │   Siemens TCP Device Driver    │                      │
│              │   (S7 Communication Driver)    │                      │
│              └───────────────┬───────────────┘                      │
│                              │                                      │
│              ┌───────────────┴───────────────┐                      │
│              │     Tag Provider / OPC Tags    │                      │
│              │  DB1.DBD0  DB1.DBW4  MW100    │                      │
│              └───────────────┬───────────────┘                      │
│                              │                                      │
└──────────────────────────────┼──────────────────────────────────────┘
                               │
              ┌────────────────┼────────────────┐
              │                │                │
     ┌────────┴──────┐ ┌──────┴───────┐ ┌──────┴───────┐
     │  Perspective  │ │    Vision    │ │   Historian   │
     │   Clients     │ │   Clients    │ │   & Reports   │
     └───────────────┘ └──────────────┘ └──────────────┘

Configuration Steps

1

Step 1: Enable PUT/GET Access on the PLC in TIA Portal

For S7-1200 and S7-1500 PLCs, you must enable the PUT/GET communication access in TIA Portal. Open your PLC project, navigate to the device properties, and enable the "Permit access with PUT/GET" option under Protection & Security. This allows external clients like Ignition to read and write PLC memory areas via the S7 protocol.

# TIA Portal Configuration Path
# ─────────────────────────────────────────────────────────
# 1. Open TIA Portal > Your Project > Device Configuration
# 2. Select your S7-1200 or S7-1500 CPU
# 3. Navigate to:
#    Properties > General > Protection & Security
#    > Connection mechanisms
#
# 4. Check: "Permit access with PUT/GET communication
#            from remote partner"
#
# 5. Download the updated configuration to the PLC
#
# Note: S7-300/400 PLCs have PUT/GET enabled by default
#       and do not require this step.
2

Step 2: Add a Siemens TCP Device Connection in Ignition

In the Ignition Gateway, create a new device connection using the Siemens TCP driver. Configure the PLC hostname or IP address, rack number, and slot number. For S7-1200 and S7-1500, the rack is typically 0 and the slot is 1. For S7-300/400, verify the physical rack and slot in your hardware configuration.

# Ignition Gateway > Config > OPC UA > Device Connections
# ─────────────────────────────────────────────────────────
# Driver:    Siemens TCP
# Name:      Siemens_S7_Line1
# Hostname:  192.168.1.10
# Rack:      0
# Slot:      1          # S7-1200/1500 = Slot 1
#                       # S7-300 = Slot 2 (CPU in slot 2)
#                       # S7-400 = depends on config
#
# Advanced Settings:
# ─────────────────────────────────────────────────────────
# Communication Timeout:  2000 ms
# Reconnect Rate:         5000 ms
# Max PDU Size:           480   # auto-negotiated
# Tag Poll Rate:          1000 ms (default)
3

Step 3: Map Data Blocks and Memory Areas to Tags

Create OPC tags in Ignition that reference Siemens S7 memory addresses. The Siemens S7 driver supports data block addressing (DB), merkers (M), inputs (I), outputs (Q), counters (C), and timers (T). Use the standard S7 address syntax to map each PLC variable to an Ignition tag for real-time monitoring and control.

# Siemens S7 Tag Address Syntax
# ─────────────────────────────────────────────────────────
# Data Blocks:
#   DB1.DBD0      → REAL at byte offset 0 in DB1
#   DB1.DBW4      → INT (16-bit) at byte offset 4 in DB1
#   DB1.DBB8      → BYTE at byte offset 8 in DB1
#   DB1.DBX10.0   → BOOL at byte 10, bit 0 in DB1
#   DB5.DBD100    → DINT at byte offset 100 in DB5
#
# Merkers (Flags):
#   MW100         → Merker Word at byte 100
#   MD200         → Merker Double Word at byte 200
#   M50.3         → Merker Bit 3 at byte 50
#
# Inputs / Outputs:
#   IW0           → Input Word at byte 0
#   QW0           → Output Word at byte 0
#   I0.0          → Input Bit 0 at byte 0
#   Q4.5          → Output Bit 5 at byte 4
#
# Arrays (Ignition syntax):
#   DB1.DBD0<REAL[10]>  → Array of 10 REALs starting at DB1.DBD0
4

Step 4: Configure Optimized Block Access for S7-1500

S7-1500 PLCs use optimized block access by default, which prevents external clients from reading data blocks by absolute address. To allow the Ignition Siemens S7 driver to access data blocks, you must disable optimized block access for each DB in TIA Portal, or use symbolic access. Disabling optimized access switches the DB to standard (non-optimized) mode with fixed byte offsets.

# TIA Portal: Disable Optimized Block Access
# ─────────────────────────────────────────────────────────
# 1. Open TIA Portal > Your Project > Program blocks
# 2. Right-click on the Data Block (e.g., DB1)
# 3. Select "Properties"
# 4. Under "Attributes":
#    Uncheck: "Optimized block access"
#
# 5. Recompile the block and download to PLC
#
# ─────────────────────────────────────────────────────────
# Important Notes:
# - S7-1200 v4+ also supports optimized blocks
# - Each DB must be configured individually
# - After disabling, byte offsets become visible
#   in the TIA Portal variable table
# - Standard (non-optimized) DBs use absolute addressing
#   compatible with the Ignition Siemens TCP driver
# - Alternatively, use OPC UA on the PLC side for
#   symbolic access to optimized blocks

Key Features

Native S7 Communication

Direct communication with Siemens PLCs using the native S7 protocol over Ethernet. No third-party OPC server required, reducing complexity and licensing costs while improving performance and reliability.

Data Block Addressing

Full support for Siemens S7 addressing syntax including data blocks (DB), merkers (M), inputs (I), outputs (Q), counters (C), and timers (T). Map any PLC memory area to Ignition tags using familiar S7 notation.

S7-1200/1500 Support

Full compatibility with the latest Siemens S7-1200 and S7-1500 controllers, including configuration guidance for PUT/GET access and optimized block access settings in TIA Portal.

Array & UDT Support

Read and write arrays of values and User-Defined Types (UDTs) from Siemens data blocks. Efficiently transfer large blocks of structured data in a single request, reducing communication overhead.

Use Cases

Automotive

Automotive Manufacturing Lines

Monitor and control Siemens S7-1500 PLCs across welding, painting, and assembly lines in automotive plants. Centralize production data from hundreds of controllers into a unified Ignition SCADA platform for real-time OEE tracking and quality management.

Pharmaceutical

Pharmaceutical Production

Integrate Siemens S7-1200 controllers managing batch processes, clean-in-place (CIP) systems, and environmental monitoring in pharmaceutical facilities. Ensure 21 CFR Part 11 compliance with audit trails and electronic signatures through Ignition.

Food & Beverage

Packaging and Bottling

Connect Siemens S7 PLCs controlling filling machines, labelers, case packers, and palletizers on high-speed packaging lines. Achieve real-time line efficiency monitoring and rapid changeover management with Ignition dashboards.

Technologies

Siemens S7-1200

Compact PLC for standalone and networked automation tasks. Ideal for small to medium-sized applications with built-in PROFINET interface and TIA Portal integration.

Siemens S7-1500

High-performance PLC for demanding automation applications. Features advanced motion control, security functions, and optimized block access for efficient data handling.

TIA Portal

Siemens Totally Integrated Automation Portal is the unified engineering framework for configuring S7 PLCs, HMIs, and drives. Used to enable PUT/GET access and configure data block properties.

PROFINET

Industrial Ethernet standard by Siemens for real-time communication between PLCs, I/O modules, drives, and other field devices. Provides the transport layer for S7 protocol communication.

Siemens TCP Driver

Ignition's built-in device driver for Siemens S7 communication. Supports S7-300, S7-400, S7-1200, and S7-1500 PLCs with configurable rack, slot, and polling parameters.

Frequently Asked Questions

Find answers to common questions about this integration.

The Ignition Siemens S7 driver (Siemens TCP) supports the full range of S7 controllers: S7-200 (via S7-200 Smart), S7-300, S7-400, S7-1200, and S7-1500. It communicates over standard Ethernet using the S7 protocol. For S7-1200 and S7-1500, you must enable PUT/GET access in TIA Portal to allow external reads and writes.
The rack and slot values depend on your PLC model. For S7-1200 and S7-1500 PLCs, use Rack 0 and Slot 1. For S7-300 PLCs, the CPU is typically in Rack 0, Slot 2 (since slot 1 is the power supply). For S7-400, check your hardware configuration in STEP 7 or TIA Portal, as the slot depends on the physical position of the CPU module in the rack.
S7-1500 PLCs use optimized block access by default, which prevents external clients from reading data blocks by absolute byte offset. To fix this, open TIA Portal, right-click on the data block, go to Properties > Attributes, and uncheck "Optimized block access". Then recompile and download the block to the PLC. Additionally, ensure that PUT/GET communication is enabled in the CPU properties under Protection & Security.
Ignition itself does not impose a hard limit on the number of Siemens S7 device connections. The practical limit depends on your gateway hardware resources (CPU, memory) and the PLC connection limits. S7-1200 CPUs support 8 to 16 external connections depending on the model, while S7-1500 CPUs support 32 or more. For large installations, use multiple Ignition gateways with Gateway Network to distribute the connection load.

Ready to Get Started?

Contact our team of experts to discuss your integration needs and get a customized solution.