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 PDF

Info

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
Application number
KR1020140073534A
Other languages
Korean (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 KR1020140073534A priority Critical patent/KR101539253B1/en
Application granted granted Critical
Publication of KR101539253B1 publication Critical patent/KR101539253B1/en

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
    • G06F21/00Security 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

The present invention relates to a PLC device which comprises: a central processing unit; a memory; a programming device connection unit; an input module unit; and an output module unit, wherein the central processing unit has two or more state modes including at least a run mode and a stop mode, can communicate with the memory and with a programming device through the programming device connection unit, stores a program loaded from the programming device in the memory, provides the results, obtained by performing a command in accordance with the loaded program for an input signal supplied through the input module unit, to the output module unit under the run mode, and increases a cumulative count recorded in the memory under the stop mode when receiving a program loading request signal from the programming device. The PLC device in accordance with the present invention is capable of checking the cumulative loading times of a user program through the programming device and assuring the quality of the user program as the modulation of cumulative loading times is impossible.

Description

프로그램 품질 관리 기능이 구비된 피엘씨 장치 {A PLC device provided with a function for managing program quality}[0001] The present invention relates to a PLC device having a program quality control function,

본 발명은 피엘씨 장치에 관한 것으로서, 구체적으로는 로딩된 사용자 프로그램의 품질 관리 기능이 구비된 피엘씨 장치에 관한 것이다.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 PLC device 10 according to the present invention includes a central processing unit (CPU) 100, a memory 200, a programming device interface 300, an input module 500, and an output module 600. A typical PIEC device includes a power supply 900, but it may be separately configured as a power module.

입력 모듈부(500)는 입력기기(510; Input Device)로부터 신호를 받아 데이터화 하여 중앙처리유닛(100)으로 정보를 전달한다. 입력기기(510)의 예로는 버튼, 스위치, 센서 등을 들 수 있다. 출력 모듈부(600)는 중앙처리유닛(100)의 처리 결과를 수신하여 출력기기(610; Output Device)로 제어정보를 공급한다. 출력기기(610)의 예로는 모터, 전자밸브, 인디케이터, 램프, 외부 제어기 등을 들 수 있다. 입력 모듈부(500) 및 출력 모듈부(600)는 피엘씨와 외부 프로세스 사이의 인터페이스를 제공하며, 통상적으로 입출력 신호로부터 오는 노이즈 및 서지(surge)로부터 피엘씨 내부를 보호하기 위하여 포토커플러(Photo Coupler)를 사용하고, 그 외에도 필요에 따라 A/D(아날로그-디지털) 및 D/A(디지털-아날로그) 컨버터 등의 수단을 사용하여 신호를 가공한다.The input module unit 500 receives a signal from an input device 510 and converts the data into information, and transfers the data to the central processing unit 100. Examples of the input device 510 include a button, a switch, a sensor, and the like. The output module unit 600 receives the processing result of the central processing unit 100 and supplies control information to an output device 610 (Output Device). Examples of the output device 610 include a motor, a solenoid valve, an indicator, a lamp, and an external controller. The input module unit 500 and the output module unit 600 provide an interface between PIEC and an external process and are typically used to protect the inside of Piel from noise and surge from input / Coupler), and in addition, signals are processed using means such as A / D (analog-digital) and D / A (digital-analog) converters as necessary.

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 programming device 310 . Unless otherwise specified in the present invention, 'program' means a user program loaded by a user. The programming device 310 communicates with the PI central processing unit 100 through a programming device connection 300 provided in the PI device 10 by serial or parallel communication link or Ethernet.

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 is communicable with the memory 200 and is capable of communicating with the programming device 310 via the programming device connection 300. [ In the execution mode, an instruction according to the loaded user program is performed on the input data supplied through the input module unit 500, and the obtained result is provided to the output module unit 600.

CPU(100)는 실행 모드에서 프로그램에 따른 명령(instruction)을 반복적으로 수행한다. 이러한 반복적인 주기적 프로세스를 스캔(scan)이라 칭하는데, 스캔은 통상적으로 입력 스캔, 프로그램 스캔 및 출력 스캔으로 구성되어 순차적으로 반복된다. 입력스캔은 입력 모듈부의 변수 상태를 메모리의 입력 테이블에 저장하는 프로세스이고, 프로그램 스캔은 입력 테이블에 대하여 사용자가 로딩한 프로그램의 첫 번째 명령부터 마지막 명령까지 실행하여 메모리의 출력 테이블을 갱신시키는 프로세스이며, 출력 스캔은 출력 테이블을 출력 모듈부에 이송(transfer)하는 프로세스이다.The CPU 100 repeatedly executes an instruction according to the program in the execution mode. This repetitive periodic process is referred to as a scan, which is typically composed of an input scan, a program scan, and an output scan and is sequentially repeated. The input scan is a process of storing the variable status of the input module in the input table of the memory, and the program scan is a process of updating the output table of the memory by executing from the first instruction to the last instruction of the user loaded program for the input table , And the output scan is a process of transferring the output table to the output module section.

사용자 프로그램을 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 programming device 310 equipped with the programming software is connected to the programming device connection unit 300, To perform loading.

정지 모드 하에서 중앙처리유닛(100)이 프로그래밍 기기(310)로부터 프로그램 로딩 요청 신호(Request)를 수신하면 프로그래밍 기기(310)로부터 전송되는 프로그램을 메모리(200)에 저장한다. 또한 프로그래밍 기기(310)로부터 프로그램 로딩 요청 신호를 수신하면, 중앙처리유닛(100)은 메모리(200)에 기록된 누적 카운트(Cumulative Count)를 증가시킨다. 누적 카운트는 PLC 제조시에 초기값이 설정되어 출하되는 것이 바람직하다. When the central processing unit 100 receives a program loading request signal (Request) from the programming device 310 under the stop mode, the program transmitted from the programming device 310 is stored in the memory 200. In addition, upon receiving the program loading request signal from the programming device 310, the central processing unit 100 increases the Cumulative Count recorded in the memory 200. It is desirable that the accumulated count is shipped with an initial value set at the time of PLC manufacture.

이 누적 카운트는 프로그램이 메모리에 로딩된 횟수를 나타내는 값으로서 프로그래밍 기기(310)를 통하여 디스플레이 가능하다. 여기서 누적 카운트를 증가시키는 것은 한번에 1씩 순차적으로 증가시키는 것이 바람직하며, 큰 값에서 감소시키는 것이나, 2씩 증가시키는 등의 변형은 균등 범위에 해당된다. This cumulative count is displayable through the programming device 310 as a value indicating the number of times the program has been loaded into memory. It is preferable that the cumulative count is incremented one by one at a time, and the deformation such as decreasing from a large value or incrementing by two corresponds to an equal range.

메모리는 기능에 따라 휘발성 메모리와 비휘발성 메모리로 구분되며, 휘발성 메모리로서 읽기/쓰기가 가능한 램(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 system memory area 201, a system memory area 202, an I / O status memory area 203, a data memory area 204, A user program memory area 205 and a log memory area 206. [ In the right side of FIG. 2, a preferred type of memory is shown as a reference but is not necessarily limited thereto.

피엘씨의 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 system memory area 201, and can not be modified by the user . In some cases, flash memory may be used as an OS storage area.

시스템 메모리 영역(202)은 OS가 동작하는데 필요한 임시 데이터를 저장하는 영역이며 RAM에 할당된다. 입출력 상태 메모리 영역(203)은 각 입출력 변수 데이터 테이블이 기록된 영역이며 RAM에 할당된다. 데이터 메모리 영역(204)은 사용자 프로그램의 실행을 위하여 필요한 데이터가 저장되며 RAM에 할당된다.The system memory area 202 is an area for storing temporary data necessary for the OS to operate and is allocated to the RAM. The input / output state memory area 203 is an area in which each input / output variable data table is recorded, and is allocated to the RAM. The data memory area 204 stores data necessary for execution of the user program and is allocated to the RAM.

사용자 프로그램 메모리 영역(205)은 사용자 프로그램이 저장되는 영역이다. 사용자 프로그램은 프로그래밍 기기를 통하여 RAM에 직접 저장되거나, 정전이나 백업 배터리 방전시에도 프로그램을 상실하지 않을 목적으로 플래시 메모리 등에 일단 저장한 후 프로그램 실행 속도를 위하여 RAM으로 이송되게 할 수도 있다. 프로그램이 로딩되면, 메모리 내에 이미 존재하던 프로그램은 겹쳐 쓰기(overwrite) 되면서 삭제된다. The user program memory area 205 is an area where a user program is stored. The user program may be stored directly in the RAM via the programming device or may be stored in the flash memory for the purpose of not losing the program even in the case of power failure or backup battery discharge, and then transferred to the RAM for the program execution speed. When the program is loaded, the program already existing in the memory is overwritten and deleted.

로그 메모리 영역(206)은 누적 카운트가 저장되는 영역이며, 플래시 메모리(Flash Memory)와 같은 비휘발성의 읽기/쓰기 가능 메모리 영역에 할당되는 것이 바람직하다. 프로그래밍 기기로부터 프로그램 로딩 요청 신호 수신시 누적 카운트를 증가시키는 CPU의 동작은 OS에 의하여 통제된다.The log memory area 206 is an area in which cumulative counts are stored, and is preferably allocated to a non-volatile readable / writable memory area such as a flash memory. When the program loading request signal is received from the programming device, the operation of the CPU which increases the cumulative count is controlled by the OS.

로그 메모리 영역(206)에는 프로그램의 명칭, 수정 일시, 수정자의 아이디 등이 저장되도록 할 수 있다. 누적 카운트는 로그 메모리 영역의 특정 주소에 기록되며, 프로그래밍 기기(310)는 누적 카운트를 읽기만 가능하도록 OS가 설계되는 것이 바람직하다. In the log memory area 206, the name of the program, the modification date and time, the ID of the modifier, and the like can be stored. The cumulative count is recorded at a specific address in the log memory area, and the OS is designed so that the programming device 310 can only read the cumulative count.

이렇게 함으로써 프로그래밍 기기를 통하여 현재 피엘씨에 로딩되어 있는 프로그램이 몇 번째 로딩 프로그램인지 확인이 가능하고, 누적 카운트는 프로그래밍 기기에 의하여 변조는 불가능하므로, 누적 카운트와 함께 보조적인 이력 기록을 참조하여 사용자 프로그램에 대한 품질 보증 활동이 가능한 효과가 제공된다.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 data memory area 204 or the user program memory area 205. The cumulative count that is recorded in the primary is still stored in the log memory area 206. In this case, the OS is designed such that the memory block in which the cumulative count is recorded is set to a memory area in which access of the programming device is not permitted. In this method, since the cumulative count recorded primarily by the OS is outside the programming device readable area, the cumulative count modulation by the hacking operation of the programming software is blocked.

더 나아가서, 일차적으로 기록되는 누적 카운트는 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.
제1항에 있어서,
상기 누적 카운트는 비휘발성의 읽기/쓰기 가능 메모리 영역에 기록되는 피엘씨 장치.
The method according to claim 1,
Wherein the cumulative count is recorded in a nonvolatile read / write capable memory area.
삭제delete 제1항에 있어서,
일차적으로 기록되는 누적 카운트는 암호화되며, 이차적으로 기록되는 누적 카운트는 복호화 되는 피엘씨 장치.
The method according to claim 1,
Wherein the cumulative count recorded first is encrypted and the cumulative count recorded secondarily is decrypted.
제1항에 있어서,
상기 누적 카운트가 미리 설정된 최대치에 도달되면 더 이상의 프로그램 로딩이 제한되는 피엘씨 장치.
The method according to claim 1,
Wherein when the cumulative count reaches a predetermined maximum value, further program loading is restricted.
KR1020140073534A 2014-06-17 2014-06-17 A PLC device provided with a function for managing program quality KR101539253B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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