4.5 KiB
| task | version | source | status |
|---|---|---|---|
| Create item storage groups (Event/Item, Scan/Time, Aggregation), add items, read history | R1.03 | IM 36K10C40-01EN §2.1, §3, App. 1; IM 36K10L20-01EN §2.1; practiced on CI-Eng-Sample 2026-10-01 | verified for Event/Item and Scan/Time; Aggregation loads but values not yet seen (ISS-040) |
Item storage groups (quick load)
Sample files: examples/CI-Eng-Sample/03_his_group_df.qli (groups) and 04_item_his_df.qli
(items in groups); removal 89_…, 90a (generated by remove.cmd), 90_…. Commands as in
skill system-management (dssqld -i / -m / -r); dssqld exits 0 even on errors — read the
summary table.
1. Groups (HIS_GROUP_DF)
@FIELDS
NAME,DESCRIPTION,TYPE,COL_STOR_TYPE,LIFE_TIME,ROLLOVER_INT
@HIS_GROUP_DF
"<GROUP>","<description>","Item","Event/Item","1 weeks","1 days"
@FIELDS
NAME,DESCRIPTION,TYPE,COL_STOR_TYPE,SCAN_INTERVAL,STORE_QUALITY,LIFE_TIME,ROLLOVER_INT
@HIS_GROUP_DF
"<GROUP>","<description>","Item","Scan/Time",10,1,"1 days","1 hours"
@FIELDS
NAME,DESCRIPTION,TYPE,COL_STOR_TYPE,STORE_QUALITY,LIFE_TIME,ROLLOVER_INT,AGG_PERIOD_HOUR,AGG_PERIOD_30MIN
@HIS_GROUP_DF
"<GROUP>","<description>","Item","Aggregation",1,"4 weeks","1 weeks",1,1
- Name ≤ 16 characters.
COL_STOR_TYPE:Scan/Time,Event/Item,Event/Event,Direct/Event,Direct/Item,Aggregation. Other fields: C40 summary §2 (priority, data compression, averaging, samples per record, shift/day/week settings, completion item). - Defaults filled in by the system: first rollover at the next interval boundary, aggregation shift 8 h from 00:00, week from Monday.
- Size the life time to the disk: every unit older than the life time is deleted at rollover.
2. Items in a group (ITEM_HIS_DF)
@FIELDS
NAME,ITEM_NAME,GROUP_NAME,ON_VALUE_CHANGE,ON_STATUS_CHANGE
@ITEM_HIS_DF
"<GROUP>:<Section>.<Tag>","<Section>.<Tag>","<GROUP>",1,1
@FIELDS
NAME,ITEM_NAME,GROUP_NAME
@ITEM_HIS_DF
"<SCANGROUP>:<Section>.<Tag>","<Section>.<Tag>","<SCANGROUP>"
@FIELDS
NAME,ITEM_NAME,GROUP_NAME,STORE_AGG_MAX,STORE_AGG_MIN,STORE_AGG_AVG
@ITEM_HIS_DF
"<AGGGROUP>:<Section>.<Tag>","<Section>.<Tag>","<AGGGROUP>",1,1,1
Event triggers (ON_*) matter for event groups; aggregates (STORE_AGG_MAX, _MIN, _AVG,
_INTG + AGG_INTG_PERIOD, _STDV, _CNT, _DIFF_SUM + range/percentage) for aggregation
groups. Load the group first; a short pause before linking items avoids a failure seen once
(load.cmd waits 5 s).
3. Restart
A new group stores nothing until CI Server is restarted (verified: groups loaded at 11:32
and 11:54 started storing only after the 12:00 restart). Ask the user to restart the CI Service
(admin) and check the active unit with history-checks.md.
4. Read history
@SELECT
'ITEM_NAME = "<Section>.<Tag>" and GROUP_NAME = "<GROUP>" and SAMPLE_TIME > "<dd-mm-yyyy hh:mm:ss>" and SAMPLE_TIME < "<dd-mm-yyyy hh:mm:ss>"'
@ITEM_HISTORY
dssqld -e <out>.qli <filter>.qli -c. Item name and a time range are required; times are local.
GROUP_NAME picks one group (otherwise every group with the item answers). Columns:
SAMPLE_TIME, SAMPLE_END_TIME, INTERVAL_TIME, ITEM_VALUE, QUALITY, INITIAL_VALUE
(1 = value at unit start), STATUS, INTERPOLATION, ATTRIBUTE, GROUP_NAME, …
Aggregates (from docs; not yet seen on the test system, ISS-040): add
and INTERPOLATION = "Hour" and ATTRIBUTE = "Maximum" (also Minimum, Average,
Integration, Standard deviation, Counter, Differential summation; periods Hour, Day,
Month, Year, …). INTERPOLATION = "Hour" is accepted by dssqld; "30 minutes",
"30 Minutes" and "Half hour" are refused (DSSP-E-NOTRANSF … illegal value), so the
30-minute period name is still unknown.
5. Remove
Items first (ITEM_HIS_DF names), then give each group a STOP_TIME in the future with
dssqld -m, wait until it has passed, then dssqld -r the groups (an active unit blocks the
delete: HIS-E-GROUPHASUNT, ISS-005). remove.cmd does this for all three sample groups.
Removing a group deletes its history.
Verified (CI-Eng-Sample, 2026-10-01)
| Group | Type | Result |
|---|---|---|
CIENG_EVENT |
Event/Item, 1 week / 1 day | Live writes stored (12:04:56 = 112); ithloahis into active and closed units stored |
CIENG_SCAN10S |
Scan/Time 10 s, quality, 1 day / 1 hour | TANK1.LEVEL and INFLOW every 10 s after the restart |
CIENG_AGG |
Aggregation 30 min + hour, 4 weeks / 1 week | Group, items and units created (extra …zzz… files); after the restart no 30-minute aggregate was written by 13:00 (ISS-040) |