Configuring Multi-Signal Alarms and Dynamic Associated Values with ALARM_8P and APL Event Blocks

Configuring Multi-Signal Alarms and Dynamic Associated Values with ALARM_8P and APL Event Blocks

In SIMATIC PCS 7, generating alarms for multiple shared data block variables without creating an individual ALARM_8P block for every signal is accomplished by grouping up to 8 signals onto a single ALARM_8P (SFB35) block, or by deploying the native APL Event block (FB1811). Each of the 8 signal inputs has independent message text, alarm class, and priority configurations in the block's Special Object Properties > Messages dialog. Dynamic process values can be embedded into the alarm text using associated values (AV1..AV4) with formatting tokens like @1%4.2f@.

Table of Contents

Architecture of S7 Message Generation: ALARM_8P vs. APL Event

In SIMATIC S7-400 and S7-410 controllers running PCS 7, process alarms must be generated deterministically and dispatched to the Operator Station with controller-assigned millisecond timestamps.

When an engineer needs to generate alarms for multiple raw variables residing in shared Data Blocks (e.g., auxiliary skid alarms, lubrication status bits, transformer trip signals):
* Instantiating an individual ALARM_8P (SFB35) instance for every single binary variable creates immense memory overhead and consumes excessive AS Process Objects (PO).
* Novice engineers often assume that assigning multiple signals to a single ALARM_8P forces all signals to share the exact same message text.

This is an engineering misconception:
1. A single ALARM_8P instance monitors up to 8 independent binary signals (SIG_1 through SIG_8). Each signal can be assigned its own unique message text, alarm class, priority, and acknowledgment requirement.
2. In the Advanced Process Library (APL), Siemens provides Event (FB1811) and EventTs (FB1823), which wrap ALARM_8P into an APL-compliant block supporting structured signals (Struct_Digital) and dynamic Associated Values (AV1 to AV4).

Signal Capacity and Associated Value Capability Matrix

Compare standard messaging blocks available in SIMATIC PCS 7:

Messaging BlockBlock IdentifierNumber of Binary InputsAssociated Values SupportedSignal Timestamping ResolutionRecommended Use CaseALARM_8PSFB358 (SIG_1..8)10 (SD_1..10)Cyclic CPU scan timestampStandard custom block messagingEventFB1811 (APL)8 (In1..8)4 (AV1..4)Cyclic CPU scan timestampStandard APL shared DB alarm aggregationEventTsFB1823 (APL)8 (In1..8)4 (AV1..4)1 ms hardware timestampingHigh-precision Sequence of Events (SOE)ALARM_8SFB338 (SIG_1..8)NoneCyclic CPU scan timestampSimple alarms without process value snapshots

Licensing notice: Sizing messaging blocks efficiently directly optimizes AS RT Process Object consumption.

Configuring Distinct Message Texts and Classes for ALARM_8P Signals

To configure unique messages for each signal on a single block:

  1. Place Block in CFC Chart:
    * Insert ALARM_8P (SFB35) or Event (FB1811) into a cyclic CFC chart (OB 35).
    * Interconnect the 8 binary signals (from DBs or logic) to inputs SIG_1..8 (or In1..8).
    * If connecting raw elementary BOOL signals to APL Event, use conversion blocks or assign quality code ST = 16#80.
  2. Open Message Configuration Dialog:
    * Right-click the block in CFC, select Special Object Properties > Messages.
    * The grid displays 8 distinct rows, one for each input channel:
    • Row 1 (SIG_1): Event Text = Lube Oil Pressure Low, Class = Alarm - High.
    • Row 2 (SIG_2): Event Text = Bearing Temperature Warning, Class = Warning - High.
    • Row 3 (SIG_3): Event Text = Filter Differential Pressure High, Class = Alarm - Low.
    • Row 4..8: Parameterize remaining technological descriptions.
  3. Compile OS:
    * Execute Compile OS (Scope: Changes only) to commit all 8 message definitions into the WinCC Alarm Logging database.

Embedding Dynamic Process Data via Associated Values (@1%f@)

To display live analog values (e.g., actual temperature or pressure) inside the alarm text:

  1. Connect Associated Process Values:
    * On the block in CFC, connect analog signals to the associated value inputs:
    • Connect Actual_Temp.Value to input SD_1 (on ALARM_8P) or AV1.Value (on Event).
    • Connect Actual_Flow.Value to input SD_2 (or AV2.Value).
  2. Insert Formatting String Tokens into Event Text:
    * In the Message Configuration dialog, use standard C printf formatting syntax:
    Bearing Temp High: Current Value = @1%4.1f@ deg C
    * Syntax Breakdown:
    • @1: References Associated Value 1 (SD_1 or AV1).
    • %4.1f: Formats the floating-point number with a total width of 4 and 1 decimal place.
    • @: Closes the token.
    • If AV1 = 82.43, WinCC Alarm Logging displays:
    • Bearing Temp High: Current Value = 82.4 deg C.

Verification

Verify multi-signal alarm generation:
1. In CFC, force input SIG_1 = 1: Confirm that WinCC Alarm Logging registers Lube Oil Pressure Low.
2. Force input SIG_2 = 1 while SIG_1 is still high:
* Confirm that WinCC immediately registers a second, independent alarm: Bearing Temp High: Current Value = 82.4 deg C.
3. Acknowledge Alarm 1: Confirm that Alarm 2 remains unacknowledged, proving independent alarm lifecycle management.

Limitations and Operational Precautions

  • A single ALARM_8P block transmits messages using a common instance DB; do not toggle all 8 signals in the same millisecond scan without adequate S7 communication buffer sizing.
  • Formatting tokens must be formatted correctly; an invalid token (e.g., unclosed @ symbol) causes WinCC Alarm Logging to display raw syntax strings instead of process values.
  • Associated values are captured at the exact moment the alarm edge occurs (snapshot values); they do not update continuously while the alarm remains active.

Engineer FAQ

Can I pass string text as an associated value?

Yes. Use format token '@1%s@' and connect a string variable (formatted as an S7 string structure) to the associated value input.

How many Process Objects (PO) does one ALARM_8P consume?

In PCS 7, each ALARM_8P or Event block consumes 1 AS RT Process Object, regardless of whether 1 or all 8 signals are utilized.

What happens if an associated value is disconnected?

If the associated value input is unconnected or contains invalid data, WinCC renders '***' in place of the numeric value.

Technical References

Related Articles

Related Tags

  • ALARM_8P
  • SFB35
  • Event Block
  • FB1811
  • Associated Values
  • Formatting Tokens
  • Alarm Logging
  • PCS 7 Engineering
6 respuestas