S7-300 CPU Communication via CP 343-1 Lean: Step-by-Step Setup

David Krause13 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

Overview

The CP 343-1 Lean (catalog number 6GK7343-1CX10-0XE0) is the entry-level communications processor for S7-300 stations that require Ethernet connectivity but do not need the full PROFINET controller / IO-device feature set of the CP 343-1. It is the standard solution when an S7-300 CPU without an integrated PROFINET interface (such as the CPU 314C-2DP, order number 6ES7314-6CG03-0AB0, or the CPU 315-2DP, 6ES7315-2EH13-0AB0) must exchange data with another S7 station, an HMI panel, or a SCADA server over TCP/IP networks.

This article addresses a typical field topology: two S7-300 CPUs, each fitted with a CP 343-1 Lean, joined through an industrial Ethernet switch. A single HMI panel is also connected to the same switch and must communicate with the first CPU. The question is not whether this works — it does — but how to configure it correctly in STEP 7 (Classic with NetPro) or in TIA Portal V15.1 and later.

Two protocol paths must be built:

  1. An S7 communication connection between the two CPUs, used for cyclic data exchange (PUT / GET or BSEND / BRCV blocks).
  2. An S7 / HMI communication connection between the HMI panel and CPU #1's CP, used for tag polling.

Both connections ride on top of ISO-on-TCP (RFC 1006, port 102) and are configured statically — not via programmed / dynamic connection establishment — for deterministic startup behavior.

Prerequisites

  • STEP 7 V5.5 SP4 / SP5 or TIA Portal V15.1 or newer (TIA Portal V16 / V17 recommended for current CP 343-1 Lean firmware).
  • CP 343-1 Lean module 6GK7343-1CX10-0XE0 (current production version) with firmware ≥ V3.0. Earlier hardware revisions 6GK7343-1CX00-0XE0 are electrically compatible but ship older firmware; check with HW Config > CP > Module Information > Firmware.
  • S7-300 rack with CPU 314C-2DP or 315-2DP (any DP variant, not the -2PN/DP variants — those have an integrated PN port and do not require a CP for Ethernet).
  • SIMATIC Memory Card (MMC) sized per CPU manual; minimum 64 KB recommended for CP 343-1 Lean connection data storage.
  • Industrial Ethernet switch (e.g., SCALANCE XC-208 6GK5208-0BA10-2AA3) with at least three free 100 Mbit/s ports.
  • Ethernet patch cables, Cat 5e or higher, RJ-45, maximum segment length 100 m.
  • HMI panel: either a SIMATIC Comfort Panel (TP / KP / KTP series, 6AV2…) or a WinCC Runtime station. Comfort Panels ship with integrated PN interface; older MP / OP panels require an Ethernet option card.
  • Free IP addresses on a private / managed Ethernet subnet. Example used in this article: 192.168.0.0/24.
Hardware rule of thumb: The CP 343-1 Lean occupies one slot in the S7-300 rack (slots 4–11 only). It must be inserted to the right of the CPU and must be uniquely addressed via the backplane. Two CPs in one station are permitted but consume two connection resources each.

System Architecture

The reference topology consists of three Ethernet nodes hanging off a single switch:

Node Device IP Address Subnet Mask Default Gateway
CPU #1 + HMI target CPU 314C-2DP on rack 0, slot 2; CP 343-1 Lean in slot 4 192.168.0.10 255.255.255.0 192.168.0.1
CPU #2 (data peer) CPU 315-2DP on rack 0, slot 2; CP 343-1 Lean in slot 4 192.168.0.20 255.255.255.0 192.168.0.1
HMI Panel SIMATIC TP1200 Comfort (example) 192.168.0.30 255.255.255.0 192.168.0.1
Switch (Layer 2) SCALANCE XC-208 192.168.0.1 255.255.255.0 —

All four devices share broadcast domain 192.168.0.0/24. The switch is not a router and does not perform address translation. Each station is assigned a static IP via STEP 7 / TIA Portal and downloaded as project data; the switch itself needs an IP only if web-managed (for diagnostics) and is otherwise transparent.

CP 343-1 Lean Hardware Specifications

Parameter Value
Catalog number (current) 6GK7343-1CX10-0XE0
Transmission rate 10 / 100 Mbit/s, auto-negotiation, auto-crossover (MDI/MDIX)
Number of interfaces 1 × RJ-45 (electrical); no fiber port
Connection resources 4 total (Lean variant) — counts every statically configured S7, S7-HMI, TCP, ISO-on-TCP, and UDP connection
Supported protocols S7 communication, S7-HMI, ISO-on-TCP (RFC 1006), TCP, UDP, SNMP, PROFINET (only as IO-Device with limited functionality; no PN controller)
Maximum S7 connections Of the 4 total: up to 4 may be S7 or S7-HMI
Open TCP / UDP sockets (programmed) Up to 4 — see Programmed communication connections via CP (S7-300 / S7-400 / S7-1500) for AG_SEND / AG_RECV usage
Power consumption 5.5 W typical from S7-300 backplane
Operating temperature 0 °C to +60 °C horizontal mounting
Configuration interface STEP 7 V5.x via MPI or Ethernet; TIA Portal via Ethernet
Diagnostics Web server (read-only) on port 80 / 443 (firmware dependent); accessible via http://<cp-ip>
Connection budget: Because the CP 343-1 Lean supports only 4 connections total, every endpoint must be counted. In the example below, CP #1 holds 1 S7 connection to CP #2 plus 1 S7-HMI connection to the panel = 2 connections used, 2 free. CP #2 holds 1 S7 connection to CP #1 = 1 used, 3 free. Both CPs stay well under the limit, but a fourth node would saturate CP #1.

STEP 7 (Classic) Project Configuration with NetPro

The deterministic path is to define both connections statically in NetPro so that the CP establishes them automatically at startup. This avoids the slower and error-prone programmed (dynamic) connection path documented in Siemens TIA Portal help — Programmed communication connections via CP.

Step 1 — Insert the CP 343-1 Lean

  1. Open SIMATIC Manager > Project > Insert New Object > SIMATIC 300 Station.
  2. Open HW Config. Insert the appropriate DIN rail (e.g., 6ES7390-1AE80-0AA0) and place the CPU in slot 2.
  3. From the hardware catalog, locate CP-300 > Industrial Ethernet > CP 343-1 Lean > 6GK7343-1CX10-0XE0. Drag it into slot 4 of the S7-300 rack.
  4. Double-click the CP to open Properties — Ethernet Interface. On the Parameters tab assign IP address 192.168.0.10, subnet mask 255.255.255.0, and (optionally) router 192.168.0.1.
  5. Repeat for the second SIMATIC 300 station, assigning 192.168.0.20 to its CP.
  6. Save and compile (Station > Save and Compile).

Step 2 — Connect to an Ethernet Subnet

  1. Open NetPro (from HW Config: Options > Configure Network).
  2. Right-click each CP's Ethernet port > Insert New Connection.
  3. Select connection partner as the remote CP in the partner station and choose type S7 connection.
  4. In the connection dialog, set the partner IP address explicitly (do not rely on S7 routing) and confirm the local TSAP and partner TSAP defaults.

The CP 343-1 Lean uses TSAP encoding 01.. for S7 connections — for example, 01.00.02 identifies CPU slot 2. The two stations should leave these values at default unless rack / slot numbering differs.

Step 3 — Configure HMI Connection

From NetPro, with CP #1 selected, right-click > Insert New Connection > partner type HMI station (or unspecified / S7-HMI). Enter the panel's IP 192.168.0.30 and complete the wizard. NetPro will register the connection on both CP #1 and on the panel's project side once WinCC flexible / TIA Portal HMI project is added.

S7 Communication Programming

The S7 connection configured in NetPro only reserves a transport channel — actual data exchange is performed by user program blocks.

PUT / GET (one-way, easy)

For unidirectional exchange (CPU #1 writes a DB into CPU #2, or reads a DB from CPU #2), use the PUT / GET blocks from the Standard Library > Communication Blocks > SIMATIC_NET_CP > CP 300 family:

Block Function Typical FB number Used at
FB15  PUT Write 1 to 4 contiguous data areas to a partner FB15 CPU #1 (active)
FB14  GET Read 1 to 4 contiguous data areas from a partner FB14 CPU #1 (active)

Example — read 20 bytes from DB20 of CPU #2 into DB100 of CPU #1, called from OB1:

// CPU #1 OB1 — read request
CALL  "GET" , DB14
  REQ    := TRUE                       // rising edge starts the job
  ID     := W#16#1                     // connection ID from NetPro (hex)
  NDR    := "dbGet.NDR"                // new-data-ready flag
  ERROR  := "dbGet.ERROR"
  STATUS := "dbGet.STATUS"
  ADDR_1 := P#DB20.DBX0.0 BYTE 20      // source area in partner CPU
  RD_1   := P#DB100.DBX0.0 BYTE 20     // target area in local DB
END_CALL

The connection ID is the decimal ID shown in NetPro's connection table for that partner. Status word STATUS follows the S7 communication error model: 0000 = no error, 8183 = already active, 8304 = connection not established, etc.

BSEND / BRCV (bidirectional, larger payloads)

For payloads above 76 bytes per call, use BSEND / BRCV (FB12 / FB13) which allow up to 32 KB per call. BSEND is non-blocking; BRCV must run cyclically to drain incoming segments.

USEND / URCV (coordinated, hand-shake)

For tightly coupled event-driven data exchange (no buffering, no retry), use USEND / URCV (FB8 / FB9). USEND clears the receive job on the partner, which is appropriate when every send must be processed exactly once.

TIA Portal Equivalent Procedure

From TIA V15.1 onward the same topology is configured in Devices & Networks:

  1. Insert both S7-300 stations and the HMI panel into the project tree.
  2. Drag the CP 343-1 Lean 6GK7343-1CX10-0XE0 from the hardware catalog into slot 4 of each S7-300.
  3. Open Devices & Networks > Network view. Use the Connections button at the top right to enable connection mode. Click CP #1's Ethernet port, drag to CP #2's Ethernet port — the type defaults to S7 connection.
  4. Click the panel's PROFINET port and drag to CP #1 — this creates an HMI connection.
  5. On each connection's properties, assign local ID (decimal) and verify IP / TSAP settings.
  6. Call PUT / GET (now also available from Instructions > Communication > S7 Communication) from the program blocks of the active CPU.
TIA Portal V20 introduced a clean-up of legacy CP connection parameters; consult the official page Programmed communication connections via CP (S7-300 / S7-400 / S7-1500) if you mix programmed and configured connections in the same project.

HMI Integration

Once the HMI connection is created in NetPro / Devices & Networks:

  1. In the HMI project, add tags pointing to the absolute addresses on CPU #1, e.g., DB100.DBW0, I0.0, MW100.
  2. Configure the acquisition mode (cyclic on demand, or continuous) and update cycle (typical 1 s for status, 250 ms for motion-critical).
  3. Build the screen with the desired I/O fields. Comfort Panels support both bitwise and word-level tags; for word-level data pulled from the CPU #2 via PUT/GET, point the HMI tag directly to the CPU #1 mirror DB.

Throughput expectation: the HMI panel polls the CPU on the configured cycle; the CP 343-1 Lean can sustain well over 1000 tags at a 1 s cycle without saturating the 4-connection budget, because the panel reuses a single connection for all tag traffic.

Verification

After downloading the hardware configuration and the user program to both CPUs:

  1. Open Online & Diagnostics on each CP and confirm Connection status = established for every configured partner.
  2. Use a VAT table on CPU #1 to write a tag into the partner-fetch DB; observe the same value appear in CPU #2's source DB within one polling cycle of the GET block.
  3. From the HMI panel, force a value change on a tag and verify the change is reflected in the CPU's input image (monitor with a VAT or a status screen on the HMI itself).
  4. From a PC connected to the switch, browse to http://192.168.0.10 to view the CP's web diagnostics. Look under Information > Connection > Active connections — both the S7 partner and the HMI partner should be listed with state ESTABLISHED.
  5. For deeper diagnostics, capture a Wireshark trace on the switch's mirror port and filter for ISO-on-TCP (port 102). You should see CR (Connection Request) packets only at startup; after that only DT (Data) and AK (Acknowledgment) TPDUs.

Troubleshooting Matrix

Symptom Likely Root Cause Corrective Action
Connection stays in not established, STATUS 8304 IP mismatch between CP and NetPro entry Ping partner IP from a PC on the same switch; correct the IP on either HW Config or NetPro, recompile, download
STATUS 8183 on every GET call Previous GET still running (job busy) Check NDR / ERROR before issuing REQ again; ensure cycle time allows job completion, or switch to BSEND/BRCV for larger payloads
HMI shows "Connection interrupted" Wrong TSAP or panel IP, or panel project not transferred Compare TSAP strings in WinCC flexible / TIA HMI connection editor; recompile and transfer the HMI runtime
CP web page inaccessible Web server disabled in CP properties In HW Config > CP > Properties > Web, enable "Activate Web server"; restart CP after download
CPU #2 receives data only on first call PUT/GET called without monitoring NDR / DONE; trigger flag never reset Edge-trigger REQ with the previous-cycle NDR / DONE inverted
SF (group error) LED on CP Duplicate IP on the subnet Disconnect suspect devices; use switch's MAC table to identify duplicate; reassign IPs
BF (bus fault) LED blinks at 2 Hz Physical layer problem — wrong cable, port disabled, or partner not ready Try a known-good patch cable; verify partner port LED; check switch port is not administratively down
Connection limit reached (STATUS 8301) More than 4 connections routed through the CP Audit every NetPro entry; combine tag traffic onto a single connection; upgrade to CP 343-1 (non-Lean, 16 connections) if needed

Performance & Timing Considerations

The CP 343-1 Lean has a single Ethernet port and shares internal processing between all configured connections. A single GET call with a 20-byte payload typically completes in 30–80 ms on a lightly loaded network. The BSEND / BRCV pair can sustain > 1 Mbit/s application throughput for large buffers, but only on connections that are not contended by HMI traffic.

For deterministic cyclic exchange between the two CPUs, drive PUT / GET from a cyclic OB (e.g., OB35 with a 100 ms period) and use the DONE bit to gate the next call. Avoid calling GET with REQ permanently TRUE; the block queues only one outstanding job per connection, and a saturated queue will return STATUS 8183.

Safety and Operational Notes

  • The CP 343-1 Lean is not fail-safe / SIL-rated. Do not route safety signals through it; use PROFIsafe on PROFIBUS / PROFINET with an F-CPU instead.
  • When connecting to a plant-wide network, isolate the S7-300 subnet through a SCALANCE security module (e.g., SCALANCE S615) — the Lean CP has no firewall.
  • Disable unused protocols on the CP (SMTP, FTP, Web) to reduce attack surface. Configuration is in HW Config > CP > Properties > Services.
  • Document every connection ID and partner IP in the project documentation so that future diagnostics are unambiguous.

Can two S7-300 CPUs with CP 343-1 Lean exchange data and serve an HMI on the same switch?

Yes. Configure one S7 connection between the two CPs (for PUT/GET data exchange) and one S7-HMI connection between the HMI panel and CP #1. All three connections are static, ride on ISO-on-TCP port 102, and stay well below the CP 343-1 Lean's 4-connection limit.

Do I need a CP 343-1 Lean on both stations?

Yes, if the CPUs are -2DP variants without an integrated PROFINET port. The CP 343-1 Lean (or CP 343-1) is mandatory for external Ethernet communication from those CPUs. CPUs with a -2PN/DP suffix already include a PN interface and do not require a separate CP for HMI / peer-to-peer traffic.

Which protocol should I use for CPU-to-CPU data — ISO-on-TCP or TCP?

Use ISO-on-TCP (RFC 1006, port 102) for S7 communication. It carries TSAP addressing that resolves CPU slot / rack without needing application-layer routing. Pure TCP requires the AG_SEND / AG_RECV blocks and manual length-prefix handling, and is only justified for non-S7 partners or custom protocols.

Why does the connection show "not established" immediately after download?

The CP needs ~10–20 s after startup to bring the Ethernet interface up, complete the S7 connection handshake, and resolve TSAPs. If the state does not transition to ESTABLISHED after 60 s, ping the partner IP, then check NetPro's connection ID, partner IP, and TSAP string. Status 8304 in the connection diagnostics indicates a configuration mismatch.

How do I migrate the project from STEP 7 V5.x to TIA Portal without losing connections?

Use TIA Portal's Migrate Project function. The migration preserves CP slots, IP addresses, and NetPro connection entries, but you must re-assign the CP 343-1 Lean catalog number from the V5.5 HSP (often 6GK7343-1CX10-0XE0) and re-download hardware. Verify all connections in Devices & Networks before downloading to the live stations.

Back to blog