KR20200143770A - 멀티 코어 plc 및 멀티 코어 plc의 스캔 방법 - Google Patents

멀티 코어 plc 및 멀티 코어 plc의 스캔 방법 Download PDF

Info

Publication number
KR20200143770A
KR20200143770A KR1020190071229A KR20190071229A KR20200143770A KR 20200143770 A KR20200143770 A KR 20200143770A KR 1020190071229 A KR1020190071229 A KR 1020190071229A KR 20190071229 A KR20190071229 A KR 20190071229A KR 20200143770 A KR20200143770 A KR 20200143770A
Authority
KR
South Korea
Prior art keywords
core
device area
scan
cores
data
Prior art date
Application number
KR1020190071229A
Other languages
English (en)
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 KR1020190071229A priority Critical patent/KR20200143770A/ko
Publication of KR20200143770A publication Critical patent/KR20200143770A/ko

Links

Images

Classifications

    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/056Programming the PLC
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/22Pc multi processor system
    • G05B2219/2205Multicore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Abstract

본 발명은 멀티 코어 PLC 및 멀티 코어 PLC의 스캔 방법에 관한 것으로, 다수의 코어를 포함하는 CPU와, 다수의 코어들 각각의 스캔 동작에 사용되는 데이터를 제공하고, 스캔 결과 데이터를 저장하는 디바이스 영역과, 다수의 코어 각각에 대응하며, 스캔 과정에 필요한 데이터 및 스캔 결과 데이터를 임시 저장하는 임시 디바이스 영역을 포함할 수 있다.

Description

멀티 코어 PLC 및 멀티 코어 PLC의 스캔 방법{Multi-core plc and scan method thereof}
본 발명은 멀티 코어 PLC 및 멀티 코어 PLC의 스캔 방법에 관한 것으로, 더 상세하게는 코어 각각에서 처리되는 사용자 프로그램의 대기 현상 발생을 방지할 수 있는 멀티 코어 PLC 및 멀티 코어 PLC의 스캔 방법에 관한 것이다.
일반적으로, 산업 현장의 자동화 설비는 릴레이 등을 사용한 기계적인 장비로 구성된다. 기계적인 장비로 구성된 자동화 설비를 변경하기 위해서는 설비의 내부 회로 배선을 변경해야 하는 어려움이 있다. 이와 같은 어려움을 극복하기 위하여 PLC(Programmable Logic Controller)를 이용한다.
PLC는 일반적으로 컴퓨터와 같은 역할을 하는데, 설비에서 나오는 신호를 받아서 PLC 내부의 프로그래밍된 내용대로 처리한 후, 처리된 신호를 설비로 출력한다. 즉, PLC의 동작이 원활하다는 것은 공장 내부의 자동화 설비들이 효율적으로 동작하고 있다는 것을 의미한다.
통상 PLC(Programmable Logic Controller)는 연산을 수행하는 CPU와 CPU에 디바이스 데이터를 제공하는 주변 장치와, CPU의 연산 결과를 저장하는 주변 장치들을 포함하는 개념이며, 다양한 기능의 모듈들이 유기적으로 시스템을 구성하고 있다.
상기 CPU는 주변 장치들의 제어 및 감시하는 기능을 하며, CPU의 기능은 크게 3가지 기능으로 분류할 수 있다.
구체적으로 CPU는 모듈 제어, 사용자 프로그램 연산, 시스템 진단 기능을 포함한다.
상기 사용자 프로그램 연산은 사용자가 작성한 다양한 기능(function)들의 조합으로 구성되어 있으며 이러한 기능 조합들의 연산 결과를 바탕으로 CPU는 모듈에 데이터를 전달하는 역할을 한다.
CPU 모듈에서 위 과정을 1회 수행하는 과정을 스캔(Scan) 이라 하며 스캔 과정 중 연산 중간 값, 결과 값 등은 디바이스 영역에 기록된다.
상기 디바이스 영역은 출력 버퍼 메모리 등의 장치일 수 있으며, 스캔 중에 사용자 프로그램의 실행이 이후 디바이스 영역에 기록되어 있는 값으로 외부 접점, 스위치 값을 제어하거나, 모터 등 구동장치를 제어하게 된다.
최근 PLC시스템 사용자들은 짧은 시간에 많은 연산을 요구하거나 짧은 시간에 많은 데이터 처리를 요구하고 있으며 동시에 여러 기능을 처리할 수 있는 PLC시스템을 선호하고 있다.
이러한 요구를 반영하여 멀티 코어 CPU를 이용한 PLC가 제안되었다.
멀티 코어 PLC 시스템은 특정한 기능을 병렬 처리 가능하며, 이러한 멀티 코이 PLC의 병렬처리 기법은 미국 등록특허 US9,727,377B2(2017년 8월 8일 등록, REDUCING THE SCAN CYCLE TIME OF CONTROL APPLICATIONS THROUGH MULTI-CORE EXECUTION OF USER PROGRAMS)에 기재되어 있다.
위의 미국 등록특허에서는 동일한 사용자 프로그램 또는 서로 다른 사용자 프로그램을 멀티 코어에서 병렬 처리하는 기법이 기재되어 있다.
멀티 코어 PLC의 병렬처리 기법에 대하여 좀 더 상세히 설명하면, 도 1에 도시한 바와 같이 제1코어(Core 0)과 제2코어(Core 1)를 가지는 CPU는, 제1코어(Core 0)와 제2코어(Core 1) 각각을 독립적으로 운영하여, 각 코어에서 사용자 프로그램을 수행하고, 진단 동작을 수행할 수 있다.
사용자 프로그램의 수행이라 함은 사칙연산, 논리연산, 이진코드(BCD)연산 기능 등을 수행하는 것을 뜻하며, 진단 동작은 모듈 진단, 접속 수행, 입출력 리프레시(refresh) 동작을 포함한다.
도 1에는 제2코어(Core 1)의 스캔 주기가 제1코어(Core 0)의 스캔 주기에 비해 더 짧은 예를 나타내었다. 이처럼 코어들의 개별적인 스캔 주기에 차등을 두는 이유는 각 코어의 연산 결과를 디바이스 영역에 저장하는 시점에 차등을 두기 위한 것으로 이해될 수 있다.
그러나 스캔 주기에 차등을 둔 경우라도 스캔 동작이 반복되면서, 적어도 둘 이상의 코어가 디바이스 영역에 접근할 수 있는 경우가 발생된다.
도 2는 서로 다른 주기를 가지는 멀티 코어에서 동일 디바이스 영역에 접근할 수 있음을 나타낸다.
제1 내지 제3코어(Core 0, Core 1, Core 2)는 서로 다른 스캔 주기로 동작하지만, 반복적인 스캔 동작을 수행하면서, 각 스캔의 종료 시점이 겹치는 구간이 발생하게 되며, 이때 각 코어는 동일한 디바이스 영역에 접근하게 된다.
도 2에는 제1코어(Core 0)와 제2코어(Core 1)의 종료 시점이 동일하게 된 경우를 도시하였다.
상기 디바이스 영역은 각 코어들에서 연산되는 사용자 프로그램을 저장하는 메모리와 코어들의 연산 결과를 저장하는 메모리를 포함할 수 있다.
위에서는 설명의 용이성을 위하여 제1코어(Core 0)와 제2코어(Core 1)의 스캔 종점이 일치하는 것으로 도시하여, 제1코어(Core 0)와 제2코어(Core 1)가 동시에 디바이스 영역에 접근하는 것으로 설명하였다.
그러나 제1코어(Core 0)는 연산 결과를 저장하기 위하여 디바이스 영역에 접근하고, 제2코어(Core 1)는 디바이스 데이터를 읽어 사용자 프로그램을 실행하기 위해 디바이스 영역에 접근할 수도 있다.
이처럼 다수의 코어가 동시에 디바이스 영역에 접근하는 경우, 사용자 프로그램 실행 중 함수 수행, 연산 중간 값을 변경하고, 참조하는 등의 문제점이 발생할 수 있다.
이와 같은 문제점의 발생을 방지하기 위하여, 종래 멀티 코어 PLC는 특정 코어가 디바이스 영역을 선점했을 때, 다른 코어는 디바이스 영역에 접근하지 못하고 대기하는 방식을 사용한다.
도 3은 제1코어(Core 0)가 디바이스 영역을 선점한 상태에서, 사용자 프로그램을 연산하는 제2코어(Core 1)가 디바이스 영역에 접근할 수 없으며, 사용자 프로그램의 실행에 필요한 데이터를 얻기 위해 대기하는 상태가 발생하게 된다.
이처럼 멀티 코어 PLC에서는 다수의 코어들이 스캔 동작을 수행하면서 특정한 시점에서 스캔 동작이 간헐적으로 중단되는 경우가 발생하게 된다.
이와 같이 스캔 동작이 간헐적으로 중단되는 경우, 사용자 프로그램의 수행시간이 변동되는 현상이 발생하며, 이는 정주기성을 보장해야 하는 PLC 시스템의 신뢰성을 저하시키는 원인이 된다.
상기와 같은 문제점을 감안한 본 발명이 해결하고자 하는 과제는, 멀티 코어의 병렬 처리시 둘 이상의 코어가 동시에 디바이스 영역에 접근하는 방지할 수 있는 멀티 코어 PLC 및 멀티 코어 PLC의 스캔 방법을 제공함에 있다.
상기와 같은 기술적 과제를 해결하기 위한 본 발명의 일측면에 따른 멀티 코어 PLC는, 다수의 코어를 포함하는 CPU와, 다수의 코어들 각각의 스캔 동작에 사용되는 데이터를 제공하고, 스캔 결과 데이터를 저장하는 디바이스 영역과, 다수의 코어 각각에 대응하며, 스캔 과정에 필요한 데이터 및 스캔 결과 데이터를 임시 저장하는 임시 디바이스 영역을 포함할 수 있다.
본 발명의 실시예에서, 상기 스캔 과정은, 디바이스 영역의 데이터를 호출하여 임시 디바이스 영역에 저장하는 백업 동작, 사용자 프로그램의 수행, 진단 동작의 수행, 상기 임시 디바이스 영역에 저장된 스캔 결과 데이터를 상기 디바이스 영역에 저장하는 복원 동작을 포함할 수 있다.
본 발명의 실시예에서, 상기 백업 동작과 상기 복원 동작은, 임시 디바이스 영역들과 디바이스 영역 사이의 데이터 전송 및 저장 동작이며, 상기 임시 디바이스 영역마다 순차적으로 이루어질 수 있다.
또한, 본 발명의 다른 측면에 따른 멀티 코어 PLC의 스캔 방법은, 다수의 코어를 포함하는 CPU를 구비하며, 코어들 각각이 디바이스 영역의 데이터를 이용하여 스캔하고, 스캔 결과를 디바이스 영역에 저장하는 멀티 코어 피엘씨의 스캔 방법에 있어서, 코어들 각각은 a) 스캔에 필요한 데이터를 상기 디바이스 영역에서 호출하여 코어들 각각에 할당된 임시 디바이스 영역에 저장하는 단계와, b) 스캔 동작의 사용자 프로그램 수행과 진단 동작의 수행시, 상기 임시 디바이스 영역의 데이터를 사용함과 아울러 스캔 결과 데이터를 상기 임시 디바이스 영역에 저장하는 단계와, c) 임시 디바이스 영역의 스캔 결과 데이터를 상기 디바이스 영역에 저장하는 단계로 스캔한다.
본 발명의 실시예에서, 상기 다수의 코어 각각의 스캔 주기는 서로 다른 것일 수 있다.
본 발명의 실시에에서, 상기 다수의 코어 각각의 스캔 주기는 동일하며, 스캔 시작 시점이 서로 다른 것일 수 있다.
본 발명은 멀티 코어 PLC의 각 코어의 전용 임시 디바이스 영역을 부가하여, 각 멀티 코어가 디바이스 영역에 동시 접근하는 현상의 발생을 방지함으로써, 스캔 타임이 변경되는 것을 방지할 수 있는 효과가 있다.
도 1은 종래 멀티 코어 PLC의 병렬 처리 모식도이다.
도 2는 종래 멀티 코어 PLC의 두 코어에서 스캔 종점이 일치하는 경우를 보인 모식도이다.
도 3은 종래 멀티 코어 PLC의 디바이스 영역 접근 방식을 나타낸 모식도이다.
도 4는 본 발명의 일실시예에 따른 멀티 코어 PLC의 병렬 처리 모식도이다.
도 5는 본 발명의 데이터 흐름도이다.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라, 여러가지 형태로 구현될 수 있고 다양한 변경을 가할 수 있다. 단지, 본 실시예에 대한 설명은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위하여 제공되는 것이다. 첨부된 도면에서 구성요소는 설명의 편의를 위하여 그 크기를 실제보다 확대하여 도시한 것이며, 각 구성요소의 비율은 과장되거나 축소될 수 있다.
'제1', '제2' 등의 용어는 다양한 구성요소를 설명하는데 사용될 수 있지만, 상기 구성요소는 위 용어에 의해 한정되어서는 안 된다. 위 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 '제1구성요소'는 '제2구성요소'로 명명될 수 있고, 유사하게 '제2구성요소'도 '제1구성요소'로 명명될 수 있다. 또한, 단수의 표현은 문맥상 명백하게 다르게 표현하지 않는 한, 복수의 표현을 포함한다. 본 발명의 실시예에서 사용되는 용어는 다르게 정의되지 않는 한, 해당 기술분야에서 통상의 지식을 가진 자에게 통상적으로 알려진 의미로 해석될 수 있다.
이하에서는, 도면을 참조하여 본 발명의 일실시예에 따른 멀티 코어 PLC 및멀티 코어 PLC의 스캔 방법에 대하여 상세히 설명한다.
도 4는 본 발명의 바람직한 실시예에 따른 멀티 코어 PLC의 병렬 처리 모식도이다.
도 4를 참조하면 본 발명은, 각각 스캔을 수행하는 복수의 코어(Core 0, Core 1)와, 복수의 코어(Core 0, Core 1)의 스캔에 사용되는 디바이스 데이터 및 스캔 결과 데이터를 저장하는 디바이스 영역(10)과, 상기 코어(Core 0, Core 1)들 각각에 대응하여 상기 디바이스 영역(10)의 데이터를 임시 저장하고, 상기 코어(Core 0, Core 1)들의 연산 결과 데이터를 임시 저장 후 상기 디바이스 영역(10)에 복원하는 복수의 임시 디바이스 영역(20, 30)을 포함하여 구성된다.
도 4에서 본 발명이 제1코어(Core 0)와 제2코어(Core 1)를 포함하는 것으로 도시하였으나, 본 발명을 이루기 위한 최소한의 코어의 수를 도시한 예로서 본 발명은 적어도 두 개 이상의 코어를 포함하는 것으로 한다.
상기 임시 디바이스 영역(20, 30)의 수는 코어의 수와 동수일 수 있다.
상기 임시 디바이스 영역(20, 30)은 별개의 메모리 모듈일 수 있다.
임시 디바이스 영역(20, 30)의 디바이스 데이터는 스위치, 릴레이 등의 스위칭 제어에 사용되지 않으며, 모터 등의 구동장치의 제어에도 사용되지 않는다.
이하에서 본 발명 멀티 코어 PLC의 구성과 작용에 대하여 좀 더 구체적으로 설명한다.
먼저, 본 발명에 적용되는 제1코어(Core 0)와 제2코어(Core 1)는 각각 독립적인 스캔 동작을 수행한다. 이때 제1코어(Core 0)와 제2코어(Core 1)의 스캔 동작은 종래의 사용자 프로그램의 수행과 진단 동작만이 아닌 백업 기능과 복원 기능을 포함한다.
제1코어(Core 0)와 제2코어(Core 1)에서 수행되는 스캔 동작은 백업 동작(1), 사용자 프로그램 수행(2), 진단 동작(3) 및 복원 동작(4)의 순차 실행을 뜻한다.
여기서 사용자 프로그램 수행(2)과 진단 동작(3)에서 사용되는 디바이스 데이터는 디바이스 영역(10)에 저장된 데이터가 아닌 제1코어(Core 0)에 할당된 임시 디바이스 영역(20)과 제2코어(Core 1)에 할당된 임시 디바이스 영역(30)에 저장된 데이터를 이용한다.
상기 임시 디바이스 영역(20, 30)에 저장되는 데이터는 스캔 동작의 시작인 백업 동작(1)을 통해 각 제1코어(Core 0)와 제2코어(Core 1) 각각에서 필요한 데이터를 상기 디바이스 영역(10)에서 호출한 데이터이다.
상기 제1코어(Core 0)와 제2코어(Core 1)는 스캔 주기에 차이가 있을 수 있다. 반대로 스캔 주기가 동일하더라도 최초 스캔 시작 시점에 차등을 둔 것일 수 있다.
각각의 스캔 과정의 백업 동작(1)에서 디바이스 영역(10)에 접근하여 스캔시 필요한 데이터를 호출하여, 임시 디바이스 영역(20,30)에 저장한다.
이때 데이터는 디바이스 영역(10)으로부터 임시 디바이스 영역(20, 30)으로 스캔 시작 시점의 차등에 따라 순차적으로 전송되어 저장되는 것으로 한다.
도 5는 본 발명의 동작 과정을 설명하기 위한 데이터 흐름도이다.
도 5를 참조하면, 먼저 제1코어(Core 0)의 백업 동작(1)에서 디바이스 영역(10)의 데이터를 읽어들여 임시 디바이스 영역(20)에 저장한다.
도 4와 도 5에서 제1코어(Core 0)와 제2코어(Core 1)는 각각 스캔 주기에 차이가 있는 것으로 도시하고 설명하지만, 제1코어(Core 0)의 스캔 시점이 제2코어(Core 1)의 스캔 시점에 비하여 더 빠르면 동일한 스캔 주기를 사용할 수 있다.
상기와 같이 백업 동작(1)에서 임시 디바이스 영역(20)에 데이터를 저장한 후, 제1코어(Core 0)의 다음 스캔 동작인 사용자 프로그램 수행(2)과 진단 동작(3)에서는 임시 디바이스 영역(20)에 저장된 데이터를 사용하고, 생성된 데이터는 다시 임시 디바이스 영역(20)에 저장한다.
제2코어(Core 1) 역시 백업 동작(1)에서 디바이스 영역(10)의 데이터를 읽어들여 임시 디바이스 영역(30)에 저장한 후, 사용자 프로그램 수행(2)과 진단 동작(3) 과정에서는 디바이스 영역(10)의 데이터를 이용하거나 디바이스 영역(10)에 데이터를 저장하지 않고 임시 디바이스 영역(30)에 저장된 데이터를 이용하며, 처리 결과 데이터를 임시 디바이스 영역(30)에 저장한다.
즉, 사용자 프로그램 수행(2)과 진단 동작(3)에서 제1코어(Core 0)와 제2코어(Core 1) 각각은 디바이스 영역(10)을 억세스하지 않으며, 각각에 할당된 임시 디바이스 영역(20, 30)을 억세스하여 수행한다.
이처럼 본 발명은 사용자 프로그램 수행(2)과 진단 동작(3)을 수행할 때 복수의 코어가 동시에 디바이스 영역(10)에 접근하는 것을 방지함으로써, 특정한 코어에 의한 디바이스 영역(10) 선점과 다른 코어의 실행 대기 상태가 발생하는 것을 방지할 수 있다.
따라서 실행 지연에 의한 신뢰성 저하를 방지할 수 있는 특징이 있다.
이처럼 제1코어(Core 0)와 제2코어(Core 1)는 각각 스캔을 수행하며, 스캔의 마지막 과정인 복원 동작(4)에서 각각의 임시 디바이스 영역(20,30)에 저장된 처리 결과 데이터를 상기 디바이스 영역(10)에 저장한다.
복원 동작(4)에서는 임시 디바이스 영역(20,30)에 저장된 처리 결과 데이터를 저장할 때 동시에 저장되지 않도록 순차로 디바이스 영역(10)에 저장한다.
복원 동작(4)에서 제1코어(Core 0)와 제2코어(Core 1)는 각각에 할당된 임시 디바이스 영역(20,30)의 데이터를 디바이스 영역(10)으로 전송하는 제어를 수행하며, 복원시 처리 결과 데이터는 직접 디바이스 영역(10)으로 전송되어 저장되며, 이때의 저장은 제1코어(Core 0)와 제2코어(Core 1)의 동작과는 무관하게 디바이스 영역(10)에서 전송된 데이터를 순차적으로 저장하는 것으로 한다.
이와 같은 과정에 의해 본 발명은 멀티 코어 PLC의 병렬 처리 과정에서 정주기를 확보할 수 있으며, 사용자 프로그램의 수행 지연에 의한 신뢰성 저하를 방지할 수 있다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 청구범위에 의해서 정해져야 할 것이다.
1:백업 동작 2:사용자 프로그램 수행
3:진단 동작 4:복원 동작
10:디바이스 영역 20, 30:임시 디바이스 영역

Claims (8)

  1. 다수의 코어를 포함하는 CPU;
    다수의 코어들 각각의 스캔 동작에 사용되는 데이터를 제공하고, 스캔 결과 데이터를 저장하는 디바이스 영역; 및
    다수의 코어 각각에 대응하며, 스캔 과정에 필요한 데이터 및 스캔 결과 데이터를 임시 저장하는 임시 디바이스 영역을 포함하는 멀티 코어 피엘씨.
  2. 제1항에 있어서,
    상기 스캔 과정은,
    디바이스 영역의 데이터를 호출하여 임시 디바이스 영역에 저장하는 백업 동작,
    사용자 프로그램의 수행,
    진단 동작의 수행,
    상기 임시 디바이스 영역에 저장된 스캔 결과 데이터를 상기 디바이스 영역에 저장하는 복원 동작을 포함하는 멀티 코어 피엘씨.
  3. 제2항에 있어서,
    상기 다수의 코어 각각의 스캔 주기는 서로 다른 것을 특징으로 하는 멀티 코어 피엘씨.
  4. 제2항에 있어서,
    상기 다수의 코어 각각의 스캔 주기는 동일하며, 스캔 시작 시점이 서로 다른 것을 특징으로 하는 멀티 코어 피엘씨.
  5. 제2항에 있어서,
    상기 백업 동작과 상기 복원 동작은,
    임시 디바이스 영역들과 디바이스 영역 사이의 데이터 전송 및 저장 동작이며, 상기 임시 디바이스 영역마다 순차적으로 이루어지는 것을 특징으로 하는 멀티 코어 피엘씨.
  6. 다수의 코어를 포함하는 CPU를 구비하며, 코어들 각각이 디바이스 영역의 데이터를 이용하여 스캔하고, 스캔 결과를 디바이스 영역에 저장하는 멀티 코어 피엘씨의 스캔 방법에 있어서,
    코어들 각각은,
    a) 스캔에 필요한 데이터를 상기 디바이스 영역에서 호출하여 코어들 각각에 할당된 임시 디바이스 영역에 저장하는 단계;
    b) 스캔 동작의 사용자 프로그램 수행과 진단 동작의 수행시, 상기 임시 디바이스 영역의 데이터를 사용함과 아울러 스캔 결과 데이터를 상기 임시 디바이스 영역에 저장하는 단계; 및
    c) 임시 디바이스 영역의 스캔 결과 데이터를 상기 디바이스 영역에 저장하는 단계로 스캔하는 멀티 코어 피엘씨의 스캔 방법.
  7. 제6항에 있어서,
    상기 코어들 각각의 스캔 주기는 서로 다른 것을 특징으로 하는 멀티 코어 피엘씨의 스캔 방법.
  8. 제6항에 있어서,
    상기 코어들 각각의 스캔 주기는 서로 동일하며, 스캔 시작 시점이 서로 다른 것을 특징으로 하는 멀티 코어 피엘씨의 스캔 방법.
KR1020190071229A 2019-06-17 2019-06-17 멀티 코어 plc 및 멀티 코어 plc의 스캔 방법 KR20200143770A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190071229A KR20200143770A (ko) 2019-06-17 2019-06-17 멀티 코어 plc 및 멀티 코어 plc의 스캔 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190071229A KR20200143770A (ko) 2019-06-17 2019-06-17 멀티 코어 plc 및 멀티 코어 plc의 스캔 방법

Publications (1)

Publication Number Publication Date
KR20200143770A true KR20200143770A (ko) 2020-12-28

Family

ID=74087121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190071229A KR20200143770A (ko) 2019-06-17 2019-06-17 멀티 코어 plc 및 멀티 코어 plc의 스캔 방법

Country Status (1)

Country Link
KR (1) KR20200143770A (ko)

Similar Documents

Publication Publication Date Title
CN110663006B (zh) 对可编程逻辑控制器执行故障转移并控制物理系统的方法
EP2838019A1 (en) Multiple threads execution processor and operating method thereof
KR20200143770A (ko) 멀티 코어 plc 및 멀티 코어 plc의 스캔 방법
US4807178A (en) Programmable sequence controller having indirect and direct input/output apparatus
KR900005284B1 (ko) 마이크로 컴퓨터
US10936357B2 (en) Semiconductor device
KR102219387B1 (ko) 피엘씨 시스템의 오류 상태 제어방법
US20040024935A1 (en) Programmable controller
CN109669721B (zh) 一种可二次开发软件的方法
JPH11175113A (ja) プログラマブルコントローラ
JPS61161507A (ja) プログラマブルコントロ−ラのダイレクト入出力方式
JPS63211004A (ja) プログラマブルコントロ−ラ
JPS63153635A (ja) デ−タ転送速度指定方式
JP4633319B2 (ja) 汎用運動制御システム
JPH0198047A (ja) 割込み処理方式
JPH02311903A (ja) プログラマブルコントローラ
KR950007937B1 (ko) 피엘씨 게이트 어레이의 내부 레지스터 운용회로
JPS6371761A (ja) オンラインシステムのシステム条件定義方式
JPS61288232A (ja) 出力命令制御方式
JPH0516613B2 (ko)
JPH03257565A (ja) 並行処理マイクロプロセッサ
US20040230319A1 (en) Microcontroller device for complex processing procedures and corresponding interrupt management process
JPH10171509A (ja) プロセス制御装置
JP2011060211A (ja) プログラマブルコントローラ
JPH03282903A (ja) プログラマブルコントローラの通信システムに於けるタスク制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal