Skip to main content
Version: 7.9

Alarm Status Table

Inductive University

Alarm Status Table

Watch the video

Component Palette Icon

The alarm status table displays the current state of the alarm system. 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.

Shelving is supported by pressing the "Shelve" button when an alarm is selected. This will temporarily remove the alarm from the entire alarm system (not just the local client). When the time is up, if the alarm is still active, it will pop back into the alarm system. The times shown to the user are customizable by editing the values inside the "Shelving Times" dataset property. The alarms that have been shelved can be un-shelved by pushing the shelf management button in the lower right-hand side of the component.

If a more simplified alarm status table is needed, many of the features of the status table can be removed, for example, the header, footer, and multi-selection checkboxes. If a very short alarm status table is needed, turn on the "Marquee Mode" option, which will automatically scroll through any alarms if there is not enough vertical space to show all of them at once.

To change the columns that are displayed, the order of the columns, and/or the column width, put the Designer into preview mode. Then right-click on the table header to show/hide columns. Click and drag to re-order columns, and drag the margins of the columns to resize their width. No further action is necessary - the column configuration will remain in place after the window is saved.

For alarms that originate from Tags that have Tag history turned on, users can see an automatic ad-hoc chart for the value of the source Tag by pressing the chart button.

note

An Example of configuring the Alarm Status Table can be found on the Alarm Status Table Component page.

Properties

NameDescriptionProperty TypeScriptingCategory
AntialiasDraw the component with antialias on. This makes text look smootherboolean.antialiasAppearance
BorderThe border surrounding this component. NOTE that the border is unaffected by rotation.Border.borderCommon
Chart ResolutionThe resolution for the ad-hoc tag historian chart.int.chartResolutionBehavior
Data QualityThe data quality code for any tag bindings on this component.int.dataQualityData
Date FormatA date format pattern used to format dates in the table. If blank, the default format for the locale is used.String.dateFormatAppearance
Display Path FilterFilter 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. This field supports the wildcard "*" to match any number of characters.String.displayPathFilterFilters
Duration Format
New in 7.9.12
Format for the time units on the Active Duration column: Long, Short, Compact, and Abbreviated.
String.durationFormatAppearance
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 areaint.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
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 mSec) 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 borderColor.selectionColorAppearance
Selection ThicknessThe size of the selection borderint.selectionThicknessAppearance
Shelving TimesThis dataset holds the times that are suggested when shelving an alarm. 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. Specify multiple paths by separating them with commas. This field supports the wildcard "*" to match any number of characters.String.sourceFilterFilters
Stay DelayThe time (in mSec) to wait between scrollsint.stayDelayBehavior
Table BackgroundThe background of the alarm table.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

Scripting

Scripting 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, thetable 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.
  • Scope

    • Client
New in 7.9.7
.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.
  • Scope
    • Client

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.
  • Scope
    • Client

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.
  • 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.
  • Scope
    • Client

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.
  • Scope
    • Client

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.
  • Scope
    • Client

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
  • Scope
    • Client

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.
  • Scope
    • Client

Event Handlers

Event handlers allow you to run a script based off specific triggers. See the full list of available event handlers on the Component Events page

Customizers

Example

Code Snippet
#The following code is an example of the filter alarm expression function. 
#The function results in advanced filtering for the alarm table.
#In this example the alarm table will only show alarms with a name that matches the value of the "AreaName" property located on the container the Alarm Status Table resides in.

name = self.parent.AreaName
if name == alarmEvent.get('name'):
return True
else:
return False

Alarm Status Table with a Single Alarm