ci-server-engineer/knowledge/progress.md
cliu 0bff3698c2 Record the Engineering Module check of the phase 11 reports
User checked the report forms, the generate dialog and viewing text and
HTML reports. The [ITEM:...] prompt filter does not limit the item
browser (ISS-048). system-check: Stop-Service error while CI Server
still restarts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 16:47:49 +10:00

28 KiB
Raw Blame History

Progress

Status of each manual and each practiced task. Update this file as work proceeds.

Manual status: not started · summarized · in practice · done Task status: not practiced · practiced, awaiting confirmation · passed · not completed (see notes) Sample column: whether the task has been re-tested on CI-Eng-Sample: n/a (needs no project data) · pending (tested on AID only) · added (sample content built) · passed

A task is done only when Status is passed and Sample is passed or n/a. Then AID is no longer needed to repeat it.

Test system

Practice notes refer to the repo author's development test system, not to anything shipped with this repo:

  • CI Server R1.03.00, unlicensed, on the development machine.
  • AID (e.g. AID.WRPS.SIM.INFLOW) is the author's own test project on that machine. It is not in this repo and other systems will not have it. Item names here are evidence of what was tested, not names to use elsewhere.
  • Communication stations seen there (WRPS_PLC, MODSIM_STATION, STN_MQTT) belong to AID.

Tasks may be practiced first on AID, but everything they need is then added to the sample project CI-Eng-Sample (examples/CI-Eng-Sample/) and re-tested there, so that in the end AID is not needed.

Manuals, in working order

Phase Manual Title Status
0 IM 36K01A50 Release Information summarized (notes)
1 IM 36K10J10 System Design/Management done except migration (not practiced; needs a second system) and debugging tools; skill system-management (notes)
2 IM 36K01C10 CI Server Setup summarized (notes); skill installation-security
2 IM 36K01C30 Security Guide summarized (notes); skill installation-security
3 IM 36K10G10 Tutorial summarized (notes); command-line equivalents practiced on CI-Eng-Sample
4 IM 36K10R10 CI Portal Setup done except separate CI Portal node (needs a second node); skill portal-setup (notes)
4 IM 36K10R20 Setup File Editor done; Templates tab and Undo Field not explored (notes, ISS-016)
5 IM 36K10C10 Engineering Module - I/O Processes summarized (notes); default datasets checked read-only
5 IM 36K10L40 EQUIPMENT Service - Utilities summarized (notes); eqpdbg main info run read-only
5 IM 36K10L41 EQUIPMENT Service - Configuration summarized (notes); general + Modbus in detail, other drivers as a table
5 IM 36K10L35 ITEM Service - ITH summarized (notes); installed processes and setup files checked
5 IM 36K10L36 ITEM Service - ITM summarized (notes); itmdbg statistics run; itmval -f crashes (ISS-022)
6 IM 36K10L10 Class/Object Engineering done; opc.sup read-only, opcdbg read-only actions and Reset class practiced (notes); skill class-object-engineering
6 IM 36K10P10 Class Description Language - Traditional done for prompts, signals, created items, transitional operators, PRINT/ERROR; timers, alarms, containment, STEP, DSS routines, AGA from docs (notes)
6 IM 36K10P11 Class Description Language - Java done for a basic class (attach/create items, signal trigger, systemMessage); timers, containment, inheritance from docs (notes)
7 IM 36K10L55 Exchange Tool Engineering summarized, from docs only (needs CENTUM VP / RGS or Prodigy) (notes)
7 IM 36K10L30 BUS Service done for single-node checks; MDUR, encryption, logical addresses, printer devices from docs (notes); task system-management/bus-utilities.md
7 IM 36K10L45 Data Access Engineering done for OPC UA client/server (loopback); OPC DA/A&E from docs (DA loopback not allowed); ODBC not running (ISS-008) (notes); skill data-access
7 IM 36K10E20 OPC Interface summarized; OPC UA point form compared with quick load by the user (notes)
8 IM 36K10L15 Alarm Management Engineering done for item-based alarms (ack type, AOI, ASA, events, acknowledge, delay/repeat, almdbg/alhdbg); first-out, collections, notifications, shelving, acoustic/count destinations from docs (notes); skill alarm-management
8 IM 36K10C20 Engineering Module - Alarms done by quick load for item alarm fields, ack types, AOI, ASA; forms, overviews, shelving, link display, notifications, external/Vnet alarms from docs (notes)
8 IM 36K10E30 Alarm System Performance Analysis summarized, from docs (ASPA GUI not practiced; launcher and fetch limits checked) (notes)
9 IM 36K10L20 History Management Engineering done for hisdbg checks, files and rollover; archive and repair utilities from docs (notes); skill history-management
9 IM 36K10C40 Engineering Module - Historical done by quick load for Event/Item, Scan/Time and Aggregation groups (aggregation needs a higher-priority source group, ISS-040); archive from docs (notes)
10 IM 36K10R30 Graphic Display Setup done for HTML display, folders and layouts (phase 10b: desktop and web); dataset forms, form language, dual screen from docs (notes); skill graphics
10 IM 36K10C50 Edit Module done for one display (built by the user) and jwuiutl validate/search/export; other components, symbols, actions from docs (notes)
10 IM 36K10C60 Advanced Operating Graphics summarized, from docs (AOG displays checked read-only) (notes)
11 IM 36K10L50 Data Set Service Engineering done for DSS processes, dss.sup, quick load directives (macro, include, memo from file), dssutl read; dssana.sup covered by skill authorization (notes); task system-management/dss-tools.md
11 IM 36K10P30 Data Set Service Language summarized; compiler used as syntax check on a copy (no dictionary change) (notes)
11 IM 36K10P20 Report Generation Language done for queries, layout, cursors/loops, functions, SPOOL/CSV, HTML; SEND/RECEIVE, BREAK, INCLUDE, FLAG PAGE from docs (notes); skill reporting
11 IM 36K10R40 Report Server Setup done for processes, set-up files, interactive generator, rptstp; extra generators, separate RPI servers, custom destinations from docs (notes)
11 IM 36K10C30 Engineering Module - Reporting done by quick load for report definitions (ad hoc + parameters, schedule, item trigger, HTML, logbook), generated reports and a file device/destination; Engineering Module forms, generate and view checked by the user; report component in displays and hardcopy printers from docs (notes)
11 IM 36K10E10 Excel Add-in summarized, from docs (Excel not installed on the test system) (notes)
12 IM 36K10L25 Audit Trail Management not started
13 IM 36K10J20 High Availability Computing not started (needs two servers)
13 IM 36K10J40 Active Directory Integration not started (needs a domain)
— IM 36K01A10 / A20 / A30 Read Me First, License, OSS terms skipped (no engineering content)

Order change after reading IM 36K10J10: its migration procedure (§5.6) shows the dependency chain communication lines/stations/points → installations/units → items (template items first) → storage groups → classes → objects → reports. So acquisition and items (phase 5) now come before classes and objects (phase 6), and the other interfaces follow as phase 7.

Tasks

Manual Task Status Sample Notes
J10 System check: version, paths, running state, time sync (skill) passed n/a Started CI Service elevated; live version R1.03.00; node UNLICENCED (expected).
J10 Time sync check (w32tm); DURUTL configuration (durutl.sup) passed (check); configuration not practiced n/a w32tm check verified in system-check. durutl.sup has no active settings (single node, not a time master); configuring DURUTL needs a second node, so not practiced.
J10 Export a dataset with dssqld (task) passed n/a Filtered export (@SELECT) passed (ISS-003, closed).
J10 Import and delete dataset records with dssqld (-i, -r) (task) passed passed Built CI-Eng-Sample: 3 sections + 4 items imported, removed and re-imported with 0 errors. 2026-09-30 later: -m (update, used to set a storage group stop time) and loading/removing storage groups passed; see ISS-005.
J10 Read an item with itmval -g (task) passed passed Read AID.WRPS.* items. -a 1..5 gave ITM-E-WRONG_ATT on an item without limits; works on items with limits (ISS-004, closed).
J10 Write an item with itmval -p (task) passed passed Sample: TANK1.INFLOW 120.5 then 130 with -s 9, PUMP1.RUNNING 1 (status 5 BOOLEAN 1); no uoff flag. AID: AID.WRPS.SIM.INFLOW 419.76 → 400 → 419.76. After the first write the item's options gained the uoff flag (0x8a → 0x8e) = updated offline, option bit 4 (written while its station was offline). See ISS-001, closed.
J10 Read the message log (tls\log\umhlog.log) passed n/a
J10 Per-component version list (tls\lst\tls_versions.lst) passed n/a
J10 Load history from CSV with ithloahis; read history back with dssqld (task) passed passed Sample storage group CIENG_EVENT (Event/Item). SCAN file (LEVEL 61–63, INFLOW 101–103) and EVENT file (LEVEL 47, 48) stored and read back via ITEM_HISTORY. New groups need a CI Server restart before they store; samples dated before the current storage unit were not stored (ISS-006).
J10 Consistency check (dsschk, ismchk) (task) passed (check); repair and ismchk not practiced n/a dsschk -e -v (check only) reports each of 228 datasets, no problems. Plain dsschk prints nothing on a single node. ismchk needs a database file name; not run (ISS-002, closed).
J10 Monitoring processes (intmon, intcpumon, intdskmon, inttcpmon, intspawn) (task) passed passed All five worked into CI-Eng-Sample.SYSTEM.* / PUMP1.MODE, started by hand with <exe> -n <name>; setup files restored afterwards. intdskmon reports used %; intspawn command path must be short (ISS-007).
J10 Backup of tls folders not practiced n/a Plan only; the actual backup tool is site-specific.
J10 Migration between systems (§5.6) not practiced added After phase 6 CI-Eng-Sample has every data kind in the chain up to classes/objects (items, points, storage groups, classes, objects). Export with dssqld -e works; the import into a second system is not practiced (no second system).
J10 Tuning checks (read-only) (task) passed n/a Read dur.sup (max processes 250), itm.sup (item pool 650,000 KB) and the automatic health snapshots tls\log\smd_*.log (common memory free, queue use per process, lock collisions). Debug launchers and interactive debuggers not practiced.
C10/C30 Setup check script tools/setup_check.ps1 (task) passed n/a Read-only; 16 OK / 5 CHECK / 15 DIFF on the Win10 Pro test PC (kept as dev PC by decision).
C10 Read ci_start.log and web ports (jwuiisg.sup) passed n/a All services started; SSL error ISS-008.
C10 Start / stop CI Server passed (phase 1) n/a Via the CI Service (elevated). Start-menu shortcuts not used.
C10 New install, reinstall, upgrade, uninstall, licence not practiced n/a Would reinstall or change the test system; only the installed R1.03 is available. Skipped.
C10 Windows settings changes (power, virtual memory, Defender, updates, …) not practiced n/a Test PC kept as a development PC (user decision 2026-09-30); not applied.
C10 Vnet/IP drivers / Vnet/IP Interface Package not practiced n/a No Vnet/IP card; not supported on Windows 10 Pro.
C30 IT Security Tool, Domain Link Management, account utilities not practiced n/a Not installed and not supported on Windows 10 Pro.
G10 Sub-items: Integrator, Min-Max (SUB_ITEM_DF) (task) passed passed Integrator adds value × seconds; TIME_UNIT ignored.
G10 Block / unblock an item (ITEM_DF.BLOCKED via dssqld -m); write with itmval -o (task) passed passed blk flag, writes without -o silently ignored; ublk (updated blocked) after unblock (ISS-001, closed).
G10 Trigger group, class (compile on load), object via quick load (task) passed passed DEMO.COUNTER counts every second; full remove/load cycle clean. Phase 6: three classes and objects in one remove/load cycle, 0 errors. A class that fails to compile is not inserted (DSI-E-OPCCOMERR); error lines appear in LISTING after insert with COMPILE 0 and a compile update (test class removed).
P10/L10 Traditional class with prompt/attribute, signal from SECTION, item created from a template, ERROR check, >=:, PRINT; attribute change via OBJECT_ATTR_VAL (task) passed passed CIENG_TANK / TANK1.CALC: volume 50→100, 82→164; capacity 0 refused; capacity 200→400 took effect on next run; created item and section deleted with the object. % in PRINT cuts the message (ISS-025).
P11 Java class (task) passed passed CIENG_JFLOW / TANK1.JFLOW: inflow 120→2, 90→1.5, systemMessage in umhlog.log from OPCJEXE. Created item keeps the identifier's case (…JFLOW.sPerMin). Worked without a class reset (ISS-029).
L10 Change a class with objects: compile + reset (task) passed passed Old code runs until reset (RESET_REQUIRED 1). opcdbg Reset class works (extra prompt for a report file); dssqld CLASS_DF.RESET does nothing, OBJECT_DF.RESET refused (ISS-028).
L10 opcdbg read-only checks (task) passed passed Database check (one never-compiled foreign class SINUS), get class/object, object status/signals/attributes, executor main info. Dumps are not dssqld-readable (ISS-027).
G10/C10 Authorization group and user creation (task) passed passed Group CIENG_VIEWER (sample file 08_auth_group_df.qli) loaded/removed by Claude; test user CIENG_TEST (no password) loaded by the user, checked and removed. The sample creates no users.
C10 String items: length 1–200, holds length − 1 characters (task) passed passed Tested with temporary CI-Eng-Sample.DEMO.STR* items (removed): 201 rejected; too-long writes cut, status 12 OVERRANGED (ISS-019).
C10 Integrator time unit: integration granule itm_int_secs in itm.sup (task) passed passed 60 → RUN_SECONDS +1 per minute; restored to 1 (file identical to backup), +1 per second again (ISS-010). Elevated restarts run by the user.
G10 Displays, symbols, Operator Interface test display done (phase 10); symbols not practiced display added Display CIENG_Tank built in the Edit Module and checked in the HTML display.
L41/C10 Modbus TCP line, station, scan type, points, connected items by quick load (task) passed passed Loopback to CI Server's own Modbus slave (eqpmdcmem + eqpmdcslvtcp on 5020, started by hand). Line load created and started EQPCIENG; removal stopped it and deleted its files. Write/read-back, off-scan/on-scan checked; full remove/reload from sample files. Protocol must be Open Modbus/TCP (ISS-024). Mirror start files copied to tls\com by the user; after a restart everything came back under the CI Service and the setpoint was re-sent on connect.
G10 Alarms, reports, audit, RDBMS, history alarms (phase 8), history (phase 9), reports (phase 11) done; audit, RDBMS not practiced alarms, history, reports added Covered in their own phases (7–12).
R10/R20 Read a setup file: active settings and keyword help (task) passed n/a Read-only. Compared with the Setup File Editor GUI for wfla_display.sup, wflgdi.sup and all 9 tabs of jwuiisg.sup: fields and values identical. Manual differences logged as ISS-012 to ISS-017 (installed software taken as the reference).
R10 Check web access for CI View: ports, Remote Connect page, DEPLOY folder (task) passed n/a 8080/8443 listening, page 200, six DEPLOY folders.
R10/R20 Change a setup file safely (task) passed n/a jwuiisg.sup HTTP port 8080 → 8081 (text edit, elevated restart): 8081 served the page, 8080 refused; restored, hash identical to backup. Editor: OK writes at once, Reset Field restores the default (ISS-016).
R10 Separate CI Portal node (licence, DURM line, dur.sup host node, copy displays) not practiced n/a Needs a second node.
R10 Login method / login control not practiced n/a Moved to dssana.sup (ISS-017); phase 5 (C10) and 13 (J40).
L45/E20 OPC UA client → own OPC UA server loopback by quick load; certificate exchange; node IDs (task) passed passed Station CIENG_UA (opc.tcp://localhost:34493, Basic256Sha256/SignAndEncrypt): UA.LEVEL_COPY follows TANK1.LEVEL (55, 62.5, 71, 33, 44.4), UA.SRV_STATE 0. Certificates trusted by the user (client side, then server side). Entity namespace urn:Yokogawa:CI_SERVER_OPC_UA_SERVER found by browsing OPCUAC_TAG_DF (ISS-032). Full remove/reload clean, reconnects without a new exchange. User configured a point in the Engineering Module: browse stores the item object, value node must be typed (ISS-033); test item/point removed afterwards.
L45 ACCESS read-only checks: processes, ports, OPC UA server config/PKI, ODBC server (task) passed n/a ISS-008 cause found: odbsrv cannot load its SSL certificate (folder tls\pki\odbsrv missing) and exits.
L30 BUS utilities: durwfp, setup files (dur.sup, durm_1_udp.sup, time_table.sup, fmfprt.sup) (task) passed (read-only) n/a umhman, umhtestprog, umhmsg fail (ISS-030). Unlicensed run-time limit hit and documented (ISS-031).
L30 MDUR node links, encryption, logical addresses, printer devices not practiced n/a Single node, no printer devices.
L55 CI Exchange for CENTUM VP / Prodigy not practiced n/a Needs CENTUM VP (RGS, Vnet/IP) or Prodigy data.
L15/C20 Acknowledgement type, area of interest, alarm selection area by quick load; ASA compile check (task) passed passed CIENG_ACK (MANUAL matrix), CIENG_TANKS, CIENG_TANK1 compiled valid. Description > 78 characters refused; an ASA without spaces is stored with VALID_EXPRESSION 0; an ack type in use cannot be deleted.
L15/C20 Item alarming, test alarm, ALARM_CURRENT / ALARM_CHRONO, acknowledge via dssqld -m on ALARM_CURRENT, delay and repeat (task) passed passed TANK1.LEVEL 85 → HIGH (Alarm 2, prio 2), 95 → HIGH HIGH; acknowledged by NAME/ACK; acknowledged return to normal cleared, unacknowledged one stayed; DELAY 5 s / REPEAT 10 s events as documented. Changing alarm fields auto-acknowledges a pending return to normal. No ALDPRT lines in umhlog.log (ISS-035). Full remove/reload clean.
L15 ALARM Service read-only checks: processes, setup files, almdbg 1/9/10/12/14, alhdbg 1, ALH storage group; INFO event with almdbg 16 (task) passed n/a Destinations ALH, OPXUAS, ALNMGR, ALDPRT. alh.sup extra keywords, ALH lifetime 52 weeks (ISS-036). INFO event stored; some text columns hold leftovers (ISS-037). Two extra INFO events named name were created by a probe with default answers.
L15/C20 First-out groups, alarm collections, shelving, link display, notifications, acoustic/count destinations not practiced n/a Need displays (phase 10), a second alarm item design, an SMTP server or a logged-in sound session.
C20 External alarms (EAL) from OPC UA A&C servers and CENTUM VP not practiced n/a No A&C source or Vnet/IP on the test system.
E30 Alarm System Performance Analysis (ASPA) not practiced n/a GUI; the test system has too little alarm history for meaningful KPIs.
C40 Item storage groups by quick load: Event/Item, Scan/Time, Aggregation; read per group (task) passed passed CIENG_SCAN10S stored LEVEL/INFLOW every 10 s after the restart; CIENG_EVENT stored live writes; restart needed for new groups (ISS-006, closed). CIENG_AGG stayed empty until the scan group got priority 10, then 30-min max 77 / min 33 / avg 52.7 (ISS-040, closed). Full remove/reload with three groups: 0 errors (before the priority field was added; PRIORITY itself verified with dssqld -m).
L20 hisdbg read-only checks and forced rollover (task) passed passed 45 groups, 30 clients; group/unit info; rollover of CIENG_EVENT closed unit 3,1. Extra history types 4 and 36 (ISS-039).
L20/L35 ithloahis into older units (task) passed passed Samples in the active unit or a unit closed after the restart stored; older ones dropped silently (ISS-006); dropped sample became the next unit's initial value (ISS-038).
L20/C40 Archive and retrieve, hasdbg, hisrecover, hiswrn, hisrep by hand not practiced n/a No archive device configured (has.sup); would change history administration.
C50 Build a display in the Edit Module, check the XML (task) passed passed User built CIENG_Tank (HTML mode): text, number field, alarm overview, trend. File stores item name + id; after a sample reload (id 248 → 268) validation still passed and a new session showed live values.
C50/R30 Deploy/remove, jwuiutl HTML export, validate, search; HTML display in the browser (task) passed passed Scripts displays/deploy_displays.cmd / remove_displays.cmd; command-line HTML identical to the Edit Module's. Number field live in the browser; HTML trend draws no line (ISS-041). Browser page reload ends the session; the display menu View > Reload keeps it (user).
R30/C50 Operator layout CIENG_Operator (menu, toolbar, navigation/main/banner frames, status line) added with layout.ps1; navigation display CIENG_Menu; open displays in frames, layouts and the popup layout (task) passed passed Desktop: second 1600 x 900 window, frame navigation and Back, popup on top and minimised with its parent, F11 within taskbar limits; the Operator Interface must be restarted after Layouts.xml changes; factory default layout unchanged for Admin. Web: ?d=CIENG_Tank&l=CIENG_Operator. Status line/command names not in the readme (ISS-042). A stray trend property connection caused a desktop error (ISS-041 update).
J10/C50 Restart CI Server with the Edit Module open observed n/a Start aborted: JWUIGED<pid> still attached to the BUS Service (ci_start.log); closing the Edit Module fixed it (skill system-check).
R30/C50/C60 Dataset forms, symbols, AOG library, dual screen, per-user layouts not practiced n/a GUI work; user profiles not changed.
R40/C30 REPORT Service checks: processes, set-up files (rptman.sup, rptge1.rpt, rptgen.rpt), system reports, rptstp (task) passed n/a Read-only plus one cancel: rptstp rptge1 stopped the endless-loop test report CIENG_LOOP (removed). 28 system reports; two names differ from the manual (ISS-043).
R40/P20 RQL in the interactive generator (rptgen -s rptgen.rpt), CSV with SPOOL (task) passed passed Piped query files (bash <, PowerShell via cmd /c); @NEXT 0 needed; dates are local-time seconds; LOOP refused interactively (RPT-E-LPNOTAL); aggregated history empty on the test system.
C30/P20 Report definitions by quick load: ad hoc with parameters, daily schedule, item trigger, HTML with cursor loop, logbook; generate, read, print, delete; remove (task) passed passed CIENG_TANK1, CIENG_INFLOW_HI, CIENG_HTML + destination CIENG_FILE; full sample remove/reload 0 errors. Schedule ≥ 10 min, scheduled report not deletable until the schedule is cleared, CORRECT_DAYLIGHT (ISS-044); dssqld ad hoc without ADHOC_DEST logs a print error (ISS-045). User checked the Engineering Module: forms, generate dialog (item browser not filtered, ISS-048), view of text and HTML reports.
C30 File printer device and destination (task) passed passed Output type needs the node name (<node>:FILE); literal path only (%TLS_LST_PATH% failed). Sample builds the file at load (17_printer_df.ps1).
L50/P30 DSS tools: processes, dss.sup, quick load macro/include/memo file, dssutl read, DSS compiler syntax check (task) passed n/a Memo from file: absolute path ≤ 82 characters only (ISS-046). Dictionary untouched.
C30 Report component on a display, hardcopy printer, extra report generators not practiced n/a GUI / no printer / admin restart.
E10 Excel Add-in (DART) not practiced n/a Excel not installed on the test system.