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>
115 lines
8.5 KiB
Markdown
115 lines
8.5 KiB
Markdown
---
|
||
manual: IM 36K10E20-01EN
|
||
title: OPC Interface
|
||
edition: 4th Edition, Feb. 2026 (R1.05); first summarised from the 2nd Edition, Sep. 2023 (R1.03)
|
||
version: R1.05 (first written for R1.03)
|
||
status: from docs. R1.03 (2026-10-01): OPC UA point and certificate forms compared with quick load on the test system (user configured a point in the Engineering Module, exported and diffed). R1.05 (2026-10-08, read-only): method and mapper datasets, installed mapper files, AOG method displays and the ServerConfig.xml location checked; forms not opened, nothing configured
|
||
---
|
||
|
||
# OPC Interface (R1.05)
|
||
|
||
Engineering Module procedures for OPC Classic, OPC UA client, the OPC UA Information Model
|
||
Mapper (new in R1.05) and OPC UA PubSub. Concepts, setup files and the OPC servers:
|
||
`IM36K10L45-01EN.md`. Client and PubSub objects are 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 4th edition (R1.03 §2.2.6 is now §2.3, PubSub moved from
|
||
ch. 3 to ch. 4).
|
||
|
||
## 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; category filter = event category codes of
|
||
the A&E server, comma separated), 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.1)
|
||
|
||
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, and since R1.04 only with `OPXC_ENABLE_EXTENDED_FUNC = YES`,
|
||
see `IM36K10L45-01EN.md` §6).
|
||
|
||
| 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* (0 none, 1 server 1, 2 server 2); *On scan*; *General communication status item* (`STATUS_ITEM`; 4th ed. lists 0 preparing, 1 connected, 2 comm error/reconnecting, 3 connect failed, 4 shutdown received, 5 connection recreated — a Boolean item worked on R1.03, ISS-080); 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*; F5 rebrowses); *Read additional node information* (R1.05; clear it for slow links); read-only *Last value*, *Data type*, *Access level*, *Value rank*; array element; options (own sampling interval, monitoring mode, queue size); conversion (offset, step) |
|
||
| Method (§2.1.6) | name (≤ 255), namespace, node ID type, node ID (or browse path); *Options*: parent object node ID set by hand; *Arguments*: input/output argument types set by hand (use the server's types). Dataset `OPCUAC_METHOD_CALL2_DF`. No process areas any more (set them on the method object's `MTD_TRG` signal) |
|
||
|
||
Alarm event types (§2.1.4): `GeneralModelChangeEventType` and, only with
|
||
`OPXC_BASE_MODEL_CHANGE_EVENT` set, `BaseModelChangeEventType`.
|
||
|
||
Upgrade from R1.03 (§2.1.6): methods with String or Boolean input arguments must be refreshed —
|
||
edit any field and Apply (rebrowse), or copy the method, set the arguments, delete the old one
|
||
and add the copy. Running a method needs a CI Server object (IM 36K10L45 5th ed. §10.6; skill
|
||
`data-access`, `opcua-client.md` §7).
|
||
|
||
**Observed on R1.03 (2026-10-01)**: in the point form's browse, picking the item itself
|
||
(`Objects/<section>/…/<item>`) stores the item **object** (`{"nsid":"<n>"}`), 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":"<n>"}`, verified by the user). For quick load type the stable form:
|
||
`{"0":"Value","itnm":"<item>"}` (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, §2.3)
|
||
|
||
*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).
|
||
|
||
New in R1.05 (§2.2): the client warns in the Historical Alarm Overview and the UMH message log
|
||
when its own or the server's certificate is about to expire (lead time = hidden
|
||
`OPXC_CERT_EXP_PERIOD_WARN`, 2 months in the installed `epauac_eqp.sup`, verified 2026-10-08).
|
||
|
||
**CI Server OPC UA client ↔ CI Server OPC UA server (§2.3)**: 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 R1.03 test system the loopback
|
||
worked **without** that option, using `itnm` node IDs (ISS-032).
|
||
|
||
## 4. OPC UA Information Model Mapper (ch. 3, App. 1; new in R1.05)
|
||
|
||
From docs; installed parts verified on R1.05 (2026-10-08): dataset `UASERVER_MAPPER_DF`,
|
||
`%TLS_WAP_PATH%\cfg\tools\uamapper\` with libraries `UAMapperLibrary_MDIS`, `_None`,
|
||
`_Use_model`.
|
||
|
||
- Purpose: publish CI Server data under a standard OPC UA information model (NodeSet file, e.g.
|
||
MDIS or PA-DIM) instead of, or next to, the native CI Server model (server side:
|
||
`IM36K10L45-01EN.md` §7).
|
||
- Rights: `UA_MAPPER_PROJECT_INSERT`, `_MODIFY`, `_DELETE` (already in `SYSTEM_MANAGER`).
|
||
- Workflow (*Tools › OPC UA Information Model Mapper*): **New Mapping** (folder
|
||
`%TLS_WAP_PATH%\cfg\tools\uamapper\mapperprojects\<name>`) → **Configure**: NodeSet file (base
|
||
models in the same folder) and optional library template → **Edit Rules**: per OPC UA object
|
||
type a selection query on CI Server objects or sections (`CLASSNAME = …`, `SECTIONNAME = …`;
|
||
SQL keywords in App. 1), then methods → class names, variables → tag names, events → item or
|
||
external alarm names → **Build** (results can be exported to / imported from CSV;
|
||
`MappingReport.txt`) → **Load** to an OPC UA server process. Removing a mapping does not
|
||
unload it from the server (§3.4.6).
|
||
- Rule-based mapping needs consistent naming or class/object engineering; otherwise map by CSV.
|
||
In enterprise engineering, map on each CI Core. The manual advises trying a mapping on an
|
||
extra OPC UA server instance first (§3.4; instance procedure in `IM36K10L45-01EN.md` §7,
|
||
`<instance>_ServerConfig.xml` in `%TLS_SAV_PATH%`).
|
||
- Dataset `UASERVER_MAPPER_DF`: `NAME`, `DESCRIPTION`, `UA_NAMESPACE`, `UA_MODEL_FILE`,
|
||
`LIBRARY_NAME`, `MAPPING_FILE`, `TARGET_UA_SERVER`, `PROJECT_STATE` (INIT, CONFIGURED,
|
||
MAPPED, DEPLOYED).
|
||
|
||
## 5. OPC UA PubSub (ch. 4)
|
||
|
||
UDP publish/subscribe of Data Access values from the CI Server OPC UA server address space
|
||
(OPC visible items). Needs `OPXUAS_ENABLE_EXTENDED_FUNC = YES` since R1.04
|
||
(`IM36K10L45-01EN.md` §7). Objects: line, published datasets, station, writer groups + dataset
|
||
writers (publisher), reader groups + dataset readers (subscriber), then *Upload dataset
|
||
configurations to runtime*. Each extra PubSub line needs its own OPC UA server instance named
|
||
like the line's server name (own `<instance>_ServerConfig.xml`, which R1.05 keeps in
|
||
`%TLS_SAV_PATH%` — R1.03: `tls\exe`; ISS-081). 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).
|