KR102170160B1 - Apparatus and method for unidirectional data transmission based on opc-ua - Google Patents

Apparatus and method for unidirectional data transmission based on opc-ua Download PDF

Info

Publication number
KR102170160B1
KR102170160B1 KR1020170076658A KR20170076658A KR102170160B1 KR 102170160 B1 KR102170160 B1 KR 102170160B1 KR 1020170076658 A KR1020170076658 A KR 1020170076658A KR 20170076658 A KR20170076658 A KR 20170076658A KR 102170160 B1 KR102170160 B1 KR 102170160B1
Authority
KR
South Korea
Prior art keywords
opc
proxy
data
server
transmission
Prior art date
Application number
KR1020170076658A
Other languages
Korean (ko)
Other versions
KR20180137244A (en
Inventor
김병구
나중찬
손선경
전부선
허영준
강동호
김용균
나재훈
이성현
최병철
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020170076658A priority Critical patent/KR102170160B1/en
Publication of KR20180137244A publication Critical patent/KR20180137244A/en
Application granted granted Critical
Publication of KR102170160B1 publication Critical patent/KR102170160B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Abstract

OPC-UA 기반의 단방향 데이터 송신 장치 및 방법이 개시된다. 본 발명에 따른 OPC-UA 서버의 데이터를 OPC-UA 클라이언트로 전송하는 단방향 데이터 송신 장치는, 상기 OPC-UA 서버로부터 관리 대상 노드의 정보를 수신하고, 상기 OPC-UA 서버로 관리 대상 노드에 상응하는 데이터를 요청하여, 상기 관리 대상 노드에 상응하는 실시간 데이터 및 히스토리컬 데이터를 수신하는 송신 프록시, 그리고 상기 송신 프록시로부터 상기 관리 대상 노드의 정보를 수신하여 OPC-UA 서버 프록시를 구축하고, 상기 송신 프록시로부터 상기 실시간 데이터 및 상기 히스토리컬 데이터를 수신하며, 구축된 상기 OPC-UA 서버 프록시를 이용하여 상기 관리 대상 노드에 대한 상기 실시간 데이터 및 상기 히스토리컬 데이터의 업데이트를 수행하고, 상기 OPC-UA 클라이언트의 요청에 상응하는 데이터를 상기 OPC-UA 클라이언트로 전송하는 수신 프록시를 포함한다. Disclosed is an OPC-UA based one-way data transmission apparatus and method. One-way data transmission apparatus for transmitting data from an OPC-UA server to an OPC-UA client according to the present invention receives information of a management target node from the OPC-UA server, and corresponds to a management target node by the OPC-UA server. A transmission proxy for receiving real-time data and historical data corresponding to the management target node by requesting the data to be managed, and the management target node information from the transmission proxy to establish an OPC-UA server proxy, and the transmission Receives the real-time data and the historical data from a proxy, and updates the real-time data and the historical data for the management target node using the established OPC-UA server proxy, and the OPC-UA client It includes a receiving proxy for transmitting data corresponding to the request of the OPC-UA client.

Description

OPC-UA 기반의 단방향 데이터 송신 장치 및 방법{APPARATUS AND METHOD FOR UNIDIRECTIONAL DATA TRANSMISSION BASED ON OPC-UA}OPC-UA based one-way data transmission device and method {APPARATUS AND METHOD FOR UNIDIRECTIONAL DATA TRANSMISSION BASED ON OPC-UA}

본 발명은 단방향 데이터 전송 환경에서 OPC-UA 서버와 클라이언트간의 단방향 데이터 송수신 기술에 관한 것으로, 특히, 안전 영역의 OPC-UA 서버 데이터를 비안전 영역의 OPC-UA 클라이언트로 안전하게 전송하는 OPC-UA 데이터의 단방향 송신 기술에 관한 것이다.The present invention relates to a one-way data transmission and reception technology between an OPC-UA server and a client in a one-way data transmission environment, and in particular, OPC-UA data for safely transmitting OPC-UA server data in a safe area to an OPC-UA client in a non-secure area. It relates to one-way transmission technology.

망분리 기술은 외부로부터의 해킹 및 보안 사고에 의한 중요 데이터의 유출을 방지하기 위하여, 내부망(업무망)과 외부망(인터넷망)을 분리하는 기술이다. 망분리 기술을 적용할 경우 보안 측면에서는 안전한 환경을 만들 수 있으나, 두 망 간 데이터의 교환이 불가능해지므로 업무 효율성이 저하된다. 따라서, 업무의 연속성을 확보하기 위한 수단으로 망 연계 기술의 도입이 필요하다. Network separation technology is a technology that separates an internal network (business network) and an external network (internet network) to prevent leakage of important data due to external hacking and security incidents. If the network separation technology is applied, a safe environment can be created in terms of security, but work efficiency is degraded because data exchange between the two networks becomes impossible. Therefore, it is necessary to introduce network linkage technology as a means to ensure business continuity.

안전한 제어망 연동 기법으로는 물리적 연결선 차단을 통한 단방향 네트워크 연결 기술이 있다. 물리적 단방향 보안 게이트웨이는 정보 전달이 필요한 두 시스템 사이에 단방향으로만 정보가 전달되도록 각 송수신 회선의 한 쪽을 물리적으로 차단한 전용 하드웨어 기반의 데이터 전송 시스템이다. As a safe control network interworking technique, there is a one-way network connection technology through physical connection line blocking. The physical one-way security gateway is a dedicated hardware-based data transmission system that physically blocks one side of each transmission/reception line so that information is transmitted only in one direction between two systems requiring information transmission.

물리적 단방향 보안 게이트웨이는 두 네트워크 영역 사이에 위치하며, 제어망과 같은 보안 등급이 높은 영역(안전 영역)의 정보는 외부(비안전 영역)로 전달하며, 동시에 비안전영역으로부터의 정보는 물리적으로 차단함으로써, 안전 영역의 보안을 유지할 수 있다. The physical one-way security gateway is located between the two network areas, and information from areas with high security levels (safe areas) such as the control network is transferred to the outside (non-secure areas), while at the same time physically blocking information from non-secure areas By doing so, it is possible to maintain the security of the safe area.

기존의 TCP 와 같은 양방향 프로토콜을 사용하는 네트워크 환경에 단방향 보안 게이트웨이를 도입하기 위해서는, 세션 정보의 유지, 응용 계층의 동작 지원 문제 등 많은 제약 사항이 있다. 오늘날 기술의 개발로 이러한 문제들이 해결되는 추세이나 대부분 물리적 침투 경로 차단, 데이터 전송의 신뢰성 향상, 지원 가능한 프로토콜의 증가에 초점을 맞추고 있어, 현장 적용을 위해서는 기존 망 정보 변경과 같은 다양한 제약 사항이 추가적으로 존재한다. In order to introduce a one-way security gateway to a network environment that uses a two-way protocol such as the existing TCP, there are many limitations such as maintenance of session information and support for operation of the application layer. Today's technology development tends to solve these problems, but most of them are focusing on blocking physical penetration paths, improving the reliability of data transmission, and increasing the number of supported protocols.For field application, various restrictions such as change of existing network information are additionally required. exist.

즉, 단방향 데이터 전송 장치가 기존 망들의 중간에 위치하여 기존의 망 정보가 소실되면서 단방향 데이터 전송 장치의 정보로 변조되는 경우가 존재한다. 그러나, 이러한 방식은 기존 망 정보의 변경을 필요로 하므로, 기존의 망 정보는 그대로 유지하면서 단방향 데이터 전달을 수행해주는 기법이 요구된다. That is, there is a case where the unidirectional data transmission device is located in the middle of the existing networks, and the existing network information is lost and is modulated with information of the unidirectional data transmission device. However, since this method requires modification of the existing network information, a method of performing one-way data transfer while maintaining the existing network information is required.

한편, 단방향 데이터 전송 장치가 적용되는 대표적인 환경으로는 주요 기반 시설에서 운영되는 제어망이 있다. 제어망은 대부분 외부 연결망에서 분리 폐쇄망의 데이터를 모니터링하는 형태로, 제어망에 적합한 다양한 응용 계층의 제어 프로토콜을 통해 수행된다. On the other hand, as a representative environment to which the unidirectional data transmission device is applied, there is a control network operated in a major infrastructure. Most of the control networks are in the form of monitoring the data of the separated closed network in the external network, and are performed through the control protocol of various application layers suitable for the control network.

다양한 제어 시스템 공급업자에 따른 다양한 제어 통신 프로토콜이 사용됨에 따라, 서로 다른 공급자의 인터페이스 간 상호 운용성을 위한 산업 규격인 OPC(OLE for Process Control) 표준이 설계되었다. OPC UA(OLE for Process Control Unified Architecture)는 IEC TC57 그룹에서 IEC62541로 표준화한 산업용 데이터 통신 표준으로, Classic OPC(OPC DA, OPC HDA, OPC A&E)의 기능을 통합하고, 추가적인 서비스를 제공하여, 기존의 제약사항을 해결하였다. OPC UA는 독립적인 플랫폼으로 사용 가능하고, Internet 표준과 IP 기반의 프로토콜을 채택하고 있으며, 기본적으로 서버, 클라이언트 형태로 동작한다. As various control communication protocols according to various control system suppliers are used, the OPC (OLE for Process Control) standard, which is an industry standard for interoperability between interfaces of different suppliers, was designed. OPC UA (OLE for Process Control Unified Architecture) is an industrial data communication standard standardized to IEC62541 by the IEC TC57 group. It integrates the functions of Classic OPC (OPC DA, OPC HDA, OPC A&E) and provides additional services. The limitations of OPC UA can be used as an independent platform, adopts Internet standard and IP-based protocol, and basically operates in the form of server and client.

OPC UA 서버는 분리 폐쇄망 형태로 운영되는 제어망 내부의 PLC, IED, RTU와 같은 필드 디바이스와의 통합 인터페이스를 통해서 정보를 수집 및 저장한다. 그리고 OPC UA 클라이언트는 OPC UA 통신 표준에 따라 해당 정보를 모니터링한다. The OPC UA server collects and stores information through an integrated interface with field devices such as PLC, IED, and RTU inside the control network operated in the form of a separate closed network. And the OPC UA client monitors the information according to the OPC UA communication standard.

따라서, OPC UA 통신 표준에 따른 단방향 데이터 전송 방식을 제공하기 위해서는, OPC UA 서버와 OPC UA 클라이언트 간에 전달되는 데이터 특성에 적합한 포괄적인 프록시 구현이 이루어져야 한다. 또한, 실제 OPC UA 클라이언트와 OPC UA 서버 간의 기존 설정이나 동작을 변경하지 않고 OPC UA 기반의 안전 영역 데이터를 비안전 영역으로 효과적으로 전달해 주기 위한 기술의 개발이 필요하다. Therefore, in order to provide a one-way data transmission method according to the OPC UA communication standard, a comprehensive proxy implementation suitable for the data characteristics transmitted between the OPC UA server and the OPC UA client must be implemented. In addition, it is necessary to develop a technology to effectively transmit OPC UA-based safe area data to non-safe areas without changing the existing settings or operations between the actual OPC UA client and the OPC UA server.

한국 등록 특허 제10-1562312호, 2015년 10월 21일 공고(명칭: 단일 장치로서 데이터 재전송을 수행하는 물리적 단방향 통신의 게이트웨이 장치 및 그것을 이용하는 데이터 전송 방법)Korean Patent Registration No. 10-1562312, announced on October 21, 2015 (Name: gateway device for physical one-way communication performing data retransmission as a single device and data transmission method using the same)

본 발명의 목적은 분리 폐쇄망인 안전 영역에 대한 외부의 침입은 원천적으로 봉쇄하면서, 비안전 영역으로 OPC UA 기반의 데이터를 효율적으로 전달하는 것이다. An object of the present invention is to efficiently transmit OPC UA-based data to an unsafe area while fundamentally blocking external intrusions into a safe area, which is a separated and closed network.

또한, 본 발명의 목적은 기존 OPC UA 서버 및 OPC UA 클라이언트에 대한 별도의 설정 변경 없이, 유실 가능성이 있는 히스토리컬 데이터에 대한 전송 신뢰성을 보장하는 것이다. In addition, it is an object of the present invention to ensure transmission reliability for historical data that may be lost without changing separate settings for the existing OPC UA server and OPC UA client.

또한, 본 발명의 목적은 전송 신뢰성을 보장하여, 안전 영역에서 비안전 영역으로 OPC UA 기반 단방향 데이터를 효율적으로 전달할 수 있도록 하는 것이다. In addition, it is an object of the present invention to ensure transmission reliability, so that OPC UA-based one-way data can be efficiently transferred from a safe area to a non-secure area.

또한, 본 발명의 목적은 주요 기반 시설 내의 OPC UA 서버는 보호하면서, 효과적으로 모니터링 할 수 있도록 하는 것이다. In addition, an object of the present invention is to enable effective monitoring while protecting the OPC UA server in the main infrastructure.

상기한 목적을 달성하기 위한 본 발명에 따른 OPC-UA 서버의 데이터를 OPC-UA 클라이언트로 전송하는 단방향 데이터 송신 장치는 상기 OPC-UA 서버로부터 관리 대상 노드의 정보를 수신하고, 상기 OPC-UA 서버로 관리 대상 노드에 상응하는 데이터를 요청하여, 상기 관리 대상 노드에 상응하는 실시간 데이터 및 히스토리컬 데이터를 수신하는 송신 프록시, 그리고 상기 송신 프록시로부터 상기 관리 대상 노드의 정보를 수신하여 OPC-UA 서버 프록시를 구축하고, 상기 송신 프록시로부터 상기 실시간 데이터 및 상기 히스토리컬 데이터를 수신하며, 구축된 상기 OPC-UA 서버 프록시를 이용하여 상기 관리 대상 노드에 대한 상기 실시간 데이터 및 상기 히스토리컬 데이터의 업데이트를 수행하고, 상기 OPC-UA 클라이언트의 요청에 상응하는 데이터를 상기 OPC-UA 클라이언트로 전송하는 수신 프록시를 포함한다. One-way data transmission apparatus for transmitting data of an OPC-UA server to an OPC-UA client according to the present invention for achieving the above object receives information of a management target node from the OPC-UA server, and the OPC-UA server A transmission proxy that requests data corresponding to the management target node and receives real-time data and historical data corresponding to the management target node, and an OPC-UA server proxy by receiving information of the management target node from the transmission proxy. Construct, receive the real-time data and the historical data from the transmission proxy, and update the real-time data and the historical data for the management target node using the established OPC-UA server proxy, And a receiving proxy for transmitting data corresponding to the request of the OPC-UA client to the OPC-UA client.

이때, 상기 실시간 데이터는, OPC DA 데이터, OPC 알람 데이터 및 OPC 이벤트 데이터 중 적어도 어느 하나를 포함하고, 상기 관리 대상 노드의 데이터 변화 시 자동으로 생성되는 데이터일 수 있다. In this case, the real-time data may include at least one of OPC DA data, OPC alarm data, and OPC event data, and may be data automatically generated when data of the management target node changes.

이때, 상기 히스토리컬 데이터는, 상기 송신 프록시의 주기적인 전송 요청에 상응하도록, 상기 OPC-UA 서버로부터 수신한 데이터일 수 있다. In this case, the historical data may be data received from the OPC-UA server to correspond to the periodic transmission request of the transmission proxy.

이때, 상기 송신 프록시는, 요청 주기 및 요청 범위에 상응하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하고, 상기 OPC-UA 서버로부터 상기 전송 요청에 상응하는 상기 히스토리컬 데이터를 수신할 수 있다. At this time, the transmission proxy transmits a request for transmission of the historical data corresponding to a request period and a request range to the OPC-UA server, and receives the historical data corresponding to the transmission request from the OPC-UA server. can do.

이때, 상기 송신 프록시는, 상기 요청 주기에 상응하는 시간마다, 현재 시간을 기준으로 상기 요청 범위에 상응하는 시간 동안의 상기 히스토리컬 데이터의 전송을 요청하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송할 수 있다. At this time, the transmission proxy, for each time corresponding to the request period, based on the current time, for a time corresponding to the request range, the transmission request of the historical data requesting the transmission of the OPC- Can be sent to the UA server.

이때, 상기 수신 프록시는, 상기 송신 프록시 및 상기 수신 프록시 중 적어도 어느 하나가 재구동되는 경우, 상기 OPC-UA 서버 프록시를 재구축할 수 있다. In this case, the reception proxy may rebuild the OPC-UA server proxy when at least one of the transmission proxy and the reception proxy is restarted.

이때, 상기 수신 프록시는, 상기 OPC-UA 서버 프록시 구축 시, 상기 OPC-UA 서버 프록시에 상응하는 구축 정보를 저장할 수 있다. In this case, the receiving proxy may store construction information corresponding to the OPC-UA server proxy when constructing the OPC-UA server proxy.

이때, 상기 수신 프록시는, 상기 OPC-UA 서버 프록시의 구축과 관련된 설정 정보를 확인하고, 기 구축된 노드의 정보가 존재하는 경우 상기 구축 정보를 기반으로 상기 OPC-UA 서버 프록시를 재구축하며, 상기 기 구축된 노드의 정보가 존재하지 않는 경우 상기 송신 프록시로부터 노드의 정보를 수신하여 상기 OPC-UA 서버를 재구축할 수 있다. At this time, the receiving proxy checks the setting information related to the establishment of the OPC-UA server proxy, and if there is information on the previously established node, rebuilds the OPC-UA server proxy based on the establishment information, If the previously established node information does not exist, the OPC-UA server may be rebuilt by receiving the node information from the transmission proxy.

이때, 상기 수신 프록시는, 상기 송신 프록시가 재구동되는 경우 상기 OPC-UA 서버 프록시를 재구축하고, 상기 수신 프록시만 재구동되는 경우 선택적으로 상기 OPC-UA 서버 프록시를 재구축할 수 있다. In this case, the receiving proxy may rebuild the OPC-UA server proxy when the transmission proxy is restarted, and selectively rebuild the OPC-UA server proxy when only the receiving proxy is restarted.

이때, 상기 수신 프록시는, 상기 송신 프록시로부터 새로운 노드의 정보를 수신한 경우, 상기 새로운 노드의 정보를 기반으로 상기 OPC-UA 서버 프록시를 재구축할 수 있다. In this case, when the receiving proxy receives information on a new node from the transmission proxy, the OPC-UA server proxy may be rebuilt based on the information on the new node.

또한, 본 발명의 일실시예에 따른 OPC-UA 서버의 데이터를 OPC-UA 클라이언트로 전송하는 OPC-UA 기반의 단방향 데이터 송신 장치에 의해 수행되는 단방향 데이터 송신 방법은 상기 OPC-UA 서버로부터 관리 대상 노드의 정보를 수신하여 OPC-UA 서버 프록시를 구축하는 단계, 상기 OPC-UA 서버로 실시간 데이터를 요청하여 수신하고, 상기 실시간 데이터를 업데이트 하는 단계, 상기 OPC-UA 서버로 히스토리컬 데이터를 요청하여 수신하고, 상기 히스토리컬 데이터를 업데이트 하는 단계, 그리고 상기 OPC-UA 클라이언트의 요청에 상응하도록 상기 OPC-UA 클라이언트로 상기 실시간 데이터 및 상기 히스토리컬 데이터 중 적어도 어느 하나를 포함하는 데이터를 전송하는 단계를 포함한다. In addition, a one-way data transmission method performed by an OPC-UA-based one-way data transmission device for transmitting data from an OPC-UA server to an OPC-UA client according to an embodiment of the present invention is a management target from the OPC-UA server. Receiving node information to establish an OPC-UA server proxy, requesting and receiving real-time data from the OPC-UA server, updating the real-time data, and requesting historical data from the OPC-UA server Receiving, updating the historical data, and transmitting data including at least one of the real-time data and the historical data to the OPC-UA client to correspond to the request of the OPC-UA client. Include.

이때, 상기 OPC-UA 기반의 단방향 데이터 송신 장치는, 상기 OPC-UA 서버에 접속하여 상기 관리 대상 노드의 정보를 수신하는 송신 프록시, 그리고 상기 OPC-UA 서버로부터 수신된 상기 데이터를 상기 OPC-UA 클라이언트로 전송하는 수신 프록시를 포함할 수 있다. At this time, the OPC-UA-based one-way data transmission device includes a transmission proxy for accessing the OPC-UA server to receive information on the management target node, and the OPC-UA server for the data received from the OPC-UA server. It may include a receiving proxy that sends to the client.

이때, 상기 실시간 데이터는, OPC DA 데이터, OPC 알람 데이터 및 OPC 이벤트 데이터 중 적어도 어느 하나를 포함하고, 상기 관리 대상 노드의 데이터 변화 시 자동으로 생성되는 데이터일 수 있다. In this case, the real-time data may include at least one of OPC DA data, OPC alarm data, and OPC event data, and may be data automatically generated when data of the management target node changes.

이때, 상기 히스토리컬 데이터는, 주기적인 상기 히스토리컬 데이터의 전송 요청에 상응하도록, 상기 OPC-UA 서버로부터 수신한 데이터일 수 있다. In this case, the historical data may be data received from the OPC-UA server to correspond to a periodic request for transmission of the historical data.

이때, 상기 히스토리컬 데이터를 업데이트 하는 단계는, 상기 송신 프록시가 요청 주기 및 요청 범위에 상응하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하는 단계, 그리고 상기 송신 프록시가 상기 OPC-UA 서버로부터 상기 전송 요청에 상응하는 상기 히스토리컬 데이터를 수신하는 단계를 포함할 수 있다. At this time, the updating of the historical data includes: transmitting, by the transmission proxy, a transmission request of the historical data corresponding to a request period and a request range to the OPC-UA server, and the transmission proxy is the OPC- It may include the step of receiving the historical data corresponding to the transmission request from the UA server.

이때, 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하는 단계는, 상기 송신 프록시가 상기 요청 주기에 상응하는 시간마다, 현재 시간을 기준으로 상기 요청 범위에 상응하는 시간 동안의 상기 히스토리컬 데이터의 전송을 요청하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송할 수 있다. In this case, the step of transmitting the request for transmission of the historical data to the OPC-UA server includes, by the transmission proxy, the history for a time corresponding to the request range based on the current time at each time corresponding to the request period. The historical data transmission request requesting the transmission of the curl data may be transmitted to the OPC-UA server.

이때, 상기 송신 프록시 및 상기 수신 프록시 중 적어도 어느 하나가 재구동되는 경우, 상기 OPC-UA 서버 프록시를 재구축하는 단계를 더 포함할 수 있다. In this case, when at least one of the transmission proxy and the reception proxy is restarted, the step of rebuilding the OPC-UA server proxy may be further included.

이때, 상기 OPC-UA 서버 프록시 구축 시, 상기 수신 프록시가 상기 OPC-UA 서버 프록시에 상응하는 구축 정보를 저장하는 단계를 더 포함할 수 있다. In this case, when establishing the OPC-UA server proxy, the receiving proxy may further include storing construction information corresponding to the OPC-UA server proxy.

이때, 상기 OPC-UA 서버 프록시를 재구축하는 단계는, 상기 수신 프록시가 상기 OPC-UA 서버 프록시의 구축과 관련된 설정 정보를 확인하는 단계, 기 구축된 노드의 정보가 존재하는 경우 상기 구축 정보를 기반으로 상기 OPC-UA 서버 프록시를 재구축하는 단계, 그리고 상기 기 구축된 노드의 정보가 존재하지 않는 경우 상기 송신 프록시로부터 노드의 정보를 수신하여 상기 OPC-UA 서버를 재구축하는 단계를 포함할 수 있다. In this case, the step of rebuilding the OPC-UA server proxy includes: the receiving proxy confirms setting information related to the establishment of the OPC-UA server proxy, and if information on the previously established node exists, the establishment information is Rebuilding the OPC-UA server proxy on the basis, and rebuilding the OPC-UA server by receiving the node information from the sending proxy when the previously established node information does not exist. I can.

이때, 상기 OPC-UA 서버 프록시를 재구축하는 단계는, 상기 송신 프록시가 재구동되는 경우 상기 OPC-UA 서버 프록시를 재구축하고, 상기 수신 프록시만 재구동되는 경우 선택적으로 상기 OPC-UA 서버 프록시를 재구축할 수 있다. In this case, the step of rebuilding the OPC-UA server proxy may include rebuilding the OPC-UA server proxy when the transmission proxy is restarted, and selectively the OPC-UA server proxy when only the receiving proxy is restarted. Can be rebuilt.

본 발명에 따르면, 분리 폐쇄망인 안전 영역에 대한 외부의 침입은 원천적으로 봉쇄하면서, 비안전 영역으로 OPC UA 기반의 데이터를 효율적으로 전달할 수 있다. According to the present invention, it is possible to efficiently transmit OPC UA-based data to a non-safe area while fundamentally blocking external intrusion into a safe area, which is a separated and closed network.

또한 본 발명에 따르면, 기존 OPC UA 서버 및 OPC UA 클라이언트에 대한 별도의 설정 변경 없이, 유실 가능성이 있는 히스토리컬 데이터에 대한 전송 신뢰성을 보장할 수 있다. In addition, according to the present invention, it is possible to ensure the reliability of transmission of historical data that may be lost without changing separate settings for the existing OPC UA server and OPC UA client.

또한 본 발명에 따르면, 전송 신뢰성을 보장하여, 안전 영역에서 비안전 영역으로 OPC UA 기반 단방향 데이터를 효율적으로 전달할 수 있다. In addition, according to the present invention, transmission reliability is guaranteed, and OPC UA-based one-way data can be efficiently transferred from the safe area to the non-secure area.

또한 본 발명에 따르면, 주요 기반 시설 내의 OPC UA 서버는 보호하면서, 효과적으로 모니터링 할 수 있다. In addition, according to the present invention, the OPC UA server in the main infrastructure can be monitored effectively while protecting it.

도 1은 본 발명의 일실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 장치가 적용되는 환경을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 방법을 설명하기 위한 순서도이다.
도 4는 도 3의 S310 단계에서 OPC-UA 서버 프록시를 구축하는 과정을 나타낸 순서도이다.
도 5는 도 3의 S330 단계에서 히스토리컬 데이터를 업데이트하는 과정을 나타낸 순서도이다.
도 6은 본 발명의 일실시예에 따른 OPC-UA 서버의 히스토리컬 데이터를 나타낸 예시도이다.
도 7은 도 5에서 수신 프록시가 수신한 히스토리컬 데이터를 나타낸 예시도이다.
도 8은 본 발명의 일실시예에 따른 단방향 데이터 전송 환경에서 단방향 데이터를 송신하는 과정을 설명하기 위한 순서도이다.
도 9는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
1 is a diagram schematically illustrating an environment to which an OPC-UA-based unidirectional data transmission apparatus according to an embodiment of the present invention is applied.
2 is a block diagram showing the configuration of an OPC-UA-based one-way data transmission apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating an OPC-UA-based one-way data transmission method according to an embodiment of the present invention.
4 is a flowchart illustrating a process of building an OPC-UA server proxy in step S310 of FIG. 3.
5 is a flowchart illustrating a process of updating historical data in step S330 of FIG. 3.
6 is an exemplary view showing historical data of an OPC-UA server according to an embodiment of the present invention.
7 is an exemplary diagram showing historical data received by a reception proxy in FIG. 5.
8 is a flow chart illustrating a process of transmitting unidirectional data in a unidirectional data transmission environment according to an embodiment of the present invention.
9 is a block diagram showing a computer system according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate an overall understanding, the same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.

도 1은 본 발명의 일실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 장치가 적용되는 단방향 데이터 송수신 시스템의 환경을 개략적으로 나타낸 도면이다. 1 is a diagram schematically showing an environment of a one-way data transmission/reception system to which an OPC-UA-based one-way data transmission apparatus according to an embodiment of the present invention is applied.

도 1에 도시한 바와 같이, 단방향 데이터 송수신 시스템에서, 안전 영역에 위치한 OPC-UA 서버(100)는 실시간 데이터 및 히스토리컬 데이터를 모니터링 및 관리한다. 그리고 OPC-UA 서버(100)는 단방향 데이터 송신 장치(200)를 통하여, 실시간 데이터 및 히스토리컬 데이터를 OPC-UA 클라이언트(300)로 전달한다.1, in the one-way data transmission/reception system, the OPC-UA server 100 located in the safe area monitors and manages real-time data and historical data. In addition, the OPC-UA server 100 transmits real-time data and historical data to the OPC-UA client 300 through the one-way data transmission device 200.

단방향 데이터 송신 장치(200)는 송신측 및 수신측에 대응되는 OPC-UA 서버 및 OPC-UA 클라이언트의 프록시를 배치하여, OPC-UA 서버(100)의 데이터를 OPC-UA 클라이언트(300)로 전달할 수 있다. The one-way data transmission device 200 arranges a proxy of an OPC-UA server and an OPC-UA client corresponding to the transmitting side and the receiving side, and transmits the data of the OPC-UA server 100 to the OPC-UA client 300. I can.

OPC-UA 서버(100)의 데이터는 실시간 데이터 및 히스토리컬 데이터를 포함할 수 있으며, 실시간 데이터는 OPC DA(Data Access) 데이터, OPC 알람 데이터 및 OPC 이벤트 데이터 중 적어도 어느 하나를 포함할 수 있다. 또한, 히스토리컬 데이터 (Historical Data Access, HDA)는 송신 프록시의 주기적인 전송 요청에 상응하도록, OPC-UA 서버(100)로부터 수신한 데이터를 의미할 수 있다. The data of the OPC-UA server 100 may include real-time data and historical data, and the real-time data may include at least one of OPC DA (Data Access) data, OPC alarm data, and OPC event data. In addition, historical data (HDA) may mean data received from the OPC-UA server 100 to correspond to a periodic transmission request of a transmission proxy.

이하에서는 도 2를 통하여 본 발명의 일 실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 장치의 구성에 대하여 더욱 상세하게 설명한다. Hereinafter, the configuration of an OPC-UA-based one-way data transmission apparatus according to an embodiment of the present invention will be described in more detail with reference to FIG. 2.

도 2는 본 발명의 일실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 장치의 구성을 나타낸 블록도이다. 2 is a block diagram showing the configuration of an OPC-UA-based one-way data transmission apparatus according to an embodiment of the present invention.

도 2에 도시한 바와 같이, OPC-UA 기반의 단방향 데이터 송신 장치(200)는 송신 프록시(Send Proxy)(210) 및 수신 프록시(Receive Proxy)(220)를 포함한다. As shown in FIG. 2, the OPC-UA-based one-way data transmission apparatus 200 includes a send proxy 210 and a receive proxy 220.

송신 프록시(210)는 OPC-UA 서버(100)로부터 관리 대상 노드의 정보를 수신하고, OPC-UA 서버(100)로 관리 대상 노드에 상응하는 데이터를 요청한다. 또한, 송신 프록시(210)는 OPC-UA 서버(100)로부터 관리 대상 노드에 상응하는 실시간 데이터 및 히스토리컬 데이터를 수신할 수 있다. The transmission proxy 210 receives information on the management target node from the OPC-UA server 100 and requests data corresponding to the management target node to the OPC-UA server 100. In addition, the transmission proxy 210 may receive real-time data and historical data corresponding to the management target node from the OPC-UA server 100.

설명의 편의상, 송신 프록시(210)가 OPC-UA 서버(100)로 데이터를 요청한다고 설명하였으나, 송신 프록시(210)는 OPC-UA 서버(100)로 실시간 데이터를 요청하는 과정 및 히스토리컬 데이터를 요청하는 과정을 분리하여, 별개의 과정으로 수행할 수 있다. For convenience of explanation, it has been described that the transmission proxy 210 requests data from the OPC-UA server 100, but the transmission proxy 210 provides the process of requesting real-time data to the OPC-UA server 100 and historical data. The requested process can be separated and performed as a separate process.

특히, 송신 프록시(210)는 요청 주기 및 요청 범위에 상응하는 히스토리컬 데이터의 전송 요청을 OPC-UA 서버(100)로 전송하고, OPC-UA 서버(100)로부터 전송 요청에 상응하는 히스토리컬 데이터를 수신할 수 있다. In particular, the transmission proxy 210 transmits a request for transmission of historical data corresponding to the request period and the request range to the OPC-UA server 100, and the historical data corresponding to the transmission request from the OPC-UA server 100 Can receive.

송신 프록시(210)는 요청 주기에 상응하는 시간마다, 현재 시간을 기준으로 요청 범위에 상응하는 시간 동안의 히스토리컬 데이터의 전송을 요청할 수 있다. 예를 들어, 현재 시간이 오후 4시이고, 요청 범위가 3시간이라고 가정하면, 송신 프록시(210)는 OPC-UA 서버(100)로 오후 1시부터 오후 4시까지 3시간 동안의 히스토리컬 데이터의 전송을 요청할 수 있다. The transmission proxy 210 may request transmission of historical data for a time corresponding to the request range based on the current time at each time corresponding to the request period. For example, assuming that the current time is 4 p.m. and the request range is 3 hours, the transmission proxy 210 sends the OPC-UA server 100 to the OPC-UA server 100 for 3 hours from 1 p.m. to 4 p.m. Can request transmission of

다음으로 수신 프록시(220)는 송신 프록시(210)로부터 관리 대상 노드의 정보를 수신하여 OPC-UA 서버 프록시를 구축하고, 송신 프록시(210)로부터 실시간 데이터 및 히스토리컬 데이터를 수신한다. 또한, 수신 프록시(220)는 구축된 OPC-UA 서버 프록시를 이용하여 관리 대상 노드에 대한 실시간 데이터 및 히스토리컬 데이터의 업데이트를 수행할 수 있다. 그리고 수신 프록시(220)는 OPC-UA 클라이언트(300)의 요청에 상응하는 데이터를 OPC-UA 클라이언트(300)로 전송할 수 있다. Next, the reception proxy 220 receives information on the management target node from the transmission proxy 210 to establish an OPC-UA server proxy, and receives real-time data and historical data from the transmission proxy 210. In addition, the reception proxy 220 may update real-time data and historical data for a managed node using the established OPC-UA server proxy. Further, the reception proxy 220 may transmit data corresponding to the request of the OPC-UA client 300 to the OPC-UA client 300.

여기서, 실시간 데이터는 OPC DA 데이터, OPC 알람 데이터 및 OPC 이벤트 데이터 중 적어도 어느 하나를 포함할 수 있으며, 관리 대상 노드의 데이터 변화 시 자동으로 생성되는 것일 수 있다. 그리고 히스토리컬 데이터는 송신 프록시(210)의 주기적인 전송 요청에 상응하도록, OPC-UA 서버(100)로부터 수신한 데이터를 의미할 수 있다. Here, the real-time data may include at least one of OPC DA data, OPC alarm data, and OPC event data, and may be automatically generated when data of a management target node changes. In addition, the historical data may mean data received from the OPC-UA server 100 to correspond to the periodic transmission request of the transmission proxy 210.

수신 프록시(220)는 OPC-UA 서버 프록시 구축 시, OPC-UA 서버 프록시에 상응하는 구축 정보를 저장할 수 있다. 그리고 송신 프록시(210) 및 수신 프록시 중 적어도 어느 하나가 재구동되는 경우, 수신 프록시(220)는 OPC-UA 서버 프록시를 재구축할 수 있다. 이때, 수신 프록시(220)는 OPC-UA 서버 프록시의 구축과 관련된 설정 정보를 확인하고, 기 구축된 노드의 정보가 존재하는 경우 구축 정보를 기반으로 OPC-UA 서버 프록시를 재구축할 수 있다. The reception proxy 220 may store construction information corresponding to the OPC-UA server proxy when constructing the OPC-UA server proxy. In addition, when at least one of the transmission proxy 210 and the reception proxy is restarted, the reception proxy 220 may rebuild the OPC-UA server proxy. At this time, the receiving proxy 220 may check the setting information related to the establishment of the OPC-UA server proxy, and if there is information on the previously established node, the OPC-UA server proxy may be rebuilt based on the establishment information.

반면, 기 구축된 노드의 정보가 존재하지 않는 경우, 수신 프록시(220)는 송신 프록시(210)로부터 노드의 정보를 수신하여 OPC-UA 서버 프록시를 재구축할 수 있다. On the other hand, if the previously established node information does not exist, the receiving proxy 220 may receive the node information from the transmitting proxy 210 and rebuild the OPC-UA server proxy.

또한, 수신 프록시(220)는 송신 프록시(210)가 재구동되는 경우 OPC-UA 서버 프록시를 재구축하는 반면, 수신 프록시(220)만 재구동되는 경우에는 선택적으로 OPC-UA 서버 프록시를 재구축할 수 있다. 그리고 수신 프록시(220)는 송신 프록시(210)로부터 새로운 노드의 정보를 수신한 경우 새로운 노드의 정보를 기반으로 OPC-UA 서버 프록시를 재구축할 수 있다. In addition, the receiving proxy 220 rebuilds the OPC-UA server proxy when the transmission proxy 210 is restarted, whereas when only the receiving proxy 220 is restarted, the OPC-UA server proxy is selectively rebuilt. can do. In addition, when the receiving proxy 220 receives information of a new node from the transmitting proxy 210, the OPC-UA server proxy may be rebuilt based on the information of the new node.

이하에서는 도 3 및 도 4를 통하여 본 발명의 일 실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 장치에 의해 수행되는 OPC-UA 기반의 단방향 데이터 송신 방법에 대하여 더욱 상세하게 설명한다. Hereinafter, an OPC-UA-based one-way data transmission method performed by an OPC-UA-based one-way data transmission apparatus according to an embodiment of the present invention will be described in more detail with reference to FIGS. 3 and 4.

도 3은 본 발명의 일실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 방법을 설명하기 위한 순서도이다. 3 is a flowchart illustrating an OPC-UA-based one-way data transmission method according to an embodiment of the present invention.

먼저, OPC-UA 기반의 단방향 데이터 송신 장치(200)는 OPC-UA 서버 프록시를 구축한다(S310). First, the OPC-UA-based one-way data transmission apparatus 200 constructs an OPC-UA server proxy (S310).

송신 프록시(210)는 OPC-UA 클라이언트 프록시의 역할을 수행하며, 비안전 영역의 OPC-UA 클라이언트(300)와 동일한 방식으로 안전 영역의 OPC-UA 서버(100)에 접속하여 노드의 정보를 요청하고, OPC-UA 서버(100)로부터 노드의 정보를 수신한다. 그리고 송신 프록시(210)는 수신 프록시(220)로 노드의 정보를 전달하여, OPC-UA 서버 프록시를 구축한다. The transmission proxy 210 serves as an OPC-UA client proxy, and requests node information by accessing the OPC-UA server 100 in the safe area in the same manner as the OPC-UA client 300 in the non-secure area. Then, the node information is received from the OPC-UA server 100. Then, the transmission proxy 210 transmits the node information to the reception proxy 220 to establish an OPC-UA server proxy.

이때, OPC-UA 서버 프록시는 안전 영역의 OPC-UA 서버와 동일한 IP 주소를 사용하므로, 비안전 영역의 OPC-UA 클라이언트(300)는 안전 영역의 OPC-UA 서버(100)에 직접 접속하는 것과 실질적으로 동일한 효과를 나타내며, 별도의 설정 변경 없이 OPC-UA 서버(100)에 접속할 수 있다. At this time, the OPC-UA server proxy uses the same IP address as the OPC-UA server in the safe area, so that the OPC-UA client 300 in the non-secure area directly accesses the OPC-UA server 100 in the safe area. It has substantially the same effect, and it is possible to access the OPC-UA server 100 without a separate setting change.

시스템 유지 보수 등의 이유로, 송신 프록시(210)나 수신 프록시(220)가 재구동될 때, 안전 영역의 OPC-UA 서버(100)와의 동기화 문제를 해결하기 위하여, OPC-UA 기반의 단방향 데이터 송신 장치(200)는 후술할 도 4의 과정을 수행할 수 있다. 이때, 도 4의 과정은 기본적으로 OPC-UA 서버 프록시가 구축되는 수신 프록시(220)에 적용되며, 수신 프록시(220)는 OPC-UA 서버(100)에서 관리되는 노드의 정보를 수신하여, 동일한 기능을 수행하는 OPC-UA 서버 프록시를 구축할 수 있다.OPC-UA-based one-way data transmission in order to solve the synchronization problem with the OPC-UA server 100 in the safe area when the transmission proxy 210 or the reception proxy 220 is restarted due to system maintenance or the like The device 200 may perform the process of FIG. 4 to be described later. In this case, the process of FIG. 4 is basically applied to the receiving proxy 220 in which the OPC-UA server proxy is built, and the receiving proxy 220 receives information of a node managed by the OPC-UA server 100, and the same You can build an OPC-UA server proxy that performs a function.

도 4는 도 3의 S310 단계에서 OPC-UA 서버 프록시를 구축하는 과정을 나타낸 순서도이다. 4 is a flowchart illustrating a process of building an OPC-UA server proxy in step S310 of FIG. 3.

도 4에 도시한 바와 같이, OPC-UA 기반의 단방향 데이터 송신 장치(200)는 OPC-UA 서버 프록시 관련 설정 정보를 확인한다(S410). As shown in Fig. 4, the OPC-UA-based one-way data transmission apparatus 200 checks OPC-UA server proxy-related setting information (S410).

OPC-UA 서버 프록시는 OPC-UA 기반의 단방향 데이터 송신 장치(200)의 수신 프록시(220)에 구축되며, 수신 프록시(220)는 OPC-UA 서버 프록시 구축과 관련된 설정을 점검한다. The OPC-UA server proxy is built in the reception proxy 220 of the OPC-UA-based one-way data transmission device 200, and the reception proxy 220 checks settings related to the establishment of the OPC-UA server proxy.

그리고 수신 프록시(220)는 기 저장된 노드의 정보가 존재하는지 여부를 판단하고(S420), 기 저장된 노드의 정보가 존재하는 경우(S420 YES), OPC-UA 기반의 단방향 데이터 송신 장치(200)는 후술할 S440 단계를 수행한다. And the receiving proxy 220 determines whether the information of the previously stored node exists (S420), and if the information of the previously stored node exists (S420 YES), the OPC-UA-based one-way data transmission device 200 Step S440, which will be described later, is performed.

기본적으로 수신 프록시(220)는 OPC-UA 서버 프록시 구축 시, 해당하는 구축 정보들(노드의 정보)을 파일 형태로 저장소에 저장한다. 그리고 기 저장된 노드의 정보가 존재하는 경우 저장된 정보를 기반으로 OPC-UA 서버 프록시를 구축할 수 있다. Basically, when the OPC-UA server proxy is built, the receiving proxy 220 stores corresponding construction information (node information) in a storage in the form of a file. In addition, if there is information of a previously stored node, an OPC-UA server proxy can be constructed based on the stored information.

반면, 기 저장된 노드의 정보가 존재하지 않는 경우(S420 NO), OPC-UA 기반의 단방향 데이터 송신 장치(200)는 송신 프록시로부터 노드의 정보를 수신한다(S430). 그리고 OPC-UA 기반의 단방향 데이터 송신 장치(200)는 OPC-UA 서버 프록시를 구축한다(S440).On the other hand, if the previously stored node information does not exist (S420 NO), the OPC-UA-based one-way data transmission apparatus 200 receives the node information from the transmission proxy (S430). And the OPC-UA-based one-way data transmission device 200 builds an OPC-UA server proxy (S440).

기 저장된 노드의 정보가 존재하지 않는 경우, 수신 프록시(220)는 송신 프록시(210)로부터 노드 정보들을 수신하여 OPC-UA 서버 프록시를 구축할 수 있으며, 송신 프록시(210)는 재구동된다. 그리고 S420 단?悶【? 기 저장된 노드의 정보가 존재하는 것으로 판단된 경우, 수신 프록시(220)는 기 저장된 노드의 정보를 기반으로 OPC-UA 서버 프록시를 구축할 수 있다. If the previously stored node information does not exist, the reception proxy 220 may receive node information from the transmission proxy 210 to establish an OPC-UA server proxy, and the transmission proxy 210 is restarted. And S420 stage?悶【? When it is determined that information on the previously stored node exists, the receiving proxy 220 may establish an OPC-UA server proxy based on the information on the previously stored node.

수신 프록시(220)가 기 구축된 정보를 바탕으로 OPC-UA 서버 프록시를 구동하더라도, 서버 구축과 관련된 새로운 노드 정보 메시지를 수신한 경우, 수신한 새로운 노드 정보 메시지를 기반으로 OPC-UA 서버 프록시를 재구축한다. 이러한 경우는 송신 프록시(210)가 재구동한 경우를 의미할 수 있으며, 수신 프록시(220)는 새로운 노드 정보 메시지로 OPC-UA 서버 프록시를 재 구축하여 실제 안전 영역인 OPC-UA 서버와 동일한 구성을 제공할 수 있다. Even if the receiving proxy 220 drives the OPC-UA server proxy based on the previously established information, when a new node information message related to server construction is received, the OPC-UA server proxy is established based on the received new node information message. Rebuild. In this case, it may mean that the sending proxy 210 is restarted, and the receiving proxy 220 rebuilds the OPC-UA server proxy with a new node information message to have the same configuration as the OPC-UA server, which is an actual safe area. Can provide.

즉, 송신 프록시(210)가 재구동되는 경우, 수신 프록시(220)의 OPC-UA 서버 프록시는 무조건 재구축되며, 수신 프록시(220)만 재구동되는 경우에는 기 저장된 구축 정보를 선택적으로 활용할 수 있다. That is, when the transmission proxy 210 is restarted, the OPC-UA server proxy of the receiving proxy 220 is unconditionally rebuilt, and when only the receiving proxy 220 is restarted, the previously stored construction information can be selectively utilized. have.

다시 도 3에 대하여 설명하면, OPC-UA 기반의 단방향 데이터 송신 장치(200)는 실시간 데이터의 업데이트를 수행한다(S320). 그리고 OPC-UA 기반의 단방향 데이터 송신 장치(200)는 히스토리컬 데이터의 업데이트를 수행한다(S330). Referring back to FIG. 3, the OPC-UA-based one-way data transmission apparatus 200 performs real-time data update (S320). In addition, the OPC-UA-based one-way data transmission apparatus 200 updates historical data (S330).

OPC-UA 기반의 단방향 데이터 송신 장치(200)는 OPC-UA 서버 프록시를 구축한 후, 실시간 데이터 및 히스토리컬 데이터의 업데이트를 수행할 수 있다. 송신 프록시(210)는 기 수신한 노드의 정보를 기반으로, 안전 영역의 OPC-UA 서버(100)에 모든 실시간 데이터 및 히스토리컬 데이터를 요청하고, OPC-UA 서버(100)로부터 실시간 데이터 및 히스토리컬 데이터를 수신한다. The OPC-UA-based one-way data transmission apparatus 200 may perform real-time data and historical data update after establishing an OPC-UA server proxy. The transmission proxy 210 requests all real-time data and historical data from the OPC-UA server 100 in the safe area, and real-time data and history from the OPC-UA server 100 based on the previously received node information. Receive curl data.

그리고 송신 프록시(210)는 수신된 실시간 데이터 및 히스토리컬 데이터를 수신 프록시(220)로 전달하며, 수신 프록시(220)는 전달받은 데이터를 기반으로, 구축된 관리 대상 노드에 상응하는 실시간 데이터 및 히스토리컬 데이터를 지속적으로 업데이트한다. 또한, 수신 프록시(220)는 비안전 영역의 OPC-UA 클라이언트(300)의 요청에 적합한 데이터를 OPC-UA 클라이언트(300)로 전송할 수 있다. In addition, the transmission proxy 210 transfers the received real-time data and historical data to the reception proxy 220, and the reception proxy 220 provides real-time data and history corresponding to the established management target node based on the received data. Curl data is constantly updated. In addition, the receiving proxy 220 may transmit data suitable for the request of the OPC-UA client 300 in the non-secure area to the OPC-UA client 300.

여기서, 실시간 데이터는 모니터링 하고자 하는 관리 대상 노드의 데이터가 변화할 때마다 자동적으로 생성되어 OPC-UA 기반의 단방향 데이터 송신 장치(200)로 전달된다. 즉, 실시간 데이터는 OPC-UA 서버(100)에 등록된 노드의 데이터가 변경됨과 동시에 송신 프록시(210)로 전송되는 것으로, 지속적으로 갱신되는 데이터이다. Here, real-time data is automatically generated whenever data of a management target node to be monitored changes, and transmitted to the OPC-UA-based one-way data transmission device 200. That is, the real-time data is transmitted to the transmission proxy 210 as the data of the node registered in the OPC-UA server 100 is changed, and is continuously updated data.

반면, 히스토리컬 데이터는 송신 프록시(210)의 설정에 따른 주기적인 전송 요청에 대한 응답으로, OPC-UA 서버(100)로부터 수신되는 것이다. 즉, 히스토리컬 데이터는 요청 주기(P) 요청 범위(T)에 상응하는 히스토리컬 전송 요청을 OPC-UA 서버(100)로 전송하여 수신하는 것이다. 히스토리컬 데이터는 지속적으로 누적되는 데이터이므로, 송수신 시 분실될 경우 해당 데이터를 획득하기 쉽지 않다. On the other hand, historical data is received from the OPC-UA server 100 in response to a periodic transmission request according to the settings of the transmission proxy 210. That is, the historical data is received by transmitting a historical transmission request corresponding to the request period (P) request range (T) to the OPC-UA server 100. Since historical data is continuously accumulated data, it is difficult to obtain the corresponding data if it is lost during transmission and reception.

즉, 히스토리컬 데이터는 송수신되는 데이터에 대한 신뢰성이 보장되어야 하며, 이를 위하여 송신 프록시(210)는 요청 주기(P) 및 요청 범위(T)를 조절하여, 일정한 히스토리컬 데이터를 중복 수신하여 전달하는 기법을 사용할 수 있다. That is, the historical data must ensure the reliability of the transmitted/received data, and for this purpose, the transmission proxy 210 adjusts the request period (P) and the request range (T), and repeatedly receives and transmits certain historical data. Techniques can be used.

이하에서는 도 5 내지 도 7을 통하여, 본 발명의 일실시예에 따른 히스토리컬 데이터의 업데이트 과정에 대하여 더욱 상세하게 설명한다. Hereinafter, a process of updating historical data according to an embodiment of the present invention will be described in more detail with reference to FIGS. 5 to 7.

도 5는 도 3의 S330 단계에서 히스토리컬 데이터를 업데이트하는 과정을 나타낸 순서도이다. 5 is a flowchart illustrating a process of updating historical data in step S330 of FIG. 3.

OPC-UA 기반의 단방향 데이터 송신 장치(200)의 송신 프록시(210)는 OPC-UA 서버(100)로 히스토리컬 데이터(C0)를 요청하고(S510), OPC-UA 서버(100)는 송신 프록시(210)로 히스토리컬 데이터를 전송한다(S515). The transmission proxy 210 of the OPC-UA-based one-way data transmission device 200 requests historical data C 0 to the OPC-UA server 100 (S510), and the OPC-UA server 100 transmits The historical data is transmitted to the proxy 210 (S515).

도 6은 본 발명의 일실시예에 따른 OPC-UA 서버의 히스토리컬 데이터를 나타낸 예시도이고, 도 7은 도 5에서 수신 프록시가 수신한 히스토리컬 데이터를 나타낸 예시도이다. 6 is an exemplary diagram showing historical data of an OPC-UA server according to an embodiment of the present invention, and FIG. 7 is an exemplary diagram illustrating historical data received by a reception proxy in FIG. 5.

도 6에 도시한 바와 같이, OPC-UA 서버(100)가 S510 단계에서 히스토리컬 데이터(C0)의 요청을 수신하여, S515 단계에서 송신 프록시(210)로 히스토리컬 데이터를 전송할 때, OPC-UA 서버(100)는 OPC-UA 서버 데이터(610) 중에서 S515 단계에서 히스토리컬 데이터를 전송하는 시점까지의 데이터인 데이터 1 내지 데이터 5를 송신 프록시(210)로 전송할 수 있다. 6, when the OPC-UA server 100 receives a request for historical data C 0 in step S510 and transmits the historical data to the transmission proxy 210 in step S515, OPC- The UA server 100 may transmit data 1 to 5 of the OPC-UA server data 610 up to the point at which the historical data is transmitted in step S515 to the transmission proxy 210.

그리고 OPC-UA 서버(100)로부터 히스토리컬 데이터를 수신한 송신 프록시(210)는 수신 프록시(220)로 수신한 히스토리컬 데이터를 전달한다(S520). 또한, 히스토리컬 데이터를 수신한 수신 프록시(220)는 히스토리컬 데이터의 업데이트를 수행한다(S525). In addition, the transmission proxy 210 receiving the historical data from the OPC-UA server 100 transmits the received historical data to the reception proxy 220 (S520). In addition, the reception proxy 220, which has received the historical data, updates the historical data (S525).

도 7과 같이, S520 단계에서 수신 프록시(220)는 송신 프록시(210)로부터 데이터 1 내지 데이터 5의 히스토리컬 데이터를 수신하며, 수신한 데이터를 이용하여 제1 히스토리컬 데이터 업데이트(710)를 수행할 수 있다. 이때, 데이터 1 내지 데이터 5는 신규 수신 데이터(810)이다. As shown in FIG. 7, in step S520, the reception proxy 220 receives historical data of data 1 to 5 from the transmission proxy 210, and performs a first historical data update 710 using the received data. can do. At this time, data 1 to 5 are new received data 810.

S510 단계에서 히스토리컬 데이터를 요청한 후 기 설정된 요청 주기(P)에 상응하는 시간이 경과한 경우, 송신 프록시(210)는 다시 OPC-UA 서버(100)로 히스토리컬 데이터(C1,T)을 요청한다(S530). When the time corresponding to the preset request period (P) has elapsed after requesting the historical data in step S510, the transmission proxy 210 sends the historical data (C 1 ,T) to the OPC-UA server 100 again. Request (S530).

그리고 OPC-UA 서버(100)는 송신 프록시(210)로 히스토리컬 데이터를 전송한다(S535). OPC-UA 서버(100)로부터 히스토리컬 데이터를 수신한 송신 프록시(210)는 수신 프록시로(220) 해당 히스토리컬 데이터를 전달하고(S540), 수신 프록시(220)는 히스토리컬 데이터의 업데이트를 수행할 수 있다(S545). And the OPC-UA server 100 transmits the historical data to the transmission proxy 210 (S535). The transmission proxy 210 receiving the historical data from the OPC-UA server 100 transmits the corresponding historical data to the reception proxy 220 (S540), and the reception proxy 220 performs an update of the historical data. It can be done (S545).

도 6에서, S530 단계에서 송신 프록시(210)가 OPC-UA 서버(100)로 히스토리컬 데이터(C1,T)를 요청하면, OPC-UA 서버(100)는 S530 단계를 기준으로 요청 범위(T) 내의 히스토리컬 데이터인 데이터 2 내지 데이터 8을 송신 프록시(210)로 전송할 수 있다. In FIG. 6, when the transmission proxy 210 requests historical data (C 1 ,T) to the OPC-UA server 100 in step S530, the OPC-UA server 100 requests the range of the request based on step S530 ( Data 2 to 8, which are historical data in T), may be transmitted to the transmission proxy 210.

또한, 도 7에 도시한 바와 같이 수신 프록시(220)는 송신 프록시(210)로부터 데이터 2 내지 데이터 8의 히스토리컬 데이터를 수신하여, 제2 히스토리컬 데이터 업데이트(720)를 수행한다. 도 7에서 데이터 1은 이전 수신 데이터(820)이고, 데이터 2 내지 데이터 4는 중복 수신 데이터(830)이며, 데이터 5 내지 데이터 8은 신규 수신 데이터(810)이다. In addition, as shown in FIG. 7, the reception proxy 220 receives historical data of data 2 to 8 from the transmission proxy 210 and performs a second historical data update 720. In FIG. 7, data 1 is previously received data 820, data 2 to 4 is redundant received data 830, and data 5 to 8 is new received data 810.

S530 단계에서 히스토리컬 데이터를 요청한 후 요청 주기(P)에 상응하는 시간이 경과하면 송신 프록시(210)는 히스토리컬 데이터를 요청하는 과정(S550), OPC-UA 서버로부터 히스토리컬 데이터를 수신하는 과정(S555), 수신한 히스토리컬 데이터를 수신 프록시(220)로 전달하는 과정(S560)을 수행하며, 송신 프록시(210)로부터 히스토리컬 데이터를 수신한 수신 프록시(220)는 히스토리컬 데이터의 업데이트를 수행하는 과정(S565) 단계를 수행할 수 있다. When the time corresponding to the request period (P) elapses after requesting the historical data in step S530, the transmission proxy 210 requests the historical data (S550), the process of receiving the historical data from the OPC-UA server (S555), a process of transmitting the received historical data to the reception proxy 220 (S560), and the reception proxy 220 that has received the historical data from the transmission proxy 210 performs an update of the historical data. The performing process (S565) may be performed.

S550 단계에서 송신 프록시(210)로부터 히스토리컬 데이터의 요청을 수신한 OPC-UA 서버(100)는, 요청을 수신한 시점부터 요청 범위(T) 내의 데이터인 데이터 6 내지 데이터 12를 송신 프록시(210)로 전송할 수 있다. The OPC-UA server 100 receiving a request for historical data from the transmission proxy 210 in step S550 transmits data 6 to 12, which are data within the request range T, from the time when the request is received. ).

또한, 송신 프록시(210)는 수신 프록시(220)로 데이터 6 내지 데이터 12를 전달하며, 수신 프록시(220)는 도 7과 같이 제3 히스토리컬 데이터 업데이트(730)를 수행할 수 있다. 여기서, 데이터 1 내지 데이터 5는 이전 수신 데이터(820)이고, 데이터 6 내지 데이터 8은 중복 수신 데이터(830)이며, 데이터 9 내지 데이터 12는 신규 수신 데이터(810)이다. In addition, the transmission proxy 210 transfers data 6 to 12 to the reception proxy 220, and the reception proxy 220 may perform a third historical data update 730 as shown in FIG. 7. Here, data 1 to 5 are previously received data 820, data 6 to 8 are redundant received data 830, and data 9 to 12 are new received data 810.

이후에도, 송신 프록시(210)는 OPC-UA 서버(100)로 히스토리컬 데이터를 요청하는 과정(S570)을 수행하여, 일정한 요청 주기(P)마다 요청 범위(T)에 상응하는 히스토리컬 데이터를 요청 및 수신할 수 있다. Thereafter, the transmission proxy 210 performs a process of requesting historical data to the OPC-UA server 100 (S570), and requests historical data corresponding to the request range (T) at a certain request period (P). And receive.

S570 단계에서, 히스토리컬 데이터를 요청하는 시간(Ci)은 히스토리컬 데이터의 전송을 요청하는 현재 시간을 의미하며, 바로 직전 주기에서 히스토리컬 데이터를 요청한 시간(Ci-1)로부터 요청 주기(P)만큼의 시간이 경과한 시간을 의미할 수 있다. In step S570, the time (C i ) for requesting historical data refers to the current time for requesting the transmission of historical data, and the request period (C i-1 ) from the time (C i-1 ) for requesting historical data in the immediately preceding period. It can mean the time that P) has elapsed.

즉, 송신 프록시(210)는 안전 영역의 OPC-UA 서버(100)에 요청 주기인 P 시간마다 히스토리컬 데이터의 전송을 요청하며, 요청 시 현재 시간(Ci)과 요청 범위(T)를 지정함으로써, 현재 시간(Ci)을 기준으로 이전 T 시간만큼의 히스토리컬 데이터를 수신할 수 있다.That is, the transmission proxy 210 requests the OPC-UA server 100 in the safe area to transmit historical data every P time, which is a request period, and designates the current time (C i ) and the request range (T) when requested. By doing so, it is possible to receive historical data corresponding to the previous T time based on the current time C i .

마지막으로, OPC-UA 기반의 단방향 데이터 송신 장치(200)는 OPC-UA 클라이언트로 데이터를 전송한다(S340). Finally, the OPC-UA-based one-way data transmission device 200 transmits data to the OPC-UA client (S340).

OPC-UA 기반의 단방향 데이터 송신 장치(200)의 수신 프록시(220)는 OPC-UA 클라이언트(300)로부터 데이터 요청을 수신하고, 요청에 적합한 데이터를 OPC-UA 클라이언트(300)로 전송할 수 있다. The reception proxy 220 of the OPC-UA-based one-way data transmission device 200 may receive a data request from the OPC-UA client 300 and transmit data suitable for the request to the OPC-UA client 300.

도 7에서 데이터 2 내지 4, 데이터 6 내지 8과 같이 수신 프록시(220)는 중복된 데이터를 부가적으로 수신한다. OPC-UA 기반의 단방향 데이터 송신 장치(200)는 네트워크의 환경 및 데이터의 중요도에 따라 요청 주기(P) 및 요청 범위(T)를 설정하여 적용할 수 있으며, 이를 통하여 히스토리컬 데이터의 단방향 데이터 전송 신뢰성을 향상시킬 수 있다. In FIG. 7, the reception proxy 220 additionally receives duplicated data as shown in data 2 to 4 and data 6 to 8. The OPC-UA-based one-way data transmission device 200 can set and apply the request period (P) and the request range (T) according to the network environment and the importance of the data, through which one-way data transmission of historical data Reliability can be improved.

이하에서는 도 8을 통하여 본 발명의 일실시예에 따른 단방향 데이터 송수신 시스템의 단방향 데이터 전송 방법에 대하여 더욱 상세하게 설명한다. Hereinafter, a unidirectional data transmission method of a unidirectional data transmission/reception system according to an embodiment of the present invention will be described in more detail with reference to FIG. 8.

도 8은 본 발명의 일실시예에 따른 단방향 데이터 전송 환경에서 단방향 데이터를 송신하는 과정을 설명하기 위한 순서도이다.8 is a flow chart illustrating a process of transmitting unidirectional data in a unidirectional data transmission environment according to an embodiment of the present invention.

도 8에 도시한 바와 같이, 단방향 데이터 전송 환경에서 OPC-UA 서버(100), 단방향 데이터 송신 장치(200) 및 OPC-UA 클라이언트(300)에 의해 수행되는 단방향 데이터 전송 과정은 OPC-UA 서버 프록시 구축 과정(S810 단계 내지 S840 단계), 실시간 데이터 업데이트 과정(S850 단계 내지 S880 단계), 히스토리컬 데이터 업데이트 과정(S890 단계 내지 S920 단계) 및 클라이언트로 데이터를 전송하는 과정(S930 단계) 총 4개의 과정으로 구분될 수 있다. As shown in FIG. 8, the one-way data transmission process performed by the OPC-UA server 100, the one-way data transmission device 200, and the OPC-UA client 300 in a one-way data transmission environment is an OPC-UA server proxy. Construction process (S810 to S840 steps), real-time data update process (S850 to S880 steps), historical data update process (S890 to S920 steps), and the process of transmitting data to the client (S930 step) a total of four processes It can be classified as

그리고 도 8의 과정을 통하여 안전 영역의 OPC-UA 서버(100)는 비안전 영역의 OPC-UA 클라이언트(300)로 OPC-UA 서버 데이터를 전달할 수 있다. In addition, the OPC-UA server 100 in the safe area may transmit the OPC-UA server data to the OPC-UA client 300 in the non-safe area through the process of FIG. 8.

먼저, 단방향 데이터 송신 장치(200)는 OPC-UA 서버(100)와의 연결을 설정하고(S810), OPC-UA 서버(100)로부터 노드의 정보를 수신한다(S820). First, the one-way data transmission apparatus 200 establishes a connection with the OPC-UA server 100 (S810), and receives node information from the OPC-UA server 100 (S820).

단방향 데이터 송신 장치(200)에서 송신 프록시(210)인 OPC-UA 클라이언트 프록시는 비안전 영역의 OPC-UA 클라이언트와 동일한 방식으로, 안전 영역의 OPC-UA 서버(100)에 접속하여, 노드의 정보를 요청하고, OPC-UA 서버(100)로부터 노드의 정보를 수신할 수 있다. In the one-way data transmission device 200, the OPC-UA client proxy, which is the transmission proxy 210, connects to the OPC-UA server 100 in the safe area in the same manner as the OPC-UA client in the non-secure area, Request, and receive node information from the OPC-UA server 100.

그리고 송신 프록시(210)는 OPC-UA 서버(100)로부터 수신한 노드의 정보를 수신 프록시(220)로 전달하여(S830), OPC-UA 서버 프록시를 구축할 수 있다(S840). In addition, the transmission proxy 210 may transmit the node information received from the OPC-UA server 100 to the reception proxy 220 (S830), thereby constructing an OPC-UA server proxy (S840).

이때, OPC-UA 서버 프록시는 안전 영역의 OPC-UA 서버(100)와 동일한 IP 주소를 사용하므로, 비안전 영역의 OPC-UA 클라이언트(300)가 안전 영역의 OPC-UA 서버(100)에 접속하는 것과 동일한 효과를 가질 수 있으며, 별도의 설정 변경 절차의 수행을 생략할 수 있다. At this time, the OPC-UA server proxy uses the same IP address as the OPC-UA server 100 in the safe area, so the OPC-UA client 300 in the non-safe area accesses the OPC-UA server 100 in the safe area. It can have the same effect as that of doing so, and it is possible to omit the execution of a separate setting change procedure.

S810 단계 내지 S840 단계의 OPC-UA 서버 프록시 구축 과정을 수행한 후, 단방향 데이터 송신 장치(200)의 송신 프록시(210)는 기 수신한 노드의 정보를 기반으로, 안전 영역의 OPC-UA 서버(100)로 실시간 데이터 및 히스토리컬 데이터를 요청하여 데이터를 수신할 수 있다. After performing the OPC-UA server proxy building process of steps S810 to S840, the transmission proxy 210 of the one-way data transmission device 200 is based on the previously received node information, the OPC-UA server ( 100) can receive data by requesting real-time data and historical data.

특히, 단방향 데이터 송신 장치(200)의 송신 프록시(210)는 OPC-UA 서버(100)로 실시간 데이터를 요청하고(S850), OPC-UA 서버(100)로부터 실시간 데이터를 수신하며(S860), 수신한 실시간 데이터를 수신 프록시(220)로 전달한다. 또한, 실시간 데이터를 수신한 수신 프록시(220)는 실시간 데이터의 업데이트를 수행할 수 있다(S880). In particular, the transmission proxy 210 of the one-way data transmission device 200 requests real-time data from the OPC-UA server 100 (S850), and receives real-time data from the OPC-UA server 100 (S860), The received real-time data is transmitted to the reception proxy 220. In addition, the reception proxy 220 that has received the real-time data may update the real-time data (S880).

그리고 단방향 데이터 송신 장치(200)의 송신 프록시(210)는 OPC-UA 서버(100)로 히스토리컬 데이터를 요청하고(S890), OPC-UA 서버(100)로부터 히스토리컬 데이터를 수신하며(S900), 수신한 히스토리컬 데이터를 수신 프록시(220)로 전달한다(S910). 또한, 히스토리컬 데이터를 수신한 수신 프록시(220)는 히스토리컬 데이터의 업데이트를 수행한다(S920). And the transmission proxy 210 of the one-way data transmission device 200 requests historical data to the OPC-UA server 100 (S890), and receives the historical data from the OPC-UA server 100 (S900). , The received historical data is transmitted to the reception proxy 220 (S910). In addition, the reception proxy 220 that has received the historical data performs an update of the historical data (S920).

히스토리컬 데이터 업데이트 과정에서, 송신 프록시(210)는 히스토리컬 데이터를 요청하고, 수신한 히스토리컬 데이터를 수신 프록시(220)로 전송하는 S890 단계 내지 S910 단계의 수행을 반복적으로 수행할 수 있다. In the historical data update process, the transmission proxy 210 may repeatedly perform steps S890 to S910 of requesting historical data and transmitting the received historical data to the reception proxy 220.

그리고 S880 단계 및 S920 단계를 통하여 실시간 데이터 및 히스토리컬 데이터에 대한 업데이트를 수행한 수신 프록시(220)는 OPC-UA 클라이언트(300)와 연결되어, OPC-UA 클라이언트(300)의 요청에 상응하는 데이터를 제공할 수 있다.In addition, the receiving proxy 220, which has updated the real-time data and the historical data through steps S880 and S920, is connected to the OPC-UA client 300 to provide data corresponding to the request of the OPC-UA client 300. Can provide.

이와 같이, 단방향 데이터 송수신 시스템에서 OPC-UA 기반의 단방향 데이터 송신 장치에 의해 수행되는 단방향 데이터 송신 방법은, 안전 영역의 OPC-UA 서버와 수신 프록시의 OPC-UA 서버 프록시와의 동기화가 가능하므로, 종래 기술에 따른 OPC-UA 서버와 OPC-UA 클라이언트의 추가적인 설정 변경 등이 요구되지 않으며, 히스토리컬 데이터에 대한 단방향 데이터 전송의 신뢰성을 향상시킬 수 있다. 또한, 이를 통하여 안정적으로 데이터를 모니터링 할 수 있다. As described above, in the one-way data transmission method performed by the OPC-UA-based one-way data transmission device in the one-way data transmission/reception system, synchronization between the OPC-UA server in the safe area and the OPC-UA server proxy in the receiving proxy is possible, It is not required to change additional settings of the OPC-UA server and OPC-UA client according to the prior art, and reliability of one-way data transmission for historical data can be improved. In addition, data can be stably monitored through this.

즉, 본 발명의 일실시예에 따른 OPC-UA 기반의 단방향 데이터 송신 장치는 OPC-UA 서버가 OPC-UA 클라이언트로 전송하는 데이터의 특성에 따라, 송신측 및 수신측에 적절한 동작을 수행하는 프록시를 배치함으로써, 안전 영역에 대한 외부의 침입은 원천 봉쇄하면서, 안전 영역의 OPC-UA 데이터를 비안전 영역으로 효과적으로 전달할 수 있다. That is, the OPC-UA-based one-way data transmission device according to an embodiment of the present invention is a proxy that performs an appropriate operation on the sending side and the receiving side according to the characteristics of the data transmitted by the OPC-UA server to the OPC-UA client. By arranging, it is possible to effectively transfer the OPC-UA data of the safe area to the non-secure area while blocking intrusion from outside the safe area at the source.

도 9은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.9 is a block diagram showing a computer system according to an embodiment of the present invention.

도 9을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(900)에서 구현될 수 있다. 도 9에 도시된 바와 같이, 컴퓨터 시스템(900)은 버스(920)를 통하여 서로 통신하는 하나 이상의 프로세서(910), 메모리(930), 사용자 입력 장치(940), 사용자 출력 장치(950) 및 스토리지(960)를 포함할 수 있다. 또한, 컴퓨터 시스템(900)은 네트워크(980)에 연결되는 네트워크 인터페이스(970)를 더 포함할 수 있다. 프로세서(910)는 중앙 처리 장치 또는 메모리(930)나 스토리지(960)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(930) 및 스토리지(960)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(931)이나 RAM(932)을 포함할 수 있다.Referring to FIG. 9, an embodiment of the present invention may be implemented in a computer system 900 such as a computer-readable recording medium. As shown in FIG. 9, the computer system 900 includes one or more processors 910, memory 930, user input devices 940, user output devices 950, and storage that communicate with each other through a bus 920. (960) may be included. Further, the computer system 900 may further include a network interface 970 connected to the network 980. The processor 910 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 930 or the storage 960. The memory 930 and the storage 960 may be various types of volatile or nonvolatile storage media. For example, the memory may include a ROM 931 or a RAM 932.

따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 태양에 따른 방법을 수행할 수 있다.Accordingly, an embodiment of the present invention may be implemented as a computer-implemented method or a non-transitory computer-readable medium in which instructions executable in a computer are recorded. When computer-readable instructions are executed by a processor, the computer-readable instructions may perform a method according to at least one aspect of the present invention.

이상에서와 같이 본 발명에 따른 OPC-UA 기반의 단방향 데이터 송신 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다. As described above, the OPC-UA-based one-way data transmission apparatus and method according to the present invention is not limited to the configuration and method of the embodiments described as described above, but various modifications may be made to the embodiments. All or part of each of the embodiments may be selectively combined and configured.

100: OPC-UA 서버 200: 단방향 데이터 송신 장치
210: 송신 프록시 220: 수신 프록시
300: OPC-UA 클라이언트 610: OPC-UA 서버 데이터
710: 제1 히스토리컬 데이터 업데이트
720: 제2 히스토리컬 데이터 업데이트
730: 제3 히스토리컬 데이터 업데이트
810: 신규 수신 데이터 820: 이전 수신 데이터
830: 중복 수신 데이터 900: 컴퓨터 시스템
910: 프로세서 920: 버스
930: 메모리 931: 롬
932: 램 940: 사용자 입력 장치
950: 사용자 출력 장치 960: 스토리지
970: 네트워크 인터페이스 980: 네트워크
100: OPC-UA server 200: one-way data transmission device
210: sending proxy 220: receiving proxy
300: OPC-UA client 610: OPC-UA server data
710: first historical data update
720: update the second historical data
730: third historical data update
810: new received data 820: previous received data
830: duplicate received data 900: computer system
910: processor 920: bus
930: memory 931: ROM
932: RAM 940: user input device
950: user output device 960: storage
970: network interface 980: network

Claims (20)

OPC-UA 서버의 데이터를 OPC-UA 클라이언트로 전송하는 단방향 데이터 송신 장치에 있어서,
상기 OPC-UA 서버로부터 관리 대상 노드의 정보를 수신하고, 상기 OPC-UA 서버로 관리 대상 노드에 상응하는 데이터를 요청하여, 상기 관리 대상 노드에 상응하는 실시간 데이터 및 히스토리컬 데이터를 수신하는 송신 프록시, 그리고
상기 송신 프록시로부터 상기 관리 대상 노드의 정보를 수신하여 OPC-UA 서버 프록시를 구축하고, 상기 송신 프록시로부터 상기 실시간 데이터 및 상기 히스토리컬 데이터를 수신하며, 구축된 상기 OPC-UA 서버 프록시를 이용하여 상기 관리 대상 노드에 대한 상기 실시간 데이터 및 상기 히스토리컬 데이터의 업데이트를 수행하고, 상기 OPC-UA 클라이언트의 요청에 상응하는 데이터를 상기 OPC-UA 클라이언트로 전송하는 수신 프록시
를 포함하고,
상기 히스토리컬 데이터는,
상기 송신 프록시의 주기적인 전송 요청에 상응하도록, 상기 OPC-UA 서버로부터 수신한 데이터이고,
상기 송신 프록시는,
요청 주기 및 요청 범위에 상응하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하고, 상기 OPC-UA 서버로부터 상기 전송 요청에 상응하는 상기 히스토리컬 데이터를 수신하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
In the one-way data transmission device for transmitting the data of the OPC-UA server to the OPC-UA client,
A transmission proxy for receiving information on a management target node from the OPC-UA server, requesting data corresponding to a management target node to the OPC-UA server, and receiving real-time data and historical data corresponding to the management target node , And
Receive information on the management target node from the transmission proxy to establish an OPC-UA server proxy, receive the real-time data and the historical data from the transmission proxy, and use the established OPC-UA server proxy. A reception proxy that updates the real-time data and the historical data for a management target node, and transmits data corresponding to the request of the OPC-UA client to the OPC-UA client
Including,
The historical data,
Data received from the OPC-UA server to correspond to the periodic transmission request of the transmission proxy,
The transmission proxy,
OPC, characterized in that the transmission request of the historical data corresponding to the request period and the request range is transmitted to the OPC-UA server, and the historical data corresponding to the transmission request is received from the OPC-UA server. -UA-based one-way data transmission device.
제1항에 있어서,
상기 실시간 데이터는,
OPC DA 데이터, OPC 알람 데이터 및 OPC 이벤트 데이터 중 적어도 어느 하나를 포함하고, 상기 관리 대상 노드의 데이터 변화 시 자동으로 생성되는 데이터인 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
The method of claim 1,
The real-time data,
OPC-UA-based one-way data transmission apparatus comprising at least one of OPC DA data, OPC alarm data, and OPC event data, and is data automatically generated when data of the management target node changes.
삭제delete 삭제delete 제1항에 있어서,
상기 송신 프록시는,
상기 요청 주기에 상응하는 시간마다, 현재 시간을 기준으로 상기 요청 범위에 상응하는 시간 동안의 상기 히스토리컬 데이터의 전송을 요청하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
The method of claim 1,
The transmission proxy,
At each time corresponding to the request period, a request for transmission of the historical data for a time corresponding to the request range is transmitted to the OPC-UA server based on the current time. OPC-UA-based one-way data transmission device.
제1항에 있어서,
상기 수신 프록시는,
상기 송신 프록시 및 상기 수신 프록시 중 적어도 어느 하나가 재구동되는 경우, 상기 OPC-UA 서버 프록시를 재구축하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
The method of claim 1,
The receiving proxy,
When at least one of the transmission proxy and the reception proxy is restarted, the OPC-UA-based one-way data transmission device, characterized in that rebuilding the OPC-UA server proxy.
제6항에 있어서,
상기 수신 프록시는,
상기 OPC-UA 서버 프록시 구축 시, 상기 OPC-UA 서버 프록시에 상응하는 구축 정보를 저장하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
The method of claim 6,
The receiving proxy,
When constructing the OPC-UA server proxy, the OPC-UA-based one-way data transmission device, characterized in that storing construction information corresponding to the OPC-UA server proxy.
제7항에 있어서,
상기 수신 프록시는,
상기 OPC-UA 서버 프록시의 구축과 관련된 설정 정보를 확인하고, 기 구축된 노드의 정보가 존재하는 경우 상기 구축 정보를 기반으로 상기 OPC-UA 서버 프록시를 재구축하며, 상기 기 구축된 노드의 정보가 존재하지 않는 경우 상기 송신 프록시로부터 노드의 정보를 수신하여 상기 OPC-UA 서버를 재구축하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
The method of claim 7,
The receiving proxy,
Check the setting information related to the establishment of the OPC-UA server proxy, and if there is information on the previously established node, rebuild the OPC-UA server proxy based on the establishment information, and the information on the previously established node OPC-UA-based one-way data transmission apparatus, characterized in that the OPC-UA server is reconstructed by receiving information of the node from the transmission proxy when there is no presence.
제6항에 있어서,
상기 수신 프록시는,
상기 송신 프록시가 재구동되는 경우 상기 OPC-UA 서버 프록시를 재구축하고, 상기 수신 프록시만 재구동되는 경우 선택적으로 상기 OPC-UA 서버 프록시를 재구축하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
The method of claim 6,
The receiving proxy,
OPC-UA-based one-way data, characterized in that when the transmission proxy is restarted, the OPC-UA server proxy is rebuilt, and when only the receiving proxy is restarted, the OPC-UA server proxy is selectively rebuilt. Transmitting device.
제1항에 있어서,
상기 수신 프록시는,
상기 송신 프록시로부터 새로운 노드의 정보를 수신한 경우, 상기 새로운 노드의 정보를 기반으로 상기 OPC-UA 서버 프록시를 재구축하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 장치.
The method of claim 1,
The receiving proxy,
When receiving information on a new node from the transmission proxy, the OPC-UA server proxy is rebuilt based on the information on the new node.
OPC-UA 서버의 데이터를 OPC-UA 클라이언트로 전송하는 OPC-UA 기반의 단방향 데이터 송신 장치에 의해 수행되는 단방향 데이터 송신 방법에 있어서,
상기 OPC-UA 서버로부터 관리 대상 노드의 정보를 수신하여 OPC-UA 서버 프록시를 구축하는 단계,
상기 OPC-UA 서버로 실시간 데이터를 요청하여 수신하고, 상기 실시간 데이터를 업데이트 하는 단계,
상기 OPC-UA 서버로 히스토리컬 데이터를 요청하여 수신하고, 상기 히스토리컬 데이터를 업데이트 하는 단계, 그리고
상기 OPC-UA 클라이언트의 요청에 상응하도록 상기 OPC-UA 클라이언트로 상기 실시간 데이터 및 상기 히스토리컬 데이터 중 적어도 어느 하나를 포함하는 데이터를 전송하는 단계
를 포함하고,
상기 OPC-UA 기반의 단방향 데이터 송신 장치는,
상기 OPC-UA 서버에 접속하여 상기 관리 대상 노드의 정보를 수신하는 송신 프록시, 그리고
상기 OPC-UA 서버로부터 수신된 상기 실시간 데이터 및 상기 히스토리컬 데이터를 상기 OPC-UA 클라이언트로 전송하는 수신 프록시
를 포함하고,
상기 히스토리컬 데이터는,
주기적인 상기 히스토리컬 데이터의 전송 요청에 상응하도록, 상기 OPC-UA 서버로부터 수신한 데이터이고,
상기 히스토리컬 데이터를 업데이트 하는 단계는,
상기 송신 프록시가 요청 주기 및 요청 범위에 상응하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하는 단계, 그리고
상기 송신 프록시가 상기 OPC-UA 서버로부터 상기 전송 요청에 상응하는 상기 히스토리컬 데이터를 수신하는 단계
를 포함하는 것을 특징으로 하는 OPC-UA 기반의 단방향 데이터 송신 방법.
In the one-way data transmission method performed by an OPC-UA-based one-way data transmission device for transmitting data from an OPC-UA server to an OPC-UA client,
Receiving information on a management target node from the OPC-UA server to establish an OPC-UA server proxy,
Requesting and receiving real-time data from the OPC-UA server, and updating the real-time data,
Requesting and receiving historical data from the OPC-UA server, and updating the historical data, and
Transmitting data including at least one of the real-time data and the historical data to the OPC-UA client to correspond to the request of the OPC-UA client
Including,
The OPC-UA-based one-way data transmission device,
A transmission proxy that accesses the OPC-UA server and receives information on the management target node, and
A reception proxy for transmitting the real-time data and the historical data received from the OPC-UA server to the OPC-UA client
Including,
The historical data,
It is data received from the OPC-UA server to correspond to the periodic transmission request of the historical data,
The step of updating the historical data,
Transmitting, by the transmission proxy, a request for transmission of the historical data corresponding to a request period and a request range to the OPC-UA server, and
Receiving, by the transmission proxy, the historical data corresponding to the transmission request from the OPC-UA server
OPC-UA-based one-way data transmission method comprising a.
삭제delete 제11항에 있어서,
상기 실시간 데이터는,
OPC DA 데이터, OPC 알람 데이터 및 OPC 이벤트 데이터 중 적어도 어느 하나를 포함하고, 상기 관리 대상 노드의 데이터 변화 시 자동으로 생성되는 데이터인 것을 특징으로 하는 단방향 데이터 송신 방법.
The method of claim 11,
The real-time data,
One-way data transmission method comprising at least one of OPC DA data, OPC alarm data, and OPC event data, and is automatically generated when data of the management target node changes.
삭제delete 삭제delete 제13항에 있어서,
상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하는 단계는,
상기 송신 프록시가 상기 요청 주기에 상응하는 시간마다, 현재 시간을 기준으로 상기 요청 범위에 상응하는 시간 동안의 상기 히스토리컬 데이터의 전송을 요청하는 상기 히스토리컬 데이터의 전송 요청을 상기 OPC-UA 서버로 전송하는 것을 특징으로 하는 단방향 데이터 송신 방법.
The method of claim 13,
Transmitting the request for transmission of the historical data to the OPC-UA server,
At each time corresponding to the request period, the transmission proxy sends a request for transmission of the historical data to the OPC-UA server for a time corresponding to the request range based on the current time. One-way data transmission method, characterized in that the transmission.
제11항에 있어서,
상기 송신 프록시 및 상기 수신 프록시 중 적어도 어느 하나가 재구동되는 경우, 상기 OPC-UA 서버 프록시를 재구축하는 단계
를 더 포함하는 것을 특징으로 하는 단방향 데이터 송신 방법.
The method of claim 11,
When at least one of the transmission proxy and the reception proxy is restarted, rebuilding the OPC-UA server proxy
One-way data transmission method further comprising a.
제17항에 있어서,
상기 OPC-UA 서버 프록시 구축 시, 상기 수신 프록시가 상기 OPC-UA 서버 프록시에 상응하는 구축 정보를 저장하는 단계
를 더 포함하는 것을 특징으로 하는 단방향 데이터 송신 방법.
The method of claim 17,
When establishing the OPC-UA server proxy, storing, by the receiving proxy, construction information corresponding to the OPC-UA server proxy
One-way data transmission method further comprising a.
제18항에 있어서,
상기 OPC-UA 서버 프록시를 재구축하는 단계는,
상기 수신 프록시가 상기 OPC-UA 서버 프록시의 구축과 관련된 설정 정보를 확인하는 단계,
기 구축된 노드의 정보가 존재하는 경우 상기 구축 정보를 기반으로 상기 OPC-UA 서버 프록시를 재구축하는 단계, 그리고
상기 기 구축된 노드의 정보가 존재하지 않는 경우 상기 송신 프록시로부터 노드의 정보를 수신하여 상기 OPC-UA 서버를 재구축하는 단계
를 포함하는 것을 특징으로 하는 단방향 데이터 송신 방법.
The method of claim 18,
Rebuilding the OPC-UA server proxy,
The receiving proxy confirms setting information related to the establishment of the OPC-UA server proxy,
Re-establishing the OPC-UA server proxy based on the establishment information when information on the previously established node exists, and
Rebuilding the OPC-UA server by receiving node information from the transmission proxy when the previously established node information does not exist
One-way data transmission method comprising a.
제17항에 있어서,
상기 OPC-UA 서버 프록시를 재구축하는 단계는,
상기 송신 프록시가 재구동되는 경우 상기 OPC-UA 서버 프록시를 재구축하고, 상기 수신 프록시만 재구동되는 경우 선택적으로 상기 OPC-UA 서버 프록시를 재구축하는 것을 특징으로 하는 단방향 데이터 송신 방법.
The method of claim 17,
Rebuilding the OPC-UA server proxy,
When the transmission proxy is restarted, the OPC-UA server proxy is rebuilt, and when only the receiving proxy is restarted, the OPC-UA server proxy is selectively rebuilt.
KR1020170076658A 2017-06-16 2017-06-16 Apparatus and method for unidirectional data transmission based on opc-ua KR102170160B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170076658A KR102170160B1 (en) 2017-06-16 2017-06-16 Apparatus and method for unidirectional data transmission based on opc-ua

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170076658A KR102170160B1 (en) 2017-06-16 2017-06-16 Apparatus and method for unidirectional data transmission based on opc-ua

Publications (2)

Publication Number Publication Date
KR20180137244A KR20180137244A (en) 2018-12-27
KR102170160B1 true KR102170160B1 (en) 2020-10-28

Family

ID=64953102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170076658A KR102170160B1 (en) 2017-06-16 2017-06-16 Apparatus and method for unidirectional data transmission based on opc-ua

Country Status (1)

Country Link
KR (1) KR102170160B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102593008B1 (en) * 2019-08-02 2023-10-23 한국전자통신연구원 Method and apparatus for distributed smart factory operation using opc ua

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002035359A2 (en) 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
KR101562312B1 (en) 2015-04-06 2015-10-21 (주) 앤앤에스피 Gateway device of physically unidirectional communication capable of re-transmitting data, as single device, and method of transferring data using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002035359A2 (en) 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
KR101562312B1 (en) 2015-04-06 2015-10-21 (주) 앤앤에스피 Gateway device of physically unidirectional communication capable of re-transmitting data, as single device, and method of transferring data using the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Markus Stopper 외 1, "Service-oriented Architecture Design Aspects of OPC UA for Industrial Applications", Proc. of the International MultiConference of Engineers and Computer Scientists (2009.03.18.)*
S. Sučić,A. Martinic외 1, "Utilizing SOA-ready devices for virtual power plant control in semantic-enabled Smart Grid Analyzing IEC 61850 and OPC UA integration methodology," SmartGridComm.(2011.10.17)*

Also Published As

Publication number Publication date
KR20180137244A (en) 2018-12-27

Similar Documents

Publication Publication Date Title
CN112911027B (en) Method and apparatus for establishing a media session
US9160632B2 (en) Controlling registration floods in VOIP networks via DNS
US8117317B2 (en) Systems and methods for integrating local systems with cloud computing resources
US8527774B2 (en) System and methods for providing stateless security management for web applications using non-HTTP communications protocols
CA2999343A1 (en) Secure enrolment of security device for communication with security server
JP2004355628A (en) Method and system for controlling relay of media stream crossing network boundary
JP2002217943A (en) Relay server and communication system
US9100277B2 (en) Client credentials data structure and method of employing the same
CN110661858A (en) Websocket-based intranet penetration method and system
KR102170160B1 (en) Apparatus and method for unidirectional data transmission based on opc-ua
WO2016050133A1 (en) Authentication credential replacement method and apparatus
WO2016066027A1 (en) Media transmission method and device
US9888001B2 (en) Methods, systems, and computer readable media for negotiating diameter capabilities
CN114186213A (en) Data transmission method, device, equipment and medium based on federal learning
US20200106515A1 (en) Communication Device, Relay Device, Information Processing System, Communication System and Communication Method
WO2016188172A1 (en) Method and system for implementing remote terminal tool
JP2010193306A (en) Ssl/tls connection method and computer program
JP2014154112A (en) Communication data relay device and program
US10382274B2 (en) System and method for wide area zero-configuration network auto configuration
JP7158826B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM AND COMMUNICATION CONTROL METHOD
JP2015197759A (en) Information processing device, information processing method, and program
CN108322423A (en) Service network system and the method and apparatus of transmission, reception information
KR20120081405A (en) Extendable network management system and the method thereof
US20210400022A1 (en) Methods and systems for network address translation (nat) traversal using a meet-in-the-middle proxy
CN108235378A (en) A kind of communication means and device for realizing PCEP

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant