ci-server-engineer/knowledge/manuals/IM36K10C20-01EN.md
cliu bf7d88a027 R1.05 re-check batch 3: alarms, audit, authorization, classes, HAC, reporting, pyTOOLS
Full manual diffs (L15, C20, E30, L25, J40, C10 §2, L10, P10, P11, J20,
C30, P20, R40, E10) and read-only checks on the shared R1.05 test server.
Skills and summaries moved to R1.05; new skill pytools (IM 36K10P40) from
docs (no Python on the test server). Issues ISS-132..181; corrections to
version-differences (E10, E30, P11, dss_ath_grp_u0104); C10 summary lists
the 3 new authorization actions; r105-verification V10-V17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:21:36 +11:00

185 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
manual: IM 36K10C20-01EN
title: Engineering Module - Alarms
edition: 4th Edition, Feb. 2026 (R1.05); content unchanged since the 3rd Edition, Sep. 2023 (R1.03): full text diff 2026-10-09 found only contact information and one grammar fix in §A12
version: R1.05 (first written for R1.03)
status: R1.05 - dataset definitions (ITEM_DF alarm fields, ALARM_ACK_DF, ALARM_AOI_DF, ALARM_ASA_DF, ALARM_FO_DF, ALARM_FU_DF, ALARM_PRIORITY_DF, STATUS_DF) identical to R1.03, ALH storage group checked and the sample's ack type, AOI, ASA and item alarm loaded with 0 errors on the R1.05 test server (2026-10-08/09; load check only); forms and alarm behaviour not re-tested on R1.05. R1.03 - 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.05)
**R1.05 changes**: none in substance (revision table and full text diff, 2026-10-09; §A12
only "Output" → "Outputs" in the report table, which still names `ALM_ATTS_CUR` /
`ALM_ATRS_HIS`, ISS-043). Related R1.04+ functions documented elsewhere: acknowledgement with
reason and approver from a display (C50 §2.22, §4.12, ISS-099; skill `alarm-management`,
`tasks/item-alarming.md` §4.1). External alarm dataset `EXTERNAL_ALARM_DF` unchanged (its data
access server got an internal update fix). The `ALH` lifetime of 52 weeks is the installed
default (§A7, ISS-135).
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), and so does the fresh install on the R1.05 test
server (2026-10-09): 52 weeks is the installed default (ISS-135). 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.
- **Load (R1.05 test server, ISS-136):** an alarm overview filtered by an ASA on `SECTION` or
`UNIT` kept the storage process `ALH` at a full CPU core and made every client's alarm lists
time out. On shared or production servers filter overviews by item name or AOI instead.
- **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.