Overview of the TOP B1 Indication on Siemens HMI Panels
The "TOP B1" string reported on SIMATIC Basic Panels (KTP, TP and Comfort-series operator panels) is most commonly observed as a stuck alarm-bar indicator in the WinCC TIA Portal runtime. Field reports describe the panel refusing to refresh process tags, showing a static "TOP B1" (or "TOP! B1") banner while the connected S7-1200 or S7-1500 CPU continues running. The message is not a single defined diagnostic event; the "TOP" element indicates the highest-priority active alarm class on the panel and the "B1" code is a per-project message class label that the integrator configured in HMI alarms > Alarm classes. The banner only clears when the runtime can successfully poll-tag the CPU. When it cannot, the panel keeps the last known alarm text frozen on screen.
This symptom is almost always caused by a broken communication path between the engineering station, the HMI panel, and the CPU. The capture of tag values in TIA Portal (Watch tables, Traces, Tag tables, Online & diagnostics) is performed by the PC-side software, not by the panel. If the PC cannot see the CPU over PROFINET or Ethernet, all tag-acquisition activity will fail and the panel will display the highest-priority alarm it has buffered — typically labelled TOP B1 if that is what was active when the link dropped.
Hardware and Software Identification
Before changing any configuration, capture the exact model numbers and firmware levels of every device on the network. Many reported TOP B1 errors are actually the result of an unsupported firmware combination between a CPU, a Comfort/Basic Panel, and TIA Portal.
| Device Role | Typical Siemens Catalog Numbers | Required TIA Portal Version |
|---|---|---|
| S7-1200 CPU | 6ES721x-1xxxxx-xxxx (e.g., 6ES7214-1AG40-0XB0) | V15.1 and newer, V16, V17, V18 |
| S7-1500 CPU | 6ES751x-1xxxxx-xxxx (e.g., 6ES7515-2AM02-0AB0) | V15.1 and newer, V16, V17, V18 |
| KTP400 / KTP700 Basic Panel | 6AV2123-2xxxxx-xxxx | Matches the CPU project version |
| TP700 / TP900 / TP1200 Comfort Panel | 6AV2124-1xxxxx-xxxx | V15.1 and newer |
| CP 443-1 / CP 443-1 Advanced (S7-400) | 6GK7443-1xxxxx-xxxx | V15.1 and newer |
Refer to the Siemens TIA Portal Compatibility Tool entry for each device. If the project was built in V16 and the panel firmware is on V14, TIA Portal will refuse to download and the panel will retain its last alarm text — which is how a TOP B1 message appears frozen.
Root Cause Analysis
Three conditions, alone or in combination, produce the TOP B1 sticky-banner symptom:
- IP subnet mismatch between the engineering PC and the target CPU. The PC must use an IP address in the same subnet as the PLC's PROFINET interface for TIA Portal to perform online tag acquisition over the S7 protocol.
- PLC protection level set to "Read access" or "No access" with a password configured. This blocks remote PUT/GET communication from any partner, including the HMI panel and the engineering station.
- The "Permit access via PUT/GET communication from remote partner" checkbox is not enabled. Without this flag the S7-1200/1500 rejects all partner-initiated read/write requests that are not part of an HMI connection defined in TIA Portal, even when the protection level is "Full access".
Pre-Diagnosis Checklist
Run through this list before opening any configuration. Each item takes less than 30 seconds:
- Verify the PC Ethernet adapter is enabled and the link light is solid on the switch port used for the PLC.
- Confirm that the engineering PC and the CPU are physically connected through the same PROFINET switch (or directly with a crossover/Ethernet cable for a 1:1 engineering link).
- Read the CPU IP address from the display (if present) or from the project > Device properties > Ethernet addresses > IP address.
- Open a Windows Command Prompt and execute
ping <CPU IP>. A reply confirms Layer 3 reachability. - Open Start > Control Panel > Set PG/PC interface and confirm the access point S7ONLINE (STEP7) is bound to the correct Ethernet adapter.
- In TIA Portal, select Online > Accessible nodes. The CPU should appear with its IP and PROFINET device name.
Network Subnet and IP Range Validation
PC and CPU must share the same subnet mask. The most common cause of the TOP B1 panel symptom is that the PC was previously connected to a corporate LAN with a /16 mask and the CPU sits on a /24 industrial subnet, so traffic never reaches the CPU's PROFINET port.
| Device | IP Address | Subnet Mask | Network Range | Broadcast |
|---|---|---|---|---|
| S7-1200 CPU (example) | 192.168.0.10 | 255.255.255.0 (/24) | 192.168.0.0 | 192.168.0.255 |
| HMI TP700 (example) | 192.168.0.20 | 255.255.255.0 (/24) | 192.168.0.0 | 192.168.0.255 |
| Engineering PC (correct) | 192.168.0.100 | 255.255.255.0 (/24) | 192.168.0.0 | 192.168.0.255 |
| Engineering PC (wrong) | 192.168.1.50 | 255.255.255.0 (/24) | 192.168.1.0 | 192.168.1.255 |
Set the PC adapter with ncpa.cpl > right-click the Ethernet adapter > Properties > Internet Protocol Version 4 (TCP/IPv4). Use either a static address in the CPU's subnet or enable DHCP with a reservation in the SCADA-managed switch.
192.168.0.100 / 255.255.255.0, leave the gateway blank, and open the project in TIA Portal. Once tag acquisition works, reconnect the panel and switch.Configuring PLC Protection Levels in TIA Portal
The S7-1200 and S7-1500 PLCs expose three protection levels in the device configuration. From most permissive to most restrictive:
| Protection Level | HMI Access | PG/PC Remote Read | PG/PC Remote Write | PUT/GET from Remote Partner |
|---|---|---|---|---|
| Full access (no password) | Allowed | Allowed | Allowed | Independent toggle — must be enabled separately |
| Read access (no password) | Allowed | Allowed | Blocked | Blocked unless password is provided |
| No access (password protected) | Blocked | Blocked | Blocked | Blocked |
| Full access (password protected) | Allowed | Allowed with password | Allowed with password | Allowed with PUT/GET toggle on |
Navigate in TIA Portal: select the CPU in the project tree > Properties > General > Protection & Security. The dropdown Access level defines the HMI/PG access tier. For unrestricted engineering access choose Full access (no password) while commissioning, then re-enable a password once tag acquisition has been verified.
- In the project tree, double-click the CPU device (e.g., PLC_1 [CPU 1214C DC/DC/DC]).
- In the inspector window select the Properties tab.
- Expand General > Protection & Security.
- Set Access level to Full access. Leave the password fields empty for the commissioning phase.
- Click the checkbox Permit access with PUT/GET from remote partner (PLC, HMI, OPC, ...).
- Compile and download to the CPU.
Enabling PUT/GET Access for Remote Partners
PUT/GET is a SIMATIC-specific S7 service used by older HMIs, WinCC flexible runtime, OPC DA servers, and most third-party SCADA packages. Modern TIA Portal projects that configure an HMI connection inside the project do not require PUT/GET because they use the configured S7 connection instead. However, any tag capture performed outside the configured HMI connection — including Online > Watch table from a remote engineering station over a routed network — depends on PUT/GET.
To enable the flag:
- Project tree > right-click the CPU > Properties.
- Protection & Security > Connection mechanisms.
- Tick Permit access with PUT/GET from remote partner (PLC, HMI, OPC, ...).
- Confirm with OK, recompile (Project tree > CPU > right-click > Compile > Hardware (rebuild all)), and download.
This setting survives a CPU restart and is part of the project, so it must be re-applied every time the security configuration is changed. See the Siemens FAQ 77440336 on PUT/GET for S7-1200/1500.
Verifying HMI-to-PLC Connection Configuration
If the HMI and the PC are both unable to read tags, the panel connection itself must be audited. Open the HMI device configuration:
- Select the HMI device (e.g., HMI_1 [TP700 Comfort]) in the project tree.
- Open Devices & networks.
- Inspect the Connections table at the bottom. A single S7-1200/1500 connection must be present and bound to the HMI's PROFINET interface.
- Double-click the connection and confirm the address is the actual IP of the CPU, not the default project placeholder.
- Check that the connection's Operating mode is set to Activate connection, not "Passive".
Once the TIA Portal project compiles cleanly (no yellow warnings under Info > Compile), download the HMI project to the panel via Online > HMI device maintenance > Download to device. On the Comfort/Basic Panel the transfer dialog uses either Ethernet (Mode 2 — Remote) or USB (Mode 1 — Manual). If the panel ever displays a connection-error icon overlay on the alarm bar (typically a yellow triangle) the connection configuration is wrong even if the project compiles; this is the most frequent cause of the persistent TOP B1 banner.
Tag Acquisition Path: PC vs. Panel
Many integrators assume the HMI panel itself handles the tag logging and display buffering. In a Siemens TIA Portal project, however, the engineering PC performs tag capture separately from the panel runtime. The two acquisition paths are independent:
| Operation | Performed By | Protocol Used | Firewall Port | Credentials Required |
|---|---|---|---|---|
| Watch table force/read | Engineering PC (TIA Portal) | S7 ISO-on-TCP / OPC UA | TCP 102 / TCP 4840 | None (with Full access) |
| Trace recording | Engineering PC; trace data buffered in CPU | S7 ISO-on-TCP | TCP 102 | None (with Full access) |
| Tag logging on panel | Comfort/Basic Panel runtime | Configured S7 connection | TCP 102 | None if HMI connection is configured in the project |
| Tag logging on PC (WinCC Runtime Advanced) | PC runtime | S7 ISO-on-TCP / OPC UA | TCP 102 / TCP 4840 | None with Full access |
When the engineering station runs out of the same subnet as the CPU and uses the TIA Portal Online > Accessible nodes function, it opens a transient S7 session on TCP 102. If the PC later drops the link (e.g., IP change, switch reboot, VPN tunnel reset), the panel will start the next polling cycle against a non-responsive CPU. The panel's last good message text remains on screen until the OPC/HMI connection recovers, which is why the user sees TOP B1 stuck even though the underlying error was a transient link drop on the PC side.
Port and Firewall Considerations
The default S7-1200/1500 port is TCP 102 for ISO-on-TCP (RFC 1006) S7 communication. OPC UA, increasingly deployed on S7-1500 firmware V2.6 and later, listens on TCP 4840 by default and on TCP 4841 for binary encoded traffic.
| Service | Port | Protocol | Direction | Notes |
|---|---|---|---|---|
| S7 Communication (PUT/GET, HMI) | TCP 102 | ISO-on-TCP (RFC 1006) | PC/Panel → CPU | Must be permitted in the Windows firewall rule set |
| PROFINET DCP discovery | UDP 34964 | PROFINET Discovery and Configuration Protocol | Bidirectional | Used by TIA Portal Accessible nodes |
| OPC UA binary | TCP 4840 | OPC UA | Client → Server | S7-1500 firmware V2.6+ |
| OPC UA Web Service | TCP 4841 | HTTPS / OPC UA over Web | Client → Server | Disabled by default |
| Web server (S7-1200/1500) | TCP 80 / 443 | HTTP / HTTPS | Browser → CPU | Useful for ad-hoc tag read when the TIA Portal cannot connect |
Add an inbound rule in Windows Defender Firewall with advanced security for the TIA Portal executable ("Siemens.TiaPortal.exe") or, more simply, an inbound rule for TCP 102 with scope limited to the engineering subnet 192.168.0.0/24. Industrial firewalls (e.g., SCALANCE S615) default to denying inbound ISO-on-TCP; enable the appropriate filter rule for the engineering PC.
Verification Procedure
Run the following checks in order to confirm that the TOP B1 indication has cleared and tag acquisition is stable:
- Online accessible nodes: in TIA Portal select Online > Accessible nodes. The CPU must appear with its PROFINET name and IP. If multiple nodes appear, double-check the direct-attached PC rather than a bridged LAN.
- Online & diagnostics: select the CPU > Online & diagnostics > Status. The protection-level field should report Full access and the PUT/GET checkbox should be Enabled.
- Watch table read: open a Watch table and trigger Monitor (all). Tags must refresh at the configured update rate without #REF! placeholders. Errors of type SFR 0x0004 in the diagnostics buffer indicate PUT/GET is still rejected.
- Online tag table on the panel: on a Comfort/Basic Panel, enter the service menu (usually tap the system bar four times during the start screen). Under Diagnostics > Connection the configured connection should show Connected with non-zero throughput values.
- Buffer the alarm: cycle power on the panel. The TOP B1 banner should clear within three polling cycles (typically < 5 s on a Comfort panel with a 1 s update rate).
Extended Diagnostics and Recovery
If the panel still shows the TOP B1 banner after all of the above, escalate to deeper diagnostics:
- CPU diagnostics buffer: select CPU > Online & diagnostics > Diagnostics buffer. Look for entries "Security: CPU protection level changed" and "Communication: Connection rejected (PUT/GET disabled)". Each rejected partner request writes one entry per minute; the source IP and partner type identify which device is misconfigured.
-
Wireshark packet capture: filter on
tcp.port == 102. The TIA Portal GoOnline sequence opens a CR (Connection Request) TPDU from the PC. If the CPU responds with RJ (Refusal), the rejection reason octet returns 0x01 (Resource not available) or 0x03 (Invalid parameter). Code 0x03 confirms a PUT/GET protection mismatch. - Firmware mismatch: if the panel refuses the project download, compare the firmware of the panel (read from HMI > System > System information) with the TIA Portal version. A panel on V13 firmware cannot load a V15+ project.
- Topology verification: if the HMI is on a routable subnet behind a SCALANCE or NAT router, confirm the route is bidirectional. The PROFINET DCP multicast is non-routable by default; configure LLDP or use fixed ARP.
Preventive Maintenance Recommendations
- Always keep at least one dedicated Ethernet port on the engineering station for direct CPU access, configured with a static IP in the standard PROFINET range
192.168.0.0/16(any free address). - Document the PUT/GET setting per CPU in the project handover pack. Add the toggle to the standard commissioning checklist so a password change never silently disables tag acquisition.
- Use WinCC Comfort V18 or later so the panel can fall back to OPC UA on TCP 4840 when the S7 connection is unavailable; this dramatically reduces frozen-banner incidents.
- For sites where the HMI and the engineering PC both speak to the same CPU, prefer an HMI-tag table inside the TIA Portal project over PUT/GET, so the panel can manage its own polling and reports a clear connection-error indicator instead of freezing on TOP B1.
What does "TOP B1" actually mean on a Siemens Basic Panel?
It is the highest-priority active alarm banner, where TOP denotes the top-priority alarm text and B1 is a project-defined message class label. The banner only stays visible because the panel cannot refresh tags; once the S7 connection is healthy, it clears on the next polling cycle. It is not a single specific error code.
Do I still need to enable PUT/GET if the protection level is "Full access"?
Yes. On S7-1200 and S7-1500 CPUs the PUT/GET toggle is independent of the protection-level dropdown. With Full access set, the toggle still has to be ticked under Protection & Security > Connection mechanisms, otherwise any third-party tool, trace capture, or OPC client will be refused.
Which ports must be open in the firewall for TIA Portal tag capture?
Allow inbound TCP 102 (S7 ISO-on-TCP), inbound UDP 34964 (PROFINET DCP discovery), and on S7-1500 firmware V2.6 or later inbound TCP 4840 for OPC UA. Restrict the source IPs to the engineering subnet, e.g. 192.168.0.0/24.
How can I test tag acquisition without the HMI panel connected?
Connect the engineering PC directly to the CPU with a single patch cable, set the PC to an IP in the same subnet (for example 192.168.0.100 / 255.255.255.0), open TIA Portal, and use Online > Accessible nodes followed by a Watch table. If tags refresh, the path is sound and the panel connection can be checked separately.
The PC and CPU are reachable but the watch table shows "SFR 0x0004" — what now?
An SFR (System Function Runtime) error 0x0004 ("Object access denied") in the CPU diagnostics buffer almost always means PUT/GET is still disabled, the protection level is too restrictive, or the partner was not authenticated. Re-open the CPU Protection & Security properties, set Access level to Full access, tick the PUT/GET remote-partner checkbox, recompile, and download the hardware configuration.