--- manual: IM 36K10L20-01EN title: History Management Engineering edition: 3rd Edition, Sep. 2023 (text marked Sep. 2022) version: R1.03 status: hisdbg read-only options, rollover and history file layout verified on the test system 2026-10-01; archive (hasman/hasexe/hasdbg), hisrecover, hisrep, hiswrn from docs; setup files checked read-only --- # History Management Engineering (R1.03) HISTORY Service schedules and administers **history groups** (storage groups) and their **units** (files) for all services that keep history: item history (ITEM Service), the chronological alarm overview (`ALH`), the audit trail, the system log and report definitions. It does not know the contents of the files; the client services write and read them. Section numbers refer to the manual. Engineering Module forms and item storage group types: `IM36K10C40-01EN.md`; item history processes (ITH*): `IM36K10L35-01EN.md`. ## 1. Processes and data (§1) | Process | Role | |---|---| | `HIS` | History manager: schedules start / stop / rollover / delete commands, keeps the administration, serves the message interface. No setup file, no arguments | | `HASMAN` | Archive manager (automatic daily archive, manual archive, retrieve); `has.sup` | | `HASEXE` | Archive executor: accesses the archive device; `has.sup` | | `LGHUMH` | Copies message log entries into the `SYS_LOG` group (started by `history_start.cmd` on the host node) | Installed `tls\com\history_start.cmd`: creates `%TLS_HIS_PATH%\has`, runs **`hisrep` automatically at every start** when `his_units.dat` exists, then starts `his`, `lghumh`, `hasexe`, `hasman`. Administration (DATABASE Service files in `tls\dat`): `his_proc.dat` (every client that ever logged in; they get *history manager up* at start), `his_groups.dat` (group definitions and schedule), `his_units.dat` (all units with start, stop, delete and warning times). Archive status item (`has.sup` `STATUS_ITEM`): statuses `ARCHIVE_A`, `ARCHIVE_M`, `ARCHIVE_R`, `MOUNT_TAPE`, `INIT_TAPE`, `REG_TAPE`, `SKIP_TAPE`, `CANCEL`, `READY` (value 1, normal) and `FAILED` (value 0, Alarm 1). A storage group can be excluded from archiving (`HIS_GROUP_DF` `EXCLUDE_ARCHIVE`). ## 2. History files (§2.1) - Group number = node + sequence; unit number = *unit* sequence (incremented when the group is modified) + *data* sequence (incremented at each rollover). - File names use base-32 digits (`0`–`9`, `a`–`v`): `h000000.his` group description, `h000.his` unit description, `h.his` unit data; reports also `…000000.rpt`. Each is a DATABASE Service file with `.d01` / `.k01` / `.k02` companions. - **Verified** (`%TLS_ALLUSERS_PATH%\tls\his\`, `hisdbg`): `CIENG_EVENT` = group 1,54 → `h0101m…`; `CIENG_SCAN10S` 1,55 → `h0101n…`; `CIENG_AGG` 1,56 → `h0101o…` plus extra `h0101ozzz…` files for the aggregates. After a CI Server restart the unit sequence jumped from 1 to 3 (consistent with `hisrep` at start, which increases unit sequences by 1). ## 3. Debugger `hisdbg` (§3.1) Starts by asking for the node (blank = local). Menu (installed: `-1` … `22`): | No. | Action | Use | |---|---|---| | 1 | Statistics (groups, logged-in clients, commands, unit starts/stops/rollovers/deletions) | read-only | | 2 / 21 / 22 | Group info (last group / by name / by number): path, group number, next unit and file, his_type, opt_type, start, stop, first rollover, interval, life time, warn time, GMT/LCT rollover, archiving flag, lock state | read-only | | 3 | Unit info of the current group: unit, data, file, start, stop, delete (GMT) | read-only | | 6 / 7 | Logged-in clients / command interests of one client | read-only | | 11 | Show unknown history files | read-only | | 20 | All groups: name, number, type | read-only | | 4 / 8 / 10 / 12 | Delete unit / delete group (no active unit) / restore unit (file must exist) / delete unknown files | **changes history — never without approval** | | 5 | Force rollover (same as Engineering Module *Force rollover*; not within 2 min of the last one) | changes files | | 9 | Change schedule (start, stop, next rollover, interval, life time, GMT rollover, warn time) | changes the group | History types: 21 alarm (`ALH`), 24 item, 6 audit (`ADT`), 1058 report definitions; on the test system also 4 (`STATION_STAT`) and 36 (`SYS_LOG`), not listed in the manual (ISS-039). opt_type shows the item collection/storage type (the manual's table is garbled in the PDF); **verified**: Scan/Time `1 1` (`CIENG_SCAN10S`), Event/Item `2 2` (`CIENG_EVENT`), Aggregation `4 4` (`CIENG_AGG`). Times are shown in GMT. **Verified on the test system (2026-10-01):** 45 groups, 30 logged-in clients (ITH*, ALH, ADTSTO, DSSSDA/DSSEVT, LGHUMH, EQPIOSTAT, RPTMAN, HIS); group info of `CIENG_EVENT` (path `C:\Users\Public\Yokogawa\tls\his\`, rollover daily at 00:00 GMT, life 7 days, GMT rollover, included in archiving); force rollover of `CIENG_EVENT` closed unit 3,1 and started 3,2. ## 4. Other utilities (§3.2–§3.5) | Utility | Use | |---|---| | `hisrecover ` | Make an unknown unit data file known again (start/stop LCT `dd-mmm-yy hh:mm:ss`); group and unit description must be known | | `hiswrn` | Reset deletion warning times of units saved with a backup prefix | | `hisrep` | Repair unit administration after crashes or full disks: increase unit sequences, close units with stop time 0 using the last time-control record. Runs at every CI Server start | | `hasdbg` | Archive debugger: 1 initialise, 2 mount, 3 register medium, 4/5 get/set automatic archive time, 6 manual archive, 7 retrieve, 8 overview, 9 cancel, 10 delete a medium from the administration, 11 list media, 20 dump medium | ## 5. Archive (§2.2) - `HASMAN` decides what to archive (daily automatic archive or on request), `HASEXE` writes it. Devices: tape (`TAPE-DRIVE`, Windows default `//./TAPE0`) or a disk path (`CD-DRIVE`: local disk, network share, USB, UDF-formatted CD/DVD). One device at a time; restart after changing `has.sup`. Archive size ≈ 20 % of the history data. - Administration: `has_idx_act.dat` (initialise / archive actions) and `has_idx_grp.dat` (groups and units per medium), also copied to each medium. If corrupt: stop CI Server, delete both from `tls\dat`, start, register the latest initialised medium (and the latest used one). Remove damaged media with `hasdbg` 10. - **Installed `has.sup`:** no drive configured (archiving not set up), `COMPRESSION-RATIO 6`, `SH_EOT` / `SH_NO_TAPE` shell signals. Other keywords: `TAPE-SIZE`, `STATUS_ITEM`, `HISTORY-PATH`, `TEMPORARY-PATH` (scratch folder for big archives), `HIS`, `SH_WRITE_PROT`, `SH_IGNORE`, `SH_KILL`, `DEBUG`. Not practiced: archiving and retrieve (no archive device; would write to disk and change the archive administration), `hisrecover`, `hiswrn`, running `hisrep` by hand.