KR102624028B1 - 서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격제어를 위한 통신 방법, 장치, 및 시스템 - Google Patents

서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격제어를 위한 통신 방법, 장치, 및 시스템 Download PDF

Info

Publication number
KR102624028B1
KR102624028B1 KR1020230099848A KR20230099848A KR102624028B1 KR 102624028 B1 KR102624028 B1 KR 102624028B1 KR 1020230099848 A KR1020230099848 A KR 1020230099848A KR 20230099848 A KR20230099848 A KR 20230099848A KR 102624028 B1 KR102624028 B1 KR 102624028B1
Authority
KR
South Korea
Prior art keywords
tag
changed
data
devices
identifying
Prior art date
Application number
KR1020230099848A
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 KR1020230099848A priority Critical patent/KR102624028B1/ko
Application granted granted Critical
Publication of KR102624028B1 publication Critical patent/KR102624028B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Abstract

서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격 제어를 위한 통신 방법, 장치, 및 시스템이 개시된다. 일 실시예에 따른 방법은, 복수의 장치들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 상기 장치들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득하는 동작과, HMI(human machine interface)에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별하는 동작과, 상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작을 포함할 수 있다.

Description

서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격 제어를 위한 통신 방법, 장치, 및 시스템{METHOD, APPARATUS, AND SYSTEM FOR COMMUNICATING FOR REMOTE CONTROL OF A PLURALITY OF DEVICES HAVING DIFFERENT COMMUNICATION PROTOCOLS}
아래 개시는 서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격 제어를 위한 통신 방법, 장치, 및 시스템에 관한 것이다.
현재 산업현장에서 쓰이는 HMI의 태그 데이터 베이스의 태그는 단 하나의 디바이스만을 갖는다. 이로 인해, 통신라인이 이중화 되어 있는 시스템에서는 별도의 통신 게이트 웨이가 필요하거나, 각각의 통신라인마다 디바이스와 태그를 등록해야 하는 단점이 있다.
위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
일 실시예는 복수의 장치 간의 데이터를 공유하는 메모리를 이용하여 한 개의 HMI로 데이터를 공유하는 기술을 제공할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 서로 다른 통신 프로토콜(communication protocol)을 갖는 복수의 장치들 간의 통신 방법은, 상기 복수의 장치들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 상기 장치들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득하는 동작과, HMI(human machine interface)에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별하는 동작과, 상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작을 포함할 수 있다. 상기 수신된 데이터, 상기 저장된 데이터, 및 상기 연결된 데이터는, 서로 대응되는 것일 수 있다.
상기 제2 태그를 획득하는 동작은, 상기 복수의 장치들로부터 수신된 데이터가 변경됨에 따라 상기 제1 태그가 변경되는 경우, 변경된 제1 태그에 기초하여, 상기 제2 태그를 업데이트하는 동작을 더 포함할 수 있다.
상기 제2 태그의 변경 여부를 식별하는 동작은, 상기 HMI에 연결된 데이터의 변화에 기초하여, 상기 제3 태그의 변경 여부를 식별하는 동작과, 상기 제3 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그의 변경 여부를 결정하는 동작을 포함할 수 있다.
상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작은, 상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그와 대응되는 상기 제1 태그를 획득하는 동작과, 상기 제1 태그를 상기 제1 태그와 대응되는 상기 장치에 전송하는 동작과, 상기 장치로부터 재 수신된 데이터에 기초하여, 상기 제1 태그를 업데이트하는 동작을 포함할 수 있다.
상기 제1 태그를 업데이트하는 동작은, 업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는지 여부를 식별하는 동작과, 상기 업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는 경우, 제1항 내지 제4항 중 어느 한 항의 방법을 주기적으로 실행하는 동작을 포함할 수 있다.
일 실시예에 따른 서로 다른 통신 프로토콜(communication protocol)을 갖는 복수의 장치들 간의 통신 장치는, 하나 이상의 인스트럭션을 저장하는 메모리와, 상기 인스트럭션을 실행시키기 위한 프로세서를 포함하고, 상기 인스트럭션이 실행될 때, 상기 프로세서는 복수의 동작들을 수행하고, 상기 복수의 동작들은, 상기 복수의 장치들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 상기 장치들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득하는 동작;
HMI(human machine interface)에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별하는 동작과, 상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작을 포함할 수 있다. 상기 수신된 데이터, 상기 저장된 데이터, 및 상기 연결된 데이터는, 서로 대응되는 것일 수 있다.
상기 제2 태그를 획득하는 동작은, 상기 복수의 장치들로부터 수신된 데이터가 변경됨에 따라 상기 제1 태그가 변경되는 경우, 변경된 제1 태그에 기초하여, 상기 제2 태그를 업데이트하는 동작을 더 포함할 수 있다.
상기 제2 태그의 변경 여부를 식별하는 동작은, 상기 HMI에 연결된 데이터의 변화에 기초하여, 상기 제3 태그의 변경 여부를 식별하는 동작과, 상기 제3 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그의 변경 여부를 결정하는 동작을 포함할 수 있다.
상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작은, 상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그와 대응되는 상기 제1 태그를 획득하는 동작과, 상기 제1 태그를 상기 제1 태그와 대응되는 상기 장치에 전송하는 동작과, 상기 장치로부터 재 수신된 데이터에 기초하여, 상기 제1 태그를 업데이트하는 동작을 포함할 수 있다.
상기 제1 태그를 업데이트하는 동작은, 업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는지 여부를 식별하는 동작과, 상기 업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는 경우, 상기 복수의 동작들을 주기적으로 실행하는 동작을 포함할 수 있다.
일 실시예에 따른 통신 시스템은, 서로 다른 통신 프로토콜(communication protocol)을 갖는 복수의 장치들과, HMI(human machine interface)를 제공하는 사용자 단말과, 통신 장치를 포함할 수 있다. 상기 통신 장치는, 상기 복수의 장치들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 상기 장치들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득하고, 상기 HMI에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별하고, 상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트할 수 있다. 상기 수신된 데이터, 상기 저장된 데이터, 및 상기 연결된 데이터는, 서로 대응되는 것일 수 있다.
도 1은 일 실시예에 따른 통신 시스템의 일 예를 나타낸다.
도 2는 도 1에 도시된 통신 시스템의 다른 예를 나타낸다.
도 3은 도 1에 도시된 통신 장치의 일 예를 나타낸다.
도 4는 일 실시예에 따른 제1 내지 제3 태그를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 통신 방법의 흐름도의 일 예를 나타낸다.
도 6은 일 실시예에 따른 전자 장치의 일 예를 나타낸다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 통신 시스템의 일 예를 나타낸다.
도 1을 참조하면, 통신 시스템(100)은 장치(110), 통신 장치(130), 및 사용자 단말(150)을 포함할 수 있다.
도 1에 도시된 통신 시스템(100)은 일 실시예에 불과하며, 통신 시스템(100)은 도 1과 다르게 구성될 수도 있다. 예를 들어, 장치(110)는 복수일 수 있다.
장치(110)는 서로 다른 통신 프로토콜(communication protocol)을 이용하여 통신 장치(130)(또는 사용자 단말(150))과 통신할 수 있다. 예를 들어, 복수의 장치(110)들 중 일부는 유선 통신 프로토콜을 이용하고, 복수의 장치(110)들 중 다른 일부는 무선 통신 프로토콜을 이용할 수 있다.
사용자 단말(150)은 HMI(human machine interface)를 제공할 수 있다. 사용자 단말(150)은 예를 들어 스마트 폰, 셀룰러 폰, 퍼스널 컴퓨터, 랩탑, 노트북, 넷북 또는 태블릿, 휴대 정보 단말기(personal digital assistant; PDA), 디지털 카메라, 게임 콘솔, MP3 플레이어, 퍼스널 멀티미디어 플레이어(personal multimedia player; PMP), 전자 북(E-Book), 네비게이션 장치, 또는 가정용 전자기기(home appliance)일 수 있으나, 이에 제한되는 것은 아니다.
태그(tag)(제1 태그, 제2 태그, 및 제3 태그)는 데이터를 의미 있는 단위로 식별하기위해 정의된 것일 수 있다. 예를 들어, 제1 태그는 복수의 장치(110)들로부터 수신된 데이터(data)를 식별하기위해 정의된 것일 수 있다. 제2 태그는 장치(110)들이 서로 공유하는 메모리(memory)(예: 도3의 330-5)에 저장된 데이터를 식별하기 위해 정의된 것일 수 있다. 제3 태그는 HMI에 연결된 데이터를 식별하기 위해 정의된 것일 수 있다. 이때, 제1 태그, 제2 태그, 및 제3 태그에 의해 각각 식별되는 데이터들(복수의 장치(110)들로부터 수신된 데이터, 장치(110)들이 서로 공유하는 메모리(330-5)에 저장된 데이터, 및 HMI에 연결된 데이터를 포함)은 서로 대응되는 것일 수 있다.
태그에 의해 식별되는 데이터가 변경되는 경우, 변경된 데이터에 대응되는 태그의 값 또한 변경될 수 있다. 예를 들어, 복수의 장치(110)들로부터 수신된 데이터가 변경되는 경우, 제1 태그의 값이 변경될 수 있다.
통신 장치(130)는 복수의 장치(110)들과 사용자 단말(150) 간의 데이터를 통신(또는 전송, 수신)함에 있어, 각각의 데이터(장치(110)로부터 수신된 데이터, 공유 메모리(330-5)에 저장된 데이터, 및 HMI에 연결된 데이터)에 대응되는 태그(제1 태그, 제2 태그, 및 제3 태그)를 이용할 수 있다. 통신 장치(130)는 태그(제1 태그, 제2 태그, 및 제3 태그)의 값 중 어느 하나가 변경되는 이벤트가 발생할 때 마다, 변경된 태그에 맞추어 나머지 태그를 업데이트할 수 있다.
통신 장치(130)는 제1 태그, 및 제2 태그를 획득(또는 설정, 등록)할 수 있다. 통신 장치(130)는 제3 태그의 초기값으로부터 제1 태그, 및 제2 태그를 획득(또는 설정, 등록)할 수 있다. 제3 태그의 초기값은 기존의 HMI 태그(예: 도 3의 350)일 수 있다. 예를 들어, 통신 장치(130)는 기존의 HMI 태그(350)과 동일한 값을 갖는 제1 태그, 및 제2 태그의 값을 획득(또는 설정, 등록)할 수 있다.
통신 장치(130)는 복수의 장치(110)들로부터 수신된 데이터가 변경됨에 따라 제1 태그가 변경되는 경우, 변경된 제1 태그에 기초하여, 제2 태그를 업데이트할 수 있다. 예를 들어, 이전에 획득(또는 설정, 등록)된 제1 태그, 및 제2 태그의 값이 동일할 수 있다. 다만, 장치(110)로부터 수신된 데이터가 변경되는 경우, 제1 태그 또한 변경될 수 있다. 통신 장치(130)는 변경된 제1 태그와 동일한 값을 갖도록 제2 태그를 업데이트(또는 변경)할 수 있다. 업데이트된 제2 태그는 변경된 제1 태그와 동일한 값을 가질 수 있다.
통신 장치(130)는 제3 태그에 기초하여, 제2 태그의 변경여부를 식별할 수 있다. 통신 장치(130)는 HMI에 연결된 데이터의 변화에 기초하여, 제3 태그의 변경 여부를 식별할 수 있다. 통신 장치(130)는 제3 태그가 변경되었다는 식별에 응답하여, 제2 태그의 변경 여부를 결정할 수 있다.
통신 장치(130)는 제2 태그가 변경되었다는 식별에 응답하여, 제1 태그를 변경된 제2 태그와 일치(또는 동일)하도록 업데이트할 수 있다. 예를 들어, 제2 태그가 제3 태그에 의해 변화하는 이벤트가 발생시, 통신이 활성화된 실제 장치(110)를 검색하여 처음 검색된 장치(110)를 통하여 실제 장치(110)의 제1 태그에 값을 적용할 수 있다. 적용된 값(실제 장치(110)의 제1 태그)은 PLC(programmable logic controller)(예: 도 2의 210)같은 통신장비에 적용될 수 있다.
도 2는 도 1에 도시된 통신 시스템의 다른 예를 나타낸다.
도 2를 참조하면, 통신 시스템(100)은 PLC(210), 통신 장치(130), 및 HMI 장치(295)를 포함할 수 있다. PLC(210)는 도 1의 장치(110)일 수 있다. HMI 장치(295)는 도 1의 사용자 단말(150)일 수 있다.
PLC(210)는 통신 장치(130)(또는 HMI 장치(295))와 시리얼 통신 라인(210-1)에 따른 유선 프로토콜로 연결되거나, 이더넷 통신 라인(210-3)에 따른 무선 프로토콜로 연결될 수 있다. 다만, 이에 한정되는 것은 아니고, PLC(210)는 통신 장치(130)와 다른 통신 라인들에 따른 유/무선 프로토콜로 연결될 수 있다.
통신 장치(130)는 시리얼 디바이스 통신 모듈(serial device communication module)(230), 이더넷 디바이스 통신 모듈(ethernet device communication module)(250), 가상 통신 디바이스(270), 및 통합 태그 모듈(290)을 포함할 수 있다.
통신 장치(130)는 시리얼 디바이스 통신 모듈(230)을 통해 시리얼 통신 라인(210-1)에 따른 유선 프로토콜을 갖는 PLC(210)와 통신할 수 있다. 또한, 통신 장치(130)는 이더넷 디바이스 통신 모듈(230)을 통해 이더넷 통신 라인(210-3)에 따른 무선 프로토콜을 갖는 PLC(210)와 통신할 수 있다. 예를 들어, 통신 장치(130)는 시리얼 통신 라인(210-1)을 갖는 PLC(210)로부터 데이터를 수신할 수 있다. 통신 장치(130)는 PLC(210)로부터 수신된 데이터를 시리얼 디바이스 통신 모듈(230)을 통해 제1 태그를 획득할 수 있다.
통신 장치(130)는 PLC(210)와 HMI 장치(295) 간의 데이터를 통신(또는 전송, 수신)함에 있어, 가상 통신 디바이스(270)을 통해 태그(제1 태그, 제2 태그, 및 제3 태그를 포함)를 이용할 수 있다. 이에 대해서는, 도 3을 참조하여 상세히 설명하도록 한다.
도 3은 도 1 및 도 2에 도시된 통신 장치의 일 예를 나타낸다.
도 3을 참조하면, 다중 통신 디바이스(330)는 시리얼 드라이버 태그 모듈(serial driver tag module)(330-1), 이더넷 드라이버 태그 모듈(ethernet driver tag module)(330-3), 공유 메모리(330-5), 및 서버(server)(330-7)를 포함할 수 있다. 다중 통신 디바이스(330)는 도 2의 가상 통신 디바이스(270)이거나, 가상 통신 디바이스(270)와 통합 태그(290)를 포함한 장치일 수 있다.
드라이버(driver)(310)는 시리얼 드라이버(serial driver)(310-1), 및 이더넷 드라이버(ethernet driver)(310-3)를 포함할 수 있다. 드라이버(310)는 장치(예: 도 1의 장치(110), 또는 도 2의 PLC(210))로부터 정해진 통신 프로토콜을 이용하여 데이터를 수신할 수 있다. 드라이버(310)는 장치(110, 또는 210)로부터 수신한 데이터를 다중 통신 디바이스(330)로 전송할 수 있다. 예를 들어, 시리얼 드라이버(310-1)는 PLC(210)로부터 시리얼 통신 프로토콜을 이용하여 데이터를 수신할 수 있다. 또한, 시리얼 드라이버(310-1)는 수신한 데이터를 다중 통신 디바이스(330)로 전송할 수 있다.
다중 통신 디바이스(330)는 드라이버(310)로부터 전송된 데이터를 각각의 태그 모듈(330-1, 및 330-3)을 통해 제1 태그를 획득할 수 있다. 예를 들어, 시리얼 드라이버 태그 모듈(330-1)은 시리얼 드라이버(310-1)로부터 전송된 데이터를 태깅(tagging)하여 제1 태그를 획득할 수 있다.
다중 통신 디바이스(330)는 제3 태그(예: 기존 HMI 태그(350))와 동일한 태그들을 장치(110, 또는 210)에 각각 등록(또는 설정)할 수 있다. 다중 통신 디바이스(330)는 각각의 장치(110, 또는 210)와 공유할 제2 태그를 등록(또는 설정)할 수 있다.
다중 통신 디바이스(330)는 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별할 수 있다. 제2 태그가 변경되지 않은 경우, 다중 통신 디바이스(330)는 제1 태그의 값을 제2 태그에 적용할 수 있다. 제2 태그가 변경된 경우에 대해서는, 이하에서 상세히 설명하도록 한다.
제2 태그가 변경된 경우, 다중 통신 디바이스(330)는 제1 태그를 변경된 제2 태그와 일치하도록 업데이트할 수 있다. 다중 통신 디바이스(330)는 제2 태그가 변경되었다는 식별에 응답하여, 제2 태그와 대응되는 제1 태그를 획득할 수 있다. 다중 통신 디바이스(330)는 제1 태그의 값을 제1 태그와 대응되는 장치(110, 또는 210)에 전송할 수 있다. 다중 통신 디바이스(330)는 장치(110, 또는 210)로부터 데이터를 재 수신할 수 있다. 다중 통신 디바이스(330)는 재 수신된 데이터에 따라 재 수신된 데이터를 식별하기 위한 제1 태그를 업데이트할 수 있다. 다중 통신 디바이스(330)는 업데이트된 제1 태그가 변경된 제2 태그와 일치하는지 여부를 식별할 수 있다. 업데이트된 제1 태그가 변경된 제2 태그와 일치하지 않는 경우, 다중 통신 디바이스(330)는 일치하지 않는 태그의 값을 에러로 처리할 수 있다.
업데이트된 제1 태그가 변경된 제2 태그와 일치하는 경우, 다중 통신 디바이스(330)는 위에서 설명한 동작들을 주기적으로 실행할 수 있다.
도 4는 일 실시예에 따른 제1 내지 제3 태그를 설명하기 위한 도면이다.
도 4를 참조하면, 제1 태그(430)는 복수의 장치(110)들로부터 수신된 데이터(data)를 식별하기위해 정의된 것일 수 있다. 제2 태그(450)는 장치(110)들이 서로 공유하는 메모리(330-5)에 저장된 데이터를 식별하기 위해 정의된 것일 수 있다. 제3 태그(490)는 HMI에 연결된 데이터를 식별하기 위해 정의된 것일 수 있다.
드라이버(310)는 공유 메모리(330-5)에 장치(예: 도 1의 장치(110), 또는 도 2의 PLC(210))로부터 수신한 데이터를 송신할 수 있다. 드라이버 통신 프로세스(410)는 장치(110, 210)의 통신 프로토콜의 종류에 따라 드라이버(310)로부터 수신한 데이터를 각각 태깅하여 제1 태그(430)를 생성할 수 있다.
공유 메모리(330-5)는 제1 태그(430)을 서버(330-7)로 전송할 수 있다. 서버(330-7)는 제1 태그에 대응되는 제2 태그(450)를 저장할 수 있다. 제2 태그(450)에 대응되는 데이터는 노드 아이디(node ID), 밸류(value), 데이터 유형(data type), 및 타임 스탬프(time stamp) 등을 포함할 수 있다.
서버(330-7)는 OPC(OLE(object linking and embedding) for process control)를 기반으로 하는 서버일 수 있다. OPC는 공정 제어, 제조 및 자동화 애플리케이션에 사용하기 위한 표준 인터페이스, 속성 및 방법 세트를 정의할 수 있다. 예를 들어, 서버(330-7)는 분산 제어 시스템, 프로그래밍 가능한 로직 컨트롤러, 입출력(IO) 시스템, 스마트 필드 장치 및 기타 실시간 정보 서버를 포함할 수 있다.
통신 장치(130)는 제2 태그(450)를 서버(330-7)에 등록하여 OPC 드라이버(미도시)를 통해 HMI(350)와 통신할 수 있다.
HMI(350)은 제2 태그와 대응되는 제3 태그를 생성(또는 획득)할 수 있다. 사용자는 HMI(350)이 제공되는 사용자 단말(150)을 통해 제3 태그에 대응되는 데이터를 읽거나 쓸 수 있다.
도 5는 일 실시예에 따른 통신 방법의 흐름도의 일 예를 나타낸다.
도 5를 참조하면, 동작 510 내지 동작 550은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작(510~550)의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 동작 510 내지 동작 550은 도 1 내지 도 4를 참조하여 설명한 통신 장치(예: 도 1의 통신 장치(130))의 동작과 실질적으로 동일할 수 있다. 이에, 상세한 설명은 생략하도록 한다.
동작 510에서, 통신 장치(130)는 복수의 장치(110)들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 장치(110)들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득할 수 있다.
동작 530에서, 통신 장치(130)는 HMI(예: 도 1의 사용자 단말(150))에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 제2 태그의 변경 여부를 식별할 수 있다.
동작 550에서, 통신 장치(130)는 제2 태그가 변경되었다는 식별에 응답하여, 제1 태그를 변경된 제2 태그와 일치하도록 업데이트할 수 있다.
도 6은 일 실시예에 따른 전자 장치의 일 예를 나타낸다.
도 6을 참조하면, 장치(600)는 메모리(610) 및 프로세서(630)를 포함할 수 있다. 장치(700)는 도 1의 통신 장치130)를 포함할 수 있다.
메모리(610)는 프로세서(630)에 의해 실행가능한 인스트럭션들(예: 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(630)의 동작 및/또는 프로세서(630)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(630)는 휘발성 메모리 장치 또는 비휘발성 메모리 장치로 구현될 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.
비휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
프로세서(630)는 메모리(610)에 저장된 데이터를 처리할 수 있다. 프로세서(630)는 메모리(610)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(630)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(630)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
도 1의 통신 장치(130)는 메모리(610)에 저장되어 프로세서(630)에 의해서 실행되거나 프로세서(630)에 임베디드될 수 있다. 프로세서(630)는 도 1 내지 도 5를 참조하여 통신 장치(130)의 동작을 실질적으로 동일하게 수행할 수 있다. 이에 상세한 설명은 생략하도록 한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (11)

  1. 서로 다른 통신 프로토콜(communication protocol)을 갖는 복수의 장치들 간의 통신 방법에 있어서,
    상기 복수의 장치들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 상기 장치들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득하는 동작;
    HMI(human machine interface)에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별하는 동작; 및
    상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작
    을 포함하고,
    상기 수신된 데이터, 상기 저장된 데이터, 및 상기 연결된 데이터는,
    서로 대응되는 것이고,
    상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작은,
    상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그와 대응되는 상기 제1 태그를 획득하는 동작;
    상기 제1 태그를 상기 제1 태그와 대응되는 상기 장치에 전송하는 동작; 및
    상기 장치로부터 재 수신된 데이터에 기초하여, 상기 제1 태그를 업데이트하는 동작
    을 포함하는, 통신 방법.
  2. 제1항에 있어서,
    상기 제2 태그를 획득하는 동작은,
    상기 복수의 장치들로부터 수신된 데이터가 변경됨에 따라 상기 제1 태그가 변경되는 경우, 변경된 제1 태그에 기초하여, 상기 제2 태그를 업데이트하는 동작
    을 더 포함하는, 통신 방법.
  3. 제1항에 있어서,
    상기 제2 태그의 변경 여부를 식별하는 동작은,
    상기 HMI에 연결된 데이터의 변화에 기초하여, 상기 제3 태그의 변경 여부를 식별하는 동작; 및
    상기 제3 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그의 변경 여부를 결정하는 동작
    을 포함하는 통신 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 태그를 업데이트하는 동작은,
    업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는지 여부를 식별하는 동작; 및
    상기 업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는 경우, 제1항 내지 제3항 중 어느 한 항의 방법을 주기적으로 실행하는 동작
    을 포함하는, 통신 방법.
  6. 서로 다른 통신 프로토콜(communication protocol)을 갖는 복수의 장치들 간의 통신 장치에 있어서,
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 인스트럭션을 실행시키기 위한 프로세서
    를 포함하고,
    상기 인스트럭션이 실행될 때, 상기 프로세서는 복수의 동작들을 수행하고,
    상기 복수의 동작들은,
    상기 복수의 장치들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 상기 장치들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득하는 동작;
    HMI(human machine interface)에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별하는 동작; 및
    상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작
    을 포함하고,
    상기 수신된 데이터, 상기 저장된 데이터, 및 상기 연결된 데이터는,
    서로 대응되는 것이고,
    상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하는 동작은,
    상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그와 대응되는 상기 제1 태그를 획득하는 동작;
    상기 제1 태그를 상기 제1 태그와 대응되는 상기 장치에 전송하는 동작; 및
    상기 장치로부터 재 수신된 데이터에 기초하여, 상기 제1 태그를 업데이트하는 동작
    을 포함하는, 통신 장치.
  7. 제6항에 있어서,
    상기 제2 태그를 획득하는 동작은,
    상기 복수의 장치들로부터 수신된 데이터가 변경됨에 따라 상기 제1 태그가 변경되는 경우, 변경된 제1 태그에 기초하여, 상기 제2 태그를 업데이트하는 동작
    을 더 포함하는, 통신 장치.
  8. 제6항에 있어서,
    상기 제2 태그의 변경 여부를 식별하는 동작은,
    상기 HMI에 연결된 데이터의 변화에 기초하여, 상기 제3 태그의 변경 여부를 식별하는 동작; 및
    상기 제3 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그의 변경 여부를 결정하는 동작
    을 포함하는 통신 장치.
  9. 삭제
  10. 제6항에 있어서,
    상기 제1 태그를 업데이트하는 동작은,
    업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는지 여부를 식별하는 동작; 및
    상기 업데이트된 제1 태그가 상기 변경된 제2 태그와 일치하는 경우, 상기 복수의 동작들을 주기적으로 실행하는 동작
    을 포함하는, 통신 장치.
  11. 통신 시스템에 있어서,
    서로 다른 통신 프로토콜(communication protocol)을 갖는 복수의 장치들;
    HMI(human machine interface)를 제공하는 사용자 단말; 및
    통신 장치를 포함하고,
    상기 통신 장치는,
    상기 복수의 장치들로부터 수신된 데이터를 식별하기 위한 제1 태그, 및 상기 장치들이 서로 공유하는 메모리에 저장된 데이터를 식별하기 위한 제2 태그를 획득하고, 상기 HMI에 연결된 데이터를 식별하기 위한 제3 태그에 기초하여, 상기 제2 태그의 변경 여부를 식별하고, 상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제1 태그를 변경된 제2 태그와 일치하도록 업데이트하고,
    상기 수신된 데이터, 상기 저장된 데이터, 및 상기 연결된 데이터는,
    서로 대응되는 것이고,
    상기 통신 장치는,
    상기 제2 태그가 변경되었다는 식별에 응답하여, 상기 제2 태그와 대응되는 상기 제1 태그를 획득하고,
    상기 제1 태그를 상기 제1 태그와 대응되는 상기 장치에 전송하고,
    상기 장치로부터 재 수신된 데이터에 기초하여, 상기 제1 태그를 업데이트하는, 통신 시스템.
KR1020230099848A 2023-07-31 2023-07-31 서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격제어를 위한 통신 방법, 장치, 및 시스템 KR102624028B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230099848A KR102624028B1 (ko) 2023-07-31 2023-07-31 서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격제어를 위한 통신 방법, 장치, 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230099848A KR102624028B1 (ko) 2023-07-31 2023-07-31 서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격제어를 위한 통신 방법, 장치, 및 시스템

Publications (1)

Publication Number Publication Date
KR102624028B1 true KR102624028B1 (ko) 2024-01-12

Family

ID=89541595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230099848A KR102624028B1 (ko) 2023-07-31 2023-07-31 서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격제어를 위한 통신 방법, 장치, 및 시스템

Country Status (1)

Country Link
KR (1) KR102624028B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101568934B1 (ko) * 2014-05-12 2015-11-13 엘에스산전 주식회사 Hmi의 태그 연산 처리 방법
KR20190135724A (ko) * 2018-05-29 2019-12-09 엘에스산전 주식회사 Hmi 장치 및 hmi 장치의 데이터 출력방법
KR102516062B1 (ko) * 2022-09-05 2023-03-30 주식회사 투비콤 현장 설비 시스템을 관리하는 hmi를 통해 전산 장비를 통합 관리하기 위한 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101568934B1 (ko) * 2014-05-12 2015-11-13 엘에스산전 주식회사 Hmi의 태그 연산 처리 방법
KR20190135724A (ko) * 2018-05-29 2019-12-09 엘에스산전 주식회사 Hmi 장치 및 hmi 장치의 데이터 출력방법
KR102516062B1 (ko) * 2022-09-05 2023-03-30 주식회사 투비콤 현장 설비 시스템을 관리하는 hmi를 통해 전산 장비를 통합 관리하기 위한 시스템

Similar Documents

Publication Publication Date Title
JP6435398B2 (ja) 端末識別子を促進する方法及びシステム
US20200218474A1 (en) Method and apparatus for performing multi-object transformations on a storage device
US10754869B2 (en) Managing data format of data received from devices in an internet of things network
WO2017167095A1 (zh) 一种模型的训练方法和装置
KR102427267B1 (ko) 저장 장치 레이턴시/대역폭 자가 모니터링을 위한 방법 및 장치
US11733885B2 (en) Transferring computational operations to controllers of data storage devices
US10713330B2 (en) Optimized browser render process
KR20190113555A (ko) 뉴로모픽 가속기 멀티태스킹
US10515228B2 (en) Commit and rollback of data streams provided by partially trusted entities
US20190042488A1 (en) Shared memory controller in a data center
CN109005226A (zh) 服务器中传感器数据的获取方法、获取系统和相关装置
CN107451237A (zh) 序列化与反序列化方法、装置及设备
US20180241749A1 (en) Context-aware device permissioning for hierarchical device collections
KR102624028B1 (ko) 서로 다른 통신 프로토콜을 갖는 복수의 장치들의 원격제어를 위한 통신 방법, 장치, 및 시스템
CN113946854A (zh) 一种文件访问控制方法、装置及计算机可读存储介质
US11030714B2 (en) Wide key hash table for a graphics processing unit
CN104077374B (zh) 一种实现ip盘文件存储的方法及装置
US11620311B1 (en) Transformation of directed graph into relational data
WO2017028721A1 (zh) 分布式文件系统的数据更新方法和装置
US9519527B1 (en) System and method for performing internal system interface-based communications in management controller
KR102028666B1 (ko) 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법
CN107085681A (zh) 鲁棒的计算设备标识框架
US20190377501A1 (en) Data shaping to reduce memory wear in a multi-tenant database
CN114661249B (zh) 数据存储方法、装置、计算机设备和存储介质
US11556790B2 (en) Artificial neural network training in memory

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant