1. Problem Overview
A discrete alarm configured under the Error alarm class on a KTP 600 Basic mono PN panel, with acknowledgement enabled, shows correctly in the alarm view the moment the trigger bit transitions high. The same trigger bit, reassigned to the Warning alarm class (no acknowledgement required), never appears on the screen. The bit is being set in the LOGO! V7 program, the HMI connection is online, and no compile error is reported. The alarm only becomes visible after the operator manually acknowledges it, which is the exact behaviour the Warning class is supposed to suppress.
This is a configuration issue, not a hardware fault, and it is one of the most common pitfalls when porting an Error-class alarm to a Warning-class alarm for the first time in Siemens Industry Online Support documentation context. The remainder of this article walks through the underlying alarm state machine, the specific TIA Portal V11 settings that control Warning-class visibility, and a verification procedure that confirms the alarm now appears and clears automatically without operator interaction.
2. Prerequisites and Tooling
| Item | Value / Catalog Reference | Notes |
|---|---|---|
| LOGO! base module | 6ED1052-1xxx-xBAx (LOGO! 6 / V7 generation) | BM 230RCE or equivalent; firmware >= V1.07.x recommended |
| HMI panel | 6AV6647-0AB11-3AX0 (KTP 600 Basic mono PN) | 6 inch, monochrome, PN interface |
| Engineering tool | STEP 7 / TIA Portal V11 SP2 (or V13 for re-targeting) | WinCC Basic included; Comfort editors unavailable |
| Connection | LOGO! <-> HMI via PROFINET (S7 protocol) | LOGO! acts as S7 server on port 102 |
| Project tree nodes required | PLC tags, HMI tags, HMI alarms, Screens | All four must compile without warnings |
3. Alarm Class Architecture in WinCC (TIA Portal)
In WinCC (TIA Portal) every discrete or analog alarm belongs to exactly one alarm class. The class defines three behavioural attributes:
- State transition logic — when the alarm is considered "incoming", "outgoing", and "acknowledged".
- Acknowledgement requirement — whether the operator must press ACK to remove the alarm from the active list.
- Visual representation — icon, background colour, and routing to the message indicator / message buffer.
The three default classes on a KTP 600 Basic are:
| Alarm Class | Acknowledgement | Typical Use | Default Icon |
|---|---|---|---|
| Warning | No | Advisory condition that self-clears when the trigger falls | Yellow triangle |
| Error | Yes | Fault condition that must be acknowledged before it leaves the active list | Red bar |
| System | Yes | Reserved for HMI / PLC diagnostics | Blue info |
The critical difference between Error and Warning is not the visibility, it is the state machine. An Error alarm transitions: Incoming (unacknowledged) -> Incoming (acknowledged) -> Outgoing (acknowledged) and only leaves the alarm view after both the trigger falls and the operator has acknowledged. A Warning alarm transitions: Incoming -> Outgoing directly when the trigger falls, and never requires acknowledgement.
4. Root Cause Analysis: Warning Alarm Class Behavior
When the Warning class alarm fails to display, the symptom is almost always one of the following four configuration defects. The Error-class alarm in the same project works because none of these defects affect it: the Error class is tolerant of misconfigurations that simply make the Warning class invisible.
| # | Defect | Mechanism | How to recognise it |
|---|---|---|---|
| 1 | Alarm class "Hide without acknowledgement" set to true | The WinCC runtime filters out any Warning-class event until the operator ACK | Right-click alarm class Warning -> Properties -> "Hide until acknowledged" |
| 2 | Trigger tag is declared as an HMI tag but the PLC tag is missing or not linked | No acquisition cycle, alarm is never polled | Watch table on PLC shows bit toggling; HMI tag shows zero or question mark |
| 3 | Alarm view filter excludes the Warning class | The view on the screen has a class filter set to Error only | Select Alarm View -> Properties -> Filter -> Alarm Classes |
| 4 | Alarm bit assigned to the wrong word or bit offset in LOGO! VM area | LOGO! addresses bit-level variables only via specific marker bytes; the HMI reads zero | PLC tag monitoring shows bit = 1, raw VM word read from HMI shows 0 |
In most user reports the actual defect is a combination of #1 and #3: the Warning class property page is left at its V11 default (which on some service packs toggles "Hide until acknowledged" to true), and the alarm view filter was created by duplicating the Error-class view and forgetting to extend the class filter. Both must be corrected before the alarm will behave like a true non-acknowledged event.
5. Step-by-Step: Configuring the Warning Alarm Class
- In the project tree, expand HMI alarms -> Discrete alarms. Right-click Warning and select Properties.
- Open the General tab. Confirm Acknowledgement is unchecked. This is the defining property of a Warning class; if it appears checked, the class has been cloned from Error and must be reset.
- Open the Display tab. Confirm Background colour is yellow (default) and the Status icon points to the warning glyph (file
@Warningin the WinCC Basic graphics). - Confirm Hide without acknowledgement is unchecked. This property was introduced in V11 SP2 and is the silent killer for Warning-class visibility — when checked, the alarm is suppressed until ACK even though the class does not normally require ACK.
- Click Apply, then OK. Recompile the HMI station.
Now that the class itself is correct, the alarm entries attached to it can be defined. The class definition is global — every discrete alarm you create or have already created that uses Warning inherits these properties.
6. Trigger Tag Setup in LOGO! V7
The Warning alarm must be triggered by a tag that the HMI can poll continuously. On LOGO! V7 the only HMI-visible areas are inputs (I), outputs (Q), flags (M), and the Variable Memory (VM). For a state-like "tank full" or "door open" condition that should drive the alarm, use a marker byte:
| LOGO! Symbol | VM Address (byte.bit) | Use for alarm |
|---|---|---|
| M1 | VB0.0 | Warning 1 (e.g. "Tank Level High") |
| M2 | VB0.1 | Warning 2 |
| M3 | VB0.2 | Warning 3 |
| M8 | VB0.7 | Spare |
In the LOGO! SoftComfort diagram, set the marker coil (e.g. B001 output to M1) so the marker follows the actual process condition one-for-one. Do NOT use a self-latching output for an alarm you want to self-clear: the latch will keep the bit true after the condition has gone away.
7. HMI Tag Connection and Alarm Wiring
- In the TIA Portal project tree, open HMI tags -> Default tag table.
- Create a new tag named
WarningTankHigh, data typeBool, connectionHMI_Connection_1(the LOGO! PN connection). - Set the PLC address to
%MW0(or the corresponding DB if your LOGO! program uses VM starting at a non-zero offset) and use bit access in the alarm trigger — see step 5. - Set the Acquisition cycle to
500 ms. The LOGO! PN driver cannot sustain sub-100 ms cycles reliably; 500 ms is the recommended lower bound for a warning that the operator must see but that does not require millisecond response. - Open HMI alarms -> Discrete alarms. Add a new alarm, name it
Tank_Level_High, assign the alarm text, and select Trigger =WarningTankHigh. - Set Alarm class =
Warning. Confirm the trigger is a bit-level (Boolean) tag.
8. Alarm View and Screen Configuration
The alarm view is the widget that renders the active and historical alarm list on the screen. Even with a perfectly configured Warning class and trigger, the alarm will not show if the view's filter excludes the class.
- Open the screen that should display the alarm (e.g.
Screen_1). - From the Toolbox under Controls, drag an Alarm View onto the screen. Resize it to fill the lower half of the screen.
- Select the alarm view and open Properties -> Filter.
- Click Alarm classes and ensure Warning is ticked in addition to Error. If the dialog only shows Error, the filter is a copy from the Error view and must be edited.
- Under Display, confirm Active alarms, Alarm log, and History are visible. For the Warning class, the relevant state is "Active alarms" — when the trigger falls, the line will move to the log automatically without any acknowledgement action.
- Disable the Show only alarms to be acknowledged checkbox. This checkbox exists on Comfort Panels but is harmless on Basic; double-check it is not greyed-out and set to "Yes".
If you want a persistent visual cue without taking up screen real-estate for a full alarm view, also add a Message indicator (small icon in the corner that flashes on incoming alarm) and configure its filter to include Warning.
9. Verification and Commissioning
- Compile the project (HMI station first, then PLC station, then all).
- Download the LOGO! program and the HMI image to the targets.
- Force the marker M1 high in the LOGO! online view (right-click the coil -> Force). Within one acquisition cycle (≤ 500 ms) the Warning line
Tank_Level_Highmust appear in the alarm view with the yellow icon. - Unforce M1. Within one acquisition cycle the line must move from the active list to the log automatically. No ACK press is required.
- Repeat the test with the operator pressing ACK during the active phase. The ACK must have no effect — pressing it before the trigger falls must not move the line to the log, because the Warning class does not require ACK; pressing it after the trigger has fallen is a no-op.
- Toggle the trigger rapidly (5 toggles in 5 seconds) and confirm the alarm view does not queue pending acknowledgements and does not enter a "stuck" state.
10. Troubleshooting Matrix
| Symptom | Likely cause | Where to look | Fix |
|---|---|---|---|
| Warning never appears; Error alarm on same trigger works | Warning class "Hide until ACK" = true OR view filter excludes Warning | HMI alarms -> Warning -> Properties; Screen alarm view filter | Uncheck "Hide until ACK"; add Warning to view filter |
| Warning appears but stays after trigger falls | Trigger tag is a latched bit in LOGO! | LOGO! SoftComfort ladder / FBD for the marker output | Remove S/R latch; use direct output of the condition to the marker |
| Warning appears for a single PLC cycle then disappears | Trigger is a transient pulse (e.g. one-shot) rather than a level | Watch the marker in LOGO! online view | Use a sustained output, not a pulse edge |
| Warning text shows but the icon is wrong | Status icon was manually overridden | HMI alarms -> Warning -> Display tab | Reset icon to default warning glyph |
| Warning works in simulation but not on the real panel | Acquisition cycle mismatch or HMI tag not downloaded | Project -> Download -> HMI tags separate from HMI image | Re-download tags; verify "Update tags on connection" in Runtime settings |
| All alarms stop after first warning toggles | Acquisition cycle < 200 ms overloaded LOGO! PN driver | HMI tag properties -> Acquisition cycle | Set cycle to 500 ms or 1 s |
| Warning visible on one screen but not another | Alarm view on second screen has no Warning filter | Second screen alarm view filter | Add Warning to filter list on every alarm view |
11. Notes on Porting to Newer Platforms
If the project is later migrated to TIA Portal V13/V15/V16 or to a Comfort Panel (e.g. KTP 700, TP 700, TP 900), the Warning class concept is preserved but the property dialog changes. The legacy "Hide until ACK" toggle is replaced by the State machine selector in the class editor, where the Warning class defaults to Incoming -> Outgoing without an intermediate acknowledged state. The same four defects still apply, only their menu locations change. When migrating, recompile from a clean project tree; do not carry the V11 alarm configuration as a black box, because the V11 service packs introduced several property-name aliases that V13 does not understand.
For LOGO! 8 (6ED1052-1xxx-xBA8 with firmware >= V8.0), the BM exposes a different VM layout — the marker area used for alarms must be re-mapped because VM byte 0 is reserved for LOGO! 8 internal state. Refer to the LOGO! 8 system manual on the Siemens Industry Online Support portal for the exact byte mapping before copying any V7 project.
Why does my Warning alarm never appear on the KTP 600 Basic, but the Error alarm on the same trigger does?
The Warning alarm class has the property "Hide until acknowledged" enabled by default in some TIA Portal V11 service packs. Open HMI alarms -> Warning -> Properties and uncheck it; the Error class ignores this property and therefore works regardless.
How do I make a Warning alarm disappear the moment the trigger tag goes low, with no operator action?
Confirm Acknowledgement is unchecked on the Warning class, do not latch the trigger marker in the LOGO! program, set the HMI tag acquisition cycle to 500 ms or 1 s, and ensure the alarm view filter includes the Warning class. The alarm line then moves from active to log automatically as soon as the trigger falls.
What address should I use in the HMI tag to read a LOGO! V7 marker bit?
Use the Variable Memory area starting at %MW0 (byte 0). Marker M1 maps to bit %MX0.0, M2 to %MX0.1, and so on through M8 at %MX0.7. Beyond byte 0 the mapping shifts — refer to the LOGO! system manual for the full VM table.
Can I have multiple Warning alarms on the same screen at the same time?
Yes. Add multiple discrete alarms under the Warning class, each with its own trigger tag and text. The alarm view will stack them in chronological order. There is no hard limit on the number of Warning alarms on a KTP 600 Basic beyond the configured buffer size (default 512 entries in the alarm log).
Why does pressing ACK on a Warning alarm have no visible effect?
Because the Warning class does not require acknowledgement. ACK is a no-op on Warning-class alarms. If you need the operator to confirm receipt, change the alarm to the Error class; if you simply want a visible indicator, use the message indicator (flashing icon) instead.