ci-server-engineer/.claude/skills/class-object-engineering/SKILL.md
cliu bf7d88a027 R1.05 re-check batch 3: alarms, audit, authorization, classes, HAC, reporting, pyTOOLS
Full manual diffs (L15, C20, E30, L25, J40, C10 §2, L10, P10, P11, J20,
C30, P20, R40, E10) and read-only checks on the shared R1.05 test server.
Skills and summaries moved to R1.05; new skill pytools (IM 36K10P40) from
docs (no Python on the test server). Issues ISS-132..181; corrections to
version-differences (E10, E30, P11, dss_ath_grp_u0104); C10 summary lists
the 3 new authorization actions; r105-verification V10-V17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:21:36 +11:00

61 lines
4.8 KiB
Markdown

---
name: class-object-engineering
description: >-
CI Server R1.05 PROCESS Service: trigger groups, classes and objects. Use when the user wants
to create a trigger group, write, compile or change a class (Traditional PROCESS language or
Java), use signals, attributes, prompts, timers or template items in a class, create objects
from a class (with prompt answers), let an object create its own items, reset a class after a
change, read or change object attribute values, see which item a signal uses, load or remove
classes and objects with quick load files, or check PROCESS Service with opcdbg (database
check, object status, executor statistics), check the Java class API (fasttools.processfast,
createSection, Java runtime version) or the preinstalled system classes (AOG_BASE, AOG_JBASE,
PRC_STATUS_BASE, OPC UA method sample classes UAC_MTD_JBASE / UAS_MTD_JBASE with MTD_KEY /
MTD_TRG). Sources IM 36K10L10-01EN, IM 36K10P10-01EN, IM 36K10P11-01EN, IM 36K10G10-01EN
(Tutorial).
---
# Class and object engineering (R1.05)
Re-checked on R1.05 on 2026-10-09 (read-only): the three manuals only added contact
information (P11 §10.2 reworded, with one real fix: `createSection()` has no process-area
argument, ISS-154); dataset definitions (`CLASS_DF`, `OBJECT_DF`, `TRIGGER_DF`,
signal/attribute/reset datasets), `opc.sup`, `prc.sup`, the class source templates and the
Java logging files are identical to R1.03; the public Java API
(`fasttools.processfast`) is unchanged. The sample classes `CIENG_INCR`, `CIENG_TANK` and
`CIENG_JFLOW` loaded, compiled and ran on the R1.05 test server on 2026-10-08.
What is new on R1.05 (details in the L10 / P11 summaries):
- Java runtime Temurin 11.0.28 (R1.03: 11.0.18); the Java PROCESS processes also load jars
from `tls\exe\lib`.
- `process_start.cmd` / `process_stop.cmd` call every `?*_process_start.cmd` /
`?*_process_stop.cmd` in `tls\com` (extension hook, as for the other services).
- Two more preinstalled Java classes, `UAC_MTD_JBASE` and `UAS_MTD_JBASE`: samples for OPC UA
methods (`MTD_KEY` attribute, `MTD_TRG` / `MTD_RET` / `MTD_IN_ARG_n` / `MTD_OUT_ARG_n`
signals). How to use them: skill `data-access`, task `opcua-client.md` §7 and the L45
summary (§10.6, §11.4). Do not change or delete the preinstalled classes (also `AOG_BASE`,
`AOG_JBASE`, `PRC_STATUS_BASE`); derive or copy instead.
Background: `knowledge/manuals/IM36K10L10-01EN.md` (processes, `opc.sup`, `opcdbg`, data
store), `IM36K10P10-01EN.md` (Traditional language), `IM36K10P11-01EN.md` (Java),
`IM36K10G10-01EN.md` chapter 5 (Tutorial). Known issues for PROCESS Service:
`knowledge/manuals/IM36K01A50-01EN.md` (PROCESS 1.10).
Rules:
- Run `system-check` first; follow the user's chosen way of working.
- Creating, changing or resetting classes and objects changes the running system; objects can
write to items (and through them to devices). Test on a test system or with the user's
approval.
- Deleting an object deletes the items it created (and their history links).
- `opcdbg`: read-only actions only, unless the user approves (task `opcdbg-checks.md`).
| Task | File | Status |
|---|---|---|
| Trigger group, class (compiled on load) and object via quick load; compile errors; remove | `tasks/load-class-object.md` | verified (R1.03); load, compile, run and remove re-tested on R1.05 2026-10-08 |
| Traditional class with prompts/attributes, signals from the object's section, items created from a template, input check; change an attribute at runtime | `tasks/traditional-class.md` | verified (R1.03); class and created item re-tested on R1.05 2026-10-08, attribute change not re-tested |
| Java class: attach and create items, signal trigger, system log message | `tasks/java-class.md` | verified (R1.03); re-tested on R1.05 2026-10-08, API checked identical 2026-10-09 |
| Change a class that has objects: compile, reset with `opcdbg` | `tasks/change-reset-class.md` | verified (R1.03; `dssqld` reset does not work, ISS-028); not re-tested on R1.05 (awaiting decision, ISS-158) |
| `opcdbg` checks: database check, class/object details, object status, executor statistics, dumps | `tasks/opcdbg-checks.md` | verified (R1.03); database check and `OPCEXE1` statistics re-checked on R1.05 2026-10-09 |
| OPC UA method objects (`UAC_MTD_JBASE`, `UAS_MTD_JBASE`) | skill `data-access`, `opcua-client.md` §7; L45 summary | from docs; sample classes found installed on R1.05 (2026-10-09) |
| Language reference (statements, operators, built-ins, DSS routines; Java API) | P10 / P11 summaries | from docs, main parts verified |
| `opc.sup` settings (executors, priorities, statistics, PRINT) | L10 summary §2 | read-only check (R1.03; identical on R1.05); changing not practiced |
| Containment, inheritance, timers, alarms, STEP state machines, DSS routines | P10 / P11 summaries | from docs |