KR20190118856A - 제어기 데이터 관리 방법 - Google Patents

제어기 데이터 관리 방법 Download PDF

Info

Publication number
KR20190118856A
KR20190118856A KR1020180042275A KR20180042275A KR20190118856A KR 20190118856 A KR20190118856 A KR 20190118856A KR 1020180042275 A KR1020180042275 A KR 1020180042275A KR 20180042275 A KR20180042275 A KR 20180042275A KR 20190118856 A KR20190118856 A KR 20190118856A
Authority
KR
South Korea
Prior art keywords
controller
recording
shared memory
module
variable name
Prior art date
Application number
KR1020180042275A
Other languages
English (en)
Other versions
KR102118858B1 (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 KR1020180042275A priority Critical patent/KR102118858B1/ko
Publication of KR20190118856A publication Critical patent/KR20190118856A/ko
Application granted granted Critical
Publication of KR102118858B1 publication Critical patent/KR102118858B1/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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15118Shared memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23067Control, human or man machine interface, interactive, HMI, MMI

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 제어기 데이터 관리 방법에 관한 것이다. 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법은, 상기 운용 모드가 기록 모드일 경우, 기록/재생 모듈의 기록 기능을 활성화 시키는 단계, 통신 모듈이 수신한 제어기 데이터를 상기 기록/재생 모듈에 전달하는 단계, 상기 제어기 데이터에 포함된 제어기 변수명 및 제어기 값과, 상기 제어기 변수명 및 상기 제어기 값의 기록 시간을 로그 파일에 기록하는 단계 및 상기 제어기 변수명 및 상기 제어기 값을 사용하여 공유 메모리를 업데이트하는 단계를 포함한다. 본 발명에 의하면, HMI 시스템 사용 현장에서 발생한 문제를 별도의 HMI 시스템을 통해 동일하게 재현할 수 있는 장점이 있다.

Description

제어기 데이터 관리 방법{METHOD FOR MANAGING CONTROLLER DATA}
본 발명은 제어기 데이터 관리 방법에 관한 것으로, 보다 상세하게는 HMI 시스템에서 제어기 값의 변화를 기록하고 재생하는 제어기 데이터 관리 방법에 관한 것이다.
최근 자동화 장비의 사용분야가 다양해지고, 요구되는 기능이 복잡해짐에 따라 자동화 장비를 운영자가 효과적으로 제어 및 감시하기 위한 사용자용 인터페이스 장치가 필요하게 되었다.
이와 같이 자동화 장비의 제어 및 감시를 위한 사용자용 인터페이스 장치를 HMI(Human Machine Interface) 장치라 한다.
일반적인 HMI 시스템은 제어 관리 시스템의 데이터를 사용자에게 직관적으로 표시하는 기능 및 사용자로부터 입력된 제어 명령에 따라 제어 관리 시스템을 제어하는 기능을 수행할 수 있다.
보다 구체적으로, 사용자는 HMI 시스템을 통해 제어 관리 시스템 및 제어 관리 시스템에 의해 제어되는 대상 기기들을 이용한 프로젝트를 생성하거나 변경할 수 있고, HMI 시스템은 사용자가 생성하거나 변경한 프로젝트의 상태 설정에 따라 제어 관리 시스템을 제어할 수 있다.
이와 같은 제어 관리 시스템의 제어 과정에서, HMI 시스템은 사용자의 요청에 따라 제어 관리 시스템의 상태, 제어 관리 시스템에 의해 진행중인 프로젝트의 상태 및 프로젝트에 따라 구동중인 각 대상기기에 대한 상태 등을 나타내는 데이터를 수신하고, 수신한 데이터를 수치, 도형 또는 그래프 등의 시각 정보로 변환하여 사용자에게 제공할 수 있다.
HMI 시스템에 문제점이 존재할 경우, 직접 HMI 시스템의 사용 현장에 방문하여 문제 발생의 원인을 파악하거나, 다른 현장에서 이와 같은 문제점을 재현하고 원인을 파악한 후 기존의 코드를 수정하거나 추가적인 코드 구현을 통해 시스템을 보완하는 작업이 필요하다.
일반적인 HMI 시스템의 사용 현장에서는 HMI와 연결된 제어기가 네트워크를 통해 연결된 타 제어기 및 여러 장비와 상호작용하고 있으므로, HMI 시스템의 문제점을 재현하려면 최소한 HMI 시스템 사용 현장에서 사용되는 제어기와 동일한 제어기를 설치해야 하며, 동일한 제어기를 설치했다 하더라도 제어기가 HMI 시스템 사용 현장과 동일한 제어기 값의 변화를 갖도록 제어해야 한다.
즉, HMI 시스템 사용 현장에서 발생한 문제를 HMI 시스템의 사용 현장이 아닌 개발사 사무실과 같은 다른 현장에서 똑같이 구현하는 것에는 많은 어려움이 따른다. 결국, HMI에 연결되는 제어기 없이도 HMI 시스템 사용 현장에서 발생했던 문제를 동일하게 재현할 수 있는 방법이 요구된다.
본 발명은 HMI 시스템 사용 현장에서 발생한 문제의 내용을 시간의 흐름에 따라 기록할 수 있는 제어기 데이터 관리 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 HMI 시스템 사용 현장에서 발생한 문제를 별도의 HMI 시스템을 통해 자유롭게 재현할 수 있는 제어기 데이터 관리 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명의 일 측면은, HMI 시스템의 운용 모드를 판단하는 단계, 상기 운용 모드가 기록 모드일 경우, 기록/재생 모듈의 기록 기능을 활성화 시키는 단계, 통신 모듈이 수신한 제어기 데이터를 상기 기록/재생 모듈에 전달하는 단계, 상기 제어기 데이터에 포함된 제어기 변수명 및 제어기 값과, 상기 제어기 변수명 및 상기 제어기 값의 기록 시간을 로그 파일에 기록하는 단계 및 상기 제어기 변수명 및 상기 제어기 값을 사용하여 공유 메모리를 업데이트하는 단계를 포함하는 제어기 데이터 관리 방법을 제공할 수 있다.
본 발명의 일 실시예에서, 제어기 데이터 관리 방법은 상기 운용 모드가 재생 모드일 경우, 기록/재생 모듈의 재생 기능을 활성화 시키는 단계, 상기 기록/재생 모듈을 통해 상기 로그 파일에 기록된 상기 기록 시간, 상기 제어기 변수명 및 상기 제어기 값을 확인하는 단계 및 상기 기록 시간, 상기 제어기 변수명 및 상기 제어기 값을 사용하여 공유 메모리를 업데이트하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 공유 메모리를 업데이트하는 단계는 상기 기록 시간에 따라 상기 제어기 변수명에 대응되는 상기 공유 메모리의 배열 원소를 상기 제어기 값으로 업데이트하는 단계를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 공유 메모리를 업데이트하는 단계는 미리 설정된 시간 변환 비율을 사용하여 상기 기록 시간을 변환하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에서, 제어기 데이터 관리 방법은 상기 운용 모드가 일반 모드일 경우, 기록/재생 모듈을 비활성화 시키는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 통신 모듈 및 상기 공유 메모리는 서로 동일한 API 목록을 갖는 인터페이스를 사용할 수 있다.
전술한 바와 같은 본 발명에 의하면, HMI 시스템 사용 현장에서 발생한 문제의 내용을 시간의 흐름에 따라 기록할 수 있는 장점이 있다.
또한 본 발명에 의하면, HMI 시스템 사용 현장에서 발생한 문제를 별도의 HMI 시스템을 통해 자유롭게 재현할 수 있는 장점이 있다.
도 1은 종래의 PLC 시스템에서 사용자 프로그램 파일을 처리하는 과정을 개념적으로 나타낸 설명도이다.
도 2는 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법의 기록 기능을 사용하는 HMI 시스템을 개념적으로 나타낸 설명도이다.
도 3은 본 발명의 일 실시예에 따른 로그 파일에 기록된 제어기 변수명 및 제어기 값의 목록을 나타낸 표이다.
도 4는 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법의 재생 기능을 사용하는 HMI 시스템을 개념적으로 나타낸 설명도이다.
도 5는 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법을 구현하기 위한 소프트웨어의 설계 모델을 나타내는 클래스 다이어그램이다.
도 6은 도 5의 설계 모델에 따른 프로그램의 실행 모델을 나타내는 오브젝트 다이어그램이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 1은 종래의 HMI 시스템의 구성을 개념적으로 나타낸 설명도이다.
참고로, 본 발명의 모듈은 프로그램의 기능을 독립적인 단위로 분리한 하나의 소프트웨어 요소 또는 독립적으로 설치 및 교체되고 사용되도록 설계된 하나의 하드웨어 요소를 의미한다.
즉, 본 발명에서 모듈은 전체 시스템 및 체계 중 다른 구성 요소와 구별되는 독립적인 하나의 구성 요소를 의미하며, 소프트웨어 요소 또는 하드웨어 요소 중 어느 하나에 한정되지 않는다.
도 1을 참조하면, 종래의 HMI 시스템에서 HMI(10)는 네트워크(14)를 통해 제어기(12)와 연결되며, 기능 모듈(102), 공유 메모리(104) 및 통신 모듈(106)을 포함할 수 있다.
HMI(10)는 제어기(12)와 네트워크(14)를 통해 연결된 통신 모듈(106)을 사용하여 제어기(12)로부터 제어기 데이터를 전달받을 수 있다. 통신 모듈(106)은 제어기(12)로부터 전달받은 제어기 데이터를 공유 메모리에 업데이트할 수 있다(S14).
HMI(10)는 그래프, 표와 같은 그래픽 요소를 관리하는 그래픽 모듈 외에도, 제어기 데이터를 기록하는 로깅 모듈, 제어기 데이터를 감시하며 이상 발생 시 이를 고지하는 알람 모듈과 같은 복수의 기능 모듈(102)을 동시에 운용할 수 있다.
이와 같은 복수의 기능 모듈(102)은 각각의 스레드(Thread)를 운용하면서 공유 메모리(104)부터 제어기 데이터를 읽어올 수 있으며(S10), 사용자에 의한 조작이 입력될 경우 조작에 의해 변화된 내용을 포함하는 조작 데이터를 통신 모듈(106)에게 전달할 수 있다(S12). 참고로 스레드란 하나의 프로그램 또는 하나의 프로세스를 보다 작은 단위로 나눈 경량화된 프로세스를 의미한다.
즉, 복수의 기능 모듈(102)은 통신 모듈(106)에게 개별적으로 데이터를 요청하지 않으며, 공유 메모리(104)를 통해 데이터를 읽을 수 있다.
도 2는 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법의 기록 기능을 사용하는 HMI 시스템을 개념적으로 나타낸 설명도이다.
도 2를 참조하면, 본 발명의 제어기 데이터 관리 방법을 사용하는 HMI(20)는 기능 모듈(202), 공유 메모리(204), 통신 모듈(206) 및 기록 재생 모듈(208)을 포함할 수 있다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법을 사용하는 HMI(20)는 종래의 HMI(10)와 비교할 때 기록/재생 모듈(208)을 더 포함할 수 있다.
HMI(20)는 통신 모듈(206)을 사용하여 네트워크(14)를 통해 연결된 제어기(12)로부터 제어기 데이터를 전달받을 수 있다.
HMI(20)는 그래프, 표와 같은 그래픽 요소를 관리하는 그래픽 모듈 외에도, 제어기 데이터를 기록하는 로깅 모듈, 제어기 데이터를 감시하며 이상 발생 시 이를 고지하는 알람 모듈과 같은 복수의 기능 모듈(202)을 동시에 운용할 수 있다.
이와 같은 복수의 기능 모듈(202)은 각각의 스레드(Thread)를 운용하면서 공유 메모리(204)부터 제어기 데이터를 읽어올 수 있으며, 사용자에 의한 조작이 입력될 경우 조작에 의해 변화된 내용을 포함하는 조작 데이터를 통신 모듈(206)에게 전달할 수 있다.
즉, 복수의 기능 모듈(202)은 통신 모듈(206)에게 개별적으로 데이터를 요청하지 않으며, 공유 메모리(204)를 통해 데이터를 읽을 수 있다.
통신 모듈(206)은 제어기(12)로부터 전달받은 제어기 데이터를 기록/재생 모듈(208)을 거쳐 공유 메모리에 업데이트할 수 있다.
다시 도 2를 참조하면, 기록/재생 모듈(208)은 통신 모듈(206)로부터 제어기 데이터를 전달 받으며, 전달 받은 제어기 데이터를 공유 메모리(204)로 전달할 수 있다.
본 발명의 일 실시예에 따른 제어기 데이터 관리 방법은 소프트웨어의 추가 기능, 즉 애드 인(Add-in) 기능을 통해 통신 모듈(206) 및 공유 메모리(204) 사이에 기록/재생 모듈(208)을 추가함으로써, 통신 모듈(206)의 제어기 데이터가 기록/재생 모듈(208)을 거쳐 공유 메모리(204)로 전달되도록 할 수 있다. 참고로 애드 인 기능은 특정 소프트웨어에 포함된 본래 기능 이외에 다른 기능을 추가 또는 확장하기 위하여 추가 기능을 갖는 애드 인 소프트웨어를 특정 소프트웨어에 결합하는 기능을 의미한다.
이처럼 본 발명의 일 실시예에서 HMI(20)는 종래의 HMI(10)와 비교할 때 기록/재생 모듈(208)을 더 포함할 수 있으며, 이때 복수의 기능 모듈(202)은 종래의 기능 모듈(102)과 동일하게 각각의 스레드(Thread)를 운용하면서 공유 메모리(204)부터 제어기 데이터를 읽어올 수 있다.
즉, 공유 메모리(204)에 업데이트 되는 제어기 데이터는 기록/재생 모듈(208)에 의해 변환 또는 변형되지 않으며, 복수의 기능 모듈(202)은 종래의 기능 모듈(102)과 동일한 방식으로 미리 설정된 기능을 수행할 수 있다.
이하에서는 본 발명의 일 실시예에 따른 기록 모드에서의 제어기 데이터의 이동 경로를 통해 기록/재생 모듈(208)의 역할에 대해 상세히 설명한다.
먼저, HMI(20)는 HMI 시스템의 운용 모드를 판단한다.
본 발명의 일 실시예에서, HMI 시스템의 운용 모드는 기록 모드, 재생 모드 및 일반 모드를 포함할 수 있다.
기록 모드는 제어기에서 HMI(20)로 전송되는 제어기 데이터를 로그 파일(210)에 기록하기 위해 사용될 수 있다.
재생 모드는 기록 모드를 통해 로그 파일(210)에 기록된 제어기 데이터를 공유 메모리(204)에 업데이트하기 위해 사용될 수 있다.
일반 모드는 제어기(12)에서 HMI(20)로 전송되는 제어기 데이터를 로그 파일(210)에 기록하지 않고, 종래의 HMI 시스템 운용 방식과 동일한 방식으로 HMI 시스템을 운용하기 위해 사용될 수 있다.
HMI 시스템의 운용 모드를 판단한 결과, HMI 시스템의 운용 모드가 기록 모드일 경우 HMI(20)는 기록/재생 모듈(208)의 기록 기능을 활성화 시킬 수 있다. 기록/재생 모듈(208)의 기록 기능이 활성화되면, 통신 모듈(206)의 제어기 데이터는 기록/재생 모듈(208)에 전달된다.
반면, HMI 시스템의 운용 모드가 일반 모드일 경우 HMI(20)는 기록/재생 모듈(208)을 비활성화시킬 수 있다. 기록/재생 모듈(208)이 비활성화되면, 통신 모듈(206)의 제어기 데이터는 공유 메모리(204)에 전달된다.
본 발명의 기록/재생 모듈(208)의 기록 기능은 소프트웨어의 추가 기능, 즉 애드 인(Add-in) 기능을 통해 통신 모듈(206) 및 공유 메모리(204) 사이에 기록/재생 모듈(208)을 추가함으로써, 통신 모듈(206)의 제어기 데이터가 기록/재생 모듈(208)을 거쳐 공유 메모리(204)로 전달되도록 하는 기능이다.
반대로, 기록/재생 모듈(208)의 비활성화는 통신 모듈(206) 및 공유 메모리(204) 사이에 기록/재생 모듈(208)을 추가하지 않거나, 추가되었던 기록/재생 모듈(208)을 제거함으로써 통신 모듈(206)의 제어기 데이터가 기록/재생 모듈(208)을 거치지 않고 공유 메모리(204)로 직접 전달되도록 하는 것을 의미한다.
즉, 제어기(12)로부터 HMI(20)로 입력되는 제어기 데이터는 HMI 시스템의 운용 모드가 일반 모드일 경우 통신 모듈(206)로부터 직접 공유 메모리(204)로 전달될 수 있고, HMI 시스템의 운용 모드가 기록 모드일 경우 통신 모듈(206)로부터 기록/재생 모듈(208)을 거쳐 공유 메모리(204)로 전달될 수 있다.
본 발명의 일 실시예에서, HMI(20)의 통신 모듈(206) 및 공유 메모리(204)는 서로 동일한 인터페이스를 사용할 수 있다.
통신 모듈(206)의 제어기 데이터가 기록/재생 모듈(208)로 전달되기 위해서는 통신 모듈(206)과 기록/재생 모듈(208) 간 인터페이스가 설정되어야 하며, 기록/재생 모듈(208)을 거친 제어기 데이터가 공유 메모리(204)로 전달되기 위해서는 공유 메모리(204)와 기록/재생 모듈(208) 간 인터페이스가 설정되어야 한다.
이때 각 인터페이스가 서로 동일한 인터페이스로 유지됨으로써, 통신 모듈(206)이 수신한 제어기 데이터는 기록/재생 모듈(208)을 거쳐 공유 메모리(204)로 전달될 수 있다.
본 발명의 일 실시예에서, 제어기 데이터는 제어기 변수명 및 제어기 값에 대한 정보를 포함할 수 있다.
제어기 값은 제어기(12)의 프로그램에 사용되는 데이터의 값이며, 제어기 변수명은 사용자가 임의로 설정할 수 있는 제어기 값의 이름이다. 사용자가 설정한 제어기 변수명에 대응되는 제어기 값은 제어기 변수명에 대응되는 공유 메모리(204)의 배열 원소에 저장될 수 있다.
HMI(20)는 기록/재생 모듈(208)을 통해 제어기 데이터에 포함된 제어기 변수명 및 제어기 값과, 제어기 변수명 및 상기 제어기 값의 기록 시간을 로그 파일(210)에 기록할 수 있다.
도 3은 본 발명의 일 실시예에 따른 로그 파일에 기록된 제어기 변수명 및 제어기 값의 목록을 나타낸 표이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 로그 파일(210)은 기록/재생 모듈(208)을 통해 기록된 제어기 변수명(34), 제어기 값(36) 및 기록 시간(32)에 관한 정보를 포함한다.
본 발명의 일 실시예에서, 제어기 값(36) 및 제어기 변수명(34)은 제어기 변수명(34)과 제어기 값(36)이 기록된 기록 시간(32)의 순서(38)에 따라 순차적으로 로그 파일(210)에 저장될 수 있다.
즉, 제어기 값(36)은 시간의 흐름 및 제어기(12)의 구동 상태에 따라 변할 수 있으며, 통신 모듈(206)이 제어기(12)로부터 수신받는 제어기 데이터의 내용 또한 시간의 흐름에 따라 변할 수 있다.
이때 기록/재생 모듈(208)은 제어기 데이터에 포함된 제어기 변수명(34) 및 제어기 값(36)을 시간의 흐름에 따라 로그 파일(210)에 기록함으로써, 제어기 상태의 변화를 기록할 수 있다.
이처럼 본 발명의 제어기 데이터 관리 방법은 제어기 데이터가 기록/재생 모듈을 거쳐 공유 메모리로 전달되도록 함으로써, 기능 모듈이 제어기 변수명 및 제어기 값을 사용할 수 있도록 함과 동시에 HMI 시스템 사용 현장에서 발생한 문제의 내용을 로그 파일에 기록할 수 있는 장점이 있다.
다시 도 2를 참조하면, HMI(20)는 제어기 데이터에 포함된 제어기 변수명 및 제어기 값을 사용하여 공유 메모리를 업데이트한다.
본 발명의 일 실시예에서, 기록 모드의 공유 메모리(204) 업데이트는 제어기 변수명 및 제어기 값의 기록 시간에 따라 제어기 변수명에 대응되는 공유 메모리(204)의 배열 원소를 제어기 값으로 업데이트하여 이루어질 수 있다.
이처럼 본 발명의 제어기 데이터 관리 방법은 제어기 데이터의 기록 시간 정보를 사용하여 제어기 변수명 및 제어기 값을 로그 파일에 기록함으로써, HMI 시스템 사용 현장에서 발생한 문제의 내용을 시간의 흐름에 따라 기록할 수 있는 장점이 있다.
도 4는 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법의 재생 기능을 사용하는 HMI 시스템을 개념적으로 나타낸 설명도이다.
도 4를 참조하면, 본 발명의 제어기 데이터 관리 방법을 사용하는 HMI(40)는 기능 모듈(402), 공유 메모리(404) 및 기록 재생 모듈(408)을 포함할 수 있다.
기록 기능을 사용하는 HMI 시스템을 통해 전술한 것과 같이, 복수의 기능 모듈(402)은 각각의 스레드(Thread)를 운용하면서 공유 메모리(404)부터 제어기 데이터를 읽어올 수 있다.
본 발명의 일 실시예에 따른 제어기 데이터 관리 방법은 소프트웨어의 추가 기능, 즉 애드 인(Add-in) 기능을 통해 기록/재생 모듈(208)을 추가함으로써, 로그 파일의 제어기 데이터가 기록/재생 모듈(208)을 거쳐 공유 메모리(204)로 전달되도록 할 수 있다.
이때 복수의 기능 모듈(402)은 종래의 기능 모듈(102)과 동일하게 각각의 스레드(Thread)를 운용하면서 공유 메모리(404)부터 제어기 데이터를 읽어올 수 있다.
도 2 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법의 재생 기능을 사용하는 HMI 시스템은 전술한 데이터 관리 방법의 기록 기능을 사용하는 HMI 시스템과 달리 통신 모듈 및 제어기를 사용하지 않을 수 있다.
즉, 재생 기능을 사용하는 HMI 시스템은 기록/재생 모듈(408)을 통해 제어기 변수명 및 제어기 값 등이 저장된 로그 파일(210)을 사용하여 공유 메모리(404)를 업데이트할 수 있으며, 이때 사용되는 로그 파일(210)은 HMI 시스템의 기록 기능을 통해 제어기 변수 명 제어기 값 등이 미리 기록된 파일이다.
결국, 본 발명의 제어기 데이터 관리 방법을 사용하는 HMI 시스템은 제어기가 연결되지 않은 상태에서도 미리 생성된 로그 파일(210)을 사용하여 공유 메모리(404)를 업데이트 할 수 있다.
이하에서는 본 발명의 일 실시예에 따른 재생 모드에서의 제어기 데이터의 이동 경로를 통해 기록/재생 모듈(408)의 역할에 대해 상세히 설명한다.
먼저, HMI(40)는 HMI 시스템의 운용 모드를 판단한다.
전술한 것과 같이, 본 발명에서 재생 모드는 기록 모드를 통해 로그 파일(210)에 기록된 제어기 데이터를 읽어 들여 공유 메모리(404)를 업데이트하기 위해 사용된다.
HMI 시스템의 운용 모드를 판단한 결과, HMI 시스템의 운용 모드가 재생 모드일 경우 HMI(40)는 기록/재생 모듈(408)의 재생 기능을 활성화 시킬 수 있다.
본 발명의 기록/재생 모듈(408)의 재생 기능은 소프트웨어의 추가 기능, 즉 애드 인(Add-in) 기능을 통해 기록/재생 모듈(408)을 추가함으로써, 로그 파일(210)에 기록된 기록 시간, 제어기 변수명 및 제어기 값이 기록/재생 모듈(408)을 거쳐 공유 메모리(404)로 전달되도록 하는 기능을 의미한다.
기록/재생 모듈(408)의 재생 기능이 활성화되면, 기록/재생 모듈(408)은 로그 파일(210)로부터 기록 시간, 제어기 변수명 및 제어기 값을 읽어올 수 있다.
즉, HMI 시스템의 운용 모드가 기록 모드일 때 제어기로부터 HMI의 통신모듈을 통해 기록/재생 모듈을 거쳐 로그 파일(210) 및 공유 메모리(204)에 저장되었던 제어기 변수명 및 제어기 값은, HMI 시스템의 운용 모드가 재생 모드일 때 로그 파일(210)로부터 기록/재생 모듈(408)을 거쳐 공유 메모리(404)로 전달될 수 있다.
이와 같은 재생 모드의 제어기 변수명 및 제어기 값의 전달은 HMI 시스템 내의 제어기의 존재 여부 또는 제어기로부터 송신되는 제어기 데이터의 존재 여부와 관계 없이 독립적으로 이루어질 수 있다.
즉, HMI(40)와 제어기가 서로 연결되어 있지 않더라도, 미리 로그 파일(210)에 기록되었던 제어기 변수명 및 제어기 값은 HMI 시스템의 운용 모드가 재생 모드일 때 기록/재생 모듈(408)을 통해 공유 메모리(404)에 업데이트 될 수 있다.
전술한 것과 같이, HMI(40)의 기능 모듈(402)은 각각의 스레드를 통해 공유 메모리(404)부터 제어기 데이터를 읽어올 수 있다.
따라서 로그 파일(210)에 기록되었던 제어기 변수명 및 제어기 값이 기록/재생 모듈(408)을 통해 공유 메모리(404)에 업데이트 되면, HMI(40)의 기능 모듈(402)은 공유 메모리(404)에 업데이트된 제어기 변수명 및 제어기 값을 사용하여 미리 설정된 기능을 수행할 수 있다.
본 발명의 일 실시예에서, 기록/재생 모듈(408)을 통해 제어기 변수명 및 제어기 값이 기록된 로그 파일(210)은 HMI 시스템과 분리되어 관리될 수 있다.
예를 들어, 제어기 변수명 및 제어기 값이 기록된 로그 파일(210)은 기록 기능을 수행하였던 HMI 시스템과 분리되어 별도의 HMI(40)에 입력(410)되더라도, 별도의 HMI(40)에 포함된 기록/재생 모듈(408)을 통해 공유 메모리(404)에 업데이트될 수 있다.
이처럼 본 발명의 제어기 데이터 관리 방법은 HMI 시스템 사용 현장에서 발생한 문제를 시간의 흐름에 따라 로그 파일에 기록하고, 이와 같은 로그 파일을 별도의 HMI 시스템에서 재생 모드를 통해 사용할 수 있으므로, 별도의 HMI 시스템이 사용 현장과 동일한 제어기 값의 변화를 갖도록 재현할 수 있는 장점을 갖는다.
본 발명의 일 실시예에서, 재생 모드의 공유 메모리(404) 업데이트는 로그 파일(210)에 기록된 기록 시간에 따라 제어기 변수명에 대응되는 공유 메모리(404)의 배열 원소를 제어기 값으로 업데이트하여 이루어질 수 있다.
도 3을 통해 전술한 것과 같이, 본 발명의 일 실시예에 따른 로그 파일(210)은 기록/재생 모듈(408)을 통해 기록된 제어기 변수명, 제어기 값 및 기록 시간에 관한 정보를 포함할 수 있으며, 이때 제어기 값 및 제어기 변수명은 제어기 변수명과 제어기 값이 기록된 기록 시간의 순서에 따라 순차적으로 로그 파일(210)에 저장될 수 있다.
즉, 본 발명의 기록/재생 모듈(408)은 제어기 데이터에 포함된 제어기 변수명 및 제어기 값을 시간의 흐름에 따라 로그 파일(210)에 기록함으로써, 제어기 상태의 변화를 기록할 수 있다.
만약 HMI 시스템의 운용 모드가 재생 모드일 경우, 기록/재생 모듈(408)은 로그 파일(210)에 기록된 기록 시간에 따라 제어기 변수명에 대응되는 공유 메모리(404)의 배열 원소를 제어기 값으로 업데이트함으로써, 기록된 제어기의 상태 변화를 재생할 수 있다.
이때 기록 시간에 따른 기록/재생 모듈(408)의 공유 메모리(404)의 업데이트는 각 제어기 값의 기록 시간 사이의 시간 간격과 동일한 시간 간격으로 공유 메모리(404)의 배열 원소를 제어기 값으로 업데이트 하는 것을 의미한다. 따라서 재생 모드의 공유 메모리(404) 업데이트는 기록 모드의 공유 메모리(404) 업데이트와 동일한 속도로 이루어질 수 있다.
본 발명의 일 실시예에서, 재생 모드의 공유 메모리(404) 업데이트는 미리 설정된 시간 변환 비율을 사용하여 로그 파일(210)에 기록된 기록 시간을 변환하는 과정을 포함할 수 있다.
즉, 로그 파일(210)에 기록된 각 제어기 값의 기록 시간 사이의 시간 간격은 미리 설정된 시간 변환 비율을 사용하여 늘어나거나 줄어들 수 있다.
예를 들어, 로그 파일(210)에 기록된 각 제어기 값의 기록 시간 사이의 시간 간격이 미리 설정된 시간 변환 비율을 통해 두 배로 늘어날 경우, 재생 모드의 공유 메모리(404) 업데이트 속도는 기록 모드의 공유 메모리(404) 업데이트 속도에 비해 두 배 느리게 진행될 수 있다.
반대로, 로그 파일(210)에 기록된 각 제어기 값의 기록 시간 사이의 시간 간격이 미리 설정된 시간 변환 비율을 통해 절반으로 줄어들 경우, 재생 모드의 공유 메모리(404) 업데이트 속도는 기록 모드의 공유 메모리(404) 업데이트 속도에 비해 두 배 빠르게 진행될 수 있다.
즉, 본 발명의 제어기 데이터 관리 방법을 사용하는 HMI 시스템은 재생 모드에서 로그 파일(210)에 기록된 각 제어기 값의 기록 시간 사이의 시간 간격을 미리 설정된 시간 변환 비율로 변환 함으로써, 로그 파일(210)에 저장된 기록 시간, 제어기 변수명 및 제어기 값을 통한 공유 메모리(404)의 업데이트 속도를 자유롭게 조절할 수 있다.
이처럼 본 발명의 제어기 데이터 관리 방법은 HMI 시스템 사용 현장에서 발생한 문제가 시간의 흐름에 따라 기록된 로그파일을 별도의 HMI 시스템에서 다양한 속도의 재생 모드를 통해 재현할 수 있으므로, 현장에 방문하지 않고도 손쉽게 HMI 시스템 사용 현장에서 발생한 문제를 분석하고 보완할 수 있는 장점을 갖는다.
도 5는 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법을 구현하기 위한 소프트웨어의 설계 모델을 나타내는 클래스 다이어그램이다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 제어기 데이터 관리 방법은 애드 인 기능을 통해 통신 모듈 및 공유 메모리 사이에 기록/재생 모듈을 추가함으로써 구현될 수 있다.
애드 인 기능을 통해 통신 모듈 및 공유 메모리 사이에 기록/재생 모듈에 대응되는 소프트웨어를 삽입하려면, 공유 메모리와 기록/재생 모듈 간의 인터페이스, 그리고 기록/재생 모듈과 통신 모듈 간의 인터페이스가 설정되어야 한다. 이와 같은 새로운 인터페이스 설정으로 인하여 각 모듈 간 인터페이스가 달라지게 되면 기존 제품의 안정성을 보장할 수 없다. 따라서 공유 메모리와 통신 모듈의 인터페이스는 기존과 동일하게 유지되어야 한다.
공유 메모리와 통신 모듈의 인터페이스가 C 언어 표준 함수 호출로 이루어져 있다면 함수포인터 형식을 사용함으로써 공유 메모리와 통신 모듈의 인터페이스를 기존과 동일하게 유지할 수 있다. 함수포인터의 타입이 일치한다면 공유 메모리는 기록/재생 모듈과 상호작용할 수도 있고, 통신 모듈과도 상호작용할 수 있다.
그러나 C++의 Class를 이용한 객체지향적 설계 구조를 적용하여 기록/재생 모듈을 구현할 경우, Class의 타입을 일치시켜야 한다. 이를 위해서 도 5에 도시된 바와 같이 기록/재생 모듈은 공유 메모리의 API 목록과 동일한 API 목록을 갖는 인터페이스를 가지며, 공유 메모리와 기록/재생 모듈은 모두 이 인터페이스를 구현(implement)하도록 정의된다.
도 6은 도 5의 설계 모델에 따른 프로그램의 실행 모델을 나타내는 오브젝트 다이어그램이다.
도 6을 참조하면, 기록 모드에서는 기록/재생 모듈 인스턴스를 생성한 후 pShMem 명령어의 참조 변수에 공유 메모리 인스턴스를 할당한다. 여기서 pShMem은 참조 변수로 할당된 인스턴스에 데이터를 기록하기 위한 명령어이다. 그리고 통신 모듈은 기록/재생 모듈 인스턴스에 수신한 데이터를 전달한다. 그러면 기록/재생 모듈은 제어기 변수명, 제어기 값, 기록 시간을 로그 파일에 기록한 후 공유 메모리 인스턴스에 전달한다.
재생 모드에서는 기록/재생 모듈 인스턴스를 생성한 후 pShMem 명령어의 참조 변수에 공유 메모리 인스턴스를 할당한다. 그러면 기록/재생 모듈은 로그 파일에 기록된 기록 시간, 제어기 변수명 및 제어기 값을 읽어들여 공유 메모리 인스턴스에 전달한다. 이 때 통신 모듈은 사용되지 않는다.
일반 모드에서는 기록/재생 모듈이 사용되지 않으며, 통신 모듈이 수신한 데이터는 공유 메모리에 곧바로 기록된다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (7)

  1. HMI 시스템의 운용 모드를 판단하는 단계;
    상기 운용 모드가 기록 모드일 경우, 기록/재생 모듈의 기록 기능을 활성화 시키는 단계;
    통신 모듈이 수신한 제어기 데이터를 상기 기록/재생 모듈에 전달하는 단계;
    상기 제어기 데이터에 포함된 제어기 변수명 및 제어기 값과, 상기 제어기 변수명 및 상기 제어기 값의 기록 시간을 로그 파일에 기록하는 단계; 및
    상기 제어기 변수명 및 상기 제어기 값을 사용하여 공유 메모리를 업데이트하는 단계를 포함하는
    제어기 데이터 관리 방법.
  2. 제1항에 있어서,
    상기 운용 모드가 재생 모드일 경우, 기록/재생 모듈의 재생 기능을 활성화 시키는 단계;
    상기 기록/재생 모듈을 통해 상기 로그 파일에 기록된 상기 기록 시간, 상기 제어기 변수명 및 상기 제어기 값을 읽어오는 단계; 및
    상기 기록 시간, 상기 제어기 변수명 및 상기 제어기 값을 사용하여 공유 메모리를 업데이트하는 단계를 더 포함하는
    제어기 데이터 관리 방법.
  3. 제2항에 있어서,
    상기 공유 메모리를 업데이트하는 단계는
    상기 기록 시간에 따라 상기 제어기 변수명에 대응되는 상기 공유 메모리의 배열 원소를 상기 제어기 값으로 업데이트하는 단계를 포함하는
    제어기 데이터 관리 방법.
  4. 제2항에 있어서,
    상기 공유 메모리를 업데이트하는 단계는
    미리 설정된 시간 변환 비율을 사용하여 상기 기록 시간을 변환하는 단계를 더 포함하는
    제어기 데이터 관리 방법.
  5. 제1항에 있어서,
    상기 운용 모드가 일반 모드일 경우, 기록/재생 모듈을 비활성화 시키는 단계를 더 포함하는
    제어기 데이터 관리 방법.
  6. 제1항에 있어서,
    상기 통신 모듈 및 상기 공유 메모리는 서로 동일한 인터페이스를 사용하는
    제어기 데이터 관리 방법.
  7. 제1항에 있어서,
    상기 기록/재생 모듈의 인터페이스와 상기 공유 메모리의 인터페이스는 서로 동일한 API 목록을 갖는
    제어기 데이터 관리 방법.
KR1020180042275A 2018-04-11 2018-04-11 제어기 데이터 관리 방법 KR102118858B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180042275A KR102118858B1 (ko) 2018-04-11 2018-04-11 제어기 데이터 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180042275A KR102118858B1 (ko) 2018-04-11 2018-04-11 제어기 데이터 관리 방법

Publications (2)

Publication Number Publication Date
KR20190118856A true KR20190118856A (ko) 2019-10-21
KR102118858B1 KR102118858B1 (ko) 2020-06-17

Family

ID=68460216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180042275A KR102118858B1 (ko) 2018-04-11 2018-04-11 제어기 데이터 관리 방법

Country Status (1)

Country Link
KR (1) KR102118858B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084027A (ja) * 2006-09-27 2008-04-10 Digital Electronics Corp プログラマブル表示器、表示プログラムおよびそれを記録した記録媒体
JP6138269B2 (ja) * 2013-10-29 2017-05-31 発紘電機株式会社 プログラマブル表示器、プログラム
KR101791335B1 (ko) * 2016-03-25 2017-10-27 엘에스산전 주식회사 Hmi시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084027A (ja) * 2006-09-27 2008-04-10 Digital Electronics Corp プログラマブル表示器、表示プログラムおよびそれを記録した記録媒体
JP6138269B2 (ja) * 2013-10-29 2017-05-31 発紘電機株式会社 プログラマブル表示器、プログラム
KR101791335B1 (ko) * 2016-03-25 2017-10-27 엘에스산전 주식회사 Hmi시스템

Also Published As

Publication number Publication date
KR102118858B1 (ko) 2020-06-17

Similar Documents

Publication Publication Date Title
JP6757385B2 (ja) プログラマブルロジックコントローラおよびメインユニット
JP6757386B2 (ja) プログラマブルロジックコントローラおよびプログラム作成支援装置
JP2938374B2 (ja) 順序シーケンス・プログラムの作成装置及び制御装置
JP2023164999A (ja) プログラマブルロジックコントローラ用プログラム作成支援装置
JP3847585B2 (ja) エディタの登録装置、登録プログラムおよびそれを記録した記録媒体
WO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
KR102118858B1 (ko) 제어기 데이터 관리 방법
JPH11513169A (ja) 二進数データによりガラスマスター盤に書込む方法と装置
CN106815126B (zh) 一种通用文件系统日志记录方法及装置
JP7212496B2 (ja) プログラマブルロジックコントローラシステム、プログラム作成支援装置およびコンピュータプログラム
JP2020067752A (ja) プログラマブルロジックコントローラシステム、プログラム作成支援装置およびコンピュータプログラム
KR102131669B1 (ko) 데이터 연계 시스템
EP2813944A1 (en) Versioning of electronic data in software management system
JP6948450B2 (ja) プログラマブルロジックコントローラおよびメインユニット
JP6986125B2 (ja) プログラマブルロジックコントローラおよびメインユニット
JP6806946B2 (ja) 外部設定機器およびプログラム
JPH05181815A (ja) 制御システム
JP2000253357A (ja) ビデオサーバ装置
JP2020177713A (ja) プログラマブルロジックコントローラ
KR100660962B1 (ko) 디지털 디스플레이 요소를 표현하는 방법 및 시스템
JPS63298550A (ja) ノンストップトレ−ス方式
JPS61240346A (ja) 磁気テ−プ装置制御方式
JP2019087067A (ja) エンジニアリング装置
JPH01228014A (ja) データファイルの履歴管理方式
CN113568763A (zh) 一种产线设备通信系统的生成方法和装置及设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)