System Architecture Overview
This reference covers a SIMATIC S7-300 station connected to a supervisory PC running SIMATIC WinCC flexible 2008 Runtime, where an external operator needs browser-based remote access over the public internet. The architecture combines an S7-300 CPU, an Ethernet communications processor CP 343-1 (6GK7 343-1EX11-0XE0) firmware v2.0, a WinCC flexible Runtime PC, and a router/firewall at the plant boundary. Remote operator panels are reached through the WinCC flexible "Smart Access" web server rather than through direct port-forwarding to the S7-300.
The topology is intentionally split so the engineering workstation, the HMI runtime, and the controller each sit on their own subnet. This isolates broadcast domains, simplifies firewall rule sets, and lets the Smart Access web server act as the single broker between TCP/IT traffic from the internet and the S7 communication on ISO-on-TCP port 102 behind it.
Hardware Identification and Components
| Component | Catalog Number | Role | Key Parameters |
|---|---|---|---|
| SIMATIC S7-300 CPU | CPU 315-2 PN/DP / 317-2 PN/DP | Controller; backplane host | PROFINET IO Controller, MPI/DP master |
| CP 343-1 | 6GK7 343-1EX11-0XE0 (firmware v2.0) | Ethernet comm. processor | 2-port switch, TCP/UDP/ISO, S7 comm., HTTP diagnostic |
| PC station | WinCC flexible 2008 Runtime | HMI Runtime + web server (Smart Access) | TCP 80/443, integrated OPC / S7 driver |
| SCALANCE S615 | 6GK5 615-0AA00-2AA2 | Industrial security module | Firewall, OpenVPN / IPSec, NAT, DMZ |
| SCALANCE M876-3 / MUM856 | 6GK5 876-3.. / 6GK5 856-.. | Cellular / 5G fallback WAN | IPSec, OpenVPN client |
The CP 343-1 at firmware v2.0 introduces an integrated 2-port real-time switch so the CPU, the engineering PG, and the WinCC PC can all be daisy-chained on a single PROFINET segment without an external managed switch. Always pin the CP firmware with STEP 7 V5.5 + SP4 (or TIA Portal V13+) before commissioning; mismatched firmware is the most common cause of random ISO-on-TCP timeouts.
Network Topology and IP Addressing
Use a private address space that does not overlap with corporate or home networks, e.g. 10.10.0.0/16 split as follows:
| Device | IP Address | Subnet | VLAN / Zone |
|---|---|---|---|
| SCALANCE S615 external (WAN) | 203.0.113.10 / 29 | Public, ISP-assigned | Untrust |
| SCALANCE S615 internal (LAN) | 10.10.10.1 / 24 | Plant LAN | OT-LAN |
| WinCC flexible Runtime PC | 10.10.10.50 / 24 | Plant LAN | OT-LAN |
| CP 343-1 (port X1) | 10.10.20.10 / 24 | Controller LAN | OT-Cell |
| CPU PROFINET interface | 10.10.20.1 / 24 | Controller LAN | OT-Cell |
| HMI IE in HW Config (PC station slot 1) | 10.10.10.51 / 24 | Plant LAN | OT-LAN |
| Engineering PG | 10.10.10.100 / 24 | Plant LAN | OT-LAN |
The CPU and CP are on different subnets and joined by a backplane connection; the CP bridges onto the Ethernet side. The WinCC flexible "HMI IE" interface in the PC station is the S7 connection endpoint, not a separate physical adapter; it must be assigned a free IP inside the Plant LAN so STEP 7 routes S7 communication through the CP.
WinCC Flexible Smart Service vs Smart Access
WinCC flexible 2008 (SP2 and later) introduced two distinct remote features. Conflating them is the root of most "page does not exist" errors:
| Feature | Purpose | Protocol / Port | Client |
|---|---|---|---|
| Smart Service | Email / SMS alarm forwarding, remote diagnostics via SMTP/SMS gateway | SMTP 25/587, HTTP diagnostic 80/443 | Email client, Web browser (read-only diagnostics) |
| Smart Access | Browser-based remote control of the HMI: full mimic, read/write of tags, operator authorization | HTTPS 443 (recommended), HTTP 80 fallback | HTML5 / ActiveX browser client |
The user's symptom — entering the WinCC Runtime PC IP into a field and seeing "no page exists" — happens because Smart Service is not a web HMI server. To expose the runtime as a web page you must enable Smart Access on the WinCC flexible project (Project > Runtime Settings > Services > Smart Access) and select a TCP port (default 443). The IP you enter in the browser is then the WinCC Runtime PC's IP, not the CPU or CP.
Why Direct Internet Access Fails
Three technical reasons stop a default setup from being reachable over the public internet:
- RFC 1918 private addressing. 192.168.x and 10.x are filtered by every ISP. Without NAT or a public IP, the remote client has no path to the runtime PC.
-
Single static WAN IP is not enough. Even with a static public IP assigned to the SCALANCE, the WinCC PC is hidden behind NAT. Port forwarding
WAN:443 → 10.10.10.50:443works for one service, but exposes the entire HMI control surface to the internet and triggers every vulnerability scanner within minutes. - Smart Access defaults to local authentication. The built-in user list is small (Administrator / User groups); without integrating Active Directory, brute-force protection is limited. Exposing it raw is operationally unsafe.
The clean answer is a VPN termination at the plant boundary. The remote PC joins the plant LAN as if it were locally attached, then opens the Smart Access URL through that tunnel. The runtime never sees a non-VPN connection, and no inbound ports are open on the WAN.
Remote Access via VPN with SCALANCE
The SCALANCE S615 (6GK5 615-0AA00-2AA2) is purpose-built for OT environments: industrial temperature range, DIN-rail mount, hardware-accelerated IPSec, and a Security Configuration Tool that lets you define firewall rules per interface. It supports both OpenVPN (lightweight, ideal for road-warrior laptops) and IPSec (preferred when the peer is another SCALANCE).
VPN topology variants
| Topology | When to use | Server side | Client side |
|---|---|---|---|
| Road-warrior OpenVPN | 1–10 external operators, ad-hoc access | SCALANCE S615 (OpenVPN server) | OpenVPN GUI on remote PC, .ovpn profile |
| Site-to-site IPSec | Permanent link between two plants | SCALANCE S615 (IPSec) | SCALANCE S615 / SCALANCE SC646 |
| Cellular fallback | Site without fixed-line internet | SCALANCE M876-3 (4G) or MUM856 (5G) | IPSec tunnel back to S615 at HQ |
Firewall and Port Configuration
Lock down the SCALANCE with the principle of least privilege. Recommended rule set, applied through the Security Configuration Tool:
| ID | Source | Destination | Service | Action |
|---|---|---|---|---|
| R1 | VPN pool 10.10.100.0/24 | 10.10.10.50 (WinCC RT) | TCP 443 (Smart Access) | ACCEPT |
| R2 | VPN pool 10.10.100.0/24 | 10.10.10.100 (PG) | TCP 102 (S7 comm.) | ACCEPT |
| R3 | 10.10.10.50 | 10.10.20.10 (CP 343-1) | TCP 102 (S7 comm.) | ACCEPT |
| R4 | 10.10.20.0/24 | 10.10.10.50 | TCP 102 response | ACCEPT (stateful) |
| R5 | any | any | all | DROP (default) |
Explicitly drop everything else. Smart Access must terminate on the WinCC Runtime PC; the SCALANCE should never forward raw TCP 102 to the CP 343-1, because S7 communication has no application-layer authentication.
Step-by-Step: Enabling Smart Access for Web Remote Operation
Prerequisites: WinCC flexible 2008 SP2 or later, Microsoft IIS or built-in WinCC web server enabled, Runtime license with Smart Access option.
- Open the WinCC flexible project in the Engineering Station.
- Navigate to Project → Runtime Settings → Services.
- Tick Smart Access. Select HTTPS port (default
443) and HTTP fallback port (default80) only if needed. - Define user groups: Project → Users → User Administration. Create at minimum an "Administrator" and a "Remote_Operator" group with the appropriate authorizations.
- Compile the project and transfer it to the Runtime PC.
- On the Runtime PC, open the WinCC flexible Runtime loader. Confirm "Smart Access: Active" appears in the status bar.
- From a browser on the same LAN, navigate to
https://10.10.10.50. The Smart Access login page must appear. - Log in as Administrator and validate that a tag change on the web client is reflected in the running HMI.
Project setting values
| Setting | Value | Notes |
|---|---|---|
| Smart Access port | 443 (HTTPS) | Bind to all interfaces, 0.0.0.0 |
| Session timeout | 600 s | Auto-disconnect idle clients |
| Max concurrent sessions | 5 | Matches license |
| SSL certificate | Self-signed or CA-issued | Import into remote client trust store |
Step-by-Step: Configuring SCALANCE S615 as OpenVPN Server
Prerequisites: TIA Portal V16 or Security Configuration Tool V4, admin access to the S615, a static public IP or DDNS name on the WAN.
- Connect the engineering PG to the S615 LAN port, open the Security Configuration Tool, and discover the device at
10.10.10.1. - Set the WAN interface to external / untrusted zone, LAN to internal / trusted.
- Create a new VPN connection: VPN → Connections → New, type OpenVPN, role Server.
- Generate a 2048-bit RSA key and Diffie-Hellman parameters. Export the server certificate and the CA certificate.
- Define the VPN address pool, e.g.
10.10.100.0/24, and DNS for the plant LAN. - Push routes to clients so the Smart Access subnet is reachable:
push "route 10.10.10.0 255.255.255.0". - Generate a client
.ovpnprofile with embedded certificates and deliver it (out-of-band) to the remote operator. - Apply the firewall table described above. Save and reboot the S615.
OpenVPN server configuration (excerpt)
port 1194
proto udp
dev tun
server 10.10.100.0 255.255.255.0
push "route 10.10.10.0 255.255.255.0"
push "route 10.10.20.0 255.255.255.0"
keepalive 10 60
tls-version-min 1.2
cipher AES-256-GCM
auth SHA256
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
Client .ovpn (excerpt)
client
dev tun
proto udp
remote vpn.plant.example.com 1194 udp
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
tls-version-min 1.2
cipher AES-256-GCM
auth SHA256
verb 3
<ca>
<!-- paste CA certificate here -->
</ca>
<cert>
<!-- paste client certificate here -->
</cert>
<key>
<!-- paste client private key here -->
</key>
Verification and Commissioning
- From the remote PC, connect to the OpenVPN profile and confirm an IP from the VPN pool (e.g.
10.10.100.42) is assigned. - Ping the WinCC Runtime PC:
ping 10.10.10.50. A reply proves the tunnel and firewall rules R1/R3 are passing. - Open a browser to
https://10.10.10.50. The Smart Access login page must load without TLS warnings (assuming the CA cert is trusted). - Log in as Remote_Operator. Toggle a digital output from the web client. Verify the physical output changes at the S7-300 I/O.
- Confirm the WinCC flexible Runtime log shows the connection: Diagnostic → Smart Access → Active sessions.
- From the WAN side, run
nmap -Pn -p 443 vpn.plant.example.com. The only open port should be 1194/UDP (OpenVPN); TCP 443 must remain invisible to the public scan because traffic is tunneled, not forwarded. - Document the configuration: export the SCALANCE backup, archive the WinCC flexible project, store the client .ovpn in a password manager.
Security Best Practices for OT/IT Convergence
- Defense in depth. VPN at the perimeter, firewall on the SCALANCE, host firewall on the WinCC PC, application-layer authentication in Smart Access.
- No static WAN IP on the CP or CPU. Only the SCALANCE should hold the public address.
- Patch hygiene. Subscribe to Siemens ProductCERT advisories for CP 343-1 and WinCC flexible; firmware updates must be staged on a bench before plant rollout.
- Audit logging. Forward SCALANCE syslog to a SIEM; Smart Access logs to a CSV the WinCC Runtime PC must archive nightly.
- Account lifecycle. Remove user accounts on personnel change. Disable the built-in "Administrator" account after creating a named admin.
- Network segmentation. The Smart Access client must never reach the controller subnet directly. Always proxy through the WinCC Runtime PC, which holds the only S7 connection to the CPU.
- Fail-closed. If the VPN tunnel drops, the S615 must drop established sessions, not silently fall back to a clear-text path.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic | Remedy |
|---|---|---|---|
| Browser shows "no page exists" on a valid IP | Smart Service (SMTP) URL entered instead of Smart Access URL | Check WinCC flexible project → Runtime Settings → Services | Enable Smart Access; rebuild the runtime |
| Page loads from LAN but not from internet | RFC 1918 private IP, no NAT or VPN | From external PC, ping the IP | Deploy SCALANCE S615 with VPN |
| Tags read but writes are rejected | Remote_Operator group lacks write authorization | Project → Users → Authorizations | Grant the tag write authorization to the group |
| S7 connection red in WinCC diagnostics | CP 343-1 firmware mismatch or wrong HMI IE IP | Online → Accessible nodes in STEP 7 | Update CP firmware, verify PC station IP matches subnet |
| TLS warning "certificate not trusted" | Self-signed certificate on WinCC web server | Browser certificate viewer | Install CA cert in client trust store, or issue CA-signed cert |
| VPN connects but Smart Access times out | Firewall rule R1 missing or WinCC host firewall blocks 443 | SCALANCE log, Windows Firewall log on PC | Add rule R1; allow 443 inbound on the WinCC PC |
| Random session drops every few minutes | Smart Access session timeout too short, or UDP keepalive mismatch | WinCC session log | Increase timeout to 600 s; tune OpenVPN keepalive 10 60 |
References for Further Engineering
- SIMATIC HMI WinCC flexible 2008 Runtime User Manual
- SIMATIC WinCC Unified PC
- Options for WinCC Engineering and Runtime systems (TIA Portal)
Frequently Asked Questions
Why does my browser show "page does not exist" when I enter the WinCC PC IP?
You are likely pointing the browser at a Smart Service diagnostic endpoint instead of the Smart Access web server. Enable Smart Access in Project → Runtime Settings → Services, recompile, and reload the runtime. The default URL is https://<WinCC-PC-IP> on TCP 443.
Do I need a static public IP to access the runtime from the internet?
Yes, but only at the SCALANCE S615. Never assign a static public IP to the CP 343-1 or the CPU. Combine the static IP with a VPN so the runtime is reached through a tunnel, not through direct port forwarding.
Can the remote operator still write to tags while local Runtime is active?
Yes. WinCC flexible Runtime supports concurrent local panel and Smart Access sessions. Both clients share the same tag database; write authorization is governed by the user group assigned to each client at login.
What firewall ports must be open between the Smart Access client and the plant?
Only UDP 1194 (OpenVPN) at the SCALANCE. After the tunnel is up, TCP 443 to the WinCC Runtime PC at 10.10.10.50 must be allowed by the SCALANCE firewall rules. TCP 102 (S7 communication) must never be exposed on the WAN.
Is Smart Access still supported in newer WinCC versions?
Smart Access is a feature of WinCC flexible 2008 and was carried into early TIA Portal WinCC projects. For new designs, SIMATIC WinCC Unified PC delivers a native HTML5 web HMI without ActiveX dependencies and is the recommended replacement for Smart Access in greenfield installations.