- Summaries of IM 36K10L40 (EQUIPMENT utilities), L41 (EQUIPMENT configuration: lines, stations, conversion types, Modbus master/slave, driver table), L35 (ITH) and L36 (ITM), checked against the installed start scripts, setup files and datasets - tuning-checks: read-only itmdbg / eqpdbg via piped answers - New ISS-021 (STATION_STAT empty), ISS-022 (itmval -f crashes), ISS-023 (install differs from ITEM manuals, closed); ISS-006 updated Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.5 KiB
| manual | title | edition | version | status |
|---|---|---|---|---|
| IM 36K10L36-01EN | ITEM Service Engineering - ITM | 3rd Edition, Sep. 2023 | R1.03 | from docs; itm.sup, item_start.cmd and itmdbg statistics checked on the test system (2026-09-30); itmval -g/-p verified in phase 1; itmval -f crashes (ISS-022) |
ITEM Service Engineering - ITM (R1.03)
ITM is the real-time item database (item common, shared memory). Section numbers refer to the manual.
1. Processes (§1.1–1.2)
| Process | Role |
|---|---|
ITM |
item handler, message interface |
ITMTIM |
sends buffered item events; recalculates integrators |
ITMCPM / ITMCPS |
item copy master / slave for distributed items between nodes (buffered, compressed; after a lost MDUR link it rescans all or only changed master items in limited batches). Restart ITMCPM after deleting a distributed group. |
ITMLIMUPD |
copies limit/deadband changes to other nodes |
ITMREM |
cleans up event requests of processes that disappeared |
itmval |
command-line get/put |
itmtim [<period ms, default 100>] [<integration step ms, default 1000>] [<save count>]:
save count = integrators saved to disk per recalculation. Installed item_start.cmd
starts itmtim 100 1000 1 200 1 (five arguments; the last two are not documented). Also
started: itmaah, intitmini, itmlimupd, itmrem.
2. itm.sup (§1.3)
| Setting (keyword) | Manual default | Test system |
|---|---|---|
Queue size (queue_size) |
200 KB | 200 |
Save items (item_save): ITEM_BASE (per item's remember last value), ALWAYS, NEVER |
ITEM_BASE | ITEM_BASE |
Max item groups (max_groups) |
255 | 255 |
Max items per group (max_number) |
65534 (255 × 65534 = 16,711,170 items) | 65534 |
Max application info per item (max_appl_info) |
≤ 20 bytes always fits | 0 |
Max update info per item (max_upd_info) |
512 | 512 |
Item pool size (pool_kbytes), guide 0.07 × groups × items + appl KB × groups × items + 10 |
50000 KB | 650000 |
Integration granule (itm_int_secs), system-wide integrator time unit |
1 s | 1 (60 tested, ISS-010) |
Lock timeout (lock_timeout_secs) |
60 s | 60 |
Save to disk (disk_save) |
YES | yes |
Not regained (not_regained): after start, mark possibly stale values until the first update; hidden in trends |
not described | no (default block) |
3. itmval (§1.4)
itmval -g [-l] -n <item>
itmval -p [-l] -n <item> [-v <value>] [-s <status>] [-q <quality>] [-o] [-t [<date>] <time> [GMT|LST]]
itmval -f <file> <vsqo> [-l] -n <item>
-l = use this node instead of the host; -o = overwrite a blocked item; -t = update time
(default local time). -f should append an itmval -p … restore line with the chosen parts
(value, status, quality, options) to a command file, but on the test system it crashes
(segmentation fault / access violation) and writes nothing (ISS-022). The manual's
space-separated name form (-n <inst> <unit> <tag>) is rejected ("no (extra) command line
arguments allowed"); use the dotted full name. Practiced: skill system-management, task
read-write-item.md.
4. itmdbg (§2)
Start itmdbg, then a code; answers can be piped, e.g. read-only statistics:
printf '2\n-1\n' | itmdbg.
| Code | Shows / does |
|---|---|
| 1 | main info (root pointers, criterion and event request bits) |
| 2 | statistics: common size/free/fragments, configured limits, nr of items, integration secs, save mode, counters (item/sub-item updates, gets, buffered events, automatic saves, flow control) since system start and since debugger start |
| 3 / 4 | item / sub-item info by group and sequence number (value, status, options, limits, update times, name) |
| 5–11 | action blocks, main actions, task table (event requesters), event buffers, mask info (criterion bits: 1 FIRST, 2 EACH, 4 VAL, 8 STA, 10 DEL, …), item pointers, last update |
| 12 | unlock item data area (after a killed process; if pointers were being changed, restart ITEM Service) |
| 13 | save all item info to disk (before a shutdown, for a clean warm restart) |
| 14, 15, 17, 18 | flow control, integrator list, locked items, group–node relation |
| 16 | delete item from the in-core database (test/repair only) |
| 19 / 20 | most frequently updated items (10–1000) / reset those counters |
Test system (itmdbg code 2): common 665,600,000 bytes, free 665,307,508, 203 items,
integration 1 s, save mode item base. The same numbers appear in the automatic snapshots
smd_*_itmdbg_all.log (skill system-management, task tuning-checks.md).