ci-server-engineer/knowledge/manuals/IM36K10L20-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

116 lines
8 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: 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.
## 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).