KR102268796B1 - 하이퍼바이저 기반 plc 서비스 처리 장치 - Google Patents

하이퍼바이저 기반 plc 서비스 처리 장치 Download PDF

Info

Publication number
KR102268796B1
KR102268796B1 KR1020170039462A KR20170039462A KR102268796B1 KR 102268796 B1 KR102268796 B1 KR 102268796B1 KR 1020170039462 A KR1020170039462 A KR 1020170039462A KR 20170039462 A KR20170039462 A KR 20170039462A KR 102268796 B1 KR102268796 B1 KR 102268796B1
Authority
KR
South Korea
Prior art keywords
service
plc
operating system
hypervisor
resource
Prior art date
Application number
KR1020170039462A
Other languages
English (en)
Other versions
KR20180109567A (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 KR1020170039462A priority Critical patent/KR102268796B1/ko
Publication of KR20180109567A publication Critical patent/KR20180109567A/ko
Application granted granted Critical
Publication of KR102268796B1 publication Critical patent/KR102268796B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/15011Configuration of operating system

Abstract

본 발명은 하이퍼바이저 기반 PLC 서비스 처리 장치에 관한 것으로, 보다 상세하게는 요청 서비스에 대응하는 운영체제를 호출하고, 호출된 운영체제에 시스템 자원을 할당하여 요청 서비스를 처리하는 하이퍼바이저 기반 PLC 서비스 처리 장치에 관한 것이다. 본 발명의 일 실시예에 따른 하이퍼바이저 기반 PLC 서비스 처리 장치는 하이퍼바이저를 기반으로 PLC 서비스를 처리하기 위한 장치에 있어서, 하나 이상의 운영체제를 이용하여 PLC 서비스를 처리하는 서비스 처리부, 상기 하나 이상의 운영체제 중에서 사용자로부터 입력된 요청 서비스를 처리하기 위한 운영체제를 검색하고, 상기 검색된 운영체제를 호출하는 서비스 호출부 및 상기 호출된 운영체제로부터 자원 할당 요청 메시지를 수신하고, 상기 수신된 자원 할당 요청 메시지에 따라 상기 호출된 운영체제에 시스템 자원을 할당하는 자원 관리부를 포함하고, 상기 서비스 처리부는 상기 자원 관리부에 의해 할당된 시스템 자원 및 상기 호출된 운영체제를 이용하여 상기 요청 서비스를 처리하는 것을 특징으로 한다.

Description

하이퍼바이저 기반 PLC 서비스 처리 장치{Apparatus for processing PLC service based on hypervisor}
본 발명은 하이퍼바이저 기반 PLC 서비스 처리 장치에 관한 것으로, 보다 상세하게는 요청 서비스에 대응하는 운영체제를 호출하고, 호출된 운영체제에 시스템 자원을 할당하여 요청 서비스를 처리하는 하이퍼바이저 기반 PLC 서비스 처리 장치에 관한 것이다.
PLC(Programmable Logic Controller)는 디지털/아날로그 입출력 모듈을 통해 미리 정해진 제어 순서에 따라 개별 모듈(디바이스)을 제어하는 제어기를 의미한다. PLC는 모듈을 제어하기 위한 여러 가지의 기능을 제공하는데, 이러한 기능을 PLC 서비스라고 하며, PLC 서비스는 PLC에 탑재된 운영체제(Operating System; OS)를 기반으로 처리된다.
도 1은 종래 PLC 시스템의 구성을 도시한 도면이고, 도 2는 종래 PLC 서비스 처리 과정을 도시한 순서도이다. 이하 도 1 및 도 2를 참조하여, 종래 PLC 시스템이 PLC 서비스를 처리하는 과정을 구체적으로 설명하도록 한다.
도 1을 참조하면, PLC 시스템은 전원(POWER), CPU 및 하나 이상의 모듈(MODULE 1 내지 MODULE 4)을 포함하여 구성된다. 전원은 운영체제(OS) 없이 하드웨어(HW)로 구성되고, CPU와 각각의 모듈은 하드웨어 및 운영체제를 포함하여 구성된다. CPU와 모듈간의 통신은 백플레인(backplane)의 소켓을 통해 수행된다.
도 1에 도시된 바와 같이, 종래 PLC 시스템의 CPU는 단일의 하드웨어에서 단일의 운영체제만을 구동시킨다. 이에 따라 CPU는 하나의 운영체제를 이용하여 각 모듈을 제어하기 위해, 여러 개의 레더 프로그램(ladder program)을 순차적으로 처리한다.
보다 구체적으로, 도 2를 참조하면 CPU는 입출력 모듈의 리셋, 자기 진단, 데이터 클리어 및 입출력 모듈의 등록 등과 같은 초기화 처리를 수행한다(S21). 이후, CPU는 프로그램의 연산을 시작하기 전에 입력 모듈의 상태를 읽어 입력 이미지 영역에 저장하는 입력 이미지 영역 리프레시를 수행한다(S22).
CPU는 입력 모듈의 상태에 기초하여 프로그램의 시작 단계부터 마지막 단계까지 순서대로 연산하는 프로그램 연산 처리를 수행한다(S23). 프로그램 연산 처리 결과는 출력 이미지 영역에 저장되고, CPU는 출력 이미지 영역에 저장된 데이터를 출력 모듈에 출력하는 출력 이미지 영역 리프레시를 수행한다(S24).
마지막으로, CPU는 한 사이클의 PLC 서비스 처리를 종료한 후 단계(S22)로 돌아가기 위해, 자기 진단, 타이머 및 카운터의 갱신, 데이터 전송 등과 같은 END 처리를 수행한다(S25).
PLC 서비스와 PLC가 제어해야 할 모듈의 개수가 많아짐에 따라, PLC는 단일 코어를 포함하는 구조에서, 멀티 코어를 포함하는 구조로 발전하고 있다. 그러나, 종래 PLC는 다양한 서비스를 제공하면서도 단일 운영체제만을 사용하므로, 과도한 컨택스트 스위칭(context switching)이 발생하고 이에 따라 시스템 성능이 저하되는 문제점이 있다.
또한, 종래 PLC는 하나의 운영체제만을 사용하므로, 디도스(Distribute Denial of Service; DDoS)와 같은 공격에 취약하고, 운영제체가 불안정한 경우 전체 시스템의 오동작이 발생할 수 있는 문제점이 있다.
이에 더하여, 종래 PLC는 하나의 PLC 서비스를 제공하기 위해 모든 프로그램을 순차적으로 실행하므로 시스템 제어 주기가 길다는 문제점이 있고, 사용자가 요청한 서비스만을 활성화 시킬 수 없어 시스템 자원을 효율적으로 사용할 수 없는 문제점이 있다.
본 발명은 하나 이상의 운영체제 중에서 요청 서비스에 대응하는 운영체제를 호출하고, 호출된 운영체제에 시스템 자원을 할당하여 요청 서비스를 처리함으로써, 복수의 운영체제를 이용하여 사용자로부터 요청된 PLC 서비스만을 선택적으로 제공할 수 있고 이에 따라 PLC 시스템 성능을 향상시킬 수 있는 하이퍼바이저 기반 PLC 서비스 처리 장치를 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 하이퍼바이저 기반 PLC 서비스 처리 장치는 하이퍼바이저를 기반으로 PLC 서비스를 처리하기 위한 장치에 있어서, 하나 이상의 운영체제를 이용하여 PLC 서비스를 처리하는 서비스 처리부, 상기 하나 이상의 운영체제 중에서 사용자로부터 입력된 요청 서비스를 처리하기 위한 운영체제를 검색하고, 상기 검색된 운영체제를 호출하는 서비스 호출부 및 상기 호출된 운영체제로부터 자원 할당 요청 메시지를 수신하고, 상기 수신된 자원 할당 요청 메시지에 따라 상기 호출된 운영체제에 시스템 자원을 할당하는 자원 관리부를 포함하고, 상기 서비스 처리부는 상기 자원 관리부에 의해 할당된 시스템 자원 및 상기 호출된 운영체제를 이용하여 상기 요청 서비스를 처리하는 것을 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, 하나 이상의 운영체제 중에서 요청 서비스에 대응하는 운영체제를 호출하고, 호출된 운영체제에 시스템 자원을 할당하여 요청 서비스를 처리함으로써, 복수의 운영체제를 이용하여 사용자로부터 요청된 PLC 서비스만을 선택적으로 제공할 수 있고 이에 따라 PLC 시스템 성능을 향상시킬 수 있는 효과가 있다.
또한, 본 발명에 의하면 각 운영체제에 미리 설정된 시스템 자원만을 할당함으로써, 시스템 자원의 중복 사용에 의한 시스템 오동작을 방지할 수 있을 뿐만 아니라, 시스템 자원을 효율적으로 사용할 수 있는 효과가 있다.
또한, 본 발명에 의하면 PLC에서 제공되는 PLC 서비스에 변동이 발생하는 경우, 변동되는 PLC 서비스에 대한 운영체제만을 추가/변경/삭제 할 수 있어 PLC 운영의 효율성을 향상시킬 수 있는 효과가 있다.
또한, 본 발명에 의하면 각 운영체제가 PLC 서비스의 종류에 따라 다르므로, 특정 PLC 서비스를 제공하는 운영체제에 이상이 발생하더라도 다른 PLC 서비스를 제공하는 운영체제에 영향을 주지 않아 안정적인 PLC 운영이 가능한 효과가 있다.
도 1은 종래 PLC 시스템의 구성을 도시한 도면.
도 2는 종래 PLC 서비스 처리 과정을 도시한 순서도.
도 3은 본 발명의 일 실시예에 따른 하이퍼바이저 기반 PLC 서비스 처리 장치를 도시한 도면.
도 4는 시스템 자원을 공유하는 하이퍼바이저 기반 PLC 서비스 처리 장치의 일 실시예를 도시한 도면.
도 5는 본 발명의 일 실시예에 따라 각 운영체제에 대응하는 메모리 영역을 도시한 도면.
도 6은 본 발명의 하이퍼바이저 기반 PLC 서비스 처리 장치가 요청 서비스를 처리하는 과정을 도시한 도면.
도 7은 본 발명의 일 실시예에 따른 PLC 내부 CPU가 PLC 서비스의 종류에 따라 다른 운영체제를 구동하는 모습을 도시한 도면.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 3은 본 발명의 일 실시예에 따른 하이퍼바이저 기반 PLC 서비스 처리 장치(100)를 도시한 도면이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 하이퍼바이저 기반 PLC 서비스 처리 장치(100)는 서비스 처리부(110), 서비스 호출부(120), 자원 관리부(130) 및 모듈 제어부(140)를 포함하여 구성된다. 도 3에 도시된 하이퍼바이저 기반 PLC 서비스 처리 장치(100)는 일 실시예에 따른 것이고, 그 구성요소들이 도 3에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 또는 삭제될 수 있다.
본 발명의 하이퍼바이저 기반 PLC 서비스 처리 장치(100, 이하, PLC 서비스 처리 장치)는 하이퍼바이저(hypervisor)를 기반으로 하는 PLC에서 PLC 서비스를 처리하기 위한 장치에 관한 것이다.
PLC(Programmable Logic Controller)는 디지털/아날로그 입출력 모듈을 통해 미리 정해진 제어 순서에 따라 개별 모듈(디바이스)을 제어하는 제어기를 의미한다. PLC는 모듈을 제어하기 위한 여러 가지의 기능을 제공하는데, 이러한 기능을 PLC 서비스라고 하며, PLC 서비스는 PLC에 탑재된 운영체제(Operating System; OS)를 기반으로 처리된다.
한편, 하이퍼바이저(hypervisor)는 메모리, CPU 등과 같은 시스템 자원에 서로 다른 운영체제의 접근을 허용함으로써, 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼(platform)이다.
이에 따라, 본 발명은 다수의 운영체제를 이용하여 개별 PLC 서비스를 동시에 처리하기 위한 장치에 관한 것이다.
도 4는 시스템 자원(310)을 공유하는 하이퍼바이저 기반 PLC 서비스 처리 장치(100)의 일 실시예를 도시한 도면이다. 이하, 도 4를 참조하여, PLC 서비스 처리 장치(100)와 이를 구성하는 서비스 처리부(110), 서비스 호출부(120), 자원 관리부(130) 및 모듈 제어부(140)를 구체적으로 설명하도록 한다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 서비스 처리부(110)는 하나 이상의 운영체제를 이용하여 PLC 서비스를 처리할 수 있다. 상술한 바와 같이 PLC 서비스는 PLC가 모듈을 제어하기 위해 제공하는 기능을 의미한다. 이와 같은, PLC 서비스는 시스템 서비스, 연산 서비스, 통신 서비스, 디바이스 서비스 및 제어 서비스 중 적어도 하나를 포함할 수 있다.
보다 구체적으로, 시스템 서비스는 PLC 시스템을 관리하기 위한 기능에 관한 것으로, 예를 들어, PLC의 백업(back up), PLC의 메모리(memory) 관리, PLC의 버전(version) 관리 등에 관한 기능을 포함할 수 있다. 또한, 연산 서비스는 각 모듈로부터 수신된 데이터를 이용한 연산 기능에 관한 것으로, 예를 들어, 프로그램(program) 제공, 태스크(task) 처리, 디버깅(debug) 기능, 시뮬레이션(simulation) 등에 관한 기능을 포함할 수 있다.
통신 서비스는 각 모듈과의 통신을 위한 기능에 관한 것으로, 예를 들어, 범용 비동기화 송수신기(Universal Asynchronous Receiver/Transmitter; UART), USB, 이더넷(Ethernet) 등에 관한 기능을 포함할 수 있다. 또한, 디바이스 서비스는 각 모듈(디바이스)을 관리하기 위한 기능에 관한 것으로, 예를 들어, 스위치, LED, LCD, 백플레인(backplane)에 관한 기능을 포함할 수 있다.
마지막으로, 제어 서비스는 각 모듈을 제어하기 위한 기능에 관한 것으로, 예를 들어, 명령어, 데이터 입출력, 래더 프로그램(ladder program) 설계, 모듈 제어 순서에 관한 기능을 포함할 수 있다.
사용자는 PLC 서비스의 종류를 일정 기준에 따라 구분할 수 있다. 상술한 PLC 서비스의 구분은 발명의 설명을 위한 일 실시예에 따른 것이고, 사용자의 설정에 따라 변경될 수 있다.
본 발명에서 하나 이상의 운영체제는 PLC 서비스의 종류에 따라 다를 수 있다. 상술한 예에서, 시스템 서비스, 연산 서비스, 통신 서비스, 디바이스 서비스 및 제어 서비스를 처리하는 운영체제는 서로 다를 수 있다. 다시 말해, 본 발명에서 각 운영체제는 각각의 PLC 서비스에 대응될 수 있다.
한편, 이와 달리 하나의 운영체제가 PLC 서비스의 종류에 따라 다른 프로세스를 실행시킬 수 있다. 예를 들어, PLC 서비스 처리 장치(100)에 설치된 단일의 운영체제는 시스템 서비스, 연산 서비스, 통신 서비스, 디바이스 서비스 및 제어 서비스를 처리하는 프로세스를 달리하여 상술한 서비스를 처리할 수 있다.
결국, 본 발명에서 하나 이상의 운영체제는, 각각의 PLC 서비스에 대응하는 복수의 운영체제를 포함할 수 있고, 각각의 PLC 서비스에 대응하는 하나 이상의 프로세스를 실행하는 단일의 운영체제를 포함할 수도 있다.
상술한 바와 같은 본 발명에 의하면, 각 운영체제가 PLC 서비스의 종류에 따라 다르므로, 특정 PLC 서비스를 제공하는 운영체제에 이상이 발생하더라도 다른 PLC 서비스를 제공하는 운영체제에 영향을 주지 않아 안정적인 PLC 운영이 가능하다.
또한, 본 발명은 상술한 구성을 가짐으로써, PLC에서 제공되는 PLC 서비스에 변동이 발생하는 경우, 변동되는 PLC 서비스에 대한 운영체제만을 추가/변경/삭제 할 수 있어 PLC 운영의 효율성을 향상시킬 수 있다.
다시 도 4를 참조하면, 본 발명의 일 실시예에 따른 서비스 호출부(120)는 하나 이상의 운영체제 중에서 사용자로부터 입력된 요청 서비스를 처리하기 위한 운영체제를 검색하고, 검색된 운영체제를 호출할 수 있다.
이를 위하여, 본 발명의 PLC 서비스 처리 장치(100)는 사용자로부터 요청 서비스를 입력받기 위한 인터페이스를 제공할 수 있다. 이와 같은 인터페이스는 화면을 통해 표시될 수도 있고, 요청 서비스는 화면에 표시된 인터페이스를 통해 입력될 수 있다.
도 4에서, 서비스 처리부(110)에는 복수의 운영체제(OS 1 내지 OS N)가 포함될 수 있다. 예를 들어, 운영체제 1(OS 1)은 시스템 서비스를, 운영체제 2(OS 2)는 통신 서비스를, 운영체제 3(OS 3)은 제어 서비스를 처리하기 위한 운영체제일 수 있다.
예를 들어, 사용자로부터 입력된 요청 서비스가 PADT 접속 서비스인 경우, 요청 서비스는 통신 서비스에 포함될 수 있다. 여기서 PADT(Programming And Debugging Tool)는 PC에 설치된 소프트웨어로서, PLC가 PC와 데이터 통신을 수행하여 PLC 프로그램, 신규 운영체제 등을 다운로드 할 수 있도록 하는 소프트웨어이다.
이에 따라, 서비스 호출부(120)는 서비스 처리부(110)에 포함된 복수의 운영체제(OS 1 내지 OS N) 중에서 통신 서비스를 처리하기 위한 운영체제 2(OS 2)를 검색하고, 운영체제 2(OS 2)를 호출(system call)할 수 있다.
다시 도 4를 참조하면, 본 발명의 일 실시예에 다른 자원 관리부(130)는 호출된 운영체제로부터 자원 할당 요청 메시지를 수신하고, 수신된 자원 할당 요청 메시지에 따라 호출된 운영체제에 시스템 자원(310)을 할당할 수 있다.
도 4에 도시된 바와 같이, 본 발명의 PLC 서비스 처리 장치(100)는 하나의 시스템 자원(310)을 공유할 수 있다. 시스템 자원(310)은 CPU, 메모리, 디스크 등의 PLC 하드웨어에 대한 자원을 포함할 수 있다. 이에 따라, 본 발명의 PLC 서비스 처리 장치(100)는 하나의 시스템 자원(310)을 이용하여 다수의 PLC 서비스를 처리할 수 있다.
자원 할당 요청 메시지는 운영체제가 요청 서비스를 처리하기 위해 필요한 시스템 자원(310)의 할당을 요청하는 메시지일 수 있다. 보다 구체적으로, 각각의 PLC 서비스를 처리하기 위해 필요한 시스템 자원(310)은 미리 설정될 수 있다. 하나 이상의 운영체제는 각각의 PLC 서비스에 대응하므로, 각 운영체제가 사용하는 시스템 자원(310) 또한 미리 설정될 수 있다.
자원 관리부(130)는 각각의 운영체제에 대응하는 시스템 자원(310)에 대한 정보를 데이터베이스에 미리 저장할 수 있다. 이에 따라, 자원 관리부(130)는 특정 운영체제로부터 자원 할당 메시지가 수신되면, 데이터베이스를 참조하여 해당 운영체제에 대응하는 시스템 자원(310)을 확인할 수 있고, 확인 결과에 따라 시스템 자원(310)을 해당 운영체제에 할당할 수 있다.
도 5는 본 발명의 일 실시예에 따라 각 운영체제에 대응하는 메모리 영역(510)을 도시한 도면이다. 도 5를 참조하면, 메모리 영역(510)은 1부터 N까지의 세부 영역으로 구분될 수 있다. 여기서 세부 영역은 메모리의 논리 주소 또는 물리 주소를 나타낼 수 있다.
본 발명의 하나 이상의 운영체제에는 서로 다른 메모리 자원이 할당될 수 있다. 앞서 설명한 예시와 같이, 운영체제 1(OS 1)은 시스템 서비스를, 운영체제 2(OS 2)는 통신 서비스를, 운영체제 3(OS 3)은 제어 서비스를 처리하기 위한 운영체제일 수 있다.
이 때, 세부 영역 1 내지 세부 영역 5에 해당하는 메모리 자원(a)은 제어 서비스를 처리하는 운영체제 3(OS 3)에, 세부 영역 6 내지 세부 영역 9에 해당하는 메모리 자원(b)은 통신 서비스를 처리하는 운영체제 2(OS 2)에, 세부 영역 10 내지 세부 영역 13에 해당하는 메모리 자원(c)는 시스템 서비스를 처리하는 운영체제 1(OS 1)에 대응될 수 있다.
이에 따라, 후술하는 시스템 자원(310) 할당에 의해 각각의 운영체제에는 서로 다른 메모리 자원이 할당될 수 있다. 상술한 메모리 영역(510)의 할당은 발명의 설명을 위한 일 실시예에 따른 것이고, 사용자의 설정에 따라 변경될 수 있다.
도 5에서는 시스템 자원(310) 중에서 메모리를 예로 들어 설명하였으나, 다양한 시스템 자원(310)이 운영체제에 할당될 수 있다. 예를 들어, PLC가 멀티 코어를 기반으로 동작하는 경우에는, 운영체제에 따라 CPU 또는 MCU 코어의 개수가 결정될 수도 있다.
자원 관리부(130)는 각 운영체제에 대응하는 시스템 자원(310)에 관한 정보를 미리 저장할 수 있다. 이에 따라, 호출된 운영체제부터 자원 할당 요청 메시지를 수신하면 자원 관리부(130)는 호출된 운영체제에 대응하는 시스템 자원(310)을 해당 운영체제에 할당할 수 있다.
도 5에서 요청 서비스가 PADT 접속 서비스인 경우, 호출된 운영체제 2가 자원 관리부(130)로 자원 할당 요청 메시지를 송신하면, 자원 관리부(130)는 운영체제 2에 대응하는 메모리 영역(b)을 운영체제 2에 할당할 수 있다.
상술한 바와 같이, 본 발명은 각 운영체제에 미리 설정된 시스템 자원만을 할당함으로써, 시스템 자원의 중복 사용에 의한 시스템 오동작을 방지할 수 있을 뿐만 아니라, 시스템 자원을 효율적으로 사용할 수 있다.
다시 도 4를 참조하면, 본 발명의 서비스 처리부(110)는 자원 관리부(130)에 의해 할당된 시스템 자원(310) 및 호출된 운영체제를 이용하여 요청 서비스를 처리할 수 있다.
보다 구체적으로, 서비스 처리부(110)에 포함된 운영체제 중에서 서비스 호출부(120)에 의해 호출된 운영체제는, 자원 관리부(130)에 의해 할당된 시스템 자원(310)을 이용하여 요청 서비스를 처리할 수 있다.
다시 도 5를 참조하면, 호출된 운영체제가 통신 서비스를 처리하는 운영체제 2(OS 2)이면, 운영체제 2는 메모리 영역(b)을 이용하여 PADT 접속 서비스를 처리할 수 있다. 이와 같은 방법으로, 호출된 운영체제가 제어 서비스를 처리하는 운영체제 3(OS 3)이면, 운영체제 3은 메모리 영역(a)을 이용하여 사용자로부터 요청된 제어 서비스를 처리할 수 있다.
다시 도 4를 참조하면, 본 발명의 일 실시예에 따른 모듈 제어부(140)는 PLC와 데이터 통신을 수행하는 하나 이상의 모듈을 제어할 수 있다. 보다 구체적으로, 모듈 제어부(140)는 상술한 운영체제의 처리 결과에 따라 하나 이상의 모듈을 제어할 수 있다.
전술한 바와 같이, PLC는 개별 모듈(디바이스)을 제어하는 제어기이고, 모듈 제어를 위해 개별 모듈과 데이터 통신을 수행할 수 있다. 모듈을 제어하기 위해 사용자는 다양한 PLC 서비스를 요청할 수 있고, 요청된 각 PLC 서비스에 대응하는 운영체제는 각각의 PLC 서비스를 동시에 처리할 수 있다.
모듈 제어부(140)는 각 운영체제로부터 서비스 처리 결과 데이터를 취득하고, 취득된 서비스 처리 결과 데이터를 개별 모듈에 송신함으로써, 모듈을 제어할 수 있다.
본 발명의 일 실시예에 따른 모듈 제어부(140)는 운영체제가 요청 서비스를 처리하는 주기에 따라 하나 이상의 모듈을 서로 다른 주기로 제어할 수 있다. 보다 구체적으로, PLC는 하나 이상의 모듈을 제어하기 위해 다양한 PLC 서비스를 이용할 수 있다.
이 때, 각 PLC 서비스를 처리하는 운영체제가 다르므로, 각 PLC 서비스가 처리되는 주기도 다를 수 있다. 이에 따라, 모듈 제어부(140)는 각 운영체제가 사용자로부터 입력된 요청 서비스를 처리하는 주기에 따라 모듈을 제어할 수 있다.
예를 들어, 통신 서비스인 이더넷에 관한 서비스는 연산 서비스인 태스크 처리에 관한 서비스보다 짧은 주기로 수행될 수 있다. 이에 따라, 모듈 제어부(140)는, 이더넷에 관한 서비스를 이용하는 모듈을 태스크 처리에 관한 서비스를 이용하는 모듈보다 짧은 주기로 제어할 수 있다.
도 6은 본 발명의 하이퍼바이저 기반 PLC 서비스 처리 장치(100)가 요청 서비스를 처리하는 과정을 도시한 도면이다. 이하, 도 6을 참조하여, 본 발명의 일 실시예에 따른 하이퍼바이저 기반 PLC 서비스 처리 방법을 구체적으로 설명하도록 한다.
도 6을 참조하면, 본 발명의 하이퍼바이저 기반 PLC 서비스 처리 방법은 도 3에 도시된 서비스 처리부(110), 서비스 호출부(120) 및 자원 관리부(130)에 의해 수행될 수 있다.
보다 구체적으로, 서비스 호출부는 사용자로부터 요청 서비스를 입력받고(S610), 입력된 요청 서비스를 처리하기 위한 운영체제를 검색할 수 있다. 그 다음, 서비스 호출부는 하나 이상의 운영체제를 포함하는 서비스 처리부(110)를 통해 앞서 검색된 운영체제를 호출할 수 있다(S620).
호출된 운영체제는 자원 관리부로 자원 할당 요청 메시지를 송신하고(S630), 자원 관리부는 자원 할당 요청 메시지에 따라 앞서 호출된 운영체제에 시스템 자원을 할당할 수 있다(S640).
서비스 처리부는 자원 관리부에 의해 할당된 시스템 자원 및 호출된 운영체제를 이용하여 요청 서비스를 처리하고, 처리 결과 데이터를 사용자에게 제공할 수 있다(S650).
도 7은 본 발명의 일 실시예에 따른 PLC 내부 CPU가 PLC 서비스의 종류에 따라 다른 운영체제를 구동하는 모습을 도시한 도면이다. 이하, 도 7을 참조하여 PLC의 CPU가 다양한 운영체제를 구동하여 PLC 서비스를 처리하는 과정을 구체적으로 설명하도록 한다.
도 7을 참조하면, 사용자로부터 입력된 요청 서비스가 범용 비동기화 송수신기(UART), USB, 이더넷(EHTERNET) 관련 서비스이면, CPU는 통신 운영체제(OS)를 구동하여 해당 서비스를 처리할 수 있다.
사용자로부터 입력된 요청 서비스가 스위치(SWITCH), LED, 백플레인(Backplane), LCD를 관리하기 위한 서비스이면, CPU는 디바이스 운영체제(OS)를 구동하여 해당 서비스를 처리할 수 있다.
또한, 사용자로부터 입력된 요청 서비스가 프로그램(PROGRAM) 제공, 태스크(Task) 처리, 디버깅(Debug) 기능, 시뮬레이션(Simulation) 기능에 관한 서비스이면, CPU는 연산 운영체제(OS)를 구동하여 해당 서비스를 처리할 수 있다.
마찬가지로, 사용자로부터 입력된 요청 서비스가 PLC의 백업(Back up), PLC의 메모리(MEMORY) 관리, PLC의 버전(Version) 관리에 관한 서비스이면, CPU는 시스템 운영체제(OS)를 구동하여 해당 서비스를 처리할 수 있다.
도 7에 도시된 운영체제 및 PLC 시스템은 본 발명의 설명을 위한 일 실시예에 따른 것이고, 사용자의 설정에 따라 변경될 수 있다.
상술한 바와 같이, 본 발명은 하나 이상의 운영체제 중에서 요청 서비스에 대응하는 운영체제를 호출하고, 호출된 운영체제에 시스템 자원을 할당하여 요청 서비스를 처리함으로써, 복수의 운영체제를 이용하여 사용자로부터 요청된 PLC 서비스만을 선택적으로 제공할 수 있고 이에 따라 PLC 시스템 성능을 향상시킬 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (7)

  1. 하이퍼바이저를 기반으로 PLC 서비스를 처리하기 위한 장치에 있어서,
    하나 이상의 운영체제를 이용하여 PLC 서비스를 처리하는 서비스 처리부;
    상기 하나 이상의 운영체제 중에서 사용자로부터 입력된 요청 서비스를 처리하기 위한 운영체제를 검색하고, 상기 검색된 운영체제를 호출하는 서비스 호출부; 및
    상기 호출된 운영체제로부터 자원 할당 요청 메시지를 수신하고, 상기 수신된 자원 할당 요청 메시지에 따라 상기 호출된 운영체제에 대응하는 시스템 자원을 확인하고, 확인 결과에 따라서 시스템 자원을 상기 호출된 운영체제에 할당하는 자원 관리부를 포함하고,
    상기 서비스 처리부는 상기 자원 관리부에 의해 할당된 시스템 자원 및 상기 호출된 운영체제를 이용하여 상기 요청 서비스를 처리하는
    하이퍼바이저 기반 PLC 서비스 처리 장치.
  2. 제1항에 있어서,
    상기 PLC 서비스는
    시스템 서비스, 연산 서비스, 통신 서비스, 디바이스 서비스 및 제어 서비스 중 적어도 하나를 포함하는 하이퍼바이저 기반 PLC 서비스 처리 장치.
  3. 제1항에 있어서,
    상기 하나 이상의 운영체제는
    상기 PLC 서비스의 종류에 따라 다른 하이퍼바이저 기반 PLC 서비스 처리 장치.
  4. 제1항에 있어서,
    상기 자원 관리부는
    각각의 운영체제에 대응하는 시스템 자원에 대한 정보를 데이터베이스에 미리 저장하는 하이퍼바이저 기반 PLC 서비스 처리 장치.
  5. 제1항에 있어서,
    각각의 운영체제에는 서로 다른 메모리 자원이 할당되는 하이퍼바이저 기반 PLC 서비스 처리 장치.
  6. 제1항에 있어서,
    PLC와 데이터 통신을 수행하는 하나 이상의 모듈을 제어하는 모듈 제어부를 더 포함하고,
    상기 모듈 제어부는
    상기 운영체제의 처리 결과에 따라 상기 하나 이상의 모듈을 제어하는 하이퍼바이저 기반 PLC 서비스 처리 장치.
  7. 제6항에 있어서,
    상기 모듈 제어부는
    상기 운영체제가 상기 요청 서비스를 처리하는 주기에 따라 상기 하나 이상의 모듈을 서로 다른 주기로 제어하는 하이퍼바이저 기반 PLC 서비스 처리 장치.
KR1020170039462A 2017-03-28 2017-03-28 하이퍼바이저 기반 plc 서비스 처리 장치 KR102268796B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170039462A KR102268796B1 (ko) 2017-03-28 2017-03-28 하이퍼바이저 기반 plc 서비스 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170039462A KR102268796B1 (ko) 2017-03-28 2017-03-28 하이퍼바이저 기반 plc 서비스 처리 장치

Publications (2)

Publication Number Publication Date
KR20180109567A KR20180109567A (ko) 2018-10-08
KR102268796B1 true KR102268796B1 (ko) 2021-06-23

Family

ID=63864498

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170039462A KR102268796B1 (ko) 2017-03-28 2017-03-28 하이퍼바이저 기반 plc 서비스 처리 장치

Country Status (1)

Country Link
KR (1) KR102268796B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005258A (ja) * 2013-06-24 2015-01-08 横河電機株式会社 プロセス制御装置及びシステム並びにその更新方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015005258A (ja) * 2013-06-24 2015-01-08 横河電機株式会社 プロセス制御装置及びシステム並びにその更新方法

Also Published As

Publication number Publication date
KR20180109567A (ko) 2018-10-08

Similar Documents

Publication Publication Date Title
US11294714B2 (en) Method and apparatus for scheduling task, device and medium
CN110275761B (zh) 调度方法、装置和主节点
CN108293041B (zh) 分布式系统、资源容器的分配方法、资源管理器及应用控制器
US11411885B2 (en) Network-accessible data volume modification
US9081612B2 (en) Virtual machine control method and virtual machine
US7987467B2 (en) Scale across in a grid computing environment
US10977070B2 (en) Control system for microkernel architecture of industrial server and industrial server comprising the same
US10037298B2 (en) Network-accessible data volume modification
US8875148B2 (en) Product-specific system resource allocation within a single operating system instance
CN111176829B (zh) 虚拟化处理系统中的物理功能和虚拟功能的灵活资源分配
CN116320469B (zh) 一种虚拟化视频编解码系统及方法、电子设备和存储介质
US10318456B2 (en) Validation of correctness of interrupt triggers and delivery
US10884818B2 (en) Increasing processing capacity of virtual machines
US20100269119A1 (en) Event-based dynamic resource provisioning
CN110569104A (zh) 深度学习系统中任务训练的管理方法和计算机存储介质
CN106933646B (zh) 一种创建虚拟机的方法及装置
KR102268796B1 (ko) 하이퍼바이저 기반 plc 서비스 처리 장치
CN103617077A (zh) 智能型云端化移转的方法与系统
CN114675954A (zh) 任务调度方法及装置
US10866833B2 (en) Method and appratus for implementing microkernel architecture of industrial server
US10528397B2 (en) Method, device, and non-transitory computer readable storage medium for creating virtual machine
CN109478151B (zh) 网络可访问数据卷修改
CN107220101B (zh) 一种容器创建方法和装置
KR101952651B1 (ko) 분산 컴퓨팅 환경을 위한 고유 식별자 생성 방법 및 그 장치
WO2017020572A1 (zh) 一种中断处理方法、ioapic及计算机系统

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