Problem Overview: SCADA Alarms on a TP1200 Comfort Panel
Engineers integrating a third-party SCADA (DeltaV, WinCC, PCS 7, FactoryTalk View, iFIX, or a custom OPC UA server) with a SIMATIC TP1200 Comfort panel routinely ask whether the HMI can subscribe to the SCADA's alarm and event stream, mirror the message text and timestamp on the Comfort screen, and present a historical log for the operator. The short, manufacturer-confirmed answer is that TP1200 Comfort does not support the OPC UA Alarms & Events (A&E) information model. The panel will accept an OPC UA Client connection, browse the server namespace, and read/write Data Access (DA) tags, but it will not subscribe to event nodes, receive conditional, area, or program alarm notifications, or render server-side historical alarm records.
This is not a configuration mistake or a TIA Portal project bug. It is a documented capability boundary of WinCC Runtime Advanced, the firmware image that ships on Comfort Panels (TP1200, TP1500, TP1900, TP2200) under all current TIA Portal versions including V18, V19, V20, and V21. The reference for the boundary is Siemens Industry Online Support entry 109763315, which states explicitly that OPC UA Alarms & Events is not supported by Comfort Panels. The rest of this document walks through the exact OPC UA stack on the panel, the information models that are present, the three production-validated workarounds, and the commissioning checks that prove the bridge is healthy.
Comfort Panel OPC UA Stack and Information Models
A TP1200 Comfort panel runs the WinCC RT Advanced runtime inside a Windows CE / Windows Embedded Compact 7 image (depending on panel generation). The runtime exposes an OPC UA Client over TCP port 4840, conforming to the OPC UA 1.02 / 1.03 / 1.04 specification (the negotiated version depends on the TIA Portal version used to compile the project). The client implements the following OPC UA information models:
- Data Access (DA) – Browse, Read, Write, and Subscribe (Monitored Items with sampling and publishing intervals). This is the only model the Comfort panel uses.
- Methods – The client can call server-side methods, but only when the server exposes them on a DA browsable node. There is no standalone Method service profile.
- Historical Access (HA) for raw data values – Limited. The Comfort panel can read historical attributes of a DA node using ReadHistorical, but it cannot present a history view in the alarm control; it can only place historical values in trend or table objects.
The following OPC UA information models are not present in the Comfort runtime:
-
Alarms & Events (A&E) – No subscription to
Server,EventType, or alarm condition nodes. NoCreateMonitoredItemswith anEventfilter is accepted by the panel. - Alarms & Conditions (AC) – The newer companion specification that replaces classic A&E. Comfort does not implement the condition type hierarchy.
- Pub/Sub – Comfort has no UDP-based or broker-based Pub/Sub stack. The client is exclusively Client/Server over TCP.
- Aggregates – No server-side aggregate calculation is available; the client must compute averages, minimums, and maximums locally if needed.
This means any SCADA that exposes its alarm stream only through OPC UA A&E (for example the DeltaV OPC Events Server from Emerson, or a SIMATIC WinCC server with the A&E option enabled) cannot push events directly into the TP1200. The panel would need a translator in front of it.
Root Cause: Siemens KB 109763315 Confirms A&E Not Supported
The definitive manufacturer statement is in the Siemens Industry Online Support entry Entry ID 109763315 — "OPC UA Alarms & Events is not supported by Comfort Panels". The entry is in the WinCC Comfort / Panels / Runtime Advanced knowledge base and has been valid continuously through TIA Portal V16, V17, V18, V19, V20, and V21. The same boundary applies to all Comfort form factors (KP, TP, KTP, and the larger 15", 19", 22" displays) and to the Compact Panels and Basic Panels that share the RT Advanced runtime image.
The technical reason is architectural. Comfort Panels were designed as a DA-only OPC UA consumer because their primary controller integration path is the S7-1200 / S7-1500 optimized S7 connection or the S7-300 / S7-400 classic connection, both of which Siemens prefers over OPC UA for alarm exchange. The OPC UA A&E information model requires an event subscription filter, an event type hierarchy, and a server-side filter evaluator — components that the RT Advanced image does not include because they were reserved for WinCC Runtime Professional, the PC-based runtime in the same TIA Portal portfolio. A migration from Comfort to RT Professional is the most direct way to gain A&E support; the next three sections show the three practical paths to keep the TP1200 in the loop while still presenting third-party SCADA alarms.
What Comfort Panels DO Support: OPC UA Data Access
Before introducing workarounds, catalog what the TP1200 client can do today. With the OPC UA Client enabled in TIA Portal, a Comfort panel can:
- Browse the server namespace down to the variable level.
- Read tag values on demand or on a configured cycle.
- Write tag values from operator input, scripts, or scheduled tasks.
- Subscribe to Monitored Items with a configurable sampling interval (250 ms minimum on most Comfort panels) and publishing interval (500 ms typical).
- Apply security policies None, Basic128Rsa15, Basic256, Basic256Sha256, and Aes128-Sha256-RsaOaep depending on TIA Portal version, with certificate exchange through the TIA Portal certificate manager.
- Use authentication Anonymous, Username/Password, or Certificate-based.
These DA capabilities are the foundation of every workaround below: the bridge device that sits between the SCADA A&E server and the Comfort panel speaks OPC UA DA to the panel and either consumes the A&E feed itself, or polls the SCADA's historical alarm log and republishes a flattened tag view.
Alternative 1: WinCC Runtime Professional as A&E Aggregator
The cleanest, fully Siemens-supported path is to add a WinCC Runtime Professional PC into the network between the SCADA and the TP1200. RT Professional implements the full OPC UA information model set, including A&E and AC, and can act as both an OPC UA A&E Client (consuming the SCADA alarms) and an OPC UA DA Server (publishing a flattened tag view for the Comfort panel).
Architecture:
- The third-party SCADA exposes its alarms on an OPC UA A&E server (e.g. DeltaV OPC Events Server, or a WinCC server with the A&E option enabled on port 4840).
- A WinCC Professional station on Windows 10/11 LTSC or Windows Server subscribes to that A&E server using its built-in OPC UA A&E client channel.
- The RT Professional station hosts a parallel OPC UA DA server. The subscribed alarms are written to internal HMI tags, and the alarm control on the RT Professional station renders the message, timestamp, priority, and class for the local operator.
- Each alarm's message text, timestamp (as a UTC
DateTime), priority, and acknowledgement state are published as four DA tags per alarm point. The TP1200 Comfort subscribes to these tags and re-renders them in a Comfort alarm control using the HMI tag pointer to a structured DB or a UDT on the S7-1500 used as the historian.
For historical logs, RT Professional can be configured to log the subscribed alarms to a SQL database (Microsoft SQL Server 2019/2022) and then expose the rows to the Comfort panel as a table view populated by a script. The Comfort panel does not have a direct SQL client; the script runs in the RT Professional station, and the panel reads the data using DA tag arrays or a CSV file dropped on a shared SMB path. The TIA Portal documentation set "Communication via OPC UA with SIMATIC HMI systems (Comfort Panels, Runtime Advanced, Runtime Professional)" provides the matching step-by-step projects in the Siemens Online Support entry SIMATIC NET OPC UA Alarms and Events documentation V1.1.
Key TIA Portal steps for the RT Professional aggregator:
- Add an OPC UA A&E client channel in the RT Professional project, point it at the SCADA server URL
opc.tcp://<scada>:4840. - Create an internal alarm class mapping: source alarm class (e.g. DeltaV
CRITICAL) → RT Pro alarm class (e.g.Errorswith priority 1). - For each subscribed alarm, create four HMI tags:
AlarmText(WString, 255 chars),AlarmTime(Date_And_Time),AlarmPriority(UInt),AlarmAck(Bool). - Configure the Comfort OPC UA client connection to the RT Professional server URL
opc.tcp://<rtpro>:4840, browse, and add the four tags as a structured DA subscription. - Bind the Comfort alarm control to the structured tags so the operator sees the message text, timestamp, priority, and acknowledgement state.
Alternative 2: S7OPT OPC UA Server and Program Alarm Mapping
The second approach uses the S7OPT OPC UA Server that ships with SIMATIC NET, which is documented in the Siemens PDF Alarms & Events and Historical Data via OPC UA (67295801 V1.1). The S7OPT server is the OPC UA wrapper that Siemens installs alongside the S7-1200 / S7-1500 optimized S7 connection. It can transfer program alarms (the alarms generated by the GET_ERROR / Program_Alarm instructions in the S7-1500 CPU) to OPC UA event nodes.
The bridge works as follows:
- The third-party SCADA writes its alarm payload (message, time, priority, area) to a structured DB on the S7-1500 CPU. The SCADA engineer is responsible for pushing the alarm text into a pre-agreed DB layout, for example DB1200 with offsets for
MsgID,TimestampUTC,Priority,Class,Text[254]. - The S7-1500 program uses the
Program_Alarminstruction (SCL) to generate a program alarm when the DB content changes. The instruction creates an alarm of the configured type (e.g.ALARM_SorNOTIFY) and attaches the message text from the DB. - The S7OPT OPC UA Server on the engineering station (or a dedicated OPC UA server PC) maps the S7 program alarm to an OPC UA
EventTypenode in the server's address space. - A WinCC RT Professional station (or any other A&E-capable OPC UA client) subscribes to the events and re-renders them in its alarm control.
- From the RT Professional station, the same flattened DA tag pattern from Alternative 1 forwards the alarm fields to the TP1200 Comfort panel.
This pattern is the only Siemens-documented path that maps native S7 program alarms into OPC UA A&E. It is the right choice when the source of truth for alarms is already the S7-1500 and the SCADA is mirroring those alarms rather than originating them. For external SCADA-originated alarms, a small SCL function block in the S7-1500 can compose the S7 program alarm from SCADA-typed input strings, but the SCADA integration code (the part that writes to DB1200) is still the integrator's responsibility.
Alternative 3: Polling Middleware and Alarm Mirroring via DA Tags
When the budget does not allow an RT Professional station or the project is locked to a Comfort-only fleet, a lightweight middleware service is the third option. The middleware runs on any Windows or Linux box on the plant network and performs three tasks:
- Polls the SCADA alarm log periodically (every 1 to 5 seconds, depending on operator requirement) using the SCADA's native API or its OPC UA A&E interface.
- Maintains an in-memory ring buffer of the most recent N alarms (typically 1,000 to 5,000).
- Exposes the ring buffer as a set of OPC UA DA tags over a built-in OPC UA server. Each alarm is flattened into five tags:
AlarmActiveCount,AlarmText[254]as a WString array,AlarmTimestampas a Date_And_Time array,AlarmPriorityas a UInt array, andAlarmAckas a Bool array.
The TP1200 Comfort panel subscribes to these DA tags and renders them in an alarm view control. For historical browsing, the middleware writes the ring buffer to a CSV file on an SMB share that the Comfort panel reads as a file-backed data source. Historical timestamps are preserved as UTC DateTime values and converted to local time on the panel using the Comfort runtime's TimeConversion function block.
Reference implementations of the middleware are available in the OPC Foundation's .NET Standard stack, the Eclipse Milo Java stack, and the open62541 C stack. The Comfort panel's OPC UA client is not involved in the A&E path; it only consumes the flattened DA tags. This pattern is widely used in retrofit projects where a Comfort fleet was installed before a new SCADA was added, and the SCADA vendor is unable to expose alarms as DA tags natively.
Configuration: Enabling the OPC UA Client on TP1200 Comfort
The DA path that all three alternatives rely on must be configured correctly on the TP1200. The following steps are valid for TIA Portal V18 / V19 / V20 / V21 with Comfort firmware that ships in the same release window. Substitute the panel part number (e.g. 6AV2 124-1MC01-0AX0 for TP1200 Comfort) for other Comfort form factors.
- Enable OPC UA in the project. In TIA Portal, select the TP1200 device, open Properties > OPC UA, and tick "Activate OPC UA server" if the panel will host its own server. For the client role, tick "Activate OPC UA client". The two checkboxes are independent.
-
Create an OPC UA connection. In the project tree, right-click OPC UA Connections > New Connection. Enter the connection name, the server URL (e.g.
opc.tcp://10.0.0.50:4840), and the security policy. For most plant networks use Basic256Sha256 + Sign & Encrypt. For test benches, None is acceptable. - Configure authentication. Choose Anonymous for initial commissioning, switch to Username/Password for production. Certificate-based authentication is supported from TIA Portal V18 onward but requires the Comfort firmware to trust the server's self-signed certificate, which is exchanged through the certificate manager under OPC UA Settings > Trusted Certificates.
-
Browse the namespace. In the OPC UA client editor, click "Browse Server". The panel will fetch the server's address space and display all browsable nodes. Select the alarm-mirror tags (e.g.
ns=2;s=AlarmMirror.Text,ns=2;s=AlarmMirror.Time) and add them to the client connection. - Map the tags to HMI variables. For each browsed OPC UA node, create a corresponding HMI tag in the Comfort project's HMI tag table. The tag must have the same data type (WString[254] for text, Date_And_Time for timestamp, UInt for priority, Bool for ack).
- Configure the alarm control. Add an Alarm Control or Alarm View to the Comfort screen. Bind the alarm bit field to a configured alarm class. Use the Tag Pointer property of the alarm control to point at the structured DB or HMI tag array that carries the alarm mirror data. For Comfort Panels the alarm control supports up to 2,000 active alarms and 5,000 historical alarms by default, see the Comfort Panel performance features table in TIA Portal V21 documentation for the exact per-device limits.
- Compile and download. Compile the TIA Portal project, download the HMI to the TP1200, and confirm the runtime shows the OPC UA client as Connected in the panel's diagnostics page (reachable through Start > Settings > OPC UA on the panel).
Verification: Connection, Namespace Browse, and Tag Monitor
After commissioning, the following three checks confirm that the bridge is operating correctly. Each check maps to a real, observable signal in the runtime; none of them require a separate diagnostic tool.
- Connection state check. On the TP1200 panel, navigate to Settings > OPC UA > Connections. The configured server connection should display state Connected, security policy Basic256Sha256 (or whichever policy was configured), and the negotiated session timeout. If the state is Disconnected, check the server URL, the firewall on port 4840 between the panel and the server, and the trusted certificates on both sides.
- Namespace browse check. In the TIA Portal OPC UA client editor, click "Browse Server" again. The server's full address space should appear within 3 to 5 seconds. A timeout or an empty browse result indicates either a certificate trust failure or a server-side security policy mismatch.
-
Tag monitor check. In TIA Portal, open Online > Tag Monitoring, select the HMI tags that mirror the SCADA alarms, and confirm that the values are updating. Force an alarm in the SCADA (e.g. raise a HIGH-HIGH on a process value) and verify that the
AlarmText,AlarmTime, andAlarmPrioritytags update on the panel within two polling cycles of the bridge middleware or the RT Professional aggregator.
ConvertToLocalTime in the alarm view's formatting script. This is a common cause of "the alarm is one hour wrong" complaints on international deployments.Comfort vs RT Professional OPC UA Capability Matrix
| Capability | TP1200 Comfort (RT Advanced) | WinCC RT Professional |
|---|---|---|
| OPC UA Client (DA browse, read, write) | Yes | Yes |
| OPC UA DA Monitored Items (subscription) | Yes (250 ms min sampling) | Yes (100 ms min sampling) |
| OPC UA Server role | Yes (DA only) | Yes (DA + A&E + AC + HA) |
| OPC UA Alarms & Events (A&E) subscription | No (per KB 109763315) | Yes |
| OPC UA Alarms & Conditions (AC) subscription | No | Yes (from TIA V18) |
| OPC UA Historical Access (HA) for raw values | Limited (read-only) | Yes (read/write, aggregates) |
| OPC UA Pub/Sub | No | Yes (TIA V20+) |
| Security policies | None, Basic128Rsa15, Basic256, Basic256Sha256, Aes128-Sha256-RsaOaep | Same set + sign/encrypt combinations |
| Authentication | Anonymous, Username/Password, Certificate | Same |
| Max simultaneous subscriptions | 1,000 Monitored Items (TP1200) | 10,000+ (PC scale) |
| Alarm control supported | Yes (bit-triggered, structured DB) | Yes (full message configuration) |
| Historical alarm log | CSV file on SD card / SMB | SQL database (SQL Server) |
Engineering Reference Numbers
When raising a Siemens support request or searching the Industry Online Support portal, the following part numbers and entry IDs are the canonical references for this integration pattern:
- TP1200 Comfort: 6AV2 124-1MC01-0AX0 (current) or 6AV2 124-1MC01-0AX1 (latest revision). Comfort family: 6AV2 124-1xxxxx and 6AV2 124-0xxxxx series.
- KB confirming A&E not supported on Comfort: Siemens Entry ID 109763315.
- SIMATIC NET OPC UA Alarms and Events documentation V1.1: Entry attachment 67295801.
- Comfort Panel performance features (TIA V21 documentation portal): TIA Portal V21 — Comfort Panel performance features.
- Third-party A&E server example (DeltaV OPC Events Server data sheet): Emerson DeltaV OPC Events Server.
- Standard OPC UA port for Client/Server: TCP 4840. Discovery port: UDP 4840 (multicast) and TCP 4840 for the Local Discovery Server.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Step | Remedy |
|---|---|---|---|
| OPC UA client shows "Disconnected" | Firewall blocking TCP 4840 or wrong server URL | From the panel, ping the server; from the server, telnet <panel IP> 4840
|
Open TCP 4840 on the network path; correct the server URL in TIA Portal |
| Browse returns empty / timeout | Certificate not trusted or security policy mismatch | Check the panel's OPC UA > Trusted Certificates list and the server's security policy | Export the server's certificate from the server endpoint, import it on the panel; align the security policy on both sides |
| Tag values are always "0" or "*" | Wrong namespace URI or wrong node ID format | In TIA Portal, Online > Tag Monitoring on the OPC UA client tag | Verify the node ID format (e.g. ns=2;s=Channel1.Device1.Tag1) and re-add the tag through the Browse dialog |
| Alarm text appears but timestamp is wrong | Time zone mismatch between server (UTC) and panel (local) | Inspect the panel's Settings > Date/Time and the server's timestamp | Set the panel to UTC; convert to local time in the alarm view formatting |
| Alarm text appears but acknowledgement does not clear it | Alarm mirror tag is read-only; ack bit is a separate DA tag | Inspect the bridge output tags; check the middleware ack write-back logic | Add an explicit AlarmAck DA tag and a write-back from the panel to the bridge |
| Historical alarm log is empty on the panel | CSV file not on the SMB share or path is wrong | From the panel, open File Explorer and navigate to the configured path | Correct the SMB path, user name, and password in the Comfort project's Historical Data settings |
| Comfort freezes when alarm count exceeds ~1,000 | Approaching the TP1200 alarm limit | Check the Comfort Panel performance features table for the exact device limit | Reduce the bridge's ring buffer; archive older alarms to the SD card; consider RT Professional |
Frequently Asked Questions
Does the TP1200 Comfort support OPC UA Alarms & Events in any firmware version?
No. Siemens Industry Online Support entry 109763315 confirms that A&E has never been implemented in WinCC Runtime Advanced, the runtime that ships on Comfort Panels from TIA Portal V13 SP1 through V21. There is no firmware update that adds A&E support.
What is the simplest way to display a third-party SCADA's alarms on a TP1200 Comfort?
Add a WinCC Runtime Professional station that subscribes to the SCADA's OPC UA A&E server, and have the RT Professional station republish each alarm as four OPC UA DA tags (text, timestamp, priority, ack). The TP1200 subscribes to those DA tags and renders them in its alarm control. This is the only fully Siemens-supported path.
Can the S7-1500 with S7OPT OPC UA server push program alarms as OPC UA A&E events?
Yes, for native S7-1500 program alarms generated by the Program_Alarm SCL instruction. The S7OPT server maps those alarms to OPC UA EventType nodes. The mapping is documented in the SIMATIC NET PDF 67295801 V1.1. For alarms originating in an external SCADA, the SCADA must write into a structured DB on the S7-1500 first, and the SCL program then raises a program alarm from that DB content.
What is the maximum number of simultaneous OPC UA subscriptions on a TP1200 Comfort?
The exact number depends on the Comfort variant and the TIA Portal version, but the published Comfort Panel performance features table in the TIA Portal V21 documentation lists the per-device limits. For a TP1200 Comfort the practical limit is approximately 1,000 Monitored Items and 2,000 active alarms. Exceeding these limits degrades runtime performance and may cause the OPC UA client to drop subscriptions.
Can a Comfort panel log historical alarm data to a SQL database?
No. Comfort Panels do not have a built-in SQL client. Historical alarm logs are stored as CSV files on the panel's SD card, on a USB stick, or on a remote SMB share that the panel can read as a file-backed data source. For native SQL logging, migrate to WinCC Runtime Professional, which logs directly to Microsoft SQL Server 2019 or 2022.
Which OPC UA security policy should I use for a plant-floor Comfort-to-server link?
For production plant networks, use Basic256Sha256 with the Sign & Encrypt message security mode. For test benches, None is acceptable. The Basic128Rsa15 policy is deprecated and should not be used in new deployments. All Comfort panels from firmware V14 onward support these policies; certificate exchange is managed through the TIA Portal certificate manager.