- 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>
1.8 KiB
1.8 KiB
| 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_secsinitm.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 (skillportal-setup, taskchange-setup-file.md); existing integrator values are not converted, so reset or note them.TIME_UNITon the sub-item has no effect on integrators. - Min-Max with
MIN_MAX=Maximum(orMinimum) 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.