- Summary of IM 36K10C10 (Engineering Module - I/O Processes), checked against dssana.sup, itm.sup and the default datasets - New skill authorization: users and authorization groups by quick load - item-engineering: string item limits (1-200, holds length - 1) and the integration granule (itm_int_secs), both tested on CI-Eng-Sample - CI-Eng-Sample: read-only authorization group CIENG_VIEWER - Closed ISS-001 (uoff/ublk option bits), ISS-010, ISS-019; new ISS-018, ISS-020 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
110 lines
6.8 KiB
Markdown
110 lines
6.8 KiB
Markdown
---
|
||
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.
|
||
|
||
**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 |
|