ci-server-engineer/knowledge/manuals/IM36K10L20-01EN.md
cliu 37c91eeac7 Add history manual summaries (L20, C40) and history-management skill
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:02:32 +10:00

104 lines
6.7 KiB
Markdown
Raw Permalink 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 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`): `h<nn><ggg>000000.his` group description,
`h<nn><ggg><uuu>000.his` unit description, `h<nn><ggg><uuu><ddd>.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 <file> <start> <stop>` | 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.