KR102334678B1 - Hmi장치 - Google Patents

Hmi장치 Download PDF

Info

Publication number
KR102334678B1
KR102334678B1 KR1020170044337A KR20170044337A KR102334678B1 KR 102334678 B1 KR102334678 B1 KR 102334678B1 KR 1020170044337 A KR1020170044337 A KR 1020170044337A KR 20170044337 A KR20170044337 A KR 20170044337A KR 102334678 B1 KR102334678 B1 KR 102334678B1
Authority
KR
South Korea
Prior art keywords
boot
area
boot image
data
module
Prior art date
Application number
KR1020170044337A
Other languages
English (en)
Other versions
KR20180113091A (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 KR1020170044337A priority Critical patent/KR102334678B1/ko
Publication of KR20180113091A publication Critical patent/KR20180113091A/ko
Application granted granted Critical
Publication of KR102334678B1 publication Critical patent/KR102334678B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • 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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 부트로더를 보유하는 부트로더 영역, 복수의 부트이미지를 보유하는 복수의 부트이미지영역, 상기 복수의 부트이미지영역에 대응하고 상기 각 부트이미지의 데이터 검증을 위한 체크섬을 보유하는 복수의 체크섬영역, 및 복수의 부트이미지영역 중 어느 하나에 대응하는 식별아이디를 보유하는 이미지우선순위영역을 포함하는 ROM 모듈, 상기 부트로더 영역의 데이터에 기초하여 장치초기화를 실시하고, 상기 이미지우선순위영역의 데이터에 기초하여 상기 복수의 부트이미지영역 중 어느 하나를 선택하는 부팅모듈, 상기 선택된 부트이미지영역의 데이터를 저장하는 RAM 모듈, 및 상기 RAM 모듈에 저장된 부트이미지에 기초하여 사용자-기계 인터페이스의 각종 기능들을 실행하는 프로세싱 모듈을 포함하는 HMI장치를 제공한다.

Description

HMI장치{HUMAN MACHINE INTERFACE DEVICE}
본 발명은 PLC(Programmable Logic Controller) 등과 같은 감시제어시스템에 연결되고, 감시제어시스템의 구동상태를 감시 및 표시하거나 감시제어시스템의 구동에 대한 사용자의 제어명령을 입력하기 위한 제공하는 HMI장치에 관한 것이다.
인력 및 비용 절감과 수율 향상을 위하여, 다양한 분야의 산업시설들이 자동화되고 있는 추세이다. 이를 위해, 자동화 설비는 다수의 대상기기들의 구동을 제어 및 감시하는 감시제어시스템을 포함하는 것이 일반적이다. 이러한 감시제어시스템의 일 예로는 PLC(Programmable Logic Controller)를 들 수 있다.
자동화 설비에 요구되는 기능이 다양하고 복잡해짐에 따라, 사용자가 감시제어시스템의 구동상태를 확인하거나 제어할 필요가 있다. 이에, 감시제어시스템은 감시제어시스템의 구동상태를 표시하거나 사용자로부터 입력된 제어명령을 감시제어시스템으로 전달하는 HMI장치(Human Machine Interface device)와 연결되는 것이 일반적이다.
기존의 HMI장치는 주로 감시제어시스템의 ON/OFF 상태를 표시 및 제어하는 기능을 제공하기 위한 것이었다. 그러나, 최근 자동화 설비의 발전으로 인해, HMI장치의 기능 또한 복잡하고 다양해지는 추세이다. 특히, 사용자의 요구에 따라 기능을 확장 또는 변경할 수 있도록, HMI장치는 임베디드 시스템(embedded system)을 내장한 구조로 개발되고 있다.
임베디드 시스템을 내장한 HMI장치는 부트로더(boot loader)를 실행하고, 부트이미지(boot image)를 RAM에 전달하는 과정으로 부팅된다. 여기서, 부트이미지는 운영체제(Operating System) 등과 같이 HMI장치의 부팅에 필요한 정보를 집약한 하나의 파일일 수 있다.
종래 선행 기술(등록특허공보 제10-1640207)은 부트로더 및 임베디드 시스템 업그레이드 방법을 개시하고 있다.
이러한 HMI장치는 부트이미지의 업데이트를 통해 기능 변경, 기능 추가 및 기능 개선을 제공할 수 있다. 그런데, 업데이트 파일의 손상, 업데이트 파일 전달의 오류 및 업데이트 실행의 오류 등으로 인해, 부트이미지가 손상될 수 있다.
특히, 자동화 설비는 원격 제어를 위하여 네트워크로 연결되는 추세이므로, 해킹에 노출될 위험이 높아지고 있다. 이러한 해킹의 타겟으로 HMI장치의 부트이미지가 선택될 수 있으므로, 해킹으로 인한 부트이미지의 손상 가능성이 증가되고 있다.
이와 같이 부트이미지가 손상되면 HMI장치가 정상적으로 부팅될 수 없으므로, HMI장치의 고장 또는 오동작이 초래될 수 있다. 이 경우, HMI장치가 정상적으로 부팅되지 못하는 상태이기 때문에, HMI장치의 수리 또는 교체를 실시해야 한다. 그러므로, HMI장치의 유지보수에 소모되는 인력, 시간 및 비용 절감에 한계가 있는 문제점이 있다.
본 발명은 유지보수에 소모되는 인력, 시간 및 비용을 절감할 수 있는 HMI장치를 제공한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이와 같은 과제를 해결하기 위하여, 본 발명의 일 예시는 부트로더를 보유하는 부트로더 영역, 복수의 부트이미지를 보유하는 복수의 부트이미지영역, 상기 복수의 부트이미지영역에 대응하고 상기 각 부트이미지의 데이터 검증을 위한 체크섬을 보유하는 복수의 체크섬영역, 및 복수의 부트이미지영역 중 어느 하나에 대응하는 식별아이디를 보유하는 이미지우선순위영역을 포함하는 ROM 모듈, 상기 부트로더 영역의 데이터에 기초하여 장치초기화를 실시하고, 상기 이미지우선순위영역의 데이터에 기초하여 상기 복수의 부트이미지영역 중 어느 하나를 선택하는 부팅모듈, 상기 선택된 부트이미지영역의 데이터를 저장하는 RAM 모듈, 및 상기 RAM 모듈에 저장된 부트이미지에 기초하여 사용자-기계 인터페이스의 각종 기능들을 실행하는 프로세싱 모듈을 포함하는 HMI장치를 제공한다.
이때, 상기 이미지우선순위영역의 데이터가 상기 복수의 부트이미지영역 중 어느 하나인 제 1 부트이미지영역의 식별아이디에 대응하는 경우, 상기 부팅모듈은 상기 장치초기화를 실시한 다음, 상기 이미지우선순위영역의 데이터에 기초하여 상기 복수의 부트이미지영역 중 상기 제 1 부트이미지영역을 선택하고, 상기 복수의 체크섬영역 중 상기 제 1 부트이미지영역에 대응하는 어느 하나의 데이터에 기초하여, 상기 제 1 부트이미지영역의 데이터에 대한 결함여부를 검증하며, 상기 제 1 부트이미지영역의 데이터가 무결함으로 검증되면 상기 제 1 부트이미지영역의 데이터를 상기 RAM 모듈에 전달한다.
또는, 상기 부팅모듈은 상기 제 1 부트이미지영역의 데이터가 결함으로 검증되면, 상기 이미지우선순위영역의 데이터를 변경하고, 상기 변경된 이미지우선순위영역의 데이터가 상기 복수의 부트이미지영역 중 다른 어느 하나인 제 2 부트이미지영역의 식별아이디에 대응하는 경우, 상기 부팅모듈은 상기 변경된 이미지우선순위영역의 데이터에 기초하여 상기 복수의 부트이미지영역 중 상기 제 2 부트이미지영역을 선택한다.
상기 프로세싱 모듈은 입출력모듈로부터 업데이트 개시신호를 수신하면, 상기 이미지우선순위영역의 데이터에 기초하여 상기 복수의 부트이미지영역 중 다른 어느 하나의 부트이미지영역을 선택하고, 상기 입출력모듈을 통해 수신된 업데이트 데이터신호에 기초하여 상기 다른 어느 하나의 부트이미지영역의 데이터를 변경한다.
전술한 바와 같은 HMI장치는, 복수의 부트이미지를 보유하는 복수의 부트이미지영역을 포함하는 ROM 모듈, 이미지우선순위영역의 데이터에 기초하여 복수의 부트이미지영역 중 어느 하나를 선택하는 부팅모듈, 및 선택된 부트이미지영역의 데이터에 기초하여 기능들을 실행하는 프로세싱 모듈을 포함한다.
이와 같이, 복수의 부트이미지영역 중 어느 하나의 데이터에 기초하여 부팅이 완료될 수 있으므로, 복수의 부트이미지영역 중 어느 하나의 데이터가 손상된 경우라도, 다른 어느 하나의 데이터를 이용하여 부팅이 완료될 수 있다. 즉, 부트이미지영역이 손상되더라도, HMI장치의 부팅이 정상적으로 실시될 수 있으므로, 손상된 부트이미지영역의 복구가 용이해질 수 있다.
따라서, HMI장치의 수리 또는 교체를 실시하지 않더라도, 업데이트 및 해킹 등으로 인해 손상된 부트이미지를 복구할 수 있으므로, HMI장치의 유지보수에 소모되는 인력, 시간 및 비용이 절감될 수 있다.
또한, 복수의 부트이미지영역 중 어느 하나의 데이터에 기초하여 부팅을 완료한 상태에서, 복수의 부트이미지영역 중 다른 어느 하나에 업데이트를 실시할 수 있다. 그로 인해, 부트이미지의 업데이트가 비교적 안정적이고 용이하게 실시될 수 있으며, 업데이트에 의해 부트이미지가 손상되더라도 HMI장치의 치명적인 고장 또는 오작동을 유발하는 것이 방지될 수 있으므로, 업데이트의 부정적인 영향이 감소될 수 있다.
따라서, 장치의 확정용이성 및 사용자의 편의성이 향상될 수 있다.
도 1은 본 발명의 일 실시예에 따른 HMI장치를 나타낸 도면이다.
도 2는 도 1의 ROM 모듈을 나타낸 도면이다.
도 3은 도 1의 HMI장치가 부팅하는 과정을 나타낸 도면이다.
도 4 및 도 5는 도 3의 일부 단계에 의해 변동되는 이미지우선순위영역의 데이터를 나타낸 도면이다.
도 6은 도 1의 HMI장치가 부트이미지영역을 업데이트하는 과정을 나타낸 도면이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
이하, 본 발명의 일실시예에 따른 HMI장치에 대해 첨부한 도면을 참고로 하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 HMI장치를 나타낸 도면이다. 도 2는 도 1의 ROM 모듈을 나타낸 도면이다. 도 3은 도 1의 HMI장치가 부팅하는 과정을 나타낸 도면이다. 도 4 및 도 5는 도 3의 일부 단계에 의해 변동되는 이미지우선순위영역의 데이터를 나타낸 도면이다. 도 6은 도 1의 HMI장치가 부트이미지영역을 업데이트하는 과정을 나타낸 도면이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 HMI장치(100)는 ROM 모듈(110), 부팅모듈(120), RAM 모듈(130), 프로세싱 모듈(140), 전원모듈(150) 및 입출력모듈(160)을 포함한다.
ROM 모듈(110)은 플래시 메모리 등과 같이, 데이터 변경이 가능한 비휘발성 메모리로 구현될 수 있다.
도 2에 도시한 바와 같이, ROM 모듈(110)은 부트로더(Boot Loader)를 보유하는 부트로더 영역(Boot Loader), 복수의 부트이미지를 보유하는 복수의 부트이미지영역(BI1, BI2), 복수의 부트이미지영역(BI1, BI2)에 대응하고 각 부트이미지의 데이터 검증을 위한 체크섬(CheckSum)을 보유하는 복수의 체크섬영역(CS1, CS2) 및 복수의 부트이미지영역(BI1, BI2) 중 어느 하나에 대응하는 식별아이디를 보유하는 이미지우선순위영역(BIP; Boot Image Priority)을 포함한다.
여기서, 부트로더영역(Boot Loader)의 부트로더는 운영체제(OS)가 실행되기 전의 장치초기화를 실행하기 위한 명령들로 이루어질 수 있다. 일 예로, 부트로더는 RAM 모듈(130) 및 프로세싱 모듈(140) 등의 초기화를 실행하는 명령, 외부 장치와의 연결 상태에 대한 검사를 실행하는 명령 및 부트이미지를 호출하는 명령을 포함할 수 있다.
각 부트이미지영역(BI1, BI2)의 부트이미지는 적어도 운영체제(OS)를 포함할 수 있다. 또는, 각 부트이미지영역(BI1, BI2)은 프로세싱 모듈(140)에 의해 구현될 각종 기능들을 실행하는 데에 필요한 런타임 라이브러리를 더 포함할 수 있다.
그리고, 복수의 부트이미지영역(BI1, BI2)은 데이터 이중화를 위해 상호 동일한 데이터로 이루어진 두 개의 부트이미지영역을 포함할 수 있다. 또는, 업데이트 등으로 인하여 서로 다른 데이터로 이루어진 두 개의 부트이미지영역을 포함할 수도 있다.
각 체크섬영역(CS1, CS2)은 각 부트이미지영역(BI1, BI2)에 대응하며, 체크섬 방식으로 각 부트이미지영역(BI1, BI2)의 데이터를 검증하기 위한 체크섬을 포함한다.
이미지우선순위영역(BIP)은 복수의 부트이미지영역(BI1, BI2) 중 우선순위가 가장 높은 부트이미지영역에 대응하는 식별아이디를 보유한다.
여기서, 복수의 부트이미지영역(BI1, BI2)의 우선순위는 초기 설정값, 업데이트 완료 시기 및 데이터의 결함 여부 중 적어도 하나에 대응할 수 있다.
예시적으로, HMI장치(100)의 제조 시에는 복수의 부트이미지영역(BI1, BI2) 중 마스터로 지정된 제 1 부트이미지영역(BI1)의 우선순위가 가장 높을 수 있다. 이 경우, 이미지우선순위영역(BIP)은 제 1 부트이미지영역(BI1)의 식별아이디를 보유한다.
또는, 부트이미지 업데이트 과정에 의해, 복수의 부트이미지영역(BI1, BI2) 중 첫번째 서브로 지정된 제 2 부트이미지영역(BI2)의 데이터가 업데이트 완료된 경우, 이미지우선순위영역(BIP)은 가장 최근에 업데이트가 완료된 제 2 부트이미지영역(BI2)의 식별값을 보유한다.
또는, 제 1 부트이미지영역(BI1)의 데이터가 결함으로 검증된 경우, 이미지우선순위영역(BIP)은 제 1 부트이미지영역(BI1)을 제외한 나머지 중 어느 하나인 제 2 부트이미지영역(BI2)의 식별값을 보유한다.
다시, 도 1을 이어서 설명한다.
부팅모듈(120)은 부트로더 영역(도 2의 Boot Loader)의 데이터에 기초하여 장치초기화를 실시하고, 이미지우선순위영역(도 2의 BIP)의 데이터에 기초하여 복수의 부트이미지영역(BI1, BI2) 중 어느 하나를 선택한다.
구체적으로, 부팅모듈(120)은 전원모듈(150)의 전원 인가신호를 수신하면, 부트로더 영역(Boot Loader)의 데이터를 호출하고, 부트로더 영역(Boot Loader)의 데이터에 기초하여 장치초기화를 실행한다.
부팅모듈(120)은 장치초기화를 완료하면, 이미지우선순위영역(BIP)의 데이터에 기초하여 복수의 부트이미지영역(BI1, BI2) 중 어느 하나를 선택한다. 그리고, 체크섬영역의 데이터에 기초하여 선택된 부트이미지영역의 데이터를 검증한다. 이때, 데이터가 무결함으로 검증되면, 부팅모듈(120)은 선택된 부트이미지영역의 데이터를 RAM 모듈(130)에 전달한다.
반면, 데이터가 결함으로 검증되면, 부팅모듈(120)은 이미지우선순위영역(BIP)의 데이터를 변경한다. 그리고, 부팅모듈(120)은 변경된 이미지우선순위영역(BIP)의 데이터에 기초하여 복수의 부트이미지영역(BI1, BI2) 중 다른 어느 하나를 선택한다.
RAM 모듈(130)은 부팅모듈(120)에 의해 선택된 부트이미지영역의 데이터를 저장한다.
프로세싱 모듈(140)은 RAM 모듈(130)에 저장된 부트이미지에 기초하여 사용자-기계 인터페이스의 각종 기능들을 실행한다.
그리고, 프로세싱 모듈(140)은 입출력모듈(160)로부터 업데이트 개시신호를 수신하면, 이미지우선순위영역(BIP)의 데이터에 기초하여 복수의 부트이미지영역 중 어느 하나를 선택한다. 프로세싱 모듈(140)은 입출력모듈(160)을 통해 수신된 업데이트 데이터신호에 기초하여 선택된 부트이미지영역의 데이터 및 선택된 부트이미지영역에 대응하는 체크섬영역의 데이터를 변경한다. 프로세싱 모듈(140)은 데이터 변경을 완료하면, 이미지우선순위영역(BIP)의 데이터를 변경한다.
또한, 프로세싱 모듈(140)은 구동 종료신호를 수신하면, 전원 오프신호를 전원 모듈(150)에 전달한다.
전원모듈(150)은 전원 스위치에 대한 사용자의 조작에 기초하여 전원 인가신호를 부팅모듈(120)에 전달하고, 각 모듈에 전원을 공급한다.
그리고, 전원모듈(150)은 프로세싱 모듈(140)의 전원 오프신호에 기초하여 각 모듈에 대한 전원 공급을 중단한다.
입출력모듈(160)은 외부 장치들과 연결된다. 예시적으로, 입출력모듈(160)은 감시제어시스템의 모니터링장치 또는 제어장치에 연결될 수 있다. 또는, 입출력모듈(160)은 업데이트 및 고장수리 등을 위한 유지보수 장치에 연결될 수 있다.
한편, 도 1에 따르면, 부팅모듈(120)과 프로세싱 모듈(140)은 별개의 구성요소로 도시되었으나, 이와 달리 부팅모듈(120)은 프로세싱 모듈(140)의 일부 구성요소로 구현될 수 있다. 또는, 부팅 안전성을 위해, 부팅모듈(120)은 프로세싱 모듈(140)과 별개인 연산장치로 구현될 수도 있다.
도 3에 도시한 바와 같이, 부팅모듈(120)이 전원모듈(150)로부터 전원 인가신호를 수신하면(S11), 부팅모듈(120)은 ROM 모듈(110)의 부트로더영역(Boot Loader)에 보유된 부트로더를 호출하여 부트로더의 실행을 시작한다. (S12) 이때, 장치초기화 및 부트이미지의 호출 과정이 진행된다.
즉, 부팅모듈(120)은 부트로더의 실행에 의해 장치초기화를 완료하면, 이미지우선순위영역(BIP)의 데이터에 기초하여 복수의 부트이미지영역(BI1, BI2) 중 어느 하나를 선택한다. (S13) 이때, 부팅모듈(120)은 이미지우선순위영역(BIP)의 데이터에 대응하는 식별아이디의 부트이미지영역을 선택한다.
일 예로, 도 4의 도시와 같이, 이미지우선순위영역(BIP)이 복수의 부트이미지영역(BI1, BI2) 중 마스터인 제 1 부트이미지영역(BI1)에 대응하는 식별아이디를 보유하는 경우 ((S13) BIP=1), 부팅모듈(120)은 장치초기화를 완료한 다음, 복수의 부트이미지영역(BI1, BI2) 중 이미지우선순위영역(BIP)의 데이터에 대응하는 식별아이디를 갖는 제 1 부트이미지영역(BI1)을 선택한다.
부팅모듈(120)은 복수의 체크섬영역(CS1, CS2) 중 선택된 제 1 부트이미지영역(BI1)에 대응하는 제 1 체크섬영역(CS1)의 데이터에 기초하여, 제 1 부트이미지영역(BI1)의 데이터에 대한 결함여부를 검증한다. (S14)
이때, 제 1 부트이미지영역(BI1)의 데이터가 무결함으로 검증되면, 부팅모듈(120)은 선택된 제 1 부트이미지영역(BI1)의 데이터를 RAM 모듈(130)에 전달함으로써, 부팅을 완료한다. (S15)
그리고, 프로세싱 모듈(140)은 RAM 모듈(130)에 저장된 부트이미지에 기초하여 구동된다. (S16)
한편, 제 1 부트이미지영역(BI1)의 데이터에 대한 결함여부를 검증하는 과정에서, 제 1 부트이미지영역(BI1)의 데이터가 결함으로 검증되면, 부팅모듈(120)은 이미지우선순위영역(BIP)의 데이터를 변경한다. (S142)
더불어, 부팅모듈(120) 또는 프로세싱 모듈(140)은 데이터가 결함으로 검증된 제 1 부트이미지영역(BI1)에 대해 복구를 시도하기 위하여, 외부장치에 복구요청신호를 전달할 수 있다. (S30) 이와 같이 하면, 사용자가 별도로 부트이미지의 검증 및 복구를 지시할 필요가 없으므로, HMI장치(100)의 유지보수에 소모되는 인력 및 시간이 절감될 수 있고, HMI장치(100)의 편리성, 안전성 및 신뢰도가 향상될 수 있다.
일 예로, 이미지우선순위영역(BIP)의 데이터를 변경하는 과정(S142)에 의해 변경된 이미지우선순위영역(BIP)은 결함으로 검출된 제 1 부트이미지영역(BI1)을 제외한 나머지 중 하나인 제 2 부트이미지영역(BI2)의 식별아이디에 대응하는 데이터를 보유할 수 있다. (도 5의 "→ (S142) BIP=0"),
그리고, 부팅모듈(120)은 복수의 부트이미지영역(BI1, BI2) 중 변경된 이미지우선순위영역(BIP)의 데이터에 대응하는 식별아이디를 갖는 제 2 부트이미지영역(BI2)을 선택한다. (S13)
부팅모듈(120)은 복수의 체크섬영역(CS1, CS2) 중 선택된 제 2 부트이미지영역(BI2)에 대응한 제 2 체크섬영역(CS2)의 데이터에 기초하여, 제 2 부트이미지영역(BI2)의 데이터에 대한 결함 여부를 검증한다. (S14)
이때, 제 2 부트이미지영역(BI2)의 데이터가 무결함으로 검증되면, 부팅모듈(120)은 제 2 부트이미지영역(BI2)의 데이터를 RAM 모듈(130)에 전달함으로써, 부팅을 완료한다. (S15)
도 6에 도시한 바와 같이, 프로세싱 모듈(140)의 구동 중에 (S16), 입출력모듈(160)로부터 업데이트 개시신호를 수신하면 (S41), 프로세싱 모듈(140)은 이미지우선순위영역(BIP)의 데이터에 기초하여, 복수의 부트이미지영역(BI1, BI2) 중 RAM 모듈(130)에 전달되지 않은 어느 하나를 선택한다. (S42) 이때, 프로세싱 모듈(140)은 복수의 부트이미지영역(BI1, BI2) 중 이미지우선순위영역(BIP)의 데이터에 대응하지 않는 식별아이디를 갖는 부트이미지영역을 선택한다. 이와 같이 하면, RAM모듈(130)로 전달되도록 선택된 ROM모듈(110)의 부트이미지영역의 데이터는 그대로 유지될 수 있으므로, 장치의 부트이미지 업데이트 동작에 관계없이, RAM 모듈(130)에 저장된 부트이미지의 안전성을 유지할 수 있다.
일 예로, 부팅모듈(120)에 의해 제 1 부트이미지영역(BI1)의 데이터가 RAM 모듈(130)에 전달된 상태에서 프로세싱 모듈(140)이 구동하는 경우, 업데이트 개시신호를 수신하면 (S41), 프로세싱 모듈(140)은 복수의 부트이미지영역(BI1, BI2) 중 이미지우선순위영역(BIP)의 데이터에 대응하지 않는 식별아이디의 제 2 부트이미지영역(BI2)을 선택한다. (S42)
이어서, 프로세싱 모듈(140)은 입출력모듈(160)을 통해 업데이트 데이터신호를 수신한다. (S43)
프로세싱 모듈(140)은 수신된 업데이트 데이터신호에 기초하여 제 2 부트이미지영역(BI2)의 데이터 및 제 2 부트이미지영역(BI2)에 대응한 제 2 체크섬영역(CS2)의 데이터를 변경한다. (S44, S45)
그리고, 데이터 변경을 완료한 후, 프로세싱 모듈(140)은 제 2 체크섬영역(CS2)의 데이터에 기초하여 제 2 부트이미지영역(BI2)의 데이터를 검증할 수 있다. 즉, 프로세싱 모듈(140)은 데이터 변경을 완료한 후, 제 2 부트이미지영역(BI2)의 데이터 업데이트가 정상적으로 실시되었는지 여부를 검증할 수 있다.
이상과 같이, 본 발명의 일 실시예에 따른 HMI장치(100)는 복수의 부트이미지에 대응하는 복수의 부트이미지영역(BI1, BI2)과 복수의 체크섬영역(CS1, CS2) 및 복수의 부트이미지영역(BI1, BI2) 중 어느 하나를 지시하는 이미지우선순위영역(BIP)을 포함하는 ROM 모듈(110)과, 이미지우선순위영역(BIP)에 기초하여 복수의 부트이미지영역(BI1, BI2) 중 어느 하나를 선택하고 체크섬영역(CS1, CS2)의 데이터에 기초하여 부트이미지영역의 데이터를 검증하며 무결함으로 검증된 부트이미지영역의 데이터를 RAM 모듈(130)에 전달하는 부팅모듈(120)을 포함한다.
이로써, 무결함으로 검증된 부트이미지에 기초하여 프로세싱 모듈(140)이 구동될 수 있으므로, HMI장치(100)의 부팅 및 구동에 대한 안전성 및 신뢰도가 향상될 수 있다.
또한, 업데이트 및 해킹 등으로 인해 손상된 부트이미지가 발생되더라도, HMI장치(100)의 부팅은 정상적으로 실시될 수 있다. 그러므로, HMI장치(100)의 수리 또는 교체를 실시하지 않더라도, 손상된 부트이미지영역으로 인한 HMI장치(100)의 고장 또는 오동작이 초래되지 않고, 손상된 부트이미지영역의 복구가 가능하므로, 유지보수에 소모되는 인력, 시간 및 비용이 절감될 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100: HMI장치 110: ROM 모듈
120: 부팅모듈 130: RAM 모듈
140: 프로세싱 모듈
Boot Loader: 부트로더영역
BI1, BI2: 복수의 부트이미지영역
CS1, CS2: 복수의 체크섬영역
BIP: 이미지우선순위영역

Claims (7)

  1. 부트로더를 보유하는 부트로더 영역, 복수의 부트이미지를 보유하는 복수의 부트이미지영역, 상기 복수의 부트이미지영역에 대응하고 상기 각 부트이미지의 데이터 검증을 위한 체크섬을 보유하는 복수의 체크섬영역, 및 복수의 부트이미지영역 중 어느 하나의 식별아이디를 보유하는 이미지우선순위영역을 포함하는 ROM 모듈;
    상기 부트로더 영역의 데이터에 기초하여 장치초기화를 실시하고, 상기 이미지우선순위영역의 식별아이디에 기초하여 상기 복수의 부트이미지영역 중 어느 하나를 선택하는 부팅모듈;
    상기 선택된 부트이미지영역의 데이터를 저장하는 RAM 모듈; 및
    상기 RAM 모듈에 저장된 부트이미지에 기초하여 사용자-기계 인터페이스의 각종 기능들을 실행하는 프로세싱 모듈을 포함하며,
    상기 부팅모듈은,
    상기 선택된 부트이미지영역의 데이터에 결함이 검출되는 경우, 상기 이미지우선순위영역의 식별아이디를 변경하고,
    상기 복수의 부트이미지영역 중 상기 변경된 식별아이디에 해당되는 다른 하나의 부트이미지영역을 선택하고,
    상기 선택된 다른 하나의 부트이미지영역의 식별아이디를 상기 이미지우선순위영역에 저장하는 HMI장치.
  2. 제 1 항에 있어서,
    상기 복수의 부트이미지영역 중 어느 하나인 제 1 부트이미지영역의 식별아이디가 상기 이미지우선순위영역에 저장되어 있는 경우,
    상기 부팅모듈은
    상기 장치초기화를 실시한 다음, 상기 이미지우선순위영역에 저장된 식별아이디에 기초하여 상기 복수의 부트이미지영역 중 상기 제 1 부트이미지영역을 선택하고,
    상기 복수의 체크섬영역 중 상기 선택된 제 1 부트이미지영역에 대응하는 상기 식별아이디에 기초하여, 상기 제 1 부트이미지영역의 데이터에 대한 결함여부를 검증하며,
    상기 제 1 부트이미지영역의 데이터가 무결함으로 검증되면 상기 제 1 부트이미지영역의 데이터를 상기 RAM 모듈에 전달하는 HMI장치.
  3. 삭제
  4. 제 2 항에 있어서,
    상기 프로세싱 모듈은
    입출력모듈로부터 업데이트 개시신호를 수신하면, 상기 이미지우선순위영역의 식별아이디에 대응되지 않은 상기 복수의 부트이미지영역 중 다른 어느 하나의 부트이미지영역을 선택하고,
    상기 입출력모듈을 통해 수신된 업데이트 개시신호에 기초하여 상기 다른 어느 하나의 부트이미지영역의 식별아이디를 상기 이미지우선순위영역에 저장하는 HMI장치.
  5. 제 4 항에 있어서,
    상기 프로세싱 모듈은 상기 업데이트 개시신호를 수신하면,
    상기 선택된 다른 하나의 부트이미지영역의 데이터 및 상기 제 2 부트이미지영역에 대응하는 체크섬영역의 데이터를 변경하는 HMI장치.
  6. 제 1 항에 있어서,
    상기 변경된 식별아이디는 우선순위가 가장 높으며,
    상기 우선순위는 초기 설정값, 업데이트 완료 시기 및 데이터의 결함 여부 중 적어도 하나에 대응하는 HMI장치.
  7. 제 1 항에 있어서,
    전원을 공급하는 스위치가 사용자의 조작에 따라 턴온하면, 상기 부팅모듈에 전원 인가신호를 공급하는 전원모듈을 더 포함하고,
    상기 부팅 모듈은 상기 전원 인가신호에 응답하여 상기 부트로더 영역의 데이터를 호출하는 HMI장치.
KR1020170044337A 2017-04-05 2017-04-05 Hmi장치 KR102334678B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170044337A KR102334678B1 (ko) 2017-04-05 2017-04-05 Hmi장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170044337A KR102334678B1 (ko) 2017-04-05 2017-04-05 Hmi장치

Publications (2)

Publication Number Publication Date
KR20180113091A KR20180113091A (ko) 2018-10-15
KR102334678B1 true KR102334678B1 (ko) 2021-12-02

Family

ID=63865887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170044337A KR102334678B1 (ko) 2017-04-05 2017-04-05 Hmi장치

Country Status (1)

Country Link
KR (1) KR102334678B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952585B1 (ko) * 2008-05-20 2010-04-15 주식회사 이노와이어리스 운영체제(os) 자동복구기능을 갖는 임베디드 시스템 및운영체제 자동복구 방법
KR20110050152A (ko) * 2009-11-06 2011-05-13 엘지전자 주식회사 영상 표시 장치

Also Published As

Publication number Publication date
KR20180113091A (ko) 2018-10-15

Similar Documents

Publication Publication Date Title
US9110843B2 (en) Rack and method thereof for simultaneously updating basic input output systems
KR101515198B1 (ko) 모바일 단말의 펌웨어 업그레이드 장치 및 방법
US8930931B2 (en) Information processing apparatus using updated firmware and system setting method
CN109358887B (zh) 一种单片机程序的在线升级方法、装置及系统
CN101815988A (zh) 固件映像更新和管理
KR100952585B1 (ko) 운영체제(os) 자동복구기능을 갖는 임베디드 시스템 및운영체제 자동복구 방법
US20060248172A1 (en) Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
JP4302113B2 (ja) 車載制御装置
WO2015079725A1 (ja) プログラマブルコントローラ
CN103577214A (zh) 应用程序更新方法和装置
CN101344853A (zh) 用于空中编程的系统和方法
WO2016033941A1 (zh) Boot在线升级装置及方法
JP2023035930A (ja) コンピュータシステム及びコンピュータシステムのブート方法
CN110321147B (zh) 基本输入输出系统更新装置
CN107844312A (zh) 一种软件更新监控方法和系统
CN105183580A (zh) 一种引导程序的存储方法、故障恢复方法及设备
CN109766207A (zh) 固件远程升级的恢复方法、装置、监控设备和存储介质
KR102334678B1 (ko) Hmi장치
KR101348843B1 (ko) 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법
CN109815055B (zh) 卫星程序管理系统和卫星程序管理方法
EP2584467A1 (en) Technology for updating active program
US9529581B2 (en) Circuit and method for writing program codes of basic input/output system
JPH1063497A (ja) プログラム更新方法
JPH10187454A (ja) Bios書き換え方式
KR20200112137A (ko) Plc 시스템의 펌웨어 관리 장치 및 방법과, 그 plc 시스템

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