KR102236158B1 - 제어 프로그램을 실행하는 단말 장치 - Google Patents
제어 프로그램을 실행하는 단말 장치 Download PDFInfo
- Publication number
- KR102236158B1 KR102236158B1 KR1020170064926A KR20170064926A KR102236158B1 KR 102236158 B1 KR102236158 B1 KR 102236158B1 KR 1020170064926 A KR1020170064926 A KR 1020170064926A KR 20170064926 A KR20170064926 A KR 20170064926A KR 102236158 B1 KR102236158 B1 KR 102236158B1
- Authority
- KR
- South Korea
- Prior art keywords
- control program
- target device
- control target
- program
- control
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 69
- 230000015654 memory Effects 0.000 claims abstract description 62
- 230000005856 abnormality Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 35
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 36
- 238000009434 installation Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0267—Fault communication, e.g. human machine interface [HMI]
- G05B23/0272—Presentation of monitored results, e.g. selection of status reports to be displayed; Filtering information to the user
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/0227—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
- G05B23/0235—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0264—Control of logging system, e.g. decision on which data to store; time-stamping measurements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0267—Fault communication, e.g. human machine interface [HMI]
- G05B23/027—Alarm generation, e.g. communication protocol; Forms of alarm
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 제어 프로그램을 실행하는 단말 장치에 관한 것이다. 본 발명의 일 실시예에 따른 단말 장치는 제어 대상 장치를 관리하는 하위 제어 프로그램 및 상기 하위 제어 프로그램을 실행하는 상위 제어 프로그램 중 적어도 하나가 설치된 적어도 하나의 메모리, 상기 메모리와 통신하며 상기 상위 제어 프로그램 또는 상기 하위 제어 프로그램을 실행하는 적어도 하나의 프로세서, 및 외부 장치와의 통신을 수행하는 통신부를 포함하고, 상기 하위 제어 프로그램은, 상기 제어 대상 장치의 상태 값을 획득하는 단계와, 상기 제어 대상 장치의 상태 값이 미리 정해진 정상 동작 범위에 포함되는지 여부를 판단하는 단계와, 상기 제어 대상 장치의 상태 값이 상기 정상 동작 범위를 벗어나는 경우, 상기 제어 대상 장치에 이상이 발생했음을 상기 상위 제어 프로그램에 보고하는 단계를 실행한다.
Description
본 발명은 제어 프로그램을 실행하는 단말 장치에 관한 것이다.
산업 현장에 설치되는 전력 기기나 설비, 즉 제어 대상 장치를 제어하기 위해서, 각각의 장치에 적합한 관리 기능을 수행하는 제어 프로그램이 존재한다.
도 1은 종래의 개별적 프로그램 제어 방법을 설명하기 위한 도면이다.
도 1을 참조하면, 종래에는 개별적 프로그램 제어 방법을 이용하여 프로그램을 관리한다. 개별적 프로그램 제어 방법은 제어 대상 장치 별로 해당 제어 대상 장치에 대한 제어 기능을 각각의 프로그램으로 구현함으로써, 각각의 프로그램을 통해 해당 제어 대상 장치를 관리 하는 방법이다.
예를 들어, 제어 대상 장치(10_1)에 대한 프로그램(20_1)은 제어 대상 장치(10_1)에 대한 관리(즉, 모니터링 또는 제어) 기능을, 제어 대상 장치(10_2)에 대한 프로그램(20_2)은 제어 대상 장치(10_2)에 대한 관리 기능을, 제어 대상 장치(10_3)에 대한 프로그램(20_3)은 제어 대상 장치(10_3)에 대한 관리 기능을 각각 수행한다.
그런데, 도 1과 같은 개별적 프로그램 제어 방법을 사용할 경우, 각각의 제어 대상 장치를 관리하기 위하여, 사용자는 각각의 제어 대상 장치에 대응되는 제어 프로그램을 스스로 검색하여 단말 장치(예컨대, 컴퓨터 또는 스마트폰)에 설치하여야 하는 불편함이 있다. 이와 같이 제어 프로그램을 검색하는 과정에서, 사용자가 제어 대상 장치의 종류, 모델명 등을 확인하기 어렵거나 어떤 제어 프로그램이 적합한 프로그램인지를 판단하기가 어려운 문제가 있다.
또한, 제어 대상 장치의 수가 증가할수록 설치되어야 하는 제어 프로그램의 수도 증가하게 된다. 이와 같이 제어 프로그램의 수가 증가하게 되면, 특정 제어 대상 장치에 대한 제어 프로그램의 설치 여부를 확인하기가 어려워 이미 설치된 제어 프로그램의 설치를 다시 시도하는 등의 문제가 발생한다.
사용자가 관리 하고자 하는 제어 대상 장치의 개수가 증가할수록 제어 대상 장치의 개수에 비례한 다수의 프로그램을 단말 장치(30)에 다운로드 하여 설치해야 하며, 이러한 경우 단말 장치(30)에 설치되는 프로그램의 개수가 증가하게 되어 사용자 단말 장치(30)에서 디스플레이 하는 프로그램의 아이콘의 개수가 증가하게 된다. 이때, 단말 장치(30) 상의 아이콘만을 보고, 특정 제어 대상 장치를 관리하는 프로그램에 대한 아이콘을 쉽게 확인하기 어렵다는 문제가 있다.
한편, 단말 장치에 설치된 제어 프로그램의 개수가 증가하게 되면, 사용자가 원하는 제어 프로그램을 실행하기 위한 실행 버튼 또는 아이콘의 위치나 설치된 각각의 제어 프로그램이 어떤 제어 대상 장치의 제어 프로그램인지를 확인하기가 어렵다는 문제도 있다.
도 2는 종래 하위 제어 프로그램이 설치되어 있는 단말 장치(30)에서 디스플레이 하는 아이콘을 나타낸다.
단말 장치(30)에는 제어 대상 장치(10_1)를 관리하는 프로그램(20_1)이 설치되어 있으나, 사용자는 복수의 아이콘 중에서 제어 대상 장치(10_1)를 관리하는 프로그램(20_1)을 나타내는 아이콘을 쉽게 확인하기 어렵다는 문제가 있다.
또한, 프로그램(20_1)에 대한 아이콘을 찾지 못하여, 중복적으로 프로그램(20_1)을 재설치 하게 되는 경우도 있다. 이와 같이, 도 2의 사용자는 제어 대상 장치(10_1, 10_2, 10_3) 각각을 관리하는 프로그램(20_1, 20_2, 20_3)을 나타내는 아이콘이 무엇인지 미리 파악하고 있어야 한다. 즉, 사용자는 해당 프로그램을 지시하는 아이콘이 무엇이며, 아이콘이 어느 위치에 배치되어 있는지 미리 파악하고 있어야 한다는 불편함이 있다.
또한, 특정 제어 대상 장치를 관리하는 제어 프로그램이 업데이트 되는 경우, 사용자가 업데이트가 필요한 제어 프로그램을 개별적으로 확인하기 어렵거나, 제어 프로그램을 쉽게 업데이트하기 어려운 문제가 있다.
이러한 문제를 해결하기 위하여, 통합적 프로그램 제어 방법이 사용되기도 한다. 도 3은 종래의 통합적 프로그램 제어 방법을 설명하기 위한 도면이다.
도 3에 도시된 종래의 통합적 프로그램 제어 방법은 제어 대상 장치 각각에 대한 관리 기능을 통합 프로그램(40)으로 구현함으로써, 통합 프로그램(40)을 통해 복수의 제어 대상 장치를 관리하는 방법이다.
예를 들어, 제어 대상 장치(10_1), 제어 대상 장치(10_2), 및 제어 대상 장치(10_3)가 존재하는 경우, 통합 프로그램(40)은 제어 대상 장치(10_1)를 관리하기 위한 기능, 제어 대상 장치(10_2)를 관리하기 위한 기능 및 제어 대상 장치(10_3)를 관리하기 위한 기능을 모두 포함한다.
도 3과 같은 통합적 프로그램 제어 방법을 사용할 경우, 사용자가 제어 대상 장치 중 특정 제어 대상 장치만을 관리하는 경우에도 통합 프로그램(40)을 단말 장치(30)에 설치해야 하므로, 자신이 사용하지 않는 제어 대상 장치를 관리하기 위한 기능까지 단말 장치(30)에 모두 설치해야 하는 비효율적인 문제가 있다.
예를 들어, 제어 대상 장치(10_1), 제어 대상 장치(10_2), 및 제어 대상 장치(10_3)가 존재하고 사용자가 관리하는 제어 대상 장치는 제어 대상 장치(10_1)이더라도 통합 프로그램(40)을 단말 장치(30)에 설치해야 하므로, 단말 장치(30)에는 제어 대상 장치(10_1)를 관리하기 위한 기능, 제어 대상 장치(10_2)를 관리하기 위한 기능, 및 제어 대상 장치(10_3)를 관리하기 위한 기능이 설치된다. 이때, 사용자가 관리하는 제어 대상 장치는 제어 대상 장치(10_1)이므로, 통합 프로그램(40) 중 제어 대상 장치(10_1)를 관리하기 위한 기능만을 사용하고, 제어 대상 장치(10_2)를 관리하기 위한 기능 및 제어 대상 장치(10_3)를 관리하기 위한 기능은 사용하지 않게 되어, 메모리를 비효율적으로 사용하게 된다는 문제가 있다.
또한, 통합 프로그램(40)은 특정 시간 간격 또는 제어 대상 장치 각각의 관리를 위한 기능이 갱신될 때 마다 업데이트될 수 있다. 이와 같이, 통합 프로그램(40)과 같이 제어 대상 장치(10_1, 10_2, 10_3)의 관리를 위한 모든 기능이 구현되어 있는 경우에는 통합 프로그램(40)에 구현된 기능이 다양하여, 그 만큼 갱신되는 횟수가 많아 사용자는 통합 프로그램(40)의 기능이 갱신될 때마다 통합 프로그램(40)을 업데이트해야 한다는 번거로움이 있다.
예를 들어, 통합 프로그램(40)에 제어 대상 장치(10_1), 제어 대상 장치(10_2), 및 제어 대상 장치(10_3) 각각에 대한 관리를 위한 기능이 구현되어 있는 경우에는 제어 대상 장치(10_1)의 기능이 갱신되면 통합 프로그램(40)을 업데이트해야 하고, 제어 대상 장치(10_2)의 기능이 갱신되면 통합 프로그램(40)을 업데이트해야 하고, 제어 대상 장치(10_3)의 기능이 갱신되면 통합 프로그램(40)을 업데이트해야 한다.
도 1에 도시된 종래의 개별적 프로그램 제어 방법 또는 도 3에 도시된 종래의 통합적 프로그램 제어 방법을 사용할 경우, 제어 대상 장치의 상태 값(예를 들어, 전류 값, 전압 값, 전력 값 또는 주파수 값)의 변화에 따라 사용자가 직접 제어 프로그램을 통제해야 한다는 번거로움이 있다.
또한, 제어 대상 장치의 동일한 상태 값에 대하여 다른 사용자 또는 다른 단말 장치에 설치된 제어 프로그램에 따라 상이하게 제어 프로그램을 통제하는 문제도 있다.
본 발명은 사용자가 제어 대상 장치나 제어 프로그램의 종류를 직접 확인하지 않고도, 각 제어 대상 장치에 적합한 제어 프로그램을 용이하게 설치할 수 있는 제어 프로그램을 실행하는 단말 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 설치된 제어 프로그램의 수가 증가하더라도 사용자가 각 제어 프로그램의 설치 여부나, 각 제어 프로그램의 실행 버튼 또는 아이콘의 위치를 용이하게 확인할 수 있는 제어 프로그램을 실행하는 단말 장치를 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 각 제어 대상 장치에 대응되는 제어 프로그램의 업데이트 필요 여부를 확인하고, 제어 프로그램을 용이하게 업데이트할 수 있는 제어 프로그램을 실행하는 단말 장치를 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 설치된 제어 프로그램에 대응되는 제어 대상 장치를 사용자가 신속하게 확인하고, 제어 프로그램을 간편하게 실행할 수 있는 제어 프로그램을 실행하는 단말 장치를 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 제어 대상 장치의 상태 값의 변화에 따라 제어 대상 장치의 정상 동작 여부를 확인하고, 제어 프로그램을 용이하게 통제할 수 있는 제어 프로그램을 실행하는 단말 장치를 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 제어 대상 장치의 상태 값에 따라 적합하게 제어 프로그램을 통제할 수 있는 제어 프로그램을 실행하는 단말 장치를 제공하는 것을 다른 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기의 목적을 달성하기 위해 본 발명의 단말 장치는 제어 대상 장치를 관리하는 하위 제어 프로그램 및 상기 하위 제어 프로그램을 실행하는 상위 제어 프로그램 중 적어도 하나가 설치된 적어도 하나의 메모리, 상기 메모리와 통신하며 상기 상위 제어 프로그램 또는 상기 하위 제어 프로그램을 실행하는 적어도 하나의 프로세서, 및 외부 장치와의 통신을 수행하는 통신부를 포함하고, 상기 하위 제어 프로그램은, 상기 제어 대상 장치의 상태 값을 획득하는 단계와, 상기 제어 대상 장치의 상태 값이 미리 정해진 정상 동작 범위에 포함되는지 여부를 판단하는 단계와, 상기 제어 대상 장치의 상태 값이 상기 정상 동작 범위를 벗어나는 경우, 상기 제어 대상 장치에 이상이 발생했음을 상기 상위 제어 프로그램에 보고하는 단계를 실행한다.
또한, 상기 상위 제어 프로그램은 상기 하위 제어 프로그램으로부터 상기 제어 대상 장치에 이상이 발생했음을 보고 받으면 알람을 발생하는 단계를 실행할 수 있다.
또한, 상기 상위 제어 프로그램은 상기 제어 대상 장치의 상태 값이 상기 정상 동작 범위로부터 미리 결정된 오차 범위를 벗어나는지 확인하는 단계와, 상기 제어 대상 장치의 상태 값이 상기 오차 범위를 벗어나는 경우 알람을 발생하는 단계를 실행할 수 있다.
또한, 상기 상위 제어 프로그램은 상기 제어 대상 장치의 상태 값이 상기 정상 동작 범위를 벗어나는 경우, 상기 하위 제어 프로그램의 로그 파일 중 최빈값을 이용하여 상기 하위 제어 프로그램을 통제하는 단계를 실행할 수 있다.
또한, 상기 상위 제어 프로그램은 상기 최빈값이 복수인 경우, 사용자로부터 선택된 상기 최빈값을 이용하여 상기 하위 제어 프로그램을 통제하는 단계를 실행할 수 있다.
또한, 상기 하위 제어 프로그램은 다른 장치에서 생성된 상기 하위 제어 프로그램의 로그 파일을 수신하는 단계를 더 실행할 수 있다.
본 발명에 따르면 사용자가 제어 대상 장치나 제어 프로그램의 종류를 직접 확인하지 않고도, 각 제어 대상 장치에 적합한 제어 프로그램을 용이하게 설치할 수 있는 장점이 있다.
또한, 본 발명에 따르면 설치된 제어 프로그램의 수가 증가하더라도 사용자가 각 제어 프로그램의 설치 여부나, 각 제어 프로그램의 실행 버튼 또는 아이콘의 위치를 용이하게 확인할 수 있는 장점이 있다.
또한, 본 발명에 따르면 각 제어 대상 장치에 대응되는 제어 프로그램의 업데이트 필요 여부를 확인하고, 제어 프로그램을 용이하게 업데이트할 수 있는 장점이 있다.
또한, 본 발명에 따르면 설치된 제어 프로그램에 대응되는 제어 대상 장치를 사용자가 신속하게 확인하고, 제어 프로그램을 간편하게 실행할 수 있는 장점이 있다.
또한, 본 발명에 따르면 제어 대상 장치의 상태 값의 변화에 따라 제어 대상 장치의 정상 동작 여부를 확인하고, 제어 프로그램을 용이하게 통제할 수 있는 장점이 있다.
또한, 본 발명에 따르면 제어 대상 장치의 상태 값에 따라 적합하게 제어 프로그램을 통제할 수 있는 장점이 있다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 종래의 개별적 프로그램 제어 방법을 설명하기 위한 도면이다.
도 2는 종래 하위 제어 프로그램이 설치되어 있는 단말 장치에서 디스플레이 하는 아이콘을 나타낸다.
도 3은 종래의 통합적 프로그램 제어 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 단말 장치 및 단말 장치를 포함하는 프로그램 제어 시스템을 나타내는 도면이다.
도 5는 도 4의 메모리에 저장된 프로그램 및 관련 데이터의 구성을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 순서도이다.
도 7은 본 발명의 몇몇 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램 및 하위 제어 프로그램이 실행되는 순서도이다.
도 2는 종래 하위 제어 프로그램이 설치되어 있는 단말 장치에서 디스플레이 하는 아이콘을 나타낸다.
도 3은 종래의 통합적 프로그램 제어 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 단말 장치 및 단말 장치를 포함하는 프로그램 제어 시스템을 나타내는 도면이다.
도 5는 도 4의 메모리에 저장된 프로그램 및 관련 데이터의 구성을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 순서도이다.
도 7은 본 발명의 몇몇 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램 및 하위 제어 프로그램이 실행되는 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서, 도 4 내지 도 10을 참조하여 본 발명의 몇몇 실시예에 따른 제어 프로그램을 실행하는 단말 장치에 대해 설명하도록 한다. 참고로, 본 명세서에서 복수의 제어 대상 장치(10_1~10_3)에 대하여 공통적 또는 일반적인 설명을 하는 경우, 제어 대상 장치(10)로 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 단말 장치 및 단말 장치를 포함하는 프로그램 제어 시스템을 나타내는 도면이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 단말 장치(50)는 메모리(52), 프로세서(54), 및 통신부(56)를 포함하고, 메모리(52)는 상위 제어 프로그램(520) 및 하위 제어 프로그램(522_1~522_3)을 포함할 수 있다.
메모리(52)는 RAM(Random Access Memory)과 같이 프로세서(54)에 의한 실행을 위한 동적 정보 및 명령어들을 저장하는 동적 저장 디바이스를 포함할 수 있다.
또한, 메모리(52)는 ROM(Read Only Memory)과 같이 프로세서(54)에 의한 사용을 위한 정적 정보 및 명령어들을 저장하는 정적 저장 디바이스를 포함할 수 있다. 메모리(52)는 휘발성 메모리 유닛 또는 비휘발성 메모리 유닛일 수 있다. 메모리(52)는 또한 자기 또는 광디스크와 같은 컴퓨터 판독가능 매체의 또 다른 유형일 수 있다.
프로세서(54)는 임의의 유형의 종래의 프로세서, 마이크로프로세서, 또는 명령어들을 해석하고 실행하는 프로세싱 로직을 포함할 수 있다.
프로세서(54)는 고속 인터페이스에 결합된 디스플레이와 같은 외부의 입력/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)를 위한 그래픽정보를 디스플레이하기 위해 메모리(52) 내에 저장된 명령어들을 실행할 수 있다.
본 발명의 다른 실시예에서, 다수의 프로세서들이 다수의 메모리들과 함께 사용될 수 있다. 일부 실시예들에서, 프로세서(54)는 컴퓨터 실행가능 명령어들을 실행함으로써 또는 프로그래밍 됨으로써 특수 목적 마이크로프로세서로 변형될 수 있다.
통신부(65)는 외부 장치와 통신을 수행하는 모듈 또는 프로그램을 포함한다. 예를 들어, 통신부(65)는 제어 대상 장치(10)로부터 수신한 연결 정보(640)를 참조하여, 제어 대상 장치(10)와 통신할 수 있다.
통신부(65)에서 서버(60) 또는 제어 대상 장치(10)와 통신을 위해 이용하는 통신 규약은, 예를 들어, CDMA(Code Division Multiple Access) 통신, WCDMA(Wideband Code Division Multiple Access) 통신 혹은, 광대역 무선 통신을 포함한다. 이때, 무선 통신망으로는 무선랜(WLAN), 와이 파이(Wi-Fi), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), 롱 텀 에볼루션(Long Term Evolution: LTE), IEEE802.16, 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 포함될 수 있다.
또한, 근거리 무선 통신망으로는 비콘(Beacon), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee) 및 지웨이브(Z-Wave) 등이 포함될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
제어 대상 장치(10)는 전력값을 측정하는 전력 기기와 같은 산업 장비 또는 산업 제어 대상 장치를 포함할 수 있다. 예를 들어, 제어 대상 장치(10)는 MCCB(Molded Case Circuit Breaker), MCB(Miniature circuit breaker), ACB(Air Circuit Breaker), VCB(Vacuum circuit breaker), Digital relay 또는 PLC(programmable logic controller)를 포함할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
제어 대상 장치(10)는 제어 대상 장치(10)와 단말 장치(50) 사이의 통신을 제공하는 통신 모듈을 포함할 수 있다. 구체적으로, 통신 모듈은 내장형으로 구현되는 경우 제어 대상 장치(10)에 내장되어 있거나, 외장형으로 구현되는 경우 제어 대상 장치(10)의 외장에 탈부착될 수 있다.
본 발명의 일 실시예에서, 통신 모듈이 내장형으로 구현되는 경우 특정 제어 대상 장치(10)의 내부에 고정되어 제어 대상 장치(10)와 단말 장치(50)사이의 통신을 제공할 수 있다. 구체적으로, 통신 모듈은 제어 대상 장치(10)에 연결될 때마다 제어 대상 장치(10)로부터 제어 대상 장치 정보를 수신하여 통신 모듈 내부의 메모리에 제어 대상 장치 정보를 저장할 수 있다. 예를 들어, 제어 대상 장치 정보는 제어 대상 장치의 종류 및 제어 대상 장치의 식별 정보를 포함할 수 있다.
통신 모듈은 제어 대상 장치 정보를 단말 장치(50)에 제공함으로써 단말 장치(50)에서 제어 대상 장치 정보와 함께 연결 정보(640)(즉, 제어 대상 장치(10)와 하위 제어 프로그램을 연결하여, 관리하는 통신을 위한 연결 데이터)를 서버(60)에 제공하여 서버(60)가 제어 대상 장치 정보 별 연결 정보(640)를 저장할 수 있도록 한다. 이러한 과정은 이하의 단말 장치(50) 및 서버(60)를 설명하면서 보다 구체적으로 설명하기로 한다.
단말 장치(50)는 제어 대상 장치(10)와 통신이 연결되면, 복수의 프로그램 중 제어 대상 장치(10)를 관리할 수 있는 프로그램을 실행하는 장치를 포함한다. 예를 들어, 단말 장치(50)는 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙 박스(black box) 또는 디지털 카메라(digital camera) 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니다.
단말 장치(50)에는 제어 대상 장치 중 특정 제어 대상 장치(10)와 특정 프로그램을 연결하는 상위 제어 프로그램(520) 및 하위 제어 프로그램(522)이 설치될 수 있다. 예를 들어, 하위 제어 프로그램(522)은 단말 장치(50)에 설치되어 상위 제어 프로그램(520)에 의하여 실행되면, 특정 제어 대상 장치(10)와 통신을 연결한 후 특정 제어 대상 장치(10)에 대한 관리를 수행하는 프로그램을 포함할 수 있다.
상위 제어 프로그램(520)은 자동으로 또는 사용자로부터 수신한 명령에 의해 서버(60)에 저장되어 있는 하위 제어 프로그램(522)을 서버(60)로부터 획득하여 단말 장치(50)의 메모리(52)에 설치할 수 있다.
상위 제어 프로그램(520)은 하위 제어 프로그램(522)으로부터 제어 대상 장치(10)에 이상이 발생했음을 보고 받으면 알람을 발생할 수 있다. 이때, 제어 대상 장치(10)에 대한 이상은 미리 저장된 정상 동작 범위를 참조하여 판단할 수 있다.
예를 들어, 상위 제어 프로그램(520)은 단말 장치(50)의 알람부를 통해 빛 또는 소리를 이용해 알람을 발생하거나, 단말 장치(50)의 디스플레이부에 메시지 형태로 알람을 표시할 수 있다.
상위 제어 프로그램(520)은 하위 제어 프로그램(522)으로부터 제어 대상 장치(10)에 이상이 발생했음을 보고 받으면, 제어 대상 장치(10)의 상태 값이 정상 동작 범위로부터 미리 결정된 오차 범위를 벗어나는지 확인하고, 제어 대상 장치의 상태 값이 오차 범위를 벗어나는 경우 알람을 발생할 수 있다.
상위 제어 프로그램(520)은 제어 대상 장치(10)의 상태 값이 정상 동작 범위를 벗어나는 경우, 하위 제어 프로그램(522)의 로그 파일 중 최빈값을 이용하여 하위 제어 프로그램을 통제할 수 있다.
예를 들어, 상위 제어 프로그램(520)은 로그 파일 중 최빈값에 따라 하위 제어 프로그램(522)을 통제할 수 있다.
또한, 상위 제어 프로그램(520)은 최빈값이 복수인 경우, 사용자로부터 선택된 최빈값을 이용하여 하위 제어 프로그램(522)을 통제할 수 있다.또한, 상위 제어 프로그램(520)은 자동으로 또는 사용자로부터 수신한 명령에 의해 단말 장치(50)에 저장되어 있는 하위 제어 프로그램(522)을 검색하고, 검색을 통해 획득한 하위 제어 프로그램(522)을 단말 장치(50)의 메모리(52)에 설치할 수 있다.
이와 같이, 본 명세서에서 사용하는 프로그램의 '저장'과 프로그램의 '설치'에 대하여 서로 의미를 구별하여 사용한다. 구체적으로, 하위 제어 프로그램(522)이 메모리(52)에 저장되어 있는 경우, 하위 제어 프로그램(522)을 설치하기 위한 설치 파일이 메모리(52)에 저장되어 있을 수 있다. 이때, 상위 제어 프로그램(520)은 하위 제어 프로그램(522)을 설치하는 설치 파일을 검색하여 획득한 후, 획득한 설치 파일을 이용해 하위 제어 프로그램(522)을 메모리(52)에 설치할 수 있다.
단말 장치(50)는 통신 모듈로부터 수신된 제어 대상 장치 정보(즉, 제어 대상 장치의 종류 또는 제어 대상 장치의 식별 번호) 또는 서버(60)로부터 수신한 사용자가 미리 설정한 설정 정보를 기초로 특정 제어 대상 장치(10)에 해당하는 특정 하위 제어 프로그램(522)을 매칭하여 특정 제어 대상 장치(10)와 특정 하위 제어 프로그램(522)이 통신할 수 있도록 연결할 수 있다. 이때, 사용자가 미리 설정한 설정 정보는 사용자로부터 미리 수신한 프로그램 검색 설정 정보, 제어 대상 장치에 대한 제어 설정 정보 또는 제어 대상 장치에 대한 모니터링 설정 정보를 포함할 수 있다.
본 발명의 일 실시예에서, 단말 장치(50)는 서버(60)로부터 수신된 제어 대상 장치 별 하위 제어 프로그램 연결 정보 중 제어 대상 장치 식별 번호에 해당하는 하위 제어 프로그램 연결 정보를 추출한 후, 하위 제어 프로그램 연결 정보를 기초로 특정 제어 대상 장치(10)와 특정 하위 제어 프로그램(522)을 매칭하고, 특정 제어 대상 장치(10)와 특정 하위 제어 프로그램(522)의 통신을 연결할 수 있다.
이때, 하위 제어 프로그램 연결 정보는 상위 제어 프로그램(520)이 참조하는 제어 대상 장치(10) 및 하위 제어 프로그램(522)에 대한 매칭 고유 데이터, 상위 제어 프로그램(520)의 하위 제어 프로그램(522)을 검색한 검색 이력 또는 하위 제어 프로그램(522)과 제어 대상 장치(10)의 통신 연결 이력 또는 제어 대상 장치(10)에 대한 제어 이력을 포함할 수 있다.
예를 들어, 서버(60) 또는 메모리(52)는 하위 제어 프로그램(522)의 매칭 고유 데이터, 하위 제어 프로그램(522)에 대한 검색 이력, 통신 연결 이력 또는 제어 이력을 저장 및 관리할 수 있다.
본 발명의 다른 일 실시예에서, 단말 장치(50)는 사용자 설정 정보를 기초로 특정 제어 대상 장치(10)와 특정 하위 제어 프로그램(522)을 매칭하고, 특정 제어 대상 장치(10)와 특정 하위 제어 프로그램(522)의 통신을 연결할 수 있다. 이때, 사용자 설정 정보는 사용자가 관리 하고자 하는 기능별 또는 제어 대상 장치 종류별로 미리 설정된 설정 정보를 포함할 수 있다.
서버(60)는 제어 대상 장치 별 하위 제어 프로그램 연결 정보를 단말 장치(50)에 제공하여, 단말 장치(50)의 상위 프로그램(520)이 특정 제어 대상 장치(10)와 특정 하위 제어 프로그램(522)의 통신을 연결하도록 하는 정보를 저장 및 관리하는 데이터 베이스, 모듈 또는 장치이다.
서버(60)는 제어 대상 장치 별 하위 제어 프로그램 연결 정보에 대한 정보 데이터베이스를 미리 저장하고 있거나, 단말 장치(50)로부터 수신한 제어 대상 장치 별 하위 제어 프로그램 연결 정보를 이용하여 정보 데이터베이스를 구축할 수 있다.
본 발명의 일 실시예에서, 서버(60)는 제어 대상 장치 별 하위 제어 프로그램 연결 정보에 대한 정보 데이터베이스를 미리 저장하고 있는 경우, 제어 대상 장치 별 하위 제어 프로그램 연결 정보를 단말 장치(50)에 제공하여 단말 장치(50)의 상위 제어 프로그램(520)이 특정 제어 대상 장치(10)와 특정 하위 제어 프로그램(522)의 통신을 연결하도록 할 수 있다.
도 4와 같이, 하나의 상위 제어 프로그램(520)은 제어 대상 장치(100_1~100_3) 각각에 대한 하위 제어 프로그램(522_1~522_3)과 계층적 구조를 이룰 수 있다.
예를 들어, 상위 제어 프로그램(520)은 제어 대상 장치(100_1)에 대한 하위 제어 프로그램(522_1), 제어 대상 장치(100_2)에 대한 하위 제어 프로그램(522_2), 제어 대상 장치(100_3)에 대한 하위 제어 프로그램(522_3) 등과 계층적 구조를 이루고 있을 수 있다.
또한, 상위 제어 프로그램(520)은 하나의 하위 제어 프로그램(522_1)과 복수의 제어 대상 장치(100_1~100_3)의 통신을 연결하는 계층적 구조를 이룰 수 있다.
상위 제어 프로그램(520) 및 복수의 하위 제어 프로그램(522_1~522_3)이 계층적 구조를 이루고 있기 때문에, 상위 제어 프로그램(520)이 제어 대상 장치 중 특정 제어 대상 장치(100_1~100_3)와 통신을 수행하게 되면, 하위 제어 프로그램(522_1~522_3) 중 특정 제어 대상 장치(100_1)에 해당하는 특정 하위 제어 프로그램(522_1)이 존재하는지 여부를 확인하여, 상위 제어 프로그램(520)은 확인 결과에 따라 특정 제어 대상 장치(100_1)와 특정 하위 제어 프로그램(522_1)의 통신을 연결할 수 있다.
본 발명의 일 실시예에서, 상위 제어 프로그램(520)은 복수의 하위 제어 프로그램(522_1~522_3) 중 특정 제어 대상 장치(100_1)에 해당하는 특정 하위 제어 프로그램(522_1)이 존재하면, 특정 제어 대상 장치(100_1)와 특정 하위 제어 프로그램(522_1)을 연결할 수 있다. 이때, 특정 하위 제어 프로그램(522_1)과 연결되는 제어 대상 장치(10)는 복수의 제어 대상 장치(100_1~100_3)를 포함할 수 있다.
예를 들어, 상위 제어 프로그램(520)이 제어 대상 장치(100_1)에 대한 하위 제어 프로그램(522_1)과 계층적 구조를 이루고 있는 경우, 상위 제어 프로그램(520)이 제어 대상 장치(100_1)의 통신 모듈을 통해 통신하게 되면, 제어 대상 장치(100_1)와 하위 제어 프로그램(522_1)의 통신을 연결할 수 있다.
본 발명의 다른 일 실시예에서, 상위 제어 프로그램(520)은 하위 제어 프로그램(522_1~522_3) 중 특정 제어 대상 장치에 해당하는 특정 하위 제어 프로그램(522)이 존재하지 않으면, 특정 제어 대상 장치에 해당하는 하위 제어 프로그램의 다운로드 안내 메시지를 단말 장치(50)의 디스플레이부를 통해 표시할 수 있다.
본 발명의 다른 일 실시예에서, 상위 제어 프로그램(520)이 단말 장치(50)의 메모리(52)에 설치되어 있지 않은 경우, 상위 제어 프로그램(520)은 서버(60) 또는 단말 장치(50)와 다른 외부 장치(미도시)에 설치될 수 있다. 이때, 사용자는 외부 장치(미도시) 또는 서버(60)와 통신하는 단말 장치(50)를 이용하여 원격으로 서버(60) 또는 외부 장치(미도시)에 설치된 상위 제어 프로그램을 실행할 수 있다.
이때, 단말 장치(50)를 이용하여 사용자로부터 원격 제어 되는 상위 제어 프로그램(520)은 복수의 하위 제어 프로그램(522_1~522_3)과 계층적 구조를 이룰 수 있다.
단말 장치(50)에 특정 제어 대상 장치에 해당하는 하위 제어 프로그램이 설치된 경우, 상위 제어 프로그램(520)은 하위 제어 프로그램(522_1~522_3) 중 특정 제어 대상 장치에 해당하는 특정 하위 제어 프로그램(522)의 설치 여부를 확인하고, 확인 결과 특정 제어 대상 장치에 해당하는 특정 하위 제어 프로그램(522)이 설치되어 있으면, 특정 제어 대상 장치와 특정 하위 제어 프로그램(522)의 통신을 연결한다.
단말 장치(50)에 제어 대상 장치(100_3)에 대한 하위 제어 프로그램(522_3)이 설치되어 있지 않은 경우, 상위 제어 프로그램(520)이 제어 대상 장치(100_3)의 통신 모듈을 통해 제어 대상 장치(100_3)와 통신하게 되면, 제어 대상 장치(100_3)에 대한 하위 제어 프로그램이 단말 장치(50)에 설치되어 있지 않아, 상위 제어 프로그램(520)은 제어 대상 장치(100_3)에 대한 하위 제어 프로그램(522_3)의 다운로드 안내 메시지를 단말 장치(50)의 디스플레이부를 통해 표시할 수 있다.
상위 제어 프로그램(520)은 제어 대상 장치(100_3)에 대한 하위 제어 프로그램이 단말 장치(50)에 설치되어 있는지 여부를 확인하고, 확인 결과 제어 대상 장치(100_3)에 해당하는 하위 제어 프로그램(522_3)이 단말 장치(50)에 설치되어 있는 경우, 제어 대상 장치(100_3)와 하위 제어 프로그램(522_3)의 통신을 연결할 수 있다.
하위 제어 프로그램(522)은 제어 대상 장치(100_1~100_3) 각각에 대한 관리(예를 들어, 제어 또는 모니터링 기능)를 실행하는 프로그램이다. 하위 제어 프로그램은 제어 대상 장치 별 또는 기능 별로 존재할 수 있다.
예를 들어, 하위 제어 프로그램(522_1~522_3)은 제어 대상 장치 A군에 대한 하위 제어 프로그램(522_1), 제어 대상 장치 B군에 대한 하위 제어 프로그램(522_2), 제어 대상 장치 C군에 대한 하위 제어 프로그램(522_3)을 포함할 수 있다.
하위 제어 프로그램(522)은 제어 대상 장치(10)로부터 제어 대상 장치(10)의 상태 값을 획득할 수 있다. 예를 들어, 제어 대상 장치의 상태 값은 제어 대상 장치의 전류 값, 전압 값, 전력 값 또는 주파수 값을 포함할 수 있다.
하위 제어 프로그램(522)은 제어 대상 장치(10)를 제어하거나 모니터링하는 과정에서 제어 대상 장치(10)로부터 획득한 상태 값이 미리 저장된 제어 대상 장치(10)의 정상 동작 범위내에 속하는지 여부를 판단할 수 있다.
하위 제어 프로그램(520)은 제어 대상 장치(10)의 상태 값이 미리 저장된 정상 동작 범위를 벗어나는 경우, 제어 대상 장치(10)에 이상이 발생했음을 상위 제어 프로그램에 전달할 수 있다.
하위 제어 프로그램(520)은 로그 파일을 생성할 수 있고, 생성된 로그 파일을 메모리(52) 또는 서버(60)에 저장할 수 있다. 이때, 하위 제어 프로그램(520)은 로그 파일을 다른 장치와 공유할 수 있다. 예를 들어, 하위 제어 프로그램(520)은 다른 장치에서 생성된 로그 파일을 수신하거나, 다른 장치로 로그 파일을 송신할 수 있다.
또한, 하위 제어 프로그램(522_1~522_3)은 제어 대상 장치 A군에 대한 제어 기능을 수행하는 하위 제어 프로그램(522_1), 제어 대상 장치 A군에 대한 모니터링 기능을 수행하는 하위 제어 프로그램(522_2)을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 하위 제어 프로그램(522_1~522_3)이 복수의 제어 대상 장치 각각에 대한 관리 기능을 수행하는 경우, 사용자는 모든 하위 제어 프로그램을 단말 장치(50)에 미리 설치하지 않고, 상위 제어 프로그램(520)을 통해 자신이 관리하고자 하는 특정 제어 대상 장치에 대한 하위 제어 프로그램만을 단말 장치(50)에 설치한 후, 상위 제어 프로그램(520)을 통해 간편하게 하위 제어 프로그램을 실행할 수 있다.
도 5는 도 4의 메모리에 저장된 프로그램 및 관련 데이터의 구성을 나타내는 도면이다.
도 5를 참조하면, 도 4의 메모리(52)는 상위 제어 프로그램(520) 및 하위 제어 프로그램(522)을 포함하고, 프로세서(54)는 서버(60) 또는 메모리(52)에 저장된 프로그램 설정 파일(62)을 참조할 수 있다.
프로세서(54)는 메모리(52)와 통신하며 메모리(52)에 설치되는 상위 제어 프로그램(520) 또는 하위 제어 프로그램(522)을 실행할 수 있다.
상위 제어 프로그램(520)은 제어 대상 장치(10)와 하위 제어 프로그램(522)의 통신을 연결한 후, 단말 장치(50)의 메모리(52)에 저장되어 있는 하위 제어 프로그램(522)을 검색하여 획득하는 프로그램 또는 모듈을 포함한다.본 발명의 다른 일 실시예에서, 상위 제어 프로그램(520)은 단말 장치(50)와 다른 외부 장치(미도시) 또는 서버(60)에 설치될 수 있다. 이때, 상위 제어 프로그램(520)은 제어 대상 장치(10)의 연결 정보(640)를 이용하여 서버(60) 또는 단말 장치(50)의 메모리(52)에 저장되어 있는 하위 제어 프로그램(522)을 검색하여, 하위 제어 프로그램(522)의 설치 파일을 획득할 수 있다.
하위 제어 프로그램(522)은 제어 대상 장치(10)를 관리하는 프로그램 또는 모듈을 포함한다.
본 발명의 일 실시예에서, 하위 제어 프로그램(522)이 단말 장치(50)의 메모리(52)에 저장되어 있는 경우, 상위 제어 프로그램(520)은 단말 장치(50)의 메모리(52)에 저장되어 있는 복수의 하위 제어 프로그램 중 제어 대상 장치에 대응되는 하위 제어 프로그램(522)을 검색한 후, 검색한 하위 제어 프로그램(522)의 설치 파일을 획득하여, 단말 장치(50)의 메모리(52)에 설치할 수 있다.
본 발명의 다른 일 실시예에서, 하위 제어 프로그램(520)이 서버(60)에 저장되어 있는 경우, 상위 제어 프로그램(520)은 서버(60)에 저장되어 있는 복수의 하위 제어 프로그램 중 제어 대상 장치에 대응되는 하위 제어 프로그램(522)을 검색한 후, 검색한 하위 제어 프로그램(522)의 설치 파일을 획득하여, 단말 장치(50)의 메모리(52)에 설치할 수 있다.
상위 제어 프로그램(520)은 매칭 정보(642)에 포함되는 제어 대상 장치의 식별 정보(642a) 또는 식별 정보(642a)에 대응하는 하위 제어 프로그램(522)의 정보를 참조하여, 서버(60)에 저장된 복수의 하위 제어 프로그램 중 식별 정보(642a)에 대응하는 하위 제어 프로그램(522)을 서버(60)로부터 검색할 수 있다.
본 발명의 다른 일 실시예에서, 상위 제어 프로그램(520)은 식별 정보(642a) 또는 하위 제어 프로그램(522)의 정보를 참조하여, 단말 장치(50)의 메모리(52)에 저장된 복수의 하위 제어 프로그램 중 식별 정보(642a)에 대응하는 하위 제어 프로그램(522)을 메모리(52)로부터 검색할 수 있다.
예를 들어, 식별 정보(642a) 또는 프로그램 정보(642b)는 하위 제어 프로그램(522)을 식별할 수 있는 고유의 정보이며, 식별 정보(642a)는 제어 대상 장치(10)의 제어 대상 장치 종류, 제어 대상 장치 군 또는 제어 대상 장치 식별 번호를 포함할 수 있고, 프로그램 정보(642b)는 제어 기능에 대한 정보 또는 모니터링 기능에 대한 정보를 포함할 수 있다.
이때, 상위 제어 프로그램(520)은 제어 대상 장치(10)의 식별 정보(642a)를 이용하여 제어 대상 장치(10) 별로 하위 제어 프로그램(522)을 검색하거나, 프로그램 정보(642b)를 이용하여 제어 또는 모니터링 하는 기능 별로 하위 제어 프로그램(522)을 검색할 수 있다.
하위 제어 프로그램(522)과 매칭되는 제어 대상 장치(10)는 복수의 제어 대상 장치를 포함할 수 있고, 제어 대상 장치(10)와 매칭되는 하위 제어 프로그램(522)은 복수의 하위 제어 프로그램을 포함할 수 있다.
구체적으로, 상위 제어 프로그램(520)은 제어 대상 장치(10)와 일대일로 대응되는 하위 제어 프로그램(522)을 검색할 수 있고, 사용자의 설정 또는 제어 대상 장치별 또는 기능별에 따른 연결 정보(640) 또는 매칭 정보(642)에 따라 복수의 하위 제어 프로그램을 검색할 수 있다.
프로세서(54)는 상위 제어 프로그램(520)이 실행되는 경우 생성되는 실행 정보(620)를 기초로, 메모리(52)에 설치된 하위 제어 프로그램(522)의 제1 리스트와 미리 결정된 통신 범위 내의 제어 대상 장치(10)에 대응하는 하위 제어 프로그램(522)의 제2 리스트를 참조하여, 제2 리스트에 포함된 하위 제어 프로그램(522)에 대한 검색 여부를 판단할 수 있다.
구체적으로, 상위 제어 프로그램(520)은 중복적인 하위 제어 프로그램(522)의 검색 또는 설치를 방지하기 위하여, 기 설치된 하위 제어 프로그램(522)을 포함하는 제1 리스트와 단말 장치(50)에서 미리 결정된 통신 범위 내에 존재하는 제어 대상 장치(10)에 대응하는 하위 제어 프로그램(522)을 포함하는 제2 리스트를 비교 또는 대조할 수 있다. 구체적으로, 상위 제어 프로그램(520)은 제2 리스트가 제1 리스트의 범위를 벗어나는 경우, 제1 리스트의 범위를 벗어난 하위 제어 프로그램(522)을 서버(60)로부터 검색 할 수 있다.
예를 들어, 상위 제어 프로그램(520)은 제2 리스트에 포함된 하위 제어 프로그램(522) 중 제1 리스트에 포함된 하위 제어 프로그램(522)에 해당하지 않는 하위 제어 프로그램(522)이 존재하는 경우, 서버(60)로부터 하위 제어 프로그램(522)을 검색할 수 있다.
상위 제어 프로그램(520)은 제1 리스트에 제2 리스트가 전부 포함되는 경우, 상위 제어 프로그램(520)의 실행 정보(620)를 기초로 제1 리스트에 포함된 하위 제어 프로그램(522)을 실행할 수 있다. 구체적으로, 상위 제어 프로그램(520)은 제1 리스트에 포함된 하위 제어 프로그램(522)이 제2 리스트에 포함된 하위 제어 프로그램(522)에 모두 포함되는 경우, 서버(60)로부터 하위 제어 프로그램(522)을 검색하지 않고, 메모리(52)에 저장되어 있는 하위 제어 프로그램(522)을 실행할 수 있다.
상위 제어 프로그램(520)은 검색 정보(680)를 기초로 서버(60)에서 검색된 하위 제어 프로그램(522)을 서버(60)로부터 획득하여 메모리(52)에 설치할 수 있다.
또한, 상위 제어 프로그램(520)은 검색 정보(680)를 기초로 메모리(52)에서 검색된 하위 제어 프로그램(522)의 설치 파일을 메모리(52)로부터 획득하여 메모리(52)에 설치할 수 있다.
예를 들어, 상위 제어 프로그램(520)은 상위 제어 프로그램(520)의 검색 결과로부터 생성된 검색 정보(680)를 기초로, 검색된 하위 제어 프로그램(522)의 설치 파일을 서버(60) 또는 메모리(52)로부터 획득하여 메모리(52)에 설치할 수 있다. 이때, 검색 정보(680)는 검색 이력, 검색 경로, 검색 횟수 또는 검색 결과에 따른 하위 제어 프로그램(522)의 리스트를 포함할 수 있다.
또한, 상위 제어 프로그램(520)은 검색 정보(680)를 기초로 단말 장치(50)의 메모리(52)에서 검색된 하위 제어 프로그램(522)의 설치 파일을 메모리(52)로부터 획득하여 하위 제어 프로그램(522)을 메모리(52)에 설치할 수 있다.
프로그램 설정 파일(62)은 프로세서(54)에 의하여 상위 제어 프로그램(520)이 실행되는 경우, 상위 제어 프로그램(520)에 의하여 참조될 수 있다. 예를 들어, 프로그램 설정 파일(62)은 실행 정보(620), 연결 정보(640), 매칭 정보(642), 식별 정보(642a), 프로그램 정보(642b), 접속 정보(660), 및 검색 정보(680)를 포함할 수 있다.
실행 정보(620)는 단말 장치(50)에서 상위 제어 프로그램(520) 또는 하위 제어 프로그램(522)이 실행될 때 생성되는 데이터이다. 예를 들어, 실행 정보(620)는 사용자의 설정에 의한 명령 데이터를 포함할 수 있다. 이때, 명령 데이터는 검색 명령, 설치 명령, 실행 명령, 제어 명령 또는 모니터링 명령을 포함할 수 있다.
연결 정보(640)는 단말 장치(50)가 제어 대상 장치(10)와의 통신 연결을 수행하기 위하여 필요한 통신 데이터이다. 예를 들어, 연결 정보(640)는 매칭 정보(642), 식별 정보(642a), 및 프로그램 정보(642b)를 포함할 수 있다.
매칭 정보(642)는 제어 대상 장치(10)와 하위 제어 프로그램(522)을 매칭하기 위하여 필요한 데이터이다. 구체적으로, 미리 결정된 기준에 의하여 식별 정보(642a) 또는 프로그램 정보(642b)와 하위 제어 프로그램(522)을 매칭하여 서버(60)에 매칭 정보(642)를 미리 저장할 수 있다.
예를 들어, 매칭 정보(642)는 제어 대상 장치(10)의 식별 정보(642a), 제어 대상 장치(10)를 관리하는 하위 제어 프로그램(522)의 식별 데이터 또는 하위 제어 프로그램(522)을 검색하는 상위 제어 프로그램(520)의 식별 데이터를 포함할 수 있다.
식별 정보(642a)는 제어 대상 장치(10)를 식별하기 위하여 필요한 데이터이다. 구체적으로, 제어 대상 장치(10)는 제어 대상 장치 종류, 제어 대상 장치 군 또는 설치 정보에 따라 고유의 식별 정보(642a)를 포함할 수 있다.
이때, 설치 정보는 제어 대상 장치(10)의 설치 개수, 설치 위치 또는 사용자로부터 미리 결정된 고유의 설치 데이터를 포함할 수 있다.
프로그램 정보(642b)는 단말 장치(50)가 제어, 검색, 설치 또는 실행하는 프로그램에 대한 정보이다. 예를 들어, 프로그램 정보(642b)는 프로그램의 종류, 프로그램의 고유 번호, 프로그램에 포함된 명령 데이터, 제어 대상 장치에 대한 대응 데이터를 포함할 수 있다. 이때, 프로그램 정보(642b)는 상위 제어 프로그램(520)의 정보 및 하위 제어 프로그램(522)의 정보를 포함한다.
접속 정보(660)는 제어 대상 장치(10)와 단말 장치(50) 사이의 통신에 의한 접속을 관리하는 데이터이다. 예를 들어, 접속 정보(660)는 제어 대상 장치(10)와 상위 제어 프로그램(520) 또는 하위 제어 프로그램(522)의 접속 이력, 프로그램 실행 이력, 프로그램 설치 이력 또는 프로그램 검색 이력을 포함할 수 있다.
검색 정보(680)는 상위 제어 프로그램(520)이 수행하는 하위 제어 프로그램(522)에 대한 검색을 실행 하거나, 검색 결과를 저장하기 위하여 필요한 데이터이다.
예를 들어, 검색 정보(680)는 검색 이력, 검색 성공 이력, 제어 대상 장치(10)와 매칭되는 하위 제어 프로그램 리스트 또는 제어 또는 모니터링 기능과 매칭되는 하위 제어 프로그램 리스트를 포함할 수 있다.
프로그램 설정 파일(62)은 제어 대상 장치(10)의 상태 값의 정상 동작 범위 정보와 하위 제어 프로그램의 로그 파일을 저장할 수 있다.
상태 값의 정상 동작 범위 정보는 제어 대상 장치(10)가 정상 동작하기 위한 상태 값의 정보를 저장할 수 있다. 예를 들어, 제어 대상 장치(10)가 정상 동작하는 전압 값의 범위가 10V~20V인 경우, 전압 값의 정상 동작 범위 정보는 제어 대상 장치(10)에 대응하도록 전압 값의 범위 10V~20V를 저장할 수 있다.
정상 동작 범위 정보는 사용자 또는 서버(60)로부터 수신하거나 하위 제어 프로그램(522)이 제어 대상 장치(10)를 제어 또는 모니터링하는 과정에서 생성 또는 저장될 수 있다.
또한, 정상 동작 범위 정보에 포함된 제어 대상 장치(10)의 정상 동작 범위는 복수의 사용자 각각에 대하여 상위 제어 프로그램(520)에 로그인한 사용자 별로 서로 다르게 생성 및 저장될 수 있다.
예를 들어, A 사용자가 상위 제어 프로그램(520)에 로그인하여 하위 제어 프로그램(522)을 통해 제어 대상 장치(10)를 모니터링하는 경우, 제어 대상 장치(10)의 전압 값이 정상 동작 범위인 10V~20V와 상이한 15V~25V 일 때, A 사용자가 전압 값 15V~25V를 정상 동작 범위라고 설정하거나, 반복적으로 정상 동작 범위 10V~20V를 기초로 작동한 알람을 방치 한다면, 하위 제어 프로그램(522)은 A 사용자에 대하여 전압 값 15V~25V를 정상 동작 범위로 매칭하여 정상 동작 범위를 생성 및 저장할 수 있다.
예를 들어, B 사용자가 상위 제어 프로그램(520)에 로그인하여 하위 제어 프로그램(522)을 통해 제어 대상 장치(10)를 모니터링하는 경우, 제어 대상 장치(10)의 전압 값이 정상 동작 범위인 10V~20V 일 때, B 사용자가 전압 값이 10V~20V 범위에서 반복적인 제어 동작(예를 들어, 전압 차단)을 한다면, 하위 제어 프로그램(522)은 B 사용자에 대하여 전압 값 10V~20V 범위에 대하여 알람 또는 메시지를 제공하도록 상위 제어 프로그램(520)에 보고할 수 있다.
로그 파일은 하위 제어 프로그램(522)이 실행되는 중에 발생하는 이벤트(예를 들어, 제어 이력) 및 메시지(예를 들어, 제어 대상 장치의 상태 값)를 저장할 수 있다.로그 파일은 하위 제어 프로그램(522)이 실행되는 과정에서 생성 및 저장되거나 다른 장치 또는 서버(60)로부터 수신할 수 있다.
통신부(56)는 상위 제어 프로그램(520)의 실행 정보(620)를 기초로, 제어 대상 장치에 연결 요청 신호를 송출할 수 있다. 구체적으로, 단말 장치(50)에서 상위 제어 프로그램(520)이 실행되는 경우, 통신부(56)는 상위 제어 프로그램(520)에서 생성된 실행 정보(620)를 기초로 제어 대상 장치에 연결 요청 신호를 송출하고, 연결 요청 신호를 수신한 제어 대상 장치로부터 연결 정보(640)를 수신할 수 있다.
예를 들어, 실행 정보(620)는 제어 대상 장치에 대한 검색 명령, 통신 연결 명령 또는 하위 제어 프로그램에 대한 검색 명령을 포함할 수 있다. 이때, 연결 요청 신호는 미리 결정된 통신 가능 범위 내의 제어 대상 장치(10) 또는 통신 모듈과 통신할 수 있는 유선 또는 무선 통신 방식을 통해 송출될 수 있다.
통신부(56)는 연결 정보(640)에 포함되는 제어 대상 장치의 식별 정보(642a) 또는 제어 대상 장치에 대한 접속 정보(660)를 참조하여, 제어 대상 장치와 통신할 수 있다. 이때, 통신부(56)는 제어 대상 장치로부터 연결 정보(640)를 수신할 수 있다.
예를 들어, 연결 정보(640)에 포함되어 있는 식별 정보(642a)는 제어 대상 장치의 제어 대상 장치 종류, 제어 대상 장치 군 또는 제어 대상 장치 식별 번호를 포함할 수 있다. 또한, 접속 정보(660)는 제어 대상 장치와 프로그램 제어 장치 사이의 통신 이력 정보를 포함할 수 있다. 이때, 통신 이력 정보는 통신 횟수 또는 통신 성공 여부를 포함할 수 있다.
상위 제어 프로그램(520)을 포함하는 단말 장치(50)에서 상위 제어 프로그램(520)이 구동되면, 프로그램 설정 파일(62)에 저장된 정보에 기초하여 상위 제어 프로그램(520)이 자동으로 또는 사용자로부터 수신한 명령에 의해 실행됨으로써, 상위 제어 프로그램(520)으로 하위 제어 프로그램(522)을 검색, 설치, 및 실행할 수 있다.
이하에서는 구체적인 실시예를 통해서 본 발명에 따른 단말 장치(50)의 상위 제어 프로그램(520)의 구동 과정에 대하여 상세히 설명한다.
도 6은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 순서도이다.
도 6을 참조하면, 상위 제어 프로그램(520)은 단말 장치(50)에서 사용자로부터 제어 대상 장치(10)에 대한 검색 요청을 수신한다(S100). 구체적으로, 검색 요청을 수신하는 단계는 사용자로부터 수신한 검색 요청에 따라 상위 제어 프로그램(520)이 하위 제어 프로그램(522)을 검색하거나, 미리 저장된 검색 정보에 따라 상위 제어 프로그램(520)이 자동으로 하위 제어 프로그램(522)을 검색하는 검색 요청을 사용자로부터 수신하는 것을 포함할 수 있다.
예를 들어, 검색 요청은 검색하고자 하는 제어 대상 장치의 제어 대상 장치 종류 또는 제어 대상 장치 식별 번호를 포함할 수 있다. 또한, 미리 저장된 검색 정보는 자동 검색 주기, 자동 검색 횟수 또는 사용자로부터 수신한 상기 검색 요청을 포함할 수 있다.
이어서, 단말 장치(50)의 통신부(56)에서 검색 요청에 따라 연결 요청 신호를 제어 대상 장치에 송신한다(S105). 구체적으로, 상위 제어 프로그램(520)은 사용자로부터 수신한 검색 요청에 따라 제어 대상 장치에서 연결 정보(640)를 생성 및 송신하도록 하는 연결 요청 신호를 통신부(56)에서 송신할 수 있다.
이어서, 단말 장치(50)의 통신부(56)에서 제어 대상 장치(10)로부터 연결 정보(640)를 수신 한다(S110). 구체적으로, 단말 장치(50)에서 미리 결정된 통신 범위 내에 속하는 제어 대상 장치(10)에서 연결 요청 신호를 수신하는 경우, 제어 대상 장치(10)는 연결 정보(640)를 생성하여 단말 장치(50)에 송신할 수 있다.
또한, 제어 대상 장치(10)는 연결 요청 신호를 수신하지 않는 경우에도, 사용자로부터 미리 설정된 주기에 따라 연결 정보(640)를 생성하여 단말 장치(50)에 송신할 수 있다.
이어서, 상위 제어 프로그램(520)은 검색 결과 정보를 단말 장치(50)의 디스플레이부에 표시하여 제공한다(S115). 구체적으로, 상위 제어 프로그램(520)은 검색된 제어 대상 장치(10) 및 검색된 제어 대상 장치에 대응되는 하위 제어 프로그램(522)의 설치 여부 및 하위 제어 프로그램(522)의 업데이트 정보를 포함하는 검색 결과 정보를 제공할 수 있다.
예를 들어, 단말 장치(50)에서 상위 제어 프로그램(520)이 실행되는 경우, 상위 제어 프로그램(520)은 연결 정보(640)를 송신한 제어 대상 장치의 리스트를 제공하거나, 연결 정보(640)를 송신한 제어 대상 장치에 대응되는 하위 제어 프로그램(522)이 단말 장치(50)에 설치되어 있는지를 확인하여 제공할 수 있다.
또한, 상위 제어 프로그램(520)은 단말 장치(50)에 설치되어 있는 하위 제어 프로그램(522)의 업데이트 일시, 업데이트 필요 여부 또는 업데이트 가능 여부를 포함하는 업데이트 정보를 단말 장치(50)의 디스플레이부에 표시할 수 있다.
이어서, 상위 제어 프로그램(520)은 서버(60)에서 하위 제어 프로그램(522)을 검색한다(S120). 구체적으로, 상위 제어 프로그램(520)은 연결 정보(640)를 참조하여, 서버(60)에 저장되어 있는 하위 제어 프로그램(522) 중 연결 정보(640)에 매칭되는 하위 제어 프로그램(522)을 검색할 수 있다
본 발명의 다른 실시예로, 하위 제어 프로그램(520)이 단말 장치(50)의 메모리(52)에 저장되어 있는 경우, 상위 제어 프로그램(520)은 단말 장치(50)의 메모리(52)에 저장된 하위 제어 프로그램(522)을 검색할 수 있다. 구체적으로, 상위 제어 프로그램(520)은 연결 정보(640)를 참조하여, 단말 장치(50)의 메모리(52)에 저장되어 있는 하위 제어 프로그램(522)의 설치 파일 중 연결 정보(640)에 매칭되는 하위 제어 프로그램(522)의 설치 파일을 검색할 수 있다.
이어서, 상위 제어 프로그램(520)은 서버(60)로부터 검색된 하위 제어 프로그램(522)을 획득한다(S125). 구체적으로, 상위 제어 프로그램(520)에 의하여 서버(60)에서 하위 제어 프로그램(522)이 검색되는 경우, 상위 제어 프로그램(520)은 서버(60)에서 검색된 하위 제어 프로그램(522)의 설치 파일을 획득할 수 있다.
본 발명의 다른 실시예로, 하위 제어 프로그램(520)이 단말 장치(50)의 메모리(52)에 저장되어 있는 경우, 상위 제어 프로그램(520)은 메모리(52)에서 검색된 하위 제어 프로그램(522)의 설치 파일을 획득할 수 있다.
이어서, 상위 제어 프로그램(520)은 획득한 하위 제어 프로그램(522)을 단말 장치(50)의 메모리(52)에 설치한다(S130). 구체적으로, 상위 제어 프로그램(520)은 서버(60) 또는 메모리(52)에서 획득한 하위 제어 프로그램(522)의 설치 파일을 이용하여 단말 장치(50)의 메모리(52)에 하위 제어 프로그램(522)을 설치할 수 있다.
이어서, 단말 장치(50)에서 제어 또는 모니터링 신호를 제어 대상 장치(10)에 송신한다(S135). 구체적으로, 단말 장치(50)에서 프로세서(52)에 의하여 상위 제어 프로그램(520) 또는 하위 제어 프로그램(522)이 실행되는 경우, 통신부(56)에서 제어 또는 모니터링 하고자 하는 특정 제어 대상 장치에 제어 또는 모니터링 신호를 송신할 수 있다.
이어서, 단말 장치(50)에서 제어 대상 장치(10)로부터 제어 또는 모니터링 정보를 수신한다(S140). 구체적으로, 제어 또는 모니터링 신호를 수신한 특정 제어 대상 장치는 제어값 또는 모니터링값을 포함하는 제어 또는 모니터링 정보를 단말 장치(50)의 통신부(56)에 송신할 수 있다. 이때, 상위 제어 프로그램(520) 또는 하위 제어 프로그램(522)은 제어 또는 모니터링 정보를 수신하여, 단말 장치(50)의 디스플레이부에 표시할 수 있다.
도 7은 본 발명의 몇몇 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 7을 참조하면, 먼저 단말 장치(50)에 설치된 상위 제어 프로그램(520)이 사용자에 의하여 실행 된다(S200). 예를 들어, 사용자가 단말 장치(50)의 디스플레이부에 표시된 상위 제어 프로그램(520)과 대응되는 아이콘을 손가락 또는 마우스를 이용하여 더블 클릭하면, 더블 클릭된 아이콘과 대응되는 상위 제어 프로그램(520)이 실행될 수 있다.
본 발명의 다른 실시예에서, 상위 제어 프로그램(520)이 단말 장치(50)와 다른 외부 장치(미도시) 또는 서버(60)에 설치된 경우, 상위 제어 프로그램(520)은 외부 장치(미도시) 또는 서버(60)와 통신하는 단말 장치(50) 에서 사용자의 원격 제어에 의하여 실행 될 수 있다.
이어서, 상위 제어 프로그램(520)은 제어 대상 장치(10)를 검색하고, 검색 메시지(S215)를 제공한다(S210). 구체적으로, 상위 제어 프로그램(520)은 단말 장치(50)에서 미리 결정된 통신 가능 범위 내의 제어 대상 장치(10)로부터 연결 정보(640)를 수신하거나, 제어 대상 장치(10)에 연결 요청 신호를 송신한 후 연결 요청 신호의 응답으로 제어 대상 장치(10)로부터 연결 정보(640)를 수신할 수 있다.
이때, 연결 정보(640)를 수신하거나 연결 요청 신호를 송신하는 단계는 미리 설정된 수신 또는 송신 정보에 의하여 자동으로 실행되거나, 사용자로부터 수신한 요청 정보에 의하여 실행될 수 있다.
이어서, 상위 제어 프로그램(520)은 검색된 제어 대상 장치(10)에 대응되는 하위 제어 프로그램(522)을 설치하고, 설치 메시지(S235)를 제공한다(S230).
하위 제어 프로그램(522)의 설치가 완료되면, 상위 제어 프로그램(520)은 새로 설치된 하위 제어 프로그램에 대응되는 아이콘(522)을 생성하여 제어 대상 장치(10)의 디스플레이부에 표시한다.
도 8은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 8을 참조하면, 상위 제어 프로그램(520)은 사용자로부터 수신한 검색 모드 설정(S310)에 따라, 사용자로부터 제어 대상 장치 종류(S330) 또는 제어 대상 장치 식별 번호(S350)를 수신할 수 있다.
이때, 제어 대상 장치 종류 또는 제어 대상 장치 식별 번호는 제어 대상 장치를 식별하기 위하여 미리 결정된 고유의 식별 코드를 포함할 수 있다.
예를 들어, 상위 제어 프로그램(520)은 사용자로부터 제어 대상 장치 종류(A) 또는 제어 대상 장치 식별 번호(A101)를 수신하여 특정 제어 대상 장치 종류(A) 또는 특정 제어 대상 장치 식별 번호(A101)에 해당하는 특정 제어 대상 장치를 검색할 수 있다.
이어서, 상위 제어 프로그램(520)은 사용자로부터 검색 시작 명령(S370)을 수신할 수 있다. 이때, 상위 제어 프로그램(520)은 사용자로부터 수신한 검색 시작 명령에 따라 검색을 시작하거나, 정지 또는 종료할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램이 실행되는 과정을 설명하기 위한 도면이다.
도 9를 참조하면, 먼저 단말 장치(50)에 설치된 상위 제어 프로그램(520)이 사용자에 의해서 실행 된다(S400). 예를 들어, 사용자가 단말 장치(50)의 디스플레이부에 표시된 상위 제어 프로그램(520)과 대응되는 아이콘을 손가락 또는 마우스를 이용하여 더블 클릭하면, 더블 클릭된 아이콘과 대응되는 상위 제어 프로그램(520)이 실행될 수 있다. 이때, 상위 제어 프로그램(520)과 대응되는 아이콘과 하위 제어 프로그램(522)과 대응되는 아이콘은 서로 구별되어 표시될 수 있다.
본 발명의 다른 실시예에서, 상위 제어 프로그램(520)이 단말 장치(50)와 다른 외부 장치(미도시) 또는 서버(60)에 설치된 경우, 상위 제어 프로그램(520)은 외부 장치(미도시) 또는 서버(60)와 통신하는 단말 장치(50) 에서 사용자의 원격 제어에 의하여 실행 될 수 있다.이어서, 상위 제어 프로그램(520)은 제어 대상 장치(10)를 검색하고, 검색된 제어 대상 장치에 대응되는 하위 제어 프로그램(522)의 설치 여부를 확인하여 표시한다(S410). 구체적으로, 상위 제어 프로그램(520)은 단말 장치(50)에서 미리 결정된 통신 가능 범위 내의 제어 대상 장치(10)로부터 연결 정보(640)를 수신하거나, 제어 대상 장치(10)에 연결 요청 신호를 송신한 후 연결 요청 신호의 응답으로 제어 대상 장치(10)로부터 연결 정보(640)를 수신할 수 있다.
예를 들어, 단말 장치(50)의 디스플레이부에 표시되는 검색 결과 정보(S415)는 연결 정보(640)를 송신한 제어 대상 장치의 리스트 및 연결 정보(640)를 송신한 제어 대상 장치에 대응하는 하위 제어 프로그램의 설치 여부를 포함할 수 있다.
이때, 연결 정보(640)를 송신한 제어 대상 장치의 리스트를 표시할 수 있다. 또한, 상위 제어 프로그램(520)은 연결 정보(640)를 송신한 제어 대상 장치에 대응하는 하위 제어 프로그램이 단말 장치(50)에 설치되어 있는지 확인하고, 설치 여부를 상기 리스트에 대응되도록 표시할 수 있다.
또한, 단말 장치(50)의 디스플레이부에 표시되는 검색 결과 정보(S415)는 하위 제어 프로그램의 업데이트 정보를 표시할 수 있다. 구체적으로, 업데이트 정보는 단말 장치(50)에 설치된 하위 제어 프로그램의 업데이트 필요 여부, 업데이트 가능 여부 또는 기존 업데이트 날짜를 포함할 수 있으며, 상위 제어 프로그램은 하위 제어 프로그램을 업데이트할 수 있다.
예를 들어, 사용자가 단말 장치(50)의 디스플레이부에 표시된 하위 제어 프로그램(522)과 대응되는 업데이트 아이콘(미도시)을 손가락 또는 마우스를 이용하여 더블 클릭하면, 더블 클릭된 업데이트 아이콘과 대응되는 하위 제어 프로그램(522)이 업데이트 될 수 있다.
또한, 상위 제어 프로그램(520)은 단말 장치(50)의 디스플레이부에 표시되는 제어 대상 장치(10)에 대응되는 하위 제어 프로그램(522)을 실행할 수 있다.
예를 들어, 사용자가 단말 장치(50)의 디스플레이부에 표시된 제어 대상 장치(A101)의 목록을 손가락 또는 마우스를 이용하여 더블 클릭하면, 더블 클릭된 제어 대상 장치의 목록(A101)과 대응되는 하위 제어 프로그램(522_1)이 상위 제어 프로그램(520)에 의하여 실행될 수 있다.
이어서, 상위 제어 프로그램(520)은 사용자로부터 수신한 설치 요청에 따라서 또는 자동으로 하위 제어 프로그램(522)을 설치하고, 현재 설치되고 있는 하위 제어 프로그램명을 포함하는 설치 메시지(S435)를 표시한다(S430).
예를 들어, 사용자가 검색 결과 정보(S435)에서 제어 대상 장치(A102)에 대응되는 하위 제어 프로그램의 설치 여부(미설치) 란을 더블 클릭하면, 상위 제어 프로그램(520)은 사용자에 의해 더블 클릭된 제어 대상 장치(A102)에 대응되는 하위 제어 프로그램을 설치하면서 설치 메시지(S435)를 표시할 수 있다. 또 다른 예로, 상위 제어 프로그램(520)은 검색 결과 정보(S435)에서 하위 제어 프로그램이 설치되지 않은 제어 대상 장치(A102, B102, B103)에 대응되는 하위 제어 프로그램을 사용자의 요청과 관계없이 자동으로 설치할 수도 있다.
하위 제어 프로그램의 설치가 완료되면, 상위 제어 프로그램(520)은 새로 설치된 하위 제어 프로그램에 대응되는 아이콘(522_3)을 생성하여 제어 대상 장치(10)의 디스플레이부에 표시한다.
도 10은 본 발명의 일 실시예에 따른 단말 장치를 이용하여 구현되는 상위 제어 프로그램 및 하위 제어 프로그램이 실행되는 순서도이다.
도 10을 참조하면, 하위 제어 프로그램(522)은 제어 대상 장치의 상태 값을 획득한다(S500). 예를 들어, 제어 대상 장치의 상태 값은 제어 대상 장치의 전류 값, 전압 값, 전력 값 또는 주파수 값을 포함할 수 있다.
이어서, 하위 제어 프로그램(522)은 제어 대상 장치의 상태 값이 미리 정해진 정상 동작 범위에 포함되는지 여부를 판단한다(S510). 구체적으로, 하위 제어 프로그램(522)은 제어 대상 장치를 제어하거나 모니터링하는 과정에서 제어 대상 장치로부터 획득한 상태 값이 미리 저장된 제어 대상 장치의 정상 동작 범위내에 속하는지 여부를 판단할 수 있다.
예를 들어, 하위 제어 프로그램(522)은 서버(60) 또는 메모리(52)에 미리 저장된 제어 대상 장치의 정상 동작 범위를 이용하여, 제어 대상 장치의 상태 값이 미리 정해진 정상 동작 범위에 속하는지 여부를 상기 상태 값과 상기 정상 동작 범위를 비교하여 판단할 수 있다.
이어서, 하위 제어 프로그램(522)은 제어 대상 장치의 상태 값이 정상 동작 범위를 벗어나는 경우, 제어 대상 장치에 이상이 발생했음을 상위 제어 프로그램에 보고한다.
이어서, 상위 제어 프로그램(520)은 하위 제어 프로그램으로부터 제어 대상 장치에 이상이 발생했음을 보고 받으면 알람을 발생한다(S520). 이때,, 상위 제어 프로그램(520)은 제어 대상 장치의 상태 값이 정상 동작 범위로부터 미리 결정된 오차 범위를 벗어나는지 확인하고, 제어 대상 장치의 상태 값이 오차 범위를 벗어나는 경우 알람을 발생할 수 있다.
예를 들어, 상위 제어 프로그램(520)은 제어 대상 장치의 상태 값이 정상 동작 범위로부터 미리 결정된 오차 범위를 벗어나는 경우, 정상 동작 범위 및 제어 대상 장치의 상태 값을 단말 장치(50)의 디스플레이부에 표시할 수 있다. 또한, 상위 제어 프로그램(520)은 하위 제어 프로그램(522)의 로그 파일을 기초로 사용자에게 최빈값에 따라 하위 제어 프로그램(522)을 제어할 것을 추천하는 메시지를 알람과 함께 제공할 수 있다.
예를 들어, 상위 제어 프로그램(520)은 제어 대상 장치(10)의 전압 값이 미리 결정된 오차 범위를 5V 벗어나는 경우, 하위 제어 프로그램(522)의 최빈 값(예를 들어, 전압 값이 미리 결정된 오차 범위를 5V 벗어나는 경우에 대한 최빈값은 전압 차단 제어 동작)을 기초로 전압을 차단할 것을 추천하는 메시지를 제공할 수 있다.
이때, 상위 제어 프로그램(520)은 사용자로부터 정상 동작 범위 또는 오차 범위를 입력 받거나 서버(60)로부터 정상 동작 범위 또는 오차 범위를 수신할 수 있다.
이어서, 상위 제어 프로그램(520)은 제어 대상 장치의 상태 값이 정상 동작 범위를 벗어나는 경우, 하위 제어 프로그램의 로그 파일 중 최빈값을 이용하여 하위 제어 프로그램을 통제할 수 있다.
구체적으로, 하위 제어 프로그램(522)의 로그 파일은 하위 제어 프로그램(522)이 실행되는 중에 발생하는 이벤트(예를 들어, 제어 이력) 및 메시지(예를 들어, 제어 대상 장치의 상태 값)를 저장하는 데이터이다.
또한, 하위 제어 프로그램(522)은 다른 장치에서 생성된 하위 제어 프로그램의 로그 파일을 수신할 수 있다. 다른 장치에서 생성된 다른 사용자 또는 다른 하위 제어 프로그램의 로그 파일을 이용함으로써, 제어 대상 장치의 상태 값에 대하여 정확하거나 적합한 제어를 수행할 수 있다.
또한, 최빈값은 로그 파일에 포함된 하위 제어 프로그램의 제어 이력 중 다른 제어 이력에 비해 가장 많이 저장되어 있는 제어 이력 데이터를 의미할 수 있다.
예를 들어, 제어 대상 장치의 전압 값이 정상 동작 범위(예를 들어, 10V 내지 15V)에서 5V 벗어난 20V를 갖는 경우, 하위 제어 프로그램이 전압 값을 10V 내리는 제어를 10번, 전압 값을 5V 내리는 제어를 5번 수행했다면, 최빈값은 하위 제어 프로그램이 제어 대상 장치의 전압 값을 10V 내리는 제어 이력 데이터이다.
상위 제어 프로그램(520)은 최빈값이 복수인지 판단한다(S530). 예를 들어, 상기 예시에서 하위 제어 프로그램이 전압 값을 10V 내리는 제어를 10번, 전압 값을 5V 내리는 제어를 10번 수행했다면 최빈값이 복수가 될 수 있다.
상위 제어 프로그램(520)은 최빈값이 복수인 경우, 사용자로부터 복수의 최빈값 중 사용자가 실행하고자 하는 최빈값을 수신한다(S535). 예를 들어, 상기 예시에서 하위 제어 프로그램이 전압 값을 10V 내리는 제어를 10번, 전압 값을 5V 내리는 제어를 10번 수행하여 최빈값이 복수인 경우, 사용자로부터 전압 값을 5V 내리는 최빈값을 입력 받을 수 있다.
이어서, 상위 제어 프로그램(520)은 복수의 최빈값 중 사용자로부터 선택된 최빈값을 이용하거나, 단수인 최빈값을 이용하여 하위 제어 프로그램(522)을 통제한다(S540). 예를 들어, 상위 제어 프로그램(520)은 하위 제어 프로그램(522)을 통해 제어 대상 장치를 제어할 수 있고, 선택된 최빈값에 따라서는 하위 제어 프로그램(522)을 실행시키지 않을 수도 있다.
이어서, 하위 제어 프로그램(522)은 제어 이력을 로그 파일에 저장한다(S550). 예를 들어, 하위 제어 프로그램(522)은 로그 파일에 최빈값 및 최빈값에 따른 제어 이력을 누적하여 저장할 수 있고, 다른 장치와 로그 파일을 공유할 수 있다.
지금까지 설명된 본 발명에 따르면 사용자가 제어 대상 장치나 제어 프로그램의 종류를 직접 확인하지 않고도, 각 제어 대상 장치에 적합한 제어 프로그램을 용이하게 설치할 수 있는 장점이 있다.
또한, 본 발명에 따르면 설치된 제어 프로그램의 수가 증가하더라도 사용자가 각 제어 프로그램의 설치 여부나, 각 제어 프로그램의 실행 버튼 또는 아이콘의 위치를 용이하게 확인할 수 있는 장점이 있다.
또한, 본 발명에 따르면 각 제어 대상 장치에 대응되는 제어 프로그램의 업데이트 필요 여부를 확인하고, 제어 프로그램을 용이하게 업데이트할 수 있는 장점이 있다.
또한, 본 발명에 따르면 설치된 제어 프로그램에 대응되는 제어 대상 장치를 사용자가 신속하게 확인하고, 제어 프로그램을 간편하게 실행할 수 있는 장점이 있다.
또한, 본 발명에 따르면 제어 대상 장치의 상태 값의 변화에 따라 제어 대상 장치의 정상 동작 여부를 확인하고, 제어 프로그램을 용이하게 통제할 수 있는 장점이 있다.
또한, 본 발명에 따르면 제어 대상 장치의 상태 값에 따라 적합하게 제어 프로그램을 통제할 수 있는 장점이 있다.전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
Claims (7)
- 제어 대상 장치를 관리하는 하위 제어 프로그램 및 상기 하위 제어 프로그램을 실행하는 상위 제어 프로그램 중 적어도 하나가 설치된 적어도 하나의 메모리;
상기 메모리와 통신하며 상기 상위 제어 프로그램 또는 상기 하위 제어 프로그램을 실행하는 적어도 하나의 프로세서; 및
연결 요청 신호 또는 모니터링 신호를 상기 제어 대상 장치에 송신하고, 이후 상기 제어 대상 장치로부터 연결 정보 또는 모니터링 정보를 수신하는 통신부를 포함하고,
상기 상위 제어 프로그램은
서버로부터 검색된 상기 하위 제어 프로그램을 획득하여 단말 장치의 메모리에 설치 및 상기 하위 제어 프로그램의 업데이트가 가능하고,
상기 하위 제어 프로그램은,
상기 제어 대상 장치의 상태 값을 획득하는 단계와,
상기 제어 대상 장치의 상태 값이 미리 정해진 정상 동작 범위에 포함되는지 여부를 판단하는 단계와,
상기 제어 대상 장치의 상태 값이 상기 정상 동작 범위를 벗어나는 경우, 상기 제어 대상 장치에 이상이 발생했음을 상기 상위 제어 프로그램에 보고하는 단계를 실행하는
단말 장치.
- 제1항에 있어서,
상기 상위 제어 프로그램은,
상기 하위 제어 프로그램으로부터 상기 제어 대상 장치에 이상이 발생했음을 보고 받으면 알람을 발생하는 단계를 실행하는
단말 장치.
- 제2항에 있어서,
상기 상위 제어 프로그램은,
상기 제어 대상 장치의 상태 값이 상기 정상 동작 범위로부터 미리 결정된 오차 범위를 벗어나는지 확인하는 단계와,
상기 제어 대상 장치의 상태 값이 상기 오차 범위를 벗어나는 경우 알람을 발생하는 단계를 실행하는
단말 장치.
- 제2항에 있어서,
상기 상위 제어 프로그램은,
복수의 사용자 중 상기 상위 제어 프로그램에 로그인한 사용자의 로그인 정보를 기초로 상기 알람 발생 여부 또는 상기 정상 동작 범위를 상기 사용자 별로 서로 다르게 설정하는 단계를 실행하는
단말 장치.
- 제1항에 있어서,
상기 상위 제어 프로그램은,
상기 제어 대상 장치의 상태 값이 상기 정상 동작 범위를 벗어나는 경우,
상기 하위 제어 프로그램의 로그 파일 중 최빈값을 이용하여 상기 하위 제어 프로그램을 통제하는 단계를 실행하는
단말 장치.
- 제5항에 있어서,
상기 상위 제어 프로그램은,
상기 최빈값이 복수인 경우, 사용자로부터 선택된 상기 최빈값을 이용하여 상기 하위 제어 프로그램을 통제하는 단계를 실행하는
단말 장치.
- 제1항에 있어서,
상기 하위 제어 프로그램은,
다른 장치에서 생성된 상기 하위 제어 프로그램의 로그 파일을 수신하는 단계를 더 실행하는
단말 장치.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170064926A KR102236158B1 (ko) | 2017-05-25 | 2017-05-25 | 제어 프로그램을 실행하는 단말 장치 |
CN201780091189.1A CN110678819B (zh) | 2017-05-25 | 2017-08-09 | 控制程序运行方法 |
JP2019562608A JP7058671B2 (ja) | 2017-05-25 | 2017-08-09 | 制御プログラムの実行方法 |
PCT/KR2017/008627 WO2018216854A1 (ko) | 2017-05-25 | 2017-08-09 | 제어 프로그램 실행 방법 |
EP17910636.4A EP3633475A4 (en) | 2017-05-25 | 2017-08-09 | METHOD FOR EXECUTING A CONTROL PROGRAM |
US16/614,568 US10915611B2 (en) | 2017-05-25 | 2017-08-09 | Control program execution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170064926A KR102236158B1 (ko) | 2017-05-25 | 2017-05-25 | 제어 프로그램을 실행하는 단말 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180129227A KR20180129227A (ko) | 2018-12-05 |
KR102236158B1 true KR102236158B1 (ko) | 2021-04-02 |
Family
ID=64744120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170064926A KR102236158B1 (ko) | 2017-05-25 | 2017-05-25 | 제어 프로그램을 실행하는 단말 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102236158B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013171388A (ja) * | 2012-02-20 | 2013-09-02 | Azbil Corp | 管理システムおよびシステム管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140028163A (ko) * | 2011-10-26 | 2014-03-10 | 현대중공업 주식회사 | 산업용 로봇 관리 시스템 |
-
2017
- 2017-05-25 KR KR1020170064926A patent/KR102236158B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013171388A (ja) * | 2012-02-20 | 2013-09-02 | Azbil Corp | 管理システムおよびシステム管理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20180129227A (ko) | 2018-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9883567B2 (en) | Device indication and commissioning for a lighting control system | |
US20200374149A1 (en) | Systems and methods for the implementation of an ai/iot hub in the control of electrical devices, electronics and appliances | |
CN106452989B (zh) | 建立智能场景的方法及装置 | |
CN106648781B (zh) | 通信设备远程固件升级方法及*** | |
US20130297080A1 (en) | Central control system and method for setting control point thereof | |
CN112804319B (zh) | 智能设备控制方法、装置、电子设备和计算机可读介质 | |
US9615211B2 (en) | Server for home appliance network system | |
CN105140886A (zh) | 继电保护***和利用其来收集数据的方法 | |
CN102625230A (zh) | 一种楼宇***通信方法、装置及*** | |
JP2006129219A (ja) | ネットワーク家電機器制御システムおよび携帯型通信装置 | |
CN105656894A (zh) | 一种主控智能终端、受控智能终端及监控方法 | |
KR102236158B1 (ko) | 제어 프로그램을 실행하는 단말 장치 | |
CN110678819B (zh) | 控制程序运行方法 | |
KR101986141B1 (ko) | 제어 프로그램을 실행하는 단말 장치 | |
KR101893592B1 (ko) | 제어 프로그램을 실행하는 단말 장치 | |
KR101772097B1 (ko) | 다중 접속이 가능한 보일러용 컨트롤러 | |
EP3175586B1 (en) | Residential automation system, equipment and process that is easy to install, configure and use | |
KR101986142B1 (ko) | 제어 프로그램을 실행하는 단말 장치 | |
US11937339B2 (en) | Method for provisioning a wireless device using a smartphone application | |
KR101986143B1 (ko) | 제어 프로그램을 실행하는 방법 | |
EP3373618A1 (en) | Method and apparatus for enrolling electronic devices in a connected home monitoring/security system | |
CN115486039A (zh) | 节点控制单元和网络服务设备 | |
EP3384633B1 (en) | Installation of building automation devices | |
CN113321084B (zh) | 调度程序的确定方法以及调度程序的确定装置 | |
US10416699B2 (en) | Automated identification of available operations for equipment |
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 |