173 lines
11 KiB
Markdown
173 lines
11 KiB
Markdown
---
|
||
manual: IM 36K10C20-01EN
|
||
title: Engineering Module - Alarms
|
||
edition: 3rd Edition, Sep. 2023
|
||
version: R1.03
|
||
status: item alarm settings, acknowledgement types, areas of interest, alarm selection areas, delay/repeat verified by quick load on CI-Eng-Sample 2026-10-01; Engineering Module forms, overviews, grouping, shelving, link display, notifications and external/Vnet alarms from docs
|
||
---
|
||
|
||
# Engineering Module - Alarms (R1.03)
|
||
|
||
How alarms are set up in the Engineering Module (*Configuration > Alarming* and the item
|
||
form) and what the operator sees. Part A = item-based alarms, part B = external alarms (OPC UA
|
||
servers, CENTUM VP). Kernel internals: `IM36K10L15-01EN.md`. Section numbers refer to the
|
||
manual. Dataset/field names below were checked on the installed system.
|
||
|
||
## A1. Functions (§A1)
|
||
|
||
Detection (limit check, OPC A&E), management (acknowledgement, first-out groups, alarm
|
||
collections, history), display/operation (current/historical/shelved overviews, alarm sound,
|
||
AOI and ASA filters, shelving, alarm link display), external notification (e-mail, SMS),
|
||
reporting. A jump NORMAL → HIGH HIGH gives only the HIGH HIGH alarm.
|
||
|
||
## A2. Item form, alarm fields (§A2)
|
||
|
||
| Form | Field (`ITEM_DF`) | Meaning |
|
||
|---|---|---|
|
||
| General | *Alarming* (`ALARMING`) | Show/notify this item's alarms |
|
||
| Item management | *Alarm inhibit* (`ALARM_INHIBIT`) | Suppress display and notification |
|
||
| Limits and filtering | `HIGH_HIGH_LIMIT`, `HIGH_LIMIT`, `LOW_LIMIT`, `LOW_LOW_LIMIT`, deadband | Status by value; deadband for the way back |
|
||
| Alarming | *OPC AE alarm detection* | Alarm from an OPC A&E source; no limit check then |
|
||
| | *Acknowledgment type* (`ACKN_TYPE`) | `ALARM_ACK_DF` name; none = automatic |
|
||
| | *Alarm collection* (`COL_GROUP`), *First-out group* (`FO_GROUP`), *First-out item* (`FO_ITEM`) | One group per item; never both kinds |
|
||
| | *Delay time* (`DELAY`), *Repeat time* (`REPEAT`), seconds, 0 = off | |
|
||
| | Up to 6 per-item status overrides: status, alarm state, priority, alarm text, colour, mnemonic, shelve enable (`ITEM_STAT_n`, `ALARM_STATE_n`, `PRIORITY_n`, `ALARM_TEXT_n`, `ALARM_COLOR_n`, `MNEMONIC_n`, `SHELVE_ENABLED_n`) | |
|
||
| Areas of interest | Area 1–16 (`AOI_1` … `AOI_16`) | Same AOI not twice |
|
||
|
||
- Changing alarm settings re-evaluates the item even without a status change. **Verified:** a
|
||
`dssqld -m` on `ALARMING`, `DELAY` or `REPEAT` produced a NORMAL event; when the item was
|
||
back to normal but still unacknowledged, this new event was acknowledged automatically and
|
||
the alarm left `ALARM_CURRENT`.
|
||
- **Delayed alarm** (verified, `DELAY` 5): DIRECT at once, DELAY 5 s later (same original
|
||
time). The current alarm overview shows DIRECT only if `wfladi.sup` `EVENTS` includes
|
||
`DIRECT` (installed: not included; add it and restart, §A2.4).
|
||
- **Repeated alarm** (verified, `REPEAT` 10): REPEAT events every 10 s after the delay,
|
||
`RPT_COUNT` 1, 2, …; repeats can be acknowledged only in the historical overview.
|
||
|
||
## A3. Alarm overviews (§A3)
|
||
|
||
- Current (standing + unacknowledged), historical, shelved. Columns include alarm time, section
|
||
1/2, tag, sub-item, alarm type (NORMAL, ALARM, ACKNOW, DELAY, DIRECT, FIRSTUP, INFO), text,
|
||
priority, acknowledgement, value, quality, OPC fields and `C…` combined fields, item name,
|
||
acknowledged by, original time, location, area nn, collection, priority text, CI attributes.
|
||
Keep to 20–30 columns (throughput, memory).
|
||
- Priority text: *Alarming > Alarm priority labels* (`ALARM_PRIORITY_DF`, 0–15, ≤ 31 ASCII
|
||
characters; empty on the test system).
|
||
- CI attributes (vendor attributes from OPC AE/UA client settings) are chosen on the overview's
|
||
*Attributes* tab; listed under *Alarming > Alarm attributes*.
|
||
- Operations (right-click): acknowledge (also the check box; current overview only), block,
|
||
shelve, link display, export (CSV/XML, all displayed rows), filters (condition; date normal or
|
||
time-interval mode).
|
||
|
||
## A5. Acknowledgement (§A5)
|
||
|
||
Unacknowledged alarms blink; acknowledgement is recorded as ACKNOW in history. The setting is
|
||
per **alarm state transition** (4 states × Ack/Nack × 4 states = 32 check boxes = one
|
||
acknowledgement type), not per item status — so give statuses that need different handling
|
||
different alarm states. Form: *Alarming > Acknowledgement type*; name and *External alarm* flag
|
||
cannot be changed; delete only when unused. Predefined `MANUAL`: every new alarm state manual;
|
||
N → N automatic; Ax → N automatic only if Ax was acknowledged.
|
||
|
||
Quick load (verified, CI-Eng-Sample `01b_alarm_df.qli`): `ALARM_ACK_DF` fields `NAME`,
|
||
`DESCRIPTION` (max 78 characters), `EAL_ACK`, `<from><A|N>_<to>` (e.g. `A2A_N`) — see L15
|
||
summary §5. Acknowledge from a program or script: `dssqld -m` on `ALARM_CURRENT` with `NAME`
|
||
(the `<time>/<id>` key) and `ACK` 1 (verified; same rule as the ODBC known issue in IM 36K01A50).
|
||
|
||
## A6. Alarm grouping (§A6)
|
||
|
||
- **First-out group** (*Alarming > First-out group*; `ALARM_FO_DF`: `DELAY` internal,
|
||
`EXT_DELAY` external, parents `PAR_GRP_1…9`): first-out items vs continuation items; while a
|
||
first-out item is in alarm, new continuation alarms are hidden. Internal delay keeps the group
|
||
active after the first-out items clear. Parents make children external-active (whole subtree,
|
||
several parents allowed; no loops). Rename = copy; delete only when unused.
|
||
- **Alarm collection** (*Alarming > Alarm collections*; `ALARM_FU_DF`): group status =
|
||
alarm × acknowledged × reset (8 statuses, numbers 9, 128–135, e.g. `AL_NAK_NRS` 132). Optional
|
||
numeric *status item* (counts alarms; its own alarming shows the group), Boolean
|
||
*acknowledgement item* and *reset item* (0→1, 1→0 or any), reset Manual/Automatic (use
|
||
Automatic if reset is not needed), default ack type, node, *first-up alarming* (first alarm
|
||
shown as FIRSTUP, priority offset −15…15), *Acknowledge group too*. Installed fields:
|
||
`NAME`, `NODE`, `PRIO_OFFS_1UP`, `RESET_TYPE`, `ACKN_TYPE`, `RESET_TRNS`, `ACKN_TRNS`,
|
||
`EAL_ACKN_TYPE`, `FIRSTUP_MON`, `LOOPB_ACK`, `RESET_ITEM`, `ACKN_ITEM`, `STATUS_ITEM`.
|
||
|
||
## A7. Alarm history (§A7)
|
||
|
||
Storage group `ALH` (type Alarm): rollover 1 day; the manual says lifetime 2 days by default —
|
||
**the test system shows 52 weeks** (ISS-036). Set the lifetime to the required period; details
|
||
in the historical manual (phase 9).
|
||
|
||
## A8. Alarm filters (§A8)
|
||
|
||
| Filter | Overview | Sound | Notification | User filter |
|
||
|---|---|---|---|---|
|
||
| Unit / item identification | yes | yes | no | no |
|
||
| Area of interest | yes | yes | no | no |
|
||
| Alarm selection area | yes | yes | yes | yes |
|
||
|
||
- **Area of interest** (*Alarming > Areas of Interest*; `ALARM_AOI_DF` `NAME`, `DESCRIPTION`,
|
||
`NUMBER` assigned automatically): a label, up to 16 per item.
|
||
- **Alarm selection area** (*Alarming > Alarm selection areas*; `ALARM_ASA_DF` `EXPRESSION`,
|
||
`COMPILE`, `LISTING`, `VALID_EXPRESSION`): `<keyword> <operator> <constant>` **with spaces**
|
||
around the operator. Keywords `ACTOR_ID`, `AOI`, `COLLNAM`, `COND_NAME`, `EAL_ID`, `EAL_NAME`,
|
||
`EVENT_CAT`, `INST`, `ITMID` (`node,group,number,0,0`), `ITMNAM`, `ITMSUB`, `PRIO`, `QC`,
|
||
`SECTION`, `SOURCE`, `SUBC_NAME`, `UNIT`; operators `= != < > <= >= | &` (by type); strings in
|
||
double quotes with `*` / `?` wildcards; `and` / `or` evaluated left to right (no precedence),
|
||
parentheses, `/* */` comments. `section = "A.B"` matches items directly in `A.B`, not in
|
||
sub-sections. An invalid expression filters out every alarm.
|
||
- **Verified**: `COMPILE` 1 on load compiles the expression; the export then shows `COMPILE` 0,
|
||
the numbered `LISTING` with `ALC-I-CMP_SUCC` and `VALID_EXPRESSION` 1. Without spaces
|
||
(`SECTION="…"`) the load reports an error but the record **is stored** with
|
||
`ALC-E-UNKNOWN_TOK` in `LISTING` and `VALID_EXPRESSION` 0 — check the listing after loading.
|
||
|
||
## A9. Shelving (§A9)
|
||
|
||
Shelve standing alarms from the current overview; they move to the shelved overview until
|
||
unshelved, back to normal (auto-unshelve), or the shelf time expires (marked, not unshelved).
|
||
Shelf types: Static (re-alarm shows normally) or Dynamic (re-alarm within the max shelf time is
|
||
shelved again), max shelf time 180–43200 s. Shelf groups: which alarm states (A1–A3) and up to
|
||
16 shelf types; assigned to users (*Authorisation > Users*, Alarming tab). Overview component:
|
||
*Operator can shelve alarms* (+ multiple). System-wide shelving: `asbman.sup`
|
||
`SYS_WIDE_SHELF` (installed N). Shelving history needs the audit option.
|
||
|
||
## A10–A12. Link display, notification, reporting
|
||
|
||
- **Alarm link display** (*Alarming > Alarm link display*): entity (item/EAL, wildcards `*` `+`)
|
||
+ user (wildcards) → display name; first matching entry wins; overview component option
|
||
*Operator can activate alarm related display* (shortcut, layout, frame).
|
||
- **Notification**: `alnsmtp.sup` / `alnsms.sup` (restart CI Core after changes); *Alarm
|
||
notification users* (SMTP or SMS, address, retries, *Receive clear*, active, weekly
|
||
schedule), *Alarm notification destinations* (ASA or all, callback item toggling on success,
|
||
order All/Sequential, delay, repeat, retries, retry timeout, up to 32 users); *Send message*
|
||
for a test (subject "Alarm notification: Manual message"). SMTP without authentication only.
|
||
- **Reporting**: datasets `ALARM_CURRENT`, `ALARM_CHRONO`; default reports `ALARM_COUNT`,
|
||
`ALARM_CURRENT`, `ALARM_EXT_CURR`, `ALARM_HISTORY`, `ALARM_SHELVE` (audit option),
|
||
`ALM_ATTS_CUR`, `ALM_ATRS_HIS` (phase 11).
|
||
|
||
## B1. External alarms from OPC UA servers (§B1)
|
||
|
||
- OPC UA A&C messages with a condition type become **external alarms** when an **EAL** is
|
||
defined (under the root, a section or an object: *External alarm > Add*; dataset
|
||
`EXTERNAL_ALARM_DF`). Others are stored as INFO events. Alarm time = time in the source;
|
||
acknowledgement is sent to the server and reflected back.
|
||
- EAL form: name (≤ 40 bytes without section, not renamable), station, alarm template,
|
||
condition node ID (namespace ≤ 127, node ID ≤ 383 bytes; not twice; not
|
||
NonExclusiveLimitAlarmType), OPC visible/read/write, *OPC Manual Reset*, ack type (none =
|
||
`FULLMANUAL_EAL`), collection, first-out (+ *First-out EAL*), shelve, process areas 1–999,
|
||
diagnostic, delay/repeat 0–65535 s, severity→priority mapping, areas 1–16.
|
||
- Supported like items: ack type (Inactive/Active matrix), diagnostic, collections, first-out,
|
||
delay, repeat, AOI, sound, ASA (`EAL_NAME`, `EAL_ID`), shelving, link display, notification,
|
||
priority change on ack. No alarm inhibit.
|
||
- Overview columns map to OPC UA fields (Message, Severity, AckedState, SourceName, EventType,
|
||
ConditionName, ClientUserId, EventId, ConditionId, BranchId, ActiveState.TransitionTime).
|
||
- Appendix 2: changing delay/repeat/collection/ack type while an alarm stands behaves
|
||
differently for EALs (timers adjusted, ack state kept, description/AOI changes only for new
|
||
alarms) than for items (DELAY/REPEAT replaced by ALARM, AUTOMATIC → MANUAL makes the alarm
|
||
unacknowledged, changes applied at once).
|
||
|
||
## B2. CENTUM VP (Vnet) alarms (§B2)
|
||
|
||
Alarms from CENTUM VP over Vnet/IP (RGS with VAGW) as EALs; acknowledgement in CI Server is a
|
||
batch acknowledgement of the function block in CENTUM VP (system alarms only locally); manual
|
||
reset of system alarms without recovery message; at CI Server start only process alarm
|
||
messages are restored (time = PC start, unacknowledged); no AOF or operation groups (AOF only
|
||
as CI attribute). CI Exchange for CENTUM VP generates the EALs (`IM36K10L55-01EN.md`); review
|
||
them and configure the overviews afterwards. Not available on the test system.
|