KR101539253B1 - A PLC device provided with a function for managing program quality - Google Patents
A PLC device provided with a function for managing program quality Download PDFInfo
- Publication number
- KR101539253B1 KR101539253B1 KR1020140073534A KR20140073534A KR101539253B1 KR 101539253 B1 KR101539253 B1 KR 101539253B1 KR 1020140073534 A KR1020140073534 A KR 1020140073534A KR 20140073534 A KR20140073534 A KR 20140073534A KR 101539253 B1 KR101539253 B1 KR 101539253B1
- Authority
- KR
- South Korea
- Prior art keywords
- programming device
- memory
- program
- cumulative count
- recorded
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
Description
본 발명은 피엘씨 장치에 관한 것으로서, 구체적으로는 로딩된 사용자 프로그램의 품질 관리 기능이 구비된 피엘씨 장치에 관한 것이다.The present invention relates to a PIEC device, and more particularly to a PIEC device having a quality control function of a loaded user program.
미국 전기제조업협회(NEMA, National Electrical Manufacturers Association)에 따르면 피엘씨(PLC, Programmable Logic Controller)는 "디지털 또는 아날로그 입출력 모듈을 통하여 로직, 시퀀스, 타이밍, 카운트, 연산과 같은 기능을 수행하기 위하여 프로그램 가능한 메모리를 사용하고 여러 종류의 기계나 프로세서를 제어하는 디지털 동작의 전자장치"로 정의하고 있다. According to the National Electrical Manufacturers Association (NEMA), PI (Programmable Logic Controller) is "programmable" to perform functions such as logic, sequence, timing, counting and operation through digital or analog input and output modules Electronic devices of digital operation that use memory and control various kinds of machines or processors ".
PLC는 1968년 미국 자동차 메이커인 GM사에서 기존의 릴레이 제어반을 대체하기 위한 새로운 전자화 제어기에 대한 요구에 따라 DEC사에서 PDP-14라는 최초의 PLC를 개발함으로써 탄생하게 되었다. 개발 당시 GM사는 PLC에 관하여 10가지 요구조건을 제시하였는데, 그 대표적 조건은 (1) 프로그램 작성 및 변경이 용이하고, 현장 작업자가 쉽게 동작 시퀀스를 작성 및 변경할 수 있을 것,(2) 점검 및 보수가 용이할 것, (3) 관제실에 데이터 전송이 가능할 것, (4) 메인 시스템을 대폭 변경하지 않고도 기본 유닛이 확장 가능할 것 등이었다. 이 후 PLC는 전자화 제어기기로서 눈부신 발전을 거듭하였으며, 그 태생적 특성으로서 프로그램의 작성이 간편하고, 변경 및 보수도 용이하도록 산업 현장에서 진보되어, 오늘날 공장자동화의 핵심기기로 자리매김하여 산업 전반에 걸쳐 광범위하게 사용되고 있다. PLC was born in 1968 by American automobile maker GM to develop the first PLC of PDP-14 in DEC according to the demand of new electronic controller to replace existing relay control board. At the time of development, GM proposed 10 requirements for PLC, and its typical conditions are (1) it is easy to create and change programs, (2) the operator can easily create and change operation sequences, (2) (3) data can be transferred to the control room, and (4) the base unit can be expanded without significantly changing the main system. Since then, PLC has made remarkable progress as an electronic control device. It has been developed in the industrial field so that it is easy to create a program as its original characteristic and easy to change and repair. . ≪ / RTI >
그런데 대부분의 PLC는 여전히 그 기능 및 메모리 사이즈 면에서 간편함을 선호하기 때문에, 사용자 프로그램을 PLC에 로딩하거나 이를 수정하는 것은 현장 작업자를 신뢰하여 작업자 1인에 의하여 수행되는 것이 보통이다. 그리고 일단 PLC에 로딩된 프로그램은 PLC의 동작 결과를 보고 적합성을 판단하는 정도이고, 프로그램의 내용을 직접 확인해 보거나, 착오에 의한 로딩 오류 등을 검토하는 수단은 미미한 실정이다. However, since most PLCs still prefer simplicity in terms of their functionality and memory size, loading or modifying a user program on a PLC is usually performed by a single worker who trusts the field worker. And once the program loaded in PLC is enough to judge the conformity of the operation result of the PLC, there is little means to check the contents of the program directly or to check the loading error due to error.
그러나 PLC가 대규모 산업이나 국가 기반 시설 등에 사용이 확산됨에 따라, PLC의 사용상 간편성은 유지하더라도, 프로그램의 수정 및 로딩에 더욱 신중을 기하고, 품질 관리를 시행할 필요가 있다. 예를 들면, 최근 원자력발전소의 계측 제어 계통에도 PLC가 사용되기 시작하였는데, 이러한 경우에는 고도의 보안성과 엄격한 품질관리가 요구된다. 또한, 급수 시설이나 에너지, 교통 등의 기간 시설이 테러나 스파이의 공격 표적으로 부상되고 있고, 특히 최근 금융기관에서 발생한 대규모 정보 유출 사건의 교훈으로부터 살펴볼 때, PLC를 사용하는 기간 시설에 대해서도 외부 침입에 대한 방어는 물론, 악의적이거나 부주의한 내부 작업자에 의한 무단 변조를 예방하는 수단도 필요한 시점에 있다.However, as the use of PLCs in large-scale industries and national infrastructure spreads, even if the ease of use of PLCs is maintained, it is necessary to pay more attention to program modification and loading and to implement quality control. For example, PLC has recently been used in the measurement control system of a nuclear power plant. In this case, high security and strict quality control are required. In addition, when infrastructure facilities such as water supply facilities, energy, and transportation are being attacked by terrorist attacks and espionage, and especially from the lessons of massive information leakage events in recent financial institutions, As well as means to prevent unauthorized tampering by malicious or careless internal workers are also in need.
본 발명은 피엘씨에 로딩되는 프로그램의 품질 관리성을 제고하기 위하여, 사용자 프로그램의 이력 관리가 가능한 피엘씨 장치를 제공하기 위한 것이다.The present invention is intended to provide a PIEL device capable of managing the history of a user program in order to improve quality control of a program loaded on PIEL.
본 발명의 실시예에 따른 피엘씨 장치는 중앙처리유닛, 메모리, 프로그래밍 기기 접속부, 입력 모듈부 및 출력 모듈부를 포함하며, 상기 중앙처리유닛은 적어도 실행 모드와 정지 모드를 포함한 2 이상의 상태 모드를 가지며, 상기 메모리와 통신 가능하고, 프로그래밍 기기 접속부를 통하여 프로그래밍 기기와 통신 가능하며, 프로그래밍 기기로부터 로딩되는 프로그램을 상기 메모리에 저장하며, 실행 모드 하에서는 입력 모듈부를 통하여 공급되는 입력 신호에 대하여 로딩된 프로그램에 따른 명령을 수행하여 얻어진 결과를 출력 모듈부에 제공하며, 정지 모드 하에서는 프로그래밍 기기로부터 프로그램 로딩 요청 신호를 수신하면 상기 메모리에 기록된 누적 카운트를 증가시키는 것을 특징으로 한다.A PIEC device according to an embodiment of the present invention includes a central processing unit, a memory, a programming device interface, an input module and an output module, and the central processing unit has at least two status modes including an execution mode and a stop mode A program that is communicable with the memory and is capable of communicating with a programming device via a programming device connection, stores a program loaded from the programming device into the memory, and in an execution mode, And provides the result obtained by performing the command according to the number of times the program is loaded to the output module. When the program loading request signal is received from the programming device under the stop mode, the cumulative count recorded in the memory is increased.
본 발명에 따른 피엘씨 장치의 누적 카운트는 비휘발성의 읽기/쓰기 가능 메모리 영역에 기록되는 것을 특징으로 할 수 있다. The cumulative count of the PIEC device according to the present invention can be recorded in a nonvolatile read / write capable memory area.
본 발명에 따른 피엘씨 장치의 누적 카운트는 프로그래밍 기기 가독 영역 외의 메모리 영역에 일차적으로 기록되며, 이 누적 카운트 값이 프로그래밍 기기 가독 영역에 이차적으로 기록되는 것을 특징으로 할 수 있다. The cumulative count of the PIEC device according to the present invention is primarily recorded in a memory area other than the programming device read area and the cumulative count value is recorded secondarily in the programming device readable area.
본 발명에 따른 피엘씨 장치에서 일차적으로 기록되는 누적 카운트는 암호화되며, 이차적으로 기록되는 누적 카운트는 복호화 되는 것을 특징으로 할 수 있다. 본 발명에 따른 피엘씨 장치의 누적 카운트가 미리 설정된 최대치에 도달되면 더 이상의 프로그램 로딩이 제한되는 것을 특징으로 할 수 있다. The cumulative count recorded first in the PIEC device according to the present invention is encrypted, and the cumulative count recorded secondarily is decoded. When the cumulative count of the PIEC device according to the present invention reaches a preset maximum value, further program loading can be restricted.
본 발명에 따른 피엘씨 장치는 프로그래밍 기기를 통하여 현재 로딩되어 있는 사용자 프로그램의 누적 로딩 횟수 확인이 가능하고, 누적 로딩 횟수의 변조가 불가능하므로 사용자 프로그램에 대한 품질 관리가 가능한 효과를 제공한다. 또한 누적 로딩 횟수가 설정된 최대치에 도달되면 프로그램 로딩이 제한되므로 누적 카운트의 기능을 무력화 시키는 조작을 방지하는 효과가 있다.The PIEC device according to the present invention can check the cumulative loading count of the currently loaded user program through the programming device and can not modulate the cumulative loading count, thereby providing quality control of the user program. Also, since the program loading is restricted when the cumulative loading count reaches the set maximum, there is an effect of preventing an operation of disabling cumulative counting.
도1은 본 발명의 일 실시예에 따른 피엘씨 장치의 구성도이다.
도2는 본 발명의 일 실시예에 따른 메모리 맵 개념도이다.1 is a block diagram of a PIEC device according to an embodiment of the present invention.
2 is a conceptual diagram of a memory map according to an embodiment of the present invention.
이하에서는 본 발명에 따른 구체적인 실시예가 설명된다. 그러나 본 발명은 여러 가지 다양한 형태로 변형하여 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지는 않는다. 본 발명에 첨부된 도면은 설명의 편의를 위한 것으로 간략화 되었으며, 본 발명을 명확하게 하기 위해서 발명과 직접적인 관계가 적은 부분은 생략되었다. Hereinafter, specific embodiments according to the present invention will be described. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
본 발명에 따른 피엘씨(PLC) 장치(10)의 전형적인 실시예는 도1에 도시된 바와 같이, 중앙처리유닛(100; CPU, Central Processing Unit), 메모리(200; Memory), 프로그래밍 기기 접속부(300), 입력 모듈부(500; Input Module) 및 출력 모듈부(600; Output Module)를 포함하여 구성된다. 통상적인 피엘씨 장치는 전원부(900, Power Supply)를 포함하나, 경우에 따라서는 이를 전원공급 모듈(Power Module)로 별도로 구성할 수도 있다. 1, a typical embodiment of a
입력 모듈부(500)는 입력기기(510; Input Device)로부터 신호를 받아 데이터화 하여 중앙처리유닛(100)으로 정보를 전달한다. 입력기기(510)의 예로는 버튼, 스위치, 센서 등을 들 수 있다. 출력 모듈부(600)는 중앙처리유닛(100)의 처리 결과를 수신하여 출력기기(610; Output Device)로 제어정보를 공급한다. 출력기기(610)의 예로는 모터, 전자밸브, 인디케이터, 램프, 외부 제어기 등을 들 수 있다. 입력 모듈부(500) 및 출력 모듈부(600)는 피엘씨와 외부 프로세스 사이의 인터페이스를 제공하며, 통상적으로 입출력 신호로부터 오는 노이즈 및 서지(surge)로부터 피엘씨 내부를 보호하기 위하여 포토커플러(Photo Coupler)를 사용하고, 그 외에도 필요에 따라 A/D(아날로그-디지털) 및 D/A(디지털-아날로그) 컨버터 등의 수단을 사용하여 신호를 가공한다.The
PLC에 사용자 프로그램을 로딩하기 위하여 프로그래밍 소프트웨어가 탑재된 노트북 컴퓨터, 개인용 컴퓨터(PC), 또는 휴대용 기기(Hand-held Device)가 사용되는데, 본 발명에서는 이들을 프로그래밍 기기(310, Programming Device)라고 지칭한다. 본 발명에서 특별한 한정이 없는 한, '프로그램'은 사용자가 로딩하는 사용자 프로그램을 의미한다. 프로그래밍 기기(310)는 피엘씨 장치(10)에 구비된 프로그래밍 기기 접속부(300)를 통하여 직렬 또는 병렬 통신 링크나 이더넷 등의 방식에 의하여 피엘씨의 중앙처리유닛(100)과 통신한다. A notebook computer, a personal computer (PC), or a hand-held device equipped with programming software is used to load a user program in the PLC. In the present invention, these are referred to as a
PLC 장치의 중앙처리유닛(100; CPU)은 적어도 실행 모드(RUN Mode)와 정지 모드(STOP Mode; '프로그램 모드'라고 불리기도 함)를 포함한 2 이상의 상태 모드를 갖는다. 실행 모드는 PLC가 프로그램에 의한 제어 동작을 실행하는 모드이고, 정지 모드는 PLC의 제어 동작이 정지되고 프로그램의 로딩이나 수정이 가능한 모드이다. CPU(100)는 메모리(200)와 통신 가능하고, 프로그래밍 기기 접속부(300)를 통하여 프로그래밍 기기(310)와 통신 가능하다. 실행 모드 하에서는 입력 모듈부(500)를 통하여 공급되는 입력 데이터에 대하여 로딩된 사용자 프로그램에 따른 명령(instruction)을 수행하여 얻어진 결과를 출력 모듈부(600)에 제공한다. The central processing unit 100 (CPU) of the PLC device has at least two status modes including at least a run mode and a stop mode (also referred to as a 'program mode'). The execution mode is a mode in which the PLC executes the control operation by the program, and the stop mode is the mode in which the control operation of the PLC is stopped and the program can be loaded or corrected. The
CPU(100)는 실행 모드에서 프로그램에 따른 명령(instruction)을 반복적으로 수행한다. 이러한 반복적인 주기적 프로세스를 스캔(scan)이라 칭하는데, 스캔은 통상적으로 입력 스캔, 프로그램 스캔 및 출력 스캔으로 구성되어 순차적으로 반복된다. 입력스캔은 입력 모듈부의 변수 상태를 메모리의 입력 테이블에 저장하는 프로세스이고, 프로그램 스캔은 입력 테이블에 대하여 사용자가 로딩한 프로그램의 첫 번째 명령부터 마지막 명령까지 실행하여 메모리의 출력 테이블을 갱신시키는 프로세스이며, 출력 스캔은 출력 테이블을 출력 모듈부에 이송(transfer)하는 프로세스이다.The
사용자 프로그램을 PLC에 로딩시키기 위해서는 PLC의 상태 모드를 정지 모드로 전환하고, 프로그래밍 소프트웨어가 탑재된 프로그래밍 기기(310)를 프로그래밍 기기 접속부(300)에 연결하여, 작성된 프로그램을 선택하여 피엘씨(10)로 전송하여 로딩을 수행한다. In order to load the user program into the PLC, the state mode of the PLC is switched to the stop mode, the
정지 모드 하에서 중앙처리유닛(100)이 프로그래밍 기기(310)로부터 프로그램 로딩 요청 신호(Request)를 수신하면 프로그래밍 기기(310)로부터 전송되는 프로그램을 메모리(200)에 저장한다. 또한 프로그래밍 기기(310)로부터 프로그램 로딩 요청 신호를 수신하면, 중앙처리유닛(100)은 메모리(200)에 기록된 누적 카운트(Cumulative Count)를 증가시킨다. 누적 카운트는 PLC 제조시에 초기값이 설정되어 출하되는 것이 바람직하다. When the
이 누적 카운트는 프로그램이 메모리에 로딩된 횟수를 나타내는 값으로서 프로그래밍 기기(310)를 통하여 디스플레이 가능하다. 여기서 누적 카운트를 증가시키는 것은 한번에 1씩 순차적으로 증가시키는 것이 바람직하며, 큰 값에서 감소시키는 것이나, 2씩 증가시키는 등의 변형은 균등 범위에 해당된다. This cumulative count is displayable through the
메모리는 기능에 따라 휘발성 메모리와 비휘발성 메모리로 구분되며, 휘발성 메모리로서 읽기/쓰기가 가능한 램(RAM)이 사용되며, 비휘발성 메모리는 읽기만 가능한 롬(ROM)과 읽기/쓰기가 가능한 EEPROM이나 플래시 메모리(Flash Memory) 등이 사용되고 있다. Memory is divided into volatile memory and nonvolatile memory depending on the functions. Readable / writable RAM (RAM) is used as volatile memory. Nonvolatile memory is divided into ROM (Read Only), EEPROM A flash memory and the like are used.
도2는 본 발명의 이해를 돕기 위하여 메모리 영역을 개념적으로 도식화 한 것이다. 메모리는 그 용도에 따라 운영체제 메모리 영역(OS Memory; 201), 시스템 메모리 영역(System Memory; 202), 입출력 상태 메모리 영역(I/O Status Memory; 203), 데이터 메모리 영역(Data Memory; 204), 사용자 프로그램 메모리 영역(User Program Memory; 205) 및 로그 메모리 영역(Log Memory; 206)을 포함하여 구성된다. 도2의 우측 변에는 메모리의 바람직한 유형(type)이 참고적으로 표시되어 있으나, 반드시 이에 국한되는 것은 아니다.FIG. 2 is a conceptual diagram illustrating a memory area in order to facilitate understanding of the present invention. The memory includes an operating
피엘씨의 CPU는 운영체제(OS, Operating System)에 의하여 통제되는데, OS는 피엘씨 제조사에 의하여 작성되어 운영체제 메모리 영역(201)으로 할당된 ROM 에 영구적으로 저장되는 것이 보통이며, 사용자가 수정할 수 없다. 경우에 따라 OS저장 영역으로 플래시 메모리를 사용할 수도 있다.Piel's CPU is controlled by an operating system (OS), which is typically written by the PI manufacturer and permanently stored in the ROM allocated to the operating
시스템 메모리 영역(202)은 OS가 동작하는데 필요한 임시 데이터를 저장하는 영역이며 RAM에 할당된다. 입출력 상태 메모리 영역(203)은 각 입출력 변수 데이터 테이블이 기록된 영역이며 RAM에 할당된다. 데이터 메모리 영역(204)은 사용자 프로그램의 실행을 위하여 필요한 데이터가 저장되며 RAM에 할당된다.The
사용자 프로그램 메모리 영역(205)은 사용자 프로그램이 저장되는 영역이다. 사용자 프로그램은 프로그래밍 기기를 통하여 RAM에 직접 저장되거나, 정전이나 백업 배터리 방전시에도 프로그램을 상실하지 않을 목적으로 플래시 메모리 등에 일단 저장한 후 프로그램 실행 속도를 위하여 RAM으로 이송되게 할 수도 있다. 프로그램이 로딩되면, 메모리 내에 이미 존재하던 프로그램은 겹쳐 쓰기(overwrite) 되면서 삭제된다. The user
로그 메모리 영역(206)은 누적 카운트가 저장되는 영역이며, 플래시 메모리(Flash Memory)와 같은 비휘발성의 읽기/쓰기 가능 메모리 영역에 할당되는 것이 바람직하다. 프로그래밍 기기로부터 프로그램 로딩 요청 신호 수신시 누적 카운트를 증가시키는 CPU의 동작은 OS에 의하여 통제된다.The
로그 메모리 영역(206)에는 프로그램의 명칭, 수정 일시, 수정자의 아이디 등이 저장되도록 할 수 있다. 누적 카운트는 로그 메모리 영역의 특정 주소에 기록되며, 프로그래밍 기기(310)는 누적 카운트를 읽기만 가능하도록 OS가 설계되는 것이 바람직하다. In the
이렇게 함으로써 프로그래밍 기기를 통하여 현재 피엘씨에 로딩되어 있는 프로그램이 몇 번째 로딩 프로그램인지 확인이 가능하고, 누적 카운트는 프로그래밍 기기에 의하여 변조는 불가능하므로, 누적 카운트와 함께 보조적인 이력 기록을 참조하여 사용자 프로그램에 대한 품질 보증 활동이 가능한 효과가 제공된다.By doing so, it is possible to check how many loading programs are currently loaded on the PIEL through the programming device, and since the cumulative count can not be modulated by the programming device, The quality assurance activity for the product is provided.
더욱 바람직한 방안으로서, CPU가 누적 카운트를 프로그래밍 기기를 통하여 읽을 수 없는 메모리 영역에 일차적으로 기록하며, 이 누적 카운트 값을 프로그래밍 기기를 통하여 읽을 수 있는 메모리 영역(이하에서 '프로그래밍 기기 가독 영역'이라 함)에 이차적으로 복사 기록하도록 OS를 설계하는 방안을 채택할 수 있다. 이렇게 함으로써 정지 모드가 선택되었을 때 여전히 프로그래밍 기기를 통하여 누적 카운트가 디스플레이 되게 할 수 있다. As a more preferable method, the CPU firstly records the cumulative count in a memory area that can not be read through a programming device, and stores the cumulative count value in a memory area (hereinafter referred to as a 'programming device readable area' ) To copy and record the second OS. This allows the cumulative count to be displayed via the programming device when the stop mode is selected.
이 경우에는 프로그래밍 기기 가독 영역은 데이터 메모리 영역(204) 또는 사용자 프로그램 메모리 영역(205) 등의 RAM에 할당되는 것이 효과적이다. 일차적으로 기록되는 누적 카운트는 여전히 로그 메모리 영역(206)에 저장되며, 이 경우에는 누적 카운트가 기록된 메모리 블록은 프로그래밍 기기의 접근이 허용되지 않는 메모리 영역으로 설정되도록 OS가 설계된다. 이 방안에서는 OS에 의하여 일차적으로 기록되는 누적 카운트가 프로그래밍 기기 가독 영역 밖에 있으므로, 프로그래밍 소프트웨어의 해킹 조작에 의한 누적 카운트 변조가 차단되는 효과가 있다.In this case, it is effective that the programming device readable area is allocated to the RAM such as the
더 나아가서, 일차적으로 기록되는 누적 카운트는 OS에 의하여 암호화되며, 이차적으로 기록되는 누적 카운트는 복호화되는 방안을 사용할 수 있다. 이 방안이 적용되면 메모리를 분석하더라도 누적 카운트를 변조하는 것을 어렵게 하는 효과가 있다.Furthermore, the cumulative count recorded first may be encrypted by the OS, and the second cumulative count recorded may be decrypted. This scheme has the effect of making it difficult to modulate the cumulative count even if the memory is analyzed.
한편, 누적 카운트가 미리 설정된 최대치에 도달되면 더 이상의 프로그램 로딩이 제한되도록 OS를 설계하는 것이 바람직하다. 이는 누적 카운트에 할당된 비트수가 허용하는 최대치 이상 프로그램 로딩 횟수를 반복하여 누적 카운트의 기능을 무력화 시키는 것을 방지하는 효과가 있다.On the other hand, it is desirable to design the OS so that when the cumulative count reaches a predetermined maximum value, further program loading is restricted. This has the effect of preventing the cumulative count function from being disabled by repeating the program loading number more than the maximum value allowed by the number of bits allocated to the cumulative count.
플랜트 제어가 관제서버에 의하여 통제되는 시스템의 경우, 본 발명의 피엘씨를 활용하면 각 피엘씨의 누적 카운트 값을 관제 서버에 등록하고, 비교 확인 프로세스를 가동하면, 비인가 프로그램이 로딩되어 플랜트가 동작되는 것을 원천적으로 차단하는 시스템 운영이 가능하다.In the case of the system in which the plant control is controlled by the control server, if the accumulated count value of each PIEL is registered in the control server by using PIEL of the present invention and the comparison check process is started, the unlicensed program is loaded and the plant is operated The system can be shut down.
위에서 개시된 발명은 기본적인 사상을 훼손하지 않는 범위 내에서 다양한 변형예가 가능하다. 따라서 위의 실시예들은 모두 예시적으로 해석되어야 하며, 한정적으로 해석되지 않는다. 따라서 본 발명의 보호범위는 상술한 실시예가 아니라 첨부된 청구항에 따라 정해진다. 첨부된 청구항의 균등물로의 치환은 첨부된 청구항의 보호범위에 속하는 것이다.
The invention described above is susceptible to various modifications within the scope not impairing the basic idea. Therefore, all of the above embodiments are to be construed as illustrative and not restrictive. Accordingly, the scope of protection of the present invention is not limited to the above-described embodiments, but is defined by the appended claims. The substitution of the appended claims for equivalents is within the scope of the appended claims.
10: 피엘씨(PLC) 장치
100: 중앙처리유닛(CPU, Central Processing Unit)
200: 메모리(Memory)
201: 운영체제 메모리 영역(OS Memory)
202: 시스템 메모리 영역(System Memory)
203: 입출력 상태 메모리 영역(I/O Status Memory)
204: 데이터 메모리 영역(Data Memory)
205: 사용자 프로그램 메모리 영역(User Program Memory)
206: 로그 메모리 영역(Log Memory)
300: 프로그래밍 기기 접속부
310: 프로그래밍 기기(Programming Device)
500: 입력 모듈부(Input Module)
510: 입력기기(Input Device)
600: 출력 모듈부(Output Module)
610: 출력기기(Output Device)
900: 전원부(Power Supply)10: PLC (PLC) device
100: a central processing unit (CPU)
200: Memory
201: Operating system memory area (OS memory)
202: System Memory Area (System Memory)
203: I / O status memory area (I / O status memory)
204: Data memory area (Data memory)
205: User program memory area (User Program Memory)
206: Log memory area (Log Memory)
300: Programming device connection
310: Programming Device
500: Input Module
510: Input Device
600: Output Module (Output Module)
610: Output Device
900: Power supply
Claims (5)
메모리;
프로그래밍 기기 접속부;
입력 모듈부; 및
출력 모듈부;를 포함하며,
상기 중앙처리유닛은 적어도 실행 모드와 정지 모드를 포함한 2 이상의 상태 모드를 가지며, 상기 메모리와 통신 가능하고, 프로그래밍 기기 접속부를 통하여 프로그래밍 기기와 통신 가능하며, 프로그래밍 기기로부터 로딩되는 프로그램을 상기 메모리에 저장하며, 실행 모드 하에서는 입력 모듈부를 통하여 공급되는 입력 신호에 대하여 로딩된 프로그램에 따른 명령을 수행하여 얻어진 결과를 출력 모듈부에 제공하며, 정지 모드 하에서는 프로그래밍 기기로부터 프로그램 로딩 요청 신호를 수신하면 상기 메모리에 기록된 누적 카운트를 증가시키며, 상기 누적 카운트는 프로그래밍 기기 가독 영역 외의 메모리 영역에 일차적으로 기록되며, 이 누적 카운트 값이 프로그래밍 기기 가독 영역에 이차적으로 기록되는 피엘씨 장치.A central processing unit;
Memory;
Programming device interface;
An input module section; And
And an output module section,
Wherein the central processing unit has at least two state modes including an execution mode and a stop mode and is capable of communicating with the memory and is capable of communicating with a programming device via a programming device connection and storing a program loaded from the programming device into the memory In the execution mode, a command according to the loaded program is supplied to the input signal supplied through the input module unit, and the result is provided to the output module unit. When the program loading request signal is received from the programming device under the stop mode, Wherein the cumulative count is recorded primarily in a memory area other than the programming device readable area and the cumulative count value is recorded secondarily in the programming device readable area.
상기 누적 카운트는 비휘발성의 읽기/쓰기 가능 메모리 영역에 기록되는 피엘씨 장치.The method according to claim 1,
Wherein the cumulative count is recorded in a nonvolatile read / write capable memory area.
일차적으로 기록되는 누적 카운트는 암호화되며, 이차적으로 기록되는 누적 카운트는 복호화 되는 피엘씨 장치.The method according to claim 1,
Wherein the cumulative count recorded first is encrypted and the cumulative count recorded secondarily is decrypted.
상기 누적 카운트가 미리 설정된 최대치에 도달되면 더 이상의 프로그램 로딩이 제한되는 피엘씨 장치.
The method according to claim 1,
Wherein when the cumulative count reaches a predetermined maximum value, further program loading is restricted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140073534A KR101539253B1 (en) | 2014-06-17 | 2014-06-17 | A PLC device provided with a function for managing program quality |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140073534A KR101539253B1 (en) | 2014-06-17 | 2014-06-17 | A PLC device provided with a function for managing program quality |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101539253B1 true KR101539253B1 (en) | 2015-07-28 |
Family
ID=53875670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140073534A KR101539253B1 (en) | 2014-06-17 | 2014-06-17 | A PLC device provided with a function for managing program quality |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101539253B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331130A (en) * | 2005-05-26 | 2006-12-07 | Matsushita Electric Works Ltd | Programmable controller |
KR20090041134A (en) * | 2007-10-23 | 2009-04-28 | 문민석 | Plc control system and self-checking method thereof |
KR20110093561A (en) * | 2010-02-12 | 2011-08-18 | 미쓰비시덴키 가부시키가이샤 | Controll device and management device |
-
2014
- 2014-06-17 KR KR1020140073534A patent/KR101539253B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331130A (en) * | 2005-05-26 | 2006-12-07 | Matsushita Electric Works Ltd | Programmable controller |
KR20090041134A (en) * | 2007-10-23 | 2009-04-28 | 문민석 | Plc control system and self-checking method thereof |
KR20110093561A (en) * | 2010-02-12 | 2011-08-18 | 미쓰비시덴키 가부시키가이샤 | Controll device and management device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775716B (en) | Trusted PLC (programmable logic controller) starting method based on measurement mechanism | |
US7089419B2 (en) | Control function with multiple security states for facilitating secure operation of an integrated system | |
TWI450232B (en) | Programmable encryption device, and encryption method | |
JP2011210037A (en) | Semiconductor device and data processing method | |
CN104238486A (en) | Methods and apparatus to manage and maintain process control system field devices using RFID devices | |
US20120036373A1 (en) | Method system and device for secure firmware programming | |
JP2009505304A (en) | Embedded memory access control | |
US9311460B2 (en) | Programmable controller system, tool device, tool program, storage medium, and programmable controller | |
CN107430659B (en) | Method and device for processing and transmitting data in a functionally secure electrical, electronic and/or programmable electronic system | |
CN103258148B (en) | Control system, control device and program execution control method | |
CN103093130A (en) | Hardware binding information encryption method and network device | |
CN102236765B (en) | Method and device for protecting programmable logic controller (PLC) safely | |
US20120310379A1 (en) | Programmable controller | |
JP2009070144A (en) | Programming method in plc | |
KR101539253B1 (en) | A PLC device provided with a function for managing program quality | |
KR101572854B1 (en) | A PLC device with enhanced cyber security | |
US8280530B2 (en) | Plant control system | |
JP2014157483A (en) | Controller and information processing device | |
US20080115108A1 (en) | Microcomputer having security function for memory access and debugging method of the same | |
JP2016505183A (en) | Apparatus and method for identifying system state manipulation of control and regulation units in nuclear technology equipment | |
CN102369535A (en) | Device and method for preventing unauthorized use and/or manipulation of software | |
US11022948B2 (en) | Safety control device and method for changing a range of functions of a safety control device | |
CN103052920A (en) | Programmable controller system, tool device, tool program and recording medium, and programmable controller | |
CN112783532A (en) | Program testing system and device for financial terminal equipment | |
CN203054848U (en) | Software encryption lock |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180517 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 5 |