ci-server-engineer/.claude/skills/item-engineering/tasks/sub-items.md
cliu ef543cde20 Add phase 5 Engineering Module summary, authorization skill, item tests
- Summary of IM 36K10C10 (Engineering Module - I/O Processes), checked
  against dssana.sup, itm.sup and the default datasets
- New skill authorization: users and authorization groups by quick load
- item-engineering: string item limits (1-200, holds length - 1) and the
  integration granule (itm_int_secs), both tested on CI-Eng-Sample
- CI-Eng-Sample: read-only authorization group CIENG_VIEWER
- Closed ISS-001 (uoff/ublk option bits), ISS-010, ISS-019; new ISS-018, ISS-020

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 17:09:45 +10:00

1.8 KiB
Raw Permalink Blame History

task version source status
Create sub-items (integrator, min-max) R1.03 IM 36K10G10-01EN §3.1.5, §3.2.3; IM 36K10C10-01EN §3.2; practiced with CI-Eng-Sample 2026-09-30 verified

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).

Behaviour (verified)

  • Integrator 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. Setting 60 and restarting CI Server made it grow by 1 per minute (verified 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.
  • TIME_UNIT (Second, Minute, Hour, 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.