KR101792655B1 - 모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체 - Google Patents

모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101792655B1
KR101792655B1 KR1020150066024A KR20150066024A KR101792655B1 KR 101792655 B1 KR101792655 B1 KR 101792655B1 KR 1020150066024 A KR1020150066024 A KR 1020150066024A KR 20150066024 A KR20150066024 A KR 20150066024A KR 101792655 B1 KR101792655 B1 KR 101792655B1
Authority
KR
South Korea
Prior art keywords
monitor
information
request message
monitor information
ethercat
Prior art date
Application number
KR1020150066024A
Other languages
English (en)
Other versions
KR20160133601A (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 KR1020150066024A priority Critical patent/KR101792655B1/ko
Publication of KR20160133601A publication Critical patent/KR20160133601A/ko
Application granted granted Critical
Publication of KR101792655B1 publication Critical patent/KR101792655B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Selective Calling Equipment (AREA)

Abstract

본 발명은 모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체에 관한 것이다. 이러한 본 발명은 EtherCAT 정보, 어플리케이션에서 정의한 디버깅 변수, 어플리케이션의 실행 상태 및 어플리케이션으로부터 출력되는 로그 기록을 포함하는 복수의 모니터 정보 중 선택된 어느 하나의 모니터 정보를 나타하는 식별자를 포함하는 모니터 요청 메시지를 생성하고, 상기 생성된 모니터 요청 메시지를 제어 장치로 전송하는 모바일 장치와, 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하고, 상기 식별자에 대응하는 모니터 정보를 추출하며, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 대응하는 가변 길이 형식으로 포함되는 데이터를 가지는 모니터 응답 메시지를 생성하고, 상기 생성된 모니터 응답 메시지를 상기 모바일 장치로 전송하는 제어 장치와, 이에 따른 방법 및 그 방법이 기록된 컴퓨터 판독 가능한 기록매체를 제공한다.

Description

모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체{Apparatus for remote monitoring in the motion control system, method thereof and computer recordable medium storing the method}
본 발명은 원격 제어 기술에 관한 것으로, 보다 상세하게는, 모션 제어 시스템의 제어 장치 및 그 제어 장치의 슬레이브 장치와 관련된 각 종 정보를 원격으로 모니터하기 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
모션 제어 시스템은 산업 자동화의 한 요소로서 생산 공정의 복잡도가 점점 증가하고 정밀한 제어가 필요해짐에 따라 그 중요성이 높아지고 있다. 따라서 모션 제어 시스템을 효율적으로 사용하고 관리함으로써 기업은 높은 생산성을 얻을 수 있다. 이를 위해서는 모션 제어 시스템의 동작 모니터 기능이 필수적이다. 모니터 기능을 통해 기업은 생산 공정을 분석하는 것뿐만 아니라, 실시간 감시를 통하여 각종 재난, 사고를 사전에 방지함으로써 불필요한 인적, 경제적 손실을 막는 것 또한 가능하다.
한국공개특허 제2014-0062848호 2014년 05월 26일 공개 (명칭: 이동식 용접로봇의 제어시스템)
본 발명의 목적은 모션 제어 시스템의 각 종 정보를 원격에서 모니터 할 수 있도록 하는 모바일 기반의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 원격 모니터를 위한 모바일 장치는 통신을 위한 통신부와, EtherCAT(Ethernet for Control and Automation Technology) 정보, 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 포함하는 복수의 모니터 정보 중 어느 하나를 나타내는 식별자를 포함하는 모니터 요청 메시지를 생성하고, 생성된 모니터 요청 메시지를 상기 통신부를 통해 제어 장치로 전송하도록 제어하는 제어부를 포함한다.
본 발명의 실시예에 따른 원격 모니터를 위한 모바일 장치는 화면 표시를 위한 표시부를 더 포함하며, 상기 제어부는 상기 통신부를 통해 상기 모니터 요청 메시지에 대응하여 상기 식별자에 상응하는 모니터 정보가 가변 길이의 형식으로 포함된 데이터를 가지는 모니터 응답 메시지를 수신하면, 상기 형식에 따라 상기 모니터 정보를 추출하고, 상기 표시부를 통해 추출된 모니터 정보를 표시하는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어부는 상기 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 주기적으로 실행되는 쓰레드를 통해 생성하며, 상기 쓰레드가 실행되는 주기는 상기 모바일 장치와 상기 제어 장치와의 네트워크 상태에 따라 조절되는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어부는 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 사용자의 입력에 따른 비주기적인 이벤트가 발생하는 경우 생성하는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어부는 입력이 모니터 정보의 세부항목을 포함하는 경우, 세부항목을 모니터 정보의 종류에 따라 모니터 요청 메시지의 데이터 필드에 정의하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 원격 모니터를 위한 제어 장치는 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 통신 모듈과, 상기 식별자에 대응하는 모니터 정보를 추출하고, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하여, 상기 생성된 모니터 응답 메시지를 상기 통신 모듈을 통해 상기 모바일 장치로 전송하도록 제어하는 제어 모듈을 포함한다.
본 발명의 실시예에 따른 제어 모듈은 모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면, 상기 식별자를 통해 EtherCAT 정보를 요청하는 것임을 확인하며, 요청된 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택(600)의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 EtherCAT 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어 모듈은 모니터 정보로 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록 중 어느 하나를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면, 상기 식별자를 통해 상기 디버깅 변수 리스트, 상기 디버깅 변수의 값, 상기 실행 상태 및 상기 로그 기록 중 어느 하나의 모니터 정보를 요청하는 것을 확인하고, 통신 스터브(communication stub)에서 상기 요청된 모니터 정보에 상응하는 PLC(Programmable Logic Controller) 객체의 메소드를 호출하며, 상기 호출된 메소드를 이용하여 상기 요청된 모니터 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어 모듈은 상기 모니터 요청 메시지의 데이터 필드에 모니터 정보의 세부항목이 정의되어 있으면, 상기 모니터 정보 중 정의된 세부항목만을 추출하여, 추출된 세부항목이 상기 정의에 따라 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어 모듈은 모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 슬레이브 장치 리스트를 포함하는 모니터 요청 메시지를 수신하면, 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어 모듈은 모니터 정보로 모션 제어 어플리케이션의 디버깅 변수의 값을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 모션 제어 어플리케이션의 디버깅 변수 리스트를 포함하는 모니터 요청 메시지를 수신하면, 통신 스터브에서 상기 디버깅 변수를 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 디버깅 변수 리스트의 디버깅 변수의 값을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 디버깅 변수 리스트의 디버깅 변수의 값을 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 제어 모듈은 모니터 정보로 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 상기 로그 기록의 라인번호를 포함하는 모니터 요청 메시지를 수신하면, 통신 스터브에서 상기 로그 기록을 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 라인번호에 상응하는 로그 기록을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 라인번호에 상응하는 로그 기록을 추출하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 모바일 장치의 원격 모니터를 위한 방법은 EtherCAT 정보, 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 포함하는 복수의 모니터 정보 중 어느 하나를 나타내는 식별자를 가지는 모니터 요청 메시지를 생성하는 단계와, 생성된 모니터 요청 메시지를 제어 장치로 전송하는 단계를 포함한다.
본 발명의 실시예에 따른 원격 모니터를 위한 방법은 상기 모니터 요청 메시지에 대응하여 상기 식별자에 상응하는 모니터 정보가 가변 길이의 형식으로 포함된 데이터를 가지는 모니터 응답 메시지를 수신하는 단계와, 상기 형식에 따라 상기 모니터 정보를 추출하는 단계와, 상기 추출된 모니터 정보를 표시하는 단계;를 더 포함한다.
본 발명의 실시예에 따른 생성하는 단계는 상기 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 주기적으로 실행되는 쓰레드를 통해 생성하는 단계를 포함하며, 상기 쓰레드가 실행되는 주기는 상기 모바일 장치와 상기 제어 장치와의 네트워크 상태에 따라 조절되는 것을 특징으로 한다.
본 발명의 실시예에 따른 생성하는 단계는 상기 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 사용자의 입력에 따른 비주기적인 이벤트가 발생하는 경우 생성하는 것을 특징으로 한다.
본 발명의 실시예에 따른 생성하는 단계는 상기 입력이 모니터 정보의 세부항목을 포함하는 경우, 상기 세부항목을 상기 모니터 정보의 종류에 따라 상기 모니터 요청 메시지의 데이터 필드에 정의하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 제어 장치의 원격 모니터를 위한 방법은 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 단계와, 상기 식별자에 대응하는 모니터 정보를 추출하여, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 단계와, 상기 생성된 모니터 응답 메시지를 상기 통신 모듈을 통해 상기 모바일 장치로 전송하는 단계를 포함한다.
본 발명의 실시예에 따른 생성하는 단계는 모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면, 상기 식별자를 통해 EtherCAT 정보를 요청하는 것임을 확인하며, 요청된 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 EtherCAT 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 생성하는 단계는 모니터 정보로 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록 중 어느 하나를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면, 상기 식별자를 통해 상기 디버깅 변수 리스트, 상기 디버깅 변수의 값, 상기 실행 상태 및 상기 로그 기록 중 어느 하나의 모니터 정보를 요청하는 것을 확인하고, 통신 스터브(communication stub)에서 상기 요청된 모니터 정보에 상응하는 PLC 객체의 메소드를 호출하며, 상기 호출된 메소드를 이용하여 상기 요청된 모니터 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 생성하는 단계는 상기 모니터 요청 메시지의 데이터 필드에 모니터 정보의 세부항목이 정의되어 있으면, 상기 모니터 정보 중 정의된 세부항목만을 추출하여, 추출된 세부항목이 상기 정의에 따라 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 것을 특징으로 한다.
본 발명의 실시예에 따른 생성하는 단계는 모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 슬레이브 장치 리스트를 포함하는 모니터 요청 메시지를 수신하면, 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 생성하는 단계는 모니터 정보로 모션 제어 어플리케이션의 디버깅 변수의 값을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 모션 제어 어플리케이션의 디버깅 변수 리스트를 포함하는 모니터 요청 메시지를 수신하면, 통신 스터브에서 상기 디버깅 변수를 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 디버깅 변수 리스트의 디버깅 변수의 값을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 디버깅 변수 리스트의 디버깅 변수의 값을 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따른 생성하는 단계는 모니터 정보로 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 상기 로그 기록의 라인번호를 포함하는 모니터 요청 메시지를 수신하면, 통신 스터브에서 상기 로그 기록을 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 라인번호에 상응하는 로그 기록을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 라인번호에 상응하는 로그 기록을 추출하는 것을 특징으로 한다.
본 발명의 실시예에 따르면, 전술한 모바일 장치의 원격 모니터를 위한 방법을 실행하는 명령어가 기록된 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명의 실시예에 따르면, 전술한 제어 장치의 원격 모니터를 위한 방법을 실행하는 명령어가 기록된 컴퓨터 판독 가능한 기록매체를 제공한다.
상술한 바와 같은 본 발명에 따르면, 모션 제어 시스템과 관련된 각 종 정보인 모니터 정보를 그 모니터 정보의 종류에 따라 다양한 방식으로 획득하여, 원격으로 모니터할 수 있다.
도 1은 본 발명의 실시예에 따른 원격 모니터를 위한 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 모바일 장치의 구성을 설명하기 위한 블록도이다.
도 3은 도 2의 모바일 장치의 제어부의 동작을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 제어 장치의 구성을 설명하기 위한 블록도이다.
도 5는 도 4의 제어 장치의 제어 모듈의 동작을 설명하기 위한 블록도이다.
도 6은 본 발명의 실시예에 따른 원격 제어 시스템의 원격 모니터링 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 모바일 장치(100)의 원격 모니터 방법을 설명하기 위한 흐름도이다.
도 8 및 도 9는 본 발명의 실시예에 따른 모바일 장치(100)의 원격 모니터 방법에 따른 화면을 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 따른 원격 제어 장치의 원격 제어 방법을 설명하기 위한 흐름도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
그러면, 먼저, 본 발명의 실시예에 따른 원격 모니터 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 원격 모니터를 위한 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 원격 모니터 시스템은 모바일 장치(100), 제어 장치(200) 및 슬레이브 장치(300)을 포함한다. 모바일 장치(100) 및 제어 장치(200)는 네트워크(10)를 통해 연결될 수 있다. 여기서, 네트워크(10)는 근거리 통신망(LAN: Local Area Network), 광역 통신망 (WAN: Wide Area Network) 등이 될 수 있다.
본 발명의 실시예에서 모니터하고자 하는 정보(이하, '모니터 정보'로 칭함)는 모션 제어 어플리케이션의 디버깅 변수와 관련된 정보(리스트, 값), 모션 제어 어플리케이션의 실행 상태, 모션 제어 어플리케이션으로부터 출력되는 로그 기록 및 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보 등을 포함한다. 사용자가 모바일 장치(100)를 조작하여 모니터 정보 중 원하는 정보를 선택하고 선택한 정보를 요청하면, 모바일 장치(100)는 그 모니터 정보에 대한 모니터를 요청하는 모니터 요청 메시지를 네트워크(10)를 통해 제어 장치(200)로 전송한다. 제어 장치(200)는 모니터 요청 메시지에 따라 해당 모니터 정보를 수집하여, 모니터 응답 메시지를 통해 모바일 장치(100)에 제공할 수 있다. 모바일 장치(100)는 수신된 모니터 응답 메시지로부터 모니터 정보를 추출하여 화면으로 표시할 수 있다. 이에 따라, 사용자는 모션 제어 시스템과 관련하여 자신이 원하는 정보를 원격에서 모니터할 수 있다.
한편, 모니터에 따라 필요한 경우, 사용자는 모바일 장치(100)를 통해 제어 메시지를 제어 장치(200)로 전송할 수 있다. 그러면, 제어 장치(200)는 제어 메시지에 따라 복수의 슬레이브 장치(300)를 제어할 수 있다.
전술한 모니터 요청 메시지, 모니터 응답 메시지 및 제어 메시지에 대해서 보다 상세하게 설명하기로 한다. 다음의 표 1은 본 발명의 실시예에 따른 메시지의 형식을 설명하기 위한 것이다.
식별자 필드(OBJ_ID) 데이터 필드(Data Field)
get_variable_list VAR_LIST TYPE_LIST
get_value_list VAR_LIST VAR_
<name1>
VAR_
<name2>
...
get_plc_status STAT
set_plc_status STAT
get_ethercat_status MASTER_STAT SLAVE_NUM SLAVE_STAT_0 SLAVE_STAT_1 ...
get_log LINE_NUM MSG_0 MSG_1 ...

표 1에 도시된 바와 같이, 본 발명의 실시예에 따른 메시지는 식별자 필드 및 데이터 필드를 포함한다. 기본적으로 식별자 필드에 기록된 식별자는 메시지의 종류를 구분하기 위한 것이다. 즉, 식별자에서 'get_'과 같은 표현은 모니터를 위한 메시지이며, 모바일 장치(100)가 제어 장치(200)에 정보를 요청하는 것을 나타낸다. 'set_'과 같은 표현은 제어를 위한 메시지이며, 모바일 장치(100)가 제어 장치(200)를 통해 슬레이브 장치(300)를 제어하도록 하는 메시지임을 나타내다.
삭제
특히, 식별자는 모니터 정보의 종류를 구분하기 위한 것이다. 모니터 정보는 전술한 바와 같이, EtherCAT 정보, 어플리케이션에서 정의한 디버깅 변수 리스트, 디버깅 변수 값, 어플리케이션의 실행 상태 및 어플리케이션으로부터 출력되는 로그 기록을 포함한다. 또한, 본 발명의 실시예에 따른 메시지는 서로 다른 종류의 모니터 정보를 모니터하기 위하여 모니터 정보의 종류에 따라 가변 길이를 가진다. 이에 따라, 데이터 필드는 모니터 정보의 종류에 따라 가변 길이를 가질 수 있다. 이러한 본 발명의 실시예에 따른 메시지는 예컨대, JSON(Java Script Object Notation) 형식으로 이루어질 수 있다.
각각에 대해서 살펴보면, 다음과 같다. 식별자 'get_variable_list'는 제어 장치(200)에서 실행되는 모션 제어 어플리케이션에서 정의한 디버깅 변수를 요청하는 것임을 나타낸다. 또한, 식별자 'get_value_list'는 제어 장치(200)에서 실행되는 모션 제어 어플리케이션에서 정의한 디버깅 변수의 값을 모니터하기 위한 것임을 나타낸다. 또한, 식별자 'get_plc_status'는 모션 제어 어플리케이션의 실행 상태를 모니터하기 위한 것임을 나타낸다. 그리고 식별자 'get_ethercat_status'는 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보를 모니터하기 위한 것임을 나타낸다. 마지막으로 식별자 'get_log'는 모션 제어 어플리케이션으로부터 출력되는 로그 메시지(로그 기록)를 모니터하기 위한 것임을 나타낸다. 한편, 식별자 'set_plc_status'는 모션 제어 어플리케이션의 상태를 지정하여 원격으로 모션 제어 시스템을 제어하기 위한 것임을 나타낸다.
본 발명의 실시예에 따르면, 모바일 장치(100) 및 제어 장치(200) 간에 전술한 형식의 메시지를 송수신하여, 모션 제어 시스템에 대한 각 종 정보를 모니터할 수 있다.
전술한 바와 같이, 모바일 장치(100)는 모니터 요청 메시지를 전송하며, 모니터 요청 메시지에 대응하여 제어 장치(200)는 모니터 응답 메시지를 전송한다. 그러면, 본 발명의 제1 실시예에 따른 모니터 요청 메시지 및 모니터 응답 메시지에 대해서 설명하기로 한다.
모니터 요청 메시지는 기본적으로, 요청하는 모니터 정보를 나타내는 식별자를 식별자 필드에 포함한다. 모니터 응답 메시지는 데이터 필드에 포함된 모니터 정보를 나타내는 식별자를 식별자 필드에 포함하며, 그 모니터 정보가 데이터 필드에 포함된다.
모니터 정보가 모션 제어 어플리케이션의 디버깅 변수 리스트이면, 식별자 'get_variable_list'가 모니터 요청 메시지 및 모니터 응답 메시지의 식별자 필드에 기록된다. 식별자 'get_variable_list'를 가지는 모니터 요청 메시지 및 모니터 응답 메시지는 각각 다음의 표 2 및 표 3과 같다.
식별자 필드(OBJ_ID)
'get_variable_list'
식별자 필드(OBJ_ID) VAR_LIST TYPE_LIST
'get_variable_list' 'axis1_position, axis2_position, axis1_speed, axis2_speed' 'int32, int32, real32, real32'
모바일 장치(100)가 표 2에 보인 바와 같은 식별자 'get_variable_list'가 식별자 필드에 기록된 모니터 요청 메시지를 제어 장치(200)로 전송하여, 모션 제어 어플리케이션의 변수 목록을 요청할 수 있다. 그러면, 제어 장치(200)는 표 3에 보인 바와 같은 모니터 응답 메시지를 모바일 장치(100)로 전달할 것이다. 여기서, 'VAR_LIST' 필드에는 변수 이름이 나열되며, TYPE_LIST 필드에는 변수 타입이 나열된다. 이때, 변수 타입은 'VAR_LIST' 필드에 기재된 변수 이름의 순서와 동일한 순서로 나열되어야 한다.
모니터 정보가 모션 제어 어플리케이션의 디버깅 변수의 값이면, 식별자 'get_value_list'가 모니터 요청 메시지 및 모니터 응답 메시지의 식별자 필드에 기록된다. 식별자 'get_value_list'를 가지는 모니터 요청 메시지 및 모니터 응답 메시지는 각각 다음의 표 4 및 표 5과 같다.
식별자 필드(OBJ_ID) VAR_LIST
'get_value_list' 'axis1_position, axis1_speed'
식별자 필드(OBJ_ID) VAR_LIST VAR_axis1
_position
VAR_
axis1_speed
'get_value_list' axis1_position,
axis1_speed
560000 40.5
모바일 장치(100)가 표 4에 보인 바와 같은 식별자 'get_value_list'가 식별자 필드에 기록된 모니터 요청 메시지를 제어 장치(200)로 전송하여 모션 제어 어플리케이션의 변수의 값을 요청할 수 있다. 그러면, 제어 장치(200)는 표 5에 보인 바와 같은 모니터 응답 메시지를 모바일 장치(100)로 전달할 것이다.
모니터 요청 메시지의 VAR_LIST 필드에는 값을 얻고자 하는 변수들이 나열된다. 이에 따라, 모니터 응답 메시지는 모니터 요청 메시지의 VAR_LIST 필드의 값에 따라 VAR_<name1> 필드, VAR_<name2> 필드 등이 포함될 수 있다. 이때, 모니터 요청 메시지의 VAR_LIST 필드의 값이 'axis1_position, axis1_speed'이기 때문에, 모니터 응답 메시지에 VAR_axis1_position 필드, VAR_axis1_speed 필드 등이 포함되며, 각 필드에는 그 변수의 값이 수납된다.
모니터 정보가 모션 제어 어플리케이션의 실행 상태이면, 식별자 'get_plc_status'가 모니터 요청 메시지 및 모니터 응답 메시지의 식별자 필드에 기록된다. 식별자 'get_plc_status'를 가지는 모니터 요청 메시지 및 모니터 응답 메시지는 각각 다음의 표 6 및 표 7과 같다.
식별자 필드(OBJ_ID)
'get_plc_status'
식별자 필드(OBJ_ID) STAT
'get_plc_status' 'START'
모바일 장치(100)가 표 6에 보인 바와 같은 식별자 'get_plc_status'가 식별자 필드에 기록된 모니터 요청 메시지를 제어 장치(200)로 전송하여, 모션 제어 어플리케이션의 상태 정보를 요청한다. 그러면, 제어 장치(200)는 표 7에 보인 바와 같은 모니터 응답 메시지를 모바일 장치(100)로 전달할 것이다. 이때, STAT 필드에는 상태 정보인 "START", "STOP", "EMPTY", "BROKEN" 등이 포함된다.
모니터 정보가 EtherCAT 정보이면, 식별자 'get_ethercat_status'가 모니터 요청 메시지 및 모니터 응답 메시지의 식별자 필드에 기록된다. 식별자 'get_ethercat_status'를 가지는 모니터 요청 메시지 및 모니터 응답 메시지는 각각 다음의 표 8 및 표 9와 같다.
식별자 필드(OBJ_ID)
'get_ethercat_status'
식별자 필드(OBJ_ID) MASTER_STAT SLAVE_NUM SLAVE_STAT_0 SLAVE_STAT_1
'get_ethercat_status' 'idle, active, 2, 00:10:a7:22:57:da, UP' 2 '1, PREOP, +, RTES Servo Drive' '2, OP, +, RTES Servo Drive'
모바일 장치(100)가 표 8에 보인 바와 같은 식별자 'get_ethercat_status'가 식별자 필드에 기록된 모니터 요청 메시지를 제어 장치(200)로 전송하여, EtherCAT 정보를 요청할 수 있다. 그러면, 제어 장치(200)는 표 9에 보인 바와 같은 모니터 응답 메시지를 모바일 장치(100)로 전달할 것이다.
이때, MASTER_STAT 필드에는 마스터의 정보(제어 장치(200)의 정보)가 수납된다. 수납되는 마스터의 정보는 페이즈(Phase), 활성 상태(Active state), 슬레이브의 수(Number of slaves), 맥 어드레스(MAC address), 링크 상태(Link state) 순서로 포함된다. 예컨대, 표 9의 MASTER_STAT 필드에 기록된 바에 따르면, 페이즈(Phase)는 'idle'이며, 활성 상태(Active state)는 'active'이며, 슬레이브의 수(Number of slaves)는 '2'이며, 맥 어드레스(MAC address)는 '00:10:a7:22:57:da'이며, 링크 상태(Link state)는 'UP'임을 알 수 있다.
또한, SLAVE_NUM 필드에는 슬레이브 장치의 전체 개수가 기록된다. 그리고 슬레이브의 전체 개수에 따라 슬레이브 정보를 포함하는 복수의 슬레이브 필드들(SLAVE_STAT_0, SLAVE_STAT_1, ...)이 포함된다. 이러한 슬레이브 필드 각각에는 해당 슬레이브 장치의 정보가 기록된다. 이때, 슬레이브 필드에는 슬레이브 장치의 정보가 위치(position), 상태(state), 플래그(flag) 및 이름(name) 순으로 포함된다. 예컨대, 표 9의 SLAVE_STAT_1 필드에 따르면, 2번째 슬레이브의 위치(position)는 '2'이고, 상태(state)는 'OP(동작)'이며, 플래그(flag)는 '+'이고, 이름(name)은 'RTES Servo Drive'임을 알 수 있다.
모니터 정보가 로그 기록이면, 식별자 'get_log'가 모니터 요청 메시지 및 모니터 응답 메시지의 식별자 필드에 기록된다. 다음으로, 식별자 'get_log'를 가지는 모니터 요청 메시지 및 모니터 응답 메시지는 각각 다음의 표 10 및 표 11과 같다.
식별자 필드(OBJ_ID)
'get_log'
식별자 필드(OBJ_ID) LINE_NUM MSG_0 MSG_1 ... MSG_49
'get_log' 50 'initialization...' 'setup slave 0' 'Error: Permission denied'
모바일 장치(100)가 표 10에 보인 바와 같은 식별자 'get_log'가 식별자 필드에 기록된 모니터 요청 메시지를 제어 장치(200)로 전송하여, 모션 제어 시스템의 로그 메시지를 요청할 수 있다. 그러면, 제어 장치(200)는 표 11에 보인 바와 같은 모니터 응답 메시지를 모바일 장치(100)로 전달할 것이다. LINE_NUM 필드에는 전송되는 메시지의 전체 개수가 기록된다. 그리고 각각의 메시지 필드(MSG_0 내지 MSG_49)에는 해당하는 메시지가 기록된다.
다음으로, 식별자 'set_plc_status'를 가지는 제어 메시지는 다음의 표 12와 같다.
식별자 필드(OBJ_ID) STAT
'set_plc_status' "STOP"
모바일 장치(100)가 표 12에 보인 바와 같은 식별자 'set_plc_status'가 식별자 필드에 기록된 제어 메시지를 제어 장치(200)로 전송하여 모션 제어 어플리케이션의 상태를 변경할 수 있다. 이러한 STAT 필드에는 "START", "STOP", "EMPTY", "BROKEN" 등과 같은 변경하고자 하는 상태 정보가 기록되며, 제어 장치(200)는 이에 따라 상태를 변경할 것이다.
이제까지 제1 실시예에 따른 모니터 요청 메시지 및 응답 메시지에 대해서 살펴보았다. 다음으로, 본 발명의 제2 실시예에 대해 설명하기로 한다. 제2 실시예는 제1 실시예의 대안으로, 모니터 요청 메시지에서 모니터를 원하는 세부항목 중 일부만을 요청하여 해당 세부항목에 대한 정보만을 모니터 응답 메시지를 통해 획득하는 것을 요지로 한다.
일예로, 모니터 정보가 로그 기록이면, 식별자 'get_log'가 모니터 요청 메시지 및 모니터 응답 메시지의 식별자 필드에 기록된다. 다음으로, 식별자 'get_log'를 가지는 모니터 요청 메시지는 다음의 표 13 혹은 표 14와 같고, 모니터 응답 메시지는 다음의 표 15와 같다.
식별자 필드(OBJ_ID) LINE_NUM
'get_log' '0', '2'
식별자 필드(OBJ_ID) LINE_NUM MSG_0 MSG_2
'get_log' '0', '2'
식별자 필드(OBJ_ID) LINE_NUM MSG_0 MSG_2
'get_log' '0', '2' 'initialization...' 'setup slave 0'
모바일 장치(100)는 표 13에 보인 바와 같이, 식별자 필드에 식별자 'get_log'가 기록되고 LINE_NUM 필드에 '0' 및 '2'가 기록된 모니터 요청 메시지를 제어 장치(200)로 전송하여, 모션 제어 시스템의 로그 메시지 중 첫 번째 및 세 번째 라인의 로그 메시지를 요청할 수 있다. 이때, 표 13에 대한 대안으로 표 14와 같이, 모니터 요청 메시지에 요청하는 특정 값이 수납되는 필드가 추가로 정의될 수도 있다. 즉, LINE_NUM 필드에 기록된 '0', '2'에 대응하는 로그 메시지가 수납될 필드(MSG_0, MSG_2)가 추가로 정의될 수 있다. 모니터 요청 메시지에 따라, 제어 장치(200)는 표 15에 보인 바와 같은 모니터 응답 메시지를 모바일 장치(100)로 전달할 것이다. LINE_NUM 필드에는 전송되는 메시지에 포함된 로그 메시지의 라인 번호가 기록되며, 해당 메시지 필드(MSG_0, MSG_2)에는 해당하는 로그 메시지가 기록된다.
다른 예로, 모니터 정보가 EtherCAT 정보이면, 식별자 'get_ethercat_status'가 모니터 요청 메시지 및 모니터 응답 메시지의 식별자 필드에 기록된다. 다음으로, 식별자 'get_ethercat_status'를 가지는 모니터 요청 메시지는 다음의 표 16 혹은 표 17과 같고, 모니터 응답 메시지는 다음의 표 18와 같다.
식별자 필드(OBJ_ID) SLAVE_NUM
'get_ethercat_status' '0', '2'
식별자 필드(OBJ_ID) SLAVE_NUM SLAVE_STAT_0 SLAVE_STAT_2
'get_ethercat_status' '0', '2'
식별자 필드(OBJ_ID) SLAVE_NUM SLAVE_STAT_0 SLAVE_STAT_2
'get_ethercat_status' '0', '2' '1, PREOP, +, RTES Servo Drive' '2, OP, +, RTES Servo Drive'
모바일 장치(100)는 표 16에 보인 바와 같이, 식별자 필드에 식별자 'get_ethercat_status'가 기록되고, 추가로, SLAVE_NUM 필드에 '0' 및 '2'가 기록된 모니터 요청 메시지를 제어 장치(200)로 전송하여, 첫 번째 및 세 번째 슬레이브 장치의 EtherCAT 정보를 요청할 수 있다. 이는 제1 실시예의 SLAVE_NUM 필드가 슬레이브 장치의 전체 개수를 기록하는 것과 차이가 있다. 이때, 표 16에 대한 대안으로 표 17과 같이, 모니터 요청 메시지에 요청하는 특정 값이 수납되는 필드가 추가로 정의될 수도 있다. 즉, 표 17의 SLAVE_NUM 필드에 기록된 슬레이브 장치 번호에 대응하여 슬레이브 장치의 EtherCAT 정보가 수납되는 필드(SLAVE_STAT_0 및 SLAVE_STAT_2)가 정의될 수 있다. 모니터 요청 메시지에 따라, 제어 장치(200)는 표 18에 보인 바와 같은 모니터 응답 메시지를 모바일 장치(100)로 전달할 것이다. 표 18에 따르면, SLAVE_NUM 필드에는 모니터 요청 메시지가 요청한 슬레이브 장치 번호가 기록되며, 이에 대응하여 SLAVE_STAT_0 및 SLAVE_STAT_1 필드에는 해당 슬레이브 장치의 EtherCAT 정보가 기록된다.
전술한 바와 같이, 모니터 요청 메시지 및 모니터 응답 메시지는 모니터 정보의 종류에 따라 상이한 형식을 가지며, 모니터 정보의 종류에 따른 형식은 모바일 장치(100) 및 제어 장치(200) 각각에 미리 알려져 있다. 즉, 모바일 장치(100) 및 제어 장치(200)는 모니터 정보 종류에 따른 형식을 미리 저장할 수 있다. 이에 따라, 모바일 장치(100) 및 제어 장치(200)는 알려진 형식에 기초하여 모니터 요청 메시지 혹은 응답 메시지를 생성(인코딩)하고, 메시지로부터 필요한 정보를 추출(디코딩)한다.
다음으로, 본 발명의 실시예에 따른 원격 모션 제어 시스템의 모바일 장치의 구성을 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 모바일 장치의 구성을 설명하기 위한 블록도이다. 또한, 도 3은 도 2의 모바일 장치의 제어부의 동작을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 모바일 장치(100)는 기본적으로, 자체로 동작하는 스탠드얼론(stand-alone) 장치가 될 수 있다. 대표적으로, 모바일 장치(100)는 스마트폰을 예시할 수 있다. 그 밖에, 모바일 장치(100)는 태블릿 PC, 패블릿 PC, PDA, 노트북 등을 예시할 수 있다. 이러한 모바일 장치(100)는 통신부(110), 입력부(120), 표시부(130), 저장부(140) 및 제어부(150)을 포함한다.
통신부(110)는 모바일 장치(100)의 무선 통신을 위한 것이며, 메시지를 무선의 신호(Radio Frequency Signal)를 통해 전송하고 수신하는 기능을 수행한다. 통신부(110)은 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 또한, 통신부(110)는 무선 채널을 통해 제어부(150)로부터 입력되는 메시지를 전송하거나, 무선 채널을 통해 메시지를 수신하여 제어부(150)로 전달할 수 있다. 이러한 메시지는 모니터 요청 메시지, 모니터 응답 메시지, 제어 메시지, 확인 메시지 등을 포함할 수 있다.
입력부(120)은 모바일 장치(100)을 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(150)에 전달한다. 입력부(120)은 전원 on/off를 위한 전원 키를 비롯한 각 종 키 등을 포함할 수 있다. 이러한 키는 모바일 장치(100)의 소정 영역에 형성될 수 있다. 입력부(120)의 각 종 키들의 기능이 표시부(130)에서 이루어질 수 있으며, 표시부(130)만으로 모든 기능을 수행할 수 있는 경우, 입력부(120)는 생략될 수도 있다.
표시부(130)는 모바일 장치(100)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(130)는 모바일 장치(100)의 부팅 화면, 대기 화면, 메뉴 화면, 기타 어플리케이션 화면을 출력하는 기능을 수행할 수 있다. 특히, 표시부(130)는 본 발명의 실시예에 따른 원격 모니터 및 제어를 위한 각 종 정보를 화면으로 표시할 수 있다. 표시부(130)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. 한편, 표시부(130)는 터치스크린으로 구현될 수 있다. 이러한 경우, 표시부(130)는 터치센서를 포함한다. 터치센서는 사용자의 터치 입력을 감지한다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(150)로 전송한다. 이러한 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함될 수 있다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(150)로 전송할 수 있다.
저장부(140)는 모바일 장치(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 모바일 장치(100)의 전반적인 동작을 제어하는 프로그램 및 모바일 장치(100)을 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 모바일 장치(100)의 사용에 따라 발생하는 사용자 데이터가 저장되는 영역이다. 데이터 영역에 저장되는 데이터는 기본적으로 모니터 요청 메시지 및 모니터 응답 메시지의 모니터 정보에 따른 식별자 및 데이터 필드의 형식을 포함한다. 또한, 저장부(140)는 모바일 장치(100)가 수신하는 각 종 데이터를 저장할 수 있다. 이러한 데이터는 디버깅 변수 정보, 실행 상태, 로그 메시지 및 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보 등을 포함할 수 있다. 저장부(140)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어부(150)은 모바일 장치(100)의 전반적인 동작 및 모바일 장치(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(150)은 중앙 처리 장치(Central Processing Unit : CPU), 어플리케이션 프로세서(Application Processor) 등이 될 수 있다.
그러면, 제어부(150)의 동작에 대해서 도 3을 참조하여 보다 상세하게 설명하기로 한다. 제어부(150)는 통신처리유닛(151), 전송메시지처리유닛(153) 및 수신메시지처리유닛(155)을 포함한다. 기본적으로, 통신처리유닛(151)은 통신부(110)를 통해 메시지를 전송하거나, 통신부(110)를 통해 메시지를 수신하는 역할을 수행한다. 예컨대, 통신처리유닛(151)은 전송메시지처리유닛(153)으로부터 입력되는 모니터 요청 메시지를 통신부(110)를 통해 제어 장치(200)로 전송할 수 있다. 또한, 통신처리유닛(151)은 통신부(110)를 통해 모니터 응답 메시지를 수신하면, 이를 수신메시지처리유닛(155)에 전달한다. 전송메시지처리유닛(153)은 전송되는 메시지를 생성할 수 있다. 예컨대, 전송메시지처리유닛(153)은 본 발명의 실시예에 따른 모니터 요청 메시지를 생성하고, 이를 통신처리유닛(151)으로 전달한다. 수신메시지처리유닛(155)은 수신되는 메시지를 처리할 수 있다. 예컨대, 수신메시지처리유닛(155)은 통신처리유닛(151)으로부터 모니터 응답 메시지를 수신하면, 모니터 응답 메시지에 포함된 식별자에 따라 해당 모니터 정보의 종류를 확인하고, 데이터 필드에서 데이터인 모니터 정보를 추출하여, 추출된 모니터 정보를 표시부(130)를 통해 표시한다. 그러면, 각각의 구성에 대해서 보다 상세하게 설명하기로 한다.
전송메시지처리유닛(153)은 비주기적인 이벤트에 따라 동작하는 이벤트 핸들러 혹은 주기적인 타임 태스크를 실행하는 쓰레드로 동작할 수 있다. 전술한 바와 같이, 모니터 정보는 EtherCAT 정보, 어플리케이션에서 정의한 디버깅 변수, 어플리케이션의 실행 상태 및 어플리케이션으로부터 출력되는 로그 기록을 포함한다. 전송메시지처리유닛(153)은 전술한 모니터 정보의 종류에 따라 모니터 요청 메시지를 생성하고, 생성된 모니터 요청 메시지를 통신처리유닛(151)으로 전달할 수 있다.
전송메시지처리유닛(153)이 이벤트 핸들러로 동작하는 경우, 다음과 같이 동작할 수 있다. 사용자는 입력부(120)를 통해 이러한 복수의 모니터 정보 중 어느 하나를 선택하는 입력을 할 수 있다. 그러면, 전송메시지처리유닛(153)은 입력부(120)를 통해 사용자가 선택된 모니터 정보를 수신하고, 해당하는 모니터 정보에 상응하는 모니터 요청 메시지를 생성한다. 일예로, 사용자의 입력이 어플리케이션의 실행 상태를 모니터하기 위한 것이면, 전송메시지처리유닛(153)은 표 1에 보인 바와 같이, 식별자 필드에 식별자 "get_plc_status"가 기록된 모니터 요청 메시지를 생성한다. 다른 예로, 사용자의 입력이 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보를 모니터하기 위한 것이면, 전송메시지처리유닛(153)은 표 1에 보인 바와 같이, 식별자 필드에 식별자 "get_ethercat_status"가 기록된 모니터 요청 메시지를 생성한다.
또한, 전송메시지처리유닛(153)이 쓰레드로 동작하는 경우, 미리 설정된 타임 태스크에 상응하는 모니터 정보를 요청하는 모니터 요청 메시지를 생성할 수 있다. 일예로, 주기적으로 어플리케이션의 실행 상태를 모니터하도록 설정되어 있다면, 그 주기가 도래하면, 전송메시지처리유닛(153)은 표 1에 보인 바와 같이, 식별자 필드에 식별자 "get_plc_status"가 기록된 모니터 요청 메시지를 생성한다. 다른 예로, 주기적으로 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보를 모니터하도록 설정되어 있다면, 그 시간에 전송메시지처리유닛(153)은 표 1에 보인 바와 같이, 식별자 필드에 식별자 "get_ethercat_status"가 기록된 모니터 요청 메시지를 생성한다. 전송메시지처리유닛(153)은 전술한 주기를 조절할 수 있다. 예컨대, 전송메시지처리유닛(153)은 통신부(110)를 통해 네트워크 상태를 지속적으로 측정하여, 네트워크 상태가 좋을수록 주기를 짧게 하고, 네트워크 상태가 나쁠수록 주기를 길게 할 수 있다. 전송메시지처리유닛(153)은 네트워크 상태를 네트워크 상태 파라미터를 이용하여 측정할 수 있다. 예컨대, 이러한 파라미터는 RSSI(Received Signal Strength Indication), CINR(Carriier to Interference plus Noise ratio), CNR(Carrier to noise ratio) SINR(Signal to interference plus noise ratio), SNR(Signal to noise ratio), 등이 될 수 있다. 또한, 전송메시지처리유닛(153)은 모니터 요청 메시지를 전송하고, 이에 대한 모니터 응답 메시지를 수신할 때 까지 걸린 RTT(Round Trip Time)에 따라 네트워크 상태를 추정할 수 있다.
전송메시지처리유닛(153)은 전술한 바와 같이, 비주기적인 이벤트 혹은 미리 설정된 시간에 따른 태스크에 따라 생성된 모니터 요청 메시지를 통신처리유닛(151)으로 전달한다. 그러면, 통신처리유닛(151)은 전달받은 모니터 요청 메시지를 통신부(110)를 통해 수신메시지처리유닛(155)으로 전달할 수 있다.
수신메시지처리유닛(155)은 전달된 모니터 응답 메시지를 처리할 수 있다. 예컨대, 수신메시지처리유닛(155)은 통신처리유닛(151)으로부터 모니터 응답 메시지를 수신하면, 모니터 응답 메시지에 포함된 식별자에 따라 해당 모니터 정보의 종류를 확인한다. 표 1 내지 표 18을 참조로 설명된 바와 같이, 모니터 정보의 종류에 따라 데이터 필드는 가변 형식을 가진다. 따라서 수신메시지처리유닛(155)은 모니터 응답 메시지의 식별자를 통해 확인된 모니터 정보의 종류에 따라 해당 데이터의 형식을 인지하고, 그 형식에 따라 데이터 필드에서 데이터, 즉, 모니터 정보를 추출한다. 그런 다음, 통신처리유닛(151)은 추출된 모니터 정보를 표시부(130)를 통해 표시한다. 특히, 전송메시지처리유닛(153)이 쓰레드로 동작하는 경우, 모니터 요청 메시지는 주기적으로 전송되며, 이에 따라, 모니터 응답 메시지는 주기적으로 수신된다. 이에 따라, 수신메시지처리유닛(155)은 해당 모니터 정보를 지속적으로 표시부(130)를 통해 표시하되, 주기적으로 갱신하여 표시한다.
다음으로, 본 발명의 실시예에 따른 원격 모션 제어 시스템의 제어 장치의 구성을 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 제어 장치의 구성을 설명하기 위한 블록도이며, 도 5는 도 4의 제어 장치의 제어 모듈의 동작을 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명의 실시예에 따른 제어 장치(200)는 적어도 하나의 슬레이브 장치(300)를 제어하기 위한 것이다. 이러한 제어 장치(200)는 통신 모듈(210), 저장 모듈(220) 및 제어 모듈(230)을 포함한다.
통신모듈(210)은 본 발명의 실시예에 따른 각 종 메시지를 송수신하기 위한 수단이다. 통신모듈(210)은 유선 혹은 무선으로 네트워크에 연결되어, 모바일 장치(100)로부터 메시지를 수신하거나, 모바일 장치(100)로 메시지를 전송할 수 있다. 이러한 메시지는 모니터 요청 메시지, 모니터 응답 메시지, 제어 메시지, 확인 메시지 등을 포함할 수 있다.
저장모듈(220)은 제어 장치(200)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 운영체제(OS, Operating System), 모션 제어를 위한 모션 제어 어플리케이션 등을 저장할 수 있다. 데이터 영역은 제어 장치(200)가 처리하는 각 종 데이터가 저장되는 영역이다. 즉, 저장모듈(220)은 제어 장치(200)가 처리하는 각 종 데이터를 저장할 수 있다. 이러한 데이터는 모니터 요청 메시지 및 모니터 응답 메시지의 모니터 정보에 따른 식별자 및 데이터 필드의 형식을 포함한다. 또한, 저장되는 데이터는 디버깅 변수 정보, 실행 상태, 로그 메시지 및 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보 등을 포함할 수 있다. 저장모듈(220)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어모듈(230)은 제어 장치(200)의 전반적인 동작 및 제어 장치(200)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(230)은 중앙 처리 장치(Central Processing Unit : CPU), 어플리케이션 프로세서(Application Processor), 디지털 신호 처리기(DSP: Digital Signal Processor) 등이 될 수 있다.
그러면, 제어모듈(230)의 내부 구성에 대해서 도 3을 참조하여 보다 상세하게 설명하기로 한다. 제어모듈(230)은 기본적으로 연결된 슬레이브 장치(300)을 제어하기 위한 것이다. 또한 제어모듈(230)은 연결된 슬레이브 장치(300)과 관련된 정보를 모니터하기 위한 것이다.
슬레이브 장치(300)를 제어하기 위하여, 제어모듈(230)은 모션 제어 어플리케이션(500) 및 EtherCAT 마스터 스택(600)을 통해 슬레이브 장치(300)를 제어한다. 본 발명의 실시예에 따른 모션 제어 어플리케이션(500)은 Beremiz를 이용하여 작성될 수 있다. 이러한 모션 제어 어플리케이션(500)에는 제어모듈(230)에서 실행되는 통신 스터브(Communication Stub, 400) 상에서 동작하는 PLC(Programmable Logic Controller) 객체(410)를 통해 접근할 수 있다. 여기서, PLC 객체(410)는 소프트웨어 기반의 PLC 어플리케이션의 객체일 수 있다. 예컨대, 이러한 PLC 어플리케이션은 Beremiz 혹은 다른 개발 환경을 통해 작성될 수 있다. Beremiz는 PLC 어플리케이션을 작성하기 위한 통합개발환경(IDE: Integrated Development Environment)이다.
제어모듈(230)은 모니터를 위한 모니터 서버(231)를 포함한다. 또한, 모니터 서버(231)는 인터페이스유닛(233) 및 데이터처리유닛(235)을 포함한다.
인터페이스유닛(233)은 모니터 요청 메시지를 수신하거나, 모니터 응답 메시지를 송신하는 기능을 수행한다. 이러한 인터페이스유닛(233)은 소켓(Socket)이 될 수 있다.
데이터처리유닛(235)은 인터페이스유닛(233)을 통해 모니터 요청 메시지를 수신할 수 있다. 그러면, 데이터처리유닛(235)은 식별자에 대응하는 모니터 정보를 추출한다. 그런 다음, 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 포함되는 데이터를 가지는 모니터 응답 메시지를 생성할 수 있다. 그리고 데이터처리유닛(235)은 모니터 응답 메시지를 인터페이스유닛(233)에 제공하여, 인터페이스유닛(233)이 통신모듈(210)을 통해 모니터 응답 메시지를 모바일 장치(100)로 전송하도록 한다.
보다 상세하게 설명하면, 데이터처리유닛(235)은 모니터 정보에 따라 상이한 방식으로 모니터 정보를 추출한다. 전술한 바와 같이, 모니터 정보는 EtherCAT 정보, 어플리케이션에서 정의한 디버깅 변수, 어플리케이션의 실행 상태 및 어플리케이션으로부터 출력되는 로그 기록을 포함한다.
먼저, 데이터처리유닛(235)은 요청되는 모니터 정보가 EtherCAT 정보인 경우에 다음과 같이 모니터 정보를 추출하여, 모니터 응답 메시지를 생성한다. 데이터처리유닛(235)은 인터페이스유닛(233)을 통해 수신된 모니터 요청 메시지의 식별자가 'get_ethercat_status'이면, 데이터처리유닛(235)은 제어 장치(200) 혹은 슬레이브 장치(300)의 EtherCAT 정보를 요청하는 것을 확인할 수 있다. 그러면, 데이터처리유닛(235)은 EtherCAT 마스터 스택(600) 상에서 요청된 EtherCAT 정보에 상응하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행한다. 그러면, EtherCAT 마스터 스택(600)은 해당하는 EtherCAT 정보를 포함하는 문자열을 출력한다. 이에 따라, 데이터처리유닛(235)은 출력되는 문자열을 파싱하여 EtherCAT 정보를 추출한다. 그런 다음, 데이터처리유닛(235)은 추출된 모니터 정보(EtherCAT 정보)를 나타내는 식별자 'get_ethercat_status'가 식별자 필드에 포함되고, 추출된 모니터 정보(EtherCAT 정보)가 가변 길이 형식으로 데이터 필드에 포함되는 모니터 응답 메시지를 생성한다.
또한, 데이터처리유닛(235)은 요청되는 모니터 정보가 디버깅 변수, 실행 상태 및 로그 기록인 경우에 다음과 같이 모니터 정보를 추출하여, 모니터 응답 메시지를 생성한다. 데이터처리유닛(235)은 인터페이스유닛(233)을 통해 수신된 모니터 요청 메시지의 식별자가 'get_variable_list', 'get_value_list", "get_plc_status', 및 'get_log'이면, 요청되는 모니터 정보가 디버깅 변수, 실행 상태 및 로그 기록 등임을 알 수 있다. 그러면, 데이터처리유닛(235)은 통신 스터브(communication stub, 400)에서 상기 요청된 모니터 정보에 상응하는 PLC 객체(410)의 메소드를 호출한다. 예컨대, 데이터처리유닛(235)은 모니터 요청 메시지의 식별자가 'get_plc_status'이면, 모션 제어 어플리케이션(500)의 실행 상태에 대한 정보를 요청하는 것임을 확인하고, 모션 제어 어플리케이션(500)의 실행 상태에 대한 정보를 출력하는 PLC 객체(410)의 메소드를 호출한다. 이에 따라, 데이터처리유닛(235)은 모션 제어 어플리케이션(500)의 실행 상태를 모니터 정보로 추출할 수 있다. 그런 다음, 데이터처리유닛(235)은 추출된 모니터 정보(실행 상태)를 나타내는 식별자 'get_plc_status'가 식별자 필드에 포함되고, 추출된 모니터 정보(실행 상태)가 가변 길이 형식으로 데이터 필드에 포함되는 모니터 응답 메시지를 생성한다.
전술한 바와 같이, 모니터 응답 메시지를 생성한 데이터처리유닛(235)은 모니터 응답 메시지를 인터페이스유닛(233)에 제공한다. 그러면, 인터페이스유닛(233)은 통신모듈(210)을 통해 모니터 응답 메시지를 모바일 장치(100)로 전송한다.
본 발명의 실시예에 따른 원격 제어 시스템은 메시지를 통해 원격으로 제어 장치(200) 혹은 슬레이브 장치(300)와 관련된 정보를 모니터할 수 있다. 그러면, 원격 제어 시스템의 원격 모니터 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 원격 제어 시스템의 원격 모니터링 방법을 설명하기 위한 흐름도이다.
모바일 장치(100)는 일정한 주기로 실행되는 쓰레드와 비동기적인 사용자 입력을 처리하는 이벤트 핸들러를 통해 모니터 요청 메시지를 생성한다. 그런 다음, 모바일 장치(100)는 S110 단계에서 모니터 요청 메시지를 네트워크(10)를 통해 제어 장치(200)로 전송한다. 모니터 요청 메시지는 적어도 모니터 정보를 구분하기 위한 식별자를 포함한다. 모니터 정보는 디버깅 변수 정보, 실행 상태, 로그 메시지 및 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보 등을 포함한다.
모니터 요청 메시지를 수신한 제어 장치(200)는 모니터 요청 메시지의 식별자를 통해 요청되는 모니터 정보를 확인한다. 그런 다음, 제어 장치(200)는 S120 단계에서 해당하는 모니터 정보를 추출한다. 이때, 제어 장치(200)는 모니터 정보의 종류에 따라 상이한 방식으로 모니터 정보를 추출할 수 있다.
이어서, 제어 장치(200)는 추출된 모니터 정보를 나타내는 식별자와 추출된 모니터 정보가 데이터로 포함된 모니터 응답 메시지를 생성한다. 여기서, 모니터 응답 메시지의 데이터는 모니터 정보의 종류에 따라 가변되는 형식을 가진다. 따라서 제어 장치(200)는 추출된 모니터 정보를 그 모니터 정보에 상응하는 가변 길이 형식의 데이터로 인코딩한다. 모니터 응답 메시지를 생성한 후, 제어 장치(200)는 S130 단계에서 모니터 응답 메시지를 모바일 장치(100)로 네트워크(10)를 통해 전송한다.
모니터 응답 메시지를 수신한 모바일 장치(100)는 모니터 응답 메시지로부터 모니터 정보를 추출한다. 이때, 모바일 장치(100)는 모니터 응답 메시지의 식별자를 통해 모니터 정보를 확인하고, 모니터 정보에 상응하는 가변 길이 형식에 따라 데이터를 디코딩하여 모니터 정보를 추출한다. 그런 다음, 모바일 장치(100)는 S140 단계에서 추출된 모니터 정보를 표시한다.
이상으로 원격 모니터 시스템의 전체적인 원격 모니터 방법에 대해서 설명하였다. 그러면, 보다 상세하게, 모바일 장치(100) 및 제어 장치(200) 각각의 원격 모니터 방법에 대해서 설명하기로 한다.
먼저, 본 발명의 실시예에 따른 모바일 장치(100)의 원격 모니터 방법을 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 모바일 장치(100)의 원격 모니터 방법을 설명하기 위한 흐름도이다. 도 8 및 도 9는 본 발명의 실시예에 따른 모바일 장치(100)의 원격 모니터 방법에 따른 화면을 설명하기 위한 도면이다.
전술한 바와 같이, 모바일 장치(100)의 제어부(150)는 통신처리유닛(151), 전송메시지처리유닛(153) 및 수신메시지처리유닛(155)을 포함한다.
제어부(150)의 전송메시지처리유닛(153)은 S210 단계에서 모니터 요청 메시지를 생성한다. 모니터 요청 메시지는 적어도 모니터 정보를 구분하기 위한 식별자를 포함한다. 모니터 정보는 모션 제어 어플리케이션에서 정의한 디버깅 변수 정보, 모션 제어 어플리케이션의 실행 상태, 모션 제어 어플리케이션으로부터 출력되는 로그 메시지(로그 기록) 및 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보 등을 포함한다.
일 실시예에 따르면, 설정에 따라 모니터 정보는 주기적으로 요청될 수 있다. 예컨대, 모션 제어 어플리케이션의 실행 상태를 지속적으로 화면에 표시하기 위하여, 주기적으로 모니터 요청 메시지를 생성할 수 있다. 즉, 전송메시지처리유닛(153)은 주기적인 쓰레드로 동작하여, 표 6에 보인 바와 같이, 식별자 필드에 식별자 'get_plc_status'가 기록된 모니터 요청 메시지를 주기적으로 생성할 수 있다. 또한, 모션 제어 어플리케이션의 디버깅 변수의 리스트를 미리 획득하여 사용자가 디버깅 변수가 무엇인지 알기를 원할 때 즉시 그 디버깅 변수 리스트를 화면으로 제공하기 위하여, 주기적으로 모니터 요청 메시지를 생성할 수 있다. 즉, 전송메시지처리유닛(153)은 주기적인 쓰레드로 동작하여, 표 2에 보인 바와 같이, 식별자 필드에 식별자 'get_variable_list'가 기록된 모니터 요청 메시지를 주기적으로 생성할 수 있다.
다른 실시예에 따르면, 모니터 요청 메시지는 비주기적인 이벤트에 따라 생성될 수 있다. 이러한 경우, 전송메시지처리유닛(153)이 이벤트 핸들러로 동작한다. 즉, 사용자는 입력부(120)를 통해 이러한 복수의 모니터 정보 중 어느 하나를 선택하는 입력을 할 수 있다. 그러면, 전송메시지처리유닛(153)은 입력부(120)를 통해 사용자가 선택된 모니터 정보를 수신하고, 해당하는 모니터 정보에 상응하는 모니터 요청 메시지를 생성한다.
예컨대, 사용자의 입력이 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보를 모니터하기 위한 것이면, 전송메시지처리유닛(153)은 표 8, 표 16 혹은 표 17에 보인 바와 같이, 식별자 필드에 식별자 'get_ethercat_status'가 기록된 모니터 요청 메시지를 생성한다. 다른 예로, 모션 제어 어플리케이션으로부터 출력되는 로그 메시지(로그 기록)를 모니터 하기 위한 것이면, 전송메시지처리유닛(153)은 표 10, 표 13 및 표 14에 보인 바와 같이, 식별자 필드에 식별자 'get_log'가 기록된 모니터 요청 메시지를 생성한다.
기본적으로, 제1 실시예에 따르면, 모니터 요청 메시지는 식별자 필드에 요청하는 모니터 정보를 나타내는 식별자만 포함되어 전송된다. 이는 표 2, 표 6, 표 8, 표 10에서 설명된 바와 같다. 다만, 제1 실시예에서 모니터 정보가 모션 제어 어플리케이션의 디버깅 변수의 값인 경우, 모니터 요청 메시지는 원하는 모니터 정보의 특정 세부 사항을 얻기 위하여, 데이터 영역이 추가로 정의될 수 있다. 즉, 식별자 'get_variable_list'가 기록된 모니터 요청 메시지에 상응하는 모니터 응답 메시지를 수신하여, 전체 디버깅 변수 리스트를 획득한 상태라고 가정한다. 사용자가 요청하는 경우, 이러한 전체 디버깅 변수 리스트는 표시부(130)를 통해 표시될 수 있다. 이러한 화면 예를 도 9의 (A)에 도시하였다. 도시된 예에 따르면, 전체 디버깅 변수 리스트는 디버깅 변수 'AXIS', 'ACTUALPOSITION', 'TIMER', 'ACTUALVELOCITY0' 및 'ACTUALTORQUE'를 포함한다.
사용자는 입력부(120)(혹은, 표시부(130)가 터치스크린으로 형성된 경우 표시부(130)의 터치센서)를 통해 전체 디버깅 변수 리스트에서 자신이 모니터하기를 원하는 디버깅 변수를 선택할 수 있다. 도 9의 (A)의 예에 따르면, 디버깅 변수 'AXIS' 및 'ACTUALPOSITION'을 선택하였다. 그러면, 제어부(150)의 전송메시지처리유닛(153)은 선택된 디버깅 변수의 리스트를 데이터 필드에 포함시킬 수 있다. 예컨대, 이에 따라 생성된 모니터 요청 메시지는 다음의 표 19와 같다.
식별자 필드(OBJ_ID) VAR_LIST
'get_value_list' 'AXIS', 'ACTUALPOSITION'
표 19에 보인 바와 같이, 전송메시지처리유닛(153)은 디버깅 변수의 값을 요청하기 위한 것임을 나타내기 위해 식별자로 "get_value_list"를 사용한다. 특히, 전송메시지처리유닛(153)은 사용자가 선택한 디버깅 변수를 요청하기 위하여 데이터 필드에 변수 리스트(VAR_LIST)를 포함시킬 수 있다. 이 변수 리스트(VAR_LIST)는 사용자가 선택한 디버깅 변수의 리스트이다. 예컨대, 변수의 리스트에는 사용자가 선택한 변수 이름이 VAR_LIST = 'AXIS', 'ACTUALPOSITION'와 같이 나열될 수 있다.
다른 예로, 제2 실시예에 따르면, 사용자는 제어 장치(200)와 슬레이브 장치(300)의 EtherCAT 정보 중 일부에 대해서만 모니터하기를 원할 수 있다. 제어 장치(200) 및 슬레이브 장치(300)의 전체 리스트는 표시부(130)를 통해 표시될 수 있다. 사용자는 입력부(120)(혹은, 표시부(130)가 터치스크린으로 형성된 경우 표시부(130)의 터치센서)를 통해 제어 장치(200) 및 슬레이브 장치(300)의 전체 리스트 중 자신이 모니터하기를 원하는 것을 선택할 수 있다. 이러한 경우, 제어부(150)의 전송메시지처리유닛(153)은 전체 리스트에서 선택된 제어 장치(200) 및 슬레이브 장치(300)의 리스트에 대한 EtherCAT 정보를 수납하기 위해 데이터 필드의 프레임을 정의할 수 있다. 이에 따라 생성된 모니터 요청 메시지는 예컨대, 전술한 표 16과 같이 데이터 필드의 프레임들을 정의한다.
표 16에 보인 바와 같이, 전송메시지처리유닛(153)은 모니터 요청 메시지에 기본적으로 EtherCAT 정보를 얻기 위한 것임을 알리는 식별자로 'get_ethercat_status'를 사용한다. 특히, 전송메시지처리유닛(153)은 사용자가 제어 장치(200)와 연결된 첫 번째('0'), 세 번째('2') 슬레이브 장치(300)의 EtherCAT 정보를 요청한 경우, 데이터 필드에 슬레이브 번호(SLAVE_NUM)를 포함시킨다. 이때, 전송메시지처리유닛(153)은 SLAVE_NUM = '0', '2'로 설정하여, 첫 번째, 세 번째 슬레이브 장치(300)의 EtherCAT 정보를 요청하는 것을 알린다.
선택적으로, 그리고 추가적으로, 전송메시지처리유닛(153)은 전술한 표 17과 같이, 선택된 슬레이브 장치(300)의 EtherCAT 정보의 값이 수납될 필드(SLAVE_STAT_0, SLAVE_STAT_2)을 정의할 수 있다. 여기서, '_0' 및 '_2'는 사용자가 선택한 슬레이브 장치(300)를 식별하기 위한 것이다. 물론, 선택된 슬레이브 장치(300)의 EtherCAT 정보의 값이 수납될 필드(SLAVE_STAT_0, SLAVE_STAT_2)는 전송메시지처리유닛(153)이 정의하지 않고, 슬레이브 번호(SLAVE_NUM)를 확인한 제어 장치(200)가 정의할 수도 있다.
또 다른 예로, 제2 실시예에 따르면, 사용자는 모션 제어 어플리케이션으로부터 출력되는 로그 메시지(로그 기록) 중 일부에 대해서만 모니터하기를 원할 수 있다. 사용자는 입력부(120)(혹은, 표시부(130)가 터치스크린으로 형성된 경우 표시부(130)의 터치센서)를 통해 모션 제어 어플리케이션으로부터 출력되는 로그 메시지(로그 기록) 중 자신이 모니터하기를 원하는 라인을 선택할 수 있다. 이러한 경우, 제어부(150)의 전송메시지처리유닛(153)은 로그 메시지 중 선택된 라인의 로그 기록을 수납하기 위해 데이터 필드를 정의할 수 있다. 이에 따라 전송메시지처리유닛(153)은 예컨대, 전술한 표 13과 같이 모니터 요청 메시지를 생성할 수 있다.
표 13에 보인 바와 같이, 전송메시지처리유닛(153)은 모니터 요청 메시지에 기본적으로 로그 기록을 얻기 위한 것임을 알리는 식별자로 'get_log'를 사용한다. 특히, 전송메시지처리유닛(153)은 사용자가 로그 기록 중 첫 번째('0') 및 세 번째('2') 라인의 로그 기록을 요청한 경우, 데이터 필드에 라인 번호(LINE_NUM)를 포함시킨다. 이때, 전송메시지처리유닛(153)은 LINE_NUM = '0', '2'으로 설정하여, 첫 번째 및 세 번째 라인의 로그 기록을 요청하는 것을 알린다. 선택적으로, 그리고 추가적으로, 전송메시지처리유닛(153)은 전술한 표 14와 같이, 선택된 라인의 로그 기록이 수납될 필드(MSG_0, MSG_2)를 정의할 수 있다. 여기서, '_0' 및 '_2'은 사용자가 선택한 로그 기록의 라인을 식별하기 위한 것이다. 물론, 대안적인 실시예로, 선택된 라인의 로그 기록이 수납될 필드(MSG_0, MSG_2)는 전송메시지처리유닛(153)이 정의하지 않고, 라인 번호(LINE_NUM)를 확인한 제어 장치(200)가 정의할 수도 있다.
전술한 복수의 실시예 중 어느 하나의 방법에 따라 모니터 요청 메시지가 생성되면, 전송메시지처리유닛(153)은 생성된 모니터 요청 메시지를 통신처리유닛(151)으로 전달한다. 그러면, 제어부(150)의 통신처리유닛(151)은 S220 단계에서 모니터 요청 메시지를 통신부(110)를 통해 제어 장치(200)로 전송한다. 그러면, 제어 장치(200)는 모니터 요청 메시지에 따라 해당하는 모니터 정보를 포함하는 모니터 요청 메시지에 상응하는 모니터 응답 메시지를 전송할 것이다.
S230 단계에서 제어부(150)의 통신처리유닛(151)은 통신부(110)를 통해 모니터 응답 메시지를 수신하고, 수신된 모니터 응답 메시지를 수신메시지처리유닛(155)으로 전달한다.
수신된 모니터 응답 메시지는 모니터 정보를 식별하기 위한 식별자와 해당 모니터 정보가 기록된 데이터를 포함한다. 이러한 모니터 응답 메시지의 데이터는 가변 형식으로 이루어지며, 식별자, 즉, 모니터 정보의 종류에 따라 가변된다. 표 1 내지 표 18에 보인 바와 같이, 모니터 응답 메시지는 서로 다른 형식을 가진다. 추가적으로 그리고 선택적으로, 모니터 응답 메시지의 데이터는 모니터 요청 메시지에 따라 가변될 수 있다. 대표적인 예로, 표 16 및 표 17에 보인 바와 같이, 모니터 요청 메시지의 데이터 필드에 수납되는 슬레이브 번호(SLAVE_NUM) 필드의 슬레이브 번호에 따라 모니터 응답 메시지의 전체 길이가 가변될 수 있다. 또한, 표 17과 같이 슬레이브 정보가 수납될 필드가 추가로 정의된 경우, 모니터 응답 메시지의 특정 EtherCAT 정보를 수납하기 위한 필드의 위치가 가변될 수 있다. 따라서 수신메시지처리유닛(155)은 S240 단계에서 그 가변 형식에 맞춰 모니터 응답 메시지로부터 모니터 정보를 추출한다.
모니터 정보를 추출한 후, 제어부(150)의 수신메시지처리유닛(155)은 S250 단계에서 추출된 모니터 정보를 표시부(130)를 통해 화면으로 표시되도록 출력한다. 이때, 수신메시지처리유닛(155)은 도 8에 보인 바와 같이, 다양한 모니터 정보를 화면으로 표시할 수 있다. 이때, 도 9의 (A) 내지 (D)에 도시된 바와 같이, 각각의 모니터 정보 종류에 따라 그래프, 테이블, 스크롤 윈도우 등으로 모니터 정보를 가공하여 출력한다.
예컨대, 앞서 설명된 바와 같이, 식별자가 'get_variable_list'인 모니터 요청 메시지를 전송한 후, 이에 따른 모니터 응답 메시지를 수신하면, 수신메시지처리유닛(155)은 디버깅 변수 리스트를 표시할 수 있다. 이러한 화면 예를 도 9 (A)에 도시하였다.
또한, 사용자가 디버깅 변수 리스트에서 선택한 디버깅 변수에 대한 값은 'get_value_list'를 식별자로 하는 모니터 요청 메시지를 전송하고, 이에 따른 모니터 응답 메시지를 수신하여 해당 디버깅 변수의 값을 화면으로 표시할 수 있다. 예컨대, 사용자가 디버깅 변수 'ACTUALPOSITION'에 대한 값을 모니터 정보로 요청하는 경우, 모바일 장치(100)는 다음의 표 20과 같은 모니터 요청 메시지를 제어 장치(200)로 전송하였다고 가정한다.
식별자 필드(OBJ_ID) VAR_LIST
'get_value_list' 'ACTUALPOSITION'
그러면, 제어 장치(200)는 VAR_LIST를 확인하고, 디버깅 변수 'ACTUALPOSITION'에 대한 값을 모니터 정보로 요청하고 있음을 인식하고, 'ACTUALPOSITION'의 값을 모니터 정보로 추출할 것이다.
그런 다음, 다음의 표 21과 같이 VAR_ACTUALPOSITION 필드를 추가하고, 해당 필드에 'ACTUALPOSITION'의 값이 기록된 모니터 응답 메시지를 생성하여 모바일 장치(100)로 전송할 것이다.
식별자 필드 VAR_LIST VAR_ACTUALPOSITION
get_value_list 'ACTUALPOSITION' 2726885
이러한 모니터 응답 메시지를 수신한 후, 수신메시지처리유닛(155)은 식별자를 통해 모니터 응답 메시지가 디버깅 변수에 대한 것임을 확인하고, VAR_LIST 필드를 통해 디버깅 변수 'ACTUALPOSITION'에 대한 것임을 확인하여, VAR_ACTUALPOSITION 필드에서 'ACTUALPOSITION'의 값을 추출한다. 이에 따라, 도 9의 (B)에 도시된 바와 같이, 디버깅 변수 'ACTUALPOSITION'의 값을 화면으로 표시할 수 있다.
또한, 도 9의 (C)에 도시된 화면 예는 EtherCAT 정보를 화면으로 표시하는 것을 나타낸다. 도 9의 (C)에 도시된 바에 따르면, 제어 장치(200)(Master) 및 슬레이브 장치(300)(Slave_0)에 대한 EtherCAT 정보를 표시한다. 이 또한, 도 9의 (B)에 도시된 바와 마찬가지로, 복수의 슬레이브 장치(300) 중 선택된 슬레이브 장치(300)만을 표시할 수 있다. 그리고 도 9의 (D)에 도시된 화면 예는 로그 기록을 화면으로 표시하는 것을 나타낸다.
한편, 앞서 설명된 바와 같이, 모바일 장치(100)는 모니터 요청 메시지를 주기적으로 전송할 수 있으며, 이러한 모니터 요청 메시지에 따라 주기적으로 모니터 응답 메시지를 수신할 수 있다. 전술한 바와 같이, 모바일 장치(100)는 식별자 "get_plc_status"가 기록된 모니터 요청 메시지를 주기적으로 전송하여, 이에 대한 모니터 응답 메시지를 주기적으로 수신할 수 있다. 이 모니터 응답 메시지는 모션 제어 어플리케이션의 실행 상태를 포함할 것이며, 이에 따라, 수신메시지처리유닛(155)은 도 8에 도시된 바와 같이, 아이콘, 문자 등을 통해 모션 제어 어플리케이션의 실행 상태(S)를 주기적으로 갱신하여 화면으로 표시할 수 있다.
부수적으로, 수신메시지처리유닛(155)은 화면 상단 좌측에 아이콘, 문자 등을 통해 제어 장치(200)와의 연결 상태(R)를 나타낼 수 있다. 또한, 설명되지 않은 연결 다이얼로그(O)는 제어 장치(200)와 연결하기 위한 어드레스를 입력하기 위한 다이얼로그 박스이다. 또한, 디버깅 변수(B), EtherCAT 정보(C), 로그 기록(D) 등은 복수의 탭을 통해 표시할 수 있다.
다음으로, 본 발명의 실시예에 따른 원격 제어 장치(200)의 원격 제어 방법을 설명하기로 한다. 도 10은 본 발명의 실시예에 따른 원격 제어 장치의 원격 제어 방법을 설명하기 위한 흐름도이다.
전술한 바와 같이, 제어 장치(200)는 제어 모듈(230)을 포함하며, 제어 모듈(230)은 모니터 서버(231)를 포함하며, 모니터 서버(231)는 인터페이스유닛(233) 및 데이터처리유닛(235)을 포함한다.
인터페이스유닛(233)은 S310 단계에서 통신 모듈(210)을 통해 모니터 요청 메시지를 수신할 수 있다. 그러면, 인터페이스유닛(233)은 수신된 모니터 요청 메시지를 데이터처리유닛(235)에 전달한다.
데이터처리유닛(235)은 S320 단계에서 모니터 요청 메시지에 따라 모니터 정보를 추출한다. 이때, 데이터처리유닛(235)은 모니터 요청 메시지가 요청하는 모니터 정보에 따라 모니터 정보를 추출하는 방식을 달리한다.
먼저, 데이터처리유닛(235)은 요청되는 모니터 정보가 EtherCAT 정보인 경우에 다음과 같이 모니터 정보를 추출한다. 즉, 데이터처리유닛(235)은 표 8과 같이, 인터페이스유닛(233)을 통해 수신된 모니터 요청 메시지의 식별자가 'get_ethercat_status'이면, 데이터처리유닛(235)은 EtherCAT 정보를 요청하는 것을 확인할 수 있다. 제1 실시예에 따르면, 데이터처리유닛(235)은 모든 제어 장치(200)와 슬레이브 장치(300)에 대한 EtherCAT 정보를 요청하도록 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행한다. 그러면, EtherCAT 마스터 스택(600)은 해당하는 EtherCAT 정보를 포함하는 문자열을 출력할 것이다. 이에 따라, 데이터처리유닛(235)은 출력되는 문자열을 파싱하여 모든 제어 장치(200)와 슬레이브 장치(300)에 대한 EtherCAT 정보를 추출할 수 있다. 반면, 제2 실시예에 따르면, 예컨대, 모니터 요청 메시지에 표 16 혹은 표 17과 같이 슬레이브 번호(SLAVE_NUM) 필드가 존재하는 경우, 데이터처리유닛(235)은 슬레이브 번호(SLAVE_NUM) 필드의 값('0', '2')을 확인한다. 이에 따라, 데이터처리유닛(235)은 첫 번째('0') 및 세 번째('2') 슬레이브 장치(300)에 대한 EtherCAT 정보를 요청하도록 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행한다. 그러면, EtherCAT 마스터 스택(600)은 첫 번째 및 세 번째 슬레이브 장치(300)에 대한 EtherCAT 정보를 포함하는 문자열을 출력할 것이다. 이에 따라, 데이터처리유닛(235)은 출력되는 문자열을 파싱하여 첫 번째 및 세 번째 슬레이브 장치(300)에 대한 EtherCAT 정보를 추출할 수 있다.
한편, 데이터처리유닛(235)은 요청되는 모니터 정보가 디버깅 변수(리스트 혹은 값), 실행 상태 및 로그 기록인 경우에 다음과 같이 모니터 정보를 추출한다. 데이터처리유닛(235)은 인터페이스유닛(233)을 통해 수신된 모니터 요청 메시지의 식별자가 'get_variable_list', 'get_plc_status', 'get_value_list', 및 'get_log'이면, 각각의 요청되는 모니터 정보는 디버깅 변수 리스트, 모션 제어 어플리케이션의 실행 상태, 디버깅 변수 값 및 모션 제어 어플리케이션의 로그 기록임을 알 수 있다.
일예로, 제1 실시예에 따르면, 표 2와 같이, 모니터 요청 메시지의 식별자가 'get_variable_list'라고 가정한다. 그러면, 데이터처리유닛(235)은 요청된 모니터 정보가 디버깅 변수 리스트임을 확인할 수 있다. 그러면, 데이터처리유닛(235)은 통신 스터브(400)에서 디버깅 변수 리스트 및 그 형식을 리턴하는 PLC 객체(410)의 메소드를 호출하여, 디버깅 변수 리스트 및 그 형식을 리턴하도록 한다. 이에 따라, 데이터처리유닛(235)은 모니터 정보로 디버깅 변수 리스트를 추출할 수 있다.
다른 예로, 제1 실시예에 따르면, 표 6과 같이, 모니터 요청 메시지의 식별자가 'get_plc_status'라고 가정한다. 그러면, 데이터처리유닛(235)은 요청된 모니터 정보가 모션 제어 어플리케이션의 실행 상태임을 확인할 수 있다. 그러면, 데이터처리유닛(235)은 통신 스터브(400)에서 모션 제어 어플리케이션의 실행 상태를 리턴하는 PLC 객체(410)의 메소드를 호출한다. 달리 설명하면, 모션 제어 어플리케이션의 실행 상태를 리턴하는 PLC 객체(410)의 메소드를 호출하여, 모션 제어 어플리케이션의 실행 상태를 리턴하도록 한다. 이에 따라, 데이터처리유닛(235)은 모니터 정보로 모션 제어 어플리케이션의 실행 상태를 추출할 수 있다.
또 다른 예로, 제1 실시예에 따르면, 표 4와 같이, 모니터 요청 메시지의 식별자가 'get_value_list'라고 가정한다. 그러면, 데이터처리유닛(235)은 요청된 모니터 정보가 디버깅 변수의 값임을 확인할 수 있다. 그런 다음, 데이터처리유닛(235)은 예컨대, 표 14와 같은, 디버깅 변수 리스트(VAR_LIST) 필드의 값('axis1_position, axis1_speed')을 확인한다. 이에 따라, 데이터처리유닛(235)은 통신 스터브(400)에서 디버깅 변수 'axis1_position, axis1_speed'의 값을 리턴하는 PLC 객체(410)의 메소드를 호출한다. 달리 설명하면, 디버깅 변수의 값을 리턴하는 PLC 객체(410)의 메소드를 호출하고, 디버깅 변수 'axis1_position, axis1_speed'의 값을 리턴하도록 매개변수를 입력하여, 그 메소드를 실행시킨다. 이에 따라, 데이터처리유닛(235)은 모니터 정보로 디버깅 변수 'axis1_position, axis1_speed'의 값을 추출할 수 있다.
또 다른 예로, 제1 실시예에 따르면, 모니터 요청 메시지는 표 10과 같이, 식별자가 'get_log'라고 가정한다. 그러면, 데이터처리유닛(235)은 요청된 모니터 정보가 로그 기록을 확인할 수 있다. 이때, 데이터처리유닛(235)은 통신 스터브(400)에서 모든 로그 기록을 리턴하는 PLC 객체(410)의 메소드를 호출한다. 달리 설명하면, 로그 기록을 리턴하는 PLC 객체(410)의 메소드를 호출하여, 모든 로그 기록을 리턴하도록 한다. 이에 따라, 데이터처리유닛(235)은 모니터 정보로 모든 로그 기록을 추출할 수 있다.
한편, 제2 실시예에 따르면, 모니터 요청 메시지에 표 13 혹은 표 14와 같이 식별자가 'get_log'이고, 라인 번호(LINE_NUM) 필드가 존재한다고 가정한다. 그러면, 데이터처리유닛(235)은 라인 번호(LINE_NUM) 필드의 값('0', '2')을 확인한다. 이에 따라, 데이터처리유닛(235)은 통신 스터브(400)에서 로그 메시지 중 첫 번째('0') 및 세 번째('2') 라인을 리턴하는 PLC 객체(410)의 메소드를 호출한다. 달리 설명하면, 디버깅 변수의 값을 리턴하는 PLC 객체(410)의 메소드를 호출하고, 로그 메시지의 첫 번째('0') 및 세 번째('2') 라인을 리턴하도록 매개변수를 지정하여, 그 메소드를 실행한다. 이에 따라, 데이터처리유닛(235)은 모니터 정보로 로그 메시지의 첫 번째('0') 및 세 번째('2') 라인을 포함하는 로그 기록을 추출할 수 있다.
전술한 바와 같이, 모니터 정보를 추출한 후, 데이터처리유닛(235)은 S330 단계에서 모니터 응답 메시지를 생성한다. 모니터 응답 메시지는 모니터 정보의 종류 및 모니터 요청 메시지에 따라 상이한 방식으로 생성된다.
일예로, 제1 실시예에 따르면, 추출된 모니터 정보가 EtherCAT 정보라고 가정한다. 표 9를 참조하면, 데이터처리유닛(235)은 먼저, 식별자 필드를 생성하고, 생성된 식별자 필드에 식별자 'get_ethercat_status'를 기록한다. 그런 다음, 데이터처리유닛(235)은 데이터 필드에 필요한 모니터 정보를 기록한다. 즉, 마스터 상태(MASTER_STAT) 필드에 제어 장치(200)의 EtherCAT 정보를 기입한다. 또한, 데이터처리유닛(235)은 슬레이브 번호(SLAVE_NUM) 필드에 모든 슬레이브 장치의 개수를 기입한다. 예컨대, 모두 2개의 슬레이브 장치가 존재하는 경우 2를 기록한다. 또한, 데이터처리유닛(235)은 추출된 슬레이브 장치(300) 각각의 EtherCAT 정보는 해당하는 필드에 기입한다. 예컨대, 표 9에 보인 형식과 같이, 첫 번째 슬레이브 장치(300)의 EtherCAT 정보는 첫 번째 슬레이브 상태(SLAVE_STAT_0) 필드에 기록하고, 두 번째 슬레이브 장치(300)의 EtherCAT 정보는 두 번째 슬레이브 상태(SLAVE_STAT_1) 필드에 기록한다.
다른 예로, 제2 실시예에 따르면, 추출된 모니터 정보가 EtherCAT 정보라고 가정한다. 표 18을 참조하면, 데이터처리유닛(235)은 먼저 식별자 필드를 생성하고, 생성된 식별자 필드에 식별자 'get_ethercat_status'를 기록한다. 그런 다음, 데이터처리유닛(235)은 데이터 필드에 필요한 모니터 정보를 기록한다. 즉, 데이터처리유닛(235)은 슬레이브 번호(SLAVE_NUM) 필드에 요청된 슬레이브 장치의 번호를 기입한다. 예컨대, 첫 번째 및 세 번째 슬레이브 장치(300)의 EtherCAT 정보가 요청된 경우, 표 18에 보인 바와 같이, '0', '2'을 기입한다. 또한, 데이터처리유닛(235)은 추출된 슬레이브 장치(300) 각각의 EtherCAT 정보는 해당하는 필드에 기입한다. 예컨대, 표 18에 보인 형식과 같이, 첫 번째 슬레이브 장치(300)의 EtherCAT 정보는 첫 번째 슬레이브 상태(SLAVE_STAT_0) 필드에 기록하고, 세 번째 슬레이브 장치(300)의 EtherCAT 정보는 세 번째 슬레이브 상태(SLAVE_STAT_2) 필드에 기록한다. 이때, 각 필드들은 앞서 설명된 바와 같이, 모니터 요청 메시지를 통해 미리 정의되거나, 데이터처리유닛(235)이 새로 생성하여, 추가할 수 있다. 예컨대, 데이터처리유닛(235)은 표 16과 같은 모니터 요청 메시지를 수신한 경우, 첫 번째 슬레이브 상태(SLAVE_STAT_0) 필드 및 세 번째 슬레이브 상태(SLAVE_STAT_2) 필드를 추가하고, 해당하는 필드에 첫 번째 및 세 번째 슬레이브 장치(300)의 EtherCAT 정보를 기입한다. 하지만, 표 17과 같은 모니터 요청 메시지를 수신한 경우, 모니터 요청 메시지가 지정한 필드 그대로, 첫 번째 슬레이브 상태(SLAVE_STAT_0) 필드 및 세 번째 슬레이브 상태(SLAVE_STAT_2) 필드에 해당하는 필드에 해당하는 슬레이브 장치(300)의 EtherCAT 정보를 기입한다.
다른 예로, 제1 실시예에 따르면, 추출된 모니터 정보가 디버깅 변수 리스트 및 형식이라고 가정한다. 표 3을 참조하면, 그러면, 먼저, 식별자 필드에 식별자 'get_variable_list'를 기입한다. 그런 다음, 디버깅 변수 리스트(VAR_LIST) 필드에 디버깅 변수 리스트를 기입하고, 형식 리스트(TYPE_LIS) 필드에 각 디버깅 변수의 형식을 기입한다.
또 다른 예로, 제1 실시예에 따르면, 추출된 모니터 정보가 모션 제어 어플리케이션 실행 상태라고 가정한다. 표 7을 참조하면, 먼저, 식별자 필드에 식별자 'get_plc_status'를 기입한다. 그런 다음, 상태 필드(STAT)에 모션 제어 어플리케이션 실행 상태를 기입한다.
또 다른 예로, 제1 실시예에 따르면, 추출된 모니터 정보가 디버깅 변수 값이라고 가정한다. 표 5를 참조하면, 데이터처리유닛(235)은 식별자 필드를 생성하고, 생성된 식별자 필드에 식별자 'get_value_list'를 기록한다. 그런 다음, 데이터처리유닛(235)은 디버깅 변수 리스트(VAR_LIST) 필드에 값이 추출된 디버깅 변수를 기입한다. 예컨대, 데이터처리유닛(235)은 디버깅 변수 'axis1_position, axis1_speed'의 값을 추출한 경우, 표 5에 보인 바와 같이, 'axis1_position, axis1_speed'를 기입한다. 또한, 데이터처리유닛(235)은 각 디버깅 변수의 값을 해당하는 필드에 기입한다. 예컨대, 표 5에 보인 형식과 같이, 디버깅 변수 'axis1_position'의 값은 axis1_position 값 필드(VAR_axis1_position)에 기록하고, 디버깅 변수 'axis1_speed'의 값은 axis1_speed 값 필드(VAR_axis1_speed)에 기록한다.
또 다른 예로, 제1 실시예에 따르면, 추출된 모니터 정보가 로그 기록이라고 가정한다. 표 11을 참조하면, 데이터처리유닛(235)은 식별자 필드에 식별자 'get_log'를 기록한다. 그런 다음, 데이터처리유닛(235)은 라인 번호(LINE_NUM) 필드에 추출된 로그 메시지의 전체 개수를 기입한다. 예컨대, 추출된 로그 메시지가 50 라인이면, 50을 기입한다. 또한, 데이터처리유닛(235)은 각 로그 메시지의 값을 해당하는 필드에 기입한다. 예컨대, 표 11에 보인바와 같이, 첫 번째부터 50번째까지의 메시지 필드(MSG_0 내지 MSG_49)에 각 라인의 로그 메시지를 기록한다.
또 다른 예로, 제2 실시예에 따르면, 추출된 모니터 정보가 로그 기록이라고 가정한다. 표 15를 참조하면, 데이터처리유닛(235)은 식별자 필드에 식별자 'get_log'를 기록한다. 그런 다음, 데이터처리유닛(235)은 라인 번호(LINE_NUM) 필드에 추출된 로그 메시지의 라인 번호를 기입한다. 예컨대, 추출된 첫 번째 및 세 번째 라인의 로그 메시지를 추출한 경우, 표 15와 같이, '0', '2'을 기입한다. 또한, 데이터처리유닛(235)은 각 라인의 로그 메시지를 해당하는 메시지 필드에 기입한다. 예컨대, 표 15에 보인 형식과 같이, 추출된 첫 번째 및 세 번째 라인의 로그 메시지를 해당하는 첫 번째 메시지 필드(MSG_0) 및 세 번째 메시지 필드(MSG_2)에 각각 기록한다. 이때, 각 필드들은 앞서 설명된 바와 같이, 모니터 요청 메시지를 통해 미리 정의되거나, 데이터처리유닛(235)이 새로 생성하여, 추가할 수 있다. 예컨대, 데이터처리유닛(235)은 표 13과 같은 모니터 요청 메시지를 수신한 경우, 첫 번째 메시지 필드(MSG_0) 및 세 번째 메시지 필드(MSG_2)를 추가하고, 해당하는 필드에 대응하는 로그 메시지를 기록한다. 하지만, 표 14와 같은 모니터 요청 메시지를 수신한 경우, 모니터 요청 메시지가 지정한 필드의 형식 그대로, 첫 번째 메시지 필드(MSG_0) 및 세 번째 메시지 필드(MSG_2)에 해당하는 로그 메시지를 기입한다.
전술한 바와 같이, 모니터 응답 메시지를 생성하면, 데이터처리유닛(235)은 생성된 모니터 응답 메시지를 인터페이스유닛(233)에 전달한다. 그러면, 인터페이스유닛(233)은 S340 단계에서 통신 모듈(210)을 통해 모니터 응답 메시지를 모바일 장치(100)로 전송한다.
한편, 본 발명의 실시예에 따른 원격 모니터를 위한 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
10: 네트워크 11: 기지국
100: 모바일 장치 110: 통신부
120: 입력부 130: 표시부
140: 저장부 150: 제어부
151: 통신처리유닛 153: 전송메시지처리유닛
155: 수신메시지처리유닛 200: 제어 장치
210: 통신 모듈 220: 저장 모듈
230: 제어 모듈 231: 모니터 서버
233: 인터페이스유닛 235: 데이터처리유닛
300: 슬레이브 장치 400: 통신 스터브
410: PLC 객체 500: 모션 제어 어플리케이션
600: EtherCAT 마스터 스택

Claims (26)

  1. 통신을 위한 통신부; 및
    EtherCAT 정보, 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 포함하는 복수의 모니터 정보 중 어느 하나를 나타내는 식별자를 포함하는 모니터 요청 메시지를 생성하고, 생성된 모니터 요청 메시지를 상기 통신부를 통해 제어 장치로 전송하도록 제어하는 제어부;를 포함하는 것을 특징으로 하는 원격 모니터를 위한 모바일 장치.
  2. 제1항에 있어서,
    화면 표시를 위한 표시부;를 더 포함하며,
    상기 제어부는 상기 통신부를 통해 상기 모니터 요청 메시지에 대응하여 상기 식별자에 상응하는 모니터 정보가 가변 길이의 형식으로 포함된 데이터를 가지는 모니터 응답 메시지를 수신하면, 상기 형식에 따라 상기 모니터 정보를 추출하고, 상기 표시부를 통해 추출된 모니터 정보를 표시하는 것을 특징으로 하는 원격 모니터를 위한 모바일 장치.
  3. 제1항에 있어서,
    상기 제어부는
    상기 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 주기적으로 실행되는 쓰레드를 통해 생성하며,
    상기 쓰레드가 실행되는 주기는 상기 모바일 장치와 상기 제어 장치와의 네트워크 상태에 따라 조절되는 것을 특징으로 하는 원격 모니터를 위한 모바일 장치.
  4. 제1항에 있어서,
    상기 제어부는
    상기 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 사용자의 입력에 따른 비주기적인 이벤트가 발생하는 경우 생성하는 것을 특징으로 하는 원격 모니터를 위한 모바일 장치.
  5. 제4항에 있어서,
    상기 제어부는
    상기 입력이 모니터 정보의 세부항목을 포함하는 경우, 상기 세부항목을 상기 모니터 정보의 종류에 따라 상기 모니터 요청 메시지의 데이터 필드에 정의하는 것을 특징으로 하는 원격 모니터를 위한 모바일 장치.
  6. 삭제
  7. 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 통신 모듈; 및
    상기 식별자에 대응하는 모니터 정보를 추출하고, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하여, 상기 생성된 모니터 응답 메시지를 상기 통신 모듈을 통해 상기 모바일 장치로 전송하도록 제어하는 제어 모듈;을 포함하며,
    상기 제어 모듈은
    모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면, 상기 식별자를 통해 EtherCAT 정보를 요청하는 것임을 확인하며, 요청된 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 EtherCAT 정보를 추출하는 것을 특징으로 하는 원격 모니터를 위한 제어 장치.
  8. 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 통신 모듈; 및
    상기 식별자에 대응하는 모니터 정보를 추출하고, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하여, 상기 생성된 모니터 응답 메시지를 상기 통신 모듈을 통해 상기 모바일 장치로 전송하도록 제어하는 제어 모듈;을 포함하며,
    상기 제어 모듈은
    모니터 정보로 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록 중 어느 하나를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면, 상기 식별자를 통해 상기 디버깅 변수 리스트, 상기 디버깅 변수의 값, 상기 실행 상태 및 상기 로그 기록 중 어느 하나의 모니터 정보를 요청하는 것을 확인하고, 통신 스터브(communication stub)에서 상기 요청된 모니터 정보에 상응하는 PLC 객체의 메소드를 호출하며, 상기 호출된 메소드를 이용하여 상기 요청된 모니터 정보를 추출하는 것을 특징으로 하는 원격 모니터를 위한 제어 장치.
  9. 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 통신 모듈; 및
    상기 식별자에 대응하는 모니터 정보를 추출하고, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하여, 상기 생성된 모니터 응답 메시지를 상기 통신 모듈을 통해 상기 모바일 장치로 전송하도록 제어하는 제어 모듈;을 포함하며,
    상기 제어 모듈은
    상기 모니터 요청 메시지의 데이터 필드에 모니터 정보의 세부항목이 정의되어 있으면, 상기 모니터 정보 중 정의된 세부항목만을 추출하여, 추출된 세부항목이 상기 정의에 따라 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 것을 특징으로 하는 원격 모니터를 위한 제어 장치.
  10. 제9항에 있어서,
    상기 제어 모듈은
    모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 슬레이브 장치 리스트를 포함하는 모니터 요청 메시지를 수신하면, 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하는 것을 특징으로 하는 원격 모니터를 위한 제어 장치.
  11. 제9항에 있어서,
    상기 제어 모듈은
    모니터 정보로 모션 제어 어플리케이션의 디버깅 변수의 값을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 모션 제어 어플리케이션의 디버깅 변수 리스트를 포함하는 모니터 요청 메시지를 수신하면,
    통신 스터브에서 상기 디버깅 변수를 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 디버깅 변수 리스트의 디버깅 변수의 값을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 디버깅 변수 리스트의 디버깅 변수의 값을 추출하는 것을 특징으로 하는 원격 모니터를 위한 제어 장치.
  12. 제9항에 있어서,
    상기 제어 모듈은
    모니터 정보로 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 상기 로그 기록의 라인번호를 포함하는 모니터 요청 메시지를 수신하면,
    통신 스터브에서 상기 로그 기록을 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 라인번호에 상응하는 로그 기록을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 라인번호에 상응하는 로그 기록을 추출하는 것을 특징으로 하는 원격 모니터를 위한 제어 장치.
  13. EtherCAT 정보, 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 포함하는 복수의 모니터 정보 중 어느 하나를 나타내는 식별자를 가지는 모니터 요청 메시지를 생성하는 단계; 및
    상기 생성된 모니터 요청 메시지를 제어 장치로 전송하는 단계;를 포함하는 것을 특징으로 하는 모바일 장치의 원격 모니터를 위한 방법.
  14. 제13항에 있어서,
    상기 모니터 요청 메시지에 대응하여 상기 식별자에 상응하는 모니터 정보가 가변 길이의 형식으로 포함된 데이터를 가지는 모니터 응답 메시지를 수신하는 단계;
    상기 형식에 따라 상기 모니터 정보를 추출하는 단계; 및
    상기 추출된 모니터 정보를 표시하는 단계;를 포함하는 것을 특징으로 하는 모바일 장치의 원격 모니터를 위한 방법.
  15. 제13항에 있어서,
    상기 생성하는 단계는
    상기 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 주기적으로 실행되는 쓰레드를 통해 생성하는 단계를 포함하며,
    상기 쓰레드가 실행되는 주기는 상기 모바일 장치와 상기 제어 장치와의 네트워크 상태에 따라 조절되는 것을 특징으로 하는 모바일 장치의 원격 모니터를 위한 방법.
  16. 제13항에 있어서,
    상기 생성하는 단계는
    상기 복수의 모니터 정보 중 기 설정된 일부를 요청하는 모니터 요청 메시지를 사용자의 입력에 따른 비주기적인 이벤트가 발생하는 경우 생성하는 것을 특징으로 하는 모바일 장치의 원격 모니터를 위한 방법.
  17. 제16항에 있어서,
    상기 생성하는 단계는
    상기 입력이 모니터 정보의 세부항목을 포함하는 경우, 상기 세부항목을 상기 모니터 정보의 종류에 따라 상기 모니터 요청 메시지의 데이터 필드에 정의하는 것을 특징으로 하는 모바일 장치의 원격 모니터를 위한 방법.
  18. 삭제
  19. 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 단계;
    상기 식별자에 대응하는 모니터 정보를 추출하여, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 단계; 및
    상기 생성된 모니터 응답 메시지를 상기 모바일 장치로 전송하는 단계;를 포함하며,
    상기 생성하는 단계는
    모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면, 상기 식별자를 통해 EtherCAT 정보를 요청하는 것임을 확인하며, 요청된 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 EtherCAT 정보를 추출하는 것을 특징으로 하는 제어 장치의 원격 모니터를 위한 방법.
  20. 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 단계;
    상기 식별자에 대응하는 모니터 정보를 추출하여, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 단계; 및
    상기 생성된 모니터 응답 메시지를 상기 모바일 장치로 전송하는 단계;를 포함하며,
    상기 생성하는 단계는
    모니터 정보로 모션 제어 어플리케이션의 디버깅 변수 리스트, 모션 제어 어플리케이션의 디버깅 변수의 값, 모션 제어 어플리케이션의 실행 상태 및 모션 제어 어플리케이션으로부터 출력되는 로그 기록 중 어느 하나를 나타내는 식별자를 가지는 모니터 요청 메시지를 수신하면,
    상기 식별자를 통해 상기 디버깅 변수 리스트, 상기 디버깅 변수의 값, 상기 실행 상태 및 상기 로그 기록 중 어느 하나의 모니터 정보를 요청하는 것을 확인하고, 통신 스터브(communication stub)에서 상기 요청된 모니터 정보에 상응하는 PLC 객체의 메소드를 호출하며, 상기 호출된 메소드를 이용하여 상기 요청된 모니터 정보를 추출하는 것을 특징으로 하는 제어 장치의 원격 모니터를 위한 방법.
  21. 모바일 장치로부터 모니터 정보의 종류를 나타내는 식별자를 포함하는 모니터 요청 메시지를 수신하는 단계;
    상기 식별자에 대응하는 모니터 정보를 추출하여, 상기 추출된 모니터 정보가 상기 추출된 모니터 정보에 따른 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 단계; 및
    상기 생성된 모니터 응답 메시지를 상기 모바일 장치로 전송하는 단계;를 포함하며,
    상기 생성하는 단계는
    상기 모니터 요청 메시지의 데이터 필드에 모니터 정보의 세부항목이 정의되어 있으면, 상기 모니터 정보 중 정의된 세부항목만을 추출하여, 추출된 세부항목이 상기 정의에 따라 가변 길이 형식으로 데이터에 포함되는 모니터 응답 메시지를 생성하는 것을 특징으로 하는 제어 장치의 원격 모니터를 위한 방법.
  22. 제21항에 있어서,
    상기 생성하는 단계는
    모니터 정보로 EtherCAT 정보를 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 슬레이브 장치 리스트를 포함하는 모니터 요청 메시지를 수신하면, 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하도록 하는 EtherCAT 마스터 스택의 명령어 라인 툴(command-line tool)의 명령어를 실행하고, 상기 실행에 따라 출력되는 문자열을 파싱하여 상기 세부항목에 포함된 슬레이브 장치의 EtherCAT 정보를 추출하는 것을 특징으로 하는 제어 장치의 원격 모니터를 위한 방법.
  23. 제21항에 있어서,
    상기 생성하는 단계는
    모니터 정보로 모션 제어 어플리케이션의 디버깅 변수의 값을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 모션 제어 어플리케이션의 디버깅 변수 리스트를 포함하는 모니터 요청 메시지를 수신하면,
    통신 스터브에서 상기 디버깅 변수를 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 디버깅 변수 리스트의 디버깅 변수의 값을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 디버깅 변수 리스트의 디버깅 변수의 값을 추출하는 것을 특징으로 하는 제어 장치의 원격 모니터를 위한 방법.
  24. 제21항에 있어서,
    상기 생성하는 단계는
    모니터 정보로 모션 제어 어플리케이션으로부터 출력되는 로그 기록을 나타내는 식별자를 가지며, 상기 데이터 필드에 세부항목으로 상기 로그 기록의 라인번호를 포함하는 모니터 요청 메시지를 수신하면,
    통신 스터브에서 상기 로그 기록을 리턴하는 PLC 객체의 메소드를 호출하고, 상기 메소드가 상기 라인번호에 상응하는 로그 기록을 리턴하도록 하는 매개변수를 입력하여 상기 메소드를 실행시키고, 상기 실행에 따라 상기 라인번호에 상응하는 로그 기록을 추출하는 것을 특징으로 하는 제어 장치의 원격 모니터를 위한 방법.
  25. 제13항 내지 제17항 중 어느 한 항에 따른 모바일 장치의 원격 모니터 방법을 실행하는 명령어가 기록된 컴퓨터 판독 가능한 기록매체.
  26. 제19항 내지 제24항 중 어느 한 항에 따른 제어 장치의 원격 모니터 방법을 실행하는 명령어가 기록된 컴퓨터 판독 가능한 기록매체.
KR1020150066024A 2015-05-12 2015-05-12 모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체 KR101792655B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150066024A KR101792655B1 (ko) 2015-05-12 2015-05-12 모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150066024A KR101792655B1 (ko) 2015-05-12 2015-05-12 모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20160133601A KR20160133601A (ko) 2016-11-23
KR101792655B1 true KR101792655B1 (ko) 2017-11-03

Family

ID=57541995

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150066024A KR101792655B1 (ko) 2015-05-12 2015-05-12 모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101792655B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107632593A (zh) * 2017-10-12 2018-01-26 深圳市雷赛控制技术有限公司 一种EtherCAT总线的控制方法和设备
CN109669417A (zh) * 2018-12-25 2019-04-23 西安拽亘弗莱工业自动化科技有限公司 基于软plc的电子凸轮真空叶片灌肠机控制系统及方法
KR102121320B1 (ko) * 2019-02-19 2020-06-10 정충교 LoRa 통신 성능분석 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140062848A (ko) 2012-11-15 2014-05-26 대우조선해양 주식회사 이동식 용접로봇의 제어시스템

Also Published As

Publication number Publication date
KR20160133601A (ko) 2016-11-23

Similar Documents

Publication Publication Date Title
US9167673B2 (en) Method for controlling a plurality of street lamps
KR102504201B1 (ko) 전자 장치 및 이의 알림 출력 제어 방법
CN107003836B (zh) 用于所连接的消费者设备的灵活设备模板
CN105634881A (zh) 应用场景推荐方法及装置
KR101792655B1 (ko) 모션 제어 시스템의 원격 모니터를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체
CN104468363A (zh) 页面重定向方法、路由设备、终端设备及系统
CN104065526A (zh) 一种服务器故障报警的方法和装置
US20190132387A1 (en) Dynamic flow control for stream processing
CA3035599C (en) Systems and methods for discovering configurations of legacy control systems
CN105227606A (zh) 应用程序适配方法和装置
US10466688B2 (en) Apparatus and method for providing event context with notifications related to industrial process control and automation system
CN105792025A (zh) 设备信息的获取方法及终端
US20220342742A1 (en) Graphical management of big data pipelines
KR101620564B1 (ko) 웹 기반의 감시제어 서비스 제공방법 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체
CN108702308B (zh) 用于智能事件分页的系统和方法
CN115134240B (zh) 智能场景优化方法、装置、存储介质及电器设备
JP5959535B2 (ja) クライアントからネットワークを介して携帯端末にアクセスするためのサーバ、方法、及び、コンピュータを該サーバとして機能させるプログラム
US20160006857A1 (en) Underlying message method and system
WO2016143104A1 (ja) 制御システム
JP2015211342A (ja) デバイス管理サーバおよびその動作方法
KR101599239B1 (ko) 푸쉬메시지 모니터링 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체
CN117270956B (zh) 硬件设备的配置方法、客户端、硬件设备网管系统及介质
US10880151B2 (en) Notification control device, notification control system, notification control method, and storage medium
CN106713453A (zh) 一种应用信息监控方法和装置
CN107682531B (zh) 终端控制方法及系统

Legal Events

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