Full manual diffs (C50, R30, C60, L20, C40, L35, R10, R20, J10, L30, L50, P30, G10, C10) and read-only checks on the shared R1.05 test server where the permission system allowed them. Skills and summaries moved to R1.05. Issues ISS-092..129 (gaps 104-107, 114-115, 130-131 unused); ISS-074 closed (manual and software agree), ISS-091 corrected by ISS-119. version-differences: unlisted manual changes and installed-only changes. r105-verification: V5-V9 and new not-tested rows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 KiB
| manual | title | edition | version | status |
|---|---|---|---|---|
| IM 36K10C10-01EN | Engineering Module - I/O Processes | 5th Edition, Feb. 2026 (first written from the 3rd Edition, Sep. 2023) | R1.05 (first written for R1.03) | from docs; setup files and default datasets (users, authorization groups, schemes, trigger groups) checked read-only on the R1.03 test system (2026-09-30); item, section, sub-item and status dataset definitions, the item form and itm.sup compared with the R1.05 test server (identical, 2026-10-08) |
Engineering Module - I/O Processes (R1.05)
R1.05 edition (Feb. 2026): the revision table lists only §2.2 (R1.04). The full text diff
(2026-10-08) found three real changes: §1.1 has a new Tools menu (below), §2.2 now names the
no-login profile CI_NO_LOGIN (was FT_NO_LOGIN, ISS-018/ISS-125), and §3.3.4 gives the string
item length as default 80, maximum 200 bytes (was 100 characters, ISS-019/ISS-124). The rest
is rewording and layout.
The Engineering Module (Java GUI) defines what CI Server knows: users and rights, sections,
items and sub-items, equipment (lines, stations, points, scan types), item statuses, classes,
sequences and trigger groups. Section numbers refer to the manual. Command-line equivalents
used in this repo are given where they exist (quick load with dssqld, dataset names from
dssqld -f).
1. Window (§1)
Menu bar, toolbar, configuration tree (left), work area with property sheets, message area and edit history (undo/redo of edits).
- View → List: List Items (item search), List Objects, item list of a section with values, record layout list.
- Archive: automatic/manual archive, retrieve, mount/initialize/register storage media (history, phase 9).
- Playback: record Engineering Module operations and open the recording viewer.
- Tools (new in R1.04/R1.05, not in the revision table): OPC UA Information Model Mapper,
maps CI Server data onto the information model of an external OPC UA server (IM 36K10E20
ch. 3; skill
data-access). - Configuration tree areas: sections and items; I/O processing (equipment, classes, …); alarms; reports; history; authorization; references.
2. Authorization (§2)
Login setup lives in dssana.sup (Setup File Editor), on CI Core, so each CI Portal /
user interface combination can have its own login method (tab Login control,
LOGIN_METHOD = <client>, <user interface>, <method>, <prompt to define users>, <no-login profile>). It also holds single sign-on, Active Directory and password rules (§2.1.1, §2.2).
Login methods:
| Method | Behaviour |
|---|---|
| Automatic | Windows user name = CI Server user name; no password |
| Manual CI Server | CI Server login form; user must exist in CI Server |
| Manual OS | Windows login form; with AD on, AD attributes pick the CI Server profile; with AD off the Windows name (without domain) must exist as CI Server user |
| No | No login; a no-login profile is applied. Only on CI Portal itself, not remote CI View. Protect that profile with a password. |
| SSO | AD single sign-on, no credentials; if SSO is off in dssana.sup, falls back to Manual CI Server |
| Deny | The user interface cannot be started |
With AD, a user in several groups gets the merged profiles (priority per profile). If no users exist yet, the Engineering Module asks you to define one instead of logging in.
Test system (dssana.sup installed values): local Engineering/Edit Module, Operator
Interface etc. use SSO; remote Playback Viewer, Quickload and Display/Symbol utilities are
Deny; OPC UA/ODBC use Manual CI Server. The no-login profile named there is
CI_NO_LOGIN (the R1.03 manual said FT_NO_LOGIN, ISS-018; the R1.05 manual says
CI_NO_LOGIN too); no user of that name exists on the test system. The dssana.sup help says
that when the no-login profile does not exist as a CI Server user, full authorization is
used (the manual, also in R1.05, says no profile is applied; the R1.05 dssana.sup help still
says full authorization, checked 2026-10-08). Matches the
test system: Quickload Utility has No login with an empty profile, and dssqld runs appear
in the audit trail as user FULL AUTHORIZATION. Create a restricted CI_NO_LOGIN user before
using No login anywhere (IM36K10J40-01EN.md §5).
Enterprise engineers (§2.3) may maintain only their area: sections and everything in them,
definitions and deployments, authorization data, and equalization — and can deploy to a
server only if they have write rights there (e.g. on ITEM_DF).
Authorization groups (§2.4) (AUTH_GROUP_DF, actions in AUTH_ACTION_DF): a group is a
list of allowed actions. Most are <CATEGORY>_<READ|INSERT|MODIFY|DELETE> for a dataset
category (e.g. ITEM, SECTION, STATION, CLASS, OBJECT, USER, AUTH_GROUP,
TRIGGER_GROUP, HIS_GROUP, REPORT, DISPLAY, ALARM_*, AUD*). Others are single
actions, e.g. ITEM_MODIFY_VALUE, ITEM_MODIFY_LIMIT_HIGH, ITEM_MODIFY_BLOCKED_VALUE,
ITEM_ACK_ALARM, SECTION_BLOCK_UNBLOCK, STATION_ON_OFF_SCAN, ALARM_CURRENT_ACK,
REPORT_GENERATE_ADHOC, SYS_LOG_READ, EXECUTE_GENERAL_COMMANDS,
HIS_GROUP_FORCE_ROLLOVER. Installed also: AGGREGATION_OVERWRITE_* (not in the manual).
Default groups on R1.03: SYSTEM_MANAGER, ENGINEER, OPERATOR (process areas 1–999) and
GUEST.
Users (§2.5) (USER_DF); changes apply at the user's next login. Tabs:
- General: name, description, password (≤ 31 characters, case-sensitive), enterprise user
(must be deployed to every CI Core where needed), authorization group, process areas
(1–999, lists/ranges like
3 5 8 10-19), locale (en-US,ja-JP; blank = Windows). - Directory services: AD group mapping and profile priority (higher wins when merging).
- Alarming: alarm selection area, alarm shelving group.
- Operator Interface: logoff timeout (min, 0 = off), deployment folder (default
%TLS_WAP_PATH%\cfg\operatorInterfaces\DEPLOY), layout, initial display. - Destinations: user's report printer for on-demand reports.
- Playback: recording on/off/"HMI Client dependent" (then set in
%TLS_WAP_PATH%\cfg\playback\playback.xmlper client, application and user), and whether the user may switch recording, change its properties, view, play all users' recordings, export. Default users on R1.03:ADMIN(SYSTEM_MANAGER),ADMINE(enterprise admin),OPER, andCI_NO_LOGIN_OPCUAS(anonymous OPC UA).
Schemes (§2.6) (SCHEME_DF) hide Engineering Module folders and fields a project does not
need. Activating one restarts the Engineering Module (OK/Apply do not activate). Tabs: General
(multi-language, OPC server, playback, enterprise), I/O processing (PIT filter, STX-Bachmann,
hide item statuses), Alarming (e-mail notification, AOI, ASA, first-out, collection, groups,
diagnostic flag, OPC AE detection, predefined ack types only), Processing (control item,
sequences, priorities, extended reset, predefined trigger groups only), Reporting (item
trigger, priorities, lifetime), Historization (external archive, warning time, non-item
groups, direct storage), Authorization (process areas, predefined groups only). Installed:
STARTER, STANDARD, ADVANCED, none active.
3. Items (§3)
Concepts (§3.1): an item holds value plus conversion, format, alarm parameters, I/O
authority, application info and status. Name Section[.Sub-section…].Item, max 255 bytes
(multi-byte characters count more). An item can be connected to one I/O point on a station.
Raw values are converted to engineering units (e.g. linear f(x)=ax+b from electrical to
physical limits; overflow/underflow and a DELTA change limit give statuses; other conversions:
IM 36K10L41).
Limits and deadband: up to four limits (none, H+L, or all four) plus one deadband on the normal side; statuses LOWLOW, LOW, NORMAL, HIGH, HIGHHIGH. Scale high/low give OVERRANGED/UNDERRANGED and override limit statuses. Booleans get status TRUE/FALSE (BOOLEAN 1/0).
PIT filter (reduces history events; used only if the application honours it): an update
passes when (P OR I) AND NOT T.
- P: |new − reference| > P.
- I: integral of (sample − reference) × seconds > I (1 s resolution).
- T: for T seconds after a pass, nothing passes.
- Each pass sets a new reference.
Sub-items (§3.2): Integrator, Pulse counter (Boolean main item, counts 0→1), Min/Max indicator (runs until reset), Rate of change (time unit day/hour/minute/second chosen per sub-item), Type-less (a free Real item written by PROCESS/REPORT services or applications).
- Integrator:
new = (t_now − t_prev) × previous value + old, evaluated every second; negative values subtract. The result is divided by the integration granuleitm_int_secsinitm.sup— system-wide, default and test-system value 1 (seconds); 3600 gives hours (answers ISS-010). - Sub-items have no Equipment tab and are not blocked with their main item.
Defining (§3.3) — right-click node/section → Add. Sections: name cannot be changed (delete and recreate; only possible when empty), new sections are UNBLOCKED; fields Blocked, Visible via OPC, Alarm inhibit, plus read-only parent flags. Nesting is limited by the 255-character path. Blocking a large section can take long.
Item form tabs: General, Item Management, Limits and filtering (not for Boolean), Equipment,
Alarm (only if alarming on), Area of interest. Item name (tag): letters, digits, _
recommended; tag and type cannot be changed (delete and recreate).
- General: engineering units, value format (
9,0,+,.,EEEE, date/time codesD DD M MM MMM Y YY YYYY h hh mm ss p,\escapes a letter), representation (Boolean, Integer 32-bit, Real 64-bit, String), alarming, audit trailing, remember last value immediately (keep value/status/quality over a warm restart instead of NOT INIT), process areas, comment 1/2, map position (WGS 84 latitude/longitude). - Item management: blocked, OPC visible (+ read/write; also needs the section visible),
alarm inhibit, parent flags, data exposure aggregation interval (60 s–7 days, 0 = off;
dataset field
ITEM_DF.AGG_INTERVAL, e.g."1 Minutes"by quick load; only for RDBMS exposure ofITEM_VALUES, taskdata-access/rdbms-exposure.md, tested in R1.05 only). - Limits and filtering: HH/H/L/LL, deadband (values may be rounded), scale high/low, limit clamping (HH-LL, H-L, scale, none), out-of-range support, trend axis limits, PIT values. String items: max length, default 80, maximum 200 bytes (R1.05 edition; the R1.03 edition said 100 characters). The installed software accepts 1–200 (same in the R1.05 data dictionary) and stores length − 1 characters, cutting longer values with status 12 OVERRANGED (verified R1.03, ISS-019, ISS-124).
- Equipment: pick an existing I/O point of a station, or define a new point here (created with the item; delete it yourself when deleting the item). No connection = internal item.
- Alarming: OPC AE detection (AE station/event source) or CI Server detection, diagnostic
item, acknowledgment type, alarm collection, first-out group/item, delay time, repeat time,
per-status alarm state (None, Normal, Alarm 1–3), priority 0–15 (15 highest unless
alm.supinverts it), text, colour, mnemonic, shelve enable. Ack types, collections and first-out groups must exist first. - Areas of interest: up to 16 labels used to filter alarms.
Blocking and offline (§3.4): blocked (manual, per item/sub-item, nested section or top section) and offline (station connection lost) items are not updated by equipment. Unblocking a section leaves items that were blocked individually still blocked.
Update value (§3.5) (= itmval -p): value, status, quality code, Overwrite blocked
(= itmval -o), lock (user/terminal). Option bits (explains the blk/off/uoff/ublk
flags of itmval -g, ISS-001):
| Bit | Value | Meaning |
|---|---|---|
| 0 | 1 | Blocked |
| 1 | 2 | Offline (no connection to equipment) |
| 2 | 4 | Updated offline: written by an application (object, this form, itmval) while offline |
| 3 | 8 | Acknowledged (last alarm event) |
| 4 | 16 | Updated blocked: written by an application while blocked |
| 5 | 32 | Direct alarm (alarm state reached, delay running) |
| 6 | 64 | Delayed alarm (after the delay; set together with bit 5) |
Also on the form: force to normal / force to alarm, priority, colour, mnemonic, text.
The option bits are the ITEM_VAL fields BLOCKED, OFFLINE, UPDATED_OFFLINE,
ACKNOWLEDGED, UPDATED_BLOCKED etc. (unchanged in R1.05). R1.05 adds three read fields to
ITEM_VAL: ENG_UNIT, SCALE_HIGH_LIMIT, SCALE_LOW_LIMIT (by their names the item's
engineering units and scale limits; seen only in the installed item_val.dss and data
dictionary, not in any manual, values not yet read, ISS-126).
4. I/O processing (§4)
Equipment (§4.1): lines (protocol/connection), stations (controllers, identified internally by equipment manager + slave number; up to 4095 per manager) and points (I/O addresses). Details per station type: IM 36K10L40/L41.
- Station form: line, redundant lines and TCP/IP addresses, preferred line; On scan (off-scan stops input updates for the whole station — cheaper than blocking each item; outputs continue), Suppress outputs, output method (on change / on change and connect); status items: general communication (1 good, 0 bad, status OFFSCAN when off-scan), line 1, line 2 (typeless sub-items show sub-line states for Modbus TCP), line selection.
- Scan types (
SCAN_TYPE_DF): name + interval (ms); intervals are multiples of the equipment manager's tick. PLC reads are grouped using maximum gap and maximum size. - All equipment definitions shows lines, stations, points and scan types read-only;
editing is done under each plug-in's own tree node. Points created from an item form are
shown as
[<item name>].
Item statuses (§4.2) (STATUS_DF): numbers 0–255 mapped to a system text (fixed),
description (user text), mnemonic, alarm priority, alarm state, colour, shelve enable.
100–127 are free; the rest are reserved (34–99 and 128+ used for DCS/batch/HAC interfaces).
Common ones: 1 CALCULATE, 3 BLOCKED, 4/5 BOOLEAN 0/1, 6 UNDERRANGED, 7 LOW LOW, 8 LOW,
9 NORMAL, 10 HIGH, 11 HIGH HIGH, 12 OVERRANGED, 13 NOT INIT, 14 OFFLINE, 15 UPD OFFLINE,
16 UPD BLOCKED, 21 DELTA, 22 OFFSCAN, 23 OUT_SUPR, 24 BAD VALUE.
Classes (§4.3) (CLASS_DF): templates in the PROCESS Service traditional language
(IM 36K10P10) or Java (IM 36K10P11); the language is fixed once created and the two cannot
reference each other. Changing a class needs a reset before objects use it.
Sequences (§4.4) (SEQUENCE_DF): a one-off program (class and object in one) tied to a
control item; traditional language only. Compile, then set activation time, trigger
interval (or trigger once / event-driven TRIGGER on TIMER or ITEM), deactivation time,
daylight-saving correction. Blocking the control item puts the sequence off-line; the STEP
variable is the control item's value. Classes are preferred for maintainability.
Trigger groups (§4.5) (TRIGGER_DF): name (≤ 15 characters, letter first, then letters,
digits, _), activation time (immediate or date), deactivation (infinite or date), trigger
once or interval (seconds … years), daylight-saving correction. Triggers fire at activation
time + n × interval. Editable except the name; deletable only when unused. Installed defaults:
ONCE, ONE_SECOND, TWO_SECONDS, FIVE_SECONDS, TEN_SECONDS, THIRTY_SECONDS,
ONE_MINUTE, TWO_MINUTES, FIVE_MINUTES, TEN_MINUTES, THIRTY_MINUTES, ONE_HOUR.
5. Class and object engineering (§5)
Flow: trigger group → class (code, compile) → object → test → (symbol → display → test). PROCESS Service runs at 1-second resolution at best.
- Class (§5.2): name ≤ 15 characters (letter first); language; priority (load balancing,
ranges set in the PROCESS Service setup file); Extended reset enabled. Code tab (template,
Compile after reopening the form), Listing tab (errors start
**** ERROR:; double-click to jump), Trigger Groups tab. - Object (§5.3): created under a section like an item; node (blank = local / control
item's node), priority 0–999 (0 = class priority), class, optional control item (object
runs when its status is on-line; BLOCKED disables methods;
STEP= its value), map position, up to 99 attribute prompts. Item management: Items may exist (reuse existing items with identical attributes), Leave items (keep created items when deleting the object), blocked, OPC visible, alarm inhibit. Object trigger groups override the class's. - Testing (§5.4):
PRINTstatements go to the message log (remove afterwards); right-click object → Debug collects a trace (triggers, methods, changed signals/attributes) shown when debug is switched off. - Reset (§5.5): compiled changes take effect only after resetting the class (all objects)
or single objects; control may be lost briefly; there is no indication which objects were
reset. Normal reset for body changes; extended reset when the signature changes
(traditional: prolog section; Java: attribute/signal declarations or
create()); it may create/modify/delete signal items. If the compiler misses a signature change, force it (Extended reset forced). - Symbols (§5.6–5.9): a symbol can be tied to a PROCESS Service class; its component properties connect to class signals (e.g. fill colour via a threshold table); on a display each symbol instance is pointed at an object (Edit Module, phase 10).
Differences from the installed software
Logged in knowledge/issues.md; the installed software is taken as right:
- ISS-018: no-login profile
CI_NO_LOGIN(R1.03 manual:FT_NO_LOGIN; fixed in the R1.05 manual, ISS-125). Still different: what happens when that user does not exist. - ISS-019 (closed): string item maximum length is 200 in the software (R1.03 manual: 100; Tutorial: 168); the R1.05 manuals say 200 bytes (ISS-124).
- Installed authorization actions include
AGGREGATION_OVERWRITE_*, not listed in §2.4. - ISS-126: R1.05
ITEM_VALhasENG_UNIT,SCALE_HIGH_LIMIT,SCALE_LOW_LIMIT, not described.