ci-server-engineer/knowledge/manuals/IM36K10L35-01EN.md
cliu 98035366a7 R1.05 V5 and V6: graphics files and history checks on the test server
V5 (read-only): Layouts.readme and components identical; JCEF browser
component now loaded from tls\exe\lib\jcef; connectrdp.cmd present;
jwuiutl help identical; AOG_UAC_MethodArg_Call2 added, AOG_OPCUA_Methods
not installed; web trend DataSource.js re-enables the pen checks behind
ISS-041 (probably fixed, not tested).
V6 (read-only): hisdbg 1/20/6 as on R1.03; history and item start/stop
scripts differ only by the extension hooks.
ISS-092, 097, 100, 101 closed; notes on ISS-094, 096.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 11:20:38 +11:00

7 KiB
Raw Blame History

manual title edition version status
IM 36K10L35-01EN ITEM Service Engineering - ITH 4th Edition, Feb. 2026 (R1.05; first summarized from the 3rd Edition, Sep. 2023, R1.03) R1.05 (first written for R1.03) 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.

R1.05 start scripts (V6, 2026-10-09)

The R1.05 history_start.cmd / item_start.cmd (and stop scripts) only add the extension-script call ?*_<script>.cmd (ISS-121); the processes started are the same as on R1.03 (ISS-100).