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>
111 lines
7.8 KiB
Markdown
111 lines
7.8 KiB
Markdown
---
|
||
manual: IM 36K10L20-01EN
|
||
title: History Management Engineering
|
||
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 - 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. R1.05 - text diff against R1.03 shows no content change (2026-10-08); has.sup, hisini.sup and the HISTORY program names compared with snapshots of the R1.05 test server (same, apart from instance/licence lines); history_start.cmd / history_stop.cmd differ and hisdbg was not run on R1.05 (awaiting user verification, ISS-100/101)
|
||
---
|
||
|
||
# History Management Engineering (R1.05)
|
||
|
||
**R1.05:** the 4th Edition (Feb. 2026) has no content change against the R1.03 edition (full
|
||
text diff, 2026-10-08; only the edition date and contact page). Section numbers are unchanged.
|
||
Installed files on the R1.05 test server (compared 2026-10-08 with snapshots taken that day):
|
||
same program file names (`his`, `hisdbg`, `hisrep`, `hisrecover`, `hiswrn`, `hasman`, `hasexe`,
|
||
`hasdbg`, `lghumh` …), same `has.sup`, `hisini.sup` differs only in instance and licence lines;
|
||
`history_start.cmd` and `history_stop.cmd` **differ** (content not yet read, ISS-100).
|
||
|
||
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` (R1.03; the R1.05 file differs, ISS-100): 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 R1.03 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`** (same on R1.03 and R1.05): 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.
|