ci-server-engineer/.claude/skills/item-engineering/tasks/sub-items.md
cliu 83af63ab53 R1.05 re-check batch 2: graphics, history, portal, system-management, items
Full manual diffs (C50, R30, C60, L20, C40, L35, R10, R20, J10, L30, L50,
P30, G10, C10) and read-only checks on the shared R1.05 test server where
the permission system allowed them. Skills and summaries moved to R1.05.
Issues ISS-092..129 (gaps 104-107, 114-115, 130-131 unused); ISS-074
closed (manual and software agree), ISS-091 corrected by ISS-119.
version-differences: unlisted manual changes and installed-only changes.
r105-verification: V5-V9 and new not-tested rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:29:15 +11:00

43 lines
2.4 KiB
Markdown
Raw Permalink 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.

---
task: Create sub-items (integrator, min-max)
version: R1.05 (first written for R1.03)
source: IM 36K10G10-01EN 5th ed. (Feb. 2026) §3.1.5, §3.2.3; IM 36K10C10-01EN 5th ed. (Feb. 2026) §3.2; practiced with CI-Eng-Sample 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30); verified (R1.05 test server, 2026-10-08) for loading — the reduced CI-Eng-Sample load created sections, items and both sub-items with 0 errors and LEVEL.MAX followed the level; SUB_ITEM_DF and itm.sup identical to R1.03; integrator rate and the itm_int_secs change not re-tested on R1.05
---
# Sub-items
A sub-item hangs under an item (`<Section>.<Tag>.<Sub>`) and processes the main item's value.
Types: `Integrator`, `Min-Max`, `Pulse`, `Rate-of-Change`, `Typeless`. Sub-items cannot connect
to equipment, cannot have sub-items, and are **not** blocked when the main item is blocked.
Quick load (`SUB_ITEM_DF`; the main item must exist):
```
@FIELDS
NAME,DESCRIPTION,SUB_TYPE,TIME_UNIT,MIN_MAX
@SUB_ITEM_DF
"CI-Eng-Sample.PUMP1.RUNNING.RUN_SECONDS","Pump 1 running time (seconds)","Integrator","",""
"CI-Eng-Sample.TANK1.LEVEL.MAX","Tank 1 maximum level","Min-Max","","Maximum"
```
Load with `dssqld -i <file>.qli -l <file>.qlo`; remove with a `NAME`-only file and `dssqld -r`
(before removing the main item). R1.05 accepts these files unchanged (`@VERSION 1.03.00`).
## Behaviour
- **Integrator** (verified R1.03) adds *value × time unit*: with the main item at 1 it grows by
1 per second by default. The time unit is the **integration granule** `itm_int_secs` in
`itm.sup` (Setup File Editor label "Integration granule, sec."), **system-wide** for all
integrators, installed value 1 (same file on R1.05). Setting 60 and restarting CI Server
made it grow by 1 per minute (R1.03, 2026-09-30, ISS-010). Changing it is a setup-file change
(skill `portal-setup`, task `change-setup-file.md`); existing integrator values are not
converted, so reset or note them. `TIME_UNIT` on the sub-item has no effect on integrators.
- **Min-Max** with `MIN_MAX` = `Maximum` (or `Minimum`) keeps the highest (lowest) value
written to the main item: writing 30, 70, 50 gave 70 (R1.03). On R1.05 `TANK1.LEVEL.MAX`
followed the rising level (R1.05 test server, 2026-10-08).
- `TIME_UNIT` (Second, Minute, Hour, Day; default Day) belongs to Rate-of-Change (from docs,
not practiced).
Example files: `examples/CI-Eng-Sample/02b_sub_item_df.qli`, `90b_remove_sub_item_df.qli`.