Skip to end of metadata
Go to start of metadata

Component Palette Icon:


On this page ...

The alarm status table displays the current state of the alarms available to the gateway (including those provided by Remote Tag Providers). It can be configured to show active, unacknowledged, cleared, and acknowledged alarms. By default it shows all non-cleared/non-ack'ed alarms. Acknowledgement is handled by selecting (checking) alarms and pressing the "Acknowledge" button. If any of the selected alarms require acknowledge notes, then a small text area will be presented in which the operator must add notes to the acknowledgement.

Note: The Alarm Status Table component allows you to select an individual alarm, multiple alarms, or the Select All checkbox in the header bar. You can also use the Shift+Click multi select feature to select a range of alarms for acknowledging and shelving. Check one alarm and Shift+Click another alarm several rows down. All of the alarms between them, including the one you shift clicked, will be selected.

Interface Elements

Below is a listing of interface elements on the Alarm Status Table component. Note that these interactions are available from a Vision Client, as well as the Designer while Preview Mode is enabled. 

ElementDescription
Selecting an EntryClick on an entry in the to select it. The Checkboxes on the left of an entry can also be used to select the entry. Holding Shift while clicking allows for selecting a range of entries.   
Header

Entries in the Alarm Status Table can be sorted by each column. Simply click on the desired column header to sort by that column. Holding the Crtl key while clicking on column headers will allow for sorting across multiple columns. 

Columns can be reordered in the Vision Client by simply dragging and dropping them. 

In addition, right-clicking on the header will bring up a list of available columns to show or hide. 

Select All/Clear SelectionThe checkbox in the upper left corner of the component can be used to select all entries in the table, as well as clear selection from all entries. 
Acknowledge ButtonPressing this button will acknowledge the selected alarm(s). 
Shelve Button

Pressing this button will shelve the selected alarm(s).

Inspect TogglePressing this toggle will bring up the Inspection panel, allowing you to view more details on the selected alarm. 
Alarm Trend Toggle

Pressing this toggle will bring up a chart, showing the recent historical values of the selected entries. This feature requires that the tag the alarm is configured on is being recorded by the Tag Historian system. In addition, creating an Alarm Journal Profile and setting the Alarm Status Table's Journal Name property will create annotations on the chart, highlighting past alarm events. 

Shelved Alarms TogglePressing this toggle will display a panel that shows all currently shelved alarms in the system. From here shelved alarms can be unshelved. 

Filtering

The Property Editor has a dedicated Filtering category of properties where you can configure determine which alarms appear on the component. By default, all alarms within the system appear on the table, but in many cases it can be desirable to only show a subset of alarms on the component at a time. Strings can be entered in these fields including wildcards to show specific subsets of alarms. These filtering properties can also be bound so the paths are dynamically created.

Display Path Filtering

The Display Path can be customized on each alarm. The default value for an alarm's Display Path is a Tag path that leads to the name of the alarm. The image below, the top row has an alarm named Alarm, and is located on a Tag path of Alarming Example/Integer Tag, thus the Display path will resolve to 'Alarming Example/Integer Tag/Alarm'. However, the Display Path can be customized when configuring the alarm. This is generally utilized to display readable messages as to what the issue is. 

To filter entries on the table by the Display Path, simply set a value on the Display Path Filter property. The * wildcard can be used in the Display Path Filter. See the Source Path Filter Examples table below for more information.

Source Path Filtering

The Source Path is also a path to the alarm, but also shows the Tag provider the alarm is located in. Again using the image above, if the name of the Tag provider is 'default', then the source path would resolve to 'prov:default:/Tag:Alarming example/Integer Tag:/alm:Alarm'. Unlike the Display Path, the Source Path on an alarm can never be overridden. 

To filter entries on the table by Source Path, simply set a value on the Source Filter property. The * wildcard can be used in the Source Filter. See the Source Path Filter Examples table below for more information.

Source Path Filter Examples

The source path is made up of the alarm name, the tag path to the host tag, and the tag provider the tag resides in. This means the Source Filter property can be used to filter on tag folders and tag providers. For example, you may want the table to only show alarms that contain a certain term or folder path. The table below demonstrates some filters as well as some hypothetical results. 

Example FilterResult
prov:tagProvider:/tag:Inputs/PS_1:/alm:MyAlarm
Retrieve alarm information from the alarm at precisely the specified path:
prov:tagProvider:/tag:Inputs/PS_1:/alm:MyAlarm
*PS_1:/alm:MyAlarm

Retrieves alarm information from any path that ends with PS_1:/alm:MyAlarm. Thus the following paths would be returned:

prov:tagProvider:/tag:Inputs/PS_1:/alm:MyAlarm

prov:tagProvider:/tag:anotherFolder/different_Path/PS_1:/alm:MyAlarm
prov:tagProvider:/tag:PS_*

Retrieves alarm information from any source path starting with "prov:tagProvider:/tag:PS_", such as:

prov:tagProvider:/tag:PS_1:/alm:MyAlarm1

prov:tagProvider:/tag:PS_2/Tag2:/alm:MyAlarm2
*MyAlarm*

Retrieves any alarm information that has MyAlarm somewhere in the path.

State Filtering

The component can also filter entries based on the state of an alarm event. For example, the component can be configured to show only active alarms by enabling the Show Active and Unacked and Show Active and Acked properties. 

Priority Filtering

The component can also filter alarm events based on a minimum priority level, allow the component to ignore lower priority alarm events. This is handled by the Min Priority property. 

Alarm Property Filtering

Entries in the table can be filtered base on values of alarm properties by using the filterAlarm extension function. This includes Alarm Associated Data properties. See How to Filter by Associated Data on the Vision Alarm Status Table


Properties

NameDescriptionProperty TypeScriptingCategory
Border

The border surrounding this component. Options are: No border, Etched (Lowered), Etched (Raised), Bevel (Lowered), Bevel (Raised), Bevel (Double), Button Border, Field Border, Line Border, and Other Border.

Note: The border is unaffected by rotation.

Border.borderCommon
Chart ResolutionThe resolution for the ad-hoc tag historian chart.int.chartResolutionBehavior
Date FormatA date format pattern used to format dates in the table. If blank, the default format for the locale is used.String.dateFormatAppearance
Data QualityThe data quality code for any Tag bindings on this component.int.dataQualityDeprecated
Display Path Filter

Filter alarms by alarm display path, falling back to the source path if a custom display path isn't set. Specify multiple paths by separating them with commas. Supports the wildcard "*", which represents any number of characters. 

In the example below, only alarms that contained "High Temperature Alarm" would appear in the table. 

*High Temperature Alarm*
String.displayPathFilterFilters

Duration Format

Formats styles for fields like Active and Ack durations: Long, Short, Compact, and Abbreviated. Duration Format property, allows users to format the time units on the Active Duration column.

int

.durationFormat

Appearance

EnabledIf disabled, a component cannot be used.boolean.componentEnabledCommon
Flash IntervalThe time interval to use for flashing row styles.int.flashIntervalAppearance
Journal NameThe name of the alarm journal to query for the chart's annotations. Leave this blank to automatically pick the journal if there is only one.String.alarmJournalNameBehavior
Marquee ModeTurn the table into a scrolling marqueeboolean.marqueeModeBehavior
Min PriorityThe minimum priority alarm to be displayed by this table.int.minPriorityFilters
Multi SelectAllow multi select. Will show/hide the checkbox column.boolean.multiSelectBehavior
NameThe name of this component.String.nameCommon
Notes Area BorderThe border surrounding the notes area.Border.notesAreaBorderAppearance
Notes Area FontThe font for the notes area.Font.notesAreaFontAppearance
Notes Area LocationThe location of the notes display area.int.notesAreaLocationAppearance
Notes Area SizeThe size of the notes area, in pixels.int.notesAreaSizeAppearance
Number FormatA number format string to control the format of the value column.String.numberFormatAppearance
Provider FilterFilter alarms by Tag provider. Specify multiple providers by separating them with commas. A value of "." denotes the default Tag provider.String.providerFilterFilters
QualityThe data quality code for any Tag bindings on this component.QualityCode.qualityData
Refresh RateThe rate at which this table will poll changes to the alarm status, in milliseconds.long.refreshRateBehavior
Row HeightThe height, in pixels, for each row of the table.int.rowHeightAppearance
Row StylesA dataset containing the different styles configured for different alarm states.Dataset.rowStylesAppearance
Scroll DelayThe time in milliseconds to wait between performing each step in a scrollint.scrollDelayBehavior
Selected AlarmsA dataset containing each selected alarm. (Read-only)Dataset.selectedAlarmsData
Selection ColorThe color of the selection border. Can be chosen from color wheel, chosen from color palette, or entered as RGB or HSL value. See Color Selector.Color.selectionColorAppearance
Selection ThicknessThe size of the selection border.int.selectionThicknessAppearance
Shelving TimesThis dataset holds the times that are suggested when shelving an alarm. New entries added to this dataset will be selectable by users when they attempt to shelve an alarm on the component. Allowable units are "second", "minute", or "hour".Dataset.shelvingTimesData
Show Ack ButtonShow the acknowledge button on the footer panel.boolean.showAckAppearance
Show Active and AckedShow alarms that are active and acknowledged.boolean.activeAndAckedFilters
Show Active and UnackedShow alarms that are active and unacknowledged.boolean.activeAndUnackedFilters
Show Chart ButtonShow the chart button on the footer panel.boolean.showChartAppearance
Show Clear and AckedShow alarms that are cleared and acknowledged.boolean.clearAndAckedFilters
Show Clear and UnackedShow alarms that are cleared and unacknowledged.boolean.clearAndUnackedFilters
Show Details ButtonShow the view details button on the footer panel.boolean.showDetailsAppearance
Show FooterShow a footer with acknowledge and shelf functions below the alarms.boolean.showFooterPanelAppearance
Show Header PopupToggles the table header's built-in column selection popup menu.boolean.showTableHeaderPopupAppearance
Show Manage Shelf ButtonShow the manage shelf button on the footer panel.boolean.showManageShelfAppearance
Show Shelve ButtonShow the shelve button on the footer panel.boolean.showShelveAppearance
Show Table HeaderToggles visibility of the table's header.boolean.showTableHeaderAppearance
Sort Oldest FirstSort times by oldest first.boolean.sortOldestFirstBehavior
Sort OrderThe default sort order for alarms in the status table.int.sortOrderBehavior
Source FilterFilter alarms by alarm source path, causing the table to only show alarms that match the filter. Specify multiple paths by separating them with commas. Supports the wildcard "*". See Source Path Filter ExamplesString.sourceFilterFilters
Stay DelayThe time (in mSec) to wait between scrollsint.stayDelayBehavior
Table BackgroundThe background of the alarm table. See Color Selector.Color.tableBackgroundAppearance
Table Header FontThe font for the table header.Font.tableHeaderFontAppearance
Touchscreen ModeControls when this input component responds if touchscreen mode is enabled.int.touchscreenModeBehavior
VisibleIf disabled, the component will be hidden.boolean.visibleCommon


Component Functions

.print(fitWidth, headerFormat, footerFormat, showDialog, landscape)

  • Description

This specialized print function will paginate the table onto multiple pages. This function accepts keyword-style invocation.

  • Keyword Args

boolean fitWidth - If true, the table's width will be stretched to fit across one page's width. Rows will still paginate normally. If false, the table will paginate columns onto extra pages. (default = true) [optional]

string headerFormat - A string to use as the table's page header. The substring "{0}" will be replaced with the current page number. (default = None) [optional]

string footerFormat - A string to use as the table's page footer. The substring "{0}" will be replaced with the current page number. (default = "Page {0}") [optional]

boolean showDialog - Whether or not the print dialog should be shown to the user. Default is true. [optional]

boolean landscape - Used to specify portrait (0) or landscape (1) mode. Default is portrait (0). [optional]

  • Return

Boolean- True if the print job was successful.

.getAlarms()

  • Description

Returns a dataset of the alarms currently displayed in the Alarm Status Table component. The columns will be: EventId, Source, DisplayPath, EventTime, State, and Priority.

  • Keyword Args

None

  • Return

Dataset - A dataset of alarms.


Extension Functions

createPopupMenu

  • Description

Returns a popup menu that will be displayed when the user triggers a popup menu (right click) in the table. Use system.gui.PopupMenu to create the popup menu.

  • Parameters

Component self- A reference to the component that is invoking this function.

List selectedAlarmEvents - The alarm events selected on the Alarm Status Table. For an individual alarm Event, call alarmEvent.get('propertyName') to inspect. Common properties: 'name', 'source', 'priority'.

  • Return

Object - the popup menu.

filterAlarm

  • Description

Called for each event loaded into the alarm status table. Return false to hide this event from the table. This code is executed in a background thread so it has a minimal impact on client performance. 

  • Parameters

Component self- A reference to the component that is invoking this function.

Alarm Event alarmEvent - The alarm event itself. Call alarmEvent.get('propertyName') to inspect. Common properties: 'name', 'source','priority'.

  • Return

Boolean- Returns true or false for every alarm event in the table. True will show the alarm. False will not show the alarm.

Example

The filterAlarm Extension Function can be used to filter results on the table based on Alarm Associated Data, allowing you to devise custom filtering criteria. For example, if you wanted the table to only show alarms that had an associated data property named "Production", you could add the following:

Filtering Example
group = alarmEvent.get("Group")
if group == "Production":
    return True
return False		# It is important to always include logic where False can be returned for alarm events that don't match your criteria

If the script fails to compile, then the table will show alarms as if a filterAlarm script was not configured. 

isAcknowledgeEnabled

  • Description

Returns a boolean that represents whether the selected alarm can be acknowledged

  • Parameters

Component self- A reference to the component that is invoking this function.

List selectedAlarmEvents - The alarm events selected on the Alarm Status Table. For an individual alarmEvent, call alarmEvent.get('propertyName') to inspect. Common properties: 'name','source','priority'.

  • Return

Boolean- Returns true or false for every alarm event in the table.

isShelvedEnabled

  • Description

Returns a boolean that represents whether the selected alarm can be shelved.

  • Parameters

Component self- A reference to the component that is invoking this function.

List selectedAlarmEvents - The alarm events selected on the Alarm Status Table. For an individual alarmEvent, call alarmEvent.get('propertyName') to inspect. Common properties: 'name', 'source', 'priority'.

  • Return

Boolean- Returns true or false for every alarm event in the table.

onDoubleClicked

  • Description

Called when an alarm is double-clicked on to provide custom functionality.

  • Parameters

Component self- A reference to the component that is invoking this function.

Alarm Event alarmEvent - The alarm event that was double clicked. For an individual alarmEvent, call alarmEvent.get('propertyName') to inspect. Common properties: 'name', 'source', 'priority'.

  • Return

Nothing

onAcknowledge

  • Description

Called when the Acknowledge button is pressed; the script runs before the ack happens. Return False to abort the acknowledgement, return True to continue as normal.

  • Parameters

Component self- A reference to the component that is invoking this function.

List alarms - A list of the alarms to be acknowledged.

  • Return

Boolean- Returns true or false for every alarm event that is selected.


Customizers

The Alarm Status Table has a customizer.


  • No labels