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>
110 lines
4.6 KiB
Markdown
110 lines
4.6 KiB
Markdown
---
|
|
task: Acknowledgement types, areas of interest and alarm selection areas by quick load
|
|
version: R1.05 (first written for R1.03)
|
|
source: IM 36K10L15-01EN §2.3.4, §4.1.2; IM 36K10C20-01EN §A5, §A8 (4th editions, Feb. 2026; content as in the 3rd editions, Sep. 2023); practiced on CI-Eng-Sample 2026-10-01
|
|
status: verified on R1.03 (2026-10-01). R1.05 - the dataset definitions ALARM_ACK_DF, ALARM_AOI_DF and ALARM_ASA_DF are identical to R1.03 and the six predefined ack types are the same (checked 2026-10-08/09); the sample's CIENG_ACK, CIENG_TANKS and its ASA loaded and were removed with 0 errors in the reduced sample load on the R1.05 test server (2026-10-08; load check only - ASA listing, delete refusal and the error cases were not re-run)
|
|
---
|
|
|
|
# Alarm definitions (quick load)
|
|
|
|
Sample file: `examples/CI-Eng-Sample/01b_alarm_df.qli` (removed by `93_remove_alarm_df.qli`).
|
|
Load definitions **before** the items that use them; remove them **after** those items.
|
|
Commands as in skill `system-management` (`dssqld -i` / `-m` / `-r`, `-l <listing>`); run
|
|
`dssqld` from the file's folder (paths over 79 characters are cut, ISS-020). `dssqld` returns
|
|
exit code 0 even when records fail: always read the summary table (Errors column) or listing.
|
|
|
|
## 1. Acknowledgement type (`ALARM_ACK_DF`)
|
|
|
|
```
|
|
@FIELDS
|
|
NAME,DESCRIPTION,EAL_ACK,NA_N,NN_N,A1A_N,A2A_N,A3A_N
|
|
|
|
@ALARM_ACK_DF
|
|
"<ACK_TYPE>","<description, max 78 characters>",0,1,1,1,1,1
|
|
```
|
|
|
|
- Matrix field `<from><A|N>_<to>`: from state `N`/`A1`/`A2`/`A3`, `A` = was acknowledged,
|
|
`N` = was not, to state `N`/`A1`/`A2`/`A3`. 1 = automatic, 0 = operator must acknowledge.
|
|
Fields left out are 0. The example equals the predefined `MANUAL`: every alarm needs an
|
|
acknowledgement; returning to normal is automatic only if the alarm was acknowledged.
|
|
- `EAL_ACK` 1 makes a type for external alarms (Inactive/Active matrix); it cannot be changed
|
|
later, nor can the name. Predefined: `AUTOMATIC`, `MANUAL`, `FULLMANUAL` and `_EAL` variants.
|
|
- A description longer than 78 characters fails with `DSSG-E-STRBUFSMAL … buffer is too small (79)`.
|
|
- Delete refused while an item uses the type: `DSSP-E-NODEL … still in use` /
|
|
`DSSP-E-NODELBY, By <item> in dataset ITEM_DF`.
|
|
- Check: `almdbg` 9 (numbers) and 10 (`<number>` → matrix with A/M), see `alarm-checks.md`.
|
|
|
|
## 2. Area of interest (`ALARM_AOI_DF`)
|
|
|
|
```
|
|
@FIELDS
|
|
NAME,DESCRIPTION
|
|
|
|
@ALARM_AOI_DF
|
|
"<AOI_NAME>","<description>"
|
|
```
|
|
|
|
`NUMBER` is assigned automatically. Assign to items with `ITEM_DF` `AOI_1` … `AOI_16` (never the
|
|
same AOI twice on one item).
|
|
|
|
## 3. Alarm selection area (`ALARM_ASA_DF`)
|
|
|
|
```
|
|
@FIELDS
|
|
NAME,DESCRIPTION,COMPILE,EXPRESSION
|
|
|
|
@ALARM_ASA_DF
|
|
"<ASA_NAME>","<description>",1,\
|
|
@"
|
|
/* comment */
|
|
SECTION = "<Section>.<Sub-section>" and PRIO < 3"@
|
|
```
|
|
|
|
- `COMPILE` 1 compiles on load. Multi-line text: `\` at the end of the line, then `@"` … `"@`.
|
|
(Verified with a single `SECTION` condition; the `and PRIO < 3` part follows the manual.)
|
|
- Spaces are required around operators (`SECTION = "…"`, not `SECTION="…"`). Keywords and
|
|
operators: C20 summary §A8.3. `SECTION` matches only items directly in that section.
|
|
- **Check after loading** — a bad expression is still stored:
|
|
|
|
```
|
|
@SELECT
|
|
'NAME = "<ASA_NAME>"'
|
|
@ALARM_ASA_DF
|
|
```
|
|
`dssqld -e <out>.qli <filter>.qli -c`, then look at `LISTING` and `VALID_EXPRESSION`:
|
|
- good: `% ALC-I-CMP_SUCC, Expression compiled successfully`, `VALID_EXPRESSION` 1
|
|
(`COMPILE` reads 0 again after compiling);
|
|
- bad: `% ALC-E-UNKNOWN_TOK, Unknown token encountered, token: (…)`,
|
|
`ALC-E-CMP_NO_SUCC`, `VALID_EXPRESSION` 0 — the load summary shows 1 error. An invalid
|
|
ASA filters out **all** alarms where it is used: fix and reload with `dssqld -m`, or remove.
|
|
|
|
## 4. Remove
|
|
|
|
```
|
|
@FIELDS
|
|
NAME
|
|
|
|
@ALARM_ASA_DF
|
|
"<ASA_NAME>"
|
|
|
|
@ALARM_AOI_DF
|
|
"<AOI_NAME>"
|
|
|
|
@ALARM_ACK_DF
|
|
"<ACK_TYPE>"
|
|
```
|
|
|
|
`dssqld -r` after the items that refer to them are removed or changed.
|
|
|
|
## Verified (CI-Eng-Sample)
|
|
|
|
- R1.03 (2026-10-01): `CIENG_ACK`, `CIENG_TANKS` (number 2), `CIENG_TANK1`
|
|
(`SECTION = "CI-Eng-Sample.TANK1"`, compiled, valid) loaded and removed in a full sample
|
|
remove/reload, 0 errors. A test ASA without spaces was stored invalid and then removed.
|
|
- R1.05 (2026-10-08, R1.05 test server): the same definitions loaded and were removed with
|
|
0 errors in the reduced sample load. Only the load was checked.
|
|
|
|
**Do not use the sample ASA in an alarm overview on a shared or production server.** An
|
|
alarm overview filtered by an ASA on `SECTION` or `UNIT` kept `ALH` at a full CPU core on the
|
|
shared R1.05 test server and made every other alarm list time out (ISS-136). Use such ASAs for
|
|
notification destinations or tests only, or filter overviews by item name or AOI.
|