KR101731204B1 - Hmi 시스템의 알람 데이터 관리 방법 - Google Patents
Hmi 시스템의 알람 데이터 관리 방법 Download PDFInfo
- Publication number
- KR101731204B1 KR101731204B1 KR1020160006291A KR20160006291A KR101731204B1 KR 101731204 B1 KR101731204 B1 KR 101731204B1 KR 1020160006291 A KR1020160006291 A KR 1020160006291A KR 20160006291 A KR20160006291 A KR 20160006291A KR 101731204 B1 KR101731204 B1 KR 101731204B1
- Authority
- KR
- South Korea
- Prior art keywords
- alarm
- alarm data
- data
- list
- event
- Prior art date
Links
Images
Classifications
-
- G06F17/30117—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G06F17/30339—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B25/00—Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
- G08B25/14—Central alarm receiver or annunciator arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Human Computer Interaction (AREA)
- Alarm Systems (AREA)
Abstract
본 발명은 HMI 시스템의 알람 데이터 관리 방법에 관한 것으로, HMI 화면 상의 객체에 대한 알람 데이터를 수신하는 단계, 상기 알람 데이터가 알람 발생 이벤트를 지시하는지 여부를 확인하는 단계 및 상기 확인 결과에 따라 상기 알람 데이터를 메모리 영역에 할당하여 알람 리스트에 추가하거나 상기 알람 리스트에서 상기 알람 데이터를 삭제하는 단계를 포함한다. 따라서, 본 발명은 연결 리스트를 이용하여 알람 데이터를 효율적으로 관리할 수 있다는 장점이 있다.
Description
본 발명의 일 실시예는 HMI 시스템의 알람 데이터 관리 방법에 관한 것이다.
HMI(Human Machine Interface)는 사용자가 원하는 목표를 달성할 수 있도록 제어 대상 기기의 작동 상태를 표시하고, 적절한 조작이 가능 하도록 해주는 장치를 의미한다. 이러한 HMI는 객체에 제어 대상 기기를 지시하는 태그 및 특정 동작(예를 들어, 제어, 감시, 수집 등)을 지시하는 태그를 매핑하여 HMI 화면을 작화하는 HMI 화면 엔지니어링 단계 및 HMI 화면 엔지니어링 단계에서 작화된 HMI 화면을 구동시키고 런타임 화면 상에서 객체에 매핑된 태그의 정보를 이용하여 해당 객체를 모니터링을 실행하는 HMI 런타임 단계를 포함한다.
상기와 같은 HMI 시스템의 HMI 런타임 단계에서 작화된 HMI 화면을 실행하며 HMI 화면 상의 객체에 맵핑된 태그에 따라 객체를 모니터링하는 과정에서 특정 태그로부터 객체에 대한 알람 데이터를 수신하여 관리한다. 종래에는 알람 데이터 관리 장치가 알람 데이터를 큐 및 연결리스트에 기록하여 관리하였다.
먼저, 알람 데이터 관리 장치는 큐를 이용하여 알람 데이터를 기록할 때 순차적으로 큐에 알람 데이터를 기록하고 큐에 저장공간이 존재하지 않으면 큐의 가장 위쪽에 위치하는 알람 데이터를 삭제하여 알람 데이터를 기록하였다. 하지만, 큐의 중간에 위치하는 알람 데이터를 삭제할 때 삭제되는 위치 이후의 모든 알람 데이터를 삭제된 위치로 이동시켜야 했다. 이러한 경우, 순간적으로 매우 큰 부하를 유발시킨다는 문제점이 있다.
또한, 알람 데이터 관리 장치는 연결리스트를 이용하여 알람 데이터를 기록할 때 순차적으로 메모리를 할당하여 알람 데이터를 연결리스트에 저장하며, 연결리스트에서 알람 데이터를 삭제할 때 알람 데이터가 저장되어있던 메모리를 해제해야 했다. 이와 같이, 알람 데이터가 연결 리스트에 추가되거나 삭제되는 경우, 반복적인 메모리 할당 및 메모리 해제가 계속 되어 시스템 내의 메모리 단편화의 문제가 지속적으로 발생하여 무정전 실시간 시스템에서의 경우 안정성에 치명적인 위험을 안고 있다.
본 발명은 연결 리스트를 이용하여 알람 데이터를 효율적으로 관리할 수 있도록 하는 HMI 시스템의 알람 데이터 관리 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 메모리 관리 모듈을 통해 메모리 영역을 따로 관리함으로써 연결 리스트에 알람 데이터 추가 및 삭제될 때마다 반복적으로 메모리 할당 및 해제를 실행하지 않아도 되어 부하를 줄일 수 있도록 하는 HMI 시스템의 알람 데이터 관리 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 연결 리스트에 대한 별도의 인덱스를 관리함으로써 연결 리스트에서 특정 알람 데이터를 빠르게 검색할 수 있도록 하는 HMI 시스템의 알람 데이터 관리 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명은 HMI 시스템에서 알람 데이터 관리 방법에 관한 것으로, HMI 화면 상의 객체에 대한 알람 데이터를 수신하는 단계, 상기 알람 데이터가 알람 발생 이벤트를 지시하는지 여부를 확인하는 단계 및 상기 확인 결과에 따라 상기 알람 데이터를 메모리 영역에 할당하여 알람 리스트에 추가하거나 상기 알람 리스트에서 상기 알람 데이터를 삭제하는 단계를 포함한다.
전술한 바와 같은 본 발명에 의하면, 연결 리스트를 이용하여 알람 데이터를 효율적으로 관리할 수 있다는 장점이 있다.
또한 본 발명에 의하면, 메모리 관리 모듈을 통해 메모리 영역을 따로 관리함으로써 연결 리스트에 알람 데이터 추가 및 삭제될 때마다 반복적으로 메모리 할당 및 해제를 실행하지 않아도 되어 부하를 줄일 수 있다는 장점이 있다.
또한 본 발명에 의하면, 연결 리스트에 대한 별도의 인덱스를 관리함으로써 연결 리스트에서 특정 알람 데이터를 빠르게 검색할 수 있다는 장점이 있다.
도 1은 일반적인 큐를 이용하여 HMI 시스템의 알람 데이터를 관리하는 과정을 설명하는 도면이다.
도 2는 일반적인 연결 리스트를 이용하여 HMI 시스템의 알람 데이터를 관리하는 과정을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 HMI 시스템의 연결 리스트를 이용한 알람 데이터 관리 장치의 내부 구조를 설명하기 위한 블록도이다.
도 4는 도 3의 메모리 관리부의 내부 구조를 설명하기 위한 도면이다.
도 5는 도 3의 알람 인덱스 관리부의 내부 구조를 설명하기 위한 도면이다.
도 6은 도 3의 알람 리스트 관리부의 내부 구조를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 HMI 시스템의 연결 리스트를 이용한 알람 데이터 관리 과정을 설명하기 위한 흐름도이다.
도 2는 일반적인 연결 리스트를 이용하여 HMI 시스템의 알람 데이터를 관리하는 과정을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 HMI 시스템의 연결 리스트를 이용한 알람 데이터 관리 장치의 내부 구조를 설명하기 위한 블록도이다.
도 4는 도 3의 메모리 관리부의 내부 구조를 설명하기 위한 도면이다.
도 5는 도 3의 알람 인덱스 관리부의 내부 구조를 설명하기 위한 도면이다.
도 6은 도 3의 알람 리스트 관리부의 내부 구조를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 HMI 시스템의 연결 리스트를 이용한 알람 데이터 관리 과정을 설명하기 위한 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
본 명세서에서 사용된 용어 중 “HMI(Human Machine Interface)은 공장 자동화 시스템, 빌딩 제어 시스템, 수 처리 시스템, 전력감시 시스템 등을 포함할 수 있다.
본 명세서에서 사용된 용어 중 “알람 데이터”는 알람 발생 이벤트, 알람 복구 이벤트 및 알람 사용자 인지 이벤트 중 어느 하나를 지시한다. 즉, 상기 알람 데이터는 상기 객체에 대한 데이터가 미리 설정된 임계 범위를 벗어나는 경우 상기 객체에 대한 데이터의 이상 발생을 알리는 알람 발생 이벤트를 지시하며, 상기 객체에 대한 데이터가 미리 설정된 임계 범위를 벗어난 후 다시 미리 설정된 임계 범위에 존재하게 되는 경우 객체에 대한 데이터의 이상 복구를 알리는 알람 복구 이벤트를 지시하며, 상기 알람 데이터는 상기 객체에 대한 데이터가 미리 설정된 임계 범위를 벗어난 후 다시 미리 설정된 임계 범위에 존재하게 된 것을 사용자가 인지하는 경우 사용자 이상 복구를 알리는 알람 사용자 인지 이벤트를 지시한다.
도 1은 일반적인 큐를 이용하여 HMI 시스템의 알람 데이터를 관리하는 과정을 설명하는 도면이다.
도 1을 참조하면, 알람 데이터 관리 장치는 저장 가능한 알람 데이터의 개수(Max)를 지정하여 큐를 생성한다. 예를 들어, 알람 데이터 관리 장치는 50개의 알람 데이터를 저장하기 위한 큐를 생성할 수 있다.
그런 다음, 알람 데이터 관리 장치는 HMI 화면 상의 객체에 맵핑된 태그에 따라 해당 객체를 모니터링하는 과정에서 객체에 대한 알람 데이터를 수신하며, 알람 데이터가 정상적인 알람 발생 이벤트를 지시하면 큐에 순차적으로 알람 데이터를 기록한다.
예를 들어, 알람 데이터 관리 장치는 알람 데이터를 수신하면 큐의 첫 번째 위치에 알람 데이터(10_1)를 기록하고, 다음에 알람 데이터를 수신하면 큐의 두 번째 위치에 알람 데이터(10_2)를 기록하고, 다음에 알람 데이터를 수신하면 큐의 세 번째 위치에 알람 데이터(10_3)를 기록한다.
알람 데이터 관리 장치는 알람 데이터가 수신되어 큐에 기록하려고 하는데 큐에 저장 공간이 존재하지 않으면, 가장 먼저 기록된 알람 데이터를 삭제하여 저장 공간을 확보한 후에 알람 데이터를 큐에 기록한다. 즉, 알람 데이터 관리 장치는 저장 공간을 확보하기 위해 큐의 가장 위쪽에 있는 알람 데이터(10_1)를 삭제하는 것이다.
또한, 알람 데이터 관리 장치는 수신된 알람 데이터가 알람 복구 이벤트 또는 알람 사용자 인지 이벤트를 지시하면 큐에서 해당 알람 데이터를 삭제한다. 예를 들어, 알람 데이터 관리 장치는 수신된 알람 데이터가 알람 복구 이벤트 또는 알람 사용자 인지 이벤트를 지시하면 큐에서 해당 알람 데이터(10_3)를 삭제할 수 있다.
하지만, 큐에서 알람 데이터를 삭제할 때 알람 데이터가 큐의 가장 위쪽에 존재하지 않고 큐의 중간의 N번째에 위치하게 되면 N번째에 위치하는 알람 데이터를 삭제한 후 N+1번째 위치하는 알람 데이터부터 이후의 모든 알람 데이터를 N번째부터 Max-1로 이동시켜야 한다.
예를 들어, 알람 데이터 관리 장치는 큐의 세 번째에 위치하는 알람 데이터(10_3)를 삭제할 경우, 알람 데이터(10_4) 내지 알람 데이터(10_N) 전체를 큐의 세 번째 위치부터 큐의 Max-1로 이동시켜야 한다.
상기의 방식은 저장 가능한 알람 데이터의 개수를 지정하여 큐를 생성한 후, 알람 데이터가 수신될 때마다 큐에 기록하여 알람 리스트를 관리하기 때문에 메모리 할당 및 해제에 대한 부하는 매우 적다.
하지만, 큐의 N번째에 위치하는 알람 데이터가 삭제되는 경우 N+1번째 위치하는 알람 데이터부터 이후의 모든 알람 데이터를 N번째로 이동시켜야 하기 때문에 순간적으로 매우 큰 부하를 유발시킨다는 문제점이 있다.
도 2는 일반적인 연결 리스트를 이용하여 HMI 시스템의 알람 데이터를 관리하는 과정을 설명하는 도면이다.
도 2를 참조하면, 알람 데이터 관리 장치는 HMI 화면 상의 객체에 맵핑된 태그에 따라 해당 객체를 모니터링하는 과정에서 객체로부터 감시 대상 기기에 대한 알람 데이터를 수신하며, 알람 데이터가 정상적인 알람 발생 이벤트를 지시하면 연결 리스트에 알람 데이터를 기록한다. 이러한 연결 리스트는 알람 데이터를 저장하는 데이터 영역 및 다음 알람 데이터가 저장된 노드를 가리키는 포인트 영역을 포함하는 복수의 노드로 구성된다.
따라서, 알람 데이터 관리 장치는 알람 데이터를 수신하면 연결 리스트의 첫 번째 노드의 데이터 영역에 알람 데이터를 기록하고 포인트 영역이 두 번째 노드를 가리키도록 하고, 다음 알람 데이터를 수신하면 연결 리스트의 두 번째 노드의 데이터 영역에 알람 데이터를 기록하고 포인트 영역이 세 번째 노드를 가리키도록 한다.
예를 들어, 알람 데이터 관리 장치는 알람 데이터를 수신하면 연결 리스트의 첫 번째 노드(20_1)의 데이터 영역에 알람 데이터를 기록하여 포인트 영역이 두 번째 노드(Null)을 가리키도록 하고, 다음 알람 데이터를 수신하면 연결 리스트의 두 번째 노드(20_2)의 데이터 영역에 알람 데이터를 기록하고 포인트 영역이 세 번째 노드(Null)를 가리키도록 한다.
또한, 알람 데이터 관리 장치는 알람 데이터가 알람 복구 이벤트 또는 알람 사용자 인지 이벤트를 지시하면 연결 리스트에서 알람 데이터를 삭제한다. 이때, 연결 리스트에서 알람 데이터가 포함된 노드를 삭제하며, 삭제되는 노드의 이전 노드가 다음 노드를 가리키도록 한다. 즉, 삭제되는 노드의 이전 노드의 포인트 영역이 삭제되는 노드의 다음 노드를 가리키도록 한다. 예를 들어, 연결 리스트에서 제3 노드(20_3) 삭제 시 제2 노드(20_2)의 포인트 영역이 제4 노드(미도시됨)를 가리키도록 한다.
상기와 같이, 연결 리스트를 이용하여 HMI 시스템의 알람 데이터를 관리하는 방식은 도 1과 같이 큐를 이용하여 HMI 시스템의 알람 데이터를 관리하는 방식에 비해 연결 리스트 중간의 데이터가 삭제될 때의 데이터 이동은 없기 때문에 부하는 거의 없다.
하지만 알람 데이터가 연결 리스트에 추가되거나 삭제되는 경우, 반복적인 메모리 할당 및 메모리 해제가 계속 되어 시스템 내의 메모리 단편화의 문제가 지속적으로 발생하여 무정전 실시간 시스템에서의 경우 안정성에 치명적인 위험을 안고 있다.
도 3은 본 발명의 일 실시예에 따른 HMI 시스템의 연결 리스트를 이용한 알람 데이터 관리 장치에서의 내부 구조를 설명하기 위한 블록도이다.
도 3을 참조하면, 알람 데이터 관리 장치(100)는 메모리 관리부(110), 인덱스 관리부(120) 및 알람 리스트 관리부(130)를 포함한다.
메모리 관리부(110)는 미사용 메모리 관리 테이블(도 4, 111) 및 사용 메모리 관리 테이블(도 4, 112)을 관리한다. 메모리 관리부(110)는 HMI 시스템의 기동 시에 실시간 알람 데이터의 최대 개수만큼의 고정 메모리 영역을 미리 생성하고, 전체를 메모리 관리 테이블(111)에 저장한다.
그런 다음, 메모리 관리부(110)는 알람 리스트 관리부(130)의 요청에 따라 미사용 메모리 관리 테이블(111)을 참조로 미사용 메모리 영역이 존재하는지 여부를 확인하여 미사용 메모리 영역의 주소를 알람 리스트 관리부(130)에 제공한다. 이에 따라, 알람 리스트 관리부(130)는 미사용 메모리 영역의 주소에 알람 데이터를 기록하여 알람 리스트에 추가할 수 있는 것이다.
메모리 관리부(110)는 알람 리스트 관리부(130)에 의해 알람 데이터가 알람 리스트에 추가되면 해당 알람 데이터의 주소를 미사용 메모리 관리 테이블(111)에서 삭제하고 사용 메모리 관리 테이블(112)에 저장하고, 알람 리스트 관리부(130)에 의해 알람 리스트에서 알람 데이터가 삭제되면 해당 알람 데이터의 주소를 사용 메모리 관리 테이블(112)에서 삭제하고 미사용 메모리 관리 테이블(111)에 저장한다.
알람 인덱스 관리부(120)는 알람 리스트 관리부(130)의 요청에 따라 알람 인덱스 테이블(121)에 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 확인하고, 확인 결과를 알람 리스트 관리부(130)에 제공한다. 이에 따라, 알람 리스트 관리부(130)는 알람 리스트에 알람 데이터를 삭제할 수 있는 것이다.
알람 인덱스 관리부(120)는 알람 리스트 관리부(130)의 요청에 따라 알람 인덱스 테이블(121)에 알람 인덱스를 저장하여 알람 인덱스 테이블(121)을 업데이트 하거나 알람 인덱스 테이블(121)에서 알람 인덱스를 삭제한다.
즉, 알람 인덱스 관리부(120)는 알람 리스트 관리부(130)에 의해 알람 리스트에 알람 데이터가 삽입될 때 알람 인덱스 테이블(도 5, 121)에 알람 인덱스를 저장하고, 알람 리스트 관리부(130)에 의해 알람 리스트에서 알람 데이터가 삭제될 때 알람 인덱스 테이블(121)에서 알람 인덱스를 삭제하는 것이다.
알람 리스트 관리부(130)는 알람 데이터가 정상적인 알람 발생 이벤트를 지시하면, 알람 데이터를 알람 리스트에 삽입한다. 이때, 알람 리스트는 단순 연결 리스트 및 이중 연결 리스트 등으로 구현될 수 있다. 알람 리스트가 단순 연결 리스트로 구현되는 경우, 알람 리스트는 알람 데이터가 기록되는 데이터 영역 및 다음 노드의 주소가 저장되는 포인트 영역을 포함하는 노드로 구성될 수 있다. 알람 데이터가 이중 연결 리스트로 구현되는 경우, 알람 리스트는 이전 노드의 주소가 저장되는 제1 포인트 영역, 알람 데이터가 기록되는 데이터 영역 및 다음 노드의 주소가 저장되는 제2 포인트 영역을 포함하는 노드로 구성될 수 있다.
이때, 알람 리스트 관리부(130)는 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하지 여부에 대한 확인을 알람 인덱스 관리부(120)에 요청하며, 알람 인덱스 관리부(120)에 의한 확인 결과에 따라 알람 데이터를 알람 리스트에 삽입한다.
즉, 알람 리스트 관리부(130)는 알람 인덱스 관리부(120)에 의한 확인 결과 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하지 않으면, 알람 데이터를 알람 리스트에 삽입한다.
이때, 알람 리스트 관리부(130)는 알람 데이터를 알람 리스트에 삽입 시 미사용 메모리 영역이 존재하는지 여부에 대한 확인을 메모리 관리부(110)에 요청하며, 메모리 관리부(110)에 의한 확인 결과에 따라 알람 데이터를 알람 리스트에 삽입한다.
즉, 알람 리스트 관리부(130)는 메모리 관리부(110)에 의한 확인 결과 미사용 메모리 영역이 존재하면, 메모리 관리부(110)로부터 미사용 메모리 영역에 대한 주소를 수신하고, 미사용 메모리 영역의 주소에 알람 데이터를 기록하여 알람 리스트에 추가한다.
만일, 알람 리스트 관리부(130)는 메모리 관리부(110)에 의한 확인 결과 미사용 메모리 영역이 존재하지 않으면, 저장 공간을 확보하기 위해 알람 리스트에서 특정 알람 데이터를 삭제하는 과정을 실행한다. 이때, 알람 리스트 관리부(130)는 알람 리스트 각각의 알람 데이터 중 가장 오래된 알람 데이터를 삭제할 수 있다.
알람 리스트 관리부(130)는 알람 리스트에서 알람 데이터를 삭제한 후, 알람 데이터에 대한 인덱스 정보를 알람 인덱스 테이블(121)에 제공하여 알람 인덱스 테이블(121)에서 알람 데이터에 대한 인덱스 정보의 삭제를 요청하며, 알람 데이터의 메모리 영역의 주소를 메모리 관리부(110)에 제공하여 메모리 관리부(110)에 의해 알람 데이터의 메모리 영역의 주소가 사용 메모리 관리 테이블에서 미사용 메모리 관리 테이블로 이동되도록 한다.
또한, 알람 리스트 관리부(130)는 알람 데이터가 알람 복구 이벤트 또는 알람 사용자 인지 이벤트를 지시하면, 알람 리스트에서 해당 알람 데이터를 삭제한다.
그런 다음, 알람 리스트 관리부(130)는 알람 리스트에서 알람 데이터를 삭제한 후, 알람 데이터에 대한 인덱스 정보를 알람 인덱스 테이블(121)에 제공하여 알람 인덱스 테이블(121)에서 알람 데이터에 대한 인덱스 정보의 삭제를 요청하며, 알람 데이터의 메모리 영역의 주소를 메모리 관리부(110)에 제공하여 메모리 관리부(110)에 의해 알람 데이터의 메모리 영역의 주소가 사용 메모리 관리 테이블에서 미사용 메모리 관리 테이블로 이동되도록 한다.
도 4는 도 3의 메모리 관리부의 내부 구조를 설명하기 위한 도면이다.
도 4를 참조하면, 메모리 관리부(110)는 미사용 메모리 관리 테이블(111) 및 사용 메모리 관리 테이블(112)을 관리한다. 여기에서, 미사용 메모리 관리 테이블(111)은 사용 가능한 메모리가 저장되어 있는 테이블이고, 사용 메모리 관리 테이블(112)은 사용 불가능한 메모리가 저장되어 있는 테이블이다.
메모리 관리부(110)는 HMI 시스템의 기동 시에 실시간 알람 데이터의 최대 개수만큼의 고정 메모리 영역을 미리 생성하고, 전체를 미사용 메모리 관리 테이블(111)에 저장한다.
그런 다음, 메모리 관리부(110)는 알람 리스트 관리부(130)의 요청에 따라 미사용 메모리 관리 테이블(111)을 참조로 미사용 메모리 영역이 존재하는지 여부를 확인하여 미사용 메모리 영역의 주소를 알람 리스트 관리부(130)에 제공한다. 이에 따라, 알람 리스트 관리부(130)는 미사용 메모리 영역의 주소에 알람 데이터를 기록하여 알람 리스트에 추가할 수 있는 것이다.
메모리 관리부(110)는 알람 리스트 관리부(130)에 의해 알람 데이터가 알람 리스트에 추가되면 해당 알람 데이터의 주소를 미사용 메모리 관리 테이블(111)에서 삭제하고 사용 메모리 관리 테이블(112)에 저장하고, 알람 리스트 관리부(130)에 의해 알람 리스트에서 알람 데이터가 삭제되면 해당 알람 데이터의 주소를 사용 메모리 관리 테이블(112)에서 삭제하고 미사용 메모리 관리 테이블(111)에 저장한다.
도 5는 도 3의 알람 인덱스 관리부의 내부 구조를 설명하기 위한 도면이다.
도 5를 참조하면, 알람 인덱스 관리부(120)는 알람 리스트 관리부(130)에 의해 알람 리스트에 알람 데이터가 삽입될 때 알람 인덱스 테이블(도 5, 121)에 알람 인덱스를 저장하고, 알람 리스트 관리부(130)에 의해 알람 리스트에서 알람 데이터가 삭제될 때 알람 인덱스 테이블(121)에서 알람 인덱스를 삭제한다.
이를 위해, 알람 인덱스 테이블(121)에는 알람 리스트에 저장된 알람 데이터의 키 값에 대응되어 알람 인덱스(540)가 저장되어 있다. 이때, 알람 데이터의 키 값은 알람 데이터의 수신 시간(510), 알람 데이터를 발생시킨 태그 ID(520) 및 알람 데이터의 종류(530)에 따라 결정된다.
이에 따라, 알람 인덱스 관리부(120)는 알람 리스트 관리부(130)의 요청에 따라 알람 인덱스 테이블(121)에 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하지 확인할 수 있는 것이다.
또한, 알람 리스트 관리부(130)의 요청에 따라 알람 인덱스 테이블(121)에 알람 인덱스를 저장하여 알람 인덱스 테이블(121)을 업데이트 하거나 알람 인덱스 테이블(121)에서 알람 인덱스를 삭제한다.
즉, 알람 리스트 관리부(130)는 알람 리스트 관리부(130)에 의해 알람 리스트에 알람 데이터가 삽입될 때 알람 인덱스 테이블(121)에 알람 인덱스를 저장하고, 알람 리스트 관리부(130)에 의해 알람 리스트에서 알람 데이터가 삭제될 때 알람 인덱스 테이블(121)에서 알람 인덱스를 삭제하는 것이다.
도 6은 도 3의 알람 리스트 관리부의 내부 구조를 설명하기 위한 도면이다.
도 6을 참조하면, 알람 리스트 관리부(130)는 알람 데이터가 정상적인 알람 발생 이벤트를 지시하면, 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하지 여부에 대한 확인을 알람 인덱스 관리부(120)에 요청하며, 알람 인덱스 관리부(120)에 의한 확인 결과에 따라 알람 데이터를 알람 리스트에 삽입한다.
알람 리스트에 삽입된 알람 데이터는 알람 데이터의 수신 시간(610), 알람 데이터를 발생시킨 태그 ID(620), 알람 데이터의 종류(630), 복구 플래그, 인지 플래그, 다음 알람 데이터가 저장된 메모리 영역의 주소(640)를 포함한다.
알람 리스트 관리부(130)는 알람 데이터가 알람 복구 이벤트 또는 알람 사용자 인지 이벤트를 지시하여 알람 리스트에서 해당 알람 데이터를 삭제하거나 저장 공간을 확보하기 위해 알람 리스트에서 특정 알람 데이터를 삭제하는 경우, 알람 리스트에서 삭제되는 알람 데이터의 이전 알람 데이터의 정보를 일부 정정한다. 즉, 알람 리스트 관리부(130)는 알람 리스트에서 삭제되는 알람 데이터의 이전 알람 데이터의 정보 중 다음 알람 데이터가 저장된 메모리 영역의 주소를 삭제되는 알람 데이터의 다음 알람 데이터의 주소로 변경한다.
예를 들어, 알람 리스트 관리부(130)는 알람 리스트에서 &0002에 해당하는 알람 데이터를 삭제하는 경우, &0001에 해당하는 알람 데이터의 정보 중 다음 알람 데이터가 저장된 메모리 영역의 주소(640)를 &0002에서 &0010으로 변경할 수 있다.
도 7은 본 발명의 일 실시예에 따른 HMI 시스템의 연결 리스트를 이용한 알람 데이터 관리 과정을 설명하기 위한 흐름도이다.
도 7을 참조하면, 알람 데이터 관리 장치(100)는 HMI 화면 상의 객체에 맵핑된 태그에 따라 해당 객체를 모니터링하는 과정에서 특정 태그로부터 객체에 대한 알람 데이터를 수신한다(단계 S710). 알람 데이터 관리 장치(100)는 알람 데이터가 알람 발생 이벤트를 지시하면(단계 S720), 알람 인덱스 테이블을 참조로 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 확인한다(단계 S721).
이때, 알람 데이터 관리 장치(100)는 알람 데이터의 수신 시간, 상기 알람 데이터를 발생시킨 태그 ID 및 알람 데이터의 종류를 이용하여 상기 알람 데이터의 키 값을 생성하여 알람 인덱스 테이블에서 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 여부를 확인할 수 있다.
알람 데이터 관리 장치(100)는 확인 결과 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하지 않으면(단계 S721), 알람 발생 이벤트를 정상 이벤트로 판단한다. 하지만, 확인 결과 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하면(단계 S721), 알람 발생 이벤트를 비정상 이벤트로 판단하여 종료한다.
즉, 알람 데이터 관리 장치(100)는 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하면, 알람 데이터가 시스템에서의 시간의 잘못이나 내부 오류 등의 원인으로 간주하여 종료하는 것이다.
알람 데이터 관리 장치(100)는 알람 발생 이벤트가 정상 이벤트로 판단되면, 메모리 관리 테이블을 참조로 미사용 메모리 영역이 존재하는지 여부를 판단한다(단계 S730).
알람 데이터 관리 장치(100)는 메모리 관리 테이블을 참조로 미사용 메모리 영역이 존재하면(단계 S730), 미사용 메모리 관리 테이블에서 해당 주소를 삭제하고, 삭제된 주소를 사용 메모리 관리 테이블에 저장한다(단계 S731). 알람 데이터 관리 장치(100)는 미사용 메모리 영역의 주소에 알람 데이터를 기록하여 알람 리스트에 추가한다(단계 S732). 그런 다음, 알람 데이터 관리 장치(100)는 알람 데이터에 대한 인덱스 정보를 알람 인덱스 테이블에 업데이트한다(단계 S733).
한편, 알람 데이터 관리 장치(100)는 관리 테이블을 참조로 미사용 메모리 영역이 존재하지 않으면(단계 S730), 알람 리스트에서 특정 알람 데이터를 삭제한다(단계 S734). 이때, 알람 데이터 관리 장치(100)는 알람 리스트에서 가장 오래된 알람 데이터를 삭제한다.
그런 다음, 알람 데이터 관리 장치(100)는 알람 인덱스 테이블에서 알람 데이터에 해당하는 인덱스를 삭제하고(단계 S735), 사용 메모리 관리 테이블에서 상기 삭제된 알람 데이터의 메모리 영역의 주소를 삭제하고, 상기 삭제된 알람 데이터의 메모리 영역의 주소를 미사용 메모리 관리 테이블에 저장한다(단계 S731).
상기의 실시예와는 달리, 알람 데이터 관리 장치(100)는 알람 데이터가 알람 복구 이벤트 또는 알람 사용자 인지 이벤트를 지시하면(단계 S720), 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 여부를 확인한다(단계 S722). 알람 데이터 관리 장치(100)는 알람 인덱스 테이블을 참조로 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하면(단계 S722), 알람 데이터의 복구 플래그 또는 인지 플래그를 설정한다(단계 S723).
알람 데이터 관리 장치(100)는 알람 데이터가 삭제 조건을 만족하면(단계 S724), 알람 리스트에서 알람 데이터를 삭제한다(단계 S725). 그런 다음, 알람 데이터 관리 장치(100)는 사용 메모리 관리 테이블에서 상기 삭제된 알람 데이터의 메모리 영역의 주소를 삭제하고, 상기 삭제된 알람 데이터의 메모리 영역의 주소를 미사용 메모리 관리 테이블에 저장하고(단계 S726), 알람 인덱스 테이블에서 알람 데이터에 해당하는 인덱스를 삭제한다(단계 S727).
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
Claims (18)
- 알람 데이터 관리 장치에서 실행되는 알람 데이터 관리 방법에 있어서,
HMI 화면 상의 객체에 대한 알람 데이터를 수신하는 단계;
상기 알람 데이터가 상기 알람 발생 이벤트를 지시하면, 상기 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 여부에 따라 상기 알람 발생 이벤트가 정상 이벤트인지 여부를 확인하고, 상기 알람 발생 이벤트가 정상 이벤트이면 상기 알람 데이터를 메모리 영역에 할당하여 알람 리스트에 추가하는 단계; 및
상기 알람 발생 이벤트가 알람 복구 이벤트 또는 알람 사용자 인지 이벤트를 지시하면, 상기 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 여부에 따라 상기 알람 발생 이벤트가 정상 이벤트인지 여부를 확인하고, 상기 알람 발생 이벤트가 정상 이벤트이면 상기 알람 리스트에서 상기 알람 데이터를 삭제하는 단계를 포함하는
HMI 시스템의 알람 데이터 관리 방법.
- 삭제
- 제1항에 있어서,
상기 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 여부에 따라 상기 알람 발생 이벤트가 정상 이벤트인지 여부를 판단하는 단계는
상기 알람 데이터의 수신 시간, 상기 알람 데이터를 발생시킨 태그 ID 및 알람 데이터의 종류를 이용하여 상기 알람 데이터의 키 값을 생성하여 상기 알람 인덱스 테이블에서 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 여부를 확인하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제3항에 있어서,
상기 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하는지 여부에 따라 상기 알람 발생 이벤트가 정상 이벤트인지 여부를 판단하는 단계는
상기 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하지 않으면 상기 알람 발생 이벤트를 정상 이벤트로 판단하는 단계; 및
상기 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하면 상기 알람 발생 이벤트를 비정상 이벤트로 판단하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제4항에 있어서,
상기 알람 발생 이벤트를 정상 이벤트로 판단하는 단계는
상기 메모리 관리 테이블을 참조로 미사용 메모리 영역이 존재하는지 여부를 판단하는 단계; 및
상기 판단 결과에 따라 상기 알람 데이터를 상기 미사용 메모리 영역에 할당하여 알람 리스트에 추가하거나 상기 알람 리스트에서 상기 알람 데이터를 삭제하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제5항에 있어서,
상기 판단 결과에 따라 상기 알람 데이터를 메모리 영역에 할당하여 알람 리스트에 추가하거나 상기 알람 리스트에서 상기 알람 데이터를 삭제하는 단계는
상기 판단 결과 상기 미사용 메모리 영역이 존재하면, 상기 미사용 메모리 영역의 주소에 알람 데이터를 기록하여 알람 리스트에 추가하는 단계; 및
상기 판단 결과 상기 미사용 메모리 영역이 존재하지 않으면, 상기 알람 리스트에서 특정 알람 데이터를 삭제하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제6항에 있어서,
상기 알람 데이터를 상기 미사용 메모리 영역에 할당하여 알람 리스트에 추가하는 단계는
상기 알람 데이터에 대한 인덱스 정보를 알람 인덱스 테이블에 업데이트하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제6항에 있어서,
상기 알람 데이터를 상기 미사용 메모리 영역에 할당하여 알람 리스트에 추가하는 단계는
미사용 메모리 관리 테이블에서 상기 미사용 메모리 영역의 주소를 삭제하고, 상기 삭제된 미사용 메모리 영역의 주소를 사용 메모리 관리 테이블에 저장하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제6항에 있어서,
상기 알람 리스트에서 특정 알람 데이터를 삭제하는 단계는
상기 알람 리스트 각각의 알람 데이터 중 가장 오래된 알람 데이터를 삭제하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제6항에 있어서,
상기 알람 리스트에서 특정 알람 데이터를 삭제하는 단계는
사용 메모리 관리 테이블에서 상기 삭제된 알람 데이터의 메모리 영역의 주소를 삭제하고, 상기 삭제된 알람 데이터의 메모리 영역의 주소를 미사용 메모리 관리 테이블에 저장하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제6항에 있어서,
상기 알람 리스트에서 특정 알람 데이터를 삭제하는 단계는
상기 알람 인덱스 테이블에서 상기 알람 데이터에 해당하는 인덱스를 삭제하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 삭제
- 제1항에 있어서,
상기 알람 리스트에서 상기 알람 데이터를 삭제하는 단계는
상기 확인 결과 상기 알람 인덱스 테이블을 참조로 상기 알람 데이터의 키 값과 동일한 키 값을 가지는 알람 데이터가 존재하면 플래그를 알람 복구 또는 알람 사용자 인지로 설정하는 단계를 포함하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제1항에 있어서,
상기 HMI 화면 상의 객체에 대한 알람 데이터를 수신하는 단계는
상기 HMI 화면 상의 객체에 맵핑된 태그에 따라 해당 객체를 모니터링하는 과정에서 특정 태그로부터 상기 객체에 대한 알람 데이터를 수신하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제14항에 있어서,
상기 알람 데이터는
알람 발생 이벤트, 알람 복구 이벤트 및 알람 사용자 인지 이벤트 중 어느 하나를 지시하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제15항에 있어서,
상기 알람 데이터는
상기 객체에 대한 데이터가 미리 설정된 임계 범위를 벗어나는 경우 상기 객체에 대한 데이터의 이상 발생을 알리는 알람 발생 이벤트를 지시하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제15항에 있어서,
상기 알람 데이터는
상기 객체에 대한 데이터가 미리 설정된 임계 범위를 벗어난 후 다시 미리 설정된 임계 범위에 존재하게 되는 경우 객체에 대한 데이터의 이상 복구를 알리는 알람 복구 이벤트를 지시하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
- 제15항에 있어서,
상기 알람 데이터는
상기 객체에 대한 데이터가 미리 설정된 임계 범위를 벗어난 후 다시 미리 설정된 임계 범위에 존재하게 된 것을 사용자가 인지하는 경우 사용자 이상 복구를 알리는 알람 사용자 인지 이벤트를 지시하는 것을 특징으로 하는
HMI 시스템의 알람 데이터 관리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160006291A KR101731204B1 (ko) | 2016-01-19 | 2016-01-19 | Hmi 시스템의 알람 데이터 관리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160006291A KR101731204B1 (ko) | 2016-01-19 | 2016-01-19 | Hmi 시스템의 알람 데이터 관리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101731204B1 true KR101731204B1 (ko) | 2017-04-27 |
Family
ID=58702556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160006291A KR101731204B1 (ko) | 2016-01-19 | 2016-01-19 | Hmi 시스템의 알람 데이터 관리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101731204B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210105686A (ko) | 2020-02-19 | 2021-08-27 | 엘에스일렉트릭(주) | 휴먼 머신 인터페이스 시스템에서의 화면 표시 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008123211A (ja) * | 2006-11-10 | 2008-05-29 | Canon Inc | リソース監視装置及びリソース監視方法 |
-
2016
- 2016-01-19 KR KR1020160006291A patent/KR101731204B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008123211A (ja) * | 2006-11-10 | 2008-05-29 | Canon Inc | リソース監視装置及びリソース監視方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210105686A (ko) | 2020-02-19 | 2021-08-27 | 엘에스일렉트릭(주) | 휴먼 머신 인터페이스 시스템에서의 화면 표시 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3367251B1 (en) | Storage system and solid state hard disk | |
US8909887B1 (en) | Selective defragmentation based on IO hot spots | |
US9665493B2 (en) | Increased cache performance with multi-level queues of complete tracks | |
CN104935654A (zh) | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 | |
US10691601B2 (en) | Cache coherence management method and node controller | |
CN111324296B (zh) | 一种数据处理的方法、控制器、存储设备及存储系统 | |
CN105612518A (zh) | 用于自主存储器搜索的方法及系统 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
EP2919120B1 (en) | Memory monitoring method and related device | |
CN108664577B (zh) | 一种基于flash空闲区的文件管理方法及系统 | |
KR101731204B1 (ko) | Hmi 시스템의 알람 데이터 관리 방법 | |
CN106095331B (zh) | 一种固定大文件内部资源的控制方法 | |
CN108647278B (zh) | 一种文件管理方法及系统 | |
CN111399753A (zh) | 写入图片的方法和装置 | |
CN109753224B (zh) | 存储结构及存储结构配置方法 | |
US20200004636A1 (en) | Data Storage System with Strategic Contention Avoidance | |
CN113177033A (zh) | 一种日志数据存储方法、装置、电子设备和介质 | |
US11436080B2 (en) | Memory controller, memory, memory system, information processing system, and method of control thereof | |
CN113535666A (zh) | 数据写入方法及装置、数据库系统、存储介质 | |
EP4414858A1 (en) | Processing method and apparatus for communication service data, and computer storage medium | |
CN113254271B (zh) | 一种数据序列恢复方法、装置、设备及存储介质 | |
CN103685359B (zh) | 数据处理方法及装置 | |
CN109086006A (zh) | 一种数据读取的方法以及相关装置 | |
CN109032762A (zh) | 虚拟机回溯方法及相关设备 | |
US9710183B2 (en) | Effectively limitless apparent free space on storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |