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.
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
- Open TIA Portal and create a new project.
- Add the S7-1200 CPU (for example 6ES7214-1AG40-0XB0) via Add new device → SIMATIC S7-1200 → CPU → CPU 1214C DC/DC/DC.
- 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
- In the project tree, expand Devices & networks and double-click Network view.
- 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.
- 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
- Select the LOGO! 8 in the network view and open Properties → Ethernet addresses.
- Set the IP address (for example 192.168.111.3) and subnet mask.
- Note the IP — it is referenced in the S7-1200 connection table.
Step 4 — Configure the S7-1200 PROFINET Interface
- Select the S7-1200 CPU and open Properties → Ethernet addresses.
- Set the IP address of the S7-1200 (for example 192.168.111.1) and subnet mask.
- Ensure Use router is unchecked if all LOGO! 8 devices are on the same subnet.
Step 5 — Create the S7 Connection with Active Role
- In the network view, click the PROFINET port of the S7-1200 and drag a connection line to the LOGO! 8 PROFINET port.
- Right-click the connection line and select Properties → S7 connection.
- 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.
- Open Properties → General → Local and confirm the local interface and IP.
- 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.
- 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).
- 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
- Open Properties → Addresses of the S7 connection.
- Add an Address detail entry for each data exchange:
-
Direction:
→ Partnerfor read (S7-1200 reads from LOGO! 8) or← Partnerfor 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).
-
Direction:
- 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
- Open the LOGO! program in LOGO!Soft Comfort V8.3 or later.
- Open Tools → Ethernet Connections.
- Add a new S7 Connection row.
- 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).
-
Connection name (for example
- The LOGO! 8 will accept incoming connection establishment from the S7-1200 on this row.
Step 2 — VM Address Mapping
- In the LOGO!Soft Comfort project, open Tools → VM Mapping.
- 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.
- Example mapping:
I1..I8 → VM0.0..VM0.7I9..I16 → VM1.0..VM1.7-
Q1..Q8 → VM32.0..VM32.7(process image outputs) AQ1 → VM34.0 (word, 2 bytes)
- 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:
- Tier 1 (Field): LOGO! 8 BM at each machine or cell. 8..16 LOGO! 8 per shop floor segment.
- Tier 2 (Aggregation): S7-1200 CPUs acting as client masters for 50..100 LOGO! 8 each. 7..14 S7-1200 aggregators in this role.
- 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
- Compile the S7-1200 project (Project tree → S7-1200 → Compile).
- Download hardware configuration to the S7-1200 (right-click → Download to device).
- Compile and download the LOGO! 8 project to each LOGO! via LOGO!Soft Comfort (Tools → Ethernet → Transfer).
Step 2 — Check Connection State
- In TIA Portal, go to Online → Online & diagnostics on the S7-1200.
- Open Diagnostics → Connections.
- Verify the S7 connection to the LOGO! 8 is in state
Established. - 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
- Add a watch table in the S7-1200 project.
- Force a value into the LOGO! 8 process image output area (for example
DB10.DBD32 := 16#00000001). - Confirm the LOGO! 8 Q1 LED activates.
- Force a value into a LOGO! 8 input via the LOGO!Soft Comfort simulation and verify the S7-1200
DB10.DBD0reflects it within the next scan.
Step 4 — Monitor Connection Stability
- Add a counter that increments on every successful GET response.
- Observe the counter over 24 hours. Any stalled counter indicates a stuck TCON or a partner that did not respond within the S7 timeout.
- 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
- 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.