- 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>
41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
---
|
||
task: Create sub-items (integrator, min-max)
|
||
version: R1.03
|
||
source: IM 36K10G10-01EN §3.1.5, §3.2.3; IM 36K10C10-01EN §3.2; practiced with CI-Eng-Sample 2026-09-30
|
||
status: 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`.
|