Application Overview and Architecture Decision
When two physical processes (skids) require identical control logic but independent operator stations, three architectural options are commonly evaluated:
- Two PLCs with peer-to-peer link - duplicate programs, separate I/O, communication via S7 connection or GlobalData.
- Two PLCs with shared PROFINET I/O - distributed I/O with iDevice sharing.
- One PLC with two HMI stations - single program, single I/O, two independent operator panels.
This guide covers the third option. It eliminates program duplication, simplifies interlocking through one shared tag database, and reduces hardware cost. The single-PLC approach is justified when:
- Both skids run the same recipe or sequence with only output-device differences
- I/O count fits within one CPU's address area
- Maintenance cost of two programs outweighs operator-coordination overhead
The trade-off is operator authority: when two HMIs can write the same PLC tags, two operators can issue conflicting commands. Both the technical configuration and the operator-authority mechanism are covered here.
Hardware Prerequisites and CPU Selection
For a low-I/O dual-skid application, the recommended CPU is the SIMATIC S7-314C-2 PN/DP (order number 6ES7314-6EH04-0AB0). The "-2 PN/DP" suffix denotes an integrated PROFINET interface and a PROFIBUS DP master interface.
| Feature | Benefit |
|---|---|
| Integrated 2-port PROFINET switch | Daisy-chain both HMIs without an external switch |
| 192 KB work memory | Adequate for typical skid control logic |
| 24 DI / 16 DO / 4 AI / 2 AO on-board | Handles small skid I/O without ET 200 expansion |
| Web server | Remote diagnostics without TIA Portal |
| Up to 16 S7/OP/PG connections | Supports 2 HMI + 1 engineering + spare |
| PROFINET IO Controller + IO Device | Can also act as smart iDevice if needed |
Alternative configurations to evaluate:
- IM 151-8 PN/DP + ET 200S - when I/O is physically remote from the CPU
- S7-315-2 PN/DP - upgrade path when program exceeds 192 KB work memory
- ET 200SP CPU (CPU 1510SP) - for new installations that prefer the latest platform
Full datasheets and firmware notes are published on the Siemens Industry Online Support portal (search for "6ES7314-6EH04-0AB0").
S7-314C-2 PN/DP Detailed Specifications
| Parameter | Value |
|---|---|
| Order number | 6ES7314-6EH04-0AB0 |
| Work memory (code + data) | 192 KB |
| Load memory | Micro Memory Card (MMC), up to 8 MB |
| Bit memory (M) | 256 bytes |
| S7 timers / counters | 256 / 256 |
| I/O address area, inputs | 1024 bytes |
| I/O address area, outputs | 1024 bytes |
| Integrated digital inputs | 24 (24 V DC, IEC 61131 type 1) |
| Integrated digital outputs | 16 (24 V DC, 0.5 A) |
| Integrated analog inputs | 4 (0-10 V / 0-20 mA / RTD) |
| Integrated analog outputs | 2 (0-10 V / 0-20 mA) |
| PROFINET interface | 2 × RJ45, 10/100 Mbit/s, integrated switch |
| PROFINET IO devices (max) | 32 |
| PROFINET send cycles, min | 1 ms (RT class 1), 250 µs (RT class 2) |
| Web server | Yes (HTTPS optional) |
| S7 communication connections | 16 (PG + OP + S7 combined) |
| Supply voltage | 24 V DC |
| Power dissipation, typ. | 14 W |
| Operating temperature | 0 to +60 °C horizontal mounting |
| Firmware version (current) | V3.3 |
Network Topology Design with PROFINET
PROFINET (IEC 61784-2) is the recommended industrial Ethernet protocol for new S7-300 installations. For a 2-HMI / 1-PLC topology, three physical layouts are valid.
Option A - Daisy-chain via CPU integrated switch
[HMI Panel 1] ---- [CPU 314C-2 PN/DP] ---- [HMI Panel 2]
(built-in 2-port switch)
The S7-314C-2 PN/DP has an integrated managed switch. Both HMI devices can connect directly to the CPU's two RJ45 ports. Lowest cost, but:
- No spare port for engineering
- A single cable break disconnects the second HMI
- Power loss on CPU disconnects both HMIs simultaneously
Option B - Star topology with external switch
[SCALANCE XB-008 / XC-208]
/ | \
[HMI 1] [CPU 314C] [HMI 2]
|
[Engineering PG]
Recommended for production cells. The Siemens SCALANCE XB-008 (unmanaged, 6GK5008-0BA00-1AC2) is sufficient if no PROFINET diagnostics are required. The SCALANCE XC-208 (managed, 6GK5208-0BA00-2AC2) provides LLDP topology discovery and port statistics visible inside TIA Portal.
Option C - Ring with MRP
For high-availability cells, configure Media Redundancy Protocol (MRP) with SCALANCE XM/XR-500 ring switches. MRP recovers a single cable break within 200 ms. Not normally required for skid-level equipment but supported by the CPU's PROFINET stack.
IP Addressing and PROFINET Naming
Static IP addresses are mandatory for production HMIs. Reserve a dedicated subnet (typically 192.168.0.0/24 or 10.10.10.0/24) for the cell. Avoid overlap with office networks to prevent routing loops when an engineering laptop is plugged in.
| Device | IP Address | Subnet | PROFINET name | Role |
|---|---|---|---|---|
| CPU 314C-2 PN/DP | 192.168.0.1 | 255.255.255.0 | skidplc-1 | IO Controller |
| HMI Panel 1 - Skid A | 192.168.0.10 | 255.255.255.0 | hmi-skid-a | HMI client |
| HMI Panel 2 - Skid B | 192.168.0.11 | 255.255.255.0 | hmi-skid-b | HMI client |
| Engineering PG | 192.168.0.100 | 255.255.255.0 | pg-laptop | PG |
PROFINET device names are mandatory and are used by the controller to identify devices during connection establishment regardless of the IP. Name assignment is done via TIA Portal "Online → Assign PROFINET device name" or with the free PRONETA tool.
TIA Portal Project Structure
In TIA Portal V18 or later, create a single project containing one PLC and two HMI devices:
Project
├── PLC_1 (S7-300 / CPU 314C-2 PN/DP)
│ ├── Device configuration
│ ├── Program blocks (OB1, FB, DB, ...)
│ ├── PLC tags (default tag table)
│ └── PROFINET interface
├── HMI_1 (Comfort Panel, e.g. KTP1200 - Skid A)
│ ├── Connections
│ ├── HMI tags
│ ├── Screens
│ └── Recipes / Alarms (optional)
└── HMI_2 (Comfort Panel, KTP1200 - Skid B)
├── Connections
├── HMI tags
├── Screens
└── Recipes / Alarms (optional)
Both HMI devices reference the same PLC_1 tag database. TIA Portal maintains a single point of definition - any rename in the PLC tag table propagates to both HMI tag tables if the "PLC tag" connection mode is used.
HMI Connection Configuration
Each HMI device requires its own HMI connection to PLC_1. Procedure:
- Open HMI_1 in the project tree.
- Expand "Connections" and double-click to open the editor.
- Right-click → "Add new connection".
- Select PLC_1 as the partner.
- Configure the connection parameters.
| Field | Value |
|---|---|
| Connection name | HMI1_to_PLC |
| Driver / protocol | SIMATIC S7 300/400 |
| PROFINET interface | PLC_1.PROFINET_interface_1 |
| IP address (partner) | 192.168.0.1 |
| Rack | 0 |
| Slot | 2 |
| Connection resource | 1 |
| Access point | S7ONLINE |
Repeat for HMI_2 with Connection resource = 2.
The S7-314C supports up to 16 PG/OP/S7 communication relationships. Two HMI connections plus one engineering PG occupy three of these resources, leaving 13 free for further OP panels, route connections, or S7 peer links.
Tag Database and Connection Routing
Tags can be defined at three levels in TIA Portal:
- PLC tags (in PLC_1) - source of truth, used by the PLC program.
- HMI tags pointing at PLC tags - one-to-one reference; TIA Portal maintains the link.
- HMI tags with absolute address - direct DB/bit reference, no PLC tag required.
For a dual-HMI installation, define all data points as PLC tags in PLC_1 and reference them from both HMIs. This guarantees that a tag rename in the PLC propagates to both HMI devices without manual fix-up.
To assign a PLC tag to a specific HMI's connection:
- Open the HMI tag editor for HMI_1.
- Select the tag, open properties.
- Set "Connection" to
HMI1_to_PLC. - In "PLC tag", browse and select the shared PLC tag.
- Repeat for HMI_2 with connection
HMI2_to_PLC.
Both HMI devices read and write the same memory locations in the CPU. The PLC program is responsible for separating skid-A logic from skid-B logic; the HMI only displays and controls what it is given access to.
Operator Authority and Screen Locking
When two HMIs share write access to the same PLC memory, operator authority must be implemented to prevent conflicting commands. Three patterns are common.
Pattern 1 - Skid-specific tag groups (recommended)
Structure the PLC data block so each skid owns its own command bits:
DB20 "SkidControl"
SkidA: STRUCT
Start : BOOL;
Stop : BOOL;
Reset : BOOL;
Mode_Auto : BOOL;
Mode_Man : BOOL;
END_STRUCT;
SkidB: STRUCT
Start : BOOL;
Stop : BOOL;
Reset : BOOL;
Mode_Auto : BOOL;
Mode_Man : BOOL;
END_STRUCT;
HMI_1 displays only DB20.SkidA.* tags; HMI_2 displays only DB20.SkidB.* tags. Each operator sees and controls only their skid. No cross-talk is possible because the tag sets never overlap.
Pattern 2 - User concept on the HMI
Siemens Comfort Panels and WinCC Runtime Advanced support user administration with permission levels. Configure:
- User group "Operator_SkidA" with write permission to Skid A tags
- User group "Operator_SkidB" with write permission to Skid B tags
When an operator logs in on the wrong panel, they cannot write to Skid A or B tags because their permission set is empty. This is configured in TIA Portal under HMI device → User Administration.
Pattern 3 - Active station token
A byte tag in the PLC, DB30.ActiveStation, holds 1 (Skid A) or 2 (Skid B). Each HMI writes only if it owns the token:
// PLC logic, in OB1 or a cyclic FB IF "DB30".ActiveStation = 1 AND "HMI1_Request_Token" THEN "DB30".ActiveStation := 1; // HMI1 keeps authority ELSIF "DB30".ActiveStation = 2 AND "HMI2_Request_Token" THEN "DB30".ActiveStation := 2; // HMI2 keeps authority END_IF;
The HMIs monitor DB30.ActiveStation and grey out control buttons when not active. The PLC blocks any write attempt via a global "write enable" bit set only for the active station.
Step-by-Step Commissioning Procedure
- Wire PROFINET cables between the CPU and both HMI devices using shielded CAT 5e (or better) industrial cable.
- Insert the MMC into the CPU before powering on. The MMC is required for the CPU to retain firmware and project.
- Power up the CPU; wait for the RUN/STOP LED to go solid green. The SF (system fault) LED may briefly flash during startup.
- Configure the CPU's IP address and PROFINET device name via TIA Portal: PLC_1 → Online & Diagnostics → "Assign IP address" and "Assign PROFINET device name". Use the values from the addressing table above.
- Power up both HMI devices. On each panel, open Control Panel → Network and set the IP address, subnet mask, and PROFINET device name.
- On the engineering PC, open TIA Portal and select "Online → Accessible devices". All three nodes (PLC, HMI_1, HMI_2) should appear with their assigned PROFINET names.
- Download the PLC_1 project to the CPU. Verify the CPU stays in RUN.
- Download the HMI_1 project, then the HMI_2 project. Each HMI reboots after download.
- From HMI_1, verify read access: open a screen that displays a known PLC tag value and confirm it updates when the input is forced.
- From HMI_2, repeat the same test.
- Test write access: from HMI_1, toggle a skid-A control bit; verify the PLC tag changes and any output module LED responds. Repeat from HMI_2 on a skid-B bit.
- Test the authority mechanism (if Pattern 2 or 3 is used): log in as a user without permission and confirm that write controls are disabled.
Diagnostics and Verification
TIA Portal online diagnostics
- Online → Diagnostics → PROFINET topology - shows physical cable paths and port connections
- Online → Diagnostics → Device information - per-device state, firmware version, IP, name
- PLC → Online & Diagnostics → PROFINET interface → Port statistics - discarded frames, CRC errors, link-down events
CPU web server
Enable in PLC properties → Web server. Access from any browser:
http://192.168.0.1
The web server provides:
- Diagnostic buffer (last 200 entries)
- Variable monitoring (read-only; read/write via "User-defined pages")
- Module information
- Identification & maintenance (I&M) data
HMI diagnostic screen
Add a dedicated "Diagnostics" screen on each HMI showing:
- Connection state bit (Area Pointer "Coordination" byte 0, bit 0)
- Partner IP and PROFINET name (read from the PLC tag table)
- Last update timestamp
- Active station ID (if Pattern 3 is implemented)
PROFINET cable diagnostics
If a port link is unstable, use the SCALANCE switch's WebUI or TIA Portal's port statistics. PROFINET alarms trigger if the link goes down more than three times within a configurable window.
Troubleshooting Matrix
| Symptom | Likely Cause | Remedy |
|---|---|---|
| HMI shows "Connection failed" to PLC | IP address mismatch or PLC IP not assigned | Verify IP via TIA Portal "Accessible devices". Re-assign IP if needed. |
| HMI shows "Connection failed" intermittently | PROFINET name not assigned to HMI | Assign PROFINET name via TIA Portal or PRONETA. Cycle power on HMI. |
| PLC is reachable from one HMI but not the other | Cable break or wrong port on CPU | Swap cables. CPU has two ports - verify each HMI is on its expected port. |
| One HMI can read but not write | HMI user lacks write permission | Check HMI user administration. Verify write bit is set in user permission matrix. |
| Both HMIs show same tag value at all times | HMI tag linked to wrong PLC tag or wrong connection | In HMI tag editor, verify PLC tag reference and connection. |
| Operator on HMI_1 cannot control Skid A | Tag visibility or screen restricted to wrong user group | Check "User → Area" assignment in TIA Portal HMI configuration. |
| PROFINET alarms in CPU diagnostic buffer | Station failure or name conflict | Clear buffer, re-assign PROFINET names, restart devices. |
| Engineering PG cannot find CPU | PG on different subnet, or firewall blocking PROFINET discovery (UDP port 34964) | Set PG IP to 192.168.0.x. Check Windows firewall rules. |
| CPU stops (SF LED solid red) after download | Firmware mismatch, MMC removed, or configuration error | Read diagnostic buffer via TIA Portal. Verify firmware ≥ V3.3 and MMC is present. |
| HMI tags display ### or invalid | Wrong data type or field length mismatch | Check PLC tag type and HMI tag display format (e.g., INT vs. REAL). |
| Slow screen refresh on HMI | Acquisition cycle set too short or too many tags polled | Increase acquisition cycle to 500 ms for status tags, 200 ms for control tags. |
| Web server pages return 404 | Web server not enabled or user has no permission | Enable Web server in CPU properties. Create admin user. |
HMI Device Selection Guidance
For a skid-level HMI, the Siemens Comfort Panel line is the current recommendation. Common choices:
| Model | Display | Interfaces | Use Case |
|---|---|---|---|
| KTP400 Comfort | 4" widescreen | 1 × PROFINET | Minimal status / diagnostic only |
| TP700 Comfort | 7" widescreen | 1 × PROFINET | Compact operator panel, recipe handling |
| TP1200 Comfort | 12" widescreen | 1 × PROFINET | Full operator control, trends, alarm log |
| TP1500 Comfort | 15" widescreen | 1 × PROFINET | Larger screens with detail |
All Comfort Panels include a single PROFINET port and require a separate switch for star topology. They support the WinCC Comfort / Advanced engineering environment, which is the same TIA Portal HMI tool used to configure the panels in this guide. Configuration manuals are available on the Siemens Industry Online Support portal under "SIMATIC HMI" → "Comfort Panels".
For applications where the HMI is the only operator interface for the skid (no SCADA), Comfort Panel + WinCC Comfort is the recommended minimum stack. For plants with a higher-level SCADA, use WinCC Runtime Professional on an IPC and reduce the local HMI to a thin-client type (KTP or Mobile Panel).
GlobalData and S7 Communication - Brief Note
If the design later moves to two PLCs (e.g., scaling to additional skids), GlobalData was historically used for cyclic data exchange between S7-300 CPUs over MPI or PROFIBUS. GlobalData is deprecated in current TIA Portal versions; S7 connections with PUT/GET or BSEND/BRCV blocks are the supported mechanism.
If S7-300-to-S7-300 communication is required:
- Each S7 connection consumes one connection resource on both CPUs
- Maximum data per PUT/GET call: 160 bytes (older CPUs) or up to 462 bytes (newer)
- Configuration in TIA Portal: PLC_1 → "Connections" → "S7 connection" → set partner IP, rack, slot
- Use PUT for write, GET for read, BSEND/BRCV for large or variable-length data
For new designs, follow the S7 connection approach. Older legacy systems using GlobalData should be migrated during the next major upgrade.
Memory Card and Project Handling
The S7-314C-2 PN/DP does not have internal load memory; the MMC is mandatory. Recommendations:
- Use a Siemens-branded MMC of the correct size for the project (typically 2 MB for skid-sized logic).
- Always write the project back to the MMC after commissioning ("PLC → Memory Card → Write to Memory Card"). This ensures the project survives a CPU-to-CPU swap.
- When replacing a CPU, transfer the MMC from the old unit to the new unit and power on - the new CPU loads the project automatically.
- Do not store the same MMC across multiple CPUs simultaneously. The MMC binds to one CPU after a programming operation.
Firmware Update Procedure
- Download the correct firmware file (matching order number 6ES7314-6EH04-0AB0) from the Siemens support portal.
- Insert an empty MMC into a card reader and copy the firmware files to the root directory.
- Insert the MMC into the powered-off CPU and turn on power.
- The CPU performs the firmware update automatically. The SF LED flashes during the update; wait for the CPU to go to STOP with a solid SF LED.
- Remove the MMC, re-insert the project MMC, and power-cycle.
- Verify firmware version in TIA Portal: PLC → Online & Diagnostics → Module information.
Safety Considerations
A dual-skid installation with one PLC and two HMIs shares a single point of failure. Consider:
- E-Stop hardware - wire the E-Stop loop through safety-rated hardware (e.g., Sirius 3SK1 or 3SK2 safety relay, or a fail-safe CPU such as the CPU 315F-2 PN/DP). The E-Stop must act independently of the HMI software.
- Power supply redundancy - use a Siemens SITOP PSU100N or SITOP UPS1600 with a battery module. Loss of 24 V DC must not black out both HMIs simultaneously without a controlled shutdown.
- Network redundancy - if both skids are critical, use SCALANCE XC-200 with MRP ring. PROFINET MRP recovers a single cable break within 200 ms.
- Watchdog timer - implement a CPU cycle-time watchdog that puts outputs in a safe state if the cycle time exceeds the configured limit. The S7-300 OB80 (time error) handles this natively.
These are application-level decisions and should be reviewed against ISO 13849-1 (functional safety) and IEC 61508 / IEC 61511 (process safety) requirements where applicable.
Field-Commissioning Tips
- Document the PROFINET names in a printed label attached to each device. TIA Portal shows the name, not the IP, in topology view.
- Use a separate subnet for each cell. Subnet overlap between cells causes confusion when laptops move between them.
- Disable PG mode on the HMI once commissioning is complete. PG mode allows the panel to be used as a remote engineering terminal and is a security risk in production.
- Set the PROFINET update time for HMI connections to 100 ms or higher. Faster updates consume CPU resources with no visual benefit.
- Test failover: with both HMIs operating, pull the cable on one. The PLC should continue running the unaffected skid; the affected HMI should show a clear "Connection lost" banner.
- Take a TIA Portal project backup to a versioned location (e.g., Git, SVN, or a corporate PLM system). The .ap18 file contains the entire project and is small enough to commit regularly.
- Verify the MMC label matches the project version before swapping a CPU. Mixing MMCs from different projects is a common commissioning error.
FAQ
Can two HMI panels read and write the same tags in one S7-300 PLC?
Yes. Define the tags as PLC tags in the CPU and reference them from each HMI's tag table with a separate connection. Both HMIs use the same S7 connection resource scheme but each holds its own connection; the PLC sees them as two separate OP connections.
How many HMI panels can one S7-314C-2 PN/DP support?
Up to 16 OP, PG, and S7 connections combined. For HMI-only, the practical limit is 12-14 OP connections with one PG resource held for engineering. For a dual-skid application with two HMIs, this is well within capacity.
Do I need an external switch when using the CPU's two PROFINET ports?
No for basic operation - the CPU has an integrated 2-port switch. However, a managed SCALANCE switch is recommended for production installations to provide spare ports for engineering, port diagnostics, and optional ring redundancy (MRP).
What is the difference between PROFINET and S7 communication over Ethernet?
PROFINET is the real-time IO protocol (IEC 61784-2) used for distributed I/O and HMI cyclic data exchange. S7 communication (PUT/GET) is the application-level protocol used for peer-to-peer data between PLCs. Both use the same Ethernet physical layer and can coexist on the same network.
Can I prevent an operator on one HMI from interfering with the other skid?
Yes. Three common approaches: (1) structure PLC tags by skid so each HMI only references its own, (2) use TIA Portal user administration with separate permission sets, or (3) implement an active-station token in the PLC that only one HMI can hold at a time. Pattern 1 is the simplest and is the recommended approach for new installations.
Is the S7-314C-2 PN/DP still the right CPU for new projects in 2025?
For low-I/O standalone machines the S7-300 family remains supported, but for new installations the SIMATIC S7-1500 (CPU 1511-1 PN or CPU 1512C-1 PN) is preferred. The S7-1500 platform has higher PROFINET performance, integrated security features, and longer support lifecycle. The S7-300 remains a valid choice for spare-part continuity on existing lines.
Does the CPU 314C-2 PN/DP require an external Ethernet switch when using two HMIs?
Only if you need more than two Ethernet ports at the CPU (the integrated switch provides exactly two). For a two-HMI application with no engineering laptop on the network, the integrated switch is sufficient. For production cells an external SCALANCE switch is recommended.