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:
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 |
STEP 7 Hardware Configuration of the IM 151-8
- Open SIMATIC Manager and create a new STEP 7 V5.x project.
- Insert a SIMATIC 300 station (the IM 151-8 is configured with the S7-300 hardware catalog > ET200S > IM 151-8 PN/DP CPU).
- 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.
- 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.
- Save and compile (Station > Save and Compile). Download the hardware configuration to the PLC (PLC > Download to Target).
- 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.
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.
- Open the WinCC Explorer and expand Tag Management.
- Right-click Tag Management > Add New Driver > select
SIMATIC S7 PROTOCOL SUITE> Open. - 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).
- Right-click TCP/IP > New Connection. A new connection named
NewConnection_1appears. - 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:
- Open Windows Control Panel > Set PG/PC Interface (32-bit) or SIMATIC Configuration Console (64-bit).
- Access Point of Application: select
S7ONLINE. - Interface Parameter Assignment Used: choose the LAN card or CP that connects to the IM 151-8 PROFINET network.
- Properties > confirm IP address of the PC is in the same subnet as the PLC.
- Click OK and close. WinCC will use this assignment when the project starts.
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
- Right-click the connection (
NewConnection_1) > New Tag. - Name the tag, choose data type (Binary, Word, etc.), and enter the PLC address in the form
DBx.DBBy,Ix.y,Qx.y, orMWzas used in the STEP 7 program. - Repeat for every SCADA point that the HMI must read or write.
- Open Graphics Designer, drop an I/O Field onto a screen, and link it to the new tag.
- 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:
- Right-click TCP/IP > Channel Diagnosis.
- Click Test for the connection in question.
- 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:
- Siemens Industry Online Support — search entry IDs 6749787 (WinCC channel error codes) and 8854589 (S7-300/ET200S connection troubleshooting).
- WinCC — Error codes of the S7 channel
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:
- Open Connection Parameters on the affected TCP/IP connection.
- Uncheck Send/Receive Raw Data.
- 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.
-
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. -
TCP 102 reachability: use
telnet 192.168.0.10 102or PowerShellTest-NetConnection -Port 102. A blank screen orTcpTestSucceeded : Trueconfirms the port is open and the S7 server on the CPU is listening. - 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.
-
WinCC Channel Diagnosis: start the tool, click Test. The status should read Connection OK with error codes
0x0000. -
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
- PLC IP set, pingable from the SCADA PC.
- SIMATIC Manager project downloaded, CPU in RUN with no SF/BF LEDs lit.
- WinCC V7.x installed, SIMATIC S7 PROTOCOL SUITE driver added.
- SIMATIC NET present,
S7ONLINEbound to the correct NIC. - Connection parameters: IP, rack 0, slot 2, Send/Receive Raw Data unchecked.
- Channel Diagnosis reports OK.
- Sample I/O Field shows a live value.
- 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.