Integrating Siemens LOGO! 8.2 with SINUMERIK 828D via S7 Protocol

David Krause12 min read
Industrial NetworkingSiemensTutorial / 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

1. Overview and Application Context

The SINUMERIK 828D CNC control (software version V4.04) integrates a SIMATIC S7-class PLC into the same PPU (Panel Processing Unit) as the NCK and HMI. In a typical machine tool, this integrated PLC executes the machine interlocks, axis enabling, spindle control, and tool-change sequences. When the available free hard-wired I/O on the PPU is exhausted—as is common when retrofitting an additional workholding circuit, hydraulic clamping station, or zero-point clamping system—an external I/O node is required.

The LOGO! 8.2 (6ED1052-xxx08-0BA1 series) is a low-cost logic module with built-in Ethernet RJ45 that supports two non-proprietary industrial protocols on top of standard TCP/IP:

  • SIEMENS S7 communication (as client only) over Ethernet TCP/IP, port 102.
  • Modbus TCP/IP (client or server), port 502.

LOGO! 8.2 does not support PROFINET IO, PROFIBUS DP, MPI, PPI, or AS-Interface. Therefore, when connecting a LOGO! 8.2 to a SINUMERIK 828D, the only supported path is the S7-communication-on-TCP/IP (RFC 1006 / TPKT) transport, not PROFINET I/O data exchange. This article details the engineering steps to establish that link, configure the data areas, and verify the workholding handshake end-to-end.

2. SINUMERIK 828D PLC Architecture and Communication Constraints

Inside every 828D PPU lives an integrated PLC that is programmed with the SIMATIC S7-300 instruction set. The integrated PLC communicates with the NCK, HMI, MCP (Machine Control Panel), and PP 72/48 I/O modules through a fixed interface defined by the PLC basic program loaded with the SINUMERIK 828D Toolbox. Field-level I/O on PROFINET or PROFIBUS is attached to this integrated PLC.

Component Function Relevance to LOGO! 8.2 Link
NCK (Numeric Control Kernel) Path planning, axis interpolation, block decoding. Not directly reachable by LOGO! 8.2; only via PLC interface (DB2x, M areas).
Integrated PLC (S7-class) Machine interlocks, I/O scanning, axis enable. LOGO! 8.2 communicates with this PLC as an S7 client.
HMI Operator screen, alarms, machine data. Indirectly observes the link through PLC tags.
PROFINET interface (X100, X101) Connects to MCP, PP 72/48, drives (Sinamics). Used by PLC, but not by LOGO! 8.2 directly.

The 828D integrated PLC exposes a standard S7-300 communication stack on its Ethernet port. To accept unsolicited PUT/GET access from an S7 client such as LOGO! 8.2, the integrated PLC must have Permit PUT/GET access from remote partner enabled in the STEP 7 hardware configuration. The 828D Toolbox does not expose this flag in the standard commissioning screens; the bit must be set in the S7-300 station loaded into the PLC, or the access must be implemented through configured S7 connections (see Section 6).

3. Hardware and IP Addressing Plan

Before touching any software tool, document the addressing scheme. Both nodes must reside in the same IP subnet, and the LOGO! must know the 828D PLC's IP address statically.

Parameter SINUMERIK 828D PLC LOGO! 8.2
Default IP (out of box) 192.168.214.1 (X127 service interface) 169.254.10.10 (fallback, must be changed)
Recommended production IP 192.168.1.10 (X120 PROFINET, machine network) 192.168.1.50
Subnet mask 255.255.255.0 255.255.255.0
Gateway 192.168.1.1 192.168.1.1
TSAP (local / remote) for S7 comms 10.00 (S7 default, rack 0, slot 2) 10.00 (configurable in LOGO! Soft Comfort)
Engineering note: Use the 828D's PROFINET port (X120 / X130 on the PPU) rather than the X127 service port for the LOGO! link. The X127 service interface is intended only for commissioning and has restricted routing. Verify the subnet with ping 192.168.1.10 from a maintenance laptop before configuring the LOGO!.

4. Activating S7 Communication on the SINUMERIK 828D PLC

The 828D integrated PLC is a partner that can either (a) accept a passive PUT/GET from any client with permitted access, or (b) participate in a fully configured S7 connection. For simplicity with LOGO! 8.2, use option (a): enable PUT/GET access once in the STEP 7 project that builds the S7-300 station the 828D runs.

  1. Open the SINUMERIK 828D Toolbox project, navigate to PLC > STEP 7 > S7-300 Station, and double-click the integrated CPU (e.g. CPU 317-2 PN/DP).
  2. Open Properties > Communication.
  3. Tick Permit access with PUT/GET from remote partner.
  4. Save and download the hardware configuration to the integrated PLC using the S7ONLINE access point (MPI/DP or Ethernet, depending on toolbox version).
  5. Verify on the HMI under Commissioning > PLC > Connection Status that the CPU reports a healthy Ethernet interface with the IP you assigned.

After this flag is set, the LOGO! 8.2 can read and write M, I, Q, and DB areas of the integrated PLC without any further S7 connection blocks (PUT/GET/FB14/FB15) on the 828D side. The integrated PLC behaves like a standard S7-300 CPU in this mode.

5. Configuring the LOGO! 8.2 as an S7 Client

LOGO! Soft Comfort V8.x is the engineering tool. The S7 client is configured under Tools > Ethernet Connections or, in the connection editor, by adding an S7 Connection block.

  1. Start LOGO! Soft Comfort, open or create the program for the LOGO! 8.2 BM with Ethernet.
  2. From the connection toolbar, drop an S7 Connection onto the project workspace. Maximum 8 S7 connections are supported on LOGO! 8.2 (firmware FS:04 and later).
  3. Open the connection properties and fill in:
    • Partner IP Address: 192.168.1.10 (the 828D PLC).
    • Partner TSAP: 10.00 (rack 0, slot 2, standard S7-300).
    • Local TSAP: 10.00 (default; can be any unused combination).
    • Read / Write cycle trigger: select a LOGO! flag, e.g. M8, pulsed by a 200 ms clock generator. This becomes the heartbeat that the 828D can monitor for link-health diagnostics.
  4. Add the data exchange points. The LOGO! 8.2 can read up to 32 bytes and write up to 32 bytes per connection. The typical workholding mapping is:
    • Read from 828D (logo receives): DB100.DBB0 = workholding command word, DB100.DBB1 = clamp pressure setpoint.
    • Write to 828D (logo sends): DB101.DBB0 = status byte (clamped/unclamped/pressure-ok/fault), DB101.DBB1 = measured pressure.
  5. Compile and download to the LOGO! 8.2 BM through Ethernet. Enter the LOGO!'s IP into LOGO! Soft Comfort's transfer dialog.
Field caveat: The first PUT/GET packet from LOGO! 8.2 after power-up typically takes 800–1500 ms to complete (TCP open + TPKT/COTP handshake + S7 read). Do not base any safety-critical timing on the first cycle after boot. Allow at least 3 successful cycles (around 1 s at 200 ms trigger) before the 828D PLC considers the link live.

6. Alternative: Configured S7 Connection on the 828D Side

If the integrated PLC's PUT/GET access flag cannot be left open (e.g. locked-down plant security policy), the connection can be made initiated by the 828D side instead. In that case, drop a configured S7 connection in the STEP 7 NETPRO and program the PUT/GET function blocks (FB14 GET, FB15 PUT) inside the 828D PLC. The LOGO! 8.2 then becomes the S7 server rather than the client. Because LOGO! 8.2 firmware exposes its internal variables on the S7 server side, the 828D PLC can use FB14/FB15 to fetch those values.

Approach Initiator PLC-side effort LOGO! side effort Recommended when
Permitted PUT/GET + LOGO! as client LOGO! 8.2 One checkbox in HW config Connection block in Soft Comfort Default, fastest commissioning.
Configured S7 connection + 828D as client 828D PLC NETPRO entry, FB14/FB15 instance DBs LOGO! acts as server, no client config Plant security policy restricts passive access.
Modbus TCP, LOGO! as client LOGO! 8.2 MB_CLIENT in 828D PLC + permission Modbus master table When using a non-Siemens partner instead.

7. Data Mapping Example: Workholding Clamping Station

The workholding circuit is logically a slave to the NC: the NC requests clamp/unclamp, the 828D PLC arbitrates, and the LOGO! 8.2 controls the hydraulic valves, pressure sensors, and proximity switches locally on the clamping fixture. Reserve a dedicated data block on the 828D for the LOGO! interface; do not mix LOGO! tags with NCK-PLC interface DBs (DB10, DB11, DB20, DB21, DB31, etc.) because the basic program writes to those in a fixed cycle and they may be overwritten.

7.1 DB100 — 828D → LOGO! (commands)

DATA_BLOCK DB100
TITLE 'LOGO! 8.2 Workholding - Commands'
STRUCT
  bCommand    : BYTE;   // 0 = idle, 1 = clamp, 2 = unclamp, 3 = reset
  bPressureSP : BYTE;   // Setpoint pressure in bar (0..200)
  bReserved1  : BYTE;
  bReserved2  : BYTE;
  wTimeout    : WORD;   // Max clamp time in 100 ms units
END_STRUCT
END_DATA_BLOCK

7.2 DB101 — LOGO! → 828D (status)

DATA_BLOCK DB101
TITLE 'LOGO! 8.2 Workholding - Status'
STRUCT
  bStatus     : BYTE;   // Bit0 clamped, Bit1 unclamped, Bit2 pressureOK,
                        // Bit3 fault, Bit4 linkOk, Bit5..7 reserved
  bPressurePV : BYTE;   // Measured pressure in bar
  bDiagCode   : BYTE;   // 0 = OK, 1 = timeout, 2 = sensor missing, ...
  bLinkAge    : BYTE;   // Increments on each successful cycle, used for liveness check
END_STRUCT
END_DATA_BLOCK

In the 828D PLC, monitor DB101.bLinkAge and consider the LOGO! link dead if the counter does not increment within 1 s. When dead, the NC must enter a hold-to-run state and display alarm 700100 "Workholding link lost". Place this alarm in the user PLC program, not in the LOGO!.

8. Commissioning Procedure and Verification

  1. Power the 828D, let NCK and PLC come up. Confirm HMI shows OPERATE or READY state.
  2. Connect the LOGO! 8.2 to the same physical Ethernet switch as the 828D's PROFINET port, or wire point-to-point to X120 with a patch cable.
  3. From the 828D HMI, open Commissioning > PLC > Variable View and force the following:
    • Set DB100.bCommand = 1 (clamp). Observe that the LOGO!'s output for the clamp solenoid energises.
    • Apply air/hydraulic pressure to the fixture. Watch DB101.bStatus bit 0 (clamped) and bit 2 (pressureOK) come true.
  4. Verify DB101.bLinkAge increments once every 200 ms in cross-reference view.
  5. From LOGO! Soft Comfort in online mode, open the watch table for the S7 connection and confirm the read/write timestamps are inside the 200 ms cycle.
  6. Run a worst-case test: cycle the LOGO! 8.2 power while the 828D is in AUTO. The PLC must drop into the link-dead alarm and prevent the next NC start. Restore power, confirm link re-establishes within 2 s, and clear the alarm from HMI.

9. Troubleshooting Matrix

Symptom Likely Root Cause Diagnostic Step Fix
LOGO! Soft Comfort reports "No connection to S7 partner". Wrong partner IP or TSAP, or 828D PLC is not on the configured IP. Ping 828D from laptop on same subnet; check PLC Ethernet LED. Correct IP / TSAP, or restore 828D default IP via X127 service interface.
S7 connection establishes but DB read returns 0. PUT/GET access not enabled on 828D PLC. On 828D HMI, check PLC > Diagnostics > Communication. Tick "Permit access with PUT/GET" and re-download HW config.
Intermittent link drops, DB101.bLinkAge freezes for > 1 s. Broadcast storm on PROFINET, or LOGO! 8.2 firmware < FS:04. Check LOGO! firmware version in device menu; capture with Wireshark on tap. Update LOGO! 8.2 firmware to FS:05 or later; isolate the LOGO! on a separate switch port with filtering.
Workholding fires during NC reset. LOGO! outputs latched across PLC stop. Check the LOGO! program: outputs must be conditional on the 828D command, not on a startup-only contact. Re-engineer the LOGO! ladder so all hazardous outputs require the cyclic bCommand from DB100 AND a non-zero link age.
Data written by 828D is overwritten by NCK-PLC basic program. Shared use of DB10/DB11/DB20/DB21/DB31. Cross-reference the addresses in the S7 project. Move LOGO! interface to user DBs (DB100/DB101) and reserve them in the symbol table.
Connection is good in commissioning but fails in production. Plant firewall between IT and OT subnets, or MCP traffic oversaturating the port. Check the routing of the X120 subnet in plant network. Apply rule to allow TCP port 102 between LOGO! and 828D only; rate-limit PROFINET multicast.

10. Safety Considerations for CNC Workholding

Safety-critical note: Workholding (clamping) on a CNC machine is a safety function. Per ISO 12100 and ISO 16090-1, loss of clamping state during a cutting operation is a hazardous failure. The LOGO! 8.2 is a non-safety logic module. It must not be used as a substitute for a safety PLC (e.g. SIMATIC S7-1500F) or a dedicated safety relay when the risk assessment requires a safety-rated part.
  • Hard-wire the workholding pressure switch directly into the 828D's safe I/O (or a safety relay) and let the NCK monitor it via the PLC interface. The LOGO!'s pressure-OK bit is a convenience signal, not a safety proof.
  • Implement a hold-to-run enforcement in the 828D PLC: if DB101.bLinkAge does not increment for more than 1 s, lock the start of axis motion via the NCK interface (DB31, DBX6.0 etc., as per the specific axis DB layout in the 828D basic program).
  • Validate the entire safety chain on first commissioning and annually, following the machine builder's verification protocol.

11. References for Further Verification

Refer to the LOGO! 8.2 system manual from Siemens (6ED1050-1AA00-0BA8 series documentation) for the exact S7 connection block parameters and for the maximum number of simultaneous S7 connections per firmware revision. For the 828D side, consult the SINUMERIK 828D PLC Programming Manual and the SINUMERIK 828D Toolbox Manual for the integrated PLC hardware configuration and the location of the PUT/GET access flag. The STEP 7 V5.7 / TIA Portal S7-300 Communication manual is the canonical reference for the underlying S7 protocol behavior, including the TSAP addressing scheme used in Section 3.

Does LOGO! 8.2 support PROFINET IO to a SINUMERIK 828D?

No. LOGO! 8.2 supports Ethernet TCP/IP with the Siemens S7 protocol and Modbus TCP/IP only. It does not act as a PROFINET IO device, so PROFINET cyclic I/O exchange with the 828D is not possible. Use the S7-communication-on-TCP/IP path described in this article.

What firmware version of LOGO! 8.2 is required for stable S7 communication?

Use firmware FS:04 or later. Earlier FS versions are limited to a single S7 connection and show link age glitches when scaled to workholding cycle times. FS:05 is recommended for production.

Can the 828D's integrated PLC function as an S7 client toward the LOGO! 8.2?

Yes, by configuring an S7 connection in NETPRO and programming FB14 (GET) and FB15 (PUT) in the STEP 7 project. Use this method when the PLC's "Permit PUT/GET access from remote partner" flag is not allowed by plant security policy.

Which IP and port does S7 communication use between LOGO! 8.2 and the 828D?

S7 communication runs over TCP port 102 (ISO-on-TCP, RFC 1006 / TPKT). Both nodes must be on the same IP subnet; default 828D service IP is 192.168.214.1 on X127, but use the production PROFINET port IP for the LOGO! link.

Is it safe to use a LOGO! 8.2 for workholding interlocks on a CNC?

The LOGO! 8.2 is a non-safety logic module. It can be used to expand I/O and to handle non-safety commands, but a loss-of-link condition must drop the machine into a safe state enforced by the 828D's safety-related I/O and the NCK, not by the LOGO! itself. Perform a risk assessment per ISO 12100 / ISO 16090-1.

How fast is the data refresh between LOGO! 8.2 and the 828D PLC?

Each read or write cycle of 32 bytes completes in 10–30 ms over a quiet network. With a 200 ms trigger from a LOGO! clock generator, expect end-to-end command-to-status latency of about 220–260 ms. Do not base any safety timing on the first cycle after a power-up of the LOGO!.

Back to blog