S7-1200 as Client to LOGO! 8 Server: S7 Connection Setup

David Krause17 min read
SiemensTIA PortalTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

S7-1200 as Client to LOGO! 8 Server: S7 Connection Setup in TIA Portal

Overview

The standard Siemens application note describes an S7-1200 or S7-1500 as the S7 server with one or more LOGO! 8 BM devices acting as S7 clients. In a 700-node fleet where one S7-1200 (or S7-1500) must gather status from every LOGO! 8 and push setpoints back, that client role has to be reversed: the S7-1200 becomes the active S7 client, and each LOGO! 8 sits as the passive S7 server. This article documents the TIA Portal configuration required to flip the roles, the LOGO! 8 server-side setup, the Variable Memory (VM) mapping, and a polling strategy that scales to 700 LOGO! devices without exhausting the S7-1200 connection budget.

The reversed-role pattern is supported by every LOGO! 8 BM with Ethernet and by the S7-1200 CPU firmware V4.0 and later, which introduced the Establish active connection toggle for S7 connections. The S7-1500 CPU behaves identically and raises the active-connection ceiling to 32, which is the deciding factor for a 700-node deployment. The original Siemens guide is the LOGO! S7 Connection with LOGO! Client and S7-1200/1500 Server application note; the changes documented below are precisely those required to invert its roles.

Prerequisites

Hardware

  • LOGO! 8 BM with Ethernet (6ED1052-xxx08-0BA1 or later; the -0BA2 revision is the current production variant and supports the full S7 server feature set).
  • SIMATIC S7-1200 CPU with PROFINET interface. Any 12xx CPU with firmware V4.0 or later (e.g., CPU 1214C DC/DC/DC, 6ES7214-1AG40-0XB0).
  • Managed Ethernet switch with port-based VLANs if segmentation between the LOGO! 8 field cells and the S7-1200 is required.
  • 24 V DC power supplies sized for 0.4 A per LOGO! 8 plus 1.2 A for a fully loaded S7-1200.

Software

  • TIA Portal V16 or later (V18/V19 recommended for the LOGO! 8 V8.4 HSP and for the S7-1200 CPU firmware V4.6).
  • LOGO!Soft Comfort V8.3 or later for VM mapping and Ethernet connection table on the LOGO! 8 side.
  • S7-1200 CPU firmware V4.2.2 or later. V4.6 is current as of mid-2024 and is the recommended baseline.

Network

  • LOGO! 8 and S7-1200 must share an IP subnet and be reachable at L3. The S7 protocol uses TCP/102 (ISO-on-TCP / RFC1006).
  • The S7-1200 CPU allows up to 8 active S7 communication connections simultaneously, depending on the CPU model. The S7-1500 raises this to 32, and the S7-1500 is therefore the recommended master for a 700-node deployment.
TSAP sizing: The TSAP (Transport Service Access Point) is two bytes. The LOGO! 8 default S7 server TSAP is 03.01; the S7-1200 default S7 client TSAP is 01.01 (CPU 1, slot 1). Match these explicitly when building the connection on both sides.

S7 Communication Fundamentals for LOGO! 8

Supported Protocol

The LOGO! 8 implements the S7 communication protocol as a passive partner (server). It listens on TCP/102 and accepts connection establishment from an S7 client. The LOGO! 8 exposes its Variable Memory (VM) as the S7 server data area. The S7 client reads from and writes to the VM using standard PUT/GET S7 functions. On the S7-1200 side, the TIA Portal S7 connection editor hides the underlying TCON, TSEND, TRCV, and TDISCON blocks and presents a configured address area as a data block interface.

VM Area Layout

The LOGO! 8 VM is 850 bytes wide. The following table is the layout exposed to an S7 client:

Area Offset (byte) Size (byte) Direction Notes
Process Image Inputs 0 32 LOGO → S7 Digital and analog inputs from the LOGO! program
Process Image Outputs 32 32 S7 → LOGO Digital and analog outputs writable from S7
Variable Memory 64 512 bi-directional General-purpose scratch words
Network Inputs (NI) 576 32 S7 → LOGO 4 NI bytes per network connection × 4
Network Outputs (NO) 608 32 LOGO → S7 4 NO bytes per connection × 4
User-defined tags 640 210 bi-directional Free for application use

The S7-1200 as client can read and write VM0..VM849 using the standard S7 function codes. The exact byte layout for the Network Inputs and Outputs is defined per LOGO! 8 Ethernet connection in LOGO!Soft Comfort under Tools → VM Mapping.

Port and Connection Limits

  • TCP/102 is the S7 port on every LOGO! 8.
  • A LOGO! 8 supports up to 8 S7 server connections (one per configured Ethernet connection row).
  • The S7-1200 CPU allows 8 active S7 communication connections simultaneously, of which a configurable number can be used for S7 connections to other S7 stations. The remaining budget is consumed by HMI, PG, and PUT/GET.
  • The S7-1500 CPU allows 32 active S7 communication connections, which is the architectural reason to switch masters for a 700-node fleet.

TIA Portal Configuration: S7-1200 as Active S7 Client

Step 1 — Create the S7-1200 Project

  1. Open TIA Portal and create a new project.
  2. Add the S7-1200 CPU (for example 6ES7214-1AG40-0XB0) via Add new device → SIMATIC S7-1200 → CPU → CPU 1214C DC/DC/DC.
  3. Confirm the firmware version matches the physical CPU. Right-click the device and select Online & diagnostics → Read firmware if you are unsure.

Step 2 — Add a LOGO! 8 Partner Station

  1. In the project tree, expand Devices & networks and double-click Network view.
  2. Drag a LOGO! 8 device from the hardware catalog (HSP installed) into the network view. If the LOGO! 8 HSP is not visible, install it via Options → Support Packages.
  3. Connect the S7-1200 PROFINET port to the LOGO! 8 PROFINET port. The link is logical only; the physical wiring uses a switch.

Step 3 — Configure the LOGO! 8 IP Address

  1. Select the LOGO! 8 in the network view and open Properties → Ethernet addresses.
  2. Set the IP address (for example 192.168.111.3) and subnet mask.
  3. Note the IP — it is referenced in the S7-1200 connection table.

Step 4 — Configure the S7-1200 PROFINET Interface

  1. Select the S7-1200 CPU and open Properties → Ethernet addresses.
  2. Set the IP address of the S7-1200 (for example 192.168.111.1) and subnet mask.
  3. Ensure Use router is unchecked if all LOGO! 8 devices are on the same subnet.

Step 5 — Create the S7 Connection with Active Role

  1. In the network view, click the PROFINET port of the S7-1200 and drag a connection line to the LOGO! 8 PROFINET port.
  2. Right-click the connection line and select Properties → S7 connection.
  3. In the General tab, the connection is created as a default S7 connection. The local end (S7-1200) is the client, the partner (LOGO! 8) is the server.
  4. Open Properties → General → Local and confirm the local interface and IP.
  5. Open Properties → General → Partner and:
    • Set Partner address to the LOGO! 8 IP (192.168.111.3).
    • Confirm Partner interface is the LOGO! 8 PROFINET port.
  6. Open Properties → General → Connection mechanism:
    • Enable Establish active connection on the local (S7-1200) side.
    • Set the Connection ID (for example 1).
    • Set the Connection name (for example LOGO8_FleetNode_001).
  7. Save and compile the project.

The Establish active connection toggle is the key change compared to the standard Siemens application note where the LOGO! 8 is the active partner. With this flag on, the S7-1200 initiates the TCP handshake to the LOGO! 8 on TCP/102 and keeps the connection alive.

Step 6 — Define the Address Areas

  1. Open Properties → Addresses of the S7 connection.
  2. Add an Address detail entry for each data exchange:
    • Direction: → Partner for read (S7-1200 reads from LOGO! 8) or ← Partner for write (S7-1200 writes to LOGO! 8).
    • Partner address area: VM (Variable Memory).
    • Partner address: 0 (start byte in LOGO! VM).
    • Length: number of bytes (for example 32 for one full process image).
    • Local address: the start byte in the S7-1200 data block (for example DB10.DBX0.0).
  3. Repeat for any other area needed (process image in, process image out, network I/O).

Step 7 — Program the Client in the S7-1200

The TIA Portal S7 connection wizard generates a data block for the address area. To poll multiple LOGO! 8 servers sequentially, use a cyclic OB (OB1 or OB35) with a round-robin scheduler. The S7-1200 must call TCON to establish the connection, then PUT/GET (or TSEND/TRCV in raw S7 mode) and finally TDISCON before moving to the next node.

The following SCL skeleton illustrates a sequential polling loop. Each iteration reconnects to a different LOGO! 8 IP and transfers a 32-byte VM block:

// Round-robin scheduler for a 700-node LOGO! 8 fleet
// Active connections capped at 8 (S7-1200 limit)

#poll_index := #poll_index + 1;
IF #poll_index >= 700 THEN
    #poll_index := 0;
END_IF;

// Disconnect previous TCON if still active
IF "conn_status".active THEN
    "tdiscon_db".REQ := TRUE;
    "tdiscon_db".ID   := "conn_status".current_id;
END_IF;

// Build target IP from fleet table
#target_ip := "fleet_ip_table".ip[#poll_index];

// Issue new TCON to target LOGO! 8
"tcon_db".REQ          := TRUE;
"tcon_db".ID           := #poll_index;
"tcon_db".CONNECT.REMOTE_IP := #target_ip;
"tcon_db".CONNECT.REMOTE_TSAP := 16#0301;  // LOGO! 8 server TSAP
"tcon_db".CONNECT.LOCAL_TSAP  := 16#0101;  // S7-1200 client TSAP

// Wait for TCON_DONE, then PUT/GET
IF "tcon_db".DONE THEN
    "tsend_db".REQ := TRUE;
    "tsend_db".ID  := #poll_index;
    "tsend_db".DATA := "vm_out_buffer".block[#poll_index];
END_IF;

For an HMI/SCADA-facing interface, the same DB is read on the S7-1200. The HMI sees a flat address space and does not need to know that the data was just polled from a LOGO! 8.

LOGO! 8 Server Configuration

Step 1 — Configure the Ethernet Connection in LOGO!Soft Comfort

  1. Open the LOGO! program in LOGO!Soft Comfort V8.3 or later.
  2. Open Tools → Ethernet Connections.
  3. Add a new S7 Connection row.
  4. Set the following parameters:
    • Connection name (for example S7-1200_Master).
    • Local TSAP: 03.01 (default LOGO! 8 server TSAP for S7).
    • Partner TSAP: 01.01 (S7-1200 CPU 1, slot 1).
    • Partner IP: 192.168.111.1 (S7-1200).
    • Connection type: S7.
    • Role: Server (passive partner).
  5. The LOGO! 8 will accept incoming connection establishment from the S7-1200 on this row.

Step 2 — VM Address Mapping

  1. In the LOGO!Soft Comfort project, open Tools → VM Mapping.
  2. Map LOGO! program tags (digital inputs I1..I24, outputs Q1..Q20, analog inputs AI1..AI8, outputs AQ1..AQ8, function block outputs) to VM byte offsets.
  3. Example mapping:
    • I1..I8 → VM0.0..VM0.7
    • I9..I16 → VM1.0..VM1.7
    • Q1..Q8 → VM32.0..VM32.7 (process image outputs)
    • AQ1 → VM34.0 (word, 2 bytes)
  4. Upload the configuration to the LOGO! 8.

Step 3 — Network Inputs and Outputs (Optional)

LOGO! 8 supports four network inputs (NI) and four network outputs (NO) per Ethernet connection, mapped at VM576..VM607 and VM608..VM639 respectively. The S7-1200 writes to NI to drive LOGO! internal logic and reads from NO to gather derived data. These are exposed by LOGO!Soft Comfort as special function block inputs/outputs named NI1..NI4 and NO1..NO4 in the program editor.

Architecture for 700 LOGO! 8 Devices

Connection Budget Reality

The S7-1200 supports 8 concurrent active S7 connections. With one S7-1200 master, only 8 LOGO! 8 nodes can be polled in parallel. For 700 nodes, a sequential polling loop is required. The following table summarises the trade-off:

Parameter Value Notes
LOGO! 8 fleet 700 nodes All on TCP/102, S7 protocol
S7-1200 active conns 8 max Hard CPU limit
Polling parallelism 1..8 Configurable in scheduler
Cycle time at 1 conn ~250 ms per GET/PUT Includes TCON + GET + TDISCON
Total scan at 1 conn 700 × 0.25 s = 175 s Per S7-1200
Total scan at 8 conn 700 / 8 × 0.25 s ≈ 22 s Acceptable for non-critical

Recommended Topology

For a 700-node deployment, use a tiered architecture rather than a single S7-1200 attempting to loop through 700 LOGO! 8 nodes:

  1. Tier 1 (Field): LOGO! 8 BM at each machine or cell. 8..16 LOGO! 8 per shop floor segment.
  2. Tier 2 (Aggregation): S7-1200 CPUs acting as client masters for 50..100 LOGO! 8 each. 7..14 S7-1200 aggregators in this role.
  3. Tier 3 (Central): S7-1500 CPU (e.g., 6ES7515-2AM02-0AB0) polling the aggregators via S7 client connections and exposing data to SCADA via OPC UA or PROFINET.

The S7-1500 has 32 active S7 connections, so one S7-1500 can manage 14 S7-1200 aggregators in parallel, and each S7-1200 aggregator can poll 50 LOGO! 8 nodes sequentially within a 12..13 s scan window.

Sequencing Rules

  • Disconnect (TDISCON) the previous LOGO! 8 before connecting (TCON) the next one to avoid the 8-connection cap being hit.
  • Allow at least 250 ms between TCON and the first PUT/GET to let the LOGO! 8 internal state machine settle.
  • Tag every TCON with a timeout (default 3 s in TIA Portal; raise to 5 s for slow LOGO! 8 firmware V8.0).
  • Persist the last successful poll index in a retentive DB so a power cycle does not restart at index 0 and re-hit the same lag pattern.

Scaling Beyond 700

  • Add a second S7-1500 with a redundant role (WinCC redundancy, or PROFINET S2 redundancy on the backplane).
  • Use PROFINET to expose the S7-1500 data to SCADA (WinCC, Ignition) and avoid S7 polling at the SCADA layer.
  • For very large fleets, the LOGO! 8 also supports Modbus TCP server on TCP/502 as an alternative; the S7-1200 can mix S7 and Modbus clients in the same project. Modbus has lower per-byte overhead but no native S7 security model.

Web API as an Alternative Read Path

The S7-1200 CPU firmware V4.0 and later exposes a Web API on TCP/80. The Web API can read and write process tags directly, without an S7 connection. For fleet monitoring at 1..5 second scan rates, the Web API is a viable alternative — documented in the S7-1200 Web API documentation.

The Web API uses HTTP GET/POST with JSON payloads. The S7-1200 firmware V4.6 introduces the Web API Application object in TIA Portal that exposes DB tags as REST resources. This path is orthogonal to the S7 server / client path and is useful when the master is a non-Siemens SCADA or a third-party IIoT gateway.

For a LOGO! 8 → S7-1200 → SCADA path, the S7 connection approach remains the lowest-latency and most deterministic. Use the Web API only for non-real-time consumers (dashboards, historians).

Verification

Step 1 — Compile and Download

  1. Compile the S7-1200 project (Project tree → S7-1200 → Compile).
  2. Download hardware configuration to the S7-1200 (right-click → Download to device).
  3. Compile and download the LOGO! 8 project to each LOGO! via LOGO!Soft Comfort (Tools → Ethernet → Transfer).

Step 2 — Check Connection State

  1. In TIA Portal, go to Online → Online & diagnostics on the S7-1200.
  2. Open Diagnostics → Connections.
  3. Verify the S7 connection to the LOGO! 8 is in state Established.
  4. If the state is Not established, check the LOGO! 8 Ethernet connection row, the IP, and the TSAP values.

Step 3 — Read and Write Test

  1. Add a watch table in the S7-1200 project.
  2. Force a value into the LOGO! 8 process image output area (for example DB10.DBD32 := 16#00000001).
  3. Confirm the LOGO! 8 Q1 LED activates.
  4. Force a value into a LOGO! 8 input via the LOGO!Soft Comfort simulation and verify the S7-1200 DB10.DBD0 reflects it within the next scan.

Step 4 — Monitor Connection Stability

  1. Add a counter that increments on every successful GET response.
  2. Observe the counter over 24 hours. Any stalled counter indicates a stuck TCON or a partner that did not respond within the S7 timeout.
  3. Use the S7-1200 diagnostic buffer (Online & diagnostics → Diagnostics buffer) to inspect S7 connection events.

Common S7 Error Codes (Diagnostic Buffer)

Code (hex) Meaning Action
0x8081 Partner not reachable Verify IP and routing
0x8082 TSAP mismatch Align local/remote TSAP
0x8083 Partner rejected the connection Check LOGO! 8 Ethernet row role
0x8084 Connection terminated by partner Inspect LOGO! 8 diagnostic buffer via LOGO!Soft Comfort
0x80A7 Connection aborted by local CPU TDISCON issued; not a fault
0x80B5 Connection already established Skip redundant TCON

Troubleshooting Matrix

Symptom Likely Cause Resolution
S7 connection stays "Not established" "Establish active connection" not enabled on the S7-1200 side Enable the toggle in the S7 connection properties
S7 connection drops after 30 s LOGO! 8 keepalive timer mismatch Match "Connection establishment timeout" in TIA Portal to the LOGO! 8 S7 connection row (default 30 s)
Only the first 8 LOGO! 8 nodes respond S7-1200 connection limit hit Implement sequential polling, switch to S7-1500, or add tiered aggregators
GET returns wrong values VM mapping offset error in LOGO!Soft Comfort Verify "VM Mapping" table; download program again
LOGO! 8 S7 server row is grayed out LOGO!Soft Comfort project lacks Ethernet license Enable "LOGO! 8 Ethernet" in the LOGO! 8 hardware catalog
Connection works, but writes are ignored Direction set to read-only Change address detail direction to "← Partner" for writes
S7-1200 diagnostic buffer shows 0x8082 Partner TSAP mismatch LOGO! 8 default TSAP is 03.01; S7-1200 TSAP must be 01.01 for slot 1 CPU 1
Web API returns 404 on a tag Tag not published in Web API configuration In TIA Portal, "Web API Application" → enable the DB and tag
Connection OK but data is stale Round-robin scheduler not rotating Verify poll_index increment in OB1; check cyclic OB priority
LOGO! 8 reports "S7 connection fault" on its display TSAP slot mismatch on LOGO! 8 side Re-enter TSAPs in LOGO!Soft Comfort and re-transfer
S7-1500 throws SF on the S7-1200 partner CPU protection level on S7-1200 forbids PUT/GET from partner Disable "PUT/GET access protection" in S7-1200 properties

S7-1500 as an Alternative Master

If the S7-1200 connection budget becomes the bottleneck, the S7-1500 is the recommended replacement:

Parameter S7-1200 S7-1500
Max active S7 connections 8 32
Recommended for fleet size < 100 LOGO! 8 100..1000 LOGO! 8
TIA Portal configuration identical identical
Web API yes (V4.0+) yes
OPC UA server yes (V4.4+) yes (firmware V2.0+)
Per-connection GET/PUT latency ~80 ms ~40 ms

The S7-1500 also exposes a native OPC UA server, which is the recommended southbound interface to SCADA. With 32 active S7 connections, the S7-1500 can poll 32 LOGO! 8 nodes in parallel; for 700 nodes in a non-time-critical scan, this still requires a round-robin scheduler, but the parallel slice is 4× the S7-1200.

Safety and EMC Notes

Safety: The S7 protocol is not safety-rated. If the LOGO! 8 controls a safety function, use a separate safety bus (PROFIsafe) and do not mix safety data with the S7 polling channel.
  • The LOGO! 8 BM is rated for industrial environments but the Ethernet cabling must be Cat 5e or higher with shielded connectors in noisy environments.
  • For installations with VFDs or large contactors, route the LOGO! 8 Ethernet cables at least 200 mm away from power conductors and use cable trays with metal dividers.
  • Enable Access protection on the S7-1200 and put the LOGO! 8 master IP in the S7-1200 access list to prevent rogue S7 clients from writing to the same VM area.
  • Disable the S7-1200 Web server on production systems that do not need it, or restrict it to the LOGO! 8 subnet only via firewall rules.

FAQ

Can the S7-1200 be the active S7 client to a LOGO! 8 server?

Yes. In TIA Portal, create an S7 connection from the S7-1200 to the LOGO! 8, open the connection properties, and enable "Establish active connection" on the local (S7-1200) side. The LOGO! 8 is configured as a server in LOGO!Soft Comfort via Tools → Ethernet Connections, with a server S7 row pointing to the S7-1200's IP and TSAP 01.01.

How many LOGO! 8 servers can one S7-1200 poll?

Up to 8 concurrent active S7 connections at any one time. For a 700-node fleet, implement a round-robin scheduler in OB1 that establishes a connection, performs a GET/PUT, then disconnects before moving to the next node. For larger fleets, switch the master to an S7-1500 (32 active connections) or add tiered S7-1200 aggregators, each polling 50..100 LOGO! 8.

What VM areas are accessible from the S7-1200?

The S7-1200 can read and write the entire LOGO! 8 Variable Memory (VM), 850 bytes total: process image inputs (VM0..31), process image outputs (VM32..63), general variable memory (VM64..575), network inputs (VM576..607), network outputs (VM608..639), and user-defined tags (VM640..849). The mapping of LOGO! program tags to VM offsets is configured in LOGO!Soft Comfort under Tools → VM Mapping.

What TSAP values do the S7-1200 and LOGO! 8 use?

The LOGO! 8 S7 server default TSAP is 03.01. The S7-1200 S7 client default TSAP is 01.01 (CPU 1, slot 1). If the S7-1200 is in slot 0 or has a different rack/slot assignment, the TSAP must be adjusted on the LOGO! 8 side in LOGO!Soft Comfort to match.

Can I use the S7-1200 Web API instead of an S7 connection?

Yes. The S7-1200 Web API (firmware V4.0+) exposes DB tags as HTTP/JSON resources on TCP/80. For LOGO! 8 monitoring only, the Web API is faster to integrate with non-Siemens SCADA, but it does not read directly from the LOGO! 8 — you still need an S7 connection to read VM data from the LOGO! 8 into an S7-1200 DB, and then the Web API exposes that DB. For full bidirectional control, use the S7 connection path described above.

Does the S7-1200 require a firmware upgrade to be an S7 client to LOGO! 8?

Yes. The "Establish active connection" toggle is available on S7-1200 CPUs with firmware V4.0 or later. V4.2.2 or later is recommended for stability with the LOGO! 8 V8.3 firmware.

Back to blog