Problem Overview
Engineers integrating a SIMATIC S7-1500 CPU into a SCADA, OPC UA, or third-party HMI platform (Ignition, WinCC, FactoryTalk, custom .NET application) frequently hit a wall when the existing PROFINET port on the CPU is fully consumed by I/O devices, drives, or HMI panels. The standard remediation is to install a CM 1542-1 communications module (6GK7542-1AX00-0XE0) into the S7-1500 backplane and bind the SCADA traffic to the module's separate MAC/IP. After the module is installed, however, the client still cannot establish the S7 connection, leaving the operator with a CPU in RUN, green LINK LEDs, and zero data exchange.
The failure mode is rarely a single root cause. It is the combination of (a) selecting the correct driver on the client, (b) enabling the right communication permissions inside TIA Portal, (c) configuring the CM 1542-1 port properties, and (d) clearing the host firewall path between the SCADA node and the PLC. Skipping any one of these four layers results in the same external symptom: timeout, connection refused, ISO-on-TCP error 0x8304, or "Device not reachable".
Root Cause Analysis
Connection attempts to an S7-1500 over the CM 1542-1 module fail for one or more of the following reasons. Work through the list in order; the most common culprits appear first.
- Wrong client driver selected. The SCADA/HMI package is configured with the legacy "S7-1500" driver, but the S7-1500 firmware rejects the older S7Comm PDU size or the connection slot. The S7-1500 requires the Siemens Enhanced driver (or a driver that negotiates the S7-1500 optimized-block access path) when reading/writing to data blocks created with "Optimized block access."
- Permit access (PUT/GET) disabled. TIA Portal > Device configuration > Properties > Protection > "Permit access with PUT/GET communication from remote partner" is unchecked. This is the default state on a fresh TIA Portal V18+ project and blocks all S7Comm read/write requests from any client that does not know the protection password.
- CM 1542-1 port not enabled, or IP/subnet mismatch. The module's PROFINET interface has no IP address assigned in the project, or the SCADA host sits on a different subnet/VLAN than the CPU's PROFINET port 1.
- Firewall / antivirus interference on the SCADA host. Windows Defender, third-party AV (notably AVG, Kaspersky, McAfee), or a corporate firewall blocks TCP port 102 (ISO-on-TCP/TSAP) before the Siemens driver can complete the TPKT/COTP handshake.
- Access level / know-how protection mismatch. The data block being polled is protected with know-how protection, and the SCADA does not have the correct password.
- Firmware mismatch. The CM 1542-1 firmware is older than V2.0 (for S7-1500 CPU firmware V2.5 and below) or V2.1 (for S7-1500 CPU firmware V2.6+). Mismatched firmware can cause the module to drop the connection silently after the first COTP connect request.
Hardware Setup: CM 1542-1 Module
The SIMATIC CM 1542-1 is a communications processor that plugs into the S7-1500 backplane and provides an additional PROFINET interface independent of the CPU's integrated port. The relevant catalog numbers for current projects are:
| Catalog Number | Description | Min. CPU Firmware |
|---|---|---|
| 6GK7542-1AX00-0XE0 | CM 1542-1, PROFINET/IE, 1 port | CPU V1.7 or higher |
| 6GK7542-1AX10-0XE0 | CM 1542-1, PROFINET/IE, with Security | CPU V2.0 or higher |
Slot the module into a free slot of the S7-1500 rack. In TIA Portal, right-click the device, choose Add new module > Communications module > CM 1542-1, and assign it a station number and PROFINET device name. The module's PROFINET interface appears as CM 1542-1 PROFINET interface [X1] in the device view.
Assign the interface a fixed IP address in the same subnet as the SCADA server. A common mistake is to leave the IP at 0.0.0.0 and rely on DCP. A SCADA client cannot connect to 0.0.0.0 over TCP — it must send a unicast packet to a real IP.
Driver Selection on the Client Side
SCADA packages expose two distinct drivers for S7-1500 targets, and choosing the wrong one is the single most reported cause of failure on the Ignition, WinCC, and FTView communities.
| Driver | Protocol | Use Case | License |
|---|---|---|---|
| Built-in S7-1500 / S7-1200 driver | S7Comm over ISO-on-TCP (RFC 1006), port 102 | Simple polling, default data blocks, non-optimized access | Included |
| Siemens Enhanced driver (LibNoDave / Snap7 variant) | S7Comm+ with optimized-block awareness | Reading/writing optimized data blocks, large PDU (>240 bytes), symbol browsing | Paid add-on, sold separately |
If your project contains data blocks created with Optimized block access = Enabled (the default in TIA Portal V15.1 and later), the built-in S7-1500 driver can read them by absolute address only and cannot enumerate symbols. The Siemens Enhanced driver negotiates the S7-1500 "optimized" path and supports symbolic access, larger PDUs, and PUT/GET with the protection password.
Confirm in your SCADA/HMI installer that the Siemens Enhanced driver module is actually installed. In Ignition's installer, for example, the enhanced module is shipped but not installed by default — the operator must select it on the custom install screen. If only the legacy driver is present, the connection attempt to an optimized DB will fail with WCT error 33 / 0x21 or simply hang until the read timeout.
TIA Portal Configuration: Protection, Access, and Ports
Three project-side settings must be set before the S7-1500 will accept S7Comm connections from a third-party client. All three are configured in the CPU's device properties.
- Enable PUT/GET access. Select the CPU in the project tree, open Properties > Protection > Connection mechanisms, and check Permit access with PUT/GET communication from remote partner (PLC, HMI, OPC, ...). This is the single setting that resolves the most "connection refused" symptoms reported in Siemens support threads.
- Set the access level. Under Protection > Access level, leave "Full access (no protection)" for the SCADA user, or define a separate password-protected level for remote partners. If you set "No access (complete protection)" for remote partners, the SCADA cannot log on regardless of PUT/GET.
- Open the S7 communication port on the CM 1542-1. Open the CM 1542-1 device properties, navigate to PROFINET interface [X1] > Port [X1 P1]. Confirm the port is set to Transmission rate / duplex: Auto-negotiation and that Monitor is enabled if you want diagnostic frames. Port 102 is enabled by default and does not need to be added to a manual list.
Network and Firewall Configuration
Once the TIA Portal side is correct, the next failure layer is the host stack. The S7Comm protocol runs over ISO-on-TCP (RFC 1006) using destination TCP port 102. The following checks are required on the SCADA server:
- Windows Firewall inbound rules. Open wf.msc, confirm there is an inbound allow rule for port 102 (TCP) for the SCADA service profile. If no rule exists, the kernel drops the SYN before the driver socket binds.
- Third-party AV firewall. AVG, Avast, Bitdefender, Kaspersky, and McAfee all ship their own TDI filter that pre-empts the Windows firewall. Per Siemens community guidance, AVG in particular is known to inject a Winsock LSP that blackholes the ISO-on-TCP handshake. Uninstall or whitelist the SCADA executable in the AV product.
-
Routing. From a command prompt on the SCADA host, run
ping <CM1542-1 IP>andtelnet <CM1542-1 IP> 102. A successful telnet to port 102 returns a blank screen (the ISO-on-TCP TPDU is binary and will not display). A "connection refused" or timeout means routing or firewall is wrong. - Subnet and VLAN. The SCADA host and the CM 1542-1 must share the same Layer 3 subnet or have a routable path. PROFINET and SCADA traffic should typically be placed in a separate VLAN from the office network.
Step-by-Step Resolution Procedure
Work through the following steps in order. Each step is independently verifiable, and most connection problems are resolved by step 5.
- Confirm hardware. Verify the CM 1542-1 module is seated, the X1 port LED is green, and the module is online in TIA Portal's "Online > Accessible nodes" view.
- Assign a fixed IP. In the CM 1542-1 PROFINET interface properties, set IP address, subnet mask, and (if used) router address. Compile and download the hardware configuration to the CPU.
- Enable PUT/GET. CPU properties > Protection > Connection mechanisms > check Permit access with PUT/GET communication from remote partner. Download to the CPU.
- Set the access password (optional but recommended). Define a CPU password under Protection > Access level. Enter the same password in the SCADA driver connection settings if the SCADA supports an authorization field.
- Install the correct SCADA driver. On the SCADA server, re-run the installer with the "Siemens Enhanced" component selected. Restart the SCADA service.
- Configure the SCADA connection. Enter the CM 1542-1 IP as the host, port 102, rack 0, slot 1 (or the slot where the CM is inserted — check device view). Set the connection type to ISO-on-TCP (or "PN/IE" in WinCC).
- Disable / whitelist the firewall. Temporarily disable Windows Firewall and the third-party AV. If the connection succeeds, re-enable both and add a permanent inbound allow rule for port 102.
-
Verify with a tag read. Add a test tag, e.g.
DB1.DBD0(a non-optimized, real-typed double word) and confirm the SCADA logs a successful read.
Verification and Diagnostics
After the changes are downloaded, perform these verification checks. Each one has a binary pass/fail outcome and isolates which layer is still broken.
| Check | Tool / Command | Pass Criteria | Layer |
|---|---|---|---|
| Physical link | LED on CM 1542-1 X1 | Green link LED on | Hardware |
| Layer 2/3 |
ping <IP> from SCADA host |
Reply < 5 ms | Network |
| Transport |
Test-NetConnection <IP> -Port 102 (PowerShell) |
TcpTestSucceeded: True | Firewall / AV |
| S7Comm handshake | SCADA driver test connection | OK / Connected | TIA Portal settings |
| Data read | SCADA tag browser | Live value returned within poll period | Application / driver |
For deeper diagnosis, Siemens ships the SIMATIC Automation Tool and the Wireshark dissector for S7Comm. Capture a port-102 trace on the SCADA host and confirm the following PDU sequence appears: CR (Connect Request) → CC (Connect Confirm) → Read/Write Request → Ack/Data. If the trace shows only CR packets with no reply, the firewall is dropping the response. If CR/CC completes but no Read/Write follows, the SCADA driver is configured to a non-existent DB or wrong rack/slot.
Troubleshooting Matrix
Map the most common external symptoms to the most likely root cause and the next diagnostic step.
| Symptom | Most Likely Cause | First Action |
|---|---|---|
| SCADA logs "Device not reachable" | Firewall or wrong IP | Test-NetConnection -Port 102 |
| Connection OK, no tags | Optimized block access, wrong driver | Install Siemens Enhanced driver |
| Connection drops every 30–60 s | AV idle-timeout kill | Add SCADA exe to AV process whitelist |
| Driver returns 0x8304 | PUT/GET disabled in TIA Portal | Enable "Permit access with PUT/GET" |
| CM 1542-1 shows SF (red) | Firmware / project mismatch | Right-click module > Online & diagnostics > Firmware update |
| Works in TIA Portal online, not from SCADA | Routing / VLAN / subnet | Verify SCADA host default gateway |
CM 1542-1 Firmware and Compatibility Notes
The CM 1542-1 module ships with a baseline firmware that may predate the CPU's firmware. Mismatched firmware versions are not always flagged in TIA Portal and can produce intermittent rejections of the COTP connect-confirm packet. Recommended pairings:
- S7-1500 CPU V2.5 and below → CM 1542-1 firmware V1.1 or V2.0
- S7-1500 CPU V2.6 / V2.7 / V2.8 → CM 1542-1 firmware V2.1.x
- S7-1500 CPU V2.9 / V3.0 → CM 1542-1 firmware V2.2 or higher (V2.2 ships with the 6GK7542-1AX10-0XE0 variant)
Firmware files are distributed via the Siemens Industry Online Support portal. After updating the module firmware, power-cycle the rack to clear the module's internal ARP cache; this is required to force the SCADA driver to re-resolve the MAC.
Field-Commissioning Checklist
- CM 1542-1 module seated, X1 link LED green.
- CM 1542-1 PROFINET port has a fixed IP in the SCADA subnet.
- CPU Protection > "Permit PUT/GET from remote partner" enabled.
- CPU Protection > Access level for remote partners is not "No access."
- SCADA host Windows Firewall has an inbound allow rule for TCP 102.
- Third-party AV whitelisted or uninstalled on SCADA host.
- SCADA driver is the Siemens Enhanced driver, not the legacy S7-1500 driver.
- Test tag reads successfully from the SCADA browser.
- Wireshark trace on SCADA host shows CR → CC → Read/Write → Ack cycle.
- CM 1542-1 firmware version ≥ the value published in the TIA Portal compatibility list for the installed CPU firmware.
Related Standards and Documentation
- RFC 1006 — ISO Transport Service on top of the TCP (used by S7Comm/ISO-on-TCP)
- Siemens SIMATIC S7-1500 Communication Function Manuals (entry ID 59191792 on the Siemens Industry Online Support portal)
- PROFINET Installation Guideline (PROFIBUS Nutzerorganisation e.V.)
Why does the legacy S7-1500 driver fail to read optimized data blocks?
Optimized blocks store data at a compiler-assigned offset, not the offset shown in the symbolic declaration. The legacy S7-1500 driver uses absolute addressing only and cannot resolve symbols. Install the Siemens Enhanced driver, which performs the S7Comm "read symbolic" function, or expose a non-optimized DB for the SCADA.
Do I need the CM 1542-1 if the CPU's PROFINET port has free capacity?
No. The CM 1542-1 is only required when the CPU's port 1 is fully utilized by I/O, drives, or HMI panels and you want to isolate SCADA traffic. If port 1 is free, you can connect the SCADA directly to the CPU's PROFINET interface and skip the module.
What is the minimum CPU firmware to support the CM 1542-1?
CPU firmware V1.7 or higher is required for the 6GK7542-1AX00-0XE0 variant, and V2.0 or higher for the 6GK7542-1AX10-0XE0 security variant. Mismatched firmware will appear to work in the device view but reject S7Comm connections at runtime.
Why does the SCADA connect briefly then drop every minute?
Most often the cause is a third-party antivirus firewall (AVG, Kaspersky, McAfee) injecting a Winsock LSP that times out the socket on its idle timer. Add the SCADA executable to the AV process whitelist, or temporarily uninstall the AV to confirm.
Where in TIA Portal do I enable PUT/GET access?
Select the CPU in the project tree, open Properties > Protection > Connection mechanisms, and check Permit access with PUT/GET communication from remote partner. Compile and download the hardware configuration to the CPU after changing the setting.