--- name: class-object-engineering description: >- CI Server R1.03 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). Sources IM 36K10L10-01EN, IM 36K10P10-01EN, IM 36K10P11-01EN, IM 36K10G10-01EN (Tutorial). --- # Class and object engineering (R1.03) 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 | | 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 | | Java class: attach and create items, signal trigger, system log message | `tasks/java-class.md` | verified | | Change a class that has objects: compile, reset with `opcdbg` | `tasks/change-reset-class.md` | verified (`dssqld` reset does not work, ISS-028) | | `opcdbg` checks: database check, class/object details, object status, executor statistics, dumps | `tasks/opcdbg-checks.md` | verified | | 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; changing not practiced | | Containment, inheritance, timers, alarms, STEP state machines, DSS routines | P10 / P11 summaries | from docs |