ci-server-engineer/knowledge/manuals/IM36K10L45-01EN.md
cliu b85a65250c R1.05 re-check: installation-security, data-access, equipment
Read-only re-check on the shared R1.05 test server plus a diff of the
R1.03 and R1.05 manual editions.

- installation-security: R1.05 OS list, Defender exceptions, IT security
  2.0/3.0, LAPS, automatic configuration merge (jupgutl), PRM chapter,
  port 34597; setup_check.ps1 gets -Version (default 1.05.00).
- data-access: L45 renumbered (new ch. 4 RESTful API), extended OPC UA
  functions off by default, OPC UA methods (OPCUAC_METHOD_CALL2_DF),
  Information Model Mapper, ServerConfig.xml in %TLS_SAV_PATH%.
- equipment: Modbus unchanged; IEC 104/61850 run as EQT managers
  (eqtdbg, eqtfrcscn), IEC 61850 report control blocks, upgrade steps.
- Issues ISS-076..090; R1.05 notes on ISS-003/008/032/034/061;
  progress and version-differences updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 18:26:35 +11:00

23 KiB
Raw Blame History


manual: IM 36K10L45-01EN title: Data Access Engineering edition: 5th Edition, Feb. 2026 (R1.05); first summarised from the 3rd Edition, Sep. 2023 (R1.03) version: R1.05 (first written for R1.03) status: from docs. R1.03 (2026-10-01): installed setup files (odbsrv.sup, opxsys.sup, opxuas.sup, ServerConfig.xml), access_start.cmd, PKI folders, processes and ports checked; OPC UA client → own OPC UA server loopback verified with CI-Eng-Sample (station CIENG_UA). R1.05 (2026-10-08, read-only on the test server): setup files (opxuas.sup, opxsys.sup, epauac_eqp.sup, opxuac_mon.sup, odbsrv.sup, dbc.sup, jrstsrv.sup, dssana.sup), ServerConfig.xml, PKI folders, processes, ports, data dictionary and dataset definitions compared with R1.03; loopback not re-run. ODBC not working on either system (ISS-008); OPC DA/A&E, RESTful API calls, methods and the imported information model from docs

Data Access Engineering (R1.05)

ACCESS Service connects CI Server data to other software: ODBC (SQL on datasets), the RESTful API (R1.04+), OPC Classic (DA and A&E, client and server, DCOM) and OPC UA (client and server). Section numbers refer to the 5th edition. R1.04 inserted ch. 4 (RESTful API), so OPC chapters moved up by one compared with R1.03 (R1.03 §4–§10 = R1.05 §5–§11; in the OPC UA client chapter R1.03 §9.5–9.11 = R1.05 §10.7–10.13). Engineering Module forms: IM36K10E20-01EN.md. Hands-on: skill data-access.

1. ODBC (§1–§3)

  • Multi-tier: ODBC application + driver manager + SimbaClient driver on the client; SimbaServer + ACCESS Service ODBC engine (odbsrv) on the CI Server. Read and write of existing dataset records with SQL (API level Core, SQL level minimum); datasets cannot be created or deleted over ODBC. Needs an ODBC licence.
  • odbsrv.sup: PORT (1583), USESSL (default on; certificate %TLS_ROOT_PATH%\tls\pki\odbsrv\SampleServerCertificate.pem, key SampleServerKey.pem), REMOVE_PADDING_SPACES, trace (TRACE, VERBOSE, TRACE_FILE), hidden data (TABLE_SUPPRESSION, FIELD_SUPPRESSION, FIELD_CONCEAL, all on). Unchanged in R1.05 (verified).
  • Client: install the VC++ 2019 redistributable and SimbaClientDriverxx.zip from the medium (install.bat as administrator); define a DSN with driver CiSimbaClientDriver (64-bit) or CiSimbaClientDriver32, server IP and port 1583. SimbaServer is installed and removed with CI Server (§3.2). Delete the DSN when ODBC is no longer used. Removing Simba parts from before R1.03 is now in App. 1.2.
  • SQL wildcards %/_ vs. MS Office */?: escape _ and % in names with \.
  • Common errors (§2.3): IM003 driver missing; IM002 DSN unknown; 08S01 SimbaServer not running / port mismatch / BUS Service not reachable.

Installed (R1.03 and R1.05 test systems): odbsrv.sup PORT 1583, USESSL YES, but the folder %TLS_ROOT_PATH%\tls\pki\odbsrv does not exist and no sample certificate is shipped, so odbsrv stops at every start (CppServerAPI::Run() failed: InitializeSslCtx(): SSL_CTX_use_certificate_chain_file() failed, then DUR-W-REM_PROC, Process ODBSRV exited unexpectedly); port 1583 does not listen. Fix: put a certificate and key there, or set USESSL = NO (admin; not applied, ISS-008). access_start.cmd writes the ODBC registry defaults once (when %TLS_DAT_PATH%\access.new exists).

2. OPC Classic basics (§5)

DCOM-based, Windows only. CI Server has DA client (opxdac), DA server (opxdas12, DA 1.0A and 2.0, custom + automation interfaces), A&E client (opxaec), A&E server (opxaes).

  • Quality: OPC DA quality goes to the lower 16 bits of the CI Server quality word, OPC A&E quality to the upper 16 bits. Item to OPC: CI Server quality low byte → OPC high byte; OPC low byte = offline → LAST_KNOWN, blocked → LOCAL_OVERRIDE, not initialised → NOT_CONNECTED, else GOOD.
  • Types: VT_UI1/UI2/INT/I1/I2/I4 → Integer, VT_UI4/UINT/R4/R8 → Real, VT_BSTR → String, VT_BOOL → Boolean.
  • Items, sections and objects appear to OPC servers (DA, A&E and UA) only with OPC visible (and every parent section visible).

3. OPC DA client (§6)

  • One client process per DA line (name given in the line), started/stopped with CI Server; stop one with durstp -msk -t10 -p <client>. Uses a save file in %TLS_SAV_PATH% named after the process; delete it (client stopped) if it gets inconsistent.
  • Server check every OPXDAC_SRV_ALIVE ms (default 30000); station status item: 1 running, 2 failed, 3 no config, 4 suspended, 5 test. Not connected → mapped items OFFLINE. Group status item: 1 active / 0 not active (items offline).
  • Setup (<client>.sup, else opxsys.sup; §6.3): OPXDAC_SAFE_CON (allow connecting to a CI Server DA server — never to the own node or a DURM-connected node: deadlock), OPXDAC_PING (ICMP check before DCOM, fast failure), …_PING_TIMEOUT (3 s), …_DUR_QSZ, …_HBEAT (100 ms), …_ITMBUF, …_FLUSH_GRPQUE (500 ms), …_BROWSE_CACHE, …_DISABLE_BROWSING, …_CHECK_MAPPING, …_ASYNC_WRITE, …_USE_CANONICAL_DATA_TYPE (default asks VT_R8), …_IGNORE_BAD_QC_UPDATES, …_CLEAR_SAV_FILE, …_DISABLE_STATUS_UPDATE.
  • Advice: one OPC server per client process (a DCOM time-out blocks the whole process). Quick-load templates: export LINE_DF, STATION_DF, OPC_GROUP_DF, ITEM_DF, POINT_DF of one station made in the Engineering Module.
  • DCOM tunnelling (§6.6): run the client on a PC in the OPC server's domain (CI Server with BUS, DATABASE, EQUIPMENT, ACCESS licence) connected to the host by MDUR (durm_<n>_udp.sup, port ≥ 20000, dur.sup host node = CI Core), use DCOM tunnelling to host on the client's setup file; on the host add the line with Equipment node = tunneller node. Use intmon node monitoring with Set slave items offline when node unavailable.

4. OPC DA server (§7)

  • COM server opxdas12.exe, ProgID Yokogawa.CIOpcDas.<version>, DUR name OPXDAS; started by COM on the first client connect; stop with durstp -p opxdas (clients get a shutdown).
  • Namespace = sections/items/sub-items (hierarchical or flat), filters (type, access, VB LIKE pattern). Cache read is fast and correct; device read blocks — use only after queue overflow. Timestamp = time written into the server cache.
  • opxsys.sup Data Access Server tab: OPXDAS_DUR_QSZ (100 kB), …_HBEAT, …_ITMBUF, OPXDAS_USER (log on as a CI Server user to apply its authorisation; empty = full access, fastest), OPXDAS_DCOM_TUN, OPXDAS_IGNORE_FTQ. Installed also: OPXDAS_SET_LOG_LEVEL (not described).
  • Remote access needs DCOM configuration (dcomcnfg: authentication Connect, impersonation Identify, access/launch permissions for an OPC account; identity of the server = that account), secpol (Create permanent shared objects, Network access: Classic), firewall rules for opxdas12.exe, opxdac.exe, opcenum.exe, mmc.exe and DCOM — not needed where the IT Security Tool is applied. Same account/password on both sides in a workgroup.
  • Troubleshooting (§7.9): OCSRegistryCheck.exe (GUI; installed), opxdas12 /RegServer, opccommonsetup / opcenum /RegServer / opcenum /Service (set the service to automatic), regsvr32 opcproxy.dll and opccomn_ps.dll in %WINDIR%\SysWOW64. Test locally first.

5. OPC A&E client and server (§8, §9)

  • Client opxaec (default name OPXAEC, -n for more), setup <name>.sup or opxsys.sup (OPXAEC_SAFE_CON — same deadlock rule, …_DUR_QSZ, …_SRV_ALIVE, …_PING_TIMEOUT, …_TRACE); maps condition events to items; one server per client advised.
  • Server opxaes, ProgID Yokogawa.CIOpcAes.<version>, DUR name OPXAES; publishes items with alarm monitoring as conditions; OPXAES_ACK_ALLOWED (acknowledge from clients), …_ALM_REC_DELAY (30 s), …_BROWSE_PREP_INI, and OPXAES_EC_ATTR_* switches for the CI Server-specific event attributes (old/new value, quality, status, alarm state, item description, units, node, group, number, sub-number). Installed: all on.
  • Installed R1.05 only (verified 2026-10-08, not in the manual, ISS-085): OPXAES_DIR_ALM (YES) switches "Direct" alarm events of the A&E server.

6. OPC UA client (§10)

  • OPC UA TCP only; security by X.509 certificates (application authentication), user anonymous or name/password; modes None/Sign/SignAndEncrypt; policies Basic256Sha256, Aes128-Sha256-RsaOaep, Aes256-Sha256-RsaPss recommended (None, Basic128Rsa15, Basic256 not).
  • Data types (§10.3.4, new in R1.04): Boolean → Boolean; SByte, Byte, Int16, UInt16, Int32, Integer → Integer; UInt32, Int64, UInt64, Float, Double, Number, UInteger, Duration → Real; String, ByteString, LocalizedText, DateTime / UtcTime (only YYYY-MM-DDThh:mm:ss.sssZ) → String of up to 250 bytes; ExtensionObject only for EURange and EngineeringUnits; enumerations as Int32. Unsigned types take no negatives, 64-bit types no decimals. One array element per point (methods take no arrays). A failed conversion is logged and the item gets status Bad. OPC UA status → CI Server quality: 0 good, 1 bad, 2 uncertain.
  • A&C (§10.4): only with OPXC_ENABLE_EXTENDED_FUNC = YES in the client's setup file (R1.04+, default NO). External alarms from ConditionType and derived types (ALARM/NORMAL events), other events INFORMATIONAL; filters by event type, component, event node; severity → priority table (901–1000 → 1 … 1–100 → 15), per station; don't manage NonExclusiveLimitAlarmType.
  • Model change events (§10.5, R1.04): GeneralModelChangeEvent is handled per change type — node/reference added: the affected points are recreated; node/reference deleted: the linked items go offline and external alarms get a ConditionRefresh; data type changed: nothing. BaseModelChangeEvent (no detail; recreate all points and event nodes) only with OPXC_BASE_MODEL_CHANGE_EVENT = YES (default NO). Bursts within 10 s are handled once, handling waits during alarm floods, and the server must support Read and Browse.
  • Methods (§10.6, R1.04): a CI Server object per method with attribute MTD_KEY and signals MTD_TRG, MTD_RET, MTD_IN_ARG_n, MTD_OUT_ARG_n (≤ 10 each; sample Java class UAC_MTD_JBASE); a method record per station and one point (namespace and node ID CIX_UAC_MTD, Input + Output) connected to MTD_TRG; symbol/display (demo AOG_UAC_Method_Demo). Dataset OPCUAC_METHOD_CALL2_DF (R1.03: OPCUAC_METHOD_CALL_IN_DF / …_OUT_DF, removed). Procedure: skill data-access, opcua-client.md §7.
  • Redundancy (§10.7): no client redundancy (use HAC); servers: transparent, or non-transparent cold backup with two endpoints (Active server item 0/1/2).
  • Engineering objects (§10.9): line (starts a client process; name must start with OPX, max 11 characters), station (= session), subscription, point (= monitored item), alarm component / event type filter / event node / template settings, method. The station's communication status item is called Boolean in §10.9.2, but IM 36K10E20 4th ed. lists states 0–5 (ISS-080).
  • Certificates (§10.9.10): the client process creates <host>_<PROCESS>.der in %TLS_ALLUSERS_PATH%\pki\opxuac\pkiclient\own\certs (also listed in dataset OPCUAC_PKI_CERTIFICATES_DF; verified on R1.03 and R1.05); server certificates arrive in …\pkiclient\rejected and must be trusted (Engineering Module, or move to …\pkiclient\trusted\certs); folders deleted, rejected added by CI Server. The server must trust the client's certificate too. Expiry warnings: see IM36K10E20-01EN.md §3.
  • Setup (§10.11; <process>.sup, else the template epauac_eqp.sup — the R1.03 edition named opxuac.sup, which is not installed on R1.03 or R1.05, ISS-084): OPXC_DUR_QUEUE_SIZE (10000 kB), heartbeats, buffers, OPXC_COM_STAT_CHK_INTERVAL (10 s), OPXC_STATION_CON_TRY_INTERVAL (30 s; observed retries every ~35 s on R1.03), OPXC_TIMESTAMP_OPTION (SERVER/SOURCE), OPXC_LOG_LEVEL, service and session time-outs, OPXC_SERVICE_COMPLIANCE, and new in R1.04 OPXC_BASE_MODEL_CHANGE_EVENT, OPXC_ENABLE_EXTENDED_FUNC (both NO). Log file %TLS_LOG_PATH%\<PROCESS>.log.
  • Installed R1.05 epauac_eqp.sup (verified 2026-10-08, ISS-083): OPXC_SERVICE_CALL_TIME_OUT = 60 (manual default 10 s); undocumented OPXC_DISABLE_SAV_FILE (NO), OPXC_ALARM_TIME_ATTRIBUTE (tab Alarm Time), hidden OPXC_CERT_EXP_PERIOD_WARN (2 months). opxuac_mon.sup is unchanged from R1.03 (none of the new keywords).
  • Quick load (§10.12–10.13): OPCUAC_LINE_DF, …_STATION_DF, …_SUBSCRIPTION_DF, …_POINT_DF (+ alarm and method datasets). Dataset OPCUAC_TAG_DF browses a connected server (filter on OPC_STATION_NAME and OPC_TAG_PATH; R1.05 adds REBROWSE and READ_NODE_INFO). Line, station, subscription and point definitions are identical in R1.03 and R1.05 (verified).
  • Installed: opxuac_mon (a monitor instance) is started by access_start.cmd.
  • Upgrade from R1.03 (App. 1.3): set OPXC_ENABLE_EXTENDED_FUNC if A&C was used; methods driven by dataset field updates no longer work — rebuild classes (MTD_*, extended reset), symbols and displays, and re-save methods with String or Boolean input arguments. App. 1.4 (R1.05): one class name per method object.

7. OPC UA server (§11)

  • Since R1.04 the server offers only Data Access and methods by default. Alarms & Conditions, HistoryRead and PubSub need OPXUAS_ENABLE_EXTENDED_FUNC = YES in opxuas.sup (ch. 11 intro, §11.6.2; installed default NO, verified on R1.05). An upgrade with the automatic configuration merge sets it; otherwise set it by hand if these were used (App. 1.3).
  • Process OPXUAS (opxuas -n opxuas, started by access_start.cmd; stop durstp -m -p opxuas), Unified Automation C++ SDK, port 34493. Log %TLS_ALLUSERS_PATH%\log\OPXUAS.log and OpxUas_Sdk*.log.
  • Visible data (§11.1.4): sections, objects, items with OPC visible; items also need Read (read values, browse into the item) and Write (write values, alarm methods). Parent sections must be visible. Without Read the item is listed but browsing into it fails (UncertainNotAllNodesAvailable). External alarms: OPC visible / read / write / manual reset in the station's alarm template settings.
  • Users (§11.1.5–11.1.6): anonymous = like OPC_UA_SERVER_READ; authorisation actions OPC_UA_SERVER_READ (browse, read, history) and OPC_UA_SERVER_MODIFY (+ write, methods). Anonymous access is governed by the dssana.sup user interface "Anonymous Via OPC UA Server" (OPXUASANY): installed default (R1.03 and R1.05) is no login with profile CI_NO_LOGIN_OPCUAS for local clients and Manual CI Server for remote clients. With AD integration, "Via OPC UA Server" + Automatic needs no AD password.
  • Address space (§11.3, now called the native information model): Objects → sections (folders) → objects → items (CIItemNumericType, …BooleanType, …StringType, …NumericSubType) with child nodes such as Value, Status, Blocked, Offline, HMIInfo, and alarm condition nodes. Types are in http://www.yokogawa.com/CI_Server/ (ns 3 in the manual). CI Server entities (sections, items) are in namespace urn:Yokogawa:CI_SERVER_OPC_UA_SERVER (verified by browsing on R1.03; the manual does not name it, ISS-032).
  • NodeIds are JSON strings: {"nsid":"<namespace id>"} for the entity, {"0":"Value","nsid":"<n>"} for its value; or by name: {"0":"Value","itnm":"<item>"} (case sensitive; verified on R1.03). The nsid changes when the item is recreated — prefer itnm. OPXUAS_USE_NAME_NODEIDS makes the server use names in its own IDs.
  • Status mapping: NORMAL → Good; NOT_INIT, UPD_OFF, OFFSCAN, OFFLINE, UNREACH → BadNoCommunication; BAD_VALUE → Bad. Types: Boolean, Int32, Double, String. Priority → severity: 1 → 1000, 2 → 900 … 15 → 50, 0 → 1 (since R1.03).
  • History (§11.3.3; extended functions): items in a history group show HistoryRead; max 5000 values per node per call.
  • Alarm methods (extended functions): Acknowledge, Confirm (= acknowledge), Disable/Enable (force to normal); external alarms Acknowledge/Confirm passed to the source; CIManualReset for CENTUM.
  • Imported information model (§11.4, new in R1.05): a standard NodeSet file (UANodeSet 1.05 schema) is mapped to CI Server entities with the OPC UA Information Model Mapper (IM36K10E20-01EN.md §4) and loaded as %TLS_DAT_PATH%\<queue>_<NodeSet file>.xml (one per server process, reloaded at server start). Mapping: section/object → Object; method object (MTD_* class; sample UAS_MTD_JBASE) → Method; item/sub-item → Variable; item alarm or external alarm → Event. OPC visible / Read / Write still apply. Once loaded, the native model is hidden unless OPXUAS_ENABLE_OWN_MODEL_TREE (manual name …_NATIVE_MODEL_TREE) is YES. Variables: no arrays, basic types only; out-of-range values give BadOutOfRange (item status unchanged). Method calls return OPC UA status codes (e.g. BadUserAccessDenied, BadNotExecutable when the item is blocked or the object not OPC visible). Rights: UA_MAPPER_PROJECT_INSERT / _MODIFY / _DELETE (in SYSTEM_MANAGER), dataset UASERVER_MAPPER_DF.
  • opxuas.sup (§11.6): General (FTFW_* queue, heartbeat, log), OPC UA Server tab (OPXUAS_OPTIONAL_NODES, …_MODEL_CHANGE_EVENTS, …_USE_NAME_NODEIDS, …_USE_DYNAMIC_SCANRATE, …_SOURCE_TIME_STAMPS, …_USE_RAW_STATUS, …_VARIABLE_CACHE_SIZE 100000, …_NUM_VALUES_PER_NODE 5000, and new …_ENABLE_NATIVE_MODEL_TREE, …_ENABLE_EXTENDED_FUNC), Alarm settings (EVENTS = ALARM, ACKN, DEACT, INFO), Logging. OPXUAS_MODEL_CHANGE_EVENTS now needs the extended functions; it sends BaseModelChangeEvents (also on NodeSet load/unload) and GeneralModelChangeEvents for root-level entities — deeper levels need an item NodeVersion (or <process>_NodeVersion, OPC visible + Read) at that level.
  • Installed keyword names differ (verified R1.03 and R1.05): OPXUAS_DYNAMIC_SCANRATE (manual …_USE_DYNAMIC_SCANRATE), extra OPXUAS_SET_HIGH_PRIO_15 (ISS-034); R1.05: OPXUAS_ENABLE_OWN_MODEL_TREE (manual …_NATIVE_MODEL_TREE) and hidden OPXUAS_METHOD_TIMEOUT_MARGIN (10000 ms) (ISS-082).
  • ServerConfig.xml (§11.7): the manual still gives %TLS_ROOT_PATH%\tls\exe; installed R1.05 has it only in %TLS_SAV_PATH% (R1.03: tls\exe; ISS-081). Endpoint opc.tcp://[NodeName]:34493; trust list …\pki\opxuas\pkiserver\trusted\certs, rejected …\pkiserver\rejected (created at the first rejection), own certificate ciserveruaserver.der. Installed (R1.03 and R1.05): only Basic256Sha256, Aes128_Sha256_RsaOaep, Aes256_Sha256_RsaPss with Sign / SignAndEncrypt (no None endpoint); anonymous, user/password and certificate user tokens enabled (manual: certificate off, ISS-034); AutomaticallyTrustAllClientCertificates false. The R1.05 file adds SDK sections (role configuration, user/password management, PubSub settings).
  • First connection of any client (§11.1.6): trust the server certificate on the client, then move the client certificate from the server's rejected to trusted\certs. UaExpert is the suggested test client.
  • Extra server instances (for PubSub lines or to test an information model): copy ServerConfig.xml to <instance>_ServerConfig.xml with another port, copy opxuas.sup to <instance>.sup, add a start line in access_start.cmd; instance names start with OPX (IM 36K10E20 4th ed. §3.4).
  • Discovery (§11.8): LDS on 4840 only when several servers are on a host; GDS for central certificate management (concepts only).

8. RDBMS data exposure (not in this manual)

IM 36K10L45 does not describe RDBMS data exposure; it is in the Tutorial (IM 36K10G10 ch. 10) and the item form (IM 36K10C10 §3.3). Summary here because it is an ACCESS-type interface; tested in R1.05 only (user system, 2026-10-02; R1.03 files checked read-only and identical; R1.05 files re-checked 2026-10-08). Procedure: skill data-access, task rdbms-exposure.md.

  • Processes DBCSND (sender, subscribes to DSS data) and DBCDEM (receiver, writes to MS SQL Server via ODBC); setup file dbc.sup (sender and receiver tabs; connection string DEM_CONNECTION, default Driver={SQL Server};Server=localhost\SQLEXPRESS;…).
  • Exposures are records in DATA_EXPOSURE_DF (source dataset, remote table, filter RECORDS, up to 32 field → column pairs or all fields). The target table is created by CI Server.
  • ITEM_VALUES exposure is driven by the per-item aggregation interval ITEM_DF.AGG_INTERVAL (60 s–7 days, 0 = off): value, min, max, average, count and a local-time TIMESTAMP (seconds since 1970) per interval.
  • Filter field names must not be quoted (NAME LIKE "<Section>*"); the manual's quoted example fails and stops all exposures (ISS-057). ITEM_HISTORY exposure: manual vs installed change log disagree (ISS-058).
  • The CI Service account .\CIX_PROCESS is local, so a remote SQL Server needs a SQL login and mixed mode (ISS-059).

9. RESTful API (§4, new in R1.04)

From docs; port 34597 listening and the jrstsrv.sup keywords verified on R1.05 (2026-10-08). No request was sent.

  • HTTPS server installed with CI Server and started/stopped by ACCESS Service, on a CI Core or on a CI Portal (reaching the core over MDUR). Not supported by CI View, Remote Connect or enterprise setups. Nothing to install on the client.
  • Authentication: HTTP Basic (CI Server user) plus an API key sent in the x-api-key header. Keys are made in the Engineering Module (Authorisation › Users, Add API Key, type RESTful API), one per user; stored in dataset API_KEYS_DF.
  • jrstsrv.sup (§4.2.1): JRST_MAX_RECORDS (records per reply, default 100), JRST_USE_TWO_WAY_SSL (default off: client trusts the server's self-signed certificate in %TLS_ALLUSERS_PATH%\pki\jrstsrv\keystore), JRST_READ_ONLY_MODE (default on), JRST_NETWORK_PORT (34597), JRST_USER_CACHE_TIME (600 s, must be > 0), JRST_CUSTOM_DATASETS (user datasets with read/write rights).
  • Requests (§4.3.2): https://<host>:34597/jrest/v2/<entity type>/<function> with OData options $filter, $select, $top, $skip; replies are OData JSON. Entity sets Tags, EventCategories, EventRecords. Functions: GetHistory (one tag, ISO 8601 times, sample interval in s; highest-priority history group), GetHistoryMultiTag (≤ 5 tags), GetEventHistory, GetAuditInfo, GetCurrentAlarms, AcknowledgeAlarms (several per request), UpdateItems (value, optional quality and status — status must match STATUS_DF.NAME), ReadDataset and Dataset (PUT/PATCH/DELETE on custom datasets).
  • Status codes (§4.3.3): 200, 204, 400 (bad URL or no data), 401 (rights or credentials), 404, 405, 500, 503.