Connecting a Physical Siemens HMI to PLCSIM via NetToPLCSim in TIA Portal
Engineers commissioning TIA Portal applications frequently need to validate HMI screen behavior, runtime scripts, and tag mapping against a virtual PLC before connecting to production hardware. The standard TIA Portal PLCSIM instance blocks external I/O on TCP/102 by design, so a physical SIMATIC Comfort Panel, KTP, or Basic Panel cannot discover the simulated S7-1200 or S7-1500. This article documents the supported and unsupported paths, the NetToPLCSim bridging workflow, exact IP/subnet/PG/PC interface settings, and a field-tested troubleshooting matrix for the most common failure modes.
1. Problem Statement and Symptoms
The PLCSIM instance integrated with TIA Portal V15.x, V16, V17, V18, and V19 is implemented as a local in-process simulation. It does not bind a network socket on the engineering station's physical adapter, and it refuses every S7 communication partner that is not the TIA Portal online dialog itself. The visible symptoms when an engineer attempts to use a real panel with the simulation are:
- Online > Accessible nodes in TIA Portal returns only the PLCSIM instance, never the physical HMI on Profinet/Ethernet.
- Project transfer to the Comfort Panel fails with "Device not found" or "Connection to partner could not be established".
- TIA Portal prevents a second Go online; the only online target available is the PLCSIM slot.
- The HMI runtime, once manually loaded, raises a connection fault: "Value could not be written to the PLC" or "Connection to PLC interrupted".
The same restriction applies in the opposite direction: an S7-PLCSIM cannot be paired with a physical HMI unless an external bridge (NetToPLCSim) or a licensed PLCSIM Advanced instance terminates the S7 protocol on TCP/102 of the engineering station.
2. Root Cause: Why Standard PLCSIM Is Local-Only
The integrated PLCSIM is a Windows process launched by S7-PLCSIM.exe as a child of the TIA Portal online subsystem. It uses a private inter-process channel rather than the ISO-on-TCP stack that real S7 CPUs publish on port 102. As a result, the simulation is not addressable by any peer on the network, including the Comfort Panel's runtime transfer service and the WinCC Runtime Advanced built into the panel.
PLCSIM Advanced is a separate product line that publishes the simulated CPU on a real or virtual network adapter using the same S7Comm or S7Comm-Plus (TLS) stack as a physical CPU, which is why external partners (a real HMI, a remote TIA Portal, a third-party SCADA) can connect to it. The trade-off is licensing cost and a reduced CPU support matrix.
3. PLCSIM vs PLCSIM Advanced Capability Matrix
| Capability | PLCSIM (integrated) | PLCSIM Advanced |
|---|---|---|
| Bundle with TIA Portal | Yes (V15+) | No, separate install |
| Reachable by external partner on Ethernet/Profinet | No | Yes (virtual NIC or Softnet) |
| Compatible with physical HMI out of the box | No, requires NetToPLCSim | Yes |
| Supported CPU families | S7-1200, S7-1500, ET 200SP CPU, S7-300/400 (WinAC) | Selected S7-1500 and ET 200SP CPU variants only (consult SIMATIC S7-PLCSIM Advanced V5.0 supported CPUs) |
| S7-1200 supported | Yes | No |
| S7Comm-Plus with TLS | Yes (PLCSIM V16+) | Yes |
| License model | Free with TIA Portal | Floating license, 14-day trial available |
The single most important fact for S7-1200 users: PLCSIM Advanced does not support the S7-1200 family. S7-1200 CPUs can only be simulated with the integrated PLCSIM, which means the only path to a physical HMI on an S7-1200 is the NetToPLCSim bridge described in this article.
4. NetToPLCSim Architecture
NetToPLCSim is an open-source utility (SourceForge project) that listens on TCP/102 of the engineering station's network adapter and proxies S7Comm/S7Comm-Plus traffic to the local PLCSIM instance. From the panel's perspective, the PC looks like a CPU with the IP address assigned to the PC adapter. The simulation still runs locally in the TIA Portal process tree; NetToPLCSim is purely a protocol bridge.
Note the IP address assignment: the PC adapter must be configured with the IP that the simulated PLC is supposed to have. The HMI configuration points its connection partner at that same IP. This swap is the most common configuration mistake and the single biggest source of "device not found" errors.
5. Prerequisites
| Item | Requirement |
|---|---|
| TIA Portal | V16 or later recommended (S7Comm-Plus with TLS support) |
| PLCSIM | Installed with TIA Portal (no separate license) |
| NetToPLCSim | Latest release from SourceForge NetToPLCSim project. Run as administrator. |
| HMI | SIMATIC Comfort, KTP, or Basic Panel with Ethernet/PN interface |
| Network | Direct Ethernet or unmanaged switch. The PC and HMI must share a /24 subnet. |
| Windows user | Local administrator rights to bind TCP/102 and to install NetToPLCSim as a service |
| Siemens software | Close all instances of TIA Portal, PLCSIM, and NetToPLCSim before starting the procedure |
NetToPLCSim.exe to the exclusion list, or temporarily disable real-time scanning during the session.6. Step-by-Step Configuration
6.1 Configure the PC network adapter
- Open Control Panel > Network and Sharing Center > Change adapter settings.
- Open Properties of the Ethernet adapter that connects to the HMI.
- Select Internet Protocol Version 4 (TCP/IPv4) > Properties.
- Assign a static IP identical to the PLC IP used in the TIA Portal project (for example,
192.168.1.10) and a255.255.255.0mask. - Leave the gateway and DNS fields empty unless the panel sits behind a router.
Confirm the address with ipconfig /all in an elevated command prompt. The IPv4 address must show 192.168.1.10 on the same adapter you will use for the HMI transfer.
6.2 Start NetToPLCSim and capture port 102
- Right-click NetToPLCSim.exe and select Run as administrator. This must be the first Siemens-related process launched after a clean Windows boot.
- In the main window click Install, then Start. NetToPLCSim binds TCP/102; if another process is already holding the port the dialog reports "Address already in use". Stop the conflicting service (commonly the Siemens S7DOS help service or a TIA Portal Gateway) before retrying.
- Leave the main window open; do not close it during the session.
6.3 Configure the TIA Portal project
- Open the project in TIA Portal.
- Open the PLC device configuration and confirm the PLC IP address matches the PC adapter IP from Section 6.1 (for example,
192.168.1.10). - Compile the PLC station and download it to the PLCSIM instance using Online > Download to device. The PG/PC interface must be set to
PLCSIMfor this download. - Start the PLCSIM instance from Online > Simulation > Start or use the PLCSIM toolbar button. Confirm the simulated CPU is in RUN.
6.4 Configure NetToPLCSim station
- Return to NetToPLCSim and click Add to create a new station.
- Enter the Network IP address matching the PC adapter (for example,
192.168.1.10). - Enter the PLCSIM IP address. With the standard PLCSIM this is typically
127.0.0.1or the loopback address; consult the NetToPLCSim release notes for the expected loopback port. - Click Start Server. The status indicator should turn green.
6.5 Configure the HMI transfer settings
- In the HMI project, open Device configuration > Transfer and verify the transfer mode is Automatic (so the panel accepts a project push without a manual confirm prompt).
- Set the HMI IP to an address on the same /24 subnet, for example
192.168.1.15. - Set the HMI connection partner IP to the PC adapter IP (
192.168.1.10). - Compile the HMI station and use Online > Download to device > Accessible nodes to transfer. The PG/PC interface for this transfer must be the physical Ethernet adapter (
TCPIP.1), not PLCSIM.
6.6 PG/PC interface selection
PG/PC interface management lives in Control Panel > PG/PC Interface (the 32-bit legacy dialog, even on 64-bit Windows). Two access points matter:
| Step | Access point | Interface |
|---|---|---|
| Download to PLCSIM | S7ONLINE |
PLCSIM |
| Download to physical HMI | S7ONLINE |
TCPIP.1 > <your Ethernet adapter> |
| Online diagnostics from TIA Portal | S7ONLINE |
TCPIP.1 |
7. Security: PutGet, TLS, and Access Protection
The TIA Portal PLC protection model exposes three relevant switches:
- PutGet permission (read/write from remote partner) — not required for NetToPLCSim because the proxy establishes a local S7 connection rather than a routed one. Leave at the default unless a third-party tool is involved.
- Access protection (know-how protect / copy protection) — irrelevant to the bridge, but it does affect HMI read/write on protected blocks.
- S7Comm-Plus with TLS (TIA V16+) — NetToPLCSim supports the encrypted S7Comm-Plus variants. Make sure the NetToPLCSim version matches the TIA Portal major version to avoid TLS handshake failures.
8. Verification
- From the PC, ping the HMI:
ping 192.168.1.15. Expect four replies with sub-millisecond times on a direct Ethernet connection. - In TIA Portal, open Online > Accessible nodes with the PG/PC interface set to
TCPIP.1. The HMI must appear with its configured IP and Profinet device name. - Download the HMI project. The panel's transfer dialog should report success within a few seconds.
- From the HMI runtime, force a tag write (for example, set a bit via a button) and confirm the change is visible in the TIA Portal watch table against the PLCSIM instance.
- Run a VB script on the panel that writes a tag back to the PLC. The script should complete without "value could not be written to the PLC".
9. Troubleshooting Matrix
| Symptom | Likely cause | Fix |
|---|---|---|
| NetToPLCSim reports "Address already in use" on port 102 | S7DOS or S7Opc service already bound; another NetToPLCSim instance is running | Stop the conflicting service in services.msc; ensure only one NetToPLCSim process is active |
| TIA Portal cannot find the HMI in Accessible nodes | PG/PC interface is still set to PLCSIM | Switch to TCPIP.1 in PG/PC interface dialog; restart TIA Portal |
| HMI download starts then aborts at 0% | HMI transfer mode is set to Manual; panel requires physical confirmation | Set transfer mode to Automatic in the HMI device configuration; reboot the panel |
| HMI runtime shows "Connection to PLC interrupted" | PC IP does not match the PLC IP in the project | Reassign the PC adapter IP to match the simulated PLC IP; restart NetToPLCSim and PLCSIM |
| "Value could not be written to the PLC" from a VB script on the HMI | HMI connection partner is misconfigured or NetToPLCSim server is not running | Verify the HMI connection IP equals the PC adapter IP; start NetToPLCSim server; check Windows Defender exclusion |
| NetToPLCSim is running but the HMI cannot reach the PC | Subnet mismatch (e.g. 192.168.1.0/24 vs 192.168.0.0/24) |
Confirm both adapters share the same /24 prefix; verify with ipconfig and the HMI control panel |
| PLCSIM is RUN, NetToPLCSim shows connected, but the HMI shows old data | TIA Portal compiled the HMI project with a stale PLC IP | Recompile the HMI station after changing the PLC connection IP and re-download to the panel |
| TLS handshake error in NetToPLCSim log | Version mismatch between NetToPLCSim and TIA Portal | Update NetToPLCSim to a build that matches the TIA Portal major version (V17, V18, V19) |
| Second TIA Portal instance refuses to go online | PLCSIM only allows one online partner per instance | Close the first TIA Portal or use multiple PLCSIM instances; NetToPLCSim is a separate partner and is not affected |
| Panel does not respond to ping despite link LEDs on | PC firewall blocks ICMP or the wrong adapter is enabled | Allow ICMPv4 in Windows Firewall; disable secondary virtual adapters (Hyper-V, VPN, Docker) temporarily |
10. Engineering Best Practices
- Establish a clean boot order: PC reboot → NetToPLCSim (admin) → TIA Portal → PLCSIM → NetToPLCSim station start. The most common silent failure is starting TIA Portal before NetToPLCSim, which lets the S7DOS service grab port 102.
- Use a dedicated Ethernet adapter for the HMI/PLCSIM traffic. Hyper-V virtual switches, Docker bridges, and VPN tunnels create virtual adapters that frequently steal TCP/102.
- Document the IP swap. The PC, the PLC, and the HMI connection partner must all reference the same address. Tag the panel connection with a comment that reads "Points at engineering PC" to avoid confusion when the same project is later deployed to a real PLC.
- Keep a single PLCSIM instance per project during HMI script testing. Multiple instances can coexist but require a port other than 102 and are not bridged by NetToPLCSim.
- Prefer a Comfort panel with a service USB or PN cable for the first download. Once the project is loaded, switch the connection partner to the PLCSIM IP for runtime testing.
- For long-running test sessions, lock the PC power profile to High performance. Some Windows power plans drop the Ethernet link after a sleep cycle, which manifests as a transient connection loss to the HMI.
11. Frequently Asked Questions
Can the standard PLCSIM in TIA Portal communicate with a physical HMI without NetToPLCSim?
No. The integrated PLCSIM uses a local inter-process channel and does not publish the simulated CPU on TCP/102. NetToPLCSim (or PLCSIM Advanced) is required to make the simulation reachable on Ethernet.
Does PLCSIM Advanced support the S7-1200 CPU family?
No. PLCSIM Advanced targets a subset of S7-1500 and ET 200SP CPUs (see the official PLCSIM Advanced V5.0 supported CPUs list). For S7-1200, the only path to a physical HMI is the integrated PLCSIM with NetToPLCSim.
What IP address should the engineering PC use?
Use the same IP that the simulated PLC has in the TIA Portal project, for example 192.168.1.10/24. The HMI connection partner must point to that same address. The PC adapter becomes the simulated CPU as far as the panel is concerned.
Do I need to enable PutGet on the simulated PLC for NetToPLCSim?
No. PutGet governs routed remote S7 access; NetToPLCSim establishes a local loopback connection, so the PutGet check is not enforced. Enable it only if a third-party tool (for example, a custom OPC client) connects through the bridge.
NetToPLCSim reports "Address already in use" on port 102. What do I do?
Stop the Siemens S7DOS or S7Opc helper service from services.msc and ensure no other NetToPLCSim instance is running. Reboot the PC and start NetToPLCSim as administrator before any other Siemens software. If the bind still fails, add NetToPLCSim.exe to the Windows Defender exclusion list.
Why does the HMI load the project but show "Connection to PLC interrupted" at runtime?
The PC adapter IP no longer matches the PLC IP in the TIA Portal project, or the NetToPLCSim server was stopped. Reassign the PC adapter to the PLC IP, restart NetToPLCSim, and verify with ping from the HMI control panel.
Which PG/PC interface should be active when downloading to the HMI?
Switch to TCPIP.1 pointed at the physical Ethernet adapter. The PLCSIM interface is only used when downloading to the simulated PLC. Switching access points requires restarting TIA Portal.