ci-server-engineer/knowledge/manuals/IM36K10G10-01EN.md
cliu f1bff6dea6 Record phase 12 manual, progress and issues ISS-049 to ISS-051
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 17:15:27 +10:00

112 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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)
---
# CI Server Tutorial (R1.03)
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.
| Chapter | Topic | Covered in detail by |
|---|---|---|
| 1 | Engineering Module window: menu, configuration tree, work area (properties sheets), message area, edit history (undo/redo) | IM 36K10C10 (phase 5) |
| 2 | Authorization groups and users | IM 36K10C10 (phase 5) |
| 3 | Sections, items, sub-items, blocking, value updates, item statuses | IM 36K10C10, L35/L36 (phase 5) |
| 4 | Displays in the Edit Module; HTML displays | IM 36K10C50, R30 (phase 10) |
| 5 | Trigger groups, classes, objects, symbols linked to objects | IM 36K10L10, P10 (phase 6), C50 (phase 10) |
| 6 | I/O: lines, stations, scan types, points | IM 36K10L40/L41 (phase 5) |
| 7 | Item alarms | IM 36K10L15, C20 (phase 8) |
| 8 | Reports and printers | IM 36K10P20, R40, C30 (phase 11) |
| 9 | Audit trail | IM 36K10L25 (phase 12) |
| 10 | RDBMS data exposure (`dbc.sup`) | IM 36K10L45 (phase 7) |
| 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) |
## Key points
**Users (ch. 2)**: create an authorization group (the set of allowed functions, e.g. `ALL`
with every function), then a user assigned to it. A user is needed to log on to the Edit
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).
- 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.
- An item is connected to an I/O point on the *Equipment* tab; the station must exist first.
- Sub-items: Integrator, Pulse counter, Min-Max, Rate-of-Change (with time unit), Typeless.
Sub-items cannot connect to equipment or have sub-items, and are **not** blocked with their
main item.
- Blocked items and offline items are not updated. *Update value* (Engineering Module) or
`itmval -p` changes value/status/quality; *Overwrite blocked* (`-o`) is needed for a
blocked item. New items are `NOT INIT` until a value is written.
- Item statuses are system-wide; add your own with numbers **100–127** (1–99 and above 127
are reserved), with mnemonic, alarm priority (0–15), alarm state (Normal, Alarm 1–3),
colour and shelving.
**Displays (ch. 4)**: a display is built of frames defined by a layout. Edit Module parts:
sheets, component bar, Visualizations tree, Symbols palette, menus, toolbars, drawing area.
Display names must be unique and without spaces. *HTML display* mode shows only components
and properties supported in HTML; switching it off keeps unsupported values.
**Classes and objects (ch. 5)**
- Trigger group: e.g. `ONE_SECOND`, a permanent 1-second trigger. A class can also be
triggered by item changes.
- Class (traditional language): `CLASS <name>; PROLOG … SIGNAL <var> := "<item>"; BODY
METHOD <m>; BODY … ENDMETHOD <m>; ENDCLASS <name>;`. After *Compile*, check the *Listing* tab
for errors. `ATTRIBUTE` and `PROMPT` lines define values asked when an object is created.
- Object: created in a section, from a class, with values for the prompted attributes.
- Symbol linked to a class (*PROCESS Service class*); on a display set the symbol's `object`
property to the object. Properties are linked to items/signals on the *Connection* sheet,
with a transformation (e.g. *Linear*); buttons use *Update item/parameter* actions.
- Test in the Operator Interface by typing the display name in the title bar.
**I/O (ch. 6)**: define in order **line → station → (scan type) → point**, then connect items
to points. Example: Modbus `LINE1` / `STATION1` / scan type `FAST` / `POINT1`.
**Alarms (ch. 7)**: current, historical and shelved alarm overviews. Item status → alarm
state (Normal, Alarm 1–3) system-wide, or per item (overrides). Acknowledgement types are
matrices of state transitions (automatic/manual). Delay time, repeat time (after delay),
first-out groups, collection groups, alarm selection areas (ASA, filter expressions), areas
of interest (AOI), notification by e-mail/SMS (users with schedules, destinations tied to an
ASA).
**Reports (ch. 8)**: defined with a name, destination, RQL query and layout; generated ad hoc,
on a schedule, or on an item event (with delay). Destinations: `DEFAULT`, `PRINTER_1`,
`NONE` (keep on disk), `ALARMS`, `AUDIT_TRAIL`, `MESSAGES`, `SCREEN_CAPTURE`; only `DEFAULT` and
`PRINTER_1` print by default. Destinations use primary/secondary devices with a policy
(automatic, both, none).
**Audit trail (ch. 9)**: stored in dataset `AUDIT_TRAIL`, storage group `ADT`; events are
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`.
**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
change) into SQL tables. Configure the connection string or system DSN in `dbc.sup`; with
Windows authentication add `CIX_PROCESS` to SQL Server (db_owner).
**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)
| Tutorial step | Done with | Result |
|---|---|---|
| Sections and items (3.2) | `dssqld -i` `SECTION_DF`, `ITEM_DF` | loaded |
| Sub-items (3.2.3) | `SUB_ITEM_DF` | Min-Max keeps the maximum; **Integrator adds value × integration granule (`itm_int_secs` in `itm.sup`, default 1 s, system-wide); `TIME_UNIT` has no effect** (ISS-010) |
| Block item (3.3) | `dssqld -m` `ITEM_DF` `BLOCKED` 1/0 | option flag `blk` (status stays 9); writes without `-o` are **silently ignored**; after unblocking the flag `ublk` appears |
| Trigger group (5.1) | `TRIGGER_DF` (`TRIGGER_INTERVAL` "1 seconds") | loaded |
| Class (5.2) | `CLASS_DF` with `METHOD` memo and `COMPILE` 1 | compiled on load |
| Object (5.3) | `OBJECT_DF` (`NAME`, `CLASS`) | runs: `DEMO.COUNTER` counts 1…100 every second |