OPC 데이터를 GSN 인프라에 통합하는 방법

본 논문은 OPC(Data Access) 서버에서 제공하는 산업 현장 데이터를 GSN(Global Sensor Network) 프레임워크가 이해할 수 있는 StreamElement 형태로 변환하는 Java 기반 래퍼를 설계·구현한다. 두 가지 시간 기반 전송 모드(주기적 전송, 변화 기반 전송)를 지원하며, COM‑DCOM을 이용해 Windows 기반 OPC 서버와 통신한다. 구현 결과는 OPC DA 2.05a 사양과 GSN 데이터 타입에 대한…

저자: ** Olivier Passalacqua, Eric Benoit, Marc‑Philippe Huget

OPC 데이터를 GSN 인프라에 통합하는 방법
본 논문은 산업 현장에서 널리 사용되는 OPC(OLE for Process Control) 표준의 Data Access(DA) 사양과, 센서 네트워크 기반 정보 융합을 지원하는 GSN(Global Sensor Network) 프레임워크를 연결하기 위한 소프트웨어 컴포넌트, 즉 “OPC‑GSN 래퍼”를 설계·구현하고 그 성능을 평가한다. 연구 배경으로는 최근 정보 융합 시스템이 군사, 스마트 홈, 공장 자동화 등 다양한 분야에 적용되고 있으나, 기존 산업 자동화 시스템은 OPC와 같은 전통적인 프로토콜에 묶여 있어 현대적인 융합 플랫폼과의 연동이 어려운 점을 들었다. 따라서 OPC 서버를 데이터 소스로 활용하면서 GSN의 가상 센서(Virtual Sensor)와 스트림 처리 기능을 그대로 이용할 수 있는 인터페이스가 필요하였다. GSN의 구조를 간략히 설명하면, GSN 코어는 여러 가상 센서(VS)를 관리하고, 각 VS는 하나 이상의 래퍼를 통해 외부 데이터 소스로부터 StreamElement라는 이산형 데이터 단위를 수집한다. 래퍼는 데이터 형식과 타임스탬프를 GSN이 정의한 스키마에 맞게 변환하고, SQL‑유사 질의를 통해 선택·집계·처리를 수행한다. 기존 GSN에는 OPC와 직접 연결할 수 있는 래퍼가 없었으며, 이를 보완하기 위해 본 연구는 OPC‑DA 2.05a 사양을 지원하는 Java 기반 래퍼를 개발하였다. 구현은 크게 세 부분으로 구성된다. 첫째, COM‑DCOM 기반의 OPC 서버와 통신하기 위해 OpenSCADA 프로젝트의 Utgard 라이브러리와 J‑Interop을 활용하였다. 이를 통해 Windows 전용 COM 객체를 Java 환경에서 호출할 수 있게 하였으며, 래퍼 자체는 JVM이 설치된 어느 플랫폼에서도 실행 가능하도록 설계하였다. 둘째, 데이터 전송의 시간적 의미를 정의하기 위해 두 가지 생산 모드, 즉 Periodic Production Mode(PPM)와 Change Based Production Mode(CBPM)를 도입하였다. PPM에서는 사용자가 지정한 Δt_U 주기로 OPC 서버에 폴링하고, 매 폴링 시점에 StreamElement를 생성한다. CBPM은 폴링 주기와 무관하게 OPC 아이템 값이 변했을 때만 StreamElement를 생성한다. 이 두 모드는 Δt_S(서버 샘플링 주기)와 Δt_U(폴링 주기) 사이의 관계에 따라 데이터 손실이나 중복을 최소화하도록 조절 가능하다. 셋째, 래퍼는 실행 중에도 Δt_U와 전송 모드를 동적으로 변경할 수 있는 제어 인터페이스를 제공한다. 이는 정보 융합 시스템이 실시간 상황에 맞춰 데이터 흐름을 조정해야 하는 요구에 부합한다. 아키텍처 측면에서 연구자는 래퍼를 “외부 변환기” 형태로 배치하였다. 즉, OPC 서버가 설치된 Windows 머신과는 별도의 호스트에서 래퍼가 실행되며, COM‑DCOM을 통해 서버와 통신하고 HTTP 혹은 GSN 전용 프로토콜을 통해 GSN 코어에 데이터를 전달한다. 이 설계는 OPC 서버 자체를 수정할 필요가 없으며, Windows 의존성을 최소화한다는 장점을 가진다. 논문은 또한 래퍼의 실용성을 검증하기 위해 오류 탐지 시나리오를 제시한다. 예를 들어, 표면 처리 공정에서 배에 들어있는 부품의 존재 여부를 OPC 센서가 감지하고, 가상 센서가 로봇 팔의 위치와 비교해 이상 상황을 판단하면 카메라를 제어해 현장을 촬영하도록 한다. 이러한 흐름은 VS 간의 XML 기반 연결만으로 구현 가능하며, 래퍼가 제공하는 실시간 데이터와 GSN의 이벤트 처리 기능이 어떻게 결합되는지를 보여준다. 실험 결과, 래퍼는 OPC DA 2.05a 사양에 정의된 모든 데이터 타입을 정확히 GSN StreamElement 형태로 변환했으며, 설정한 Δt_U 값에 따라 기대한 주기 혹은 변화 기반 전송을 수행함을 확인하였다. 또한, 데이터 손실 없이 연속적인 값 변화를 포착할 수 있었으며, 불필요한 중복 전송을 최소화하는 CBPM에서도 안정적인 동작을 보였다. 결론적으로, 본 연구는 OPC 기반 산업 데이터와 GSN 기반 정보 융합 시스템을 연결하는 실용적인 브릿지를 제공한다. OPC‑GSN 래퍼는 기존 OPC 인프라를 그대로 유지하면서 GSN의 강력한 데이터 처리·분석 기능을 활용할 수 있게 하며, 향후 OPC UA와 같은 최신 표준 지원, 동적 래퍼 로딩, 보다 정교한 제어 메커니즘 등을 통해 확장 가능성이 크다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기