Alarms and status
Annunciator <smart-annunciator>
Annunciator displays a wall of tiles, one per monitored condition, following the ISA-18.1 alarm sequence: normal, alarm (unacknowledged, blinking fast), acknowledged (steady) and ringback (cleared but not reset, blinking slowly).
<smart-annunciator> · 3 properties, 3 methods, 3 events · source/modules/smart.annunciator.js
Usage in Vue
Vue uses the custom element directly. A property is bound with :kebab-name; an array or an object needs the .prop modifier so that Vue sets the property rather than an attribute. Events are listened to with @eventName; methods are called on the element through a template ref.
import 'smart-industrial/source/modules/smart.annunciator.js';
<smart-annunciator ref="annunciator" :columns="42"
@acknowledge="onEvent"></smart-annunciator>
// methods are called on the element the ref holds
annunciator.value.acknowledgeAll();
// an array or an object is set as a property, not converted to an attribute: use .prop
<smart-annunciator :tiles.prop="tiles"></smart-annunciator>
Properties
| Binding | Type, default | Description |
|---|---|---|
:columns | number | Sets or retrieves how many tiles are laid out per row. |
:tile-height | number | Sets or retrieves the minimum height of a tile in pixels. |
:tiles | array | Sets or retrieves the monitored conditions. Each entry is an object with: id - the identifier of the tile, returned in the events; label - the tile legend; detail - an optional second line, typically the tag; state - one of normal, alarm, ack or ringback, in any case. A tile without a state is normal; any other word is shown as an unknown state (dashed and hatched, read out as 'Unknown state') rather than as a normal tile, cannot be acknowledged, and makes the panel's state attribute 'unknown' unless a tile is in alarm. Assign a new array to update the component, or call redraw after modifying the array in place; an array that is deep-equal to the current one does not trigger a redraw. The keyboard stays on the same tile across an update. |
Methods
| Method | Description |
|---|---|
acknowledgeAll(): void | Raises the acknowledge event once for every tile in the alarm state. Nothing is raised while the panel is disabled. The component does not change the tiles. |
stateCounts(): any | Returns how many tiles are in each state, as { normal, alarm, ack, ringback, unknown }. A state word the panel does not know is counted as unknown. |
stateOf(tile: object): string | Returns the state of a tile as the panel reads it: normal, alarm, ack or ringback in any case, normal when the tile has no state, and unknown for any other word.tile object A tile record. |
Events
The data of an event is in event.detail. acknowledge and reset are requests: a press on a tile in alarm asks for acknowledgement, a press on a tile in ringback asks for a reset, and the annunciator keeps tiles as they are until the application updates them. tileClick reports every press.
| Event | Description and detail |
|---|---|
@acknowledge | This event is triggered when an operator presses a tile that is in the alarm state, or through acknowledgeAll. One press raises one event: the repeats of a held Enter or Space are ignored, and the same tile pressed again within 600 ms (a double click) is not acknowledged twice.tile any The tile being acknowledged. |
@reset | This event is triggered when an operator presses a tile that is in the ringback state, the condition has cleared and the operator is resetting it. As with acknowledge, one press raises one event.tile any The tile being reset. |
@tileClick | This event is triggered when a tile is pressed, in any state. It follows the acknowledge or reset event when one of those applies.tile any The tile that was pressed. |
CSS variables
The component declares 5 CSS variables; the CSS page shows how to set them.
--smart-annunciator-columns --smart-annunciator-tile-height --smart-annunciator-gap --smart-annunciator-alarm-blink --smart-annunciator-ringback-blink