KR20200139521A - Method for unidirectional data communication based on opc standard and apparatus for the same - Google Patents

Method for unidirectional data communication based on opc standard and apparatus for the same Download PDF

Info

Publication number
KR20200139521A
KR20200139521A KR1020190066125A KR20190066125A KR20200139521A KR 20200139521 A KR20200139521 A KR 20200139521A KR 1020190066125 A KR1020190066125 A KR 1020190066125A KR 20190066125 A KR20190066125 A KR 20190066125A KR 20200139521 A KR20200139521 A KR 20200139521A
Authority
KR
South Korea
Prior art keywords
data
proxy
opc
historical data
request
Prior art date
Application number
KR1020190066125A
Other languages
Korean (ko)
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 KR1020190066125A priority Critical patent/KR20200139521A/en
Publication of KR20200139521A publication Critical patent/KR20200139521A/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
    • 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/0227Filtering policies

Abstract

A unidirectional data transmission method based on an OLE for process control (OPC) standard is disclosed. According to the present invention, a unidirectional data transmission method based on an OPC standard comprises the steps of: comparing the maximum data throughput of a reception proxy with the data throughput per second of a transmission proxy; comparing the sum of a request period of historical data, a request range of historical data, and an update factor if the data throughput per second of the transmission proxy is greater than or equal to the maximum data throughput of the reception proxy; increasing the request period of the historical data by the update factor if the request range of the historical data is greater than or equal to the sum of the request period of the historical data and the update factor; and if the request range of the historical data is less than the sum of the request period of the historical data and the update factor, increasing the request range and the request period of the historical data by the update factor.

Description

OPC 표준 기반 단방향 데이터 통신 방법 및 장치{METHOD FOR UNIDIRECTIONAL DATA COMMUNICATION BASED ON OPC STANDARD AND APPARATUS FOR THE SAME}One-way data communication method and device based on OPC standard {METHOD FOR UNIDIRECTIONAL DATA COMMUNICATION BASED ON OPC STANDARD AND APPARATUS FOR THE SAME}

본 발명은 데이터 통신 방법 및 장치에 관한 것으로, 상세하게는 OPC 표준 기반 데이터 통신에서 OPC 서버로부터 OPC 클라이언트로의 단방향 데이터 전송 시 보안을 유지하며 신뢰성 있게 데이터를 전송하는 방법 및 장치에 관한 것이다.The present invention relates to a data communication method and apparatus, and more particularly, to a method and apparatus for reliably transmitting data while maintaining security during one-way data transmission from an OPC server to an OPC client in OPC standard-based data communication.

발전소, 군정보망, 공공기관 등과 같은 국가 주요기반 시설의 경우, 해당 시설의 제어 시스템에 대해 외부로부터의 접근을 원천적으로 차단하는 방식으로 보안성을 강화한다.In the case of major national infrastructure such as power plants, military information networks, and public institutions, security is strengthened by fundamentally blocking access to the control system of the facility from outside.

단방향 데이터 전송 장치를 이용하는 단방향 데이터 전송 기술이 보안성 강화 방편으로 이용되고 있다. 단방향 데이터 전송 장치가 사용되는 대표적인 통신망으로는 주요 기반 시설에서 운영되는 제어망을 들 수 있다. 제어망은 대부분 외부 연결망에서 분리 폐쇄망(안전영역)의 데이터를 모니터링하는 형태이며, 제어망에 적합한 다양한 응용 계층의 제어 프로토콜을 통해 수행된다.One-way data transmission technology using a one-way data transmission device is being used as a way to enhance security. A typical communication network in which a one-way data transmission device is used is a control network operated in a major infrastructure. Most of the control networks are in the form of monitoring the data of the segregated closed network (safe area) in the external network, and are performed through the control protocol of various application layers suitable for the control network.

제어망과 같은 분리 폐쇄망(안전 영역)에 단"??* 데이터 전송 기술을 도입할 경우, 외부로부터의 보안 위협에 매우 효과적일 수 있다. 단방향 데이터 전송은 데이터 송수신자 간에 일 방향 전송 통로만을 허용하고 반대 방향으로부터의 전송은 허용하지 않기 때문에 외부로부터의 시스템 접근을 원척적으로 차단한다. 단방향 데이터 전송의 예로는 안전영역을 보호하기 위해 외부로부터의 안전영역 접근을 원천적으로 차단하는 물리적 단일링크 기반 단방향 데이터 전송 기술, 전송 데이터의 보안성을 확보하기 위한 전용 프로토콜 기반 단방향 데이터 송수신 기술, 및 전송데이터의 신뢰성을 보장하기 위한 순방향오류정정 기술을 들 수 있다.When a single "??*" data transmission technology is introduced into a separate closed network (safe area) such as a control network, it can be very effective against external security threats. One-way data transmission is performed only in one-way transmission path between data sender and receiver Because it allows and does not allow transmission from the opposite direction, system access from the outside is fundamentally blocked An example of one-way data transmission is a physical single link that fundamentally blocks access to the safety area from outside to protect the safety area. A base unidirectional data transmission technology, a unidirectional data transmission/reception technology based on a dedicated protocol for securing the security of transmission data, and a forward error correction technology to ensure the reliability of transmission data.

한편, 생산 장비 및 시설을 네트워크로 연결한 후 해당 생산 장비 및 시설로부터 데이터를 수집하여 장비 및 시설 관리의 효율을 높이고 자동화하는 OPC(OLE for process control)가 스마트 팩토리(smart factory) 구현의 한 방편으로서 많은 주목을 받고 있다. On the other hand, OPC (OLE for process control), which connects production equipment and facilities through a network and collects data from the production equipment and facilities, increases the efficiency of equipment and facility management, and automates the implementation of a smart factory. It is attracting a lot of attention.

또한 인공지능 및 클라우드 등 새로운 4차 산업혁명 기반 기술을 생산 현장에 적용하기 위해서는 동종 또는 이종의 공장 간, 장비 간, 사물 간, 제어 시스템 공급자 간에 호환성 확보가 중요하고, 생산성 향상 및 불량률 감소를 통한 가격과 품질 경쟁력 확보를 목표로 하는 스마트 팩토리 구현에도 이와 같은 호환성 확보가 중요하다. In addition, in order to apply new 4th industrial revolution-based technologies such as artificial intelligence and cloud to the production site, it is important to secure compatibility between factories of the same or different types, between equipment, between objects, and between control system providers, and improve productivity and reduce defect rates. It is important to secure such compatibility in the implementation of a smart factory that aims to secure price and quality competitiveness.

OPC는 이와 같이 서로 다른 제어 시스템 공급자의 인터페이스(interface) 간(공장 간, 장비 간, 사물 간 포함) 상호 운용을 위한 프로토콜로서, PLC(programmable logic controller) 특정 프로토콜을 추상화한 표준 인터페이스이다. OPC에서 다양한 응용 계층의 제어 프로토콜을 이용함에 있어 다양한 제어 시스템 공급업자의 다양한 제어 통신 프로토콜이 사용됨에 따라, 서로 다른 공급자의 인터페이스(interface) 간 상호 운용을 위한 OPC 표준이 도입되었다.As such, OPC is a protocol for interoperability between interfaces (including between factories, between equipment, and between objects) of different control system providers, and is a standard interface abstracting a specific protocol for a programmable logic controller (PLC). In the use of control protocols of various application layers in OPC, as various control communication protocols of various control system suppliers are used, an OPC standard for interoperability between interfaces of different suppliers has been introduced.

OPC 표준 중 OPC 클래식(classic) 표준은 수천 개의 제품에 성공적으로 적용되었으며, OPC DA(data access), OPC HDA(historical data access), OPC AE(alarm & event) 기능으로 세분화되어 동작하도록 표준화되었다.Among the OPC standards, the OPC classic standard has been successfully applied to thousands of products, and has been subdivided into OPC DA (data access), OPC HDA (historical data access), and OPC AE (alarm & event) functions.

사물 인터넷 시대를 맞이하여 동종 또는 이종의 생산 장비 및 시설 간 데이터 통신의 호환성을 확보하기 위한 OPC 적용의 확대가 예상되는 가운데, 중요 시설 및 장비에 대해 사물 인터넷 장비 등을 통한 외부 접근을 차단하는 기술을 OPC의 표준에 적용해야 할 필요가 있다.In the era of the Internet of Things, the application of OPC is expected to expand to secure the compatibility of data communication between production equipment and facilities of the same or different types, and a technology that blocks external access to important facilities and equipment through IoT equipment, etc. Needs to be applied to the standards of OPC.

한편, OPC 표준 기반 단방향 데이터 전송 중 데이터가 분실되면 일부 데이터의 재전송이 어려운 문제가 있다. 그러므로 OPC 표준 기반 단방향 데이터 전송에서 데이터 분실을 방지하기 위한 방안이 필요하다.Meanwhile, if data is lost during one-way data transmission based on the OPC standard, retransmission of some data is difficult. Therefore, there is a need for a method to prevent data loss in unidirectional data transmission based on the OPC standard.

상기와 같은 필요를 충족하기 위한 본 발명의 목적은, 분리 폐쇄망인 안전 영역에 대한 외부 침입은 원천적으로 봉쇄하면서, 비안전 영역으로 안전 영역의 OPC 표준 기반의 데이터를 효과적으로 전달하는 단방향 데이터 전송 방법 및 장치를 제공하는 데 있다.An object of the present invention for satisfying the above needs is a one-way data transmission method for effectively transmitting OPC standard-based data of a safe area to a non-secure area while fundamentally blocking external intrusion into a safe area, which is a separated closed network, and To provide the device.

본 발명의 다른 목적은 OPC 표준 기반 단방향 데이터 전송 중 데이터 분실을 방지하기 위한 방법 및 장치를 제공하는 데 있다.Another object of the present invention is to provide a method and apparatus for preventing data loss during unidirectional data transmission based on OPC standards.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 방법은, 수신 프록시의 최대 데이터 처리량과 송신 프록시의 초당 데이터 처리량을 비교하는 단계, 상기 송신 프록시의 초당 데이터 처리량이 수신 프록시의 최대 데이터 처리량보다 크거나 같으면 히스토리컬 데이터의 요청 주기와 상기 히스토리컬 데이터의 요청 범위 및 갱신인자의 합을 비교하는 단계, 상기 히스토리컬 데이터의 요청 범위가 상기 히스토리컬 데이터의 요청 주기와 상기 갱신인자의 합보다 크거나 같으면 상기 히스토리컬 데이터의 요청 주기를 상기 갱신인자만큼 증가시키는 단계 및 상기 히스토리컬 데이터의 요청 범위가 상기 히스토리컬 데이터의 요청 주기와 상기 갱신인자의 합보다 작으면 상기 히스토리컬 데이터의 요청 범위와 요청 주기를 상기 갱신인자만큼 증가시키는 단계를 포함한다.The OPC standard-based one-way data transmission method according to an embodiment of the present invention for achieving the above object includes: comparing a maximum data throughput of a receiving proxy and a data throughput per second of a sending proxy, and receiving the data throughput per second of the sending proxy. If greater than or equal to the maximum data throughput of the proxy, comparing the request period of historical data with the sum of the request range of the historical data and the update factor, the request range of the historical data is the request period of the historical data and the If it is greater than or equal to the sum of the update factors, increasing the request period of the historical data by the update factor, and if the request range of the historical data is less than the sum of the request period of the historical data and the update factor, the history And increasing the request range and request period of curl data by the update factor.

본 발명에 의하면, OPC 표준 기반 단방향 데이터 전송에 있어서, 송신 프록시 및 수신 프록시의 데이터 처리량에 기초하여 히스토리컬 데이터의 요청 주기 및 요청 범위를 조절하여 데이터의 전송 중 분실을 방지하여 단방향 데이터 전송의 신뢰성을 향상시킬 수 있다.According to the present invention, in the OPC standard-based one-way data transmission, the reliability of one-way data transmission by controlling the request period and request range of historical data based on the data throughput of the sending proxy and the receiving proxy to prevent data loss during transmission. Can improve.

도 1은 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치에 대한 개념도.
도 2는 본 발명의 일 실시예에 따른 OPC 서버 프록시 구축을 위한 절차도.
도 3은 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 방법에 대한 절차도.
도 4는 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치에서의 히스토리컬 데이터 갱신 방법을 설명하는 절차도.
도 5는 본 발명의 일 실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 방법에서의 데이터 분실 방지 방법을 설명하는 흐름도.
1 is a conceptual diagram of an OPC standard-based one-way data transmission apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating a procedure for building an OPC server proxy according to an embodiment of the present invention.
3 is a flowchart illustrating an OPC standard-based one-way data transmission method according to an embodiment of the present invention.
4 is a flowchart illustrating a method of updating historical data in an OPC standard-based unidirectional data transmission apparatus according to an embodiment of the present invention.
5 is a flowchart illustrating a method of preventing data loss in a one-way data transmission method based on an OPC standard according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 몇몇 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 권리범위는 실시예들로부터 관념되는 본 발명의 기술적 사상에 속하는 모든 변경, 변형, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In the present invention, various modifications may be made and various embodiments may be provided, and some 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, and the scope of the present invention should be understood as including all changes, modifications, equivalents or substitutes belonging to the technical idea of the present invention conceived from the embodiments. do.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에만, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. It should be understood that there is no other component in the middle only when it is stated that a component is "directly connected" or "directly connected" to another component.

본 출원에서 사용한 용어는 단지 제시되는 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe the examples presented, 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 existence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and other features, numbers, and steps. It is to be understood that it does not preclude the possibility of the presence or addition of, operations, components, parts, or combinations thereof.

기술적이거나 과학적인 용어를 포함해서 본 명세서에서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있으며, 이상적이거나 과도하게 축소된 형식적인 의미로 해석되지 않아야 할 것이며, 본 명세서에서 어떤 용어의 의미를 정의할 경우 해 용어는 그 정의된 대로 해석되어야 한다.All terms used in this specification, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs, and are ideal or excessively reduced formal It should not be interpreted as a meaning, and when defining the meaning of a term in this specification, the term should be interpreted as defined.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.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.

전술한 단방향 데이터 전송은 단방향 데이터 전송 장치에 의해 수행된다. 분리 폐쇄망에 해당하는 안전영역의 데이터는 단방향 데이터 송수신 장치에 의해 외부 연결망과 같은 비안전 영역으로 전달된다. 이러한 단방향 데이터 전송은 망분리 기술의 일종으로 보안성이 강화되는 특징은 있으나, 내부망과 외부망 간의 데이터 교환이 불가능하기 때문에 그로 인한 사용 편의성이 저하되는 문제가 있다. 즉, 대부분의 TCP/IP 기반의 양방향 서비스를 지원하기 위해 필요한 세션 정보 유지 및 응용 계층의 동작 지원 등 에서 많은 제약을 받는다. The aforementioned one-way data transmission is performed by a one-way data transmission device. Data in the safe area corresponding to the separated closed network is transferred to the non-secure area such as the external network by the one-way data transmission/reception device. Such unidirectional data transmission is a kind of network separation technology, and has a characteristic of enhancing security, but there is a problem in that the convenience of use is deteriorated because data exchange between the internal network and the external network is impossible. That is, there are many limitations in maintaining session information and supporting operation of the application layer, which are necessary to support most of the TCP/IP-based bidirectional services.

이와 같은 제약들은 지속적인 연구개발을 통해서 점차 극복이 가능해지는 추세이나, 물리적인 침투 경로 차단에 따른 데이터 전송의 신뢰성 문제 및 지원 가능한 프로토콜의 증가 등에 의한 기존의 망 정보 변경과 같은 추가적인 제약사항이 존재할 수 있다. These limitations are gradually being overcome through continuous research and development, but there may be additional limitations such as changes in existing network information due to the increase of supported protocols and reliability problems of data transmission due to blocking of physical penetration paths. have.

일례로, 단방향 데이터 전송 장치가 기존 망들의 경계 부분에 위치할 때, 기존의 망 정보가 소실됨과 동시에 단방향 데이터 전송 장치와의 연동을 위한 기존 망 정보의 변경이 요구되는 상황 등과 같은 어려움이 발생할 수 있다. 따라서, 기존의 망 정보는 그대로 유지하면서 단방향 데이터 전달을 수행해 주는 효과적인 기법이 요구된다.For example, when a unidirectional data transmission device is located at the boundary of existing networks, difficulties such as a situation in which existing network information is required to be changed for interworking with the unidirectional data transmission device while existing network information is lost may occur. have. Therefore, an effective technique for performing one-way data transfer while maintaining existing network information is required.

한편 전술한 OPC 표준은 제정된 시기 및 도입된 기능 등에 따라 여러 버전이 존재한다. 초기 OPC 표준에 해당하는 OPC 클래식은 여러 시스템에 적용되었다. OPC 클래식의 특정 OS 제품에의 높은 의존성 극복 위한 플랫폼 독립 문제 및 데이터 모델링 제한 문제 등을 해결하기 위해 세부화된 OPC 기능을 통합하고 새로운 기능을 제공하기 위한 OPC UA(unified architecture)도 제정되었으나, 시스템 교체 주기가 상대적으로 장기간 인 특성 상 아직도 산업 현장에서는 OPC 클래식이 적용된 시스템이 상당수 운영 중이다.On the other hand, there are several versions of the aforementioned OPC standard depending on the time when it was enacted and functions introduced. OPC Classic, which is an early OPC standard, was applied to several systems. OPC UA (unified architecture) was also established to provide new functions and integrate detailed OPC functions to solve the problem of platform independence and data modeling limitations to overcome the high dependence on specific OS products of OPC Classic. Due to the relatively long period of time, many systems with OPC Classic are still in operation in industrial sites.

다음으로 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 방식 및 장치에 대해 설명한다.Next, an OPC standard-based one-way data transmission method and apparatus according to an embodiment of the present invention will be described.

도 1은 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치에 대한 개념도이다.1 is a conceptual diagram of an OPC standard-based one-way data transmission apparatus according to an embodiment of the present invention.

도 1에 도시된 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치(120)에서의 OPC 표준은 OPC 클래식 및 OPC UA를 포함하는 OPC 관련 표준을 의미한다.The OPC standard in the one-way data transmission device 120 based on the OPC standard according to an embodiment of the present invention shown in FIG. 1 refers to an OPC-related standard including OPC Classic and OPC UA.

본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송장치(120)는 OPC 서버(110)와 OPC 클라이어트(150)를 기본으로 한다. OPC 서버(110)는 분리 폐쇄망 형태로 운영되는 제어망 내부의 PLC, IED, RTU와 같은 필드 디바이스와의 인터페이스를 통해 정보를 수집, 저장하고, OPC 클라이언트(150)는 OPC 표준에 따라 해당 정보를 모니터링하게 된다.The OPC standard-based one-way data transmission apparatus 120 according to an embodiment of the present invention is based on the OPC server 110 and the OPC client 150. The OPC server 110 collects and stores information through an 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 client 150 receives the corresponding information according to the OPC standard. Will be monitored.

OPC 서버(110)의 데이터는 실시간 데이터 및 히스토리컬(historical) 데이터를 포함한다. 실시간 데이터는 OPC DA(OPC data access) 데이터 및 OPC 경계 및 이벤트(alert and event) 데이터인 OPC AE 데이터를 포함한다. 히스토리컬 데이터는 OPC HDA(historical data access) 데이터를 의미한다.The data of the OPC server 110 includes real-time data and historical data. Real-time data includes OPC DA (OPC data access) data and OPC alert and event data, OPC AE data. The historical data refers to OPC historical data access (HDA) data.

본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송장치(120)는 안전 영역의 OPC 서버(110)에서 모니터링 되고 관리되는 실시간 데이터 및 히스토리컬 데이터를 비안전 영역의 OPC 클라이언트(150)로 전송하기 위해 송신(send) 프록시(proxy)(130) 및 수신(receive) 프록시(140)를 이용한다. 송신 프록시(130)는 OPC 서버(110)와 통신을 수행하고, 수신 프록시(140)는 OPC 클라이언트(150)와 통신을 수행한다.The OPC standard-based one-way data transmission device 120 according to an embodiment of the present invention transmits real-time data and historical data monitored and managed by the OPC server 110 in the safe area to the OPC client 150 in the non-secure area. To do this, a send proxy 130 and a receive proxy 140 are used. The transmission proxy 130 communicates with the OPC server 110, and the reception proxy 140 communicates with the OPC client 150.

송신 프록시(130)는 OPC 서버(110)에서 관리되고 제공하는 서버정보를 전달받아 수신 프록시(140)로 전달하고, 수신 프록시(140)는 OPC 서버와 동일한 기능을 수행하는 OPC 서버 프록시를 구축한다. 송신 프록시(130)는 비안전 영역의 OPC 클라이언트(150)와 동일한 방식으로 안전 영역의 OPC 서버(110)에 접속하여 OPC 클라이언트(150)에게 제공되는 서버 정보들을 요청하여 이를 OPC 서버(110)로부터 수신 후 수신 프록시(140)에게 전달하게 된다. 이와 같은 방식을 통해 수신 프록시(140)는 OPC 서버 프록시를 구축한다.The transmission proxy 130 receives server information managed and provided by the OPC server 110 and delivers it to the reception proxy 140, and the reception proxy 140 constructs an OPC server proxy that performs the same function as the OPC server. . The transmission proxy 130 accesses the OPC server 110 in the safe area in the same manner as the OPC client 150 in the non-secure area, requests server information provided to the OPC client 150, and sends it from the OPC server 110. After receiving, it is transmitted to the receiving proxy 140. Through this method, the receiving proxy 140 establishes an OPC server proxy.

이와 같은 방식으로 OPC 서버 프록시가 구축된 수신 프록시(140)는 안전 영역의 OPC 서버(110)와 동일한 IP 주소를 사용하게 되므로 비안전 영역의 OPC 클라이언트(150)는 수신 프록시(140)에의 접속을 통해 안전 영역의 OPC 서버(110)에 직접 접속하는 것처럼 되어 별도의 설정 변경이 필요하지 않게 된다.In this way, the receiving proxy 140, in which the OPC server proxy is built, uses the same IP address as the OPC server 110 in the safe area, so that the OPC client 150 in the non-secure area establishes a connection to the receiving proxy 140. Through this, it is as if it is directly connected to the OPC server 110 in the safe area, and a separate setting change is not required.

이와 같은 상태에서 송신 프록시(130)는 OPC 서버로부터 전달받은 서버 정보에 기초하여 안전 영역의 OPC 서버(110)에게 실시간 데이터 및 히스토리컬 데이터를 요청 및 수신한 후 이를 수신 프록시(140)에게 전달한다.In this state, the transmission proxy 130 requests and receives real-time data and historical data from the OPC server 110 in the safe area based on the server information received from the OPC server, and then transmits the request to the reception proxy 140. .

수신 프록시(140)는 전달받은 데이터를 기초로 OPC 서버(110)의 실시간 데이터 및 히스토리컬 데이터를 지속적으로 갱신(update)하면서 비안전 영역의 OPC 클라이언트(150)의 요청에 적합한 데이터를 제공한다. The receiving proxy 140 continuously updates real-time data and historical data of the OPC server 110 based on the received data and provides data suitable for the request of the OPC client 150 in the non-secure area.

OPC DA 데이터와 OPC AE 데이터와 같은 실시간 데이터는 모니터링하고자 하는 데이터가 변화할 때마다 자동적으로 생성되어 수신 프록시(140)에게 전달되고, 히스토리컬 데이터는 요청 정보(요청 주기 및 요청 범위를 포함)에 기초해서 수신 프록시(140)에게 전달된다. 다음으로 본 발명의 일 실시예에 따른 수신 프록시(140)에서의 OPC 서버 프록시 구축 방법에 대해 설명한다.Real-time data such as OPC DA data and OPC AE data are automatically generated whenever the data to be monitored changes and transmitted to the receiving proxy 140, and the historical data is included in the request information (including the request period and the request range). It is delivered to the receiving proxy 140 on the basis. Next, a method of constructing an OPC server proxy in the receiving proxy 140 according to an embodiment of the present invention will be described.

도 2는 본 발명의 일 실시예에 따른 OPC 서버 프록시 구축을 위한 절차도이다.2 is a flowchart illustrating a procedure for building an OPC server proxy according to an embodiment of the present invention.

도 2의 본 발명의 일 실시예에 따른 수신 프록시(140)에서의 OPC 서버 프록시 구축 방법은 시스템 유지 보수 등의 이유로 송신 프록시나 수신 프록시가 재구동되는 경우 안전 영역의 OPC 서버와의 동기화 상실 문제를 해결하기 위한 방법이다.The OPC server proxy construction method in the receiving proxy 140 according to the embodiment of the present invention of FIG. 2 is a problem of loss of synchronization with the OPC server in the safe area when the transmitting proxy or the receiving proxy is restarted due to system maintenance or the like. This is the way to solve the problem.

먼저 수신 프록시는 구동과 동시에 OPC 프록시 서버 구축과 관련된 설정을 확인한다(S210). 수신 프록시는 OPC 서버 프록시 구축을 위한 정보(서버정보라 칭함)들을 송신 프록시로부터 수신하여 파일 등의 형태로 저장소에 기록해 놓는다. 확인 과정을 통해 기 구축된 OPC 서버 프록시 구축 정보의 존재여부를 확인하고(S220) 기 구축된 OPC 서버 프록시 구축 정보가 존재한다면(S220의 예), 이에 기초하여 OPC 서버 프록시를 구축한다(S260).First, the receiving proxy checks the settings related to the establishment of the OPC proxy server while running (S210). The receiving proxy receives information (referred to as server information) for building the OPC server proxy from the sending proxy and records it in the storage in the form of a file or the like. Through the verification process, it is checked whether or not the pre-established OPC server proxy construction information exists (S220), and if pre-established OPC server proxy construction information exists (example of S220), an OPC server proxy is constructed based on this (S260). .

기 구축된 프록시 서버 구축 정보가 존재하지 않는다면(S220의 아니오) 송신 프록시로부터 서버정보를 요청하고 데이터를 수신한다(S230). 수신 프록시는 수신된 데이터에 서버정보가 포함된 지 여부를 확인해서(S240) 보유하지 않고 있지 않으면(S240의 아니오) 송신 프록시를 통해 OPC 서버에게 서버정보를 요청한다(S250). 이 경우 필요 시 송신 프록시는 재구동될 수 있다. 서버정보를 보유하고 있다면(S240의 예) 해당 정보에 기초해서 OPC 서버 프록시를 구축한다(S260). OPC 서버 프록시가 구축되면, 실시간 데이터나 히스토리컬 데이터를 송신 프록시로부터 수신(S270) 및 관련 처리를 수행한다. If the previously established proxy server construction information does not exist (No in S220), server information is requested from the transmitting proxy and data is received (S230). The receiving proxy checks whether server information is included in the received data (S240), and if it does not have it (No in S240), it requests server information from the OPC server through the sending proxy (S250). In this case, the sending proxy can be restarted if necessary. If server information is held (YES in S240), an OPC server proxy is constructed based on the information (S260). When the OPC server proxy is established, real-time data or historical data is received from the transmission proxy (S270) and related processing is performed.

송신 프록시로부터 수신한 데이터에 새로운 서버정보가 포함되어 있는지 판단해서(S280) 새로운 서버정보가 포함되어 있다면(S280의 예) 해당 서버정보를 이용해 OPC 서버 프록시를 갱신 구축하고, 새로운 서버정보가 포함되어 있지 않다면(S280의 아니오) 데이터(OPC 서버의 데이터)를 갱신한다(S290).It is determined whether new server information is included in the data received from the sending proxy (S280), and if the new server information is included (example in S280), the OPC server proxy is updated and constructed using the server information, and the new server information is included. If not (No in S280), the data (data of the OPC server) is updated (S290).

한편, 수신 프록시는 기 수신된 정보를 바탕으로 구동되었을지라도 송신 프록시의 재구동 등으로 인하여 OPC 서버 프록시 구축과 관련된 새로운 서버정보를 수신하게 된다면, 이에 기초하여 OPC 서버 프록시를 재구축한다. 이와 같은 방법을 통해 실제 안전 영역의 OPC 서버와 동일한 구성을 서버 프록시에 구축된다.On the other hand, even if the receiving proxy is driven based on the previously received information, if it receives new server information related to OPC server proxy construction due to restarting of the transmitting proxy, etc., the OPC server proxy is rebuilt based on this. In this way, the same configuration as the OPC server in the real safe zone is built into the server proxy.

송신 프록시가 재구동되면 수신 프록시의 OPC 서버 프록시는 무조건 재구축되며, 이와 달리 수신 프록시만 재구동 될 시에는 기 저장된 설정 정보를 바탕으로 선택적인 OPC 서버 프록시 재구축이 가능하다. 다음으로 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 방법에 대해 설명한다.When the sending proxy is restarted, the OPC server proxy of the receiving proxy is unconditionally rebuilt. On the contrary, when only the receiving proxy is restarted, it is possible to selectively rebuild the OPC server proxy based on previously stored configuration information. Next, an OPC standard-based one-way data transmission method according to an embodiment of the present invention will be described.

도 3은 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 방법에 대한 절차도이다3 is a flowchart illustrating an OPC standard-based one-way data transmission method according to an embodiment of the present invention.

도 3의 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 방법은 도 1의 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치와 도 2의 본 발명의 일 실시예에 따른 수신 프록시 구축 방법에 기초해서 OPC 표준 기반 단방향 데이터 전송을 하는 방법에 대한 것이다.The OPC standard-based one-way data transmission method according to an embodiment of the present invention of FIG. 3 is an OPC standard-based one-way data transmission apparatus according to an embodiment of the present invention of FIG. 1 and a reception according to an embodiment of the present invention of FIG. It is about a method of unidirectional data transmission based on OPC standard based on proxy construction method.

먼저, 단방향 데이터 전송 장치(120)의 송신 프록시(130)는 OPC 서버(110)와의 연결을 설정하기 위해 서버정보를 요청하고(S310), OPC 서버(110)로부터 서버정보를 수신한다(S315). 송신 프록시(120)는 비안전 영역의 OPC 클라이언트와 동일한 방식으로, 안전 영역의 OPC 서버(110)에 접속하여, 서버정보를 요청하고, OPC 서버(110)로부터 서버정보를 수신할 수 있다.First, the transmission proxy 130 of the one-way data transmission device 120 requests server information to establish a connection with the OPC server 110 (S310), and receives server information from the OPC server 110 (S315). . The transmission proxy 120 may access the OPC server 110 in the safe area, request server information, and receive server information from the OPC server 110 in the same manner as the OPC client in the non-secure area.

그리고 송신 프록시(130)는 OPC 서버(110)로부터 수신한 서버정보를 수신 프록시(220)로 전달하고(S320), 수신 프록시(140)는 이를 이용해 OPC 서버 프록시를 구축한다(S325). 이때, 전술한 바와 같이 수신 프록시(140)에 구축된 OPC 서버 프록시(140)는 안전 영역의 OPC 서버(110)와 동일한 IP 주소를 사용하므로, 비안전 영역의 OPC 클라이언트(150)가 안전 영역의 OPC 서버(110)에 접속하는 것과 동일한 효과를 가질 수 있으며, 별도의 설정 변경 절차의 수행을 생략할 수 있다.Then, the transmission proxy 130 transmits the server information received from the OPC server 110 to the reception proxy 220 (S320), and the reception proxy 140 constructs an OPC server proxy using this (S325). At this time, as described above, the OPC server proxy 140 built in the receiving proxy 140 uses the same IP address as the OPC server 110 in the safe area, so that the OPC client 150 in the non-secure area It may have the same effect as accessing the OPC server 110, and a separate setting change procedure may be omitted.

이상의 절차로 OPC 서버 프록시 구축 과정을 수행한 후, 단방향 데이터 전송 장치(120)의 송신 프록시(110)는 기 수신한 서버정보를 기반으로, 안전 영역의 OPC 서버(100)로 실시간 데이터(OPC DA 데이터 및 OPC AE 데이터) 및 히스토리컬 데이터(HDA 데이터)를 요청하여 데이터를 수신할 수 있다.After performing the OPC server proxy construction process in the above procedure, the transmission proxy 110 of the one-way data transmission device 120 transmits real-time data (OPC DA) to the OPC server 100 in the safe area based on the previously received server information. Data can be received by requesting data and OPC AE data) and historical data (HDA data).

구체적으로는, 단방향 데이터 전송 장치(120)의 송신 프록시(130)는 OPC 서버(110)로 실시간 데이터를 요청하고(S330), OPC 서버(110)로부터 실시간 데이터를 수신하며(S335), 수신한 실시간 데이터를 수신 프록시(140)로 전달한다(S340). 또한, 실시간 데이터를 수신한 수신 프록시(140)는 실시간 데이터의 갱신을 수행할 수 있다(S345).Specifically, the transmission proxy 130 of the one-way data transmission device 120 requests real-time data from the OPC server 110 (S330), receives real-time data from the OPC server 110 (S335), and Real-time data is transmitted to the receiving proxy 140 (S340). In addition, the reception proxy 140 that has received the real-time data may update the real-time data (S345).

그리고 단방향 데이터 전송 장치(120)의 송신 프록시(130)는 OPC 서버(110)로 히스토리컬 데이터를 요청하고(S350), OPC 서버(110)로부터 히스토리컬 데이터를 수신하며(S355), 수신한 히스토리컬 데이터를 수신 프록시(140)로 전달한다(S360). 또한, 히스토리컬 데이터를 수신한 수신 프록시(140)는 히스토리컬 데이터의 갱신을 수행한다(S365).And the transmission proxy 130 of the one-way data transmission device 120 requests historical data to the OPC server 110 (S350), receives the historical data from the OPC server 110 (S355), received history The curl data is transmitted to the reception proxy 140 (S360). Also, the reception proxy 140, which has received the historical data, updates the historical data (S365).

히스토리컬 데이터 갱신 과정에서, 송신 프록시(130)는 히스토리컬 데이터를 요청하고, 수신한 히스토리컬 데이터를 수신 프록시(140)로 전송하는 수행을 반복적으로 수행할 수 있다. 그리고 실시간 데이터 및 히스토리컬 데이터에 대한 갱신을 수행한 수신 프록시(140)는 OPC 클라이언트(150)와 연결되어, OPC 클라이언트(150)의 요청에 상응하는 데이터를 전송할 수 있다(S370).In the process of updating historical data, the transmission proxy 130 may repeatedly perform a request for historical data and transmit the received historical data to the reception proxy 140. In addition, the receiving proxy 140, which has performed an update of real-time data and historical data, is connected to the OPC client 150 and may transmit data corresponding to the request of the OPC client 150 (S370).

이와 같이 절차에 의해 안전 영역의 OPC 서버와 OPC 서버 프록시가 구축된 수신 프록시와의 동기화가 가능하므로, 종래 기술에 따른 OPC 서버와 OPC 클라이언트의 추가적인 설정 변경 등이 요구되지 않으며, 히스토리컬 데이터에 대한 단방향 데이터 전송의 신뢰성을 향상시킬 수 있다. 또한, 이를 통하여 안정적으로 데이터를 모니터링 할 수 있다.In this way, since the OPC server in the safe area and the receiving proxy on which the OPC server proxy is built can be synchronized, additional configuration changes of the OPC server and OPC client according to the prior art are not required, and historical data is not required. It is possible to improve the reliability of one-way data transmission. In addition, data can be stably monitored through this.

즉, 본 발명의 일실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 장치(120)는 OPC 서버(110)가 OPC 클라이언트(150)로 전송하는 데이터의 특성에 따라, 송신측 및 수신측에 적절한 동작을 수행하는 프록시를 배치함으로써, 안전 영역에 대한 외부의 침입은 원천 봉쇄하면서, 안전 영역의 데이터(실시간 데이터 및 히스토리컬 데이터)를 비안전 영역으로 효과적으로 전달할 수 있다. 다음으로 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치에서의 히스토리컬 데이터 갱신 방법에 대해 설명한다.That is, the OPC standard-based one-way data transmission device 120 according to an embodiment of the present invention operates appropriately for the transmitting side and the receiving side according to the characteristics of the data transmitted by the OPC server 110 to the OPC client 150. By arranging a proxy for performing the process, it is possible to effectively transmit data (real-time data and historical data) of the safe area to the non-secure area, while blocking external intrusion to the safe area. Next, a method of updating historical data in an OPC standard-based unidirectional data transmission apparatus according to an embodiment of the present invention will be described.

도 4는 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치에서의 히스토리컬 데이터 갱신 방법을 설명하는 절차도이다.4 is a flowchart illustrating a method of updating historical data in an OPC standard-based unidirectional data transmission apparatus according to an embodiment of the present invention.

도 4의 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 장치에서의 히스토리컬 데이터 갱신 방법은 도 3은 본 발명의 일 실시예에 따른 OPC 표준 기반 단방향 데이터 전송 방법에서의 히스토리컬 데이터의 갱신 방법에 대한 것이다.The method for updating historical data in the OPC standard-based unidirectional data transmission apparatus according to an embodiment of the present invention of FIG. 4 is shown in FIG. 3. It's about how to update.

실시간 데이터인 OPC DA 데이터 및 OPC AE 데이터는 OPC 서버에 요청된 데이터가 변경됨과 동시에 전송되나, 히스토리컬 데이터인 OPC HAD 데이터의 경우에는 요청 주기 및 요청 범위에 기초하여 데이터가 전송된다. 따라서, OPC 클라이언트 프록시인 송신 프록시(130)에서는 요청 주기를 설정하여 안전 영역의 OPC 서버에 히스토리컬 데이터를 요청할 필요가 있다. OPC DA data and OPC AE data, which are real-time data, are transmitted at the same time as the data requested to the OPC server is changed, but in the case of OPC HAD data, which is historical data, data is transmitted based on the request period and the request range. Accordingly, the transmission proxy 130, which is an OPC client proxy, needs to set a request period to request historical data from the OPC server in the safe area.

또한, 실시간 데이터는 계속적으로 갱신되는 데이터인데 반해, 히스토리컬 데이터는 지속적으로 쌓이는 데이터인 관계로 송수신 도중에 분실되는 경우 해당 시간의 데이터를 다시 가져오기가 어렵다. 그러므로 히스토리컬 데이터의 단방향 전송에서는 요청 주기와 요청 범위를 조절하여 송수신 데이터에 대한 신뢰성을 보장하도록 할 필요가 있다.In addition, real-time data is data that is continuously updated, whereas historical data is data that is continuously accumulated, so if it is lost during transmission/reception, it is difficult to retrieve data of the corresponding time again. Therefore, in unidirectional transmission of historical data, it is necessary to ensure reliability of transmission/reception data by adjusting the request period and the request range.

이러한 필요성을 충족하기 위해 본 발명의 일 실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 장치(120)의 송신 프록시(130)는 OPC 서버(110)로 히스토리컬 데이터(HAD 데이터)를 요청하고(S410), OPC 서버(110)는 송신 프록시(130)로 히스토리컬 데이터를 전송한다(S415).To meet this need, the transmission proxy 130 of the one-way data transmission device 120 based on the OPC standard according to an embodiment of the present invention requests historical data (HAD data) from the OPC server 110 (S410 ), the OPC server 110 transmits historical data to the transmission proxy 130 (S415).

일례로, OPC 서버(110)가 히스토리컬 데이터의 요청(

Figure pat00001
차 요청)을 수신하여, 송신 프록시(130)로 히스토리컬 데이터를 전송할 때, OPC 서버(110)는 OPC 서버 전송 히스토리컬 데이터(1~13) 중에서 히스토리컬 데이터를 전송하는 시점까지의 데이터인 히스토리컬 데이터 1 내지 5를 송신 프록시(130)로 전송한다.For example, the OPC server 110 requests historical data (
Figure pat00001
Tea request), and when transmitting the historical data to the transmission proxy 130, the OPC server 110 is the data from the OPC server transmission historical data (1 to 13) up to the time of transmitting the historical data. The curl data 1 to 5 are transmitted to the transmission proxy 130.

OPC 서버(110)로부터 히스토리컬 데이터를 수신한 송신 프록시(130)는 수신 프록시(140)로 수신한 히스토리컬 데이터를 전달한다(S420). 또한, 히스토리컬 데이터를 수신한 수신 프록시(140)는 제1 히스토리컬 데이터 갱신을 수행한다(S425).The transmission proxy 130 receiving the historical data from the OPC server 110 transmits the received historical data to the reception proxy 140 (S420). Also, the reception proxy 140 that has received the historical data performs first historical data update (S425).

일례로, 수신 프록시(140)는 송신 프록시(130)로부터 데이터 1 내지 데이터 5의 히스토리컬 데이터를 수신하며, 수신한 히스토리컬 데이터를 이용하여 제1 히스토리컬 데이터 갱신(S425)을 수행할 수 있다. 이때, 히스토리컬 데이터 1 내지 5는 최초로 수신한 히스토리컬 데이터이다.For example, the reception proxy 140 may receive historical data of data 1 to 5 from the transmission proxy 130, and may perform a first historical data update (S425) using the received historical data. . At this time, the historical data 1 to 5 are the first received historical data.

최초 히스토리컬 데이터를 요청한 후 기 설정된 요청 주기(P)에 상응하는 시간이 경과한 경우, 송신 프록시(130)는 OPC 서버(110)로 히스토리컬 데이터(

Figure pat00002
,T)을 요청한다(S430). 이 때 요청되는 히스토리컬 데이터는 히스토리컬 데이터(
Figure pat00003
, T)로 표시될 수 있다. 이는 데이터 범위 T를 갖는
Figure pat00004
차 요청이라는 의미를 나타낸다. 전송범위 T가 표시되지 않은 경우는 사전 설정된 기본 범위를 갖도록 구현될 수 있다.When the time corresponding to the preset request period (P) has elapsed after the initial request for historical data, the transmission proxy 130 transmits the historical data to the OPC server 110 (
Figure pat00002
,T) is requested (S430). The historical data requested at this time is historical data (
Figure pat00003
, T). It has a data range T
Figure pat00004
Indicates the meaning of a tea request. When the transmission range T is not indicated, it may be implemented to have a preset basic range.

OPC 서버(110)는 송신 프록시(130)로 히스토리컬 데이터를 전송한다(S435). OPC 서버(110)로부터 히스토리컬 데이터를 수신한 송신 프록시(130)는 수신 프록시로(140) 해당 히스토리컬 데이터를 전달하고(S440), 수신 프록시(140)는 제2 히스토리컬 데이터의 갱신을 수행할 수 있다(S445).The OPC server 110 transmits historical data to the transmission proxy 130 (S435). The transmission proxy 130 receiving the historical data from the OPC server 110 transmits the corresponding historical data to the reception proxy 140 (S440), and the reception proxy 140 updates the second historical data. It can be done (S445).

일례로, 송신 프록시(130)가 OPC 서버(110)로 히스토리컬 데이터(

Figure pat00005
, T)를 요청하면, OPC 서버(110)는 요청 범위(T) 내의 히스토리컬 데이터인 히스토리컬 데이터 2 내지 8을 송신 프록시(130)로 전송할 수 있다. 이 경우 수신 프록시(140)는 송신 프록시(130)로부터 히스토리컬 데이터 2 내지 8의 히스토리컬 데이터를 수신하여, 제2 히스토리컬 데이터 갱신를 수행한다(S445).For example, the transmission proxy 130 to the OPC server 110 historical data (
Figure pat00005
, T), the OPC server 110 may transmit historical data 2 to 8, which are historical data within the request range T, to the transmission proxy 130. In this case, the reception proxy 140 receives the historical data of the historical data 2 to 8 from the transmission proxy 130 and performs second historical data update (S445).

이때 수신 프록시(140) 내 히스토리컬 데이터 1은 이전 수신 히스토리컬 데이터이고, 히스토리컬 데이터 2 내지 4는 중복 수신 히스토리컬 데이터이며, 히스토리컬 데이터 5 내지 8은 신규 수신 히스토리컬 데이터이다.In this case, historical data 1 in the reception proxy 140 is previously received historical data, historical data 2 to 4 are redundant reception historical data, and historical data 5 to 8 are new reception historical data.

송신 프록시(130)에서 히스토리컬 데이터를 요청한 후 요청 주기(P)에 상응하는 시간이 경과하면 송신 프록시(130)는 히스토리컬 데이터(

Figure pat00006
, T)를 요청하고(S450), OPC 서버(110)로부터 히스토리컬 데이터를 수신(S455)한다. 송신 프록시(130)은 수신한 히스토리컬 데이터를 수신 프록시(140)로 전달(S460)하고, 송신 프록시(130)로부터 히스토리컬 데이터를 수신한 수신 프록시(140)는 제3 히스토리컬 데이터 갱신을 수행한다(S465).When a time corresponding to the request period (P) elapses after the transmission proxy 130 requests historical data, the transmission proxy 130 receives the historical data (
Figure pat00006
, T) is requested (S450), and historical data is received from the OPC server 110 (S455). The transmission proxy 130 forwards the received historical data to the reception proxy 140 (S460), and the reception proxy 140, which receives the historical data from the transmission proxy 130, performs a third historical data update. Do (S465).

일례로, 송신 프록시(130)로부터 히스토리컬 데이터의 요청을 수신한 OPC 서버(110)는, 요청을 수신한 시점부터 요청 범위(T) 내의 데이터인 히스토리컬 데이터 6 내지 12를 송신 프록시(130)로 전송할 수 있다. 또한, 송신 프록시(130)는 수신 프록시(140)로 히스토리컬 데이터 6 내지 12를 전달하며, 수신 프록시(140)는 제3 히스토리컬 데이터 갱신(S465)를 수행할 수 있다. As an example, the OPC server 110 receiving a request for historical data from the transmission proxy 130 transmits the historical data 6 to 12, which are data within the request range T, from the time when the request is received. Can be transferred to. In addition, the transmission proxy 130 transmits historical data 6 to 12 to the reception proxy 140, and the reception proxy 140 may perform a third historical data update (S465 ).

이때, 히스토리컬 데이터 1 내지 5는 이전 수신 히스토리컬 데이터이고, 히스토리컬 데이터 6 내지 데이터 8은 중복 수신 히스토리컬 데이터이며, 히스토리컬 데이터 9 내지 12는 신규 수신 히스토리컬 데이터이다.At this time, historical data 1 to 5 are previously received historical data, historical data 6 to 8 are redundant received historical data, and historical data 9 to 12 are new received historical data.

이후에도, 송신 프록시(130)는 OPC 서버(110)로 히스토리컬 데이터(

Figure pat00007
, T)를 요청하는 과정(S470)을 수행하여, 일정한 요청 주기(P)마다 요청 범위(T)에 상응하는 히스토리컬 데이터를 요청 및 수신할 수 있다. 히스토리컬 데이터를 요청하는 시간(
Figure pat00008
)은 히스토리컬 데이터의 전송을 요청하는 현재 시간을 의미하며, 바로 직전 주기에서 히스토리컬 데이터를 요청한 시간(
Figure pat00009
)로부터 요청 주기(P)만큼의 경과한 시간을 의미한다.After that, the transmission proxy 130 transmits historical data to the OPC server 110 (
Figure pat00007
, T) by performing the process of requesting (S470), it is possible to request and receive historical data corresponding to the request range (T) every predetermined request period (P). Time to request historical data (
Figure pat00008
) Means the current time that the historical data is requested to be transmitted, and the time the historical data is requested in the immediately preceding cycle (
Figure pat00009
It means the time elapsed as much as the request period (P) from ).

즉, 송신 프록시(130)는 안전 영역의 OPC 서버(110)에 요청 주기인 P마다 히스토리컬 데이터의 전송을 요청하며, 요청 시 현재 시간(

Figure pat00010
)과 요청 범위(T)를 지정함으로써, 현재 시간(
Figure pat00011
)을 기준으로 이전 T 시간만큼의 히스토리컬 데이터를 수신할 수 있다. 한편, 히스토리컬 데이터의 중복 수신을 위하여 요청 범위(T)는 요청 주기(P)보다 항상 크거나 같아야 하며, 더 바람직하게는 요청 범위(T)는 요청 주기(P)보다 항상 커야 한다.That is, the transmission proxy 130 requests the OPC server 110 in the safe area to transmit historical data for each request period P, and the current time (
Figure pat00010
) And the request range (T), the current time (
Figure pat00011
), historical data of the previous T time can be received. Meanwhile, in order to receive duplicate historical data, the request range T must always be greater than or equal to the request period P, and more preferably, the request range T must always be greater than the request period P.

본 발명의 일 실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 장치(120)는 OPC 클라이언트(150)로 수신한 히스토리컬 데이터를 전송한다. 이 후 OPC 표준 기반의 단방향 데이터 전송 장치(120)의 수신 프록시(140)는 OPC 클라이언트(150)로부터 데이터 요청을 수신하고, 요청에 적합한 데이터를 OPC 클라이언트(150)로 전송할 수 있다.The OPC standard-based one-way data transmission apparatus 120 according to an embodiment of the present invention transmits the received historical data to the OPC client 150. Thereafter, the reception proxy 140 of the OPC standard-based one-way data transmission device 120 may receive a data request from the OPC client 150 and transmit data suitable for the request to the OPC client 150.

이와 같이 본 발명의 일 실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 장치(120)는 네트워크의 환경 및 데이터의 중요도에 따라 요청 주기(P) 및 요청 범위(T)를 설정할 수 있으며, 이를 통해 히스토리컬 데이터의 단방향 데이터 전송 신뢰성을 향상시킬 수 있다. 즉, 수신 프록시(140)는 데이터 유실을 방지하기 위해서 네트워크 환경 및 데이터의 중요도에 따라 요청 범위(T)와 요청 주기(P)를 조절(T≥P)하여 히스토리컬 데이터에 대한 단방향 데이터 전송 신뢰성을 높일 수 있다.As described above, the OPC standard-based one-way data transmission device 120 according to an embodiment of the present invention can set the request period (P) and the request range (T) according to the network environment and the importance of the data, and through this It is possible to improve the reliability of unidirectional data transmission of curl data. That is, the reception proxy 140 adjusts the request range (T) and the request period (P) according to the network environment and the importance of the data (T≥P) in order to prevent data loss, thereby unidirectional data transmission reliability for historical data. Can increase.

한편, 전술한 본 발명의 일 실시예에 따른 히스토리컬 데이터 갱신 조절을 통해 단방향 데이터 전송에서의 데이터 분실을 방지할 수 있다. 다음으로 히스토리컬 데이터 갱신의 조절에 기초하여 데이터 분실을 방지하기 위한 본 발명의 일 실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 방법에서의 데이터 분실 방지 방법에 대해 설명한다.Meanwhile, data loss in unidirectional data transmission can be prevented through the historical data update control according to the above-described embodiment of the present invention. Next, a method of preventing data loss in a one-way data transmission method based on an OPC standard according to an embodiment of the present invention for preventing data loss based on the adjustment of historical data update will be described.

도 5는 본 발명의 일 실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 방법에서의 데이터 분실 방지 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method of preventing data loss in a one-way data transmission method based on an OPC standard according to an embodiment of the present invention.

일반적으로 단방향 데이터 전송 장치에서의 데이터 분실은 수신 프록시의 과부하에 의해서 발생되므로, 수신 프록시의 수신 용량에 대한 적절한 조절을 통해 전송 데이터의 분실을 방지한다(이를 전송 데이터에 대한 신뢰성 보장이라 칭함). In general, data loss in a one-way data transmission device is caused by an overload of the receiving proxy, and thus the loss of transmitted data is prevented by appropriately adjusting the receiving capacity of the receiving proxy (this is referred to as guaranteeing reliability of the transmitted data).

도 5는 본 발명의 일 실시예에 따른 OPC 표준 기반의 단방향 데이터 전송 방법에서의 히스토리컬 데이터 분실 방지 방법에서는 히스토리컬 데이터(HAD 데이터) 요청 주기(P) 및 요청 범위(T)에 대한 자동 조절을 통해서 데이터 분실을 방지한다.5 is an automatic adjustment of historical data (HAD data) request period (P) and request range (T) in the method for preventing loss of historical data in the OPC standard-based one-way data transmission method according to an embodiment of the present invention. Data loss is prevented.

구체적으로는 단방향 데이터 전송 장치(120)의 수신 프록시(140)의 최대 데이터 처리량(M)과 송신 프록시(130)의 초당 데이터 처리량(C)과의 비교를 통해 히스토리컬 데이터의 요청 주기(P)와 요청 범위(T)를 자동 조절하여 데이터 분실을 방지한다.Specifically, the request period of historical data (P) by comparing the maximum data throughput (M) of the receiving proxy 140 of the one-way data transmission device 120 and the data throughput per second (C) of the transmitting proxy 130 And request range (T) are automatically adjusted to prevent data loss.

수신 프록시 최대 데이터 처리량(M)은 수신 프록시(140)에서 미리 측정한 성능 값을 확인하여 설정하고(S510), 송신 프록시는 OPC 서버로부터의 유입되는 모든 데이터(OPC DA 데이터, OPC AE 데이터, 및 OPC HAD 데이터)의 처리량을 매초 측정하여 송신 프록시의 초당 데이터 처리량(C)을 계산한다.The reception proxy maximum data throughput (M) is set by checking the performance value measured in advance by the reception proxy 140 (S510), and the transmission proxy is all data (OPC DA data, OPC AE data, and OPC HAD data) throughput is measured every second to calculate the data throughput per second (C) of the sending proxy.

설정 확인 후 수신 프록시(140)에서의 최대 데이터 처리량(M)과 송신 프록시(130)의 초당 데이터 처리량(C)을 비교한다(S520). 송신 프록시(130)의 초당 데이터 처리량(C)이 수신 프록시(140)의 최대 데이터 처리량(M)보다 크거나 같으면(S520의 예) 수신 프록시(140)로 전달할 데이터를 줄이기 위해서 요청 주기(P)와 요청 범위(T)를 사전 설정된 갱신인자(v)만큼 변경한다.After confirming the setting, the maximum data throughput (M) in the receiving proxy 140 and the data throughput per second (C) of the transmitting proxy 130 are compared (S520). If the data throughput per second (C) of the transmission proxy 130 is greater than or equal to the maximum data throughput (M) of the reception proxy 140 (example of S520), a request period (P) to reduce data to be transmitted to the reception proxy 140 And request range (T) are changed by a preset update factor (v).

이 때, 요청 범위(T)는 요청 주기(P)보다 항상 크거나 같아야 하기 때문에 요청 주기(P)만 조절하거나 요청 주기(P)와 요청 범위(T) 모두를 조절하게 된다. 구체적으로는 요청 범위(T)가 요청 주기(P)와 갱신인자(v)의 합보다 보다 크거나 같으면(S530의 예) 요청 주기(P)만 갱신인자 v만큼 증가시키고(S540), 요청 범위(T)가 요청 주기(P)와 갱신인자(v)의 합보다 작으면(S530의 아니오) 요청 범위(T)와 요청주기(P) 모두를 갱신인자 v만큼 증가시킨다(S550).At this time, since the request range (T) must always be greater than or equal to the request period (P), only the request period (P) is adjusted, or both the request period (P) and the request range (T) are adjusted. Specifically, if the request range (T) is greater than or equal to the sum of the request period (P) and the update factor (v) (example in S530), only the request period (P) is increased by the update factor v (S540), and the request range If (T) is less than the sum of the request period (P) and the update factor (v) (No in S530), both the request range (T) and the request period (P) are increased by the update factor v (S550).

반면에 송신 프록시(130)의 초당 데이터 처리량(C)이 수신 프록시(140)의 최대 데이터 처리량(M)보다 작으면(S520의 아니오) 요청 주기(P)와 요청 범위(T)를 원래대로 되돌리는 조정을 수행하게 된다. 이때, 조정된 요청 주기(P)와 요청 범위(T)는 송신 프록시(130)에서의 초기 설정 값보다 작게 조정되지 않도록 한다. 즉, 초기 요청 주기(P)와 초기 요청 범위(T)는 시스템 적용 환경에 적합하도록 설정한다.On the other hand, if the data throughput per second (C) of the transmitting proxy 130 is less than the maximum data throughput (M) of the receiving proxy 140 (No in S520), the request period (P) and the request range (T) are reset. You will perform a turning adjustment. In this case, the adjusted request period (P) and the request range (T) are not adjusted to be smaller than the initial setting value of the transmission proxy 130. That is, the initial request period (P) and the initial request range (T) are set to suit the system application environment.

구체적으로는 송신 프록시(130)의 초당 데이터 처리량(C)이 수신 프록시(140)의 최대 데이터 처리량(M)보다 작을 때(S520의 아니오) 요청 주기(P)가 초기 요청 주기와 동일하면(S560의 예) 다시 설정확인 단계를 수행하고, 동일하지 않으면 요청 범위(T)가 초기 요청 범위와 동일한지 판단한다(S570).Specifically, when the data throughput per second (C) of the transmission proxy 130 is less than the maximum data throughput (M) of the reception proxy 140 (No in S520), the request period P is the same as the initial request period (S560 Example) The configuration check step is performed again, and if not, it is determined whether the request range T is the same as the initial request range (S570).

이때, 요청 범위(T)가 초기 요청 범위와 같으면(S570의 예) 요청 주기(P)만 갱신인자 v만큼 감소시키고(S580), 요청 범위(T)가 초기 요청 범위와 다르면 (S570의 아니오) 요청 범위(T)와 요청 주기(P) 모두를 갱신인자 v만큼 감소시킨다(S590).At this time, if the request range (T) is the same as the initial request range (YES in S570), only the request period (P) is reduced by the update factor v (S580), and if the request range (T) is different from the initial request range (No in S570) Both the request range (T) and the request period (P) are decreased by the update factor v (S590).

이와 같이 단방향 데이터 전송 장치(120)의 수신 프록시(140)에서의 최대 데이터 처리량(M)과 송신 프록시(130)의 초당 데이터 처리량(C)의 상태에 기초하여 히스토리컬 데이터에 대한 요청 주기(T) 및 요청 범위(P)를 조절함으로써, 발생 가능한 데이터 과유입으로인한 데이터 손실을 최소화하는 것이 가능하다.In this way, based on the state of the maximum data throughput (M) in the reception proxy 140 of the one-way data transmission device 120 and the data throughput (C) per second of the transmission proxy 130, the request period for historical data (T ) And request range (P), it is possible to minimize data loss due to possible data overflow.

전술한 본 발명의 실시예들에 따른 OPC 표준 기반 단방향 데이터 전송 방법을 통해 안전 영역의 OPC 서버(110)와 수신 프록시(140) 간 동기화가 가능하게 되어 기존 환경에 대한 설정 변경 없이, 실시간 데이터(OPC DA 데이터 및 OPC AE 데이터) 및 유실 가능성 있는 히스토리컬 데이터(OPC HAD 데이터)에 대한 단방향 데이터 전송의 신뢰성을 높이고 안정적인 데이터 모니터링이 가능하게 된다.Synchronization between the OPC server 110 and the reception proxy 140 in the safe area is possible through the one-way data transmission method based on the OPC standard according to the embodiments of the present invention described above, so that real-time data ( The reliability of one-way data transmission for OPC DA data and OPC AE data) and possibly lost historical data (OPC HAD data) is improved, and stable data monitoring is possible.

한편, 전술한 각 구성은 각각이 별도의 장치로 설명되었으나, 이는 설명의 편의와 이해의 증진을 위한 예시적 설명에 불과한 것으로서, 본 발명의 기술적 사상의 범주 내에서 다양한 형태로 구현될 수 있음은 물론이다. 예컨대, 송신 프록시 및 수신 프록시는 하나의 모듈로 통합되어 구현될 수도 있고, 둘이나 그 이상의 장치로 분할하여 구현될 수 있다.Meanwhile, each of the above-described configurations has been described as a separate device, but this is only an exemplary description for convenience of description and enhancement of understanding, and may be implemented in various forms within the scope of the technical idea of the present invention. Of course. For example, the transmission proxy and the reception proxy may be implemented by being integrated into one module, or may be implemented by dividing into two or more devices.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software.

컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media include hardware devices specially configured to store and execute program instructions, such as rom, ram, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The above-described hardware device may be configured to operate as at least one software module to perform the operation of the present invention, and vice versa.

이상, 본 발명의 바람직한 실시예를 통해 본 발명의 구성에 대하여 상세히 설명하였다. 그러나 전술한 실시예는 예시에 불과한 것으로서, 본 발명의 권리범위를 제한하지 아니한다. 본 발명의 기술분야에 통상의 지식을 가진 자라면 본 명세서의 교시와 시사로부터 본 발명의 기술적 사상의 범주내의 다양한 변형과 변경이 가능할 것이다. 따라서, 본 발명의 보호범위는 이하의 특허청구범위의 기재에 의하여 정하여짐이 마땅하다.The configuration of the present invention has been described in detail above through a preferred embodiment of the present invention. However, the above-described embodiments are for illustrative purposes only, and do not limit the scope of the present invention. Those of ordinary skill in the art of the present invention will be able to make various modifications and changes within the scope of the technical idea of the present invention from the teachings and suggestions of the present specification. Accordingly, the scope of protection of the present invention should be determined by the description of the following claims.

Claims (1)

수신 프록시의 최대 데이터 처리량과 송신 프록시의 초당 데이터 처리량을 비교하는 단계;
상기 송신 프록시의 초당 데이터 처리량이 수신 프록시의 최대 데이터 처리량보다 크거나 같으면 히스토리컬 데이터의 요청 주기와 상기 히스토리컬 데이터의 요청 범위 및 갱신인자의 합을 비교하는 단계;
상기 히스토리컬 데이터의 요청 범위가 상기 히스토리컬 데이터의 요청 주기와 상기 갱신인자의 합보다 크거나 같으면 상기 히스토리컬 데이터의 요청 주기를 상기 갱신인자만큼 증가시키는 단계; 및
상기 히스토리컬 데이터의 요청 범위가 상기 히스토리컬 데이터의 요청 주기와 상기 갱신인자의 합보다 작으면 상기 히스토리컬 데이터의 요청 범위와 요청 주기를 상기 갱신인자만큼 증가시키는 단계를 포함하는 OPC 표준 기반 단방향 데이터 전송 방법.
Comparing the maximum data throughput of the receiving proxy and the data throughput per second of the sending proxy;
Comparing a request period of historical data with a sum of a request range of the historical data and an update factor if the data throughput per second of the transmitting proxy is greater than or equal to the maximum data throughput of the receiving proxy;
If the request range of the historical data is greater than or equal to the sum of the request period of the historical data and the update factor, increasing the request period of the historical data by the update factor; And
If the request range of the historical data is less than the sum of the request period of the historical data and the update factor, increasing the request range and the request period of the historical data by the update factor. Transmission method.
KR1020190066125A 2019-06-04 2019-06-04 Method for unidirectional data communication based on opc standard and apparatus for the same KR20200139521A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190066125A KR20200139521A (en) 2019-06-04 2019-06-04 Method for unidirectional data communication based on opc standard and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190066125A KR20200139521A (en) 2019-06-04 2019-06-04 Method for unidirectional data communication based on opc standard and apparatus for the same

Publications (1)

Publication Number Publication Date
KR20200139521A true KR20200139521A (en) 2020-12-14

Family

ID=73779915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190066125A KR20200139521A (en) 2019-06-04 2019-06-04 Method for unidirectional data communication based on opc standard and apparatus for the same

Country Status (1)

Country Link
KR (1) KR20200139521A (en)

Similar Documents

Publication Publication Date Title
RU2623197C2 (en) Methods, devices and systems for creation of cross-secure safety connections and for safe transmission of data packages
US20190207979A1 (en) System and method of pre-establishing ssl session connections for faster ssl connection establishment
CN104811459A (en) Processing method, processing device and system for message services and message service system
JP2011504261A (en) Authentication method, system, server, and client
US20230254377A1 (en) Establishment of operational status of a machine-to-machine device
CN105591819A (en) Method and device of configuring network equipment
CN104009938A (en) Method and system for long connections based on router level
US10862976B2 (en) System and method for improving efficiency of SSL/TLS connections
CN105516221A (en) Information push system and method
WO2015078341A1 (en) Method and device for remotely updating application program
CN104010001B (en) In mobile terminal, the method and system connecting communication is carried out in similar networking request
CN107450954A (en) A kind of user's cloud terminal staging method based on cloud desktop
US20090154374A1 (en) Communication of configuration management notifications in a packet-switched network
GB2575433A (en) Automatic client device registration
CN110166547A (en) Terminal remote access control method
US11218371B2 (en) Method and apparatus for performing communication in internet of things
WO2024002143A1 (en) Root certificate updating method and apparatus
KR20200139521A (en) Method for unidirectional data communication based on opc standard and apparatus for the same
CN102668504B (en) There is the method and apparatus improving the speed of conversion and the encryption key distribution function of quality
KR102170160B1 (en) Apparatus and method for unidirectional data transmission based on opc-ua
CN113721938A (en) Edge-edge cooperative task processing method, device and system suitable for power Internet of things
Mastilak et al. Improved smart gateway in IoT
CN112118284A (en) Gateway device-oriented http data request method, device and medium
US10742480B2 (en) Network management as a service (MaaS) using reverse session-origination (RSO) tunnel
KR101792331B1 (en) Method and System for Transaction in the M2M/IoT Platform

Legal Events

Date Code Title Description
E902 Notification of reason for refusal