KR102348849B1 - 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법 - Google Patents

오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법 Download PDF

Info

Publication number
KR102348849B1
KR102348849B1 KR1020200093430A KR20200093430A KR102348849B1 KR 102348849 B1 KR102348849 B1 KR 102348849B1 KR 1020200093430 A KR1020200093430 A KR 1020200093430A KR 20200093430 A KR20200093430 A KR 20200093430A KR 102348849 B1 KR102348849 B1 KR 102348849B1
Authority
KR
South Korea
Prior art keywords
modbus
client
communication
open source
tcp
Prior art date
Application number
KR1020200093430A
Other languages
English (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 KR1020200093430A priority Critical patent/KR102348849B1/ko
Application granted granted Critical
Publication of KR102348849B1 publication Critical patent/KR102348849B1/ko

Links

Images

Classifications

    • H04L67/2842
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • H04L67/2809
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법에 관한 것이다.
본 발명에서는 종래 마스트 모드버스와 직렬 통신으로 연결되는 제2 마스트 모드버스 및 제2 마스트 모드버스로부터 송부받은 토픽을 외부로 발행하는 발행자를 포함하는 추가 컨테이너를 구비하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법이 개시된다.
본 발명인 오픈 소스 클라우드에 기반한 모드버스 응용 객체 저장 플랫폼 및 그 방법은 현재 산업 현장에 구축된 모드버스 시스템을 최대한 수정하지 않고서도 모드버스 데이터를 수집하는 빅데이터 클라우드를 구축할 수 있다. 또한 오픈 소스 클라우드를 기반으로 하여, 본 발명에 사용되는 배포 컨테이너들의 유지 보수가 용이한 장점을 지닌다.

Description

오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법{MODBUS APPLICATION OBJECT STORAGE PLATFORM BASED ON OPEN SOURCE CLOUD AND COMMUNICATION METHOD USING THE SAME}
본 발명은 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법에 관한 것으로서, 보다 구체적으로는 마스터와 MQTT 발행자로 구성되는 추가 컨테이너를 이용하여 오픈 소스 클라우드 플랫폼을 접목하여 기존에 구축된 시스템을 최대한 수정하지 않고 모드버스 데이터를 수집하는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법에 관한 것이다.
표준 모드버스 포트는 RS-232C 호환 직렬 인터페이스를 사용한다. 이 컨트롤러들은 컨트롤러끼리 직접 연결되기도 하지만 컴퓨터의 외장형 모뎀처럼 모뎀을 통하여 연결되기도 한다. 컨트롤러들은 마스터-슬레이브 기법을 이용하여 상호간의 통신을 하는데, 이것은 하나의 장비가 전송을 시작시키고 다른 장비는 상기 요구에 대하여 응답 데이터를 마스터에게 전달함으로써 통신이 이루어진다. 일반적으로 마스터 장비는 호스트 프로세서(일종의 CPU)와 이미 프로그램이 되어 있는 패널로 구성된다. 일반적인 슬레이브 장비들은 프로그램이 가능한 컨트롤러로 구성된다. 마스터는 각각의 슬레이브에 주소를 지정하여 메시지를 모든 슬레이브에게 동시에 전송할 수도 있고, 슬레이브는 자신에게 주어진 메시지에 대하여 응답 메시지를 마스터에 전송할 수 있다.
모드버스 프로토콜은 20세기 이래로 산업 현장에서 꾸준히 이용되어 왔으며, 통신 기술의 발전에 따라 TCP/IP 프로토콜이 추가되는 등의 발전을 거쳤다. 그러나 TCP/IP를 이용한 모드버스 시스템도 서로 다른 지역에 분산된 장비들을 통합적으로 조회하기에는 적합하지 않다. TCP/IP 기반의 모드버스 만으로도 서로 다른 지역의 모드버스 시스템을 하나로 통합할 수는 있지만 시스템을 관리하는 측면에서도 용이하지 않고 데이터 수집에 필요한 네트워크 리소스 또한 비대해지는 단점이 있기 때문이다.
한국등록특허 제10-2074916호 (2020.02.03 등록)
본 발명은 상기와 같은 문제점을 해결하고자 하는 것으로서, 종래 모드버스 시스템에 오픈 소스 클라우드 플랫폼을 접목하여 종래 구축된 모드버스 시스템에 최소한의 수정만을 가하여 모드버스 데이터를 수집할 수 있는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법을 제공하는 것을 목적으로 한다. TCP/IP 기반의 모드버스 만으로도 서로 다른 지역의 모드버스 시스템을 하나로 통합할 수는 있지만, 시스템을 관리하는 측면에서도 용이하지 않고 데이터 수집에 필요한 네트워크 리소스 또한 비대해지는 단점이 있다. 이를 오픈 소스 클라우드 플랫폼을 접목하여 기존에 구축된 시스템을 최대한 수정하지 않고 모드버스 데이터를 수집하는 것을 목적으로 한다.
본 발명의 상기 목적은 직렬 통신으로 연결되는 복수 개 슬레이브 모드버스 및 제1 마스트 모드버스로 구성되는 제1 직렬 통신 모드버스 시스템 및 제1 마스트 모드버스와 직렬 통신으로 연결되는 추가 컨테이너로 구성되고, 추가 컨테이너는 제1 마스트 모드버스와 직렬 통신으로 연결되는 제2 마스트 모드버스 및 제2 마스트 모드버스로부터 송부받은 토픽을 외부로 발행하는 발행자를 포함하고, 제1 마스트 모드버스는 상기 제2 마스트 모드버스와 통신할 때 슬레이브로 동작하는 것을 특징으로 하는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼에 의하여 달성 가능하다.
본 발명의 상기 목적은 TCP/IP 통신으로 연결되는 복수 개 서버 모드버스 및 제1 클라이언트 모드버스로 구성되는 제1 TCP/IP 통신 모드버스 시스템 및 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 추가 컨테이너로 구성되고, 추가 컨테이너는 상기 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 제2 클라이언트 모드버스 및 제2 클라이언트 모드버스로부터 송부받은 토픽을 외부로 발행하는 발행자를 포함하고, 제1 클라이언트 모드버스는 상기 제2 클라이언트 모드버스와 통신할 때 서버로 동작하는 것을 특징으로 하는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼에 의해서도 달성 가능하다.
본 발명의 상기 목적은 TCP/IP 통신으로 연결되는 복수 개 서버 모드버스 및 제1 클라이언트 모드버스와, 직렬 통신으로 연결되는 복수 개 슬레이브 및 복수 개 상기 슬레이브 모드버스와 복수 개 상기 서버 모드버스 사이에 구비되며 TCP/IP 통신과 직렬 통신 사이에서 통신 방식을 호환시키는 게이트웨이를 구비하는 제1 직렬 및 TCP/IP 모드버스 시스템 및 상기 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 추가 컨테이너로 구성되고, 추가 컨테이너는 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 제2 클라이언트 모드버스 및 제2 클라이언트 모드버스로부터 송부받은 토픽을 외부로 발행하는 발행자를 포함하고, 제1 클라이언트 모드버스는 상기 제2 클라이언트 모드버스와 통신할 때 서버로 동작하는 것을 특징으로 하는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼에 의해서도 달성 가능하다.
본 발명의 상기 목적은 전술한 어느 하나의 모드버스 응용 객체 저장 플랫폼과, 추가 컨테이너와 통신 연결되는 MQTT 블로커와, MQTT 블로커에서 발행되는 토픽을 수신하는 제1 MQTT 구독자를 포함하는 오픈 소스 클라우드 플랫폼으로 구성되는 빅데이터 데이터베이스 A 및 MQTT 블로커에서 발행되는 토픽을 수신하는 제1 MQTT 구독자를 포함하는 오픈 소스 클라우드 플랫폼으로 구성되는 빅데이터 데이터베이스 B를 포함하는 것을 특징으로 하는 모드버스 응용 객체 저장 플랫폼을 포함하는 오픈 소스 클라우드 연동 시스템에 의해서도 달성 가능하다.
본 발명의 또 다른 목적은 전술한 모드버스 응용 객체 저장 플랫폼을 포함하는 오픈 소스 클라우드 연동 시스템을 이용한 통신 방법으로서, 전술한 어느 하나의 모드버스 응용 객체 저장 플랫폼에 데이터 수집을 위한 응용프로그램 세트가 담긴 컨테이너를 연동하는 제1단계와, 제1단계에서 연동된 모드버스 Master를 통해 모드버스 데이터를 수집하고 MQTT로 발행하는 제2단계와, 오픈 소스 클라우드에서 구동되는 MQTT 구독자에서 데이터를 수집하는 제3단계 및 상기 수집된 데이터를 클라우드에서 구동 중인 빅데이터 DB에 저장하는 제4단계를 포함하는 것을 특징으로 하는 오픈 소스 클라우드 연동 시스템을 이용한 통신 방법에 의해서도 달성 가능하다.
본 발명인 오픈 소스 클라우드에 기반한 모드버스 응용 객체 저장 플랫폼 및 그 방법은 현재 산업 현장에 구축된 모드버스 시스템을 최대한 수정하지 않고서도 모드버스 데이터를 수집하는 빅데이터 클라우드를 구축할 수 있다. 또한 오픈 소스 클라우드를 기반으로 하여, 본 발명에 사용되는 배포 컨테이너들의 유지 보수가 용이한 장점을 지닌다.
도 1은 제1 직렬 통신 모드버스 시스템에 마스타와 MQTT 발행자로 구성되는 추가 컨테이너를 부가한 모드버스 응용 객체 저장 플랫폼 구성도.
도 2는 제1 TCP/IP 통신 모드버스 시스템에 클라이언트와 MQTT 발행자로 구성되는 추가 컨테이너를 부가한 모드버스 응용 객체 저장 플랫폼 구성도.
도 3은 제1 직렬 및 TCP/IP 통신 모드버스 시스템에 클라이언트와 MQTT 발행자로 구성되는 추가 컨테이너를 부가한 모드버스 응용 객체 저장 플랫폼 구성도.
도 4는 모드버스 산업 현장과 오픈 소스 클라우드 플랫폼의 통신 방식에 대한 설명도.
도 5는 오픈 소스 클라우드 내에서 모드버스 데이터를 저장하는 방식 설명도.
도 6은 도 1 내지 도 3에 제시된 모드버스 시스템에 추가 컨터이너를 부가하고 오픈 소스 클라우드 플랫폼에 연동한 모드버스 응용 객체 저장 플랫폼을 포함하는 오픈 소스 클라우드 연동 시스템 구성도.
본 발명에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에서, "~ 상에 또는 ~ 상부에" 라 함은 대상 부분의 위 또는 아래에 위치함을 의미하는 것이며, 반드시 중력 방향을 기준으로 상 측에 위치하는 것을 의미하는 것은 아니다. 또한, 영역, 판 등의 부분이 다른 부분 "상에 또는 상부에" 있다고 할 때, 이는 다른 부분 "바로 상에 또는 상부에" 접촉하여 있거나 간격을 두고 있는 경우뿐 아니라 그 중간에 또 다른 부분이 있는 경우도 포함한다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
모드버스는 산업 현장에서 PLC(Programmable Logic Controller)의 데이터를 조회하고 제어하기 위한 프로토콜로 사용되고 있다. 모드버스는 Slave/Master의 형태로 통신하며, 표준으로 RTU 연결 및 TCP/IP 연결을 지원한다. 모드버스는 데이터를 조회하기 위해 하나의 Master가 연결된 모든 Slave에게 각각 폴링하는 방법을 택하고 있다.
한편, 오픈 소스 클라우드 플랫폼은 기본적으로 Linux 운영체제의 컨테이너 시스템을 활용한다. 컨테이너는 내부에 있는 응용프로그램 또는 그 외의 무언가를 현재 구동중인 운영체제로부터 독립시켜 실행한다. 이에 따라 컨테이너의 형태로 배포되는 응용프로그램 또는 시스템은 서로 다른 환경에서도 유사한 실행 결과를 기대할 수 있다. 또한 오픈 소스 클라우드 플랫폼의 컨테이너 기능은 클라우드 연결을 통한 애플리케이션의 버전 갱신 및 관리 등의 기능을 대부분 지원하는 것이 장점이다.
본 발명은 각각의 산업 현장에 이미 구축된 모드버스 시스템에 클라우드 기반의 컨테이너를 이용하여 최종적으로 빅데이터 DB에 모드버스 응용 객체, 즉 수집 데이터를 저장하고자 한다. 이는 종래 모드버스 TCP/IP 만으로 불가능하지는 않으나, 개별 산업 현장에 구축된 시스템의 상위에 추가적인 모드버스 시스템을 구축할 경우 보안적인 측면에서의 문제는 물론 네트워크 리소스 측면에서도 부적합하다. 모드버스는 데이터 조회에 있어 폴링 방식을 택하고 있으므로 데이터를 수집하여 주기적으로 저장하기 위해서는 하위에 장비의 수가 증가할수록 네트워크 리소스를 크게 소모할 수밖에 없다. 이는 서로 다른 지역의 시스템을 다수 개 연동하는 경우 시스템 전체의 가용성에 문제를 일으킬 여지가 있다. 본 발명은 종래 모드버스 TCP/IP 구조를 데이터 수집에 사용하는 대신 오픈 소스 클라우드를 접목하여 이러한 문제를 해결하고자 한다.
본 발명에 따른 오픈 소스 클라우드에 기반한 모드버스 응용 객체 저장 플랫폼 및 그 방법은, 이미 구축된 모드버스 시스템에 데이터 수집을 위한 응용프로그램 세트가 담긴 컨테이너를 연동하는 제1단계, 제1단계에서 연동된 모드버스 Master를 통해 모드버스 데이터를 수집하고 MQTT로 발행하는 제2단계, 오픈 소스 클라우드에서 구동되는 MQTT 구독자에서 데이터를 수집하는 제3단계, 수집된 데이터를 클라우드에서 구동 중인 빅데이터 DB에 저장하는 제4단계를 포함하는 것을 특징으로 한다.
모드버스는 Slave/Master 구조로 통신하며, 본 발명의 목적인 데이터 수집의 경우 Master가 연결된 Slave 장비에 데이터를 요청하여 응답받는 폴링의 형태이다. 모드버스는 다계층 구조를 지원하므로 상위 Slave가 하위 Slave에 데이터를 응답하고 제어할 수 있다. 종래 모드버스 시스템에 연동하는 컨테이너는 모드버스 Slave 응용프로그램과 MQTT 발행자로 구성되어 있으며, 이중 모드버스 Slave 응용프로그램은 종래 구축된 모드버스 시스템과 연결하여 현장의 모드버스 데이터를 수집한다. 이렇게 수집된 데이터는 주기적으로 연동된 컨테이너 내의 MQTT 발행자를 통해 발행한다.
오픈 소스 클라우드 플랫폼에는 서로 다른 MQTT 발행자로부터 발행된 모드버스 데이터를 수집하기 위한 MQTT 구독자 컨테이너를 구동한다. 해당 MQTT 구독자는 모드버스 시스템이 부착된 MQTT 발행자로부터 모드버스 데이터를 수신하는 경우, 오픈 소스 클라우드 내에서 운용중인 빅데이터 DB에 이를 전송한다.
모드버스는 산업 현장에서 실제 사용되고 있는 프로토콜로서, 새로운 기능의 추가를 위해 종래 모드버스 시스템을 수정하는 것은 위험도가 높다. 따라서 본 발명에서는 오픈 소스 클라우드 플랫폼에서 제공하는 컨테이너 배포 기능을 이용하는 방식을 제안한다.
도 1은 제1 직렬 통신 모드버스 시스템에 마스타와 MQTT 발행자로 구성되는 추가 컨테이너를 부가한 모드버스 응용 객체 저장 플랫폼 구성도이다. 제1 직렬 통신 모드버스 시스템은 상호 직렬통신으로 연결되는 복수 개 모드버스 Slave(제1 ~ 제3 slave)와 한 개의 모드버스 Master(제1 master / 제4 slaver)로 구성된다. 본 발명에서는 제1 직렬 통신 모드버스 시스템에 제2 모드버스 Master 및 MQTT 발행자로 구성되는 추가 컨테이너를 부가하여 모드버스 응용 객체 저장 플랫폼을 형성한다. 추가 컨테이너는 제1 직렬 통신 모드버스 시스템과 통신하기 위한 제2 모드버스 Master 응용프로그램을 내장하고 있으며, 클라우드 플랫폼에 데이터를 송신하기 위한 Modbus 발행자도 구비하고 있다. 추가 컨테이너는 제1 직렬 통신 모드버스 시스템의 하드웨어/소프트웨어적인 개방 수준에 따라 제1 직렬 통신 모드버스 시스템의 Master/Slave 장비 또는 그와 직접 연결된 외부 장비에서 구동된다.
제1 직렬 통신 모드버스 시스템과 추가 컨테이너가 만나는 지점의 개체를 모드버스 '제1 Master / 제4 Slave'와 같이 이중으로 표기하였다. '제1 Master / 제4 Slave'는 제1 직렬 통신 모드버스 시스템에서는 모드버스 Master 역할을 하지만 추가 컨테이너에 대해서는 모드버스 Slave 역할을 하기 때문에 'Master/Slave' 형식으로 나타내었다. 일반적인 모드버스 라이브러리 및 응용프로그램들은 모드버스 Master에 모드버스 Slave 기능을 내장하고 있으므로 구현상 문제점은 없다.
도 2는 제1 TCP/IP 통신 모드버스 시스템에 클라이언트와 MQTT 발행자로 구성되는 추가 컨테이너를 부가한 모드버스 응용 객체 저장 플랫폼 구성도이다. 제1 TCP/IP 통신 모드버스 시스템은 상호 TCP/IP 통신으로 연결되는 복수 개 모드버스 Server(제1 ~ 제3 server)와 한 개의 모드버스 client(제1 cleint / 제4 server)로 구성된다. 본 발명에서는 제1 TCP/IP 통신 모드버스 시스템에 제2 모드버스 client 및 MQTT 발행자로 구성되는 추가 컨테이너를 부가하여 모드버스 응용 객체 저장 플랫폼을 형성한다. 추가 컨테이너는 제1 TCP/IP 통신 모드버스 시스템과 통신하기 위한 제2 모드버스 client 응용프로그램을 내장하고 있으며, 클라우드 플랫폼에 데이터를 송신하기 위한 Modbus 발행자도 구비하고 있다. 추가 컨테이너는 제1 TCP/IP 통신 모드버스 시스템의 하드웨어/소프트웨어적인 개방 수준에 따라 제1 TCP/IP 통신 모드버스 시스템의 client/Slave 장비 또는 그와 직접 연결된 외부 장비에서 구동된다.
제1 TCP/IP 통신 모드버스 시스템의 모드버스 client/server와 추가 컨테이너의 모드버스 client는 TCP/IP로 통신하며, 추가 컨테이너의 모드버스 cleint는 주기적으로 하위 장비들의 데이터를 폴링하여 컨테이너에 내장된 MQTT 발행자로 이송한다. 현장에 적용된 컨테이너는 오픈 소스 클라우드 플랫폼으로부터 배포된 컨테이너이므로 온라인 상태에 있을 경우 서로 다른 현장의 모든 컨테이너가 동일한 버전으로 유지될 수 있다.
도 3은 제1 직렬 및 TCP/IP 통신 모드버스 시스템에 클라이언트와 MQTT 발행자로 구성되는 추가 컨테이너를 부가한 모드버스 응용 객체 저장 플랫폼 구성도이다. 제1 직렬 및 TCP/IP 통신 모드버스 시스템은 상호 TCP/IP 통신으로 연결되는 복수 개 모드버스 Server(제1 ~ 제2 server)와 한 개의 모드버스 client(제1 cleint / 제3 server) 및 게이트웨이와, 게이트웨이와 직렬 통신으로 연결되는 복수 개 모드버스 slave(제1 ~ 제3 slave)로 구성된다.
본 발명에서는 제1 직렬 및 TCP/IP 통신 모드버스 시스템에 제2 모드버스 client 및 MQTT 발행자로 구성되는 추가 컨테이너를 부가하여 모드버스 응용 객체 저장 플랫폼을 형성한다. 추가 컨테이너는 제1 직렬 및 TCP/IP 통신 모드버스 시스템과 통신하기 위한 제2 모드버스 client 응용프로그램을 내장하고 있으며, 클라우드 플랫폼에 데이터를 송신하기 위한 Modbus 발행자도 구비하고 있다. 추가 컨테이너는 제1 직렬 및 TCP/IP 통신 모드버스 시스템의 하드웨어/소프트웨어적인 개방 수준에 따라 제1 직렬 및 TCP/IP 통신 모드버스 시스템의 client/Slave 장비 또는 그와 직접 연결된 외부 장비에서 구동된다.
도 4는 모드버스 산업 현장과 오픈 소스 클라우드 플랫폼의 통신 방식에 대한 설명도이다. 산업 현장의 모드버스 시스템에 연동된 컨테이너는 모드버스 Master 응용프로그램으로 모드버스 데이터를 수집하며 이를 MQTT 발행자에 이송한다. MQTT 발행자는 수집된 모드버스 데이터를 MQTT 프로토콜에 맞게 맵핑하고, 이를 컨테이너에 설정된 MQTT 브로커에 전송한다. MQTT 브로커는 오픈 소스 클라우드 플랫폼에서 개별 컨테이너로 구동되며 이에 접속하기 위한 주소 또는 프로토콜 설정이 변경되는 경우 모드버스 시스템에 배포되는 컨테이너를 수정함으로써 일괄적으로 관리할 수 있다.
도 5는 오픈 소스 클라우드 내에서 모드버스 데이터를 저장하는 방식 설명도이다. 오픈 소스 클라우드 플랫폼 내의 데이터 수집점(MQTT 브로커)에 저장된 모드버스 데이터는 각 빅데이터 DB 플랫폼에 내장시킨 MQTT 구독자를 통해 DB 플랫폼으로 이송된다. 이때 빅데이터 DB 플랫폼 내에서 MQTT 구독자는 개별 컨테이너로 구동되며, 각 빅데이터 DB별로 한 개씩 구동된다. 빅데이터 DB의 임의의 노드에 통합되어 구동될 수 있다. 빅데이터 DB는 오픈 소스 클라우드 플랫폼 내에서 한 개 또는 그 이상의 분산 노드를 통해 데이터를 저장한다.
MQTT 구독자 컨테이너는 MQTT 브로커의 주소 및 프로토콜 설정 정보를 갖고 있으며, 이러한 정보가 변경될 경우 정보가 업데이트된 컨테이너를 재배포하여 플랫폼 내의 접속 정보를 동일하게 유지할 수 있다.
HBase는 데이터의 분산 처리를 위해 사용되는 Hadoop 프레임워크 상에서 동작하는 빅데이터 데이터베이스(DB)이다. Hadoop 프레임워크 전용인 만큼, 빅데이터의 처리(맵리듀스)가 중요한 경우에 주로 사용된다.
모드버스 시스템의 데이터를 가공하여 어떠한 연산 처리를 하고자 할 때 적합하다. MongoDB는 데이터를 하나의 문서 형태로 저장하는 빅데이터 DB이다. 데이터의 내부 구조에 관계없이 저장할 수 있으며, 일반적으로는 JSON으로 변환할 수 있는 key-value의 집합 형태를 띄는 데이터를 주로 저장한다. 모드버스 시스템에서 출력되는 방대한 데이터를 전부 저장하고자 할 때 조금 더 적합하다.
MQTT Broker는 MQTT Publisher에서 발행된 정보가 거쳐가는 중간 지점입니다. MQTT 프로토콜에서 Publisher와 Subscriber는 직접적으로 연결되지 않으므로, Publisher에서 발행한 데이터를 Subscriber에서 수신하는 것을 보장할 수 없다. 대신 MQTT는 Topic이라는 개념으로 데이터를 분류하며, Subscriber가 Topic의 이름을 알고 있다면 Publisher에서 발행하는 데이터를 Broker를 통해 구독할 수 있다.
MQTT Subscriber가 빅데이터 DB에 데이터를 저장하는 방법은 크게 2가지로 나눌 수 있다. 모드버스 시스템에서 수집한 데이터를 이진 형태 그대로 저장하여 추후 데이터를 처리할 때 가공하여 사용하는 방법과, 수집한 데이터의 Function code 및 그에 따른 데이터(Register 값 등)를 XML 또는 JSON으로 규격화하여 저장하는 방법이 있다. 그러나 이는 운영 형태에 따라 달라질 수 있으며, 본 발명에서는 이를 특정하지 않는다.
도 6은 도 1 내지 도 3에 제시된 모드버스 시스템에 추가 컨터이너를 부가하고 오픈 소스 클라우드 플랫폼에 연동한 모드버스 응용 객체 저장 플랫폼을 포함하는 오픈 소스 클라우드 연동 시스템 구성도이다. 도 6의 오픈 소스 클라우드 플랫폼에는 종래 플렛폼과 달리 MQTT broker와 MQTT Subscriber를 구비하여 데이터베이스에 저장할 수 있게 구성하였다.
상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.

Claims (5)

  1. 직렬 통신으로 연결되는 복수 개 슬레이브 모드버스 및 제1 마스트 모드버스로 구성되는 제1 직렬 통신 모드버스 시스템 및
    상기 제1 마스트 모드버스와 직렬 통신으로 연결되는 추가 컨테이너로 구성되고,
    상기 추가 컨테이너는
    상기 제1 마스트 모드버스와 직렬 통신으로 연결되는 제2 마스트 모드버스 및
    상기 제2 마스트 모드버스로부터 송부받은 토픽을 외부로 발행하는 발행자를 포함하고,
    상기 제1 마스트 모드버스는 상기 제2 마스트 모드버스와 통신할 때 슬레이브로 동작하는 것을 특징으로 하는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼.
  2. TCP/IP 통신으로 연결되는 복수 개 서버 모드버스 및 제1 클라이언트 모드버스로 구성되는 제1 TCP/IP 통신 모드버스 시스템 및
    상기 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 추가 컨테이너로 구성되고,
    상기 추가 컨테이너는
    상기 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 제2 클라이언트 모드버스 및
    상기 제2 클라이언트 모드버스로부터 송부받은 토픽을 외부로 발행하는 발행자를 포함하고,
    상기 제1 클라이언트 모드버스는 상기 제2 클라이언트 모드버스와 통신할 때 서버로 동작하는 것을 특징으로 하는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼.
  3. TCP/IP 통신으로 연결되는 복수 개 서버 모드버스 및 제1 클라이언트 모드버스와,
    직렬 통신으로 연결되는 복수 개 슬레이브 모드버스 및
    복수 개 상기 슬레이브 모드버스와 복수 개 상기 서버 모드버스 사이에 구비되며 TCP/IP 통신과 직렬 통신 사이에서 통신 방식을 호환시키는 게이트웨이를 구비하는 제1 직렬 및 TCP/IP 모드버스 시스템 및
    상기 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 추가 컨테이너로 구성되고,
    상기 추가 컨테이너는
    상기 제1 클라이언트 모드버스와 TCP/IP 통신으로 연결되는 제2 클라이언트 모드버스 및
    상기 제2 클라이언트 모드버스로부터 송부받은 토픽을 외부로 발행하는 발행자를 포함하고,
    상기 제1 클라이언트 모드버스는 상기 제2 클라이언트 모드버스와 통신할 때 서버로 동작하는 것을 특징으로 하는 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼.
  4. 제1항 내지 제3항 중에서 선택된 어느 하나의 모드버스 응용 객체 저장 플랫폼과,
    상기 추가 컨테이너와 통신 연결되는 MQTT 블로커와,
    상기 MQTT 블로커에서 발행되는 토픽을 수신하는 제1 MQTT 구독자를 포함하는 오픈 소스 클라우드 플랫폼으로 구성되는 빅데이터 데이터베이스 A 및
    상기 MQTT 블로커에서 발행되는 토픽을 수신하는 제1 MQTT 구독자를 포함하는 오픈 소스 클라우드 플랫폼으로 구성되는 빅데이터 데이터베이스 B를 포함하는 것을 특징으로 하는 모드버스 응용 객체 저장 플랫폼을 포함하는 오픈 소스 클라우드 연동 시스템.
  5. 제4항의 모드버스 응용 객체 저장 플랫폼을 포함하는 오픈 소스 클라우드 연동 시스템을 이용한 통신 방법으로서,
    제1항 내지 제3항 중에서 선택된 어느 하나의 모드버스 응용 객체 저장 플랫폼에 데이터 수집을 위한 응용프로그램 세트가 담긴 컨테이너를 연동하는 제1단계와,
    성가 제1단계에서 연동된 모드버스 Master를 통해 모드버스 데이터를 수집하고 MQTT로 발행하는 제2단계와,
    오픈 소스 클라우드에서 구동되는 MQTT 구독자에서 데이터를 수집하는 제3단계 및
    상기 수집된 데이터를 클라우드에서 구동 중인 빅데이터 DB에 저장하는 제4단계를 포함하는 것을 특징으로 하는 오픈 소스 클라우드 연동 시스템을 이용한 통신 방법.
KR1020200093430A 2020-07-28 2020-07-28 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법 KR102348849B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200093430A KR102348849B1 (ko) 2020-07-28 2020-07-28 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200093430A KR102348849B1 (ko) 2020-07-28 2020-07-28 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법

Publications (1)

Publication Number Publication Date
KR102348849B1 true KR102348849B1 (ko) 2022-01-11

Family

ID=79355466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200093430A KR102348849B1 (ko) 2020-07-28 2020-07-28 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법

Country Status (1)

Country Link
KR (1) KR102348849B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671026B1 (ko) * 2005-10-05 2007-01-19 삼성중공업 주식회사 Tcp/ip 기반의 모드버스 통신 모듈 및 그 구현 방법
US20140173013A1 (en) * 2012-12-19 2014-06-19 Motech Industries, Inc. Method for setting addresses of slave devices in communication network
KR102074916B1 (ko) 2018-08-01 2020-02-07 충북대학교 산학협력단 Rpl 기반 분산 mqtt 브로커 구조

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671026B1 (ko) * 2005-10-05 2007-01-19 삼성중공업 주식회사 Tcp/ip 기반의 모드버스 통신 모듈 및 그 구현 방법
US20140173013A1 (en) * 2012-12-19 2014-06-19 Motech Industries, Inc. Method for setting addresses of slave devices in communication network
KR102074916B1 (ko) 2018-08-01 2020-02-07 충북대학교 산학협력단 Rpl 기반 분산 mqtt 브로커 구조

Similar Documents

Publication Publication Date Title
CN113906723B (zh) 多集群入口
Al-Fuqaha et al. Toward better horizontal integration among IoT services
KR101926394B1 (ko) 클라우드 컴퓨팅 시스템 및 클라우드 시스템에서의 부하 분리 방법
EP2378741B1 (en) Systems and Methods for Conducting Communications Among Components of Multidomain Industrial Automation System
CN107454092A (zh) 一种opcua与dds协议信号转换装置、通信系统及通信方法
CN107077128B (zh) 控制工业设施中的现实世界对象
KR20040103980A (ko) 컨텐츠 전송 네트워크(cdn) 인터네트워킹, 각각의네트워크 및 인터페이스 구성요소를 실행하는 방법
US20200142727A1 (en) Systems and methods for providing availability to resources
EP2378716B1 (en) Systems for conducting communications among components of multidomain industrial automation system
Großmann et al. OPC UA server aggregation—The foundation for an internet of portals
JPH08161212A (ja) 分散トランザクション処理システムにおける最適コミット木作成システム
CN103227839A (zh) 内容分发网络服务器区域自治的管理系统
CN113867230B (zh) 一种Modbus远程操作控制系统
KR20210098219A (ko) 브로커 기반 OPC UA PubSub을 이용한 제조 장비 시스템의 고도화 운용 방법
CN114826869B (zh) 设备管理方法和设备管理系统
da Cunha et al. Proposal for an IoT architecture in industrial processes
EP3703342B1 (en) Dynamic load balancing in network centric process control systems
KR102348849B1 (ko) 오픈 소스 클라우드를 기반으로 하는 모드버스 응용 객체 저장 플랫폼 및 이를 이용한 통신 방법
US20220021667A1 (en) Building management system architecture
US20200252322A1 (en) Device And Method For Managing Inter-Domain Communications Of A Network Node Assigned To The Device Within A Software-Defined Production Network System
EP2942711B1 (en) Dynamic generation of proxy connections
Koprov Streaming machine generated data via the MQTT sparkplug B protocol for smart factory operations
CN105847428A (zh) 一种移动云平台
Patolla et al. An architecture for an automatic integration of IO-Link sensors into a system of systems
CN104980510B (zh) 一种corba分布式应用的透明集群化的方法

Legal Events

Date Code Title Description
GRNT Written decision to grant