Skip to main content

Using the OPC-UA Node Viewer (/ui/opcua)

The gateway itself embeds an OPC-UA server, exposing collected tag values directly to external OPC-UA clients (SCADA, HMI). This page is a viewer that shows that embedded server's connection information and its node tree (tag list + live values + time series) on a single screen.

Embedded OPC-UA Server Specifications
  • Implementation: Eclipse Milo 0.6.16 (Apache 2.0)
  • OPC UA spec: 1.04 (IEC 62541:2020)
  • Transport: opc.tcp:// (default port 12000) / opc.tcp+TLS (12443)
  • Security policies: None / Basic128Rsa15 / Basic256 / Basic256Sha256 / Aes128_Sha256_RsaOaep / Aes256_Sha256_RsaPss
  • User token: Anonymous (opc.ua.server.anonymous=yes default) / UserName+Password / X.509
  • Encoding: UA Binary
  • Profile: Standard 2017 Server
  • PubSub MQTT (1.05): Not supported — use Sparkplug B if publishing is required

Go to OPC-UA Viewer in the left menu, or navigate directly to http://<gateway>/ui/opcua.


1. Screen Layout

AreaContents
Top endpoint panelTCP / TLS Endpoint URL for external clients, Application Name, Namespace Index, credentials (Username / whether Anonymous is allowed / Password toggle)
Left node tree사이트 → OPC → 태그 three-level tree. Shows each OPC's connection status (CONNECTED/DISCONNECTED/UNKNOWN), tag count, and each tag's latest value inline
Right node detailsMetadata + live value of the node selected in the tree + a time series chart (for numeric/boolean tags)

The copy icon next to the endpoint URL at the top copies it in one click, and clicking the Password field reveals the plaintext (when the session is authenticated).


2. NodeId Convention

Each tag is exposed under an OPC-UA NodeId in the following form.

ns=2;s=<SITE_ID>.<OPC_ID>.<TAG_ID>

Example: ns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042

External clients (UaExpert, KEPServerEX, Ignition, etc.) can subscribe directly using this NodeId. A copy button to the right of the NodeId in the detail panel makes it easy to put on the clipboard.


3. Node Tree — Search / Refresh

  • Typing text into the search box at the top of the tree filters tree, OPC, and tag names by live partial match. If a match is found in a descendant, the parent (OPC, site) is expanded automatically.
  • The refresh (↻) icon to the right of the search box re-fetches the cached tree/endpoint information. It normally refreshes automatically, so you will rarely need it.
  • The ◂/▾ toggle on each row collapses/expands the subtree. While a search is active, nodes expand automatically to reveal matches; clearing the search restores the previous toggle state.
  • Automatic truncation of long values (ellipsis) — if a tree node's current value exceeds the column width, it is with text-overflow: ellipsis. Hovering with the mouse shows the full plaintext in a tooltip — a safeguard that keeps JSON / long STRING values from breaking the tree layout.
Value Refresh Interval

Values shown in the tree refresh automatically every 2 seconds (/ui/opcua/tree). The tree structure, expansion state, right-hand details, and charts are all preserved.


4. Node Details + Time Series Chart

Clicking a tag row displays the following on the right.

  • NodeId (copyable)
  • Tag ID / DataType / PLC Address / Alias / Description
  • Value (current value + last update time, down to ms)
  • Status (OK / ERROR (메시지))

The chart type changes automatically depending on the value type.

4.1 Numeric / Boolean (ECharts line chart)

If the value is numeric (Integer/Long/Float/Double, etc.) or boolean, an ECharts time series line chart is drawn.

Chart featureDescription
Range selectionSelect 1분/5분/10분/30분/1시간(default)/3시간/12시간/24시간 from the combo box at the top right of the chart — historical data from Cassandra (tm_tag_point) is fetched immediately and redrawn
dataZoom sliderThe gray (light gray) drag bar at the bottom of the chart — horizontal zoom / pan
Automatic appendingThe 2-second polling cycle appends new values to the chart
TooltipMouse-over shows the timestamp to ms plus the value
BooleanVisualizes 0/1 toggling in step end (step) form
SamplingHolds up to 5,000 points; beyond that the oldest points are dropped (lttb downsampling)

4.2 STRING (vis-timeline box chart)

If the value is a STRING, a vis-timeline range box chart is drawn instead of the ECharts line — consecutive runs of the same value are grouped into a single box, visually emphasizing when the state changed.

ItemDescription
Box = run of identical valuesExample: if "RUNNING" holds from 12:00 to 12:35, that interval is a single box
Box colorAutomatic, based on a hash of the value — identical text always gets the same color
Box labelThe value in plaintext (hover for the full text if long)
Time axis zoom/panStandard vis interaction (mouse wheel / drag)
RefreshOn each poll, the history is sorted ASC and the entire dataset is rebuilt (no flicker when there is little change)
On node changedisposeStringTimeline() destroys the instance and regenerates the chart for the new node

The STRING chart is well suited to viewing non-numeric time series such as state machine logs (READY → RUNNING → ERROR → IDLE) at a glance. The same approach applies to Viewing tag value trends (tag-view).


5. EDGE System Tags

A single virtual OPC whose name starts with EDGE_<...> appears automatically in the tree. This is a collection of system tags that expose the gateway's own status as OPC-UA nodes.

Representative tags:

Tag name (Description)Meaning
THREAD_COUNTJava thread count
TAG_COUNTTotal number of registered tags
SERVER_STARTED_TIMESTAMPServer start time (epoch ms)
OPC_CONNECTED_COUNTNumber of OPCs with a healthy connection
HEAP_USED_MBJVM heap usage (MB)

The connection status of the EDGE system OPC is always shown as CONNECTED (it is the gateway itself, so there is no connection to speak of).


6. Using It with External Clients — Workflow

  1. Copy the TCP Endpoint from this screen (e.g. opc.tcp://<gateway>:12000).
  2. In an OPC-UA client such as UaExpert or KEPServerEX, add a new server → enter the URL above.
  3. Authentication mode:
    • If Anonymous is enabled (the top panel shows Anonymous allowed), connect as is.
    • Otherwise use Username / Password (the password can be briefly revealed in plaintext by clicking it in the top panel).
  4. After connecting, subscribe directly to tags in the NodeId format ns=2;s=....

7. Troubleshooting

SymptomPoints to check
OPC does not appear in the treeWhether 자주 하는 작업 → 새 PLC 연결 추가 has finished, and whether the gateway has the auto-start collection option enabled for that OPC
The value next to a tag shows -That tag has never been updated. Check collection start / OPC connection / Quality
Visible in the tree, but the external client cannot find the NodeIdTypo, or the OPC-UA server is disabled. Check opc.ua.server.tcp.enable=true in app.properties
Chart is emptyThere is no Cassandra history for that tag yet (a tag registered just now) — points will be added shortly
Chart looks jaggedWidening the range to 24 hours engages automatic downsampling and smooths it out
라이센스/CN 인증서 warning (TLS endpoint)The gateway's self-signed certificate — mark it "Trust" in the client. Contact your operator about applying a corporate certificate

8. Learn More

  • Node-RED (/ui/flow) — process and forward the same tag values through flows. See 자주 하는 작업 → Node-RED 로 자동화 / IIoT 플로우.
  • REST API — the same data can be fetched directly over HTTP. See 고급 / 통합 파트너용 → REST API.
  • Driver Technical Reference → OPC-UA — describes the gateway's OPC-UA client side (the path that connects to an external OPC-UA server to retrieve data).