--- 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 |