Configuring WinCC Communication with IM 151-8 PN/DP CPU

David Krause13 min read
HMI / SCADASiemensTutorial / 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

System Overview and Architecture

The ET200S is a modular, distributed I/O station from the SIMATIC family. The IM 151-8 PN/DP is the variant that integrates an intelligent CPU (order number 6ES7151-8AB00-0AB0 or the later 6ES7151-8AB01-0AB0 / 6ES7151-8FB00-0AB0 fail-safe variant) into the ET200S head station, exposing both a PROFINET interface and a PROFIBUS-DP master/slave interface on a single module. When the IM 151-8 acts as the controller for its own backplane, it presents itself to supervisory software as a standalone S7 CPU on the network — not as a passive I/O device. WinCC (classic, pre-TIA Portal) and the WinCC Channel "SIMATIC S7 PROTOCOL SUITE" use the S7 communication layer (BSEND/BRECV or PUT/GET) over ISO-on-TCP (RFC1006, port 102) to exchange process data with the CPU.

Communication path:

SCADA PC WinCC Runtime S7 Channel + Simatic Net CP1612 / Intel NIC PROFINET (TCP/IP) Industrial Ethernet / RFC1006 IM 151-8 PN/DP ET200S CPU Rack 0 / Slot 2 PROFINET + DP ET200S I/O PM-E / DI / DO / AI Backplane bus
Important distinction: The IM 151-8 is a CPU — it is programmed with STEP 7 V5.x (SIMATIC Manager) just like an S7-300 station. It is not a standard ET200S head module (IM 151-1) that simply proxies I/O for a remote master. The WinCC S7 channel always targets the CPU's PROFINET interface, not the I/O backplane.

Prerequisites

Before configuring the connection, confirm the following components and versions are installed on the engineering/runtime PC and that the PLC is reachable on the network.

Component Recommended Version Notes
STEP 7 (SIMATIC Manager) V5.5 + SP4 / SP5 Required for IM 151-8 hardware catalog and online diagnostics
WinCC V7.0 SP3 / V7.2 / V7.3 / V7.4 Classic WinCC; not WinCC Unified
SIMATIC NET V8.x or V12/V13 (DVD bundled with WinCC) Mandatory — provides the S7 channel OPC server / Softnet driver
IM 151-8 PN/DP Firmware V3.x (standard) / V6.x (F-CPU) Update with SIMATIC Manager > PLC > Update Firmware
Ethernet cabling PROFINET-compliant Cat 5e or higher Patch panel, switch, or direct PC ↔ PLC
Simatic Net must be installed from the WinCC DVD (or the standalone SIMATIC NET DVD). If WinCC is installed first without Simatic Net, the S7 channel DLLs do not register and the connection will fail silently or with error 0x0001.

STEP 7 Hardware Configuration of the IM 151-8

  1. Open SIMATIC Manager and create a new STEP 7 V5.x project.
  2. Insert a SIMATIC 300 station (the IM 151-8 is configured with the S7-300 hardware catalog > ET200S > IM 151-8 PN/DP CPU).
  3. Open HW Config and place the IM 151-8 in slot 2 of rack 0. The power module (PM-E) occupies slot 0; the IM 151-8 must be at slot 2 — this is the rack/slot pair WinCC will reference.
  4. Double-click the IM 151-8 and assign the PROFINET interface an IP address that matches the physical PLC. Subnet mask 255.255.255.0 is typical. If a router is used, fill the router field.
  5. Save and compile (Station > Save and Compile). Download the hardware configuration to the PLC (PLC > Download to Target).
  6. In the NetPro view, no S7 connection is strictly required for WinCC communication, but if you want a configured connection, add an S7 connection to the partner PC station.
Firewall / port note: SIMATIC S7 communication uses TCP port 102 (ISO-on-TCP / RFC1006). Confirm Windows Firewall (or any corporate endpoint security) allows inbound/outbound on TCP 102 between the SCADA PC and the IM 151-8.

WinCC Project — Configuring the S7 Channel

WinCC's "SIMATIC S7 PROTOCOL SUITE" is the driver for native S7 communication. Add it to the tag management before creating any tags.

  1. Open the WinCC Explorer and expand Tag Management.
  2. Right-click Tag Management > Add New Driver > select SIMATIC S7 PROTOCOL SUITE > Open.
  3. The driver appears with its logical connections: MPI, PROFIBUS, TCP/IP, Industrial Ethernet (ISO), Named Connections. For the IM 151-8 PROFINET interface, use TCP/IP (do not pick TCP/IP (Auto) — see the next section).
  4. Right-click TCP/IP > New Connection. A new connection named NewConnection_1 appears.
  5. Right-click the new connection > Connection Parameters. Configure the dialog as shown below.
Parameter Value for IM 151-8 Description
IP Address PLC IP, e.g. 192.168.0.10 Must match the IM 151-8 PROFINET interface
Rack Number 0 IM 151-8 always reports rack 0
Slot Number 2 CPU slot in ET200S (mandatory for ET200S CPU)
Connection Type S7 Communication (default) PUT/GET-based, no configured connection in NetPro required
Send/Receive Raw Data Unchecked See troubleshooting section

Simatic Net and PG/PC Interface

The WinCC S7 channel does not talk to the network adapter directly — it talks to a logical device name that is mapped to a physical interface through the Set PG/PC Interface tool (the SIMATIC Shell / Configuration Console in newer releases). Three configuration paths are commonly used.

  • Softnet on the standard Intel NIC: Apply in installations where no Siemens CP is present. The PC's LAN card becomes the S7 endpoint.
  • CP 1612 / CP 1623 / CP 1628: A Siemens PROFINET ASIC card with its own NDIS driver. Use this for deterministic / IRT applications.
  • Softnet IE (RFC1006): The most common setup for IM 151-8 connections.

Configure the access point:

  1. Open Windows Control Panel > Set PG/PC Interface (32-bit) or SIMATIC Configuration Console (64-bit).
  2. Access Point of Application: select S7ONLINE.
  3. Interface Parameter Assignment Used: choose the LAN card or CP that connects to the IM 151-8 PROFINET network.
  4. Properties > confirm IP address of the PC is in the same subnet as the PLC.
  5. Click OK and close. WinCC will use this assignment when the project starts.
Use "TCP/IP", not "TCP/IP (Auto)": The (Auto) variant dynamically scans all available adapters. If the PC has multiple network cards (e.g., corporate LAN + plant LAN), the wrong interface may be picked at runtime, causing "no connection" errors. Pin the access to a specific NIC by selecting the plain TCP/IP entry.

Logical Device Name and System Parameters

Inside WinCC Explorer > TCP/IP > System Parameters > Unit tab, the Logical device name field must point to the same access point used by SIMATIC Manager (S7ONLINE). If this field is left blank or set to a non-existent name, the runtime connection establishes briefly then drops.

Typical configuration:

  • Logical device name: TCPIP -> Network card name (displayed as the friendly name of the bound NIC)
  • If a Siemens CP is used, the logical device name is the CP's instance (e.g. CP1612.S7ONLINE).

Adding Tags and Testing the Connection

  1. Right-click the connection (NewConnection_1) > New Tag.
  2. Name the tag, choose data type (Binary, Word, etc.), and enter the PLC address in the form DBx.DBBy, Ix.y, Qx.y, or MWz as used in the STEP 7 program.
  3. Repeat for every SCADA point that the HMI must read or write.
  4. Open Graphics Designer, drop an I/O Field onto a screen, and link it to the new tag.
  5. Save the project. Activate WinCC Runtime. The connection icon in the bottom status bar should turn green.

Channel Diagnosis — Reading Error Codes

When communication fails, the first diagnostic tool to run is the Channel Diagnosis utility, shipped with WinCC. The tool surfaces both the first and last error code emitted by the S7 channel, which can be cross-referenced against Siemens knowledge base entries.

Access path in WinCC Explorer:

  1. Right-click TCP/IP > Channel Diagnosis.
  2. Click Test for the connection in question.
  3. Record both the first error code and the last error code.
Channel Error (hex) Meaning Likely Cause
0x0001 Connection setup error Simatic Net not installed or wrong logical device name
0x02FF Resource exhausted Max number of S7 connections on the IM 151-8 reached (default 16)
0x0311 / 0x0312 Connection aborted / reset by peer PLC stopped, wrong IP, firewall dropping TCP 102
0x0322 Timeout on read/write Slot number wrong (not 2), rack number wrong, mismatched CPU type in HW Config
0x7000 / 0x7001 Internal S7 layer error Wrong firmware on the IM 151-8; check with PLC > Diagnostic > Module Information

Cross-reference these codes against the official Siemens Industry Online Support portal:

The "Send/Receive Raw Data" Pitfall

A common intermittent symptom reported by integrators: the project appears to start cleanly, no error is shown in Runtime, and the tag icons turn green — yet no values update. The PLC is reachable (a ping succeeds), and the simulator test in WinCC fails with a clean "no connection can be established between CPU and PC" error. Once the actual PLC is targeted, WinCC no longer reports a connection error and silently shows stale data.

The culprit is almost always the Send/Receive Raw Data checkbox on the connection's properties dialog. When this is left enabled, the S7 channel attempts to use raw data block services (BSEND/BRECV) rather than the standard PUT/GET path. The IM 151-8 firmware tolerates the request but does not service it reliably without an explicit S7 connection configured in NetPro, leaving the channel waiting indefinitely.

Resolution:

  1. Open Connection Parameters on the affected TCP/IP connection.
  2. Uncheck Send/Receive Raw Data.
  3. Save the project and restart WinCC Runtime.

Tags should now update within one configured acquisition cycle (default 1 s).

Pushbutton Colour Issue with VBS Tag Assignments

After connectivity is restored, a residual symptom sometimes appears: a screen button that should display the standard light-grey Windows-style background renders in a solid blue colour and never repaints. This is a WinCC Graphics Designer configuration issue, not a communication fault. Two causes are typical.

Cause 1 — VBS script writing to the button's BackColor property on every cycle: if a script bound to the button or to a screen-wide event assigns a color to HmiRuntime.Screens("Main").Items("Btn_1").BackColor, the value will be re-applied continuously and override the configured style. Wrap the assignment in a condition that only fires on state change.

Cause 2 — Global color scheme (design) override: if a VBS action modifies Screen Items properties at load time using RGB() with a blue-dominant triple (e.g. RGB(0, 0, 255)), the button keeps the applied tint for the rest of the session. Replace with vbWhite, vbButtonFace, or a project-design color constant.

Reference snippet for color reset (paste into the button's Property > BackColor > Dynamic > Direct dialog):

RGB(212, 208, 200) ' matches the WinCC default light-grey button face

Verification Procedure

After applying the configuration above, perform the following checks in order. Each step is fast and confirms a specific layer of the stack.

  1. Layer-3 reachability: from a command prompt on the SCADA PC, run ping 192.168.0.10 (substitute the IM 151-8 IP). Expect 0% packet loss, < 1 ms latency on a copper link.
  2. TCP 102 reachability: use telnet 192.168.0.10 102 or PowerShell Test-NetConnection -Port 102. A blank screen or TcpTestSucceeded : True confirms the port is open and the S7 server on the CPU is listening.
  3. STEP 7 online access: in SIMATIC Manager > PLC > Accessible Nodes, the IM 151-8 must appear with its MAC and IP. If not, the network path is broken before the S7 driver is even involved.
  4. WinCC Channel Diagnosis: start the tool, click Test. The status should read Connection OK with error codes 0x0000.
  5. Runtime tag update: insert a tag with a known counter (e.g. MW10) in a STEP 7 OB1 increment block, display it in an I/O Field. Trigger the increment and watch the value change in WinCC.

Troubleshooting Matrix

Symptom First Check Resolution
"No connection can be established between CPU and PC" Simatic Net installed? S7ONLINE access point bound to correct NIC? Reinstall Simatic Net, fix PG/PC interface
No error in runtime, values frozen Send/Receive Raw Data checked? Uncheck the option, restart runtime
Channel error 0x0322 (timeout) Rack / slot in connection parameters Set rack 0, slot 2 for IM 151-8
Channel error 0x02FF Number of S7 connections to the CPU Reduce number of WinCC connections or close other OPC clients
Tags turn green then drop repeatedly TCP 102 blocked by firewall Open inbound + outbound TCP 102 between PC and PLC
Button appears solid blue VBS action touching BackColor Replace with RGB(212, 208, 200) or remove the script

Hardware Catalogue Reference (6ES7151-8…)

Order Number (MLFB) Variant PROFINET PROFIBUS Work Memory
6ES7151-8AB00-0AB0 IM 151-8 PN/DP, basic 1 port 1 port master/slave 128 KB code / 128 KB data
6ES7151-8AB01-0AB0 IM 151-8 PN/DP, extended memory 1 port 1 port master/slave 256 KB code / 256 KB data
6ES7151-8FB00-0AB0 IM 151-8 F PN/DP (fail-safe) 1 port 1 port master/slave 512 KB code / 512 KB data
6ES7151-8AB01-0AB0 (V3) Firmware V3.x PROFINET IO Controller + Device DP-V0/V1 master Same as 01 variant

Confirm the exact order number in your hardware configuration; the rack/slot convention (rack 0, slot 2) is identical across all variants, but the maximum number of S7 communication connections scales with the firmware version — V3.x supports up to 16, while V2.x firmware supports 8.

Migration Note to TIA Portal / WinCC Unified

Projects built on the classic WinCC V7.x S7 channel can be migrated to WinCC Unified in the TIA Portal using a step-by-step conversion. During migration, the S7 channel is replaced by the integrated S7 driver in the HMI device, and the connection parameters are re-imported from the TIA Portal project. The rack/slot convention for the IM 151-8 remains the same in the new environment, but PROFINET device names must be unique within the IO controller — a constraint that did not exist in the old SIMATIC Manager world. When planning a migration, export the STEP 7 V5.x project as a TIA Portal V16+ migration file first, then re-assign the PROFINET device name to the migrated IM 151-8 node.

Field-Commissioning Checklist

  1. PLC IP set, pingable from the SCADA PC.
  2. SIMATIC Manager project downloaded, CPU in RUN with no SF/BF LEDs lit.
  3. WinCC V7.x installed, SIMATIC S7 PROTOCOL SUITE driver added.
  4. SIMATIC NET present, S7ONLINE bound to the correct NIC.
  5. Connection parameters: IP, rack 0, slot 2, Send/Receive Raw Data unchecked.
  6. Channel Diagnosis reports OK.
  7. Sample I/O Field shows a live value.
  8. Any VBS color scripts audited to avoid solid blue button artefacts.

What is the correct rack and slot number for an IM 151-8 in WinCC?

Use rack 0 and slot 2. The IM 151-8 always occupies slot 2 of a virtual rack 0 when addressed from a WinCC S7 channel, regardless of physical expansion slots downstream of the CPU.

Do I have to install SIMATIC NET for WinCC to talk to an IM 151-8?

Yes. WinCC's S7 channel relies on the SIMATIC NET Softnet drivers and OPC server components shipped on the WinCC DVD. Without them, the channel returns error 0x0001 at runtime even if the rest of the configuration is correct.

Why do my tags stop updating once the simulator is replaced with the real PLC?

The classic symptom is the Send/Receive Raw Data option left enabled. The simulator returns cleanly on the standard path, but the IM 151-8 firmware does not service raw-data block requests without an explicit S7 connection configured in NetPro. Uncheck the option in Connection Parameters to restore normal updates.

How do I run a quick network test before debugging the channel?

From a command prompt on the SCADA PC, run ping <PLC IP> to confirm Layer-3 reachability, then Test-NetConnection -Port 102 <PLC IP> in PowerShell to confirm the S7 server is listening on TCP 102. Both should succeed before any WinCC configuration is changed.

Can I connect WinCC to an IM 151-8 F (fail-safe) CPU the same way?

Yes. The fail-safe variant (6ES7151-8FB00-0AB0) uses the same S7 communication path on its PROFINET interface, so the rack 0 / slot 2 convention applies identically. Safety-related I/O must still be handled by the F-runtime in the PLC, not by the SCADA connection itself.

Back to blog