ci-server-engineer/knowledge/manuals/IM36K10L35-01EN.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

110 lines
6.8 KiB
Markdown
Raw 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.

---
manual: IM 36K10L35-01EN
title: ITEM Service Engineering - ITH
edition: 4th Edition, Feb. 2026 (R1.05; first summarized from the 3rd Edition, Sep. 2023, R1.03)
version: R1.05 (first written for R1.03)
status: R1.03 - from docs; installed ITH processes (item_start.cmd), setup files itheex.sup and itheix.sup checked read-only on the test system (2026-09-30); ithloahis practiced in phase 1. R1.05 - text diff against R1.03 shows no content change (2026-10-08); all ith*.sup files compared with snapshots of the R1.05 test server (identical apart from the creation date in ithini.sup); item_start.cmd / item_stop.cmd differ, content not yet read (awaiting user verification, ISS-100)
---
# ITEM Service Engineering - ITH (R1.05)
**R1.05:** the 4th Edition (Feb. 2026) has no content change against the R1.03 edition (full
text diff, 2026-10-08: one sentence in §5 reworded with the same meaning, title spacing,
contact page). Section numbers are unchanged. Installed on the R1.05 test server (compared
2026-10-08 with snapshots taken that day): the same ITH program and setup file names, every
`ith*.sup` identical (values below still hold); `item_start.cmd` / `item_stop.cmd` differ from
R1.03 (ISS-100), so the start list below is the R1.03 one until the R1.05 file is read.
ITH is the item-history part of ITEM Service: it gathers item values from ITM and stores and
retrieves them for the storage (history) groups that HISTORY Service manages. Section numbers
refer to the manual. Storage groups themselves: phase 9 (IM 36K10L20, C40).
## 1. Processes and data (§1)
- **Collection/storage types** and their processes:
| Group type (collection/storage) | Store process | Retrieve process |
|---|---|---|
| SCAN / TIME | `ITHSTX` (more: `ITHST2`…, setup key `task`) | `ITHRTT` |
| SCAN / ITEM | `ITHSIX` | `ITHRTI` |
| EVENT / EVENT | `ITHEEX` | `ITHRTE` |
| EVENT / ITEM | `ITHEIX` (not described in the manual; used by CI-Eng-Sample `CIENG_EVENT`) | `ITHREI` |
| DIRECT / EVENT (values from applications, e.g. an equipment manager reading history from the field) | `ITHSDE` | `ITHRDE` |
| DIRECT / ITEM | `ITHSDI` | `ITHRDI` |
- `ITHSER`: one per node (normally the host). Group definition (with HIS) and retrieval:
finds the item's groups, picks the **highest-priority** group, finds the first unit in the
time window and hands the request to a retrieve process. Keeps the item directory.
- `ITHDBG` debugger, `ITHRECOVER` repair.
- Start/stop lists: `tls\com\item_start.cmd` / `item_stop.cmd`; processes for unused types can
be removed there. **Installed R1.03 start list** (R1.05 file differs, ISS-100): `ithser`,
`itheex`, `itheix`, `ithstx`, `ithsde`, aggregation `ithsag` and retrieve processes in **two instances each**
(`ithrte00/01`, `ithrei00/01`, `ithrag00/01`, `ithrtt00/01`, `ithrde00/01`). Not started:
`ithsix`, `ithrti`, `ithsdi`, `ithrdi`.
**Files** (in the history/data folders; do not delete):
- `ith_itmdir.dat` item directory (item, id, time window, group, priority).
- Group description `hnnggg000000.dat`, unit descriptions `hnnggguuu000.dat` (a new one on
every group change, so old compositions stay readable), unit data `hnnggguuuddd.dat` (a new
one at each start/rollover). `nn` node, `ggg` group, `uuu` unit, `ddd` data sequence.
- Record layouts: time-based (one scan of many items per record, split into file groups),
item-based (many scans of one item), event-based (one event per record). **Events older
than 60 units cannot be stored.**
## 2. Setup files (§2)
Each process reads `<process name>.sup` (missing → error in `umhlog`).
- `ithser.sup`: `agg_hour_method` (hourly aggregate labelled by start or end of hour, default
start), `his` (HIS address), `con_timeout` (group configuration lock, default 8 min),
`his_path`, `sh_path` (default history and shadow paths), `his_mod` (allow modifying
`ITEM_HISTORY` data via the API).
- `ithstx.sup` / `ithsix.sup`: `his`, `task`, `run_interval` (heartbeat, ≤ 1/10 of the
shortest scan interval), `max_recsize`, `itms_a_rscan`/`itms_a_dscan` (items per ITM
lock, ~50), `itms_a_rrun`/`itms_a_drun` (items per heartbeat, limits CPU peaks),
overheads; ITHSIX also `max_total_buf`, `max_grp_buf` (memory in 28-byte blocks).
- `itheex.sup` (test system values): `run_interval = 600` s, `buffer_size = 10` events,
`event_timeout = 1` s, **`gap_time = 2880` min**, `queue_size = 750` KB, optional
`overflow_item` (counts/toggles on queue overflow).
- `itheix.sup` (not in the manual; test system): `run_interval = 60`, `buffer_size = 20`,
`event_timeout = 1`, **`gap_time = 2880` min**, **`max_sample_delay = 14400` min**,
`max_samples_queued = 25` (million), `max_open_files = 10`, `queue_size = 2000`.
- `ithsde.sup` / `ithsdi.sup`: `his`, `task`, `max_open_files` (10), `max_recsize` (4000),
`gap_time` (60 min).
## 3. `ithrecover` (§3)
`ithrecover <group | "*"> [-v] [-p]` repairs the relations between item definitions, group
descriptions, the item-in-use list and the item directory (trusting item definitions and group
descriptions). Needs HISTORY Service and ITHSER running, no group configuration in progress.
`-p` extends the item directory into the past for history migration (advanced; with product
support).
## 4. `ithdbg` (§4)
Menu: 1 group contents, 2 item directory, 3 unit data file dump, 4–18 global/group info of
each ITH process, 20 retrieve history, 80 stop a process, 90 log to file, −1 exit. Group names
are case-sensitive.
## 5. `ithloahis` item history loader (§5)
`ithloahis -f <file> [-v] [-l] [-i] [-s <section>] [-t GMT|LST|LCT]` loads CSV history into
EVENT/EVENT and EVENT/ITEM groups (not SCAN). Groups and items must exist. `-i` also writes
the value to the item (e.g. to trigger alarms). Formats: `SCAN, item1, item2` header then
`time, v1, v2` rows (blank = no sample), or `EVENT` header then `time, item, value` rows.
Time as `29-Apr-14 11:48:17.452`, `29-04-2014 11:48:18.452` or UTC seconds. Practiced: skill
`system-management`, task `load-history.md`.
**Loading older history (migration)**:
1. Raise `gap_time` in `itheex.sup` (EVENT/EVENT) or `gap_time` and `max_sample_delay` in
`itheix.sup` (EVENT/ITEM) beyond the age of the oldest sample (5 years ≈ 2,628,000 min);
note the old values; restart CI Server.
2. Create the group, add all items, start it immediately.
3. Create earlier unit files: `hisdbg` option 3 for unit info; copy unit files to
`%TLS_HIS_PATH%\has`, delete the unit (`hisdbg` 4), copy back, set times with
`hisrecover <unit>.his "<start LCT>" "<end LCT>"`, create the next with `isfrename`,
repeat until the original second unit's start time.
4. `ithrecover <group> -p`, restart CI Core.
5. `ithloahis -f <file>`.
6. Restore the setup values and restart.
This explains why samples older than the current unit were not stored in phase 1
(`knowledge/issues.md` ISS-006). From an older CI Server version use `ITHIMPORT` instead.