--- manual: IM 36K10E20-01EN title: OPC Interface edition: 2nd Edition, Sep. 2023 version: R1.03 status: from docs; OPC UA point and certificate forms compared with quick load on the test system 2026-10-01 (user configured a point in the Engineering Module, exported and diffed) --- # OPC Interface (R1.03) Engineering Module procedures for OPC Classic, OPC UA client and OPC UA PubSub. Concepts, setup files and the OPC servers: `IM36K10L45-01EN.md`. Everything here is under *Configuration → I/O processing → Equipment → (OPC DA client | OPC A&E client | OPC UA Client | OPC UA PubSub)*. CI Server must be running. Section numbers refer to the manual. ## 1. OPC Classic (§1) - DA: line (equipment node, process name — the manual says it must start with `OPC` for DA and A&E lines, `OPX` for OPC UA), station (OPC server node and ProgID, status item), group (deadband, requested update rate, status item), point (external relation, group, OPC tag, browse). Then connect items to points (Tutorial "Define points"). - A&E: line, station (server, subscription filters), subscribed attributes; to show events in the current alarm overview, map event sources to items. External names must be unique per station. ## 2. OPC UA client (§2) Order: line → station → subscription → points (→ methods) → alarm components / event type filters / event nodes / template settings (only when alarms are wanted; no alarms are received until event nodes are configured). | Object | Key fields (dataset field) | |---|---| | Line | name ≤ 31, equipment node (*None* = this node), **process name starts with `OPX`, ≤ 11 characters** (`EQUIPMENT_MAN`) | | Station | name ≤ 19; *Host(:port)* + *Discovery* fill session/server name and endpoint, or type the endpoint (`SERVER_01_ENDPOINT`); redundant servers + *Active server item*; *On scan*; *General communication status item* (`STATUS_ITEM`); security policy and mode; anonymous or user/password; requested session time-out; alarm tab (request active alarms, store all alarms as SOE, severity → priority mapping) | | Subscription | publishing interval, lifetime and keep-alive counts, max notifications, priority, publish enabled, status item | | Point | external relation Input / Output / Input + Output; subscription; *Namespace*, *Node id type*, *Node Id* (or *Browse path*); read-only *Last value*, *Data type*, *Access level*, *Value rank*; array element; options (own sampling interval, monitoring mode, queue size); conversion (offset, step) | | Method | namespace, node ID or browse path, process areas | **Observed (2026-10-01)**: in the point form's browse, picking the item itself (`Objects/
/…/`) stores the item **object** (`{"nsid":""}`), which has no value: *Last value*/*Data type* stay empty and the point is never monitored (revised sampling interval 0, item status 13). Expanding the item and picking its `Value` node works (`{"0":"Value","nsid":""}`, verified by the user). For quick load type the stable form: `{"0":"Value","itnm":""}` (namespace `urn:Yokogawa:CI_SERVER_OPC_UA_SERVER`, type STRING). The form also fills `OPC_DISPLAY_NAME` and `OPC_TAG_INFO` (browse bookkeeping; not needed for quick load). ISS-033. ## 3. Certificates (§2.2) *OPC UA Client → Certificates*: **Trusted**, **Rejected** (server certificates arrive here), **Own certificate**. Trust = open the rejected certificate, tick *Trusted*, Apply; reject = untick. Restart the Engineering Module to refresh the folders. *Modify* the own certificate (name, organisation, country, domain or IP, RSA key strength, signature algorithm, validity). **CI Server OPC UA client ↔ CI Server OPC UA server (§2.2.6)**: trust the server certificate on the client; copy the client's own certificate (`%TLS_ALLUSERS_PATH%\pki\opxuac\pkiclient\own\certs`) to the server's `…\pki\opxuas\pkiserver\trusted\certs`; the manual also asks to tick *Use CI Server entity names for nodeids* in `opxuas.sup` and restart the server. On the test system the loopback worked **without** that option, using `itnm` node IDs (ISS-032). ## 4. OPC UA PubSub (§3) UDP publish/subscribe of Data Access values from the CI Server OPC UA server address space (OPC visible items). Objects: line (needs its own copy of `ServerConfig.xml` named for the instance), published datasets, station, writer groups + dataset writers (publisher), reader groups + dataset readers (subscriber), then *Upload dataset configurations to runtime*. Limits per line: 4 stations, 8 writer groups, 8 reader groups, 32 dataset writers, 32 dataset readers, 32 published datasets. Status mapping as for the server (NORMAL → Good; NOT_INIT, UPD_OFF, OFFSCAN, OFFLINE → Uncertain; BAD_VALUE → Bad). Not practiced (needs a PubSub peer).