본문으로 건너뛰기

OPC-UA 노드 뷰어 사용하기 (/ui/opcua)

게이트웨이 자체가 OPC-UA 서버 를 내장하고 있어, 수집된 태그값을 외부 OPC-UA 클라이언트(SCADA, HMI) 에게 그대로 노출합니다. 이 페이지는 그 내장 서버의 연결 정보노드 트리(태그 목록 + 실시간 값 + 시계열) 를 한 화면에서 볼 수 있는 뷰어 입니다.

내장 OPC-UA 서버 사양
  • 구현: Eclipse Milo 0.6.16 (Apache 2.0)
  • OPC UA 스펙: 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): 미지원 — 발행 필요 시 Sparkplug B 사용

좌측 메뉴 OPC-UA 뷰어 또는 직접 http://<게이트웨이>/ui/opcua 로 이동합니다.


1. 화면 구성

영역내용
상단 엔드포인트 패널외부 클라이언트가 접속할 TCP / TLS Endpoint URL, Application Name, Namespace Index, 인증 정보 (Username / Anonymous 허용 여부 / Password 토글)
좌측 노드 트리사이트 → OPC → 태그 3 단 트리. 각 OPC 의 연결 상태(CONNECTED/DISCONNECTED/UNKNOWN) 와 태그 수, 각 태그의 최신 값 을 인라인으로 표시
우측 노드 상세트리에서 선택한 노드의 메타 + 실시간 값 + (수치/불리언 태그라면) 시계열 차트

상단의 엔드포인트 URL복사 아이콘으로 한번에 복사할 수 있고, Password 칸을 클릭하면 (인증된 세션일 때) 평문이 보입니다.


2. NodeId 컨벤션

각 태그는 다음과 같은 OPC-UA NodeId 로 노출됩니다.

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

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

외부 클라이언트(UaExpert, KEPServerEX, Ignition 등) 에서 이 NodeId 로 직접 구독할 수 있습니다. 상세 패널의 NodeId 우측 복사 버튼이 있어 클립보드로 가져가기 쉽습니다.


3. 노드 트리 — 검색 / 새로고침

  • 트리 상단 검색창에 텍스트를 입력하면 트리·OPC·태그 이름을 실시간 부분 일치 로 필터링 합니다. 매칭이 자손에 있으면 부모(OPC, 사이트) 도 자동으로 펼쳐 표시합니다.
  • 검색창 우측의 새로고침(↻) 아이콘 — 캐시된 트리/엔드포인트 정보를 다시 가져옵니다. 평소엔 자동으로 갱신되니 거의 누를 일 없습니다.
  • 각 행의 ◂/▾ 토글로 서브트리를 접고/펼 수 있습니다. 검색이 활성일 때는 매칭 노출을 위해 자동으로 펼쳐지고, 검색을 비우면 직전 토글 상태로 복원됩니다.
  • 긴 값 자동 줄임 (ellipsis) — 트리 노드의 현재 값 이 컬럼 폭을 넘으면 text-overflow: ellipsis 처리됩니다. 마우스 hover 시 tooltip 으로 전체 평문이 노출 — JSON / 긴 STRING 값이 트리 레이아웃을 깨지 않도록 한 보호 장치입니다.
값 갱신 주기

트리에 표시되는 값은 2 초 주기 로 자동 갱신됩니다 (/ui/opcua/tree). 트리 구조나 펼침 상태, 우측 상세, 차트는 그대로 유지됩니다.


4. 노드 상세 + 시계열 차트

태그 행을 클릭하면 우측에 다음이 표시됩니다.

  • NodeId (복사 가능)
  • Tag ID / DataType / PLC Address / Alias / Description
  • Value (현재값 + 마지막 갱신 시각, ms 까지)
  • Status (OK / ERROR (메시지))

값 타입에 따라 차트 종류가 자동으로 달라집니다.

4.1 수치 / 불리언 (ECharts 라인 차트)

값이 숫자형(Integer/Long/Float/Double 등) 또는 불리언 이면 ECharts 시계열 라인 차트 가 그려집니다.

차트 기능설명
범위 선택차트 우상단 콤보로 1분/5분/10분/30분/1시간(default)/3시간/12시간/24시간 선택 — Cassandra(tm_tag_point) 의 과거 데이터를 즉시 가져와 다시 그립니다
dataZoom 슬라이더차트 하단 회색 톤(연한 그레이) 드래그바 — 가로 zoom / pan
자동 추가2 초 주기 폴링이 새 값을 차트에 추가합니다
Tooltip마우스 오버 시 ms 단위 시각 + 값
불리언step end 형태(계단형) 로 0/1 토글을 시각화
샘플링5,000 점 까지 보유, 그 이상이면 가장 오래된 점부터 제거 (lttb 다운샘플링)

4.2 STRING (vis-timeline 박스 차트)

값이 STRING 이면 ECharts 라인 대신 vis-timeline 의 range box 차트 가 그려집니다 — 같은 값이 연속되는 구간을 한 박스로 묶어 시각적으로 상태 변화 시점 을 강조하는 형태입니다.

항목설명
박스 = 같은 값 연속 구간예: "RUNNING" 이 12:00~12:35 동안 유지되면 그 구간 하나의 박스
박스 색값 해시 기반 자동 — 같은 텍스트는 항상 같은 색
박스 라벨값 평문 (긴 경우 hover 시 전체)
시간축 zoom/panvis 기본 인터랙션 (mouse wheel / drag)
갱신폴링 시 history 를 ASC 정렬해서 데이터셋 전체 재구성 (변동이 거의 없으면 깜빡임 없음)
노드 변경 시disposeStringTimeline() 으로 인스턴스 destroy + 새 노드의 차트 재생성

STRING 차트는 상태 머신 로그(READY → RUNNING → ERROR → IDLE) 같은 비숫자 시계열을 한눈에 보기에 적합합니다. 같은 톤은 태그 값 추이 보기 (tag-view) 에도 적용됩니다.


5. EDGE 시스템 태그

EDGE_<...> 로 시작하는 가상 OPC 한 개가 자동으로 트리에 보입니다. 이는 게이트웨이 자기자신의 상태를 OPC-UA 노드로 노출하는 시스템 태그 모음 입니다.

대표 태그:

태그 이름(Description)의미
THREAD_COUNT자바 스레드 수
TAG_COUNT등록된 태그 총 개수
SERVER_STARTED_TIMESTAMP서버 기동 시각(epoch ms)
OPC_CONNECTED_COUNT연결 OK 인 OPC 수
HEAP_USED_MBJVM 힙 사용량(MB)

EDGE 시스템 OPC 의 연결 상태항상 CONNECTED 로 표시됩니다 (자기자신이라 연결 개념이 없음).


6. 외부 클라이언트와 함께 쓰기 — 흐름

  1. 이 화면에서 TCP Endpoint 를 복사 (예: opc.tcp://<게이트웨이>:12000).
  2. UaExpert / KEPServerEX 등 OPC-UA 클라이언트에서 새 서버 추가 → 위 URL 입력.
  3. 인증 모드:
    • Anonymous 가 켜져 있으면(상단 패널에 Anonymous 허용 표시) 그대로 접속.
    • 아니면 Username / Password 사용 (Password 는 상단 패널에서 클릭으로 잠시 평문 확인 가능).
  4. 접속 후 NodeId ns=2;s=... 형식의 태그를 그대로 구독.

7. 트러블슈팅

증상점검 포인트
트리에 OPC 가 안 보임자주 하는 작업 → 새 PLC 연결 추가 가 끝났는지, 게이트웨이가 그 OPC 의 수집 자동 시작 옵션이 켜져 있는지
태그 옆 값이 - 로 나옴해당 태그가 한 번도 갱신된 적 없음. 수집 시작 / OPC 연결 / Quality 점검
트리에는 보이는데 외부 클라이언트가 NodeId 를 못 찾음오타 또는 OPC-UA 서버가 비활성. app.propertiesopc.ua.server.tcp.enable=true 확인
차트가 비어있음그 태그의 카산드라 history 가 아직 없음(방금 등록한 태그) — 잠시 기다리면 점이 추가됨
차트가 들쭉날쭉 보임범위를 24시간 로 키우면 자동 다운샘플링이 들어가 부드러워집니다
라이센스/CN 인증서 경고 (TLS 엔드포인트)게이트웨이의 자체 서명 인증서 — 클라이언트에서 "Trust" 처리. 사내 인증서 적용은 운영자에게 문의

8. 더 알아보기

  • Node-RED (/ui/flow) — 같은 태그값을 흐름으로 가공/외부 발송. 자주 하는 작업 → Node-RED 로 자동화 / IIoT 플로우 참고.
  • REST API — 같은 데이터를 HTTP 로 직접 가져올 수 있습니다. 고급 / 통합 파트너용 → REST API 참고.
  • 드라이버 기술 레퍼런스 → OPC-UA — 게이트웨이의 OPC-UA 클라이언트 측 (외부 OPC-UA 서버에 접속해 데이터를 가져오는 경로) 설명.