Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

x

HTML
<style>
.text-span-6 {
    background-image: linear-gradient(99deg, rgba(170, 163, 239, .5), rgba(125, 203, 207, .5));
    border-radius: 50px;
    padding-left: 15px;
    padding-right: 15px;
}

#title-text {
display: none;
}

.panelgradient {
    background-image: linear-gradient(180deg, #d5def0, whitesmoke);
    border-radius: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 4rem;
    display: flex;
    position: relative;
}

</style>


<div class ="panelgradient">

<h1 style="text-align: center;">Alarms <br> (AuditTrail and Notifications)</h1>

</div>


Introduction to the Alarms Module

The Alarms Module is designed to monitor and manage real-time alarm events, notification and  Audit-Trail information, providing alerts for critical events, and storing data for future analysis. It performs  the following main functions:

  • Real-time Alarm States Processing 

  • Agnostic storage on any Database provider

  • Organize and manage alarms hierarchically 

  • Define System AuditTrail event and Track Operator actions

On this page:

Table of Contents
maxLevel3
minLevel2
stylenone




Key Concepts and Terms

Below is a list of key concepts essential to understanding the Alarms Module.


Panel
bgColor#ffffff

AlarmItem

An AlarmItem is a tag or expression monitored by the Alarm Module. It contains information such as the tag name, the alarm condition (what triggers the alarm), and the associated AlarmGroup. Each AlarmItem can have its own configuration properties, such as Limit, Deadband, and Message, which define the alarm behavior and characteristics.


Panel
bgColor#ffffff

AlarmGroup

An AlarmGroup is a collection of AlarmItems that share common properties and characteristics. It is a way to group alarms together for easier management and organization. Each AlarmGroup can have its own configuration properties, such as AckRequired, AutoAckTime, and Sound, which apply to all of its AlarmItems.



Panel
bgColor#ffffff

AlarmArea

An AlarmArea is a hierarchical grouping of AlarmGroups that allows for a more organized and structured approach to managing alarms. An AlarmArea can have child AlarmAreas, allowing for a hierarchical structure of AlarmGroups and AlarmItems. This is useful for large systems with many alarms, as it provides a more intuitive and manageable way of organizing them.


Panel
bgColor#ffffff

Audit Trail

The AuditTrail is a feature of the Alarm Module that logs all changes made to AlarmGroups and AlarmItems, including creation, modification, and deletion events. It tracks and records the history of changes to the alarm configuration, providing a clear audit trail of who made what changes and when. This is useful for troubleshooting, analysis, and compliance purposes.





Understanding the Alarms Module

The alarm module runs in a separate process from TServer.exe.  The alarm operations occur at the same time that other events in the solution occur.  This improves reliability in process monitoring.

When an alarm is triggered, it can be acknowledged by any user (with matching access level) through the AlarmViewer

Examples: Tag properties, AlarmGroup or AlarmItem's runtime properties.

Module Features

  • The AlarmViewer Control presents active alarms and their state changes on the screen.
  • Real-time alarm processing to quickly identify and respond to critical events.
  • Organizing and managing alarms in a hierarchical structure for enhanced flexibility and control.
  • Dynamic language localization of alarm messages for easy understanding.
  • High-precision timestamps up to 0.1ms for accurate and reliable data.
  • Universal Time and Daylight Saving always considered for accurate time-stamp
  • Send Custom Notifications, like SMS or e-mails.
  • Store and Forward when archiving to remote databases.
  • Automated replication in hot-stand-by scenarios

Monitoring Tags and Evaluating Conditions

The Alarms functionality allows users to evaluate if tag values are set to their specific conditions in real-time. Notifications can be sent to users or automatic actions can be taken based on set conditions.

To monitor tags users can set up conditions to evaluate. For example, a user can set up a condition to trigger an alarm if the value of a tag exceeds a certain threshold. Also, it's possible to trigger automation with a ScriptTask through the property "Alarm.Item.<AlarmID>.State.” 

Conditions can be based on a variety of factors, such as tag values, tag quality, or any object property.




Configuring the Alarms Module

Configuration Workflow

Configuring Alarms includes the creation of AlarmItems associated with the tags in the solution. The ones that share common characteristics might belong to AlarmGroups and then hierarchically structured  with AlarmAreas.

The complete configuration workflow for a more generic application is:

Alarms Module Configuration Workflow

Action

Where 

Comments

Create AlarmItems

Alarms → Items

Create an AlarmItem.  It will be associated with a tag by inserting the tag's name into the Tag Name column. Learn more at AlarmItems.

Define conditions

Alarms → Items

Define the alarm behavior, configuring the Condition to trigger the alarm and the Limit for the threshold value. Learn more at AlarmItems.

Create or edit AlarmGroups

Alarms → Groups

Define the AlarmItems that share common characteristics and use them to define several alarm attributes. Learn more at AlarmGroups.

Create or edit AlarmAreas

Alarms → Areas

Create a hierarchically structured group of Alarms. Learn more at AlarmAreas.

Define settings

Alarms → Global Settings

Configure database settings for logging alarm events, behavior upon system startup, and specific alarm handling parameters. Learn more at Global Settings.

Pre-Defined AlarmGroups

The Alarms module provides a predefined AlarmGroup to quickly configure alarms for common applications. These groups have pre-configured properties that make it easier to create and configure alarms for standard purposes.

To use a predefined AlarmGroup, you simply need to select it from the list of available groups and configure additional properties as needed. 

The pre-defined AlarmGroups are:

  • Critical: High Priority Alarms that requires acknowledgement and History logging.
  • Warning: Medium Priority Alarms and Low Priority Alarms, which don't require acknowledgment, but are logged.
  • Audit Trail: Alarms and Events that don't show on Operator Displays, but are records on the History log.

AlarmHistorian Database on Datasets

The Alarm Historian database is where the Alarms module stores all alarm events and audit trail information. The AlarmHistorian database can be defined using datasets, which allows for easy configuration and modification of the database properties. The datasets can define the database connection settings, the schema of the database tables, and the properties of the alarm events and audit trail entries.




Working with the Alarms Module

Once you have set up your AlarmGroup, AlarmArea, and AlarmItem, you can use the Alarms module to monitor your process and respond to any changes in conditions.

Runtime Execution

You can control the Alarms Module execution while running your solution. You can Run, Pause, or Stop the Alarms Module directly from the platform. 

Access Runtime → Runtime Diagnostics to find the tools you can use to control the module.

Monitoring the Alarms Module Execution

The Alarms Monitor lets you see real-time information about the module when the solution is running. It showcases total, unacknowledged, active alarms, their priority, and the most recent alarm notification.

Additionally, the Runtime Diagnostic provides additional information from the modules through three essential diagnostic tools:

  • Module Information 
  • Property Watch
  • Trace Window

→ Read more about Alarms Monitor

Visualizing Alarms on Displays

The Displays module can be used to create displays that visualize alarms in real-time. The alarms can be displayed in tables, custom graphics, objects and others with the ability to sort and filter based on various alarm properties. The displays can also include interactive components, such as acknowledging alarms and displaying alarm details, to allow operators to quickly respond to alarms.

→ Read more about the AlarmViewer Control

Handling Notifications with Scripts

The Scripting module can be used to create custom scripts that handle alarm notifications. These scripts can define the behavior of the Notification Method property of the AlarmGroup, allowing for more customized notifications based on the type and severity of the alarm. The scripts can also define notification methods beyond the built-in options, such as sending emails or SMS messages. 

→ Read more about  Alarm Email Notifications

Customizing Alarm Sounds

  • Sets the sound played when an alarm goes off. (Read more about sound configuration → AlarmGroup Sounds)




Alarms Advanced Topics

Alarm Execution Process

Presents in the detail the processes when executing the Alarm Engine. 

→ Read more about Alarm Execution Process

Alarm Runtime Attributes

The Alarms Namespace exposes properties and methods from the .NET objects used by the Alarm Module execution.

→ Read more about Alarms Runtime Attributes




Best Practices and Troubleshooting

Best Practices and Recommendations

To ensure the smooth operation of the Alarms module, follow these best practices:

  • Use clear and descriptive names for Alarm Group, Alarm Area, and Alarm Item.
  • Configure alarms with proper priority and severity levels.
  • Use deadbands and delays to prevent alarm flooding.
  • Regularly check and maintain the alarm configuration.
  • Configure notifications and acknowledge alarms in a timely manner.


Common Issues and Solutions

The Alarms module may encounter some issues in its operation. Here are some common issues and their solutions:

Alarm not firing

Check the tag name, condition, and alarm item configuration. Ensure the tag is valid and the condition is met.

Alarm not acknowledged

Check the alarm acknowledgement configuration. Ensure that the alarm acknowledges property is set and the acknowledgement timeout is not expired.

Database connection error

Check the database connection string and ensure that the database is reachable.

Alarm flooding

Check the alarm configuration and ensure that the deadband settings are properly configured.

Notification not received

Check the notification configuration and ensure that the notification method is properly set.




In this section:

Page Tree
root@self
spacesV10

...