R1.05 re-check batch 2: graphics, history, portal, system-management, items #28

Merged
cliu merged 1 commit from docs/r105-recheck-batch2 into main 2026-10-08 19:33:17 +11:00
44 changed files with 972 additions and 302 deletions
Showing only changes of commit 83af63ab53 - Show all commits

View file

@ -1,10 +1,12 @@
---
name: graphics
description: >-
CI Server R1.03 operator graphics for the Operator Interface (desktop) and the HTML display
CI Server R1.05 operator graphics for the Operator Interface (desktop) and the HTML display
(web): displays, symbols, layouts. Use when the
user wants to create or change a display or symbol in the Edit Module (number field, text,
alarm overview, trend, buttons, actions, parameters, connecting a component to an item),
alarm overview, trend, buttons, actions, parameters, connecting a component to an item,
Generic Functions such as Password Check or RDP Connect, custom alarm acknowledgement with
reason and approver, web browser component),
deploy or remove display files, export displays to HTML / Mobile Operator, open a display in a
web browser (localhost:8080/mobileoperator), validate, search or unlock displays (jwuiutl,
.lck files), find where displays, symbols and layouts are stored (DEPLOY folder,
@ -15,7 +17,23 @@ description: >-
IM 36K10C50-01EN, IM 36K10R30-01EN, IM 36K10C60-01EN and the installed Layouts.readme.
---
# Graphics: displays, symbols, layouts (R1.03)
# Graphics: displays, symbols, layouts (R1.05)
Re-checked for R1.05 on 2026-10-08 against the R1.05 manuals (C50 5th ed., R30 4th ed., C60
5th ed., Feb. 2026; full text diff against R1.03). Everything practiced in the tasks was
practiced on **R1.03**; the read-only file comparison on the R1.05 test server could not be run
yet (awaiting user verification, see the C50/R30 summaries). What changed in R1.04/R1.05:
- *Calculation/Function* component renamed **Generic Functions** (C50 §2.31); new operations
**Password Check** (R1.04) and **RDP Connect** (R1.05, installed script `tls\com\connectrdp.cmd`).
- Alarm overview: **custom acknowledgement** with reason and approver in the audit trail
(C50 §2.22, §4.12); *Update item/parameter* actions can record reason and approver.
- Web browser component (§2.33) uses a different browser engine in R1.05 (other codecs, new
security properties): embedded media made for R1.04 or earlier may not play.
- HTML display: Enterprise displays are no longer excluded (R30 §4.7/4.8/4.10, C50 §1.7);
HIS-TSE connections are not supported on the web.
- Paths: on the R1.05 test server program and data share one root (`C:\Yokogawa\CIServer`);
always use `%TLS_WAP_PATH%` instead of the R1.03 path `C:\Users\Public\Yokogawa\tls\wap`.
Background: `knowledge/manuals/IM36K10C50-01EN.md` (Edit Module, components, sheets, symbols,
`jwuiutl`, display file contents), `IM36K10R30-01EN.md` (folders, layouts, dataset forms, HTML
@ -30,6 +48,7 @@ Rules:
Reloading the browser page logs out — use the display menu *View > Reload*, and the display
box to open other displays.
- `jwuiutl -vf`, `-u`, `-c`, `-a` rewrite or unlock files of **all** displays: only with approval.
`-v` also re-saves the displays it validates (`tasks/deploy-displays.md` §2).
- Ask the user to close the Edit Module before CI Server is stopped or restarted: otherwise the
next start fails (skill `system-check`, §3).
- The Operator Interface (desktop) reads `Layouts.xml` only at start: after layout changes,
@ -37,12 +56,13 @@ Rules:
| Task | File | Status |
|---|---|---|
| Build a display in the Edit Module (text, number field, alarm overview, trend) and check the saved XML | `tasks/create-display.md` | verified |
| Write display XML directly / with the sample generator (text size, rounding, arc angles, item attributes for the web, server-side command, alarm overview columns) | `tasks/create-display.md` (*Writing display XML directly*), `examples/CI-Eng-Sample/displays/generator/` | verified 2026-10-06 |
| Deploy / remove display files, export HTML, validate and search with `jwuiutl` | `tasks/deploy-displays.md` | verified |
| Trend: pen sources (history group, aggregates), every pen and chart setting, desktop vs HTML display, 50-pen web workaround (`add_trend_spares.ps1`), Micro Trend | `tasks/trend.md` | verified (desktop); web workaround verified; Micro Trend open (ISS-055) |
| Open and check a display in the browser (HTML display / Mobile Operator) | `tasks/deploy-displays.md` §4 | verified |
| Operator layouts (`Layouts.xml`): windows, menus, toolbars, frames, popups, kiosk screens; open displays in frames and layouts; every parameter and command, desktop vs web (§6) | `tasks/layouts.md` | verified (per-user layout 2026-10-06; dual screen from docs) |
| Dataset forms (`*Dia.xml`) and the form description language | R30 summary §3 | from docs |
| Build a display in the Edit Module (text, number field, alarm overview, trend) and check the saved XML | `tasks/create-display.md` | verified on R1.03; R1.05 from docs (component changes listed in §R1.05) |
| Write display XML directly / with the sample generator (text size, rounding, arc angles, item attributes for the web, server-side command, alarm overview columns) | `tasks/create-display.md` (*Writing display XML directly*), `examples/CI-Eng-Sample/displays/generator/` | verified on R1.03 2026-10-06; not re-tested on R1.05 (no displays may be deployed on the shared test server) |
| Generic Functions (Password Check, RDP Connect), custom alarm acknowledgement with reason/approver, web browser component security properties | `tasks/create-display.md` §R1.05, C50 summary §3–4 | from docs (R1.05) |
| Deploy / remove display files, export HTML, validate and search with `jwuiutl` | `tasks/deploy-displays.md` | verified on R1.03; R1.05 option list awaiting user verification |
| Trend: pen sources (history group, aggregates), every pen and chart setting, desktop vs HTML display, 50-pen web workaround (`add_trend_spares.ps1`), Micro Trend | `tasks/trend.md` | verified on R1.03 (desktop); web workaround verified on R1.03, not re-tested on R1.05; Micro Trend open (ISS-055) |
| Open and check a display in the browser (HTML display / Mobile Operator) | `tasks/deploy-displays.md` §4 | verified on R1.03 |
| Operator layouts (`Layouts.xml`): windows, menus, toolbars, frames, popups, kiosk screens; open displays in frames and layouts; every parameter and command, desktop vs web (§6) | `tasks/layouts.md` | verified on R1.03 (per-user layout 2026-10-06; dual screen from docs); R30 ch. 1 unchanged in R1.05; installed `Layouts.readme` awaiting user verification |
| Dataset forms (`*Dia.xml`) and the form description language | R30 summary §3 | from docs (unchanged in R1.05) |
| Symbols, parameters, actions, localisation, record/playback | C50 summary §1, §4, §5 | from docs |
| AOG library (styles, symbols, faceplates, templates) | C60 summary | from docs |
| AOG library (styles, symbols, faceplates, templates, OPC UA method displays) | C60 summary | from docs |

View file

@ -1,8 +1,8 @@
---
task: Build a display in the Edit Module and check the saved file
version: R1.03
source: IM 36K10C50-01EN §1.2, §1.7, §2, §4.8.1; practiced on CI-Eng-Sample (display CIENG_Tank) 2026-10-01; display XML written by the sample generator and checked on desktop and web 2026-10-02 to 2026-10-06 (installed web client code, component definitions in DEPLOY\components)
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10C50-01EN (R1.03 3rd ed. Sep. 2023; R1.05 5th ed. Feb. 2026) §1.2, §1.7, §2, §2.22, §2.25, §2.31–2.33, §4.8.1, §4.12; practiced on CI-Eng-Sample (display CIENG_Tank) 2026-10-01; display XML written by the sample generator and checked on desktop and web 2026-10-02 to 2026-10-06 (installed web client code, component definitions in DEPLOY\components)
status: verified on R1.03 (Edit Module steps, saved XML, generator rules). R1.05: manual re-checked 2026-10-08 (section R1.05 below, from docs); not re-tested on the R1.05 test server (shared server, no displays may be deployed; component list comparison awaiting user verification)
---
# Build a display (Edit Module)
@ -71,6 +71,22 @@ Module, the Operator Interface and the HTML display, if these rules are kept (sa
| Server-side command | `<action type="actionExecuteCommand">` with `<command>` and `<onServer>true</onServer>` runs on the CI Server node as the service account `CIX_PROCESS`, also from the web; a user in the factory group `OPERATOR` may use it (tested 2026-10-06, sample live-data *Start*) |
| Alarm overview | `autoFit` true in a tab that is hidden while loading squeezes all columns to ~0 px on the web: set `autoFit` false and give `column<Name>Width`; `column…Visible` for `AlarmAttribute` is an array property (a plain value fails the HTML export with `ClassCastException`); the empty part of the list stays **white** on both clients (no property; web: `jquery.dataTables.css` forces it); web rows are 20 px at a 14 px font (2026-10-02/06) |
## R1.05: component changes since R1.03 (from docs, IM 36K10C50-01EN 5th ed.)
| Component / sheet | Change (version) |
|---|---|
| *Calculation/Function* → **Generic Functions** (§2.31) | Renamed (R1.05 manual). Timing now documented: *Date and Time* runs every 200 ms; other operations check their inputs every 100 ms and run on a change, and also when the display is loaded or reloaded. |
| Generic Functions: **Password Check** (R1.04) | Inputs T[I1] user name, T[I2] password; B[O] TRUE and T[O] = user name if the pair is valid, else FALSE and the DSS error text (e.g. `DSS-E-UNK_USER`). Needs the login method *Manual CI Server* or *Manual OS* for the Password Check function in `dssana.sup` (*Login control* tab; skill `authorization`). Not tested. |
| Generic Functions: **RDP Connect** (R1.05) | When triggered, writes an `.rdp` file and starts a Remote Desktop session to T[I1] (host or IP). Optional T[I2] RemoteApp alias/program, T[I3] RemoteApp command line, T[I4] RD Gateway (`host[:port]`, default 443). T[O] receives the generated file name. Installed helper: `%TLS_ROOT_PATH%\tls\com\connectrdp.cmd`. Not tested (needs a remote desktop target). |
| JavaScript Function (§2.32) | Wording: inputs checked every 100 ms, script runs on a change and also when the display is loaded/reloaded (R1.03 text implied no run at load). |
| Alarm overview (§2.22, R1.04/R1.05) | New *[Acknowledgement]* properties: **Use Custom Acknowledgement** (acknowledge from a user-made window instead of the overview) enables *Acknowledge Event*, *Acknowledged Alarm*, *Acknowledged Alarm Text*, *Acknowledged Alarm Time*; *Selected Alarm Key*; *[External Acknowledgement]* (*Alarm Key*, *Approver*, *Reason*, *Trigger*); *[Enterprise Alarm Locations]* for enterprise displays. |
| Actions sheet (§4.12, R1.04) | *Update item/parameter* on an item, object signal or parameter can carry **Reason** (≤ 256 chars) and **Approver** (≤ 128 chars); they land in `AUDIT_TRAIL` fields `APPROVAL_REASON` / `APPROVER` (skill `audit-trail`). Two documented recipes for alarm acknowledgement with reason/approver: via an item parameter (attribute *Acknowledged* = 1, item alarms only) or via the overview's *External Acknowledgement* properties (item and external alarms). Not tested. |
| Dataset tables (§2.25, R1.05) | Column **Icon**, *Icon filter* (`<v>`, `!<v>`, `&<v>` bit test), *Icon tooltip*; *Operator can use column sorters*; *Operator can select row(s)* / *multiple rows*; *[Enterprise Dataset Locations]*; enterprise location supported on the HTML display. |
| Report (§2.26, R1.05) | New *[Enterprise]* category (primary / secondary data location). |
| Web Browser (§2.33, R1.05) | New browser engine: protocols WebRTC, HTTPS, WebSocket, HTTP/2, HTTP/3; codecs VP8, VP9, WebM, Opus, Vorbis, PCM. Content that played on R1.04 or earlier may not play after the upgrade. Right-click menu; new properties *Go Home/Stop/Reload*, *[Printing]*, *[Status]*, *[Security]* (*Enable Microphone/Camera*, *Allow Insecure Certificates*, *Allow Local file access*). Local files for CI Mobile View must be placed under `%TLS_ALLUSERS_PATH%\wap` and opened by URL. |
| Display generator (§2.36) | The note "not supported on HTML displays" was removed in the R1.05 manual; R30 §4.8 does not list it. Treat web support as unconfirmed. |
| `jwuiutl -m` / `-M` (§1.5) | Output now described as space-separated (R1.03 manual: CSV). On R1.03 `-m` printed comma-separated lines (verified); R1.05 output not checked (ISS-094). |
## Verified (CIENG_Tank, 2026-10-01)
Text `CI-Eng-Sample Tank 1`, number field on `TANK1.LEVEL` (live: 72 → 61), alarm overview

View file

@ -1,14 +1,18 @@
---
task: Deploy, remove, export, validate and search displays; open them in the browser
version: R1.03
source: IM 36K10C50-01EN §1.5; IM 36K10R30-01EN §1.1, §4; practiced on CI-Eng-Sample 2026-10-01; sample operator HMI (8 displays) and validate test 2026-10-06
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10C50-01EN §1.5 (R1.05 5th ed. Feb. 2026); IM 36K10R30-01EN §1.1, §4 (R1.05 4th ed. Feb. 2026); practiced on CI-Eng-Sample 2026-10-01; sample operator HMI (8 displays) and validate test 2026-10-06
status: verified on R1.03. R1.05: manuals re-checked 2026-10-08 (jwuiutl options and HTML export unchanged except the search output wording); not re-tested on the R1.05 test server (shared server: no deploy, validate or export allowed); `jwuiutl --help` and the deploy folder structure there awaiting user verification
---
# Deploy and check displays
No admin rights needed (`C:\Users\Public\Yokogawa\tls\wap`). `jwuiutl.cmd` is in `tls\com`
(on `PATH`); call it through `cmd` (`cmd /c "jwuiutl.cmd …"`).
On R1.03 no admin rights were needed (`C:\Users\Public\Yokogawa\tls\wap`). On the R1.05 test
server the data root is `C:\Yokogawa\CIServer\tls`: use `%TLS_WAP_PATH%` and check write access
before deploying. `jwuiutl.cmd` is in `tls\com` (on `PATH`); call it through `cmd`
(`cmd /c "jwuiutl.cmd …"`). `jwuiutl.cmd --help` prints the option list (read-only; R1.03 help
text matches the C50 summary §2, but says `-o` defaults to the current directory, whereas the
export without `-o` wrote into `mobileoperator\operatorInterfaces\<deployment>` — verified R1.03).
## 1. Deploy / remove (sample scripts)
@ -48,7 +52,8 @@ attributes - same content). Run it on copies, or redeploy the source files after
cmd /c "jwuiutl.cmd -d -m <term> > <scratch>\match.txt 2>&1"
```
CSV `Type, File, Component` per match; `-M` adds actions and properties. Use it before deleting
CSV `Type, File, Component` per match (R1.03; the R1.05 manual describes the output as
space-separated, not checked, ISS-094); `-M` adds actions and properties. Use it before deleting
or renaming items to find the displays that use them.
## 4. Open in the browser (HTML display)
@ -59,6 +64,12 @@ line). To switch displays type the name in the display box and press Enter. To r
display menu **View > Reload** (keeps the session) — **reloading the browser page ends the
session** and needs a new login. Check live values by writing a test value (`itmval -p`, test items only).
R1.05 manual (IM 36K10R30-01EN §4.10, from docs): the restrictions "no automatic reconnect
after a disconnect" (reliable socket) and "no HTML export from CI View (Edit Module over Remote
Connect)" are no longer listed; enterprise displays and enterprise user-profile settings are no
longer excluded; new: HIS-TSE connections are not supported in the HTML display. Not tested on
R1.05 (ISS-093).
## Verified (2026-10-01)
Remove → deploy recreated both files; `-e HTML` output identical to the Edit Module's HTML;

View file

@ -1,8 +1,8 @@
---
task: Configure operator layouts (Layouts.xml): windows, menus, toolbars, frames, popups; open displays in frames and layouts
version: R1.03
source: Layouts.readme (installed, %TLS_WAP_PATH%\cfg\operatorInterfaces\DEPLOY\layouts); IM 36K10R30-01EN §1, §4.7; IM 36K10C50-01EN §4.12; practiced with CI-Eng-Sample (layout CIENG_Operator) in the Operator Interface (desktop) and the HTML display 2026-10-01; parameter-by-parameter test (§6) on both clients 2026-10-02, web behaviour also read from the installed web client code (mobileoperator fasttools.min.js); sample operator HMI (layouts CIENG_Operator with a tab set and CIENG_Popup, user CIENG) and test layouts on both clients 2026-10-06
status: verified (parameters tested on desktop and web 2026-10-02 except print orientation/margins, playback, multi-screen positions and the maximumTabs limit for new tabs)
version: R1.05 (first written for R1.03)
source: Layouts.readme (installed, %TLS_WAP_PATH%\cfg\operatorInterfaces\DEPLOY\layouts; R1.03 copy); IM 36K10R30-01EN §1, §4.4, §4.7 (R1.05 4th ed. Feb. 2026); IM 36K10C50-01EN §4.12; practiced with CI-Eng-Sample (layout CIENG_Operator) in the Operator Interface (desktop) and the HTML display 2026-10-01; parameter-by-parameter test (§6) on both clients 2026-10-02, web behaviour also read from the installed web client code (mobileoperator fasttools.min.js); sample operator HMI (layouts CIENG_Operator with a tab set and CIENG_Popup, user CIENG) and test layouts on both clients 2026-10-06
status: verified on R1.03 (parameters tested on desktop and web 2026-10-02 except print orientation/margins, playback, multi-screen positions and the maximumTabs limit for new tabs). R1.05: R30 ch. 1 (layouts) unchanged apart from wording (re-checked 2026-10-08, from docs); the installed R1.05 `Layouts.readme` / `Layouts-original.xml` and the web client were not compared yet (awaiting user verification, ISS-092); no layout may be changed on the shared R1.05 test server
---
# Operator layouts
@ -123,7 +123,10 @@ open as windows inside the page; print, look-and-feel and the debug key are not
the layout with `&l=`, or let the user profile choose it (§3). Verified 2026-10-06:
`?l=CIENG_Operator` (and a plain logon as `CIENG`) showed the sample menu, navigation toolbar,
header, tab set and banner. The web client does not zoom displays (§6.1), so size them for the
browser window.
browser window. The manual agrees: IM 36K10R30-01EN §4.4 (R1.03 and R1.05) marks the profile's
*Layout* as supported on the HTML display; the earlier reading "layout not" came from a garbled
text extraction of that table (ISS-074, ISS-095). In R1.05 the *Enterprise* profile settings are
also marked supported on the web.
## 6. Parameter reference: desktop vs web (tested 2026-10-02)

View file

@ -1,8 +1,8 @@
---
task: Configure a trend (chart) component; what each setting does on the desktop and in the HTML display
version: R1.03
source: IM 36K10C50-01EN §2.27 (Trend, Tables 2.27-10…28), §2.29 (Micro Trend); IM 36K10R30-01EN §4.8.7; installed web client code (`%TLS_WAP_PATH%\mobileoperator\src\fasttools\ui\components\implementation\charts\`); practiced on CI-Eng-Sample (display CIENG_TrendLab, removed 2026-10-06) 2026-10-02; sample trends CIENG_Trends / CIENG_TankFaceplate and a test display on both clients 2026-10-06
status: verified (desktop Operator Interface: every row marked ✅/❌ below; HTML display: §6)
version: R1.05 (first written for R1.03)
source: IM 36K10C50-01EN §2.27 (Trend, Tables 2.27-10…28), §2.29 (Micro Trend) (R1.05 5th ed. Feb. 2026); IM 36K10R30-01EN §4.8.7 (R1.05 4th ed. Feb. 2026); installed web client code (`%TLS_WAP_PATH%\mobileoperator\src\fasttools\ui\components\implementation\charts\`); practiced on CI-Eng-Sample (display CIENG_TrendLab, removed 2026-10-06) 2026-10-02; sample trends CIENG_Trends / CIENG_TankFaceplate and a test display on both clients 2026-10-06
status: verified on R1.03 (desktop Operator Interface: every row marked ✅/❌ below; HTML display: §6). R1.05: manuals re-checked 2026-10-08 — §2.27/2.29 unchanged except the trend's *Enterprise* property, now marked supported on the HTML display (from docs). Not re-tested on R1.05; whether the 50-pen web problem (ISS-041) still exists in the R1.05 web client is awaiting user verification (ISS-096)
---
# Trend settings (desktop and web)
@ -116,7 +116,8 @@ rotation, zoom. Outputs (⇨): *Hairline value[n]*, *Time range begin/end*, *Upd
- **A trend with fewer than 50 visible pens with an item draws no line** in R1.03 (ISS-041):
the web code always builds 50 data columns (`PEN_COUNT_LIMIT`) but labels only the visible
pens with an item; console `Mismatch between number of labels (…) and number of columns in
array (51)`. The desktop is not affected.
array (51)`. The desktop is not affected. R1.05: not checked yet (ISS-096); the padding
workaround is harmless, so keep it until the R1.05 web client is checked.
- **Workaround** (verified 2026-10-02): pad the trend to 50 pens with
`displays/add_trend_spares.ps1 -Path <display>.xml`. Spares copy the first pen's source,
are scaled to 1E30–2E30 (clipped), hidden from the legend and get blank unique legend texts

View file

@ -1,19 +1,29 @@
---
name: history-management
description: >-
CI Server R1.03 HISTORY Service and item history. Use when the user wants to store item values
CI Server R1.05 HISTORY Service and item history. Use when the user wants to store item values
in history (item storage group, storage group item, Scan/Time, Event/Item, Event/Event,
Direct, scan interval, averaging, quality codes, priority), set rollover interval, life time
or retention of history, use aggregation (30 minutes, hourly, shift, daily, weekly, monthly,
yearly maximum / minimum / average / integral / standard deviation / counter / differential
summation, ithsag.sup, completion notification), read history (ITEM_HISTORY, GROUP_NAME,
INTERPOLATION, ATTRIBUTE), load history from CSV (ithloahis), force a rollover, check storage
groups and units (hisdbg, his_units, history files h*.his), repair or recover history
INTERPOLATION, ATTRIBUTE; from applications via ODBC, .NET API, RESTful API or pyTOOLS),
load history from CSV (ithloahis), force a rollover, check storage groups and units (hisdbg, his_units, history files h*.his), repair or recover history
(hisrep, hisrecover), or archive and retrieve history (has.sup, hasman, hasdbg, tape, DVD,
disk archive). Sources IM 36K10L20-01EN, IM 36K10C40-01EN, IM 36K10L35-01EN.
---
# History management (R1.03)
# History management (R1.05; first written for R1.03)
Re-checked for R1.05 on 2026-10-08 (read-only): the three manuals have no content change except
IM 36K10C40 §4.2 (R1.04), which now lists the RESTful API and pyTOOLS for reading history from
applications and drops the C API. The history setup files (`has.sup`, `his*.sup`, `ith*.sup`
incl. `ithsag.sup`) and the dataset definitions `HIS_GROUP_DF`, `ITEM_HIS_DF`, `ITEM_HISTORY`,
`HIS_UNITS` are the same as in R1.03 (compared with snapshots of the R1.05 test server; only
the C interface source `dsid_ihis_df.c` of `ITEM_HIS_DF` changed, ISS-102).
`history_start.cmd` and `item_start.cmd` (and their stop files) differ (ISS-100). Storage
groups were not re-tested on R1.05: the server is shared, and a new group needs a CI Server
restart (ISS-006).
Background: `knowledge/manuals/IM36K10C40-01EN.md` (storage group fields, types, aggregation,
archive, reading history), `IM36K10L20-01EN.md` (history manager, files, `hisdbg`, utilities,
@ -31,10 +41,11 @@ Rules:
| Task | File | Status |
|---|---|---|
| Create item storage groups (Event/Item, Scan/Time, Aggregation) and add items by quick load; remove them | `tasks/storage-groups.md` | verified |
| Read history with `dssqld` (`ITEM_HISTORY`, per group); aggregates | `tasks/storage-groups.md` §4 | verified |
| Load history from CSV (`ithloahis`); which time stamps are accepted | skill `system-management`, task `load-history.md` | verified |
| Check groups, units, clients, rollover with `hisdbg` | `tasks/history-checks.md` | verified |
| Create item storage groups (Event/Item, Scan/Time, Aggregation) and add items by quick load; remove them | `tasks/storage-groups.md` | verified (R1.03); R1.05: dataset definitions and setup files identical, not re-tested (shared server, needs a restart) |
| Read history with `dssqld` (`ITEM_HISTORY`, per group); aggregates | `tasks/storage-groups.md` §4 | verified (R1.03); R1.05 not re-tested |
| Load history from CSV (`ithloahis`); which time stamps are accepted | skill `system-management`, task `load-history.md` | verified (R1.03) |
| Check groups, units, clients, rollover with `hisdbg` | `tasks/history-checks.md` | verified (R1.03); R1.05 read-only options awaiting user verification (ISS-101) |
| Archive / retrieve, `hasdbg` | C40 summary §4, L20 summary §5 | from docs (no archive device) |
| Repair and recovery (`hisrep`, `hisrecover`, `isfrename`, `hiswrn`) | L20 summary §4 | from docs |
| Reading history from classes and reports; ODBC | C40 summary §5; reports: skill `reporting` | verified for reports (`rql-interactive.md`); ODBC from docs |
| Reading history from classes and reports | C40 summary §5; reports: skill `reporting` | verified for reports (R1.03, `rql-interactive.md`) |
| Reading history from applications: ODBC, .NET API, RESTful API (`GetHistory`, `GetHistoryMultiTag`), pyTOOLS (`getItemHistory`) | C40 summary §5; ODBC and REST: skill `data-access` (L45 summary §1, §9); pyTOOLS: IM 36K10P40 §3.13 (no skill yet) | from docs |

View file

@ -1,8 +1,8 @@
---
task: Check storage groups, units and history clients with hisdbg; force a rollover
version: R1.03
source: IM 36K10L20-01EN §2.1, §3.1; IM 36K10C40-01EN §5.1; practiced on the test system and CI-Eng-Sample 2026-10-01
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10L20-01EN §2.1, §3.1 (4th Edition, Feb. 2026); IM 36K10C40-01EN §5.1 (5th Edition, Feb. 2026); practiced on the test system and CI-Eng-Sample 2026-10-01
status: verified on R1.03 (2026-10-01). R1.05 - the manual sections are unchanged and the hisdbg program is still installed (2026-10-08), but hisdbg was not run on the R1.05 test server (awaiting user verification, ISS-101; steps at the end)
---
# History checks (`hisdbg`)
@ -43,8 +43,21 @@ History files are in `%TLS_ALLUSERS_PATH%\tls\his\` (path shown by option 21):
- After a CI Server restart the unit sequence increases (the start script runs `hisrep`).
- Delete times = stop time + life time.
## Verified (2026-10-01)
## Verified (R1.03, 2026-10-01)
45 groups, 30 clients; `CIENG_EVENT` group 1,54, opt_type `2 2`, daily GMT rollover, life 7
days; units 1,1 (created at load) → 3,1 after restart → forced rollover closed 3,1 at 12:05:26
and opened 3,2. `CIENG_SCAN10S` 1,55 `1 1`; `CIENG_AGG` 1,56 `4 4` with extra `h0101ozzz…` files.
## R1.05: awaiting user verification (ISS-101)
On the R1.05 test server, in a normal command prompt (read-only options only):
```
hisdbg
```
Answer the node prompt with Enter (local), then `1` (statistics), `20` (all groups), `6`
(clients), and `-1` to exit. Do not choose any other number. Expected: the same menu as R1.03
(`-1` … `22`), the system groups with history types 21, 6, 1058, 36, 4 (no item group unless
the server has one), and clients such as ITH*, ALH, ADTSTO, LGHUMH, RPTMAN. Send the output.

View file

@ -1,8 +1,8 @@
---
task: Create item storage groups (Event/Item, Scan/Time, Aggregation), add items, read history
version: R1.03
source: IM 36K10C40-01EN §2.1, §3, App. 1; IM 36K10L20-01EN §2.1; practiced on CI-Eng-Sample 2026-10-01
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10C40-01EN §2.1, §3, §4.2, App. 1 (5th Edition, Feb. 2026); IM 36K10L20-01EN §2.1 (4th Edition, Feb. 2026); practiced on CI-Eng-Sample 2026-10-01
status: verified on R1.03 (2026-10-01). R1.05 - dataset definitions (HIS_GROUP_DF, ITEM_HIS_DF, ITEM_HISTORY) and setup files (ithsag.sup, itheix.sup, itheex.sup, ithstx.sup) identical to R1.03 (compared 2026-10-08 with snapshots of the R1.05 test server); not re-tested on R1.05 (shared server; a new group needs a CI Server restart, and the reduced sample load left out the history groups)
---
# Item storage groups (quick load)
@ -77,6 +77,10 @@ and 11:54 started storing only after the 12:00 restart). Ask the user to restart
```
`dssqld -e <out>.qli <filter>.qli -c`. Item name and a time range are required; times are local.
From other applications (C40 §4.2, from docs): ODBC and the RESTful API (`GetHistory`,
`GetHistoryMultiTag`; both also from remote PCs) in skill `data-access`; .NET API; pyTOOLS
(`dss.getItemHistory`, IM 36K10P40 §3.13, no skill yet; uses its own attribute and period
names). Reports: skill `reporting`.
`GROUP_NAME` picks one group (otherwise every group with the item answers). Columns:
`SAMPLE_TIME`, `SAMPLE_END_TIME`, `INTERVAL_TIME`, `ITEM_VALUE`, `QUALITY`, `INITIAL_VALUE`
(1 = value at unit start), `STATUS`, `INTERPOLATION`, `ATTRIBUTE`, `GROUP_NAME`, …
@ -105,7 +109,7 @@ Items first (`ITEM_HIS_DF` names), then give each group a `STOP_TIME` in the fut
delete: `HIS-E-GROUPHASUNT`, ISS-005). `remove.cmd` does this for all three sample groups.
Removing a group deletes its history.
## Verified (CI-Eng-Sample, 2026-10-01)
## Verified (R1.03, CI-Eng-Sample, 2026-10-01)
| Group | Type | Result |
|---|---|---|

View file

@ -1,14 +1,23 @@
---
name: item-engineering
description: >-
CI Server R1.03 sections, items and sub-items. Use when the user wants to create or change
CI Server R1.05 sections, items and sub-items. Use when the user wants to create or change
sections, items or sub-items (integrator, min-max, pulse, rate-of-change), set limits,
scale or value format, string item length, integrator time unit (integration granule),
PIT filter, block or unblock items or sections, or understand item status and option flags
(blk, off, uoff, ublk). Sources IM 36K10G10-01EN (Tutorial) and IM 36K10C10-01EN.
version: R1.05 (first written for R1.03)
---
# Item engineering (R1.03)
# Item engineering (R1.05)
Re-checked on R1.05 on 2026-10-08: the dataset definitions `SECTION_DF`, `ITEM_DF`,
`SUB_ITEM_DF`, `STATUS_DF`, the item form (`JhmiItemDia.xml`) and `itm.sup` (integration
granule `itm_int_secs` = 1) are identical to R1.03. Only `ITEM_VAL` changed: it has three new
fields `ENG_UNIT`, `SCALE_HIGH_LIMIT`, `SCALE_LOW_LIMIT` (by their names the item's
engineering units and scale limits next to the value; not in any manual, values not yet read,
ISS-126). The R1.05 manuals now give the string
item maximum the software uses (200 bytes, ISS-124).
Background: `knowledge/manuals/IM36K10G10-01EN.md` (chapter 3). Bulk creation of sections and
items uses quick load files: skill `system-management`, task `load-remove-records.md`.
@ -20,8 +29,10 @@ Rules:
| Task | File | Status |
|---|---|---|
| Sub-items (integrator, min-max) | `tasks/sub-items.md` | verified |
| Block / unblock an item; write to a blocked item | `tasks/block-item.md` | verified |
| String items: length limit (1–200) and truncation | `tasks/string-items.md` | verified |
| Item forms, limits, PIT filter, clamping, alarm tab, option bits, item statuses | `knowledge/manuals/IM36K10C10-01EN.md` §3–4 | from docs |
| Switch on alarming, ack type, delay/repeat, test and acknowledge alarms | skill `alarm-management`, task `item-alarming.md` | verified |
| Sections, items, sub-items (integrator, min-max) by quick load | `tasks/sub-items.md` | verified (R1.03; R1.05 test server 2026-10-08: sample sections, items and sub-items loaded with 0 errors, min-max followed the level) |
| Integrator time unit (`itm_int_secs`) | `tasks/sub-items.md` | verified (R1.03); R1.05 file identical, not re-tested (setup-file change on a shared server) |
| Block / unblock an item; write to a blocked item | `tasks/block-item.md` | verified (R1.03); R1.05 re-test awaits a decision (ISS-129) |
| String items: length limit (1–200) and truncation | `tasks/string-items.md` | verified (R1.03); R1.05 limit checked in the data dictionary, writes not re-tested (ISS-129) |
| Item forms, limits, PIT filter, clamping, alarm tab, option bits, item statuses | `knowledge/manuals/IM36K10C10-01EN.md` §3–4 | from docs (form definition identical on R1.05) |
| Switch on alarming, ack type, delay/repeat, test and acknowledge alarms | skill `alarm-management`, task `item-alarming.md` | verified (R1.03) |
| CENTUM VP virtual test and HIS-TSE connection (new Tutorial ch. 14–15) | `knowledge/manuals/IM36K10G10-01EN.md` | from docs; not tested (no CENTUM VP, ISS-127) |

View file

@ -1,8 +1,8 @@
---
task: Block / unblock an item and write to a blocked item
version: R1.03
source: IM 36K10G10-01EN §3.3, §3.4; practiced with CI-Eng-Sample 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10G10-01EN 5th ed. (Feb. 2026) §3.3, §3.4; IM 36K10C10-01EN 5th ed. (Feb. 2026) §3.4, §3.5; practiced with CI-Eng-Sample 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30); on R1.05 the BLOCKED fields of SECTION_DF, ITEM_DF and ITEM_VAL and the option bits are unchanged (checked 2026-10-08, read-only); blocking and writes to a blocked item not re-tested on the shared R1.05 test server, re-test awaits a decision (ISS-129)
---
# Block / unblock an item
@ -27,7 +27,7 @@ dssqld -m block.qli -l block.qlo
(Engineering Module: right-click the item or section › *Block/Unblock*.)
## Behaviour (verified on `CI-Eng-Sample.TANK1.INFLOW`)
## Behaviour (verified on R1.03 with `CI-Eng-Sample.TANK1.INFLOW`)
- Blocked: option flag `blk` appears in `itmval -g`; the status number is unchanged (stayed 9).
- `itmval -p -n <item> -v <value>` on a blocked item is **silently ignored** (exit code 0, no
@ -37,3 +37,7 @@ dssqld -m block.qli -l block.qlo
- After unblocking, `blk` is gone but `ublk` (option bit 16, *updated blocked*) remains: the
item was written by an application (`itmval -o`) while it was blocked (IM 36K10C10 §3.5,
ISS-001).
R1.05: not re-tested (blocking changes live behaviour on the shared test server). Before
relying on the silent-ignore behaviour on R1.05, block a test item, write it without and with
`-o`, and check the value and the `blk` / `ublk` flags as above.

View file

@ -1,15 +1,15 @@
---
task: String items: length limit and truncation
version: R1.03
source: IM 36K10C10-01EN §3.3.4; data dictionary (`dssqld -f`); practiced on CI-Eng-Sample 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10C10-01EN 5th ed. (Feb. 2026) §3.3.4; IM 36K10G10-01EN 5th ed. (Feb. 2026) §3.2.2; data dictionary (`dssqld -f`); practiced on CI-Eng-Sample 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30); on R1.05 the limit 1–200 / default 80 was checked in the data dictionary and ITEM_DF is identical (2026-10-08, read-only); string writes and truncation not re-tested on the shared R1.05 test server, re-test awaits a decision (ISS-129)
---
# String items
A string item has a maximum length set when it is created (`ITEM_DF.STRING_LENGTH`).
| Rule | Value (verified) |
| Rule | Value (verified R1.03) |
|---|---|
| Allowed `STRING_LENGTH` | 1–200 (default 80); 201 is rejected with `DSS-E-VAL_RANGE` |
| Audit trailing (`AUDIT_INFO`) | no effect on the limit (200 loads with audit on) |
@ -17,8 +17,10 @@ A string item has a maximum length set when it is created (`ITEM_DF.STRING_LENGT
| Value that fits | stored, status 9 NORMAL |
| Value too long | cut to length − 1, status **12 OVERRANGED**, no error from `itmval` |
The manuals disagree (Engineering Module: max 100; Tutorial: 168); the installed software
allows 200 (`knowledge/issues.md` ISS-019). Multi-byte characters take more than one byte.
The R1.03 manuals disagreed (Engineering Module: max 100; Tutorial: 168; ISS-019). The R1.05
manuals (changed in R1.04, not listed in the revision tables) give default 80 and maximum
200 **bytes**, matching the software (ISS-124). Multi-byte characters take more than one byte.
That a value holds only length − 1 characters is not in any manual.
Quick load (the section must exist):

View file

@ -1,8 +1,8 @@
---
task: Create sub-items (integrator, min-max)
version: R1.03
source: IM 36K10G10-01EN §3.1.5, §3.2.3; IM 36K10C10-01EN §3.2; practiced with CI-Eng-Sample 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10G10-01EN 5th ed. (Feb. 2026) §3.1.5, §3.2.3; IM 36K10C10-01EN 5th ed. (Feb. 2026) §3.2; practiced with CI-Eng-Sample 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30); verified (R1.05 test server, 2026-10-08) for loading — the reduced CI-Eng-Sample load created sections, items and both sub-items with 0 errors and LEVEL.MAX followed the level; SUB_ITEM_DF and itm.sup identical to R1.03; integrator rate and the itm_int_secs change not re-tested on R1.05
---
# Sub-items
@ -23,19 +23,21 @@ NAME,DESCRIPTION,SUB_TYPE,TIME_UNIT,MIN_MAX
```
Load with `dssqld -i <file>.qli -l <file>.qlo`; remove with a `NAME`-only file and `dssqld -r`
(before removing the main item).
(before removing the main item). R1.05 accepts these files unchanged (`@VERSION 1.03.00`).
## Behaviour (verified)
## Behaviour
- **Integrator** adds *value × time unit*: with the main item at 1 it grows by 1 per second
by default. The time unit is the **integration granule** `itm_int_secs` in `itm.sup`
(Setup File Editor label "Integration granule, sec."), **system-wide** for all integrators,
installed value 1. Setting 60 and restarting CI Server made it grow by 1 per minute
(verified 2026-09-30, ISS-010). Changing it is a setup-file change (skill `portal-setup`,
task `change-setup-file.md`); existing integrator values are not converted, so reset or
note them. `TIME_UNIT` on the sub-item has no effect on integrators.
- **Integrator** (verified R1.03) adds *value × time unit*: with the main item at 1 it grows by
1 per second by default. The time unit is the **integration granule** `itm_int_secs` in
`itm.sup` (Setup File Editor label "Integration granule, sec."), **system-wide** for all
integrators, installed value 1 (same file on R1.05). Setting 60 and restarting CI Server
made it grow by 1 per minute (R1.03, 2026-09-30, ISS-010). Changing it is a setup-file change
(skill `portal-setup`, task `change-setup-file.md`); existing integrator values are not
converted, so reset or note them. `TIME_UNIT` on the sub-item has no effect on integrators.
- **Min-Max** with `MIN_MAX` = `Maximum` (or `Minimum`) keeps the highest (lowest) value
written to the main item: writing 30, 70, 50 gave 70.
- `TIME_UNIT` (Second, Minute, Hour, Day) belongs to Rate-of-Change (from docs, not practiced).
written to the main item: writing 30, 70, 50 gave 70 (R1.03). On R1.05 `TANK1.LEVEL.MAX`
followed the rising level (R1.05 test server, 2026-10-08).
- `TIME_UNIT` (Second, Minute, Hour, Day; default Day) belongs to Rate-of-Change (from docs,
not practiced).
Example files: `examples/CI-Eng-Sample/02b_sub_item_df.qli`, `90b_remove_sub_item_df.qli`.

View file

@ -1,17 +1,24 @@
---
name: portal-setup
description: >-
CI Server R1.03 CI Portal, CI View and setup files. Use when the user wants to read, check
CI Server R1.05 CI Portal, CI View and setup files. Use when the user wants to read, check
or change a setup file (.sup) or use the Setup File Editor, write setup file metadata
(!KEYWORD, !TAB, !ARG), choose between CI Portal and CI View, set up a CI Portal node
(dur.sup host node, copying displays), check the Remote Connect web page or web ports
(8080/8443), or tune the operator interface, Engineering Module or Edit Module
(dur.sup host node, gateway core, copying displays), check the Remote Connect web page or
web ports (8080/8443, HTTP to HTTPS redirect, hostname whitelisting, security headers and
CSP), or tune the operator interface, Engineering Module or Edit Module
(jwuiisg.sup, jhmiset.sup, jwuiged.sup) and the WFL processes (wflidi, wfladi, wflcdi,
wflgdi, wfla_display), e.g. display cache time, flow control, alarm overview event types.
Sources IM 36K10R10-01EN and IM 36K10R20-01EN.
---
# CI Portal and setup files (R1.03)
# CI Portal and setup files (R1.05)
Re-checked on R1.05 on 2026-10-08 (read-only, single-node test server). The manuals changed
only in R10 §3.1 (install from an ISO file) and §3.3 (link to BUS Service); the Setup File
Editor and the WFL setup files are unchanged. `jwuiisg.sup` has new keywords, a new
*Access Control* tab and stricter default security headers (R10 summary §4.3, ISS-110 to
ISS-112); `dur.sup` has a new *Gateway Core* switch (ISS-109).
Background: `knowledge/manuals/IM36K10R10-01EN.md` (CI Portal Setup: processes, CI Portal vs
CI View, every user-interface setup file and keyword) and
@ -29,11 +36,12 @@ Rules:
| Task | File | Status |
|---|---|---|
| Read a setup file: active settings and keyword help | `tasks/read-setup-file.md` | verified (read-only) |
| Change a setup file safely (back up, edit, restart, verify, restore) | `tasks/change-setup-file.md` | verified |
| What the Setup File Editor shows for a file (tabs, fields, Changed status) | `tasks/read-setup-file.md`, R20 summary §2 | verified (compared in the GUI) |
| Login method / login control (moved to `dssana.sup`) | not covered yet (ISS-017) | — |
| Check web access for CI View (ports, Remote Connect page, `DEPLOY` folder) | `tasks/check-web-access.md` | verified (read-only) |
| Choose CI Portal or CI View; set up a separate CI Portal node | R10 summary §2–3 | from docs (needs a second node) |
| Read a setup file: active settings and keyword help | `tasks/read-setup-file.md` | verified (R1.03; re-run read-only on R1.05 2026-10-08) |
| Change a setup file safely (back up, edit, restart, verify, restore) | `tasks/change-setup-file.md` | verified (R1.03); R1.05 not tested (shared server: no setup-file change or restart) |
| What the Setup File Editor shows for a file (tabs, fields, Changed status) | `tasks/read-setup-file.md`, R20 summary §2 | verified in the GUI (R1.03); R1.05 awaiting user verification (ISS-113) |
| Login method / login control (moved to `dssana.sup`) | skill `authorization` (ISS-017) | — |
| Check web access for CI View (ports, Remote Connect page, security headers, `DEPLOY` folder) | `tasks/check-web-access.md` | verified (R1.03; R1.05 2026-10-08, read-only) |
| Choose CI Portal or CI View; set up a separate CI Portal node | R10 summary §2–3 | from docs; not tested (R1.03 and R1.05 test systems are single nodes) |
| Gateway core (`dur.sup` *Gateway Core*; no operator interface) | R10 summary §3 | from docs; keyword checked in the installed file (R1.05) |
| Operator interface does not show a changed display/item (cache) | R10 summary §1 | from docs |
| Write metadata for a custom setup file | R20 summary §3 | from docs |
| Write metadata for a custom setup file | R20 summary §3 | from docs; keyword set checked identical R1.03/R1.05 |

View file

@ -1,8 +1,8 @@
---
task: Change a setup file safely
version: R1.03
source: IM 36K10R20-01EN §1–2; IM 36K10R10-01EN §4
status: verified on the test system 2026-09-30 (jwuiisg.sup HTTP port 8080 → 8081 and back; wfla_display.sup queue size via the editor and Reset Field)
version: R1.05 (first written for R1.03)
source: IM 36K10R20-01EN §1–2 (4th Edition, Feb. 2026); IM 36K10R10-01EN §4 (5th Edition, Feb. 2026)
status: verified on R1.03 2026-09-30 (jwuiisg.sup HTTP port 8080 → 8081 and back; wfla_display.sup queue size via the editor and Reset Field). R1.05 not tested (the R1.05 test server is shared: no setup-file change or restart); the editor launcher and metadata keywords are unchanged (checked 2026-10-08), editor GUI awaiting user verification (ISS-113)
---
# Change a setup file safely
@ -28,9 +28,9 @@ administrator rights.
Either way works:
- **Setup File Editor** (Start menu *CI Server → Setup File Editor*): double-click the file,
change the field on its tab and click *OK*: **the file is written at once** (R1.03), so
back up before clicking OK. The changed field's label turns blue and the file's Status
becomes *Changed* (differs from its `!DEFAULT` block). Toggle Read Only must be off.
change the field on its tab and click *OK*: **the file is written at once** (R1.03; R1.05
not yet re-checked, ISS-113), so back up before clicking OK. The changed field's label
turns blue and the file's Status becomes *Changed* (differs from its `!DEFAULT` block). Toggle Read Only must be off.
Keywords placed before the file's first `!TAB` line are on the *General* tab. To go back
to the default: cursor in the field, *Reset Field*, *OK*.
- **Text edit**: change only the active line `KEYWORD = value`; keep the `!` lines, the
@ -75,3 +75,11 @@ the backup (`Get-FileHash`) to confirm the file is exactly as before.
restarted in between, so never applied.
- `Stop-Service`/`Start-Service StartCIServer` from a non-elevated shell fails with
"Cannot open StartCIServer service".
## R1.05
Not re-tested (shared test server). Same procedure expected: the editor is launched the same
way (`fsuedit.cmd` only adds `tls\exe\lib\*` to the class path) and the installed setup
files use the same metadata keywords and argument kinds as R1.03. On an upgraded system
the automatic configuration merge (skill `installation-security`) may already have changed
`.sup` files: compare with the `!DEFAULT` block before editing.

View file

@ -1,8 +1,8 @@
---
task: Check web access for CI View (read-only)
version: R1.03
source: IM 36K10R10-01EN §2.2, §3.4, §4.3; practiced on the test system 2026-09-30
status: verified (read-only)
version: R1.05 (first written for R1.03)
source: IM 36K10R10-01EN §2.2, §3.4, §4.3 (5th Edition, Feb. 2026); installed jwuiisg.sup (R1.05); practiced on the test system 2026-09-30
status: verified (read-only) on R1.03 (2026-09-30) and on the R1.05 test server (2026-10-08); access from another PC through the R1.05 Access Control settings not tested
---
# Check web access for CI View
@ -36,7 +36,23 @@ ports were changed.
Expect `200`. This is the page CI View users open as `http://<node>:8080/` to download
Remote Connect; Remote Connect then uses HTTPS on 8443. From another PC the firewall must
allow both ports (skill `installation-security`).
allow both ports (skill `installation-security`). With `HTTP_TO_HTTPS_REDIRECT = YES`
`Invoke-WebRequest` follows the redirect to HTTPS and may fail on the server certificate;
read the HTTP status alone with `curl.exe -s -o NUL -w "%{http_code}" http://localhost:8080/`
(not tested with YES). If the site has narrowed `HOSTNAME_WHITELISTING`, a CI View must use
one of the listed names (opening the page by IP address may then fail; not tested).
On R1.05 the page also returns the default security headers from the *Security* tab of
`jwuiisg.sup` (R10 summary §4.3, ISS-111). To see them (`curl.exe` is part of Windows):
```powershell
curl.exe -k -s -I https://localhost:8443/
```
Expect `X-Content-Type-Options`, `X-Frame-Options`, `Strict-Transport-Security`,
`X-XSS-Protection`, `Cache-Control: no-store`, `Referrer-Policy`,
`X-Permitted-Cross-Domain-Policies` and a `Content-Security-Policy` line. The R1.03 file
set only `X-Frame-Options` and no CSP.
## 4. Displays deployed
@ -52,3 +68,11 @@ Get-ChildItem -Name (Join-Path $env:TLS_WAP_PATH 'cfg\operatorInterfaces\DEPLOY'
## Test system (2026-09-30)
8080 and 8443 listening (one process), page returned 200, the six `DEPLOY` folders present.
## R1.05 test server (2026-10-08, read-only)
Steps 1–4 as above: 8080 and 8443 listening (one `javaw.exe` running as the CI Server
service account), `http://localhost:8080/` and `https://localhost:8443/` both 200, the page
offers `CI-rc-setup.exe` (Remote Connect), the six `DEPLOY` folders present, and the seven
headers plus CSP listed above on both ports. Install paths differ from R1.03 (here
`C:\Yokogawa\CIServer`), so always use the `TLS_*` variables.

View file

@ -1,8 +1,8 @@
---
task: Read a setup file (active settings and keyword help)
version: R1.03
source: IM 36K10R20-01EN §1, §3; IM 36K10R10-01EN §4; practiced on the test system 2026-09-30
status: verified (read-only)
version: R1.05 (first written for R1.03)
source: IM 36K10R20-01EN §1, §3 (4th Edition, Feb. 2026); IM 36K10R10-01EN §4 (5th Edition, Feb. 2026); practiced on the test system 2026-09-30
status: verified (read-only) on R1.03 (2026-09-30, also compared in the Setup File Editor GUI); commands re-run read-only on the R1.05 test server 2026-10-08 with the same results; R1.05 editor GUI awaiting user verification (ISS-113)
---
# Read a setup file
@ -11,8 +11,10 @@ Shows what the Setup File Editor would show, without opening it. Nothing is chan
## Where
`%TLS_ROOT_PATH%\tls\sup\<name>.sup` (e.g. `C:\Program Files (x86)\Yokogawa\CIServer\tls\sup`).
The file list with descriptions is what the Setup File Editor shows on start.
`%TLS_ROOT_PATH%\tls\sup\<name>.sup` (R1.03 test system:
`C:\Program Files (x86)\Yokogawa\CIServer\tls\sup`; R1.05 test server:
`C:\Yokogawa\CIServer\tls\sup`; about 200 files on both). The file list with descriptions is
what the Setup File Editor shows on start.
## Active settings
@ -25,7 +27,7 @@ Select-String -Path $f -Pattern '^\s*[^!\s]'
Example result (`wflidi.sup`, installed defaults): `FLOW_CONTROL = 30`, `TIMER = 20`,
`SCAN_TIME = 0`, `RETRY_COUNT = 3`, `QUEUE_BUSY_LEVEL = 10`, `DUR_QUEUE_SIZE = 500`,
`NODE = -1, 1000, 0.1, 30`, `LOCK_TIMEOUT = 60`.
`NODE = -1, 1000, 0.1, 30`, `LOCK_TIMEOUT = 60` (same file and values on R1.05).
A keyword that has no active line uses the program's built-in default (see its help).
@ -60,3 +62,8 @@ Keywords before the first `!TAB` appear on a *General* tab in the editor (checke
`wfla_display.sup` (the manual says `wfla_displays.sup`), and some installed values differ
from the manual's defaults (see `knowledge/issues.md` ISS-012 to ISS-015).
- Some files have no `!DESCRIPTION`.
- R1.05 (2026-10-08): `jwuiisg.sup` and `dur.sup` gained keywords (R10 summary §3–4,
ISS-109 to ISS-112); `wfl*.sup`, `jwuiged.sup` and `jwuiaan.sup` are identical to R1.03,
`jhmiset.sup` differs only in spacing. Two new `jwuiisg.sup` blocks end with
`!ENDKEYWORD!` instead of `!ENDKEYWORD`; how the editor shows them is not yet checked
(ISS-112).

View file

@ -1,40 +1,51 @@
---
name: system-management
description: >-
CI Server R1.03 system management and command-line tools. Use when the user wants
CI Server R1.05 system management and command-line tools. Use when the user wants
to stop CI Server, export dataset contents, load or remove records with quick load files
(dssqld, .qli), create sections or items in bulk, read or write item values or limits (itmval), load or import history,
check database consistency (dsschk), monitor processes/CPU/disk/network, back up or migrate
a system, tune or debug CI Server, or plan a system layout (standalone, separate portal, HAC,
host-to-host, enterprise) or time synchronization, check whether a CI Server process is
host-to-host, enterprise, gateway core) or time synchronization, check whether a CI Server process is
running (durwfp), stop a single process (durstp), read the message log (umhlog), or check
BUS Service queues (adaptive queues, dur.sup), or work with DSS / Data Set Services (dsssda,
dssevt, dssman, dss.sup, quick load macros and includes, memo fields from a file, dssutl,
DSS compiler dss, .dss files, data dictionary tlsdic_dss.dic). Sources IM 36K10J10-01EN,
dssevt, dssman, dss.sup, DSSSDARST / DSSSDAPY, quick load macros and includes, memo fields from a file, dssutl,
DSS compiler dss, .dss files, data dictionary tlsdic_dss.dic, dss_*.tmp clean-up). Sources IM 36K10J10-01EN,
IM 36K10L30-01EN, IM 36K10L50-01EN, IM 36K10P30-01EN.
---
# System management (R1.03)
# System management (R1.05)
Re-checked on R1.05 on 2026-10-08 (read-only, on the R1.05 test server): all tools used here
are installed and behave as on R1.03; `dssqld` help text, the monitoring setup files
(`int*.sup`), `itm.sup` and `durm_1_udp.sup` are unchanged. Changed on R1.05: two extra DSS
data access servers (`DSSSDARST` for the RESTful API, `DSSSDAPY` for pyTOOLS), larger DSS queues,
a *Gateway Core* switch in `dur.sup`, new datasets, and start/stop scripts that call
`?*_<script name>.cmd` extension scripts (details in the task files).
Background for this area: `knowledge/manuals/IM36K10J10-01EN.md`. Known issues:
`knowledge/manuals/IM36K01A50-01EN.md`.
Rules for every task:
- Run the `system-check` skill first (version must be R1.03).
- Run the `system-check` skill first (this skill is written for R1.05; R1.03 results are kept
and marked).
- CI Server tools live in `%TLS_ROOT_PATH%\tls\exe` (on `PATH`). Run them in a scratch folder,
because they write output and listing files to the current directory.
because they write output and listing files to the current directory. Read the paths from
`set TLS` (on the R1.05 test server program and data are both under `C:\Yokogawa\CIServer`).
- Starting/stopping CI Server and anything that writes to the system needs an elevated
(administrator) session and, in this conversation, the user's chosen way of working
(direct vs prepare only).
- Exporting `OBJECT_DF` leaves 0-byte `dss_*.tmp` files in `%TLS_LST_PATH%` (task
`export-dataset.md`); clean them up after a test session.
| Task | File | Status |
|---|---|---|
| Export dataset contents (whole or filtered) / dump the data dictionary | `tasks/export-dataset.md` | verified |
| Load or remove records with quick load files (`.qli`), e.g. sections and items | `tasks/load-remove-records.md` | verified |
| Read / write item values and read limits | `tasks/read-write-item.md` | verified |
| Load history from CSV (`ithloahis`) and read history back | `tasks/load-history.md` | verified |
| Monitor CPU, disk, network, processes; run a command on an item change | `tasks/monitoring-processes.md` | verified |
| Database consistency check (`dsschk`) | `tasks/consistency-check.md` | verified (check only) |
| Tuning checks: limits and health snapshots | `tasks/tuning-checks.md` | verified (read-only) |
| BUS Service utilities: is a process attached (`durwfp`), stop one process (`durstp`), message tools, adaptive queues | `tasks/bus-utilities.md` | verified (`durwfp`, read-only checks); message tools fail (ISS-030) |
| DSS checks and tools: DSS processes, `dss.sup`, quick load macros/includes/memo files, `dssutl`, DSS compiler syntax check | `tasks/dss-tools.md` | verified |
| Export dataset contents (whole or filtered) / dump the data dictionary | `tasks/export-dataset.md` | verified (R1.03; re-tested on R1.05 2026-10-08) |
| Load or remove records with quick load files (`.qli`), e.g. sections and items | `tasks/load-remove-records.md` | verified (R1.03; load/remove used on R1.05 in the CI-Eng-Sample test 2026-10-08) |
| Read / write item values and read limits | `tasks/read-write-item.md` | verified (R1.03; `-g`/`-p` used on R1.05 in the CI-Eng-Sample test, read re-checked 2026-10-08) |
| Load history from CSV (`ithloahis`) and read history back | `tasks/load-history.md` | verified (R1.03); on R1.05 awaiting user verification (writes history) |
| Monitor CPU, disk, network, processes; run a command on an item change | `tasks/monitoring-processes.md` | verified (R1.03); R1.05 setup files identical, not re-run |
| Database consistency check (`dsschk`) | `tasks/consistency-check.md` | verified (check only, R1.03 and R1.05) |
| Tuning checks: limits and health snapshots | `tasks/tuning-checks.md` | verified (read-only, R1.03 and R1.05) |
| BUS Service utilities: is a process attached (`durwfp`), stop one process (`durstp`), message tools, adaptive queues | `tasks/bus-utilities.md` | verified (`durwfp`, `umhman`, read-only checks on R1.03 and R1.05); `umhmsg`/`umhtestprog` R1.03 only (ISS-030) |
| DSS checks and tools: DSS processes, `dss.sup`, quick load macros/includes/memo files, `dssutl`, DSS compiler syntax check | `tasks/dss-tools.md` | verified (R1.03); processes, `dss.sup` and compiler check re-tested on R1.05 |

View file

@ -1,8 +1,8 @@
---
task: BUS Service utilities - process checks, stopping single processes, message tools, adaptive queues
version: R1.03
source: IM 36K10L30-01EN §1, §5, §6, §10, §14; checked on the test system 2026-10-01
status: verified (durwfp, setup file checks, umhman, umhmsg, umhtestprog)
version: R1.05 (first written for R1.03)
source: IM 36K10L30-01EN §1, §5, §6, §10, §14 (4th ed., Feb. 2026); IM 36K10J10-01EN §3.2.6 (5th ed.); checked on the test system 2026-10-01 (R1.03)
status: verified on R1.03 (durwfp, setup file checks, umhman, umhmsg, umhtestprog); re-checked read-only on the R1.05 test server 2026-10-08 (durwfp exit codes, umhman, dur.sup, durm_1_udp.sup); umhmsg / umhtestprog not run on R1.05 (they write to the shared message log); durstp not run
---
# BUS Service utilities
@ -13,7 +13,11 @@ Background: `knowledge/manuals/IM36K10L30-01EN.md`.
`durwfp -p <DUR name> -t 0` → exit code **0** = attached (running), **1** = not. Without
`-t 0` it waits up to 60 s for the process to appear; `-e` waits for it to go away. Verified:
`umh`, `opcman`, `durm_1` → 0; unknown name → 1. Bash: `durwfp -p opcman -t 0; echo $?`.
`umh`, `opcman`, `durm_1` → 0; unknown name → 1 (R1.03 and R1.05; on R1.05 also `dssman`,
`dsssda00`, `dsssdarst`, `dsssdapy`, `dssevt00` → 0). Bash: `durwfp -p opcman -t 0; echo $?`;
PowerShell: `durwfp -p opcman -t 0; $LASTEXITCODE`. The manual (L30 §10, reworded in the R1.04
edition) calls the result "1 if attached, else 0": that is the opposite of the exit code a
script sees, so test the exit code as above (ISS-120).
DUR names are those given with `-n` (e.g. `OPXCIENG`, `EQPCIENG`, `opxuas`).
## Stop or kill one process (only with the user's approval)
@ -28,10 +32,9 @@ then kills after 10 s. `*` wildcards stop many processes (`-p alm\*`). Never `du
- Message log: `%TLS_LOG_PATH%\umhlog.log` (`--> From: <PROCESS> (<node>) on <time>`, then
`FAC-S-CODE, text` lines). `UMH Message Text Error: Message number <hex> (…)` = the text
could not be formatted (e.g. `%` in a PRINT text, ISS-025).
- `umhman` (hex code → text): answers can be piped, e.g. `printf '8010008
' | umhman` →
`DUR-W-NO_MSG_FND, No selected message found`; parameters in the text stay empty.
- `umhman` (hex code → text): answers can be piped, e.g. `printf '8010008\n\n' | umhman` →
`DUR-W-NO_MSG_FND, No selected message found`; parameters in the text stay empty. Same
answer on R1.05 (piped from PowerShell, 2026-10-08).
- `umhmsg <hex> [<var> <value>]…` logs that message from a script: it prints nothing; the
message appears in `umhlog.log` from process `UMHMSG_<pid>`.
- `umhtestprog` runs its self-test (`TESTING UMH MESSAGES`, `TESTING ILLEGAL CODES`).
@ -42,13 +45,23 @@ then kills after 10 s. `*` wildcards stop many processes (`-p alm\*`). Never `du
`tls\sup\dur.sup`, tab *Adaptive queues*: `ADAPTIVE_QUEUE_SETS = <process>, <percent>`
(wildcard `*` allowed, max 40 %). Installed: `ALM` 10, `ALH` 10, `WFLGDI` 20, `WFLCDI`,
`WFLIDI`, `WFLADI`, `ITHEIX`, `ITHSER` 2, `DSSSDA*`, `DSSEVT*`, `OPCEXE` 1. Add entries for
`WFLIDI`, `WFLADI`, `ITHEIX`, `ITHSER` 2, `DSSSDA*`, `DSSEVT*`, `OPCEXE` 1; R1.05 adds
`ADTSTO` 1 (audit storage, added "for version upgrade" per the file's change log; ISS-122). Add entries for
new busy processes (extra executors, equipment managers, custom processes); `OPCEXE` without
`*` may not cover the installed `OPCEXE1`…`4` (ISS-026). Changing `dur.sup` needs admin and a
`*` may not cover the installed `OPCEXE1`…`4` (ISS-026; unchanged on R1.05). Changing `dur.sup` needs admin and a
restart (skill `portal-setup`). Queue use per process: health snapshots
(`tuning-checks.md`) or the performance monitor (*Minimum/Maximum/Current KB*, high queue
100 % = the queue had to grow → raise its size).
## Gateway Core switch (R1.05)
R1.05 `dur.sup` has a new keyword `GATEWAY_CORE` (*General* tab, *Gateway Core* check box;
installed `gateway_core = No`). Tick it only on a CI Core with a **gateway licence**: such a
node collects and passes on data but has no operator interface, also not for Portals and CI View
clients connected to it. If the switch and the licence disagree, a message goes to the
message log (IM 36K10J10 §3.2.6). From docs and the installed file; not tested (no gateway
licence; changing `dur.sup` needs admin and a restart; ISS-116).
## Node links (MDUR)
`tls\sup\durm_<line>_udp.sup` and `tls\com\durm_start.cmd`; single-node installs still run

View file

@ -1,8 +1,8 @@
---
task: Database consistency check (dsschk)
version: R1.03
source: IM 36K10J10-01EN §4.1.1; practiced on the test system 2026-09-30
status: verified (check only)
version: R1.05 (first written for R1.03)
source: IM 36K10J10-01EN §4.1.1 (5th ed., Feb. 2026); IM 36K10L50-01EN §5; practiced on the test system 2026-09-30 (R1.03)
status: verified (check only) on R1.03 (2026-09-30) and on the R1.05 test server (2026-10-08, `dsschk -e -v`, usage text unchanged); repair not practiced
---
# Database consistency check (dsschk)
@ -20,12 +20,13 @@ dsschk -e -v > dsschk.out
definitions copied by ITEM and EQUIPMENT Services). This is the useful check on a
**single-node** system.
- `-v` verbose. Output lists `DSSP-I-CDS_START` / `DSSP-I-CDS_END` per dataset (228 on the
test system) and any problems; the same messages go to `%TLS_LOG_PATH%\umhlog.log`.
R1.03 test system, 231 on the R1.05 test server) and any problems; the same messages go to `%TLS_LOG_PATH%\umhlog.log`.
- `-d <dataset>` checks one dataset; `-n <node>` one node.
- Plain `dsschk` (no `-e`) only compares copies **between nodes**, so on a single node it
prints nothing.
Look for warnings or errors: search the output for `-W-`, `-E-` or `-F-`. None = consistent.
Look for warnings or errors: search the output for `-W-`, `-E-` or `-F-`. None = consistent
(R1.05 test server, 2026-10-08: none).
## Repair (not yet practiced)

View file

@ -1,8 +1,8 @@
---
task: DSS (Data Set Services) checks and tools - processes, dss.sup, quick load directives, dssutl, DSS compiler syntax check
version: R1.03
source: IM 36K10L50-01EN §1, §2.1, §2.2, §3, §4; IM 36K10P30-01EN §2, §3; practiced on the test system 2026-10-01
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10L50-01EN §1, §2.1, §2.2, §3, §4 (5th ed., Feb. 2026); IM 36K10P30-01EN §2, §3 (4th ed., Feb. 2026); practiced on the test system 2026-10-01 (R1.03)
status: verified on R1.03 (2026-10-01, all sections); on the R1.05 test server re-checked read-only 2026-10-08 - DSS processes and start script, `dss.sup`, `dssqld` directives (`@SELECT`) and help text, DSS compiler syntax check; macro/include loads, memo files and `dssutl` not re-run on R1.05
---
# DSS tools
@ -13,15 +13,29 @@ Everything here is read-only except where marked. Background:
## 1. DSS processes and `dss.sup`
`tasklist /FI "IMAGENAME eq dss*"` — expect `dsswth`, `dssana`, `dssanc`, `dssadb`, `dsslck`,
`dssman`, `dsschk` (server) and several `dsssda` / `dssevt` (10 and 7 on a default R1.03 node).
`durwfp -p dssman -t 0` tests one by its BUS Service name (`DSSSDA00`…, `DSSSDAOPC00`…,
`DSSEVT00`…). Started by `tls\com\database_start.cmd`; the number of general `DSSSDA` comes from
`%TLS_MAX_SDA_ID%` (default 3 → `DSSSDA00`–`03`).
`dssman`, `dsschk` (server) and several `dsssda` / `dssevt` (10 and 7 on a default R1.03 node,
**12 and 7 on R1.05**). `durwfp -p dssman -t 0` tests one by its BUS Service name (`DSSSDA00`…,
`DSSSDAOPC00`…, `DSSEVT00`…). Started by `tls\com\database_start.cmd`.
- R1.03: the number of general `DSSSDA` comes from `%TLS_MAX_SDA_ID%` (default 3 →
`DSSSDA00`–`03`).
- R1.05: the script starts `DSSSDA00`–`03` as fixed lines (`%TLS_MAX_SDA_ID%` is no longer
used) and two new dedicated servers, `DSSSDARST` (RESTful API server `JRSTSRV`) and
`DSSSDAPY` (pyTOOLS clients `PYDSS*`); it waits for `DSSSDARST` with `durwfp`. On the first
start after an upgrade it runs the R1.04/R1.05 dataset upgrade programs
(`opcaec_station_u0104`, `opcuac_station_u0104`, `opcuac_method_u0104`, `dss_ath_grp_u0104`,
`iec61850_*_u0104` / `_u0105`, `iec61850_rcb_u0105`) and keeps `database.new` if one fails, so
the upgrade is tried again at the next start (verified in the installed script 2026-10-08,
ISS-117).
`%TLS_ROOT_PATH%\tls\sup\dss.sup` (Setup File Editor or text): queue sizes, heartbeats, `FLOWC`,
and `DSSSDA_SRV` / `DSSEVT_SRV` lines `<node|-1>, "<client process>", "<server process>"` that tie
clients to server instances (`*` = all others). Changing it needs admin rights and a restart.
R1.05 `dss.sup` (compared with R1.03, 2026-10-08): `DSSSDA_QUESZ` 252 → **1000**, new
`DSSMAN_QUESZ = 1000`, and two new routing lines `DSSSDA_SRV = -1, "JRSTSRV", "DSSSDARST"` and
`DSSSDA_SRV = -1, "PYDSS*", "DSSSDAPY"`. The manual (L50 §2.2) does not mention these.
## 2. Quick load directives (`dssqld`)
Besides `@FIELDS`, `@SELECT`, `@LANGUAGE` and `@<DATASET>` (tasks `export-dataset.md`,
@ -73,9 +87,19 @@ Without `-d` the compiler only checks; results are in `tlsdic_dss.lst` (`<file>
<message>` and `<n> errors found.`). **Never run `dss -d` without the user's approval**: it rewrites
`%TLS_DAT_PATH%\tlsdic_dss.dic` (host node only) and needs a restart.
## Verified (2026-10-01)
## Verified (R1.03, 2026-10-01)
17 DSS processes as listed; installed `dss.sup` routing read; macro + include load of a report;
memo from file (relative fails, 125-character path fails, short absolute path works); `dssutl`
read of `REPORT_DF` record `CIENG_TANK1`; compiler check of all 253 installed files (0 errors,
dictionary unchanged) and of a test file with a missing `>` (1 error, line/column shown).
## Verified (R1.05 test server, 2026-10-08, read-only)
12 `dsssda` and 7 `dssevt` processes; `durwfp` → 0 for `DSSMAN`, `DSSSDA00`, `DSSSDA03`,
`DSSSDAOPC00`, `DSSSDARST`, `DSSSDAPY`, `DSSEVT00`; `dss.sup` and `database_start.cmd` as above;
`@SELECT` filter export of `STATUS_DF` (1 record); compiler check `dss -l -w` of a copy of all
256 installed `.dss` files (254 dataset files plus `dss_global.dss` and `opcuap_global.dss`): no
error lines in `tlsdic_dss.lst`, `tlsdic_dss.dic` date unchanged. New `.dss` files since R1.03:
`alarm_attribute_temp_df`, `api_keys_df`, `iec61850_rcb_df`, `uaserver_mapper_df`,
`opcuac_method_call2_df` (replaces `opcuac_method_call_in_df` / `_out_df`).

View file

@ -1,8 +1,8 @@
---
task: Export dataset contents with dssqld
version: R1.03
source: IM 36K10J10-01EN §2.9.2, §5.6; practiced on the test system 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10J10-01EN §2.9.2, §5.6; IM 36K10L50-01EN §3 (5th ed., Feb. 2026); practiced on the test system 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30); re-tested on R1.05 2026-10-08 (read-only, R1.05 test server) - whole and filtered exports, `-f`, `dssqld -h` text (identical to R1.03), long output path, `dss_*.tmp` leftovers
---
# Export dataset contents (dssqld)
@ -19,7 +19,8 @@ dssqld -e <output>.qli -d <DATASET> -c -l <listing>.lst
- `-c` comma-separated output: first line is the field names, then one quoted row per record.
- `-l` writes the result summary to a listing file.
- Output path **≤ 79 characters**: a longer `-e` path gives no error, but the file does not
appear under that name (verified, ISS-020).
appear under that name (verified, ISS-020). On R1.05 the file was written under a shortened
name: the path cut after 79 characters, then `.qli` (verified 2026-10-08).
- `-a` also exports hidden fields.
The console (and listing) end with a summary; check `Errors` is 0:
@ -39,7 +40,7 @@ Dumps the data dictionary: every dataset with its description and fields (name,
description). Search it to find which dataset holds what, e.g. the version fields are in
`LOCAL_NODE_DF`, `HOST_NODE_DF` and `ENTERPRISE_SERVER_DF`.
## Useful datasets seen on R1.03
## Useful datasets (R1.03, still present on R1.05)
| Dataset | Contents |
|---|---|
@ -47,6 +48,13 @@ description). Search it to find which dataset holds what, e.g. the version field
| `ITEM_DF` | Item definitions: full name, section path, description, limits, format, type, station, I/O address |
| `STATUS_DF` | Item status definitions: name, number, alarm state, priority, colour, mnemonic (e.g. 9 = NORMAL) |
On R1.05 `LOCAL_NODE_DF` shows `VERSION_MAJOR` 1, `VERSION_MINOR` 5. New datasets since R1.03
(installed `tls\src`, verified 2026-10-08): `API_KEYS_DF` (REST API keys per user),
`UASERVER_MAPPER_DF` (OPC UA Information Model Mapper), `IEC61850_RCB_DF` (IEC 61850 report
control blocks), `OPCUAC_METHOD_CALL2_DF` (replaces `OPCUAC_METHOD_CALL_IN_DF` and
`…_CALL_OUT_DF`), `ALARM_ATTRIBUTE_TEMP_DF` (alarm attributes, not documented). `ITEM_VAL` has
three new fields: `ENG_UNIT`, `SCALE_HIGH_LIMIT`, `SCALE_LOW_LIMIT`.
## Filtered exports
Export only matching records with a filter file (IM 36K10L50 §3.6, verified 2026-09-30):
@ -69,4 +77,20 @@ dssqld -e <output>.qli <filter>.qli [-c] -l <listing>.lst
- `ITEM_HISTORY` returns nothing unless the filter names `ITEM_NAME` and a `SAMPLE_TIME` range
(see `load-history.md`).
- `%TLS_DAT_PATH%\dss_export.qli` is Yokogawa's own filter file for exporting all engineering
definitions (`dssqld -e out.qli dss_export.qli`); it also shows `@MACRO` usage.
definitions (`dssqld -e out.qli dss_export.qli`); it also shows `@MACRO` usage. It is the
same file on R1.05 as on R1.03 and does **not** cover the IEC 61850, MQTT, OPC UA client
method/tag datasets, `UASERVER_MAPPER_DF` or `API_KEYS_DF`: export those with `-d` as well
when you back up or migrate a system (ISS-118).
- R1.05 `dssqld.sup` adds `API_KEYS_DF` to the `NO-EXPORT` list, so a full export leaves the
REST API keys out on purpose. `-d API_KEYS_DF` still exports it; treat that file as a secret,
or create new keys on the target system instead (skill `data-access`).
## Clean up: `dss_*.tmp` files (R1.05)
Exporting `OBJECT_DF` leaves 0-byte `dss_<n>_<id>.tmp` files in `%TLS_LST_PATH%` (`tls\lst`),
about one per object (28 files for 29 objects on the R1.05 test server, 2026-10-08); a second
export of the same objects added none. Exports of `LOCAL_NODE_DF`, `STATUS_DF`, `ITEM_DF`,
`CLASS_DF`, `REPORT_DF`, a filtered export and `-f` left none. CI Server does not remove them
(ISS-091, ISS-119). After a test session, delete the 0-byte ones written since the session
started, e.g. with `examples/CI-Eng-Sample/shared/clean_dss_tmp.ps1 -Since <start time>`.
Not checked on R1.03.

View file

@ -1,8 +1,8 @@
---
task: Load item history from CSV (ithloahis) and read history back (dssqld)
version: R1.03
source: IM 36K10J10-01EN §2.9.2; IM 36K10L50-01EN §3.6; practiced with CI-Eng-Sample 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10J10-01EN §2.9.2; IM 36K10L50-01EN §3.6 (5th ed., Feb. 2026); practiced with CI-Eng-Sample 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30); on R1.05 `ithloahis` is installed but loading was not re-run (it writes history and the reduced CI-Eng-Sample load on the shared R1.05 test server has no storage group) - awaiting user verification
---
# Load item history (ithloahis) and read it back
@ -80,7 +80,14 @@ Result columns include `NAME` (`<group>:<item>/<time>/Value`), `SAMPLE_TIME`, `I
`QUALITY`. Values written live (e.g. with `itmval -p`) and the value at CI Server start also
appear.
## Verified (CI-Eng-Sample, 2026-09-30)
## R1.05 check (awaiting user verification)
On a system where the CI-Eng-Sample storage group `CIENG_EVENT` exists (full sample load,
then a CI Server restart): load the SCAN example above with `ithloahis -f <file>.csv -v`, then
read it back with the `ITEM_HISTORY` filter. Expected as on R1.03: the three LEVEL / INFLOW
samples appear in `ITEM_HISTORY` a few seconds after the load. The manual text for `ithloahis` (J10 §2.9.2) is unchanged.
## Verified (CI-Eng-Sample, R1.03, 2026-09-30)
SCAN load of LEVEL 61–63 / INFLOW 101–103 and EVENT load of LEVEL 47, 48 were all read back
with the filter above.

View file

@ -1,8 +1,8 @@
---
task: Load and remove dataset records with dssqld (quick load)
version: R1.03
source: IM 36K10J10-01EN §2.9.2, §5.6; IM 36K10L45-01EN §10.12–10.13 (5th ed.; §9.10–9.11 in the R1.03 edition); practiced with CI-Eng-Sample 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10J10-01EN §2.9.2, §5.6; IM 36K10L50-01EN §3 (5th ed., Feb. 2026); IM 36K10L45-01EN §10.12–10.13 (5th ed.; §9.10–9.11 in the R1.03 edition); practiced with CI-Eng-Sample 2026-09-30
status: verified on R1.03 (2026-09-30); on R1.05 `dssqld -i` / `-r` used in the reduced CI-Eng-Sample load on the R1.05 test server (2026-10-08, 0 errors, `@VERSION 1.03.00` files accepted); `dssqld` help text identical to R1.03; `-m` and the storage-group steps not re-run on R1.05
---
# Load and remove dataset records (dssqld quick load)
@ -29,6 +29,8 @@ NAME,SECTION_PATH,SECTION_NAME,DESCRIPTION
"CI-Eng-Sample.TANK1","CI-Eng-Sample","TANK1","Sample tank 1"
```
- `@VERSION` names the release the file was written for; R1.05 loads files marked
`1.03.00` without complaint (CI-Eng-Sample test, 2026-10-08).
- `@FIELDS` lists the fields in the records that follow; the next `@<DATASET>` line names
the dataset. A file can hold several `@FIELDS` / `@<DATASET>` blocks.
- One record per line, strings in double quotes, numbers bare, comma-separated. End a line
@ -86,6 +88,17 @@ has passed, then delete the group. Deleting a group deletes its history.
- Put each step in a `.cmd` script so the order is repeatable. Run scripts by full path
(`cmd /c "<path>\load.cmd"`); a bare name may not be found from the current folder.
## Clean up after loading (R1.05)
`dssqld` leaves 0-byte `dss_<n>_<id>.tmp` files in `%TLS_LST_PATH%` (`tls\lst`), and loading a
class left one holding the class source (34 files after the CI-Eng-Sample load and remove on the
R1.05 test server, ISS-091). The read-only re-check of 2026-10-08 found that of the exports only
`OBJECT_DF` creates them (about one per object, ISS-119); which load/remove steps create them
was not narrowed down. CI Server does not delete them. After a test session, delete the files
written since it started that are empty or hold only your own test data:
`examples/CI-Eng-Sample/shared/clean_dss_tmp.ps1 -Since <start time>` (note the server time
before the first `dssqld` run). Not checked on R1.03.
## Verified example
`examples/CI-Eng-Sample/` (`01_section_df.qli`, `02_item_df.qli`, `load.cmd`, `remove.cmd`):

View file

@ -1,8 +1,8 @@
---
task: Monitoring processes (intcpumon, intdskmon, inttcpmon, intmon, intspawn)
version: R1.03
source: IM 36K10J10-01EN §4.1.6; practiced with CI-Eng-Sample 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10J10-01EN §4.1.6 (5th ed., Feb. 2026); practiced with CI-Eng-Sample 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30); on R1.05 the setup files `intcpumon.sup`, `intdskmon.sup`, `inttcpmon.sup`, `intmon.sup`, `intspawn.sup` are identical to R1.03 and `integration_start.cmd` keeps the same commented start lines (checked read-only 2026-10-08); the processes were not started on the shared R1.05 test server
---
# Monitoring processes
@ -49,13 +49,20 @@ These processes do not start by default.
(for `intmon`, uncomment its `start /b /normal …\intmon.exe -n intmon` line; for the others
add `start /B /NORMAL %TLS_ROOT_PATH%\tls\exe\<process> -n <process>` followed by
`start /B /NORMAL /WAIT %TLS_ROOT_PATH%\tls\exe\durwfp -p <process> -t 10`). Not yet tested.
- **R1.05 (cleaner):** `integration_start.cmd` ends by calling every
`%TLS_ROOT_PATH%\tls\com\?*_integration_start.cmd`, so the same two lines per process can go
into an own file such as `cieng_integration_start.cmd` and the installed script stays
untouched (survives upgrades). Every service start and stop script in `tls\com`
(`<service>_start.cmd` / `_stop.cmd`), `ci_start` / `ci_stop`, `ci_clean_up` and
`hacw_activate` / `hacw_deactivate` have the same kind of hook (`?*_<script name>.cmd`). Found in the installed scripts (2026-10-08), not
in the manuals and not yet tested (needs admin and a restart; ISS-121).
## Check
Read the target items with `itmval -g -n <item>` (status 9 once updated). With `logging`, the
processes also write to `%TLS_LOG_PATH%\umhlog.log`.
## Verified (CI-Eng-Sample, 2026-09-30)
## Verified (CI-Eng-Sample, R1.03, 2026-09-30)
CPU_LOAD 33.4, DISK_C 61.9, PING_LOCALHOST 1, PROC_ALM 1; `intspawn` wrote 0 and 1 to a file
when `PUMP1.MODE` changed. Setup files restored afterwards.

View file

@ -1,8 +1,8 @@
---
task: Read and write item values with itmval
version: R1.03
source: IM 36K10J10-01EN §2.9.2; practiced on the test system and CI-Eng-Sample 2026-09-30
status: verified
version: R1.05 (first written for R1.03)
source: IM 36K10J10-01EN §2.9.2 (5th ed., Feb. 2026); practiced on the test system and CI-Eng-Sample 2026-09-30 (R1.03)
status: verified on R1.03 (2026-09-30, all examples below); itmval -p/-g used on R1.05 in the CI-Eng-Sample test, 2026-10-08; read output format, limit read and error messages re-checked read-only on the R1.05 test server 2026-10-08
---
# Read and write item values (itmval)
@ -46,7 +46,12 @@ itmval -g -n <Section>.<Tag> -a <n>
```
`<n>`: 1 deadband, 2 low, 3 high, 4 low-low, 5 high-high. The limit is returned in `Value`.
Items with no limits configured return `ITM-E-WRONG_ATT, Wrong attribute number used`.
Items with no limits configured return `ITM-E-WRONG_ATT, Wrong attribute number used`
(same on R1.05). An item name that does not exist gives `VIS-W-NOTFOUND, Record not found`
followed by `ISF-E-NOREC` / `GIN-E-GET` lines (R1.05, 2026-10-08).
On R1.05 `ITEM_VAL` also has the fields `ENG_UNIT`, `SCALE_HIGH_LIMIT` and `SCALE_LOW_LIMIT`
(installed `item_val.dss`); `itmval` itself has no option for them.
## Write a value
@ -61,7 +66,10 @@ itmval -p -n <Section>.<Tag> -v <value> [-s <status>] [-q <quality>]
(default local civil time); `-e` writes to event history only, not the current value.
- Read it back to confirm.
## Verified examples (CI-Eng-Sample)
## Verified examples (CI-Eng-Sample, R1.03)
On R1.05 the CI-Eng-Sample test (2026-10-08) used `itmval -p` and `-g` on the sample items in
the same way, with the same output format (`Value` / `Status` / `Options` / `Quality`).
| Command | Result |
|---|---|

View file

@ -1,8 +1,8 @@
---
task: Tuning checks (read-only)
version: R1.03
source: IM 36K10J10-01EN §5.5.1; practiced on the test system 2026-09-30
status: verified (read-only checks)
version: R1.05 (first written for R1.03)
source: IM 36K10J10-01EN §5.5.1 (5th ed., Feb. 2026); practiced on the test system 2026-09-30 (R1.03)
status: verified (read-only checks) on R1.03 (2026-09-30) and on the R1.05 test server (2026-10-08: setup-file limits, snapshot files, itmdbg code 2)
---
# Tuning checks (read-only)
@ -14,11 +14,11 @@ means editing setup files and restarting CI Server: ask the user first.
Read the active (non-`!`) lines:
| File | Keyword | Meaning | Test system |
| File | Keyword | Meaning | R1.03 and R1.05 test systems |
|---|---|---|---|
| `dur.sup` | `dur_max_proc` | Max processes (default 250) | 250 |
| `dur.sup` | `pool_kbytes` | DUR message pool | 250000 |
| `itm.sup` | `pool_kbytes` | Item common memory pool | 650000 |
| `itm.sup` | `pool_kbytes` | Item common memory pool | 650000 (`itm.sup` identical on R1.05) |
| `database_start.cmd` (`tls\com`) | `-u` / `-f` | Max database users (default 2K) / files (default 1,200) | not checked |
## Live values: automatic health snapshots
@ -34,9 +34,18 @@ Read the newest entries:
| `*_ismdbg_all.log` | `Total number of lock collisions`, users, files | Collisions not rising above 250/s; entries below 80 % of max users |
| `*_smdsnp_process.log` | Number of processes | Well below `dur_max_proc` |
Test system (2026-09-30): common memory 665.6 MB, free 665.3 MB; queues empty; 3 lock
Test system (R1.03, 2026-09-30): common memory 665.6 MB, free 665.3 MB; queues empty; 3 lock
collisions in total.
R1.05 (2026-10-08): same file naming with the node name (`smd_<node>_LOW_<debugger>_all.log`,
previous one kept as `.old`). New snapshots from the system monitor (`smdmon_config.csv`):
`*_netstat_anob.log` (open IP ports with their processes) and `*_curl_isgsnap.log` (a snapshot
from the web server at `http://localhost:8080/isgsnap`). The system monitor switches
`umhlog` logging on with size argument `l40` (R1.03: `l4`); on the R1.05 test server
`umhlog.old` was about 40 MB, so the message log now rolls over at about 40 MB (R1.03 size
limit not observed).
The low-level snapshot script writes `InstalledProducts.txt` with PowerShell instead of `wmic`.
## Live values from the interactive debuggers (read-only)
The debuggers ask for a code; pipe the answers in and end with `-1` (exit). Use only the
@ -47,7 +56,8 @@ read-only codes listed in the manual summaries:
| `printf '2\n-1\n' \| itmdbg` | item common size/free, number of items, integration granule, update counters | `knowledge/manuals/IM36K10L36-01EN.md` §4 |
| `printf '1\n-1\n' \| eqpdbg 0 <EQP process>` | equipment manager: lines attached, scan tick, slave count, line load % | `knowledge/manuals/IM36K10L40-01EN.md` §3 |
Verified 2026-09-30 (bash). Other codes change the running system (delete items, unlock,
Verified 2026-09-30 (bash, R1.03); `itmdbg` code 2 also on R1.05 (2026-10-08, piped from
PowerShell: common size 665.6 MB, free 665.1 MB). Other codes change the running system (delete items, unlock,
update scan status); do not use them without the user's approval.
## Not yet practiced

View file

@ -37,9 +37,9 @@ development system (see "Test system" in `progress.md`); they do not exist on ot
| ISS-015 | 2026-09-30 | Setup File Editor | In `wfla_display.sup` the seven main keywords (`RELATION_LOCATION` … `TIMER_INTERVAL`) come before the only tab line `!TAB = Debug`. By IM 36K10R20 §3.1, keywords before the first `!TAB` are not shown, yet IM 36K10R10 §4.4.1 shows them on a *General* tab. What the editor really shows is unknown. | closed | Closed 2026-09-30 (checked in the Setup File Editor by the user; installed software is the reference). The editor shows keywords placed before the first `!TAB` on a **General** tab, followed by the defined tabs: `wfla_display.sup` shows *General* (all 7 fields, values as in the file) and *Debug*. The manual's statement that such keywords are ignored does not hold in R1.03. | `knowledge/manuals/IM36K10R20-01EN.md` §3; `knowledge/manuals/IM36K10R10-01EN.md` §4; `.claude/skills/portal-setup/tasks/change-setup-file.md` |
| ISS-016 | 2026-09-30 | Setup File Editor | The R1.03 editor has features IM 36K10R20 §2 does not describe: a *Templates* tab next to *Setup Files*; a *Status* column in the file list (e.g. "Default"); *Undo Field* and *Reset Field* buttons on the edit form besides OK/Cancel/Help; a status bar with the selected file's description and the time. | closed | Installed software is the reference (user decision). 2026-09-30, tested on `wfla_display.sup` (`DUR_QUEUE_SIZE` 1000 → 2000): clicking **OK writes the file immediately** (only the active line changed; the manual says OK keeps the change in memory until Exit). Status becomes **Changed** when an active value differs from the file's `!DEFAULT` block; the changed field's label turns **blue**. *Reset Field* is enabled when the cursor is in a changed field; *Reset Field* + *OK* put the value back to the `!DEFAULT` value (2000 → 1000) and wrote the file at once (16:22:28); the rest of the file was unchanged. Still to find: what *Templates* holds and what *Undo Field* does. Closed 2026-10-01 (confirmed by user). | `knowledge/manuals/IM36K10R20-01EN.md` §2; `.claude/skills/portal-setup/tasks/change-setup-file.md` |
| ISS-017 | 2026-09-30 | CI Portal setup files | IM 36K10R10 §4 says the logon method is the one user-interface setting normally changed, but the R1.03 `jwuiisg.sup` *Information* tab says the login method and login control settings have moved to `dssana.sup` (authentication and authorization). `dssana.sup` is not described in R10. | closed | Installed software is the reference. 2026-09-30: `dssana.sup` ("Authentication and authorization setup") has tabs General, User Interfaces, Clients System Trust, Login control (`LOGIN_METHOD = <client>, <user interface>, <method>, …`), Active Directory, Single Sign On, Password rules, Logging. Manuals mentioning it: IM 36K01A50 (5×), 36K10C10 (6×), 36K10J40 (13×), 36K10L45 (2×), 36K10L50 (3×). Cover it in phase 5 (C10) and phase 13 (J40). 2026-09-30: login methods (Automatic, Manual CI Server, Manual OS, No, SSO, Deny) now summarized from C10 §2.2 in `knowledge/manuals/IM36K10C10-01EN.md`; AD/SSO details remain for J40. Closed 2026-10-01 (confirmed by user). | `knowledge/manuals/IM36K10R10-01EN.md` §4; `.claude/skills/portal-setup/SKILL.md` |
| ISS-018 | 2026-09-30 | Authorization (`dssana.sup`) | IM 36K10C10 §2.2 says the *No* login method applies the user profile `FT_NO_LOGIN`; the installed `dssana.sup` names `CI_NO_LOGIN` (and `CI_NO_LOGIN_OPCUAS` for anonymous OPC UA) as the no-login profile. `USER_DF` on the test system has `CI_NO_LOGIN_OPCUAS` but no `CI_NO_LOGIN`. | closed | Installed software is the reference: use `CI_NO_LOGIN`. Answered in phase 13 (2026-10-01): the `dssana.sup` help says that when no user with the no-login profile name exists, **full authorization** is used (not "no profile" as IM 36K10C10 says). Verified indirectly: `Quickload Utility` has *No* login with an empty profile, and every `dssqld` change is recorded in the audit trail as user `FULL AUTHORIZATION`. Documented in `authorization/tasks/login-methods.md` (create a restricted `CI_NO_LOGIN` user before using *No* login). Closed 2026-10-01 (confirmed by user). | `knowledge/manuals/IM36K10C10-01EN.md` §2 |
| ISS-019 | 2026-09-30 | ITEM (string items) | Maximum string item length differs by source: IM 36K10C10 §3.3.4 says default 80, max 100; the Tutorial summary says up to 168 without audit; the data dictionary (`dssqld -f`) gives `ITEM_DF.STRING_LENGTH` range 1–200, default 80. | closed | Tested 2026-09-30 on CI-Eng-Sample (`dssqld -i`, `itmval -p/-g`, non-elevated): `STRING_LENGTH` 100, 168 and 200 load with or without `AUDIT_INFO`; 201 fails with `DSS-E-VAL_RANGE`. An item holds **length − 1** characters: a 99-character value in a length-100 item is stored with status 9 NORMAL; longer values are cut to length − 1 with status **12 OVERRANGED** (100 → 99, 200 → 199, 201 → 199). So the data dictionary (1–200) is right. Test items removed. Closed 2026-09-30 (confirmed by user). | `knowledge/manuals/IM36K10C10-01EN.md` §3; `knowledge/manuals/IM36K10G10-01EN.md` (items); `.claude/skills/item-engineering/SKILL.md` |
| ISS-020 | 2026-09-30 | DATABASE (`dssqld`) | `dssqld -i "<long absolute path>\user.qli"` failed with `CRL-E-ENOENT` / `DSSQ-E-QLD_FILOPN`: the path in the message was cut after 79 characters (`…\73b3559a-12.`). A relative file name from the same folder works. Similar to the `intspawn` path limit (ISS-007). | closed | Tested 2026-10-01: the limit is **79 characters** for the whole path. An input file of 80–81 characters gives `DSSQ-E-Q_QLIEXT` (the name is cut, e.g. `….ql`), 85+ gives `CRL-E-ENOENT`. An `-e` output path of 80+ characters gives **no error**, but no file appears under the given name. Documented: keep paths ≤ 79 characters, or `cd` to the folder and use relative names. Close when the user confirms. Closed 2026-10-01 (confirmed by user). | `.claude/skills/system-management/tasks/load-remove-records.md`; `.claude/skills/system-management/tasks/export-dataset.md` |
| ISS-018 | 2026-09-30 | Authorization (`dssana.sup`) | IM 36K10C10 §2.2 says the *No* login method applies the user profile `FT_NO_LOGIN`; the installed `dssana.sup` names `CI_NO_LOGIN` (and `CI_NO_LOGIN_OPCUAS` for anonymous OPC UA) as the no-login profile. `USER_DF` on the test system has `CI_NO_LOGIN_OPCUAS` but no `CI_NO_LOGIN`. | closed | R1.05 (2026-10-08): the manual now names CI_NO_LOGIN, see ISS-125. Installed software is the reference: use `CI_NO_LOGIN`. Answered in phase 13 (2026-10-01): the `dssana.sup` help says that when no user with the no-login profile name exists, **full authorization** is used (not "no profile" as IM 36K10C10 says). Verified indirectly: `Quickload Utility` has *No* login with an empty profile, and every `dssqld` change is recorded in the audit trail as user `FULL AUTHORIZATION`. Documented in `authorization/tasks/login-methods.md` (create a restricted `CI_NO_LOGIN` user before using *No* login). Closed 2026-10-01 (confirmed by user). | `knowledge/manuals/IM36K10C10-01EN.md` §2 |
| ISS-019 | 2026-09-30 | ITEM (string items) | Maximum string item length differs by source: IM 36K10C10 §3.3.4 says default 80, max 100; the Tutorial summary says up to 168 without audit; the data dictionary (`dssqld -f`) gives `ITEM_DF.STRING_LENGTH` range 1–200, default 80. | closed | R1.05 (2026-10-08): the manuals now say max 200 bytes, see ISS-124. Tested 2026-09-30 on CI-Eng-Sample (`dssqld -i`, `itmval -p/-g`, non-elevated): `STRING_LENGTH` 100, 168 and 200 load with or without `AUDIT_INFO`; 201 fails with `DSS-E-VAL_RANGE`. An item holds **length − 1** characters: a 99-character value in a length-100 item is stored with status 9 NORMAL; longer values are cut to length − 1 with status **12 OVERRANGED** (100 → 99, 200 → 199, 201 → 199). So the data dictionary (1–200) is right. Test items removed. Closed 2026-09-30 (confirmed by user). | `knowledge/manuals/IM36K10C10-01EN.md` §3; `knowledge/manuals/IM36K10G10-01EN.md` (items); `.claude/skills/item-engineering/SKILL.md` |
| ISS-020 | 2026-09-30 | DATABASE (`dssqld`) | `dssqld -i "<long absolute path>\user.qli"` failed with `CRL-E-ENOENT` / `DSSQ-E-QLD_FILOPN`: the path in the message was cut after 79 characters (`…\73b3559a-12.`). A relative file name from the same folder works. Similar to the `intspawn` path limit (ISS-007). | closed | R1.05 (2026-10-08): same limit, see ISS-123. Tested 2026-10-01: the limit is **79 characters** for the whole path. An input file of 80–81 characters gives `DSSQ-E-Q_QLIEXT` (the name is cut, e.g. `….ql`), 85+ gives `CRL-E-ENOENT`. An `-e` output path of 80+ characters gives **no error**, but no file appears under the given name. Documented: keep paths ≤ 79 characters, or `cd` to the folder and use relative names. Close when the user confirms. Closed 2026-10-01 (confirmed by user). | `.claude/skills/system-management/tasks/load-remove-records.md`; `.claude/skills/system-management/tasks/export-dataset.md` |
| ISS-021 | 2026-09-30 | EQUIPMENT (`eqpiostat`) | IM 36K10L40 §2 says `eqpiostat` stores hourly I/O statistics per station line in "history group STATION_STAT". On the test system `eqpiostat` runs (started by `equipment_start.cmd` on the host node) and `STATION_STAT` is a dataset, but `dssqld -e` returned 0 records, also with filters on `TIME_STAMP` and `STATION` (AID Modbus stations, which send requests). | closed | Answered 2026-10-01: with `CIENG_PLC` communicating (Modbus slave mirror running), `STATION_STAT` holds one record per hour per station line (10 records since 30-09-2026 18:00; e.g. `TIMESPAN` 831 s, `SENDS`/`GOODANS` 1560/1560, no errors). The earlier empty export had no communicating station. Closed 2026-10-01 (confirmed by user). | `knowledge/manuals/IM36K10L40-01EN.md` §2 |
| ISS-022 | 2026-09-30 | ITEM (`itmval -f`) | `itmval -f <file> vs -n CI-Eng-Sample.TANK1.LEVEL` (IM 36K10L36 §1.4, write a restore command) crashes with a segmentation fault (bash) / access violation 0xC0000005 (PowerShell) and writes no file; also with `-l`. The manual's space-separated form `-n <inst> <unit> <tag>` is rejected with `FSL-E-NARG_ALL`. `itmval -g`/`-p` work. | open | Workaround: build restore lines from `itmval -g` output. Report to Yokogawa support if needed. Retested 2026-10-01 with the documented syntax `itmval -f <file> <opts> -n <item>` (`<opts>` = letters from `vsqo`, e.g. `vs`): still a segmentation fault from bash and from `cmd`, in a short and a long folder, relative or absolute file name; `cmd` leaves an **empty** file. Also crashes right after a CI Server restart (so not the licence-time effect of ISS-030). Treat `-f` as broken on R1.03.00; report to Yokogawa support if needed. | `knowledge/manuals/IM36K10L36-01EN.md` §3; `.claude/skills/system-management/tasks/read-write-item.md` |
| ISS-023 | 2026-09-30 | ITEM / ITH (manual vs install) | Installed ITEM Service differs from IM 36K10L35/L36: `item_start.cmd` starts `itheix` (EVENT/ITEM storage, not described), aggregation `ithsag`/`ithrag`, two instances of each retrieve process, and `itmtim 100 1000 1 200 1` (five arguments, three documented); `itm.sup` item pool is 650000 KB (manual default 50000) and has `not_regained` (not described); `itheix.sup` has `max_sample_delay`, `max_samples_queued`, `max_open_files`. | closed | Closed 2026-09-30 (user decision: the installed software is the reference). Summaries describe the installed values. | `knowledge/manuals/IM36K10L35-01EN.md`; `knowledge/manuals/IM36K10L36-01EN.md` |
@ -93,7 +93,7 @@ development system (see "Test system" in `progress.md`); they do not exist on ot
| ISS-071 | 2026-10-06 | GRAPHICS (layout commands, desktop) | Only one layout command can run at a time: five *Execute command* `ACTION navigate …` actions in one *On entry* gave *IllegalStateException: A command is already being executed* (2026-10-03); reproduced 2026-10-06 with two `ACTION reload all` on one button (test display `CIENG_Test`). Layout commands cannot be chained (`Layouts.readme` has no separator). | open | Documented in `layouts.md` §3. Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §3 (done) |
| ISS-072 | 2026-10-06 | AUTH (users, quick load) | A user loaded with `dssqld` without a `PASSWORD` field (as `users-groups.md` advised: "a password is not required on import") has **no** password set: every logon fails with *DSS-E-UNK_USER Unknown user name/password combination*, also with an empty password; clearing the password in the Engineering Module made it work. With `PASSWORD ""` given explicitly the user logs on with an empty password on the desktop and the web (sample user `CIENG`, 2026-10-06). | closed | Answered by test 2026-10-06; `users-groups.md` corrected, sample `08b_user_df.qli` uses `PASSWORD ""`. Close when the user confirms. | `.claude/skills/authorization/tasks/users-groups.md` (done); `examples/CI-Eng-Sample/08b_user_df.qli` (done) |
| ISS-073 | 2026-10-06 | DSS (remove group / DSSSDA) | Removing an authorization group while a session of one of its users is open fails with *DSSP-E-NODEL … in dataset USER_VAL*; after logging out the session was still referenced, and a retry stopped the process `DSSSDA03` (*DUR-F-BAD_SIZE, Negative size not allowed*; `DUR-W-REM_PROC … exited unexpectedly`); following DSS requests failed with *DUR-F-UNKNOWN_ATT … DSSSDA03* until CI Server was restarted (2026-10-06). After the restart the group was removed without error. `USER_VAL` exports only its header, so open sessions cannot be listed. | open | Workaround: log out the user's sessions and restart CI Server before removing the group; noted in the sample `remove.cmd` / README and `users-groups.md`. Not repeated on purpose (it stops a CI Server process). Report to Yokogawa. | `.claude/skills/authorization/tasks/users-groups.md` (done); `examples/CI-Eng-Sample/remove.cmd`, `README.md` (done) |
| ISS-074 | 2026-10-06 | GRAPHICS (HTML display login) | IM 36K10R30 §4 lists the user profile fields used by the HTML display login as "… initial display, locale (layout not)". On R1.03.00 the profile's *Layout* is used too: a logon as `CIENG` (layout `CIENG_Operator`) at `/mobileoperator/` without `?l=` opened `CIENG_Operator` (2026-10-02 with ADMIN, 2026-10-06 with `CIENG`). | open | Installed software is the reference; R30 summary and `layouts.md` §3 updated. Close when the user confirms. | `knowledge/manuals/IM36K10R30-01EN.md` (done); `.claude/skills/graphics/tasks/layouts.md` §3, §5 (done) |
| ISS-074 | 2026-10-06 | GRAPHICS (HTML display login) | IM 36K10R30 §4 lists the user profile fields used by the HTML display login as "… initial display, locale (layout not)". On R1.03.00 the profile's *Layout* is used too: a logon as `CIENG` (layout `CIENG_Operator`) at `/mobileoperator/` without `?l=` opened `CIENG_Operator` (2026-10-02 with ADMIN, 2026-10-06 with `CIENG`). | closed | Closed 2026-10-08 by ISS-095: the manual also marks Layout as supported; the earlier reading came from a garbled text extraction. Installed software is the reference; R30 summary and `layouts.md` §3 updated. Close when the user confirms. | `knowledge/manuals/IM36K10R30-01EN.md` (done); `.claude/skills/graphics/tasks/layouts.md` §3, §5 (done) |
| ISS-075 | 2026-10-06 | GRAPHICS (`jwuiutl -v`) | `deploy-displays.md` called `jwuiutl -v` "report only", but `jwuiutl -d -v -i -l <log> <display>` re-saves the validated display (normalised XML: defaults dropped, positions as attributes; 9 618 → 11 191 bytes for `CIENG_Test`, 2026-10-06). On 2026-10-02 a validation of eight displays hung on one and left `<name>.lck` and `<name>.xml.tmp`; not reproduced on 2026-10-06. | open | Documented in `deploy-displays.md` §2 and the C50 summary. Close when the user confirms. | `.claude/skills/graphics/tasks/deploy-displays.md` §2 (done); `knowledge/manuals/IM36K10C50-01EN.md` (done) |
| ISS-076 | 2026-10-08 | EQUIPMENT (IEC 104 naming, R1.05) | IM 36K10L41 5th ed. §3.31.1–3.31.2 still calls the IEC 104 manager `eqp104` / `eqp104.sup` and says its name starts with "eqp". R1.05 installs `eqt104.exe` (no `eqp104.exe`), template `eta104_eqt.sup`, and `IEC104_LINE_DF.EQUIPMENT_MAN` defaults to `EQT104` (R1.05 test server, read-only). App. 1.3 gives upgrade steps for IEC 61850 only. Unknown whether an R1.03 IEC 104 line needs the same renaming after an upgrade. | open | Installed software is the reference; summaries use `EQT104`. Needs an upgrade test or a Yokogawa answer. | `knowledge/manuals/IM36K10L41-01EN.md` §1–2, §3.28–3.31 row (done); `.claude/skills/equipment/SKILL.md` (done) |
| ISS-077 | 2026-10-08 | EQUIPMENT (IEC 104 setup file, R1.05) | The installed template `eta104_eqt.sup` has a keyword `quality_code_parsing = Y\|N` (default N) that moves IEC 104 cause of transmission and quality flags into the item quality field instead of the item status. The 5th ed. manual does not describe it. | open | Behaviour not tested (no IEC 104 device). | `knowledge/manuals/IM36K10L41-01EN.md` §3.28–3.31 row (done) |
@ -110,4 +110,36 @@ development system (see "Test system" in `progress.md`); they do not exist on ot
| ISS-088 | 2026-10-08 | WINDOWS (WMIC) | IM 36K01C10 5th ed. App. 1.3 still uses `wmic qfe list full`, but WMIC is not installed on Windows Server 2025 / 24H2 (missing on the R1.05 test server). `Get-HotFix` works there. | closed | Use `Get-HotFix`. Close when the user confirms. | `knowledge/manuals/IM36K01C10-01EN.md`; `tools/setup_check.ps1` |
| ISS-089 | 2026-10-08 | INSTALLATION (local groups, R1.05) | On the R1.05 test server (no dual-redundant platform, no IT Security Tool) the local group `RDC_GA_CLIENT` exists with member `CIX_PROCESS`. The Security Guide mentions this group only for the dual-redundant platform (IM 36K01C30 5th ed. §4.9). | closed | Information only: apparently created by the installer; no action. Close when the user confirms. | `knowledge/manuals/IM36K01C30-01EN.md` |
| ISS-090 | 2026-10-08 | DOCS (CI Server + PRM) | IM 36K01C10 5th ed. §4.1.1 requires PRM R4.06 or later in a note but R4.08 or later in Table 4.1.1-1 (integration code 1901-0302-03-01). | open | Use R4.08 until clarified (from docs; no PRM available). | `knowledge/manuals/IM36K01C10-01EN.md` |
| ISS-091 | 2026-10-08 | DSS (temporary files) | Each `dssqld` run (exports and quick loads) left a 0-byte `dss_<n>_<id>.tmp` in `%TLS_LST_PATH%`, and loading a class left a `dss_*.tmp` holding the class source (R1.05 test server: 34 files after one session of checks and a sample load/remove). They are not removed by CI Server. | closed | Test cleanup deletes them: `examples/CI-Eng-Sample/shared/clean_dss_tmp.ps1 -Since <test start>` (0-byte files and files with sample text only). Not checked on R1.03. Close when the user confirms. | `examples/CI-Eng-Sample/README.md` (done); `knowledge/r105-verification.md` (done) |
| ISS-091 | 2026-10-08 | DSS (temporary files) | Each `dssqld` run (exports and quick loads) left a 0-byte `dss_<n>_<id>.tmp` in `%TLS_LST_PATH%`, and loading a class left a `dss_*.tmp` holding the class source (R1.05 test server: 34 files after one session of checks and a sample load/remove). They are not removed by CI Server. | closed | Corrected by ISS-119: not every dssqld run leaves such a file. Test cleanup deletes them: `examples/CI-Eng-Sample/shared/clean_dss_tmp.ps1 -Since <test start>` (0-byte files and files with sample text only). Not checked on R1.03. Close when the user confirms. | `examples/CI-Eng-Sample/README.md` (done); `knowledge/r105-verification.md` (done) |
| ISS-092 | 2026-10-08 | GRAPHICS (installed files R1.05) | Read-only comparison of the R1.05 graphics files with R1.03 not done (remote commands refused): `Layouts.readme`, factory layouts, DEPLOY structure, `jwuiutl.cmd` and help, `connectrdp.cmd`, mobileoperator files, AOG/symbol lists. | open | Awaiting user verification (`knowledge/r105-verification.md` V5). | `.claude/skills/graphics/tasks/layouts.md`, `deploy-displays.md`; `knowledge/manuals/IM36K10R30-01EN.md` |
| ISS-093 | 2026-10-08 | GRAPHICS (HTML display enterprise / restrictions) | IM 36K10R30 4th ed. marks enterprise operation as supported on the HTML display (§4.4, §4.7.15 removed, §4.8) and changes §4.10: no more "no automatic reconnect" and "no HTML export from CI View"; new "HIS-TSE not supported on the web". Not in the revision table in that detail. | open | Not tested (no enterprise setup; shared server). | `knowledge/manuals/IM36K10R30-01EN.md` (done); `.claude/skills/graphics/tasks/deploy-displays.md` (done) |
| ISS-094 | 2026-10-08 | GRAPHICS (`jwuiutl`) | IM 36K10C50 5th ed. §1.5 describes `jwuiutl -m/-M` output as space-separated; on R1.03 it was comma-separated. On R1.03 an export without `-o` wrote into `mobileoperator\operatorInterfaces\<deployment>`, not the current directory as the help says. R1.05 behaviour not checked. | open | `jwuiutl --help` is read-only (V5); a search run only on a non-shared system. | `knowledge/manuals/IM36K10C50-01EN.md` (done); `.claude/skills/graphics/tasks/deploy-displays.md` (done) |
| ISS-095 | 2026-10-08 | GRAPHICS (HTML display login, corrects ISS-074) | IM 36K10R30 §4.4 Table 4.4-1 marks the profile *Layout* as supported on the HTML display in both R1.03 and R1.05; a table-aware extraction shows it clearly. ISS-074's "layout not" came from a garbled text extraction: manual and software agree. | closed | ISS-074 closed by this. Close when the user confirms. | `knowledge/manuals/IM36K10R30-01EN.md` (done); `.claude/skills/graphics/tasks/layouts.md` (done) |
| ISS-096 | 2026-10-08 | GRAPHICS (web trend 50 pens, R1.05) | Not known whether the R1.05 web client still draws a trend only with 50 visible pens (ISS-041). | open | Check `PEN_COUNT_LIMIT` in the R1.05 mobileoperator chart code (V5) or test on a non-shared system. Workaround kept. | `.claude/skills/graphics/tasks/trend.md` (done) |
| ISS-097 | 2026-10-08 | GRAPHICS (AOG demo displays) | IM 36K10C60 R1.04 §1.2.2 names `AOG_UAC_Method_Demo`, `AOG_UAC_MethodArg_Call2`, `AOG_OPCUA_Methods`; the R1.03 machine has `AOG_UAC_Method_Demo`, `AOG_UAC_MethodArg_Call`, `AOG_UAC_Method_Call`. R1.05 names not listed yet (the data-access re-check saw `AOG_UAC_Method_Demo`, `…_Call`, `…_MethodArg_Call(2)`). | open | Part of V5. | `knowledge/manuals/IM36K10C60-01EN.md` (done) |
| ISS-098 | 2026-10-08 | GRAPHICS (Generic Functions) | IM 36K10C50: *Calculation/Function* renamed *Generic Functions*; new operations Password Check (R1.04; needs login method *Manual CI Server* / *Manual OS* for the Password Check function in `dssana.sup`) and RDP Connect (R1.05, `tls\com\connectrdp.cmd`). | open | Not tested (Edit Module and an RDP target needed). Cross-reference in skill `authorization` to be added in its re-check. | `.claude/skills/graphics/tasks/create-display.md` (done); `knowledge/manuals/IM36K10C50-01EN.md` (done); `.claude/skills/authorization` (open) |
| ISS-099 | 2026-10-08 | GRAPHICS / AUDIT (custom alarm acknowledgement) | IM 36K10C50 R1.04/R1.05 §2.22, §4.12: custom and external acknowledgement properties; reason and approver are written to `AUDIT_TRAIL` fields `APPROVAL_REASON` / `APPROVER`. | open | Not tested. Skill `audit-trail` to mention the fields in its re-check. | `.claude/skills/graphics/tasks/create-display.md` (done); `.claude/skills/audit-trail` (open) |
| ISS-100 | 2026-10-08 | HISTORY (start scripts) | On the R1.05 test server `history_start.cmd`, `history_stop.cmd`, `item_start.cmd`, `item_stop.cmd` differ from R1.03 (hash comparison). Content not read (remote read refused for this check); probably the extension-script hooks of ISS-121. The L20/L35 summaries still describe the R1.03 start lists. | open | Awaiting user verification (V6). | `knowledge/manuals/IM36K10L20-01EN.md` §1, `IM36K10L35-01EN.md` §1; `.claude/skills/history-management/SKILL.md` |
| ISS-101 | 2026-10-08 | HISTORY (`hisdbg`) | `hisdbg` read-only options (1, 20, 6) not run on the R1.05 test server (remote commands refused). | open | Awaiting user verification (V6). | `.claude/skills/history-management/tasks/history-checks.md` |
| ISS-102 | 2026-10-08 | HISTORY (dataset definitions) | `his_group_df`, `item_his_df`, `item_his2_df`, `item_history`, `his_units` definitions are identical in R1.03 and R1.05; only the DSS interface source `dsid_ihis_df.c` changed. No effect on quick-load fields expected. | closed | Information. | `.claude/skills/history-management/SKILL.md` (done) |
| ISS-103 | 2026-10-08 | HISTORY (storage groups on R1.05) | Storage groups (Event/Item, Scan/Time, Aggregation), `ITEM_HISTORY` reads and aggregation not re-tested on R1.05: a new group needs a CI Server restart (ISS-006), not allowed on the shared server. History setup files are identical apart from licence/instance lines. | open | Not tested; needs a server where a restart is allowed. | `.claude/skills/history-management/tasks/storage-groups.md` (done) |
| ISS-108 | 2026-10-08 | PORTAL (installation media) | IM 36K10R10 4th ed. §3.1 (R1.04): CI Portal setup runs from the mounted CI Server ISO file instead of the DVD; not in the revision table. §3.3 only gained a reference to IM 36K10L30 ch. 3. | closed | Documented. Close when the user confirms. | `knowledge/manuals/IM36K10R10-01EN.md` (done) |
| ISS-109 | 2026-10-08 | PORTAL / BUS (`dur.sup`) | R1.05 `dur.sup` has a new switch `gateway_core` (General tab, installed No) and a new adaptive queue set `ADTSTO, 1.00`. IM 36K10R10 does not mention them; see ISS-116 for the gateway configuration. | closed | Installed software is the reference. Close when the user confirms. | `knowledge/manuals/IM36K10R10-01EN.md`, `.claude/skills/portal-setup/SKILL.md` (done) |
| ISS-110 | 2026-10-08 | PORTAL (`jwuiisg.sup` keywords) | R1.05 `jwuiisg.sup` has keywords IM 36K10R10 §4.3 does not describe: `SERVER_FILE_CACHE`, `HTTP_TO_HTTPS_REDIRECT`, `RECONNECT_TIMEOUT_OVERRIDE`, and a new tab *Access Control* (`RESTRICT_IP_ACCESS`, `HOSTNAME_WHITELISTING`). | closed | Installed software is the reference; documented from the file's own help. Close when the user confirms. | `knowledge/manuals/IM36K10R10-01EN.md`, `.claude/skills/portal-setup/tasks/check-web-access.md` (done) |
| ISS-111 | 2026-10-08 | PORTAL (web security headers, CSP) | R1.05 `jwuiisg.sup` installs 7 security response headers and 9 `CSP_ENTRY` lines (R1.03: only X-Frame-Options, no CSP); verified in the HTTP responses on 8080/8443. | open | Open question: does the CSP block external content in displays (web browser component, external images, map viewer)? Not tested. Upgraded systems may keep their old settings depending on the merge. | `knowledge/manuals/IM36K10R10-01EN.md`, `.claude/skills/portal-setup/tasks/check-web-access.md` (done); `.claude/skills/graphics` (open) |
| ISS-112 | 2026-10-08 | SETUP FILE EDITOR (`jwuiisg.sup` metadata) | R1.05 `jwuiisg.sup` metadata quirks: two keyword blocks end with `!ENDKEYWORD!`; `SERVER_FILE_CACHE=0` without spaces in `!DEFAULT`; `RECONNECT_TIMEOUT_OVERRIDE` has no active or default line; `RESTRICT_IP_ACCESS` has no keyword for the allowed addresses. | open | Awaiting user verification in the Setup File Editor GUI (V7). | `knowledge/manuals/IM36K10R20-01EN.md`, `IM36K10R10-01EN.md` (done) |
| ISS-113 | 2026-10-08 | SETUP FILE EDITOR (R1.05 GUI) | R1.05 `fsuedit.cmd` only adds `tls\exe\lib\*` to the class path; metadata keywords and `!KIND`s unchanged. The R1.03 GUI findings (ISS-015/016) are not re-checked on R1.05. | open | Awaiting user verification (V7). | `knowledge/manuals/IM36K10R20-01EN.md`, `.claude/skills/portal-setup/tasks/change-setup-file.md` (done) |
| ISS-116 | 2026-10-08 | BUS / SYSTEM DESIGN (gateway core) | IM 36K10J10 5th ed. has a new §3.2.6 *Gateway* configuration, not in the revision table: a gateway-licensed CI Core has no operator interface (nor do CI Portals / CI View connected to it); switched on with `GATEWAY_CORE` in `dur.sup`; a licence/switch mismatch is logged. IM 36K10L30 does not describe the keyword. | open | Not tested (no gateway licence; needs admin and a restart). | `knowledge/manuals/IM36K10J10-01EN.md`, `IM36K10L30-01EN.md`, `.claude/skills/system-management/tasks/bus-utilities.md` (done) |
| ISS-117 | 2026-10-08 | DATABASE (DSS processes R1.05) | R1.05 `database_start.cmd` starts DSSSDA00–03 as fixed lines plus new DSSSDARST (RESTful API) and DSSSDAPY (pyTOOLS): 12 dsssda and 7 dssevt processes. `dss.sup`: `DSSSDA_QUESZ` 252 → 1000, new `DSSMAN_QUESZ = 1000`, two new `DSSSDA_SRV` lines. After an upgrade it runs the `*_u0104`/`*_u0105` conversion programs. Not in IM 36K10L50. | closed | Verified read-only. Close when the user confirms. | `knowledge/manuals/IM36K10L50-01EN.md`, `.claude/skills/system-management/tasks/dss-tools.md` (done) |
| ISS-118 | 2026-10-08 | DATABASE (`dss_export.qli`, API keys) | The installed `dss_export.qli` (same in R1.03 and R1.05) does not cover the IEC 61850, MQTT, OPC UA client method/tag, `UASERVER_MAPPER_DF` or `API_KEYS_DF` datasets. R1.05 `dssqld.sup` excludes `API_KEYS_DF` from full exports (`-d API_KEYS_DF` still exports it). For backup/migration export the missing datasets explicitly and create new API keys on the target. | closed | Workaround documented. Close when the user confirms. | `.claude/skills/system-management/tasks/export-dataset.md`, `knowledge/manuals/IM36K10J10-01EN.md`, `IM36K10L50-01EN.md` (done) |
| ISS-119 | 2026-10-08 | DATABASE (`dss_*.tmp`, corrects ISS-091) | Not every `dssqld` run leaves a `dss_*.tmp`: exports of LOCAL_NODE_DF, STATUS_DF, ITEM_DF, CLASS_DF, REPORT_DF, API_KEYS_DF, a filtered export and `-f` left none; exporting OBJECT_DF left 28 empty files for 29 objects (a second export none); loading classes left their source in one. Which load/remove steps create them was not checked. | open | Clean up after tests with `clean_dss_tmp.ps1`. | `.claude/skills/system-management/tasks/export-dataset.md`, `load-remove-records.md` (done); ISS-091 (done) |
| ISS-120 | 2026-10-08 | BUS (`durwfp` exit code) | IM 36K10L30 §10 (reworded in R1.04) says the return value is 1 when the process is attached, 0 otherwise. The exit code a script sees is the opposite: 0 = attached, 1 = not (R1.03 and R1.05). | closed | Documented: test the exit code. Close when the user confirms. | `.claude/skills/system-management/tasks/bus-utilities.md`, `knowledge/manuals/IM36K10L30-01EN.md` (done) |
| ISS-121 | 2026-10-08 | BUS / INTEGRATION (start-script hooks) | On R1.05 every service start/stop script in `tls\com` (also `ci_start`/`ci_stop`, `ci_clean_up`, `hacw_activate`/`hacw_deactivate`) calls `?*_<script name>.cmd` extension scripts, a clean way to start custom or monitoring processes without editing installed scripts. Not in J10 or L30. | open | Awaiting user verification (needs admin and a restart; V8). | `.claude/skills/system-management/tasks/monitoring-processes.md`, `knowledge/manuals/IM36K10J10-01EN.md`, `IM36K10L30-01EN.md`, `IM36K10L50-01EN.md` (done) |
| ISS-122 | 2026-10-08 | BUS / SYSTEM MONITOR (installed setup) | R1.05 `dur.sup` adds the adaptive queue set `ADTSTO, 1.00` (`OPCEXE` still without wildcard, ISS-026). `smdmon_config.csv` adds `netstat -anob` and web snapshots and logs umhlog with `l40` (`umhlog.old` about 40 MB). `smd_snapshotlow.cmd` uses PowerShell instead of `wmic`. | closed | Verified read-only. Close when the user confirms. | `.claude/skills/system-management/tasks/bus-utilities.md`, `tuning-checks.md`, `knowledge/manuals/IM36K10L30-01EN.md` (done) |
| ISS-123 | 2026-10-08 | DATABASE (`dssqld` long path, R1.05) | Addition to ISS-020: on R1.05 `dssqld -e` with an output path of 83+ characters gave no error and wrote the file under a shortened name (cut after 79 characters, then `.qli`). | closed | Same limit as R1.03. Close when the user confirms. | `.claude/skills/system-management/tasks/export-dataset.md` (done) |
| ISS-124 | 2026-10-08 | ITEM (string length) | IM 36K10C10 §3.3.4 and IM 36K10G10 §3.2.2 (changed in R1.04, not in the revision tables) give string item length default 80, maximum 200 bytes, matching the software (`ITEM_DF.STRING_LENGTH` 1–200, default 80). Settles the manual side of ISS-019. | closed | String writes not re-tested on R1.05 (ISS-129). Close when the user confirms. | `.claude/skills/item-engineering/tasks/string-items.md`, `SKILL.md`; C10, G10 summaries (done) |
| ISS-125 | 2026-10-08 | AUTH (`dssana.sup` no-login profile) | IM 36K10C10 §2.2 (R1.05) now names the no-login profile `CI_NO_LOGIN` (fixes the manual half of ISS-018). Still different: the manual says no profile is applied when that user is missing; the R1.05 `dssana.sup` help still says full authorization is used. | closed | Installed software stays the reference. Close when the user confirms. | `knowledge/manuals/IM36K10C10-01EN.md` (done) |
| ISS-126 | 2026-10-08 | ITEM (`ITEM_VAL` fields) | R1.05 `ITEM_VAL` has three new fields: `ENG_UNIT`, `SCALE_HIGH_LIMIT`, `SCALE_LOW_LIMIT`, not in any manual. Values not read yet (probably the item's units and scale limits). | open | Next: export `ITEM_VAL` of a test item read-only and compare with `ITEM_DF`. Relevant to RQL (`reporting`). | `.claude/skills/item-engineering/SKILL.md`, C10 summary, `.claude/skills/system-management/tasks/read-write-item.md` (done); `.claude/skills/reporting` (open) |
| ISS-127 | 2026-10-08 | TUTORIAL (CENTUM VP, HIS-TSE) | IM 36K10G10 ch. 14 (virtual test with the CENTUM VP FCS simulator, `tls\vagw\…\Controlbusemulation.exe`) and ch. 15 (HIS-TSE connection through RDP Connect, `.rdp` code signing, RD gateway) are new in R1.04/R1.05. | open | Not tested: no `tls\vagw`, no CENTUM VP or HIS-TSE on the R1.05 test server. | `knowledge/manuals/IM36K10G10-01EN.md`, `.claude/skills/item-engineering/SKILL.md` (done) |
| ISS-128 | 2026-10-08 | ENGINEERING MODULE (Tools menu) | IM 36K10C10 §1.1 has a new *Tools* menu with *OPC UA Information Model Mapper*; not in the revision table. Same mapper as in skill `data-access`. | closed | Confirmed in the installed menu definition (V3). Close when the user confirms. | `knowledge/manuals/IM36K10C10-01EN.md` (done) |
| ISS-129 | 2026-10-08 | ITEM (blocking, string writes on R1.05) | Blocking/unblocking (`ITEM_DF.BLOCKED`, `itmval -p` with and without `-o`) and string-item writes/truncation not re-tested on R1.05; definitions identical to R1.03. | open | Awaits the user's decision to test on the shared server with temporary sample items (V9). | `.claude/skills/item-engineering/tasks/block-item.md`, `string-items.md` (done) |

View file

@ -1,12 +1,18 @@
---
manual: IM 36K10C10-01EN
title: Engineering Module - I/O Processes
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; setup files and default datasets (users, authorization groups, schemes, trigger groups) checked read-only on the test system (2026-09-30)
edition: 5th Edition, Feb. 2026 (first written from the 3rd Edition, Sep. 2023)
version: R1.05 (first written for R1.03)
status: from docs; setup files and default datasets (users, authorization groups, schemes, trigger groups) checked read-only on the R1.03 test system (2026-09-30); item, section, sub-item and status dataset definitions, the item form and itm.sup compared with the R1.05 test server (identical, 2026-10-08)
---
# Engineering Module - I/O Processes (R1.03)
# Engineering Module - I/O Processes (R1.05)
**R1.05 edition (Feb. 2026)**: the revision table lists only §2.2 (R1.04). The full text diff
(2026-10-08) found three real changes: §1.1 has a new *Tools* menu (below), §2.2 now names the
no-login profile `CI_NO_LOGIN` (was `FT_NO_LOGIN`, ISS-018/ISS-125), and §3.3.4 gives the string
item length as default 80, maximum **200 bytes** (was 100 characters, ISS-019/ISS-124). The rest
is rewording and layout.
The Engineering Module (Java GUI) defines what CI Server knows: users and rights, sections,
items and sub-items, equipment (lines, stations, points, scan types), item statuses, classes,
@ -23,6 +29,9 @@ edit history (undo/redo of edits).
- *Archive*: automatic/manual archive, retrieve, mount/initialize/register storage media
(history, phase 9).
- *Playback*: record Engineering Module operations and open the recording viewer.
- *Tools* (new in R1.04/R1.05, not in the revision table): *OPC UA Information Model Mapper*,
maps CI Server data onto the information model of an external OPC UA server (IM 36K10E20
ch. 3; skill `data-access`).
- Configuration tree areas: sections and items; I/O processing (equipment, classes, …);
alarms; reports; history; authorization; references.
@ -50,9 +59,11 @@ exist yet, the Engineering Module asks you to define one instead of logging in.
Test system (`dssana.sup` installed values): local Engineering/Edit Module, Operator
Interface etc. use **SSO**; remote Playback Viewer, Quickload and Display/Symbol utilities are
**Deny**; OPC UA/ODBC use *Manual CI Server*. The no-login profile named there is
`CI_NO_LOGIN` (the manual says `FT_NO_LOGIN`, ISS-018); no user of that name exists on the
test system. The `dssana.sup` help says that when the no-login profile does not exist as a CI
Server user, **full authorization** is used (the manual says no profile is applied). Matches the
`CI_NO_LOGIN` (the R1.03 manual said `FT_NO_LOGIN`, ISS-018; the R1.05 manual says
`CI_NO_LOGIN` too); no user of that name exists on the test system. The `dssana.sup` help says
that when the no-login profile does not exist as a CI Server user, **full authorization** is
used (the manual, also in R1.05, says no profile is applied; the R1.05 `dssana.sup` help still
says full authorization, checked 2026-10-08). Matches the
test system: `Quickload Utility` has *No* login with an empty profile, and `dssqld` runs appear
in the audit trail as user `FULL AUTHORIZATION`. Create a restricted `CI_NO_LOGIN` user before
using *No* login anywhere (`IM36K10J40-01EN.md` §5).
@ -146,9 +157,10 @@ recommended; tag and type cannot be changed (delete and recreate).
exposure of `ITEM_VALUES`, task `data-access/rdbms-exposure.md`, tested in R1.05 only).
- *Limits and filtering*: HH/H/L/LL, deadband (values may be rounded), scale high/low, limit
clamping (HH-LL, H-L, scale, none), out-of-range support, trend axis limits, PIT values.
String items: max length, default 80. The manual says max 100; the installed software
accepts 1–200 and stores length − 1 characters, cutting longer values with status 12
OVERRANGED (verified, ISS-019).
String items: max length, default 80, maximum 200 **bytes** (R1.05 edition; the R1.03
edition said 100 characters). The installed software accepts 1–200 (same in the R1.05 data
dictionary) and stores length − 1 characters, cutting longer values with status 12
OVERRANGED (verified R1.03, ISS-019, ISS-124).
- *Equipment*: pick an existing I/O point of a station, or define a new point here (created
with the item; delete it yourself when deleting the item). No connection = internal item.
- *Alarming*: OPC AE detection (AE station/event source) or CI Server detection, diagnostic
@ -178,6 +190,12 @@ flags of `itmval -g`, ISS-001):
Also on the form: force to normal / force to alarm, priority, colour, mnemonic, text.
The option bits are the `ITEM_VAL` fields `BLOCKED`, `OFFLINE`, `UPDATED_OFFLINE`,
`ACKNOWLEDGED`, `UPDATED_BLOCKED` etc. (unchanged in R1.05). R1.05 adds three read fields to
`ITEM_VAL`: `ENG_UNIT`, `SCALE_HIGH_LIMIT`, `SCALE_LOW_LIMIT` (by their names the item's
engineering units and scale limits; seen only in the installed `item_val.dss` and data
dictionary, not in any manual, values not yet read, ISS-126).
## 4. I/O processing (§4)
**Equipment (§4.1)**: *lines* (protocol/connection), *stations* (controllers, identified
@ -248,6 +266,9 @@ PROCESS Service runs at 1-second resolution at best.
## Differences from the installed software
Logged in `knowledge/issues.md`; the installed software is taken as right:
- ISS-018: no-login profile `CI_NO_LOGIN` (manual: `FT_NO_LOGIN`).
- ISS-019 (closed): string item maximum length is 200 in the software (manual: 100; Tutorial: 168).
- ISS-018: no-login profile `CI_NO_LOGIN` (R1.03 manual: `FT_NO_LOGIN`; fixed in the R1.05
manual, ISS-125). Still different: what happens when that user does not exist.
- ISS-019 (closed): string item maximum length is 200 in the software (R1.03 manual: 100;
Tutorial: 168); the R1.05 manuals say 200 bytes (ISS-124).
- Installed authorization actions include `AGGREGATION_OVERWRITE_*`, not listed in §2.4.
- ISS-126: R1.05 `ITEM_VAL` has `ENG_UNIT`, `SCALE_HIGH_LIMIT`, `SCALE_LOW_LIMIT`, not described.

View file

@ -1,12 +1,18 @@
---
manual: IM 36K10C40-01EN
title: Engineering Module - Historical
edition: 3rd Edition, Sep. 2023
version: R1.03
status: Event/Item, Scan/Time and Aggregation storage groups verified by quick load on CI-Eng-Sample 2026-10-01; ithloahis loading rules verified; Engineering Module forms, archive and retrieve from docs
edition: 5th 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 - Event/Item, Scan/Time and Aggregation storage groups verified by quick load on CI-Eng-Sample 2026-10-01; ithloahis loading rules verified; Engineering Module forms, archive and retrieve from docs. R1.05 - full text diff against R1.03 (2026-10-08): only §4.2 changed; the history setup files and dataset definitions (HIS_GROUP_DF, ITEM_HIS_DF, ITEM_HISTORY) were compared with snapshots of the R1.05 test server taken earlier on 2026-10-08 and are identical apart from instance lines; storage groups not re-tested on R1.05 (no history group in the reduced sample load on the shared server)
---
# Engineering Module - Historical (R1.03)
# Engineering Module - Historical (R1.05)
**R1.05 changes** (full text diff against the R1.03 edition, 2026-10-08): only §4.2 *Access from
applications* changed (R1.04): the list of interfaces is now ODBC, .NET API, RESTful API,
pyTOOLS, `dssqld`, `ithloahis`; the C API is no longer listed, and remote access is now ODBC
**and** the RESTful API (was "ODBC only"). See §5 below. Everything else is unchanged apart
from the contact page and a corrected manual title in a cross-reference.
Item storage groups (*Configuration > Historisation > Item storage groups*), aggregation and
archive in the Engineering Module, plus how history is read. History manager internals:
@ -69,8 +75,9 @@ offline (other bad statuses do not count). Weekly/monthly/yearly are built from
`ithsag.sup` (aggregation process): `run_interval` (manual: *Heartbeat*, spreads the work,
600 s), `buffer_size` 20, `event_timeout` 1 s, `gap_time` 2880 min, `max_sample_delay` 14400
min, `max_open_files` 10, `queue_size` (installed **500** KB, manual default 200), `dif_sum_noise`.
Same values in the R1.05 `ithsag.sup` (compared 2026-10-08).
## 3. Verified behaviour (CI-Eng-Sample, 2026-10-01)
## 3. Verified behaviour (R1.03, CI-Eng-Sample, 2026-10-01)
- Loaded `CIENG_SCAN10S` (Scan/Time, 10 s) and `CIENG_AGG` (Aggregation, 30 min + hour) with
`dssqld -i`, 0 errors. **They stored nothing until CI Server was restarted** (ISS-006); after
@ -104,19 +111,36 @@ min, `max_open_files` 10, `queue_size` (installed **500** KB, manual default 200
reports and trends until its life time ends. (Known issue: alarm attribute databases are not
restored, IM 36K01A50.)
## 5. Reading history (§4)
## 5. Reading history (§4; §4.2 changed in R1.04)
- Classes (`DSS_OPEN_ALL("ITEM_HISTORY", "r", r)`, `DSS_SET_FILTER`, `DSS_READ_NEXT`,
`DSS_GET_FLOAT(…,"ITEM_VALUE",…)`), reports (`SELECT … FROM ITEM_HISTORY WHERE ITEM_NAME = …
and INTERPOLATION = 'Hour' and ATTRIBUTE = 'Maximum' …`), ODBC (only remote way), C / .NET API,
`dssqld`, and `ithloahis` for writing.
and INTERPOLATION = 'Hour' and ATTRIBUTE = 'Maximum' …`), and `ithloahis` for writing.
- Applications (§4.2, R1.05 edition; from docs):
| Interface | Kind | Reaches | Remote (no CI Server software on the client) | More |
|---|---|---|---|---|
| ODBC | interface for any application | datasets (`ITEM_HISTORY`, `ALARM_CHRONO`) | yes | skill `data-access` (L45 summary §1) |
| .NET API | interface for .NET applications | datasets | no | — |
| RESTful API (new in R1.04) | HTTP (GET, PUT …) for web applications | datasets | yes | skill `data-access` (L45 summary §9: `GetHistory`, `GetHistoryMultiTag`) |
| pyTOOLS (new in R1.04) | Python library | datasets | no | IM 36K10P40 §3.13 (no skill yet) |
| `dssqld` | tool | datasets | no | skill `system-management` |
| `ithloahis` | tool | items (writes history) | no | skill `system-management`, task `load-history.md` |
The R1.03 edition also listed a C API (local only); the R1.05 edition no longer does.
pyTOOLS (IM 36K10P40 §3.13, from docs) reads history directly from ITEM Service instead of
through DSS (faster): `dss.getHisGroupItems(...)` lists a group's items,
`dss.getItemHistory(...)` returns samples for an interval, with optional attribute and
aggregation period. Its names differ from the `ITEM_HISTORY` filter values (e.g. `AGGR_MAX`,
`30_MINUTES` instead of `Maximum`, `30Minutes`); not tested.
- Aggregates are selected with `INTERPOLATION` (`Hour`, `Day`, `Month`, `Year`, …) and
`ATTRIBUTE` (`Maximum`, `Minimum`, `Average`, `Integration`, `Standard deviation`,
`Counter`, `Differential summation`).
- `ithloahis -f <csv> [-v] [-l] [-i] [-s <section>] [-t GMT|LST|LCT]`: SCAN or EVENT files
(skill `system-management`, task `load-history.md`).
## 6. Troubleshooting (§5)
## 6. Troubleshooting (§5; unchanged in R1.05)
`hisdbg` (3 unit info, 20 all groups, 21 group by name), `hisrep`, `hisrecover`, `isfrename`;
archive: the `has.sup` status item and `hasdbg` (11 media, 8 overview, 10 delete a medium).

View file

@ -1,15 +1,62 @@
---
manual: IM 36K10C50-01EN
title: Edit Module
edition: 3rd Edition, Sep. 2023
version: R1.03
status: display CIENG_Tank built by the user in the Edit Module (text, number field, alarm overview, trend) and checked as XML and HTML 2026-10-01; jwuiutl search, validate and HTML export verified; trend settings (§2.27) tested one by one on CIENG_TrendLab 2026-10-02 (skill graphics, tasks/trend.md); generated sample displays (CIENG_*, most components: shapes, arc, text, number/text/date-time fields, buttons, toggle, check box, slider, spinner, combo box, data bar, scales, alarm overview, report, micro trend, trend) checked on desktop and web 2026-10-06; symbols, other actions and the tutorial from docs
edition: 5th Edition, Feb. 2026 (R1.05); first summarised from the 3rd Edition, Sep. 2023 (R1.03)
version: R1.05 (first written for R1.03)
status: R1.05 re-check 2026-10-08 - full text diff R1.03 → R1.05 reviewed (section "Changes in R1.04 and R1.05"), from docs; nothing re-tested on the R1.05 test server (shared, no displays may be changed). R1.03 results - display CIENG_Tank built by the user in the Edit Module (text, number field, alarm overview, trend) and checked as XML and HTML 2026-10-01; jwuiutl search, validate and HTML export verified; trend settings (§2.27) tested one by one on CIENG_TrendLab 2026-10-02 (skill graphics, tasks/trend.md); generated sample displays (CIENG_*, most components: shapes, arc, text, number/text/date-time fields, buttons, toggle, check box, slider, spinner, combo box, data bar, scales, alarm overview, report, micro trend, trend) checked on desktop and web 2026-10-06; symbols, other actions and the tutorial from docs
---
# Edit Module (R1.03)
# Edit Module (R1.05)
The Edit Module draws displays and symbols for the Operator Interface (desktop) and the HTML
display. Displays are XML files (`IM36K10R30-01EN.md` §1). Section numbers refer to the manual.
display. Displays are XML files (`IM36K10R30-01EN.md` §1). Section numbers refer to the manual;
the numbering is the same in R1.03 and R1.05 (§2.31 is now titled *Generic Functions*).
## 0. Changes in R1.04 and R1.05 (from docs, full text diff 2026-10-08)
Listed in the revision table: R1.04 §2.22 (alarm overview properties), §2.31 (*Password Check*),
§4.12 (update item/parameter); R1.05 §2.22, §2.25, §2.26, §2.33 (properties), §2.31 (*RDP
Connect*). The diff found these, including edits the table does not name:
- §1.5 `jwuiutl -m` / `-M`: output described as space-separated instead of CSV; cross-reference
"previous section" → "next section" (wording). *(not in the table)*
- §1.7: the note "HTML display is not supported for enterprise operations" was removed.
*(not in the table)*
- §2.22 Alarm overview: *[Acknowledgement]* category - *Use Custom Acknowledgement* (acknowledge
from a separate user-made window) enabling *Acknowledge Event* (pulses TRUE), *Acknowledged
Alarm* / *Text* / *Time*; *Selected Alarm Key*; *[External Acknowledgement]* *Alarm Key*,
*Approver*, *Reason*, *Trigger*; *[Enterprise Alarm Locations]* *Alarm Source Locations[nn]*.
- §2.25 Dataset tables: column *Icon*, *Icon filter* (match, not-match, bitwise AND),
*Icon tooltip*; operator column sorting; single / multiple row selection; *[Enterprise
Dataset Locations]*; enterprise location now supported on the HTML display. Example filters
use `ACTION_TIME >=`.
- §2.26 Report: *[Enterprise]* primary / secondary data location (supported on the web).
- §2.27 Trend: *Enterprise* property now supported on the HTML display. *(not in the table)*
- §2.31 *Calculation/Function* renamed **Generic Functions**; execution timing documented
(Date and Time 200 ms; other operations on input change, polled every 100 ms, and at display
load/reload) *(timing not in the table)*; **Password Check** (T[I1] user, T[I2] password →
B[O], T[O] user name or the DSS error; needs login method *Manual CI Server* or *Manual OS*
for the Password Check function in `dssana.sup`, *Login control*); **RDP Connect** (T[I1]
host, optional T[I2] RemoteApp, T[I3] its arguments, T[I4] RD Gateway `host[:port]`; writes an
`.rdp` file, name to T[O]; installed `tls\com\connectrdp.cmd`).
- §2.32 JavaScript Function: inputs polled every 100 ms, script also runs at display
load/reload; the `io` object is described as implemented in Java. *(not in the table)*
- §2.33 Web Browser: new engine (WebRTC, HTTPS, WebSocket, HTTP/2, HTTP/3; VP8/VP9/WebM,
Opus/Vorbis/PCM; *Media player* wording removed); content from R1.04 or earlier may not play
after upgrade; right-click menu; new *[Printing]*, *[Status]*, *[Security]* properties
(*Enable Microphone/Camera*, *Allow Insecure Certificates*, *Allow Local file access*; local
files for CI Mobile View go under `%TLS_ALLUSERS_PATH%\wap`).
- §2.36 Display generator: the note "not supported on HTML displays" was removed. *(not in the
table)*
- §2.37 Map viewer: wording of centre latitude/longitude (decimal fractions), click
information cross-references. *(not in the table; same meaning)*
- §4.12 Actions sheet: *Update item/parameter* can record **Reason** (≤ 256 characters) and
**Approver** (≤ 128) in `AUDIT_TRAIL` (`APPROVAL_REASON`, `APPROVER`); values can be offered
from user-defined parameters; two recipes for alarm acknowledgement with reason/approver
(item parameter with attribute *Acknowledged*, item alarms only; or the overview's
*External Acknowledgement* properties, item and external alarms).
Practical notes for the skill: `.claude/skills/graphics/tasks/create-display.md` (section R1.05).
## 1. Window and files (§1)
@ -42,6 +89,10 @@ display. Displays are XML files (`IM36K10R30-01EN.md` §1). Section numbers refe
| `-e HTML [-o <dir>] [-f <deployment>] [<display>]` | Export HTML displays |
| `-b`, `-z`, `-h true/false` | Also save `.xml.bin` (faster loading) / compressed / set HTML mode |
| `-un`, `-pw` | User for enterprise displays |
| `-t`, `-?` / `--help` | Debug trace / print the option list (read-only) |
R1.05: the option list in the manual is unchanged; the installed help text on the R1.05 test
server was not compared yet (awaiting user verification, ISS-094).
**Verified on the test system:** `-d -m TANK1` and `-d -v -i -l` ran without errors; locked
displays and displays saved by a newer version are skipped (`*** Display locked <name>`,
@ -60,8 +111,8 @@ export; dialog tabs Types, Columns, Filter, Alarm link display, Appearance, Head
Fetching, Alarm Shelving, Enterprise, Advanced, Attributes), list of blocked items, alarm
sound, dataset tables (view/edit dataset records), report, **trend** (pens on items with
history; shows limits; time slider and controls; definitions can be saved from the operator
interface; every setting tested in skill `graphics`, `tasks/trend.md`), DTS trend, micro trend, playback indicator, calculation/function, JavaScript
function, web browser, PDF viewer, navigation tree, display generator, map viewer.
interface; every setting tested in skill `graphics`, `tasks/trend.md`), DTS trend, micro trend, playback indicator, Generic Functions (R1.03: calculation/function;
§0), JavaScript function, web browser, PDF viewer, navigation tree, display generator, map viewer.
## 4. Sheets (§4)

View file

@ -1,12 +1,12 @@
---
manual: IM 36K10C60-01EN
title: Advanced Operating Graphics
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; installed AOG displays checked read-only (DEPLOY\displays, mobileoperator) 2026-10-01
edition: 5th Edition, Feb. 2026 (R1.05); first summarised from the 3rd Edition, Sep. 2023 (R1.03)
version: R1.05 (first written for R1.03)
status: from docs; R1.05 full text diff reviewed 2026-10-08 (only §1.2.2 changed); installed AOG displays checked read-only on R1.03 (DEPLOY\displays, mobileoperator) 2026-10-01; R1.05 AOG display/symbol lists awaiting user verification (ISS-097)
---
# Advanced Operating Graphics — AOG library (R1.03)
# Advanced Operating Graphics — AOG library (R1.05)
A ready-made library of symbols and displays in a consistent, high-performance HMI style,
used from the Edit Module's Visualization sheet. Section numbers refer to the manual.
@ -27,7 +27,15 @@ Standard displays: `AOG_Default`, `AOG_DisplayTemplate` (start for new displays)
`AOG_AlarmHistory`, `AOG_AlarmShelved`), `AOG_AuditTrail`, `AOG_ItemFaceplate`,
`AOG_ItemTuningPanel`, `AOG_ObjectFaceplate`, `AOG_ObjectTuningPanel`, `AOG_SetItemMode`,
`AOG_SetObjectMode`, `AOG_SetNumberPV/SV/SL/SH/SLL/SHH`, `AOG_LockStatus`, `AOG_TrendOpen`,
OPC UA method call displays; plus demo displays. **Installed**: these are in
OPC UA method call displays; plus demo displays. R1.04 (§1.2.2) documents the demo displays
`AOG_UAC_Method_Demo` (already installed on R1.03), `AOG_UAC_MethodArg_Call2` and
`AOG_OPCUA_Methods` (not on the R1.03 machine, which has `AOG_UAC_MethodArg_Call` and
`AOG_UAC_Method_Call`; R1.05 names not checked, ISS-097): a list of OPC UA client
methods and a display to set input arguments, call a method and read the outputs, last call
time and result. The CI Server method object (made from `UAC_MTD_JBASE`) must have at least as
many input/output arguments as the external method; fewer give the errors *incorrect method
key* / *incorrect input/output parameters* (skill `data-access`, OPC UA methods; from docs).
**Installed (R1.03)**: these are in
`DEPLOY\displays`, and the alarm, audit, default, menu, style, trend and UA method displays also
exist as HTML displays.

View file

@ -1,12 +1,12 @@
---
manual: IM 36K10G10-01EN
title: CI Server Tutorial
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; item, sub-item, blocking, trigger group, class and object steps verified with dssqld/itmval on CI-Eng-Sample (2026-09-30)
edition: 5th Edition, Feb. 2026 (first written from the 3rd Edition, Sep. 2023)
version: R1.05 (first written for R1.03)
status: from docs; item, sub-item, blocking, trigger group, class and object steps verified with dssqld/itmval on CI-Eng-Sample (R1.03, 2026-09-30); sections, items, sub-items, trigger group, classes and objects of the reduced sample load verified on the R1.05 test server (2026-10-08); ch. 14–15 not tested (no CENTUM VP)
---
# CI Server Tutorial (R1.03)
# CI Server Tutorial (R1.05)
A guided tour of the main engineering tasks in the Engineering Module and Edit Module. Each
chapter points to the full manual for its area; the table shows where this repo covers it.
@ -26,6 +26,8 @@ chapter points to the full manual for its area; the table shows where this repo
| 11 | Item search | IM 36K10C10 (phase 5) |
| 12 | Excel Add-in | IM 36K10E10 (phase 11) |
| 13 | History: storage groups, units, collection types, aggregation, archiving | IM 36K10L20, C40 (phase 9) |
| 14 | Virtual test with the CENTUM VP test function (FCS simulator) — new in R1.04, extended in R1.05 | IM 36K10L55, IM 36K01C10; not covered by a skill |
| 15 | CENTUM VP HIS-TSE connection (RDP Connect, RD gateway) — new in R1.05 | IM 36K10C50 §2.31, IM 36K10L55 §2.7; skill `graphics` |
## Key points
@ -36,9 +38,10 @@ Module and Operator Interface.
**Items (ch. 3)**
- Full name `Section.Sub-section.Item` (max 255 bytes; no `:` or `.` inside a name; case
insensitive). Sections can be blocked as a whole, e.g. for maintenance.
- Types: Boolean, Integer, Real, String (the Tutorial says max length 80 by default, up to 168
without audit; the installed R1.03 allows `STRING_LENGTH` 1–200 with or without audit and
holds length − 1 characters, verified, ISS-019).
- Types: Boolean, Integer, Real, String. String length (§3.2.2): default 80, maximum 200
**bytes** in the R1.05 edition (the R1.03 edition said 168 without audit, ISS-019). The
software allows `STRING_LENGTH` 1–200 with or without audit and holds length − 1 characters
(verified R1.03; same limit in the R1.05 data dictionary, ISS-124).
- Four limits (LL, L, H, HH) plus a deadband set the status LOWLOW…HIGHHIGH; the deadband sits
on the normal side of each limit. Scale high/low give OVERRANGED / UNDERRANGED.
Booleans set status TRUE/FALSE.
@ -90,7 +93,9 @@ on a schedule, or on an item event (with delay). Destinations: `DEFAULT`, `PRINT
named `<subject group>.<attribute>.<action>.<source>`, e.g. `ITEM.VALUE.MODIFY.HMI`; records
cannot be deleted except by deleting storage units. On R1.03.00 configuration and DSS changes
are recorded per dataset (e.g. `ITEM_DF.HIGH_LIMIT.MODIFY`); details in `IM36K10L25-01EN.md`,
skill `audit-trail`.
skill `audit-trail`. R1.04 added to §9.2 a column for the **approver and reason**: who approved a
change of a critical process parameter, or who acknowledged an alarm and with what comment
(from docs).
**RDBMS exposure (ch. 10)**: copies CI Server data (`ITEM_VALUES` aggregated per interval,
`ITEM_HISTORY` with a mandatory filter, `ITEM_INPUTS` for writes back, or any dataset on
@ -102,10 +107,69 @@ its target table. **Tested in R1.05 only** for `ITEM_VALUES` (skill `data-access
removed (ISS-058); with the local `.\CIX_PROCESS` a remote SQL Server needs a SQL login
(ISS-059).
**CENTUM VP virtual test (ch. 14, R1.04, extended R1.05)**: CI Server graphics and alarms can
be tested against the FCS simulator of the CENTUM VP test function running on another PC.
Preparation: CENTUM VP project data and tags in CI Server (CI Exchange for CENTUM VP or by
hand; later VP project changes are not picked up), the optional CENTUM VP *Expanded Test
Function* started on the VP PC (clear *No Connect to Other PC*; R7.01 or later can allow
multiple projects), optionally Exaopc as an OPC AE station with *Broadcast Equalize Message*.
Start order: (on a virtual machine) set Vnet/IP domain and station number to 0 in the Vnet/IP
Interface Management Tool and reboot; stop VAGW and CI Server; start the control bus
communication emulation as a `CIX_MAINTENANCE` member in an elevated prompt
(`%TLS_ROOT_PATH%\tls\vagw\program(x64)\Controlbusemulation.exe -s <domain> <station> -p
<VP project DB path> -h <simulator host>`; tray icon while it runs); start VAGW (if used) and
CI Server. End in reverse: stop CI Server, stop VAGW, run the emulation with `-e` (or use the
tray icon). Test with field devices disconnected and restart the CI Server PC whenever you
switch between real and virtual mode. With HAC set both servers to manual mode first, build
the test environment on each, then back to automatic. **Not tested**: the `tls\vagw` folder
is not installed on the R1.05 test server (no Vnet/IP option), and there is no CENTUM VP
(ISS-127).
**HIS-TSE connection (ch. 15, R1.05)**: CI Server (CI Portal / CI View) acts as a client of
the CENTUM VP HIS-TSE (remote operation and monitoring) server over remote desktop, so
operators can open VP graphic, trend, faceplate and tuning views (also for block types CI
Server does not render). Needs CENTUM VP R6.07.10 or later; not for HTML displays; CI Server
cannot be installed on the HIS-TSE server.
- Edit Module: a *Generic Functions* component with function *RDP Connect*: Text Input 1 =
remote host, 2 = RemoteApp alias/program (`BKHBos` for HIS-TSE), 3 = its command line
(`-D` desktop mode; `-P O <tag or view>` panel mode, e.g. a faceplate or tuning view;
`@<project ID>` after the tag for a lower project with duplicate tag names), 4 = RD gateway
host[:port] (default 443). A parameter (e.g. `isButtonClicked`) triggers it.
- CI Exchange for CENTUM VP: project option *Display from HIS-TSE Server* (server name,
optional RD gateway) adds an RDP connection button to generated faceplates (RGS and RGS
with EAL projects; older projects via project properties, then regenerate).
- The generated `.rdp` file should be signed: each user creates a self-signed code-signing
certificate once (PowerShell script given in §15.3, valid one year by default).
- Limits: 4 or 8 sessions per HIS-TSE server; the number of VP windows per client is limited
per mode (table 15.4-1; panel mode one window); panel mode runs as RemoteApp and cannot reset
the buzzer, so some alarm buzzers do not sound; closed sessions linger 20 s, and a disconnect can block
reconnecting for about a minute unless the RemoteApp logoff delay policy on the server is set
to *Immediately*. End the session with *User Out* (Ctrl+Alt+Backspace).
- §15.5: RD gateway in the DMZ (may share the CI Portal machine), Windows Server, SSL
certificate (CA or self-signed), IT security settings.
- On the R1.05 test server only the launcher `tls\com\ConnectRDP.cmd` was found (2026-10-08).
**Not tested** (no HIS-TSE server, ISS-127).
**Other**: Item search (wildcards, copy/drag to Excel or Trend); Excel Add-in reports;
history storage groups and archiving (phase 9).
## Verified on CI-Eng-Sample (command-line equivalents)
## R1.05 edition: other changes (from docs)
Found by the full text diff (2026-10-08); the revision table lists only §9.2 (R1.04) and
ch. 14–15:
- §3.2.2: string length now in bytes, maximum 200 (see *Items*).
- §8.10.2 / §8.11 (printer device): device status item and output-type parameters reworded,
same meaning (status item can be any type except Boolean, the device has more than three
states).
- §13.7.2 (storage group item, Event collection): conditions reworded; the sentence saying a
PIT filter can be set per item was dropped (the *Pass PIT* condition remains).
- §13 cross-reference corrected (13.9 → 13.7).
## Verified on CI-Eng-Sample (command-line equivalents, R1.03 2026-09-30)
On the R1.05 test server (2026-10-08) the reduced sample load created the same sections,
items, sub-items, trigger group, classes and objects with 0 errors; `DEMO.COUNTER` counted and
`TANK1.LEVEL.MAX` followed the level. Blocking was not repeated there (shared server).
| Tutorial step | Done with | Result |
|---|---|---|

View file

@ -1,15 +1,16 @@
---
manual: IM 36K10J10-01EN
title: CI Server System Design/Management
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs
edition: 5th Edition, Feb. 2026 (R1.05); first written from the 3rd Edition, Sep. 2023 (R1.03). Changed since: R1.04 §2.9.1 (listed); found by the full text diff but not listed: §3.2.6 Gateway new, §5.1 License Request Wizard removed
version: R1.05 (first written for R1.03)
status: from docs; tool notes verified on R1.03 (2026-09-30); R1.05 changes added from the 5th Edition and the tools, start scripts and setup files used by skill system-management re-checked read-only on the R1.05 test server (2026-10-08)
---
# System Design / Management (R1.03)
# System Design / Management (R1.05)
How CI Server is built, how to choose a system layout, and how to run, back up, monitor,
tune and migrate it. Section numbers refer to the manual.
tune and migrate it. Section numbers refer to the 5th edition (same numbering as the R1.03
edition; §3.2.6 is new).
## 1. Fundamentals
@ -60,7 +61,7 @@ tune and migrate it. Section numbers refer to the manual.
| Reporting (2.6) | REPORT | Configure in the Engineering module (query, schedule, trigger item, destination) → generate by schedule, trigger item or ad hoc → output via spool statement or destination (file, printer, application) → stored in history with a lifetime set by the storage group. |
| User authorization (2.7) | USER | Users belong to authorization groups; groups grant actions. Can be managed through a Windows domain (see Active Directory Integration, IM 36K10J40). |
| Multi-node (2.8) | BUS | **DURM** protocol between nodes: dynamic routing, best-line selection, auto-connect to the active HAC server, encryption and server certificates. |
| External interface (2.9) | ACCESS | ODBC (Simba server on the Core; optional license; the only route for non-Windows clients), OPC classic DA/AE/HDA (local network), OPC UA, remote database copy (mirror to external tables for complex queries; watch export size), Excel Add-in, command-line tools. |
| External interface (2.9) | ACCESS | ODBC (Simba server on the Core; optional license), **RESTful API** (HTTP GET/PUT from remote systems; *Manual CI Server* or *Manual OS* login), OPC classic DA/AE/HDA (local network), OPC UA, remote database copy (mirror to external tables for complex queries; watch export size), command-line tools, Excel Add-in and **pyTOOLS** (Python library; *Manual CI Server* login only). The login method per access route is set on the *Login control* tab of `dssana.sup`. R1.04 change (§2.9.1): REST API and pyTOOLS added; the R1.03 remark that ODBC is the only route for non-Windows clients was dropped. |
**Class, object, symbol (2.4)**
- A **class** defines items, template items and processing; written in the *traditional*
@ -98,6 +99,7 @@ ISA-99 / IEC 62443 and ISO/IEC 17799 (security).
| **HAC** (high availability): ACTIVE + STANDBY Cores | Continuous operation required; large history that needs a live copy | Stable (ideally redundant) link between servers and to the island-detection network device; license Audit log if it is monitored |
| **Host to Host**: a client Core collects from server Cores via DURM | Reuse data at another site/level; RGS on Vnet/IP forwarding upward | Storage on the client Core can grow large |
| **Enterprise operation/engineering** | Share data and displays across Cores; standardize engineering (EES deploys configurations) | Needs deep knowledge of dataset dependencies |
| **Gateway** (§3.2.6, new in the 5th edition) | A CI Core with a gateway licence only collects, converts and stores RTU data and passes it on to other systems; no operator monitoring there | No operator interface on that Core, nor on Portals / CI View connected to it (a regular Core linked to it keeps its own). Tick *Gateway Core* on the *General* tab of `dur.sup` (keyword `GATEWAY_CORE`, installed `No`); licence and switch must agree, otherwise a message goes to the message log |
- HAC: modes MANUAL / AUTO; functions monitoring (restart processes/server), watchdog (shuts
itself down if isolated), mirroring; options journaling (recommended on small systems) and
@ -153,7 +155,9 @@ owns its design.
- Install on a fixed, tested patch level; no automatic Windows updates; apply only
Yokogawa-evaluated patches.
- Antivirus with real-time scanning; exclude `C:\Users\Public\Yokogawa\tls\dat`, `…\tls\sav`,
`…\tls\his`.
`…\tls\his` (the manual's default paths, unchanged in the 5th edition; use the actual
`%TLS_DAT_PATH%`, `%TLS_SAV_PATH%`, `%TLS_HIS_PATH%` — on the R1.05 test server they are under
`C:\Yokogawa\CIServer\tls`).
- Recommended user groups: **Administrators** (everything), **Maintenance** (users, logs,
datasets), **Engineers** (engineering module: alarms, reports, graphics), **Operators**
(operator screens), **InternalProcess** (internal accounts, non-expiring passwords). The
@ -200,12 +204,19 @@ and reporting status into items:
| `intadtnot` | writes an AUDIT event from a script | `intadtnot -e A.B.C.D [-u user] [-t terminal] [-o old] [-v new]` |
| `intspawn` | runs a command on item value/status/option change, timer or node up/down (max 64 triggers) | `intspawn -n intspawn`, triggers in `intspawn.sup` |
*R1.05 (installed, 2026-10-08):* the `int*.sup` files and the commented start lines in
`integration_start.cmd` are unchanged; every start/stop script in `tls\com` now also calls
`?*_<script name>.cmd` extension scripts, e.g. `?*_integration_start.cmd` (not in the manual;
skill `system-management`, `monitoring-processes.md`).
**Problem handling (4.2)**: identify → investigate (performance monitors, logs, debug mode,
debug tools) → fix (memory size, queue size, load balancing, patch).
## 5. Implementation
**Engineering tools (5.1)**: License Request / Authorization wizards, Setup File Editor
**Engineering tools (5.1)**: License Authorization wizard (the 5th edition no longer lists the
License Request wizard; neither R1.03 nor R1.05 installs a `jtoolslicreq` script, although
§5.5.2 still names `jtoolslicreq_debug`), Setup File Editor
(changes apply after the process restarts), Engineering module (Enterprise version for
enterprise systems), Edit module (displays and symbols), CI Exchange (import CENTUM VP
projects), Performance Monitor, Message log, ASPA, Excel Add-in, `hacw_hmi` (HAC management).
@ -235,6 +246,9 @@ usability), administrator tasks (backup, accounts, monitoring), performance and
too often: fix triggers/schedules, or add instances and priorities.
- Database: collisions under 250/s; entries under 80 % of max users (default 2K); max files
1,200. Set `-u` / `-f` in `database_start.cmd`; check with `ismdbg`.
- *R1.05 (installed):* `dur.sup` and `itm.sup` pool sizes and `dur_max_proc` unchanged;
`DSSSDA_QUESZ` raised to 1000 and `DSSMAN_QUESZ` 1000 added in `dss.sup`; the system monitor
also snapshots `netstat -anob` and the web server (`isgsnap`).
**Debugging (5.5.2)**
- Enable debug/log per process in its setup file (`<process>.sup`, level 1–3, log size);
@ -256,6 +270,10 @@ usability), administrator tasks (backup, accounts, monitoring), performance and
`STATUS_DF`, `ALARM_ACK_DF`, `ALARM_AOI_DF`, communication `*_LINE_DF` / `*_STATION_DF` /
`*_POINT_DF`, `INSTALL_DF`, `UNIT_DF`, `ITEM_DF`, `HIS_GROUP_DF` (item storage groups
only), `CLASS_DF`, `OBJECT_DF`, `REPORT_DF`. Drop fields removed in the new release.
*R1.05 (installed):* also export what the installed `dss_export.qli` does not cover, e.g.
`OPCUAC_METHOD_CALL2_DF`, the IEC 61850 / MQTT datasets and `UASERVER_MAPPER_DF`; API keys
(`API_KEYS_DF`) are excluded from full exports on purpose (create new keys on the target).
Exporting `OBJECT_DF` leaves 0-byte `dss_*.tmp` files in `tls\lst` (clean up afterwards).
2. Re-apply setup file changes on the new system (setup file contents can change between releases).
3. Edit exports (e.g. node names in `PRINTER_TYPE_DF`, `*_LINE_DF`, `ITEM_DF`; set the
`COMPILE` flag to 1 in `CLASS_DF`), then import in dependency order:

View file

@ -1,12 +1,19 @@
---
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
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.03)
# 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
@ -24,9 +31,9 @@ numbers refer to the manual. Engineering Module forms and item storage group typ
| `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`.
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
@ -71,7 +78,7 @@ opt_type shows the item collection/storage type (the manual's table is garbled i
**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,
**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.
@ -95,7 +102,7 @@ included in archiving); force rollover of `CIENG_EVENT` closed unit 3,1 and star
(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`,
- **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`.

View file

@ -1,12 +1,12 @@
---
manual: IM 36K10L30-01EN
title: BUS Service Engineering
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; installed tools, setup files (dur.sup, durm_1_udp.sup, time_table.sup, fmfprt.sup, durutl.sup) and durm_start.cmd checked read-only 2026-10-01; durwfp verified; umhman, umhtestprog, umhmsg verified after a fresh start (ISS-030)
edition: 4th Edition, Feb. 2026 (R1.05); first written from the 3rd Edition, Sep. 2023 (R1.03). Revision table: contact information only; full text diff: only §10 (`durwfp` return value) reworded, same meaning
version: R1.05 (first written for R1.03)
status: from docs; R1.03 (2026-10-01): installed tools, setup files (dur.sup, durm_1_udp.sup, time_table.sup, fmfprt.sup, durutl.sup) and durm_start.cmd checked read-only; durwfp verified; umhman, umhtestprog, umhmsg verified after a fresh start (ISS-030). R1.05 (2026-10-08, read-only on the test server): dur.sup, durm_1_udp.sup, durutl.sup and start scripts compared with R1.03; durwfp and umhman verified
---
# BUS Service Engineering (R1.03)
# BUS Service Engineering (R1.05)
BUS Service is CI Server's messaging layer ("DUR", Dynamic User Region): every CI Server
process attaches to a shared memory area and gets a **queue** (mailbox) under its DUR name;
@ -49,11 +49,18 @@ CI Server executables, e.g. `opxuas -n opxuas`).
`ENABLE_DURMS N, 0` (host-host encryption, §13); `durm_1` is running although there is no
second node; `durutl.sup` has no active lines.
**R1.05 (installed, 2026-10-08):** `durm_1_udp.sup`, `durutl.sup` and `time_table.sup` settings as
on R1.03 (`durm_1_udp.sup` and `durutl.sup` byte-identical). `dur.sup` has one new keyword,
`GATEWAY_CORE` (*Gateway Core*, default and installed `No`) for a CI Core with a gateway licence,
described in IM 36K10J10 §3.2.6, not in this manual. `bus_start.cmd` and `durm_start.cmd` end by
calling `?*_bus_start.cmd` / `?*_durm_start.cmd` extension scripts.
## 3. Messages and the message log (§5, §6)
- Codes look like `FAC-S-ACRONYM` (S = S/I/W/E/F). Text comes from `messages.umh`; dynamic
values are inserted by name; several codes can form one history entry.
- `umhlog` writes to `tls\log\umhlog.log`; `-d <node>` also logs centrally on another node,
- `umhlog` writes to `tls\log\umhlog.log` (R1.05: rolls over to `umhlog.old` at about 40 MB;
the system monitor starts its logging with size `l40`, R1.03 `l4`); `-d <node>` also logs centrally on another node,
`-q <printer queue>` prints too.
- Tools: `umhtestprog` (tests the message path), `umhmsg <hex code> [<var> <value>]…`
(issue a message from a script), `umhman` (look up a hex code, interactive),
@ -80,7 +87,7 @@ second node; `durutl.sup` has no active lines.
| Command | Use |
|---|---|
| `durwfp -p <name> [-t <s>] [-e]` | Exit 0 if the process is attached (waits up to `-t`, default 60; `-t 0` = check now); `-e` waits for it to go away. Verified: `umh`, `opcman` → 0, unknown name → 1 |
| `durwfp -p <name> [-t <s>] [-e]` | Exit 0 if the process is attached (waits up to `-t`, default 60; `-t 0` = check now); `-e` waits for it to go away. Verified on R1.03 and R1.05: `umh`, `opcman` → 0, unknown name → 1. The manual (reworded in the R1.04 edition) says the result is 1 when attached and 0 otherwise — the opposite of the process exit code (ISS-120) |
| `durstp -m -p <name>` | Send a stop message (clean stop). `-k` kills, `-m -k` = stop, then kill after `-t` s; `-f` kills even with the common area locked (dangerous); `*` wildcard (`-p alm\*`). Never `durstp -k -p \*` |
| `durbat` | Starts processes on request from other processes (also remote) |
@ -129,5 +136,5 @@ KB* and a high-queue of 100 % show that a queue needed more space → raise its
exhausted → `DUR_F_NO_SPACE`.
**Installed**: `ALM` 10, `ALH` 10, `WFLGDI` 20, `WFLCDI`/`WFLIDI`/`WFLADI`/`ITHEIX`/`ITHSER` 2,
`DSSSDA*`/`DSSEVT*`/`OPCEXE` 1 %. Note: `OPCEXE` does not match the installed executor names
`OPCEXE1`…`4` (no wildcard) — see ISS-026.
`DSSSDA*`/`DSSEVT*`/`OPCEXE` 1 %; R1.05 adds `ADTSTO` 1 %. Note: `OPCEXE` does not match the
installed executor names `OPCEXE1`…`4` (no wildcard) — see ISS-026; unchanged on R1.05.

View file

@ -1,12 +1,19 @@
---
manual: IM 36K10L35-01EN
title: ITEM Service Engineering - ITH
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; installed ITH processes (item_start.cmd), setup files itheex.sup and itheix.sup checked read-only on the test system (2026-09-30); ithloahis practiced in phase 1
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 - from docs; installed ITH processes (item_start.cmd), setup files itheex.sup and itheix.sup checked read-only on the test system (2026-09-30); ithloahis practiced in phase 1. R1.05 - text diff against R1.03 shows no content change (2026-10-08); all ith*.sup files compared with snapshots of the R1.05 test server (identical apart from the creation date in ithini.sup); item_start.cmd / item_stop.cmd differ, content not yet read (awaiting user verification, ISS-100)
---
# ITEM Service Engineering - ITH (R1.03)
# ITEM Service Engineering - ITH (R1.05)
**R1.05:** the 4th Edition (Feb. 2026) has no content change against the R1.03 edition (full
text diff, 2026-10-08: one sentence in §5 reworded with the same meaning, title spacing,
contact page). Section numbers are unchanged. Installed on the R1.05 test server (compared
2026-10-08 with snapshots taken that day): the same ITH program and setup file names, every
`ith*.sup` identical (values below still hold); `item_start.cmd` / `item_stop.cmd` differ from
R1.03 (ISS-100), so the start list below is the R1.03 one until the R1.05 file is read.
ITH is the item-history part of ITEM Service: it gathers item values from ITM and stores and
retrieves them for the storage (history) groups that HISTORY Service manages. Section numbers
@ -30,8 +37,8 @@ refer to the manual. Storage groups themselves: phase 9 (IM 36K10L20, C40).
time window and hands the request to a retrieve process. Keeps the item directory.
- `ITHDBG` debugger, `ITHRECOVER` repair.
- Start/stop lists: `tls\com\item_start.cmd` / `item_stop.cmd`; processes for unused types can
be removed there. **Installed R1.03 start list**: `ithser`, `itheex`, `itheix`, `ithstx`,
`ithsde`, aggregation `ithsag` and retrieve processes in **two instances each**
be removed there. **Installed R1.03 start list** (R1.05 file differs, ISS-100): `ithser`,
`itheex`, `itheix`, `ithstx`, `ithsde`, aggregation `ithsag` and retrieve processes in **two instances each**
(`ithrte00/01`, `ithrei00/01`, `ithrag00/01`, `ithrtt00/01`, `ithrde00/01`). Not started:
`ithsix`, `ithrti`, `ithsdi`, `ithrdi`.

View file

@ -1,12 +1,12 @@
---
manual: IM 36K10L50-01EN
title: Data Set Service Engineering
edition: 3rd Edition, Sep. 2023
version: R1.03
status: process layout, dss.sup, dssqld directives (macro, include, memo from file), dssutl read and the dataset notes checked on the test system 2026-10-01; dssana.sup tabs from docs (covered by skill authorization); dsschk see IM36K10J10 notes
edition: 5th Edition, Feb. 2026 (R1.05); first written from the 3rd Edition, Sep. 2023 (R1.03). Changed since: R1.04 App. 1 (OPC UA client method dataset renamed to OPCUAC_METHOD_CALL2_DF); full text diff: otherwise only §3.9 `-c` wording, same meaning
version: R1.05 (first written for R1.03)
status: R1.03 (2026-10-01): process layout, dss.sup, dssqld directives (macro, include, memo from file), dssutl read and the dataset notes checked on the test system; dssana.sup tabs from docs (covered by skill authorization); dsschk see IM36K10J10 notes. R1.05 (2026-10-08, read-only on the test server): processes, database_start.cmd, dss.sup, dssqld.sup, dssqld help text, dataset definitions and dsschk -e -v re-checked; macro/include/memo loads and dssutl not re-run
---
# Data Set Service Engineering (R1.03)
# Data Set Service Engineering (R1.05)
DSS (Data Set Services) is the layer through which every CI Server tool and user interface reads
and changes configuration and run-time data: items, alarms, classes, users, history, reports …
@ -36,6 +36,14 @@ starts `DSSSDA00`–`03` (count from `%TLS_MAX_SDA_ID%`, default 3), `DSSSDAOPC0
more than the manual's "about 5 per node" advice. On the very first start (`database.new`) the
script compiles all `tls\src\*.dss` into the dictionary (`dss -d -q -u`).
**R1.05 (installed, 2026-10-08), not in the manual:** 12 `dsssda.exe` and 7 `dssevt.exe`. The
script starts `DSSSDA00`–`03` as fixed lines (`%TLS_MAX_SDA_ID%` no longer read) plus two new
dedicated servers: `DSSSDARST` for the RESTful API server (`JRSTSRV`) and `DSSSDAPY` for pyTOOLS
(`PYDSS*`). After an upgrade (`database.new`) it runs the R1.04/R1.05 dataset conversion
programs (`*_u0104`, `*_u0105`, e.g. `opcuac_method_u0104`, `dss_ath_grp_u0104`,
`iec61850_rcb_u0105`) and keeps `database.new` when one fails so the conversion is retried at
the next start. It ends by calling `?*_database_start.cmd` extension scripts.
## 2. Tuning — `dss.sup` (§2.2)
Heartbeats and DUR queue sizes per process (`DSSEVT_HBEAT`, `DSSSDA_QUESZ` …), PML dataset cache
@ -49,6 +57,9 @@ routes `OPCEXE1`–`4`, `OPCACT`, `OPCJACT`, `OPCLOA`, `ALNMGR` to `DSSSDAOPC00`
the same for events. Further undocumented keywords: `EXCL_ACC_EXCEPTION_PROCESS`,
`CLOG_EXCEPTION_PROCESS`, `CLOG_EXCEPTION_DATASET` (a long list of run-time datasets).
**R1.05 `dss.sup`:** `DSSSDA_QUESZ = 1000` (was 252), new `DSSMAN_QUESZ = 1000`, and
`DSSSDA_SRV` lines for `JRSTSRV` → `DSSSDARST` and `PYDSS*` → `DSSSDAPY`; rest unchanged.
## 3. Authentication — `dssana.sup` (§2.3)
`DSSANA` keeps the list of logged-in users and decides who may start which user interface from
@ -90,7 +101,11 @@ Options: `-i` insert, `-m` modify, `-r` remove, `-e <out> [<qli>]` export (all d
`NO-EXPORT` list in `dssqld.sup`, or what the qli names), `-c` CSV, `-a` concealed fields, `-d`
one dataset, `-f` dictionary report, `-l` listing, `-s` setup file. Exports may need reordering
before re-import (circular references: stations ↔ items, first-out groups, classes).
`%TLS_DAT_PATH%\dss_export.qli` is a ready-made export list. Task files: skill `system-management`
`%TLS_DAT_PATH%\dss_export.qli` is a ready-made export list (identical on R1.05; it does not
cover the IEC 61850, MQTT, OPC UA client method/tag, `UASERVER_MAPPER_DF` or `API_KEYS_DF`
datasets). R1.05 `dssqld.sup` adds `NO-EXPORT=API_KEYS_DF`; `dssqld -h` text is identical to
R1.03. Exporting `OBJECT_DF` on R1.05 leaves about one 0-byte `dss_*.tmp` per object in
`tls\lst` (not removed by CI Server). Task files: skill `system-management`
(`export-dataset.md`, `load-remove-records.md`).
## 5. `dssutl` (§4)
@ -124,3 +139,15 @@ value/status/quality (`BLOCKED_UPDATE` for blocked items, status must be written
mandatory filter; `PRINTER_*` devices/destinations (written by the printer manager for `_OVV`
and `_TYPE`); `REPORT_DF` / `REPORT_VAL` see `IM36K10C30-01EN.md`; `SEQUENCE_DF` `COMPILE`;
`STATION_DF` `REDUN_LINE`.
**R1.04/R1.05 datasets** (manual App. 1 and the installed `tls\src`, 2026-10-08): the OPC UA client
method dataset is now `OPCUAC_METHOD_CALL2_DF` (App. 1, R1.04; replaces
`OPCUAC_METHOD_CALL_IN_DF` and `OPCUAC_METHOD_CALL_OUT_DF`, both gone). New definitions not in
App. 1: `API_KEYS_DF` (API keys per user), `UASERVER_MAPPER_DF` (OPC UA Information Model Mapper
project), `IEC61850_RCB_DF` (IEC 61850 report control blocks), `ALARM_ATTRIBUTE_TEMP_DF` (alarm
attributes; purpose not documented). Changed definitions include `ITEM_VAL` (new fields
`ENG_UNIT`, `SCALE_HIGH_LIMIT`, `SCALE_LOW_LIMIT`), `AUTH_GROUP_DF` (`ACTION_NAME_1`…`250`
instead of …`200`), the IEC 104 / IEC 61850 datasets, several OPC UA client/PubSub
datasets, `EXTERNAL_ALARM_DF`, `AUDIT_TRAIL` and `dss_global.dss` (OPC UA node ID type
`OPAQUE`, parameter-type template for methods). Practical use: skills `data-access` and
`equipment`.

View file

@ -1,12 +1,12 @@
---
manual: IM 36K10P30-01EN
title: Data Set Service Language
edition: 3rd Edition, Sep. 2023
version: R1.03
status: compiler run as a syntax check on a copy of the installed DSS files and on a deliberately broken test file (2026-10-01); defining new datasets and updating the dictionary from docs only
edition: 4th Edition, Feb. 2026 (R1.05); first written from the 3rd Edition, Sep. 2023 (R1.03). Revision table: contact information only; full text diff: no other change
version: R1.05 (first written for R1.03)
status: compiler run as a syntax check on a copy of the installed DSS files and on a deliberately broken test file (R1.03, 2026-10-01); syntax check of a copy of the installed R1.05 files on the R1.05 test server (2026-10-08, dictionary untouched); defining new datasets and updating the dictionary from docs only
---
# Data Set Service Language (R1.03)
# Data Set Service Language (R1.05)
The DSS language describes datasets; the DSS compiler (`dss.exe`) checks the descriptions and
builds the data dictionary (`%TLS_DAT_PATH%\tlsdic_dss.dic`) and C include files. It is a system
@ -17,7 +17,7 @@ servers. Section numbers refer to the manual.
## 1. DSS files (§2)
- Plain text, one dataset per file recommended, extension `.dss`. The installed descriptions are
in `%TLS_ROOT_PATH%\tls\src\` (253 `.dss` files on the test system, plus `.c` sources of the
in `%TLS_ROOT_PATH%\tls\src\` (253 `.dss` files on the R1.03 test system, 256 on R1.05, plus `.c` sources of the
data access servers and `.umh` message files). Reading them is the best way to learn a
dataset's fields, ranges, lists and defaults (`dssqld -f` shows the same information).
- Syntax: `<KEYWORD value>` or `<KEYWORD <SUB …> …>`; keywords case-insensitive; strings in
@ -51,7 +51,14 @@ Run `dss` in the folder that holds the `.dss` files; it compiles **all** of them
(`dss -l -w`, 251 files plus the two include files) and `tlsdic_dss.dic` was not touched. A test
file with a missing `>` gave `cieng_test_df.dss (15,2): EOF is not expected, expected 1
end-of-sentence characters ('>')` and `1 errors found.` The start script uses an undocumented
`-u` (compile without the DSS shared memory) on the first start. `dssxdb` has a "beautify DSS
`-u` (compile without the DSS shared memory) on the first start.
**R1.05 (2026-10-08):** a copy of the 256 installed files (254 dataset files plus the include
files `dss_global.dss` and `opcuap_global.dss`) compiled with `dss -l -w` in a scratch folder:
the listing shows only `Processing file …` lines (no errors), and `tlsdic_dss.dic` kept its date.
New files since R1.03: `alarm_attribute_temp_df`, `api_keys_df`, `iec61850_rcb_df`,
`uaserver_mapper_df`, `opcuac_method_call2_df` (replaces `opcuac_method_call_in_df` /
`_out_df`); see `IM36K10L50-01EN.md` §7. `dssxdb` has a "beautify DSS
dictionary source" function to find unbalanced `<` `>` (`IM36K10L50-01EN.md` §1.2).
To add a value to an existing list (e.g. a report destination, R40 §3.3): edit the `.dss` in

View file

@ -1,17 +1,26 @@
---
manual: IM 36K10R10-01EN
title: CI Portal Setup
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; setup file names, keywords and default values checked read-only on the test system (2026-09-30)
edition: 5th Edition, Feb. 2026 (first written from the 3rd Edition, Sep. 2023)
version: R1.05 (first written for R1.03)
status: from docs; setup file names, keywords and default values checked read-only on the R1.03 test system (2026-09-30) and on the R1.05 test server (2026-10-08); separate CI Portal node not tested (both test systems are single nodes)
---
# CI Portal Setup (R1.03)
# CI Portal Setup (R1.05)
How the user-interface programs reach CI Server data, when to use CI Portal or CI View, how
to set up a CI Portal node, and the setup files of the user interface. Section numbers refer
to the manual. "Seen on test system" values come from the R1.03.00 test machine
(standalone node) and are the installed defaults there.
(standalone node) and are the installed defaults there; R1.05 differences are marked.
**R1.03 to R1.05 (full text diff, 2026-10-08):** section numbering unchanged. R1.04 (4th
Edition): §3.1 installs from an ISO file instead of the DVD (not in the revision table,
ISS-108) and §3.3 gained a link to BUS Service Engineering (listed as "3.3 Updated
descriptions"; the `dur.sup` figure may also have changed, figures are not compared).
R1.05 (5th Edition): contact information only. Installed files: `dur.sup` and `jwuiisg.sup`
gained keywords the manual does not describe (§3, §4.3; ISS-109 to ISS-112); the WFL
files, `jwuiged.sup` and `jwuiaan.sup` are unchanged and `jhmiset.sup` differs only in
spacing.
## 1. User-interface processes
@ -79,11 +88,15 @@ Module and Engineering Module as Java applications.
## 3. Setting up a CI Portal node
1. Install from the CI Server DVD (setup always installs everything; §3.1).
1. Install CI Server (§3.1): R1.04 and later run setup from the product ISO file mounted on
the computer (R1.03: from the DVD). Setup always installs everything; the licence
decides the package.
2. Apply the **CI Portal licence** with the License Authorization Wizard; the licence decides
the package (§3.2).
3. Configure the DURM line to CI Core and set the **host node** (CI Core node number) in
`dur.sup` (`host_node`; 0 on a single-node system) (§3.3).
`dur.sup` (`host_node`, label *Host node*, on the editor's *General* tab; 0 on a
single-node system) (§3.3). R1.04 and later point to IM 36K10L30 ch. 3 (inter-node
communication) for the connection itself.
4. Restart CI Server on the portal (§3.4).
5. Copy the visualisations from CI Core or another portal into
`%TLS_WAP_PATH%\cfg\operatorInterfaces\DEPLOY\` (sub-folders seen on test system:
@ -91,6 +104,16 @@ Module and Engineering Module as Java applications.
DURM lines and node layouts: `IM36K10J10-01EN.md` (system layouts) and phase 7 (BUS Service).
**Gateway core (R1.04 and later; not in this manual, ISS-109).** The installed `dur.sup`
has a new switch `gateway_core` (label *Gateway Core*, *General* tab, installed `No`).
IM 36K10J10 §3.2.6 (5th Edition) describes the gateway configuration: a CI Core with a
gateway licence collects and passes on data but has **no operator interface**, neither on
itself nor on a CI Portal or CI View connected to it. The switch must match the licence;
otherwise a mismatch message goes to the message log (UMHLOG). A regular CI Core connected
to a gateway core keeps its operator interface. Also new in the R1.05 `dur.sup`: an adaptive
queue set for `ADTSTO` (1.00). From docs; the R1.05 test server is a regular single node
(`gateway_core = No`, `host_node = 0`).
## 4. User-interface setup files (§4)
Edited with the Setup File Editor (`IM36K10R20-01EN.md`); normally only the logon method
@ -101,7 +124,7 @@ CI Portal restart). All files are in `%TLS_ROOT_PATH%\tls\sup`.
|---|---|---|---|
| `jhmiset.sup` | Engineering Module | Item Search Utility, Report viewing and printing, Tuning | `JHMI_ISU_ONLY_PA = N` (item search limited to the user's process areas), `VIEW_FONT`/`VIEW_FONT_SIZE = Courier`/`12`, `PRINT_FONT`/`PRINT_FONT_SIZE = Courier`/`8`, `PRINT_ORIENTATION = Portrait`, `JBUS_MSG_FETCH_INTERVAL = 50`, `JDSS_MSG_FETCH_INTERVAL = 100` (ms) |
| `jwuiged.sup` | Edit Module | Tuning | `JBUS_MSG_FETCH_INTERVAL = 50`, `JDSS_MSG_FETCH_INTERVAL = 100` |
| `jwuiisg.sup` | Web-HMI server (operator interface, CI View) | Information, General, Client communication, Enterprise, Tuning, Compatibility, Mobile Operator, Proxy Service, Security | see below |
| `jwuiisg.sup` | Web-HMI server (operator interface, CI View) | Information, General, Client communication, Enterprise, Tuning, Compatibility, Mobile Operator, Proxy Service, Security; R1.05 adds *Access Control* | see below |
| `wfla_display.sup` | Alarm item/display relation (§4.4.1) | General, Debug (General = keywords before the first `!TAB`, ISS-015) | `RELATION_LOCATION = Location of item`, `DISPLAY_LOCATION = Location as Relation Location`, `DUR_QUEUE_SIZE = 1000`, `TIME_OUT_SEC = 60`, `TIMER_INTERVAL = 10` |
| `wfladi.sup` | WFLADI alarm destination (§4.4.2) | General | `EVENTS = alarm,repeat,ackn,deact,info,recov,diag,firstup` |
| `wflcdi.sup` | WFLCDI trend/history (§4.4.3) | General, Time, Debug | `HIST_NODE = -1`, `BUFFER_SIZE = 50` (MB), `TIME_OUT_SEC = 60`, `TIMER_INTERVAL = 10` |
@ -121,32 +144,38 @@ files** (user decision 2026-09-30):
settings on a *General* tab, as the manual shows (ISS-015, checked in the GUI).
Other `wfl*.sup` files (`wfldts`, `wflini`, `wflmap`, `wflpti`) are not described in the
manual.
manual. On R1.05 they are identical to R1.03 except `wflini.sup`, which holds
node-specific licence data written at install time.
Checked in the Setup File Editor (2026-09-30): `wfla_display.sup`, `wflgdi.sup` and all
Checked in the R1.03 Setup File Editor (2026-09-30): `wfla_display.sup`, `wflgdi.sup` and all
nine tabs of `jwuiisg.sup` show exactly the fields and values in the files, in the order
of their `!KEYWORD` blocks. String values are shown without their quotes. Both *Tuning*
fields are labelled "Event fetch interval": the first is `JBUS_MSG_FETCH_INTERVAL`, the
second `JDSS_MSG_FETCH_INTERVAL`.
second `JDSS_MSG_FETCH_INTERVAL`. The R1.05 editor (ten tabs in `jwuiisg.sup`) is not yet
checked in the GUI (ISS-112, ISS-113).
### jwuiisg.sup (§4.3)
The file's *Information* tab says the **login method and login control settings have moved
to `dssana.sup`** (authentication and authorization setup file), so in R1.03 the logon
setup mentioned in §4 is not in `jwuiisg.sup` (ISS-017).
setup mentioned in §4 is not in `jwuiisg.sup` (ISS-017). Same *Information* text in R1.05.
| Tab | Keyword (test system value) | Meaning |
|---|---|---|
| General | `STORE_ITEM_IDS_IN_DISPLAYS = YES` | Store internal item/signal IDs in display and symbol files when validated: faster. Set NO when one portal may be switched between CI Cores that have the same item names (IDs differ per core), so displays need not be re-validated. |
| Client communication | `SECURE_PORT_NUMBER = 8443`, `NON_SECURE_PORT_NUMBER = 8080` | HTTPS / HTTP ports for clients |
| | R1.05: `SERVER_FILE_CACHE = 0` | Not in the manual (ISS-110); from the file's help: how long (ms) the web server caches remote files; 0 = no cache |
| Client communication | R1.05: `HTTP_TO_HTTPS_REDIRECT = NO` | Not in the manual (ISS-110): YES redirects HTTP requests to HTTPS |
| | `SECURE_PORT_NUMBER = 8443`, `NON_SECURE_PORT_NUMBER = 8080` | HTTPS / HTTP ports for clients |
| | `REQUEST_HEADER_SIZE = 8192` | Request header size |
| | `CLIENT_QUEUE = 10000` | Messages buffered while a client cannot receive; too small → lost real-time data on reconnect. Check the *Failed* column of `jwuiisg` in the performance monitor. |
| | R1.05: `RECONNECT_TIMEOUT_OVERRIDE` (no active line, not in `!DEFAULT`) | Not in the manual (ISS-110); from the file's help: seconds the server keeps buffering for a client whose connection dropped, so it can reconnect; 0 = use the value the client asks for (client default 300 s) |
| Enterprise | `PRIMARY_DATA_LOCATION = "$display$"` | Where to look for item attributes/object signals not specified in the display: node name/number, `$host$` (portal the operator interface is connected to) or `$display$` (portal the display was loaded from, default). A secondary location (default none) is used for enterprise displays only. |
| Tuning | `JBUS_MSG_FETCH_INTERVAL = 50`, `JDSS_MSG_FETCH_INTERVAL = 100` | Polling of BUS Service and DSS event queues (ms) |
| Compatibility | `R1001_COMPATIBLE_NUMBER_HANDLING = NO`, `APPLY_TEXT_SMOOTHING = NO` | Number handling (from the file's help; the manual gives none): YES = R10.01 behaviour, numbers shown and parsed in Java notation (e.g. `12345.67`) unless a format string is used; NO = the user's locale format. Text smoothing keeps labels in grouped symbols the same size when scaled |
| Mobile Operator | `MO_CACHE_DISPLAYS = YES`, `MO_CACHE_SYMBOLS = YES`, `MO_SHAPE_RENDERING = AUTO`, `MO_BUFFER_MS = 200` | Browser caching of displays/symbols (memory vs network load). From the file's help (not in the manual): *Shape rendering* is the SVG rendering trade-off — `AUTO` (balanced, favours precision), `OPTIMIZE_SPEED` (may turn off anti-aliasing), `CRISP_EDGES`, `GEOMETRIC_PRECISION`; *Buffer alarms timer* (ms) is how long alarms are buffered before being drawn — raise it for large alarm bursts |
| Proxy Service | (none set) | Alias, remote WMS URL, optional HTTP proxy address/port for the Edit Module map viewer (IM 36K10C50 §2.37). Needs a portal restart. |
| Security | `SECURITY_ENABLED = YES`, `CORS_ENTRY = <parameter>, <value>` (repeated), `HEADER_ENTRY = <action>, <header>, <value>` | Not in the manual (ISS-014); from the file's help: YES applies the CORS and header settings, NO uses server defaults. CORS parameters: `allowedOrigins` (installed `"*"` = all origins), `allowedTimingOrigins`, `allowedMethods` (`GET;POST;HEAD`), `allowedHeaders`, `preflightMaxAge` (1800), `allowCredentials`, `exposedHeaders`, `chainPreflight`. Header actions `set`, `add`, `setDate`, `addDate`; installed: `set, X-Frame-Options, "sameorigin"`. A third frame, *Content Security Policy (CSP)* (`CSP_ENTRY = <directive>, <value>`, directives such as `default-src`, `script-src`, `frame-ancestors`), has no entries installed. |
| Security | `SECURITY_ENABLED = YES`, `CORS_ENTRY = <parameter>, <value>` (repeated), `HEADER_ENTRY = <action>, <header>, <value>` | Not in the manual (ISS-014); from the file's help: YES applies the CORS and header settings, NO uses server defaults. CORS parameters: `allowedOrigins` (installed `"*"` = all origins), `allowedTimingOrigins`, `allowedMethods` (`GET;POST;HEAD`), `allowedHeaders`, `preflightMaxAge` (1800), `allowCredentials`, `exposedHeaders`, `chainPreflight`. Header actions `set`, `add`, `setDate`, `addDate`. A third frame, *Content Security Policy (CSP)* (`CSP_ENTRY = <directive>, <value>`, directives such as `default-src`, `script-src`, `frame-ancestors`). **R1.03** installed only `set, X-Frame-Options, "sameorigin"` and no CSP. **R1.05** (ISS-111) installs seven headers (`X-Content-Type-Options nosniff`, `X-Frame-Options sameorigin`, `Strict-Transport-Security max-age=31536000;includeSubDomains`, `X-XSS-Protection 1;mode=block`, `Cache-Control no-store`, `Referrer-Policy no-referrer`, `X-Permitted-Cross-Domain-Policies none`; the header choice list gained `Cache-Control`, `Pragma`, `Referrer-Policy`) and nine CSP entries that allow scripts, fonts and images only from the server itself (plus inline/eval scripts and `data:` images/fonts). Verified in the HTTP responses on 8080 and 8443 (2026-10-08). Content from other hosts in displays (e.g. web components, external images) may be blocked by this policy; not tested. |
| Access Control (R1.05) | `RESTRICT_IP_ACCESS = NO`, `HOSTNAME_WHITELISTING = "*"` (repeatable) | Not in the manual (ISS-110); from the file's help: restrict web-server access by IP (the file has no keyword listing allowed addresses; effect unclear, ISS-112); answer only requests for the listed host names (`"*"` = any; the help recommends listing only the allowed names). |
### WFL process files (§4.4)
@ -184,4 +213,5 @@ setup mentioned in §4 is not in `jwuiisg.sup` (ISS-017).
## See also
- Remote Connect install and web ports: `IM36K01C10-01EN.md` §2.4; firewall: `IM36K01C30-01EN.md`.
- Gateway configuration: `IM36K10J10-01EN.md` (J10 §3.2.6 in the 5th Edition).
- Displays, alarm overview component, map viewer: Edit Module (phase 10).

View file

@ -1,22 +1,29 @@
---
manual: IM 36K10R20-01EN
title: Setup File Editor
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; launcher, file location and metadata keywords checked read-only on the test system (2026-09-30)
edition: 4th Edition, Feb. 2026 (first written from the 3rd Edition, Sep. 2023)
version: R1.05 (first written for R1.03)
status: from docs; launcher, file location and metadata keywords checked read-only on the R1.03 test system (2026-09-30) and on the R1.05 test server (2026-10-08); editor GUI checked on R1.03 only (R1.05 awaiting user verification, ISS-113)
---
# Setup File Editor (R1.03)
# Setup File Editor (R1.05)
What setup files are, how the Setup File Editor shows and changes them, and the comment
keywords (metadata) inside a setup file that the editor reads to build its forms. Section
numbers refer to the manual.
**R1.03 to R1.05 (full text diff, 2026-10-08):** there is no R1.04 edition; the 4th Edition
(R1.05) only adds contact information (one punctuation change). Section numbering
unchanged. Installed software: the launcher `fsuedit.cmd` starts the same Java class and
only adds `tls\exe\lib\*` to the class path; the installed setup files use exactly the same
set of metadata keywords and the same seven argument kinds as in R1.03.
## 1. Setup files (§1)
- CI Server reads its setup files (`*.sup`) **at startup**. Installed files hold the default
values; change a value, then **restart CI Server** for it to take effect.
- Location: `%TLS_ROOT_PATH%\tls\sup` (about 200 files on the test system). Plain text.
- Location: `%TLS_ROOT_PATH%\tls\sup` (about 200 files on the R1.03 test system and on the
R1.05 test server). Plain text.
- Lines starting with `!` are comments/metadata; the other lines are the active settings,
normally `KEYWORD = value[, value…]`.
- The editor does not handle non-ASCII text (it is shown garbled), so labels cannot be
@ -24,8 +31,8 @@ numbers refer to the manual.
## 2. Using the editor (§2)
- Start: Start menu *CI Server → Setup File Editor* (on the test system this runs
`%TLS_ROOT_PATH%\tls\com\fsuedit.cmd`, a Java program).
- Start: Start menu *CI Server → Setup File Editor* (on the R1.03 and R1.05 test systems
this runs `%TLS_ROOT_PATH%\tls\com\fsuedit.cmd`, a Java program).
- Main window: tabs *Setup Files* and *Templates* (the latter not in the manual, ISS-016);
the list shows file name, description and status: *Default* when the active values equal
the file's `!DEFAULT` block, *Changed* when any differs (ISS-016).
@ -103,4 +110,19 @@ A full template and examples are in §3.4 and Appendix 1 (`odbsrv.sup`).
*Undo Field* / *Reset Field* buttons and a status bar, none of them in the manual
(ISS-016).
- Some installed files have no `!DESCRIPTION` (e.g. `adtini.sup`, `almini.sup`,
`durini.sup`, `itmini.sup`); they show as "(Unknown)" in the list.
`durini.sup`, `itmini.sup`); they show as "(Unknown)" in the list. Same on R1.05.
## R1.05 notes (2026-10-08, read-only)
- Launcher and Start-menu entry *CI Server › Setup File Editor* present; class path change
only (see above). The GUI was not opened (no GUI access to the R1.05 test server): the
R1.03 findings (*OK* writes at once, *Templates* tab, *Status* column, *Reset Field*)
are awaiting user verification (ISS-113).
- Metadata quirks in the R1.05 `jwuiisg.sup` (ISS-112): two new keyword blocks
(`SERVER_FILE_CACHE`, `RECONNECT_TIMEOUT_OVERRIDE`) end with `!ENDKEYWORD!`; the
`!DEFAULT` block writes `SERVER_FILE_CACHE=0` without spaces; `RECONNECT_TIMEOUT_OVERRIDE`
has neither an active line nor a default line; `!KIND` is written in capitals
(`NUMBER`, `SWITCH`), as in older blocks of the same file. How the editor shows these is
not yet checked.
- Templates (`tls\tpl`, the editor's *Templates* tab) use the same metadata, e.g. the new
`eqtfrcscn.tpl` has `!DESCRIPTION` and two `!TAB` lines.

View file

@ -1,12 +1,12 @@
---
manual: IM 36K10R30-01EN
title: Graphic Display Setup
edition: 3rd Edition, Sep. 2023
version: R1.03
status: HTML display (Mobile Operator) and a project layout (CIENG_Operator) verified in the Operator Interface (desktop) and the HTML display 2026-10-01; sample operator HMI with tab set, popup layout and per-user layout verified on both clients 2026-10-06; dataset forms, form language and dual screen from docs
edition: 4th Edition, Feb. 2026 (R1.05); first summarised from the 3rd Edition, Sep. 2023 (R1.03)
version: R1.05 (first written for R1.03)
status: R1.05 re-check 2026-10-08 - full text diff reviewed (§5 below), from docs; installed R1.05 files (Layouts.readme, web client) awaiting user verification. R1.03 results - HTML display (Mobile Operator) and a project layout (CIENG_Operator) verified in the Operator Interface (desktop) and the HTML display 2026-10-01; sample operator HMI with tab set, popup layout and per-user layout verified on both clients 2026-10-06; dataset forms, form language and dual screen from docs
---
# Graphic Display Setup (R1.03)
# Graphic Display Setup (R1.05)
How the operator interface is framed (layouts), how custom dataset forms are added, and how
displays run in a web browser (HTML display, "Mobile Operator"). Section numbers refer to the
@ -14,7 +14,7 @@ manual. Building displays: `IM36K10C50-01EN.md`; AOG library: `IM36K10C60-01EN.m
## 1. Files and folders (installed)
| What | Where (`%TLS_WAP_PATH%` = `C:\Users\Public\Yokogawa\tls\wap`) |
| What | Where (`%TLS_WAP_PATH%` = `C:\Users\Public\Yokogawa\tls\wap` on the R1.03 machine; the R1.05 test server has its data root under `C:\Yokogawa\CIServer\tls` - read `set TLS`) |
|---|---|
| Displays (operator interface) | `cfg\operatorInterfaces\DEPLOY\displays\<name>.xml` (plus `.lck` while open in the Edit Module, `.autosave`) |
| Symbols | `cfg\operatorInterfaces\DEPLOY\symbols\` (≈ 3100 files incl. the AOG library) |
@ -74,10 +74,13 @@ property files and language codes (§3.5).
- Open: `http(s)://<host>:8080|8443/mobileoperator?d=<display>&l=<layout>&u=<user>` or *Open* of
*Mobile Operator* on the Remote Connect page. Login with a CI Server user (manual, or SSO via
`https://<host>:8443/auth/mbl`); user profile fields used: password, authorization group, ASA,
shelving group, process areas, logoff timeout, deployment, initial display, locale (layout
not, per this manual). **Installed software**: the profile's *Layout* is used as well - a
logon as `CIENG` without `?l=` opened `CIENG_Operator` (2026-10-06, ISS-074). Login control:
`dssana.sup` interface *mobile operator*.
shelving group, process areas, logoff timeout, deployment, **layout**, initial display,
locale; not supported: destinations, playback, and (R1.03 only) enterprise - R1.05 marks the
*Enterprise* settings as supported (§4.4). The earlier note "layout not" was a misreading of
a garbled text extraction: the table marks *Layout* as supported in R1.03 and R1.05, as the
installed software showed (a logon as `CIENG` without `?l=` opened `CIENG_Operator`,
2026-10-06; ISS-074, ISS-095). Login control: `dssana.sup` interface *mobile operator* (the
R1.03 manual misspelt the file as `dssna.sup` in §4.5; fixed in R1.05).
- **Verified (2026-10-01)**: `http://localhost:8080/mobileoperator/?d=CIENG_Tank` showed the operator
frame (menu, navigation buttons, alarm banner, status line) and the display; the number field
updated live; the alarm overview listed the sample's alarms. **Reloading the browser page ends
@ -86,11 +89,34 @@ property files and language codes (§3.5).
- Differences from the Java operator interface (§4.7): layout windows live inside the browser
window (no resizing of embedded layouts); displays need explicit width/height; names are
case-sensitive; zoom and pan not supported; some mouse/keyboard events and actions missing;
no enterprise displays. Components supported (§4.8): alarm overview, display, group, symbol,
trend, visibility group/layer, parameters, web browser (with listed properties).
no enterprise displays in R1.03 (§4.7.15 *Enterprise Solution*, removed in R1.05, §5).
Components supported (§4.8): alarm overview, display, group, symbol, trend, visibility
group/layer, parameters, web browser (with listed properties).
- Full screen F11, Chrome shortcuts or `chrome.exe --app=http://<host>:<port>`.
- **Test system**: the HTML trend of `CIENG_Tank` (removed from the sample 2026-10-06) drew no line although history existed; browser
console `Mismatch between number of labels … and number of columns in array (51)` (ISS-041).
Cause (2026-10-02): the web trend code always builds 50 data columns, so a trend draws only
with 50 visible pens; workaround `add_trend_spares.ps1`, details and web/desktop differences in
skill `graphics`, `tasks/trend.md` §6.
skill `graphics`, `tasks/trend.md` §6. R1.05 web client not checked yet (ISS-096).
## 5. Changes in R1.05 (from docs, full text diff 2026-10-08)
The revision table lists only R1.05 §4.8 (Enterprise Operation properties) and §4.10
(restrictions); there is no R1.04 edition entry. The diff shows:
- **Enterprise operation on the HTML display**: §4.7.15 *Enterprise Solution* ("not supported
on the HTML display") removed; general restriction "Enterprise Operation features not
supported" removed; §4.4 user profile *Enterprise (all)* now supported; §4.8 now marks as
supported: display primary/secondary data location and *Enterprise* flag (§4.8.3), symbol
definition *Enterprise* (§4.8.5), trend *Enterprise* (§4.8.7); alarm overview no longer lists
*Enterprise mode* as unsupported (§4.8.1). *(§4.4, §4.7 and the alarm overview are not named
in the table)*
- §4.10 restrictions: removed "Reliable Socket (automatic reconnect) not supported - log in
again after a disconnect" and "export to HTML from CI View (Edit Module over Remote Connect)
not supported"; added "HIS-TSE connection not supported by the HTML display".
- §1 layouts: `shell <where>` description reworded only; no option or command change.
- §4.5: setup file name corrected to `dssana.sup` (R1.03 text had a typo).
- Chapters 2–3 (dataset forms) unchanged.
None of this is tested: the R1.05 test server is shared and no enterprise configuration exists
there (ISS-093).

View file

@ -53,17 +53,17 @@ screenshot.
| `data-access` | L45, E20 (large: REST API, OPC UA methods, information model mapper, certificate expiry, extended functions off by default), L50 dataset rename | re-checked (read-only) | 2026-10-08: skill and summaries updated, L45 section numbers remapped. Setup files, datasets, ports and certificates checked; Sample qli files unchanged. New form fields confirmed in the installed form definitions (V3); OPC UA loopback re-tested on R1.05 with the reduced sample load (V4, 2026-10-08), certificate exchange done by the user. **Not tested:** OPC A&E direct alarms, PubSub, imported information model. ISS-080–085. |
| `equipment` | L41 (IEC 61850, item status, App. 1); IEC 104/61850 drivers moved to `eqt`/`eta` | re-checked (read-only) | 2026-10-08: Modbus datasets, setup files and tools identical to R1.03; EQT family, IEC 61850 report control blocks and upgrade steps added. Sample qli files unchanged. `eqpdbg` main info run on R1.05 (V1); Modbus loopback re-tested on R1.05 with the reduced sample load (V4, 2026-10-08). **Not tested:** IEC 104 / IEC 61850 and the EQT tools (no device). ISS-076–079. |
| pyTOOLS (new) | P40 new | not started | No skill yet. |
| `graphics` | C50, C60, R30 (small) | manual diff read | |
| `history-management` | C40 §4.2 (REST API, pyTOOLS) | manual diff read | The REST API itself is described in skill `data-access` (L45 ch. 4); link to it from here. |
| `portal-setup` | R10 §3.3 | manual diff read | |
| `system-management` | J10 §2.9.1, L50 | manual diff read | |
| `item-engineering` | C10 §2.2 | manual diff read | |
| `graphics` | C50, C60, R30; unlisted: Generic Functions rename, enterprise on the HTML display, R30 §4.10 restrictions | re-checked (from docs) | 2026-10-08: full diff, skill and summaries moved to R1.05. No display or layout touched on the shared server. **Awaiting user verification:** installed-file comparison, `jwuiutl --help`, web trend pen limit (V5; ISS-092, 094, 096, 097). **Not tested:** enterprise HTML display, RDP Connect, Password Check, custom acknowledgement (ISS-093, 098, 099). |
| `history-management` | C40 §4.2 (REST API, pyTOOLS; C API dropped); L20, L35 wording only | re-checked (from docs and file hashes) | 2026-10-08: history setup files and dataset definitions identical to R1.03; REST/pyTOOLS cross-linked to `data-access` / P40. **Awaiting user verification:** `hisdbg` read-only options and the changed start scripts (V6; ISS-100, 101). **Not tested:** storage groups, aggregation, `ITEM_HISTORY` reads (restart needed, ISS-103); archive. Note: `tlsdnetapi.dll` (.NET API) is no longer in `tls\exe` on R1.05. |
| `portal-setup` | R10 §3.1 ISO, §3.3; R20 punctuation only | re-checked (read-only) | 2026-10-08: setup-file reads, web ports 8080/8443, Remote Connect page, security headers and CSP verified on R1.05; new `jwuiisg.sup` keywords and `dur.sup` gateway core documented (ISS-108–111). **Awaiting user verification:** Setup File Editor GUI (V7; ISS-112, 113). **Not tested:** separate CI Portal node, gateway core, setup-file changes (shared server), CSP effect on displays. |
| `system-management` | J10 §2.9.1, new §3.2.6 gateway (unlisted), §5.1; L30 wording; L50 dataset rename; P30 none | re-checked (read-only) | 2026-10-08: exports, filters, `-f`, `dsschk -e -v`, `durwfp`, `umhman`, `itmval -g`, `itmdbg`, DSS compiler check re-tested on R1.05; `dssqld -i/-r`, `itmval -p` from the sample test (V4). ISS-116–123. **Awaiting user verification:** `ithloahis` (needs the full sample with history), start-script hooks (V8; ISS-121). **Not tested:** monitoring processes, gateway core. |
| `item-engineering` | C10 §2.2; unlisted: C10 §1.1 Tools menu, string length 200 bytes (C10, G10); G10 §9.2, ch. 14–15 | re-checked (read-only) | 2026-10-08: item/section/sub-item definitions and `itm.sup` identical to R1.03; `ITEM_VAL` has 3 new fields (ISS-126); sample items and sub-items loaded and worked on R1.05 (V4). **Awaiting decision:** blocking and string writes on the shared server (V9; ISS-129). **Not tested:** G10 ch. 14–15 (no CENTUM VP, ISS-127). |
| `alarm-management` | none | not started | |
| `audit-trail` | none | not started | |
| `authorization` | none (new `dss_ath_grp_u0104` loader) | not started | |
| `audit-trail` | none | not started | To include: `AUDIT_TRAIL` `APPROVAL_REASON` / `APPROVER` from custom alarm acknowledgement (ISS-099). |
| `authorization` | none (new `dss_ath_grp_u0104` loader) | not started | To include: `AUTH_GROUP_DF` now has `ACTION_NAME_1…250` (was 200); Password Check login method (ISS-098); `CI_NO_LOGIN` wording (ISS-125); RESTful API / pyTOOLS login methods (J10 §2.9.1). |
| `class-object-engineering` | none | not started | Sample classes `CIENG_INCR`, `CIENG_TANK` (traditional) and `CIENG_JFLOW` (Java) loaded and ran correctly on R1.05 (V4, 2026-10-08). |
| `high-availability` | none | not started | |
| `reporting` | none | not started | |
| `reporting` | none (E10 item filter text unlisted) | not started | To include: new `ITEM_VAL` fields for RQL (ISS-126); E10 item search filters. |
| `examples/CI-Eng-Sample` | — | re-tested | Reduced load (no history group, user or layouts) loaded, tested and removed on the shared R1.05 server 2026-10-08 (V4); scripts in `shared\`. Full load not tested on R1.05. |
## Manuals, in working order

View file

@ -23,6 +23,11 @@ Close every form with *Cancel*.
| CI Server with PRM | No PRM | C10 summary, ISS-090 |
| IEC 60870-5-104 and IEC 61850 (EQT managers, report control blocks, `eqtdbg`, `eqtfrcscn`) | No device and no EQT line on the server | skill `equipment`, L40/L41 summaries, ISS-076–079 |
| OPC A&E `OPXAES_DIR_ALM`, OPC UA PubSub, imported information model | Needs another client/server or extra server instances | skill `data-access`, ISS-085 |
| Enterprise operation on the HTML display, RDP Connect, Password Check, custom alarm acknowledgement | No enterprise setup or RDP target; displays must not be changed on the shared server | skill `graphics`, ISS-093, 098, 099 |
| Storage groups, aggregation, `ITEM_HISTORY` reads, archive | A new storage group needs a CI Server restart; no archive device | skill `history-management`, ISS-103 |
| Separate CI Portal node, gateway core, setup-file changes, CSP effect on displays | Single node, no gateway licence, shared server | skills `portal-setup`, `system-management`, ISS-111, 116 |
| Monitoring processes (`int*mon`) | Starting processes on the shared server | skill `system-management` |
| CENTUM VP virtual test, HIS-TSE connection (G10 ch. 14–15) | No CENTUM VP, no `tls\vagw` | G10 summary, ISS-127 |
## Awaiting user verification
@ -78,6 +83,43 @@ form below, take a screenshot, and close it with *Cancel*:
If no OPC UA client line exists on the server, steps 3–4 need one: skip them and say so.
### V5. Graphics files (skill `graphics`; ISS-092, 094, 096, 097)
Read-only. Copy `C:\Users\Admin\AppData\Local\Temp\claude\C--Claude-ci-server-engineer\…\scratchpad\gfx\collect.ps1`
(kept in Claude's scratchpad; it only lists names and copies factory files) to a temporary folder
on the server, run it, send back the files it writes (`Layouts.readme`, factory layouts,
`jwuiutl.cmd`, `connectrdp.cmd`, `jwuiutl_help.txt`, AOG/symbol/component lists,
mobileoperator file list), then delete the folder. Also search the mobileoperator chart code for
`PEN_COUNT_LIMIT`. Expected: `connectrdp.cmd` present, help as on R1.03, AOG list with
`AOG_OPCUA_Methods` / `AOG_UAC_MethodArg_Call2`.
### V6. History checks (skill `history-management`; ISS-100, 101)
`hisdbg`, Enter at the node prompt, then `1`, `20`, `6`, `-1` (no other number). Expected: menu −1…22,
system groups of types 21, 6, 1058, 36, 4; clients such as ITH*, ALH, ADTSTO, LGHUMH, RPTMAN.
And `type %TLS_ROOT_PATH%\tls\com\history_start.cmd` (also `history_stop.cmd`, `item_start.cmd`,
`item_stop.cmd`); send the output to compare with R1.03.
### V7. Setup File Editor GUI (skill `portal-setup`; ISS-112, 113)
Start menu *CI Server › Setup File Editor*, save nothing: Status of `jwuiisg.sup` (expected
*Default*); open it: tabs Information, General, Client communication, Enterprise, Tuning,
Compatibility, Mobile Operator, Proxy Service, Security, Access Control; screenshots of General,
Client communication and Access Control; `dur.sup` General tab shows a cleared *Gateway Core*
box. Close with *Cancel*.
### V8. Start-script extension hook (skill `system-management`; ISS-121)
Needs admin and a CI Server restart, so only on a non-shared system or with approval: put
`cieng_integration_start.cmd` (one line starting `intcpumon -n intcpumon`) in `tls\com`,
restart, check `durwfp -p intcpumon -t 0` returns 0, remove the file and restart again.
### V9. Blocking and string writes (skill `item-engineering`; ISS-129)
Needs a decision: temporary sample items on the shared server, block/unblock with `dssqld -m`,
`itmval -p` with and without `-o`, a 120-character write to a string item of length 100
(expected 99 characters, status 12); remove everything afterwards.
### V4. CI-Eng-Sample on the R1.05 test server: **reduced load tested 2026-10-08**
The user approved a reduced load (no history group, no user `CIENG`, no layouts/displays) that

View file

@ -86,6 +86,20 @@ Skills based only on these manuals still need a quick re-test on R1.05 (installe
differ), but their content is expected to hold. The E10 and E30 changes go into the
`reporting` and `alarm-management` re-checks.
**Unlisted changes found in the second re-check batch (2026-10-08):**
| Manual | Change not named in the revision table |
|---|---|
| C10 | §1.1 new *Tools* menu (OPC UA Information Model Mapper); §3.3.4 string item length max 200 bytes (was 100 characters) |
| G10 | §3.2.2 string length max 200 bytes; small rewording in §8, §13 |
| C50 | §1.5 `jwuiutl -m/-M` output space-separated; §1.7 and §2.36 HTML-display notes removed; §2.27 trend *Enterprise* supported on the web; §2.31 *Calculation/Function* renamed *Generic Functions* with documented timing; §2.32 JavaScript function timing |
| R30 | §4.4 enterprise supported on the HTML display; §4.7.15 removed; §4.8.1 alarm overview enterprise note removed; §4.10 restrictions changed |
| R10 | §3.1 setup from the ISO file (R1.04); §3.3 only a new cross-reference |
| J10 | new §3.2.6 *Gateway* configuration; §5.1 licence request wizard no longer listed |
| C40 | §4.2 remote access now "ODBC and RESTful API" |
**Installed-software changes with no manual text** (see the issues): `dur.sup` `gateway_core` and `ADTSTO` adaptive queue (ISS-109, 122); `jwuiisg.sup` redirect, whitelisting, cache keywords, security headers and CSP (ISS-110, 111); DSS processes `DSSSDARST` / `DSSSDAPY` and `dss.sup` queue sizes (ISS-117); start-script extension hooks `?*_<script>.cmd` (ISS-121); `ITEM_VAL` fields `ENG_UNIT`, `SCALE_HIGH_LIMIT`, `SCALE_LOW_LIMIT` (ISS-126); `AUTH_GROUP_DF` up to 250 actions; `tlsdnetapi.dll` no longer installed.
**Method for every manual re-check:** do not rely on the revision table or the release notes.
Run `python tools/manual_diff.py <R1.03 doc\EN> <R1.05 doc\EN> <IM>` and review every change,
including those made in R1.04.