--- task: Check HAC on a system (licence, processes, hac.sup, scripts, HMI properties, logs) version: R1.05 (first written for R1.03) source: IM 36K10J20-01EN 4th Edition (Feb. 2026) §1.3–§1.5, §2, §4.1.4, §6.1 (unchanged since the 3rd Edition); checked read-only on the R1.03 test system 2026-10-01 and the R1.05 test server 2026-10-09 status: verified read-only on R1.03 (2026-10-01) and on the R1.05 test server (2026-10-09), both single servers without HAC; the checks on a running pair (§3) are not tested (no redundant pair) --- # HAC checks All read-only. Only read files, variables and the process list: do not run `hac*` tools (`hacwcmd`, `hacitmval`, `hachmfcmd`, `hacwdg -d` …) just to check, they talk to (or start) HAC processes. ## 1. Is HAC in use? | Check | Command / file | HAC in use when … | |---|---|---| | Licence | `dir %TLS_ROOT_PATH%\tls\sup\hacini.sup` | the file exists (licence files are `ini.sup`) | | Start script | `type %TLS_ROOT_PATH%\tls\com\ci_start.cmd` | it is a copy of `hacw_standby` (title *CI Server_in stand-by mode*, starts `haclog`, `lockmgr`, `isfjrn`) | | Server number | `echo %CI_PRIM%` | 0 primary, 1 secondary, 2, 3 | | Processes | `tasklist /FI "IMAGENAME eq hac*"` | `hacwdg`, `hacrec`, `haclog`, `hacmir`, `hacwagt`, `hacwitm` run | | Extension scripts (R1.05) | `dir %TLS_ROOT_PATH%\tls\com\*_hacw_*.cmd` | project scripts run on activate/deactivate (ISS-160) | R1.03.00 test system (2026-10-01) and R1.05.00 test server (2026-10-09): no `hacini.sup`, normal `ci_start.cmd` (title *CI Server*), `CI_PRIM` and `TLS_BACKUP_PATH` unset, no `hac*` process, no `*_hacw_*.cmd` — HAC not used. Note: `isfjrn` is started by `database_start.cmd` on every node, so an `isfjrn` process alone does not mean HAC is used. ## 2. Configuration - `tls\sup\hac.sup`: read with the Setup File Editor or `findstr /v /b "!" %TLS_ROOT_PATH%\tls\sup\hac.sup` (active lines only). Check `MODE`, `HAC_HOSTS` (real host names, not `SERVER_A`…), `PRIMARY`/`SECONDARY` addresses, `IP_DEVICE` (a real router/switch with priority 1; **no `localhost`** in production), `START_MANUAL` (`NO` once commissioned), `RECOVERY_ON`, `JOURNAL_ON`, `HMF_DAYS`. The installed file is a template (`SERVER_A`, `192.168.1.1`, `localhost`, `START_MANUAL = YES`): if these are still present the pair was never configured. The R1.05 `hac.sup`, `hac_ees.sup`, `haccache.sup`, `hac.tpl` and `hac_ees.tpl` are identical to R1.03 (hash comparison, 2026-10-08), so the template values and ISS-053 still apply. - `hac.sup` must be identical on all servers (it is excluded from the mirror on purpose). - HAC HMI: `%TLS_WAP_PATH%\cfg\jhacProperties\application.properties` — `primary=`, `secondary=` (addresses of every network), `port1`/`port2` (16000), `logport` (16001), `ownport`/`ownports` (16010, 32: the HMI's own UDP ports 16010–16041). Same file content on R1.03 and R1.05 (2026-10-09). On R1.05 `hacw_hmi` also loads `tls\exe\lib\*`: the HMI needs a complete CI Server installation on that machine (ISS-161). - Firewall: UDP 16000–16006 between the servers, UDP 16010–16041 for HAC HMI stations, TCP 34489 (history merge), ICMP between the servers. - Extension scripts (R1.05): any `_hacw_activate.cmd` / `_hacw_deactivate.cmd` in `tls\com` runs on every switchover; read them, they are part of the configuration and must be the same on all servers (ISS-160). ## 3. State and logs (running pair; not tested — no redundant pair on R1.03 or R1.05) - HAC HMI: `hacw_hmi` (not in the start menu). Per server: responsive, operational status (Standby / Activating / Active / Deactivating), mode (Automatic / Manual), CI Server / custom / IP health, mirror mode and status (consistent = black text), recovery table, IP devices, log. - Status items if configured: `
.OPER_MODE` (87 manual, 88 automatic), `.OPER_STAT` (95 active, 99 standby), `.CI_STAT`/`.IP_STAT` (90 healthy, 89 fault), `.DATA1_MODE`/ `.DATA1_STAT` (mirror) — read with `itmval -g`. - Logs: `%TLS_LST_PATH%\hac_log_.txt` (cyclic; `hac_log_0.txt` names the current page), `hacmir.log`/`hacmir_old.log` (mirror), `%TLS_LOG_PATH%\hacw_standby.log`, `hacw_activate.log`, and `umhlog.log` (`HAC*`, `ISFJRN` messages; ISFJRN names the journal report `_jrn.lst` after an unclean shutdown). - Watchdog start problems: `hacwdg -d` in a console shows initialization errors (only on a HAC server being commissioned, with the user's approval; it starts a Watchdog).