KR20000009522A - Microcomputer programmable controller performing multi-task function and control method of the same - Google Patents

Microcomputer programmable controller performing multi-task function and control method of the same Download PDF

Info

Publication number
KR20000009522A
KR20000009522A KR1019980030002A KR19980030002A KR20000009522A KR 20000009522 A KR20000009522 A KR 20000009522A KR 1019980030002 A KR1019980030002 A KR 1019980030002A KR 19980030002 A KR19980030002 A KR 19980030002A KR 20000009522 A KR20000009522 A KR 20000009522A
Authority
KR
South Korea
Prior art keywords
program
input
output
register
blocks
Prior art date
Application number
KR1019980030002A
Other languages
Korean (ko)
Other versions
KR100294655B1 (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 KR1019980030002A priority Critical patent/KR100294655B1/en
Priority to CN99109806A priority patent/CN1119744C/en
Priority to JP11209271A priority patent/JP2000056991A/en
Publication of KR20000009522A publication Critical patent/KR20000009522A/en
Application granted granted Critical
Publication of KR100294655B1 publication Critical patent/KR100294655B1/en

Links

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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • 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/054Input/output
    • 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/11Plc I-O input output
    • G05B2219/1157I-O used either as input or as output
    • 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/12Plc mp multi processor system
    • G05B2219/1204Multiprocessing, several plc's, distributed logic control
    • 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/15079Multitasking, real time multitasking

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

PURPOSE: A microcomputer programmable controller is provided to prevent lack of a register and efficiently execute a plurality of programs using a multi-task function at the same time. CONSTITUTION: The controller comprises a plurality of program blocks, a global register, an input/output register, and a multi-task program executor. The blocks includes a special local register and a mechanical language to require executing is stored therein. The global register is allocated to an independent memory region to manage information commonly used in the blocks, wherein the independent memory region is independent of generation and erasure of the blocks. The input/output register registers and processes digital input/output, analog input/output. and encoder input. The executor outputs a control signal for simultaneously executing the blocks and controls input/output.

Description

멀티 타스크 기능을 수행하는 마이컴 프로그래머블 콘트롤러 및 그 제어 방법Microcomputer programmable controller that performs multitasking function and its control method

본 발명은 멀티 타스크 기능을 수행하는 산업용 마이컴 프로그래머블 콘트롤러(Micom probrammable controller; MPC) 및 그 제어 방법에 관한 것으로서, 블록 단위로 생성된 다수의 프로그램에 의해 제어되고, 다수의 블록 프로그램에서 공통으로 사용되는 데이터는 독립된 메모리 영역으로 할당된 글로벌 레지스터에 저장하고, 프로그램 블록 내에서만 사용되는 지역 정보는 그 프로그램 블록 내의 로컬 레지스터에 저장하여 관리하며, 입/출력 포트를 레지스터화하여 별도의 입력 명령을 실행하지 않고 입/출력 포트를 사용할 수 있도록하는 산업용 마이컴 프로그래머블 콘트롤러 및 그 제어 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an industrial micom programmable controller (MPC) that performs a multi-task function and a control method thereof, which are controlled by a plurality of programs generated in units of blocks and commonly used in a plurality of block programs. Data is stored in a global register allocated as an independent memory area. Local information used only within a program block is stored and managed in a local register within the program block. Registered input / output ports do not execute separate input commands. The present invention relates to an industrial microcomputer programmable controller that can use an input / output port without using the same.

산업용 전기/전자 분야에서 주로 사용되는 피.엘.씨(PLC:Programmable Logic Controller)의 경우, 상기 피.엘.씨를 제어하기 위한 제어 프로그램에 의해 다양하게 동작할 수 있으며, 그 성능을 향상시키기 위해, 다수의 프로그램을 작성하여, 멀티 타스크 기능에 의해 여러 가지 동작을 동시에 수행할 수 있도록 구성하기도 한다.Programmable Logic Controller (PLC), which is mainly used in the industrial electric / electronic field, can be operated in various ways by the control program for controlling the P.C. and to improve its performance. Also, many programs can be created and configured to perform various operations at the same time by a multi-task function.

그러나, 이러한 경우, 종래의 피.엘.씨의 경우 그 사용하고자 하는 레지스터의 수가 고정되어 있었으며, 그 범위 안에서 레지스터를 사용해야 했으므로, 피.엘.씨가 다양한 기능을 수행하도록 하는 프로그램을 작성할 때, 레지스터 부족현상이 자주 발생하였다.However, in this case, in the case of the conventional P.C.C, the number of registers to be used was fixed, and the registers had to be used within the range, so when writing a program for P.C. to perform various functions, Register shortages frequently occurred.

따라서, 본 발명에서는 이와 같은 레지스터 부족 현상을 방지하고, 멀티 타스크 기능에 의해 다수의 프로그램을 동시에 효율적으로 수행하기 위한 산업용 마이컴 프로그래머블 콘트롤러 및 그 제어 방법을 제공하고자 한다.Accordingly, an object of the present invention is to provide an industrial microcomputer programmable controller and a control method thereof for preventing such a register shortage and efficiently executing a plurality of programs simultaneously by a multi-task function.

본 발명에서 제공하는 멀티 타스크 기능을 수행하는 산업용 마이컴 프로그래머블 콘트롤러는 지역 정보를 관리하기 위한 별도의 로컬 레지스터를 포함하며, 실행하고자 하는 기계어가 저장된 다수의 프로그램 블록과, 상기 다수의 프로그램 블록에서 공통으로 사용되는 정보들을 관리하기 위해, 상기 다수의 프로그램 블록의 생성과 소멸에 영향을 받지 않는 독립된 메모리 영역으로 할당되는 글로벌 레지스터와, 디지털 입/출력, 아날로그 입/출력 및 엔코더 입력을 레지스터화하여 처리하기 위한 입/출력 레지스터와, 상기 다수의 프로그램 블록을 동시에 수행시키기 위한 제어 신호를 출력하고, 입/출력을 제어하는 멀티타스크 프로그램 실행기로 구성되며,Industrial microcomputer programmable controller that performs a multi-task function provided by the present invention includes a separate local register for managing local information, and a plurality of program blocks in which machine words to be executed are stored, and common in the plurality of program blocks To manage the information used, register and process global registers, digital inputs / outputs, analog inputs / outputs, and encoder inputs that are allocated to independent memory regions that are not affected by the creation and destruction of the plurality of program blocks. And a multitask program executor for outputting an input / output register for outputting a control signal for simultaneously executing the plurality of program blocks and controlling input / output,

상기와 같은 구성을 갖는 산업용 마이컴 프로그래머블 콘트롤러에서 멀티 타스크 기능을 수행하도록 하기 위한 본 발명의 산업용 마이컴 프로그래머블 콘트롤러의 제어 방법은 상기 멀티 타스크 프로그램 실행기에서 프로그램을 수행하기 위해 상기 다수의 프로그램 블록 중 하나의 프로그램 블록을 선택하면, 그 프로그램 블록에서 저장하고 있는 기계어 형태의 명령어를 상기 멀티 타스크 프로그램 실행기로 전송하고, 그 명령어에 따라 상기 멀티 타스크 프로그램 실행기에서 연산 및 제어를 수행하며, 상기 연산 및 제어를 위한 명령이 입/출력에 관계 되는 내용인지를 확인하여 입/출력에 관계되는 내용인 경우, 상기 멀티 타스크 프로그램 실행기에서 입/출력 레지스터의 사용 여부를 감지하여 사용 중인 입/출력 레지스터의 내용을 갱신하거나 외부로 출력시킨 후, 그 입/출력 레지스터에 대한 연산 및 제어를 수행하도록 상기 산업용 마이컴 프로그래머블 콘트롤러를 제어한다.The control method of the industrial microcomputer programmable controller of the present invention for performing a multi-task function in the industrial microcomputer programmable controller having the configuration as described above is a program of one of the plurality of program blocks to perform a program in the multi-task program executor. If a block is selected, the machine-type instructions stored in the program block are transmitted to the multi-task program executor, and the multi-task program executor performs the operation and control according to the instruction, and the instruction for the operation and control. If the contents are related to input / output by checking whether the contents are related to input / output, the multi-task program executor detects whether the input / output register is used or not, and updates the contents of the input / output register in use. After the output, and it controls the microcomputer industrial programmable controller to perform the operations and control for the input / output register.

도 1은 본 발명에 의한 마이컴 프로그래머블 콘트롤러 제어부의 구조에 대한 블록도,1 is a block diagram of the structure of a microcomputer programmable controller control unit according to the present invention;

도 2는 본 발명에 의한 산업용 마이컴 프로그래머블 콘트롤러 제어부의 구조에 대한 상세 블록도.Figure 2 is a detailed block diagram of the structure of the industrial microcomputer programmable controller control unit according to the present invention.

〈도면의 주요 부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

100 : 멀티 타스크 프로그램 실행기 200 : 프로그램 블록100: multi-task program launcher 200: program block

300 : 글로발 / IO 레지스터300: global / IO register

이하, 첨부된 도면을 참조하여 상기와 같은 본 발명을 좀 더 상세히 설명하고자 한다.Hereinafter, with reference to the accompanying drawings will be described in more detail the present invention as described above.

도 1은 본 발명에 의한 산업용 마이컴 프로그래머블 콘트롤러(MPC)의 제어부의 구조에 대한 블록도이고, 도 2는 본 발명에 의한 피.엘.씨 제어부의 구조에 대한 상세 블록도이다.1 is a block diagram of the structure of a control unit of the industrial microcomputer programmable controller (MPC) according to the present invention, Figure 2 is a detailed block diagram of the structure of the P. C. control unit according to the present invention.

도 1을 참조하면, 본 발명에서 제공하는 제어부는, 지역 정보를 관리하기 위한 별도의 로컬 레지스터를 포함하며, 실행하고자 하는 기계어가 저장된 다수의 프로그램 블록(200)과, 상기 다수의 프로그램 블록(200)에서 공통으로 사용되는 정보들을 관리하기 위해, 상기 다수의 프로그램 블록의 생성과 소멸에 영향을 받지 않는 독립된 메모리 영역으로 할당되는 글로벌 레지스터 및 디지털 입/출력, 아날로그 입/출력 및 엔코더 입력을 레지스터화하여 처리하기 위한 입/출력 레지스터(300)와, 상기 다수의 프로그램 블록(200)을 동시에 수행시키기 위한 제어 신호를 출력하고, 입/출력을 제어하는 멀티타스크 프로그램 실행기(100)로 구성된다.Referring to FIG. 1, the control unit provided by the present invention includes a plurality of program blocks 200 including a separate local register for managing local information, storing machine words to be executed, and the plurality of program blocks 200. Register global registers and digital inputs / outputs, analog inputs / outputs, and encoder inputs that are allocated to independent memory areas that are not affected by the creation and destruction of the plurality of program blocks to manage information commonly used in And a multitask program executor 100 for outputting control signals for simultaneously executing the plurality of program blocks 200 and controlling input / output.

이 때, 상기 다수의 프로그램 블록(200)은 프로그램의 실행을 위한 데이터들의 집합이며 자기 자신이 실행에 필요한 모든 정보를 포함하여 서로에게 영향을 주지 않고 독립적으로 프로그램을 수행하는 것을 특징으로 하며, 도 2를 참조하면, 상기 다수의 프로그램 블록(200)은 프로그램 카운터(PC:Program Counter), 블록 시작(BSA:Bolck Start Address) 및 끝 번지(BEA:Block End Address)를 저장하는 헤더 정보 저장부(201)와, 실행하고자 하는 기계어가 저장된 프로그램 블록 저장부(202)와, 상기 프로그램 블록(200)에서 필요한 정보들을 저장하고 관리하는 로컬 레지스터 저장부(203)로 구성되는데, 상기 프로그램 블록(200)은 1에서부터 n개까지 프로그램 작성에 따라 생성되고 소멸되며, 상기 프로그램 블록(200)에 포함되는 프로그램 카운터(PC), 블록 시작 번지(BSA), 블록 끝 번지(BEA) 및 로컬 레지스터(local register)도 상기 프로그램 블록(200)과 동시에 생성되고, 소멸된다.At this time, the plurality of program block 200 is a collection of data for the execution of the program, including all the information necessary for the execution itself, characterized in that to perform the program independently without affecting each other, 2, the plurality of program blocks 200 may include a header information storage unit for storing a program counter (PC), a block start address (BSA), and a block end address (BEA). 201), a program block storage unit 202 storing machine words to be executed, and a local register storage unit 203 for storing and managing information required by the program block 200. The program block 200 Is generated from 1 to n according to the program creation and is destroyed, the program counter (PC), block start address (BSA), block end address (BEA) included in the program block 200 And a local register is also generated and destroyed at the same time as the program block 200.

이때, 상기 로컬 레지스터는 상기 프로그램 블록(200)과 생성과 소멸을 같이 하기 때문에, 각각의 프로그램 블록 내부에서만 유효하므로, 서로 다른 프로그램 블록(200)에 존재하는 로컬 레지스터의 이름이 같아도 서로 영향을 주지 않는 개별의 레지스터로 사용할 수 있도록 구성되었다.In this case, since the local registers are generated and destroyed together with the program block 200, the local registers are valid only within each program block. Therefore, even if the names of the local registers in the different program blocks 200 are the same, they do not affect each other. It is configured to be used as a separate register.

한편, 상기 글로벌 및 입출력 레지스터(300)는 모든 프로그램 블록(200)에서 사용이 가능한 레지스터이며, 각각의 프로그램 블록(200)들 끼리 데이터를 가공, 연산할 수 있고, 참고할 수 있도록 구성된다.Meanwhile, the global and input / output registers 300 are registers that can be used in all program blocks 200, and the program blocks 200 may process and operate data between the program blocks 200 and may be referred to.

또한, 상기 도 2를 참조하면, 상기 멀티 타스크 프로그램 실행기(100)는 상기 다수의 프로그램 블록이 멀티 타스킹을 수행하도록 하기 위한 제어 신호를 출력하는 중앙 처리 장치(105)와, 상기 중앙 처리 장치(105)의 제어에 의해 상기 다수의 프로그램 블록(200)들 중 실행하고자하는 프로그램 블록을 지정하는 프로그램 블록 카운터(104)와, 상기 프로그램 블록 카운터(104)에 의해 지정된 프로그램 블록을 선택하는 프로그램 블록 선택기(103)와, 상기 선택된 프로그램 블록에 저장된 기계어를 해독하고, 실행하기 위해 임시로 저장하는 실행 명령어 저장기(101)와, 상기 실행 명령어 저장기(101)에 저장된 기계어 명령어를 상기 중앙 처리 장치(105)의 제어에 의해 해독하는 명령어 해독기(102)와, 상기 해독된 명령어를 상기 중앙 처리 장치(105)의 제어에 의해 연산하는 연산부(106)와, 상기 중앙 처리 장치(105)가 프로그램의 명령대로 연산 또는 데이터의 입/출력을 제어하는 도중 사용하고자 하는 입/출력 레지스터가 발생한 경우, 그 입/출력 레지스터의 사용 여부를 검사하여 그 입/출력 레지스터의 내용을 갱신하거나 외부로 출력시키도록 제어하는 입/출력 레지스터 사용 여부 검사기(107)와, 상기 입/출력 레지스터 사용 여부 검사기(107)의 제어에 의해, 상기 중앙 처리 장치(105)가 사용하고자 하는 입/출력 레지스터의 내용을 갱신하거나 외부로 출력시키는 기능을 수행하는 입/출력 포트 레지스터 변환기(108)로 구성된다.In addition, referring to FIG. 2, the multi-task program executor 100 outputs a control signal for causing the plurality of program blocks to perform multi-tasking; A program block counter 104 for designating a program block to be executed among the plurality of program blocks 200 under the control of 105 and a program block selector for selecting a program block designated by the program block counter 104. (103), an execution instruction store (101) for temporarily storing the machine language stored in the selected program block for execution, and the machine instruction stored in the execution instruction store (101) is stored in the central processing unit ( An instruction decoder 102 for decoding under the control of 105 and an operation for calculating the decrypted instruction under the control of the central processing unit 105 If an input / output register to be used is generated while the operation unit 106 and the central processing unit 105 control the operation or input / output of data according to a program command, the input / output register is checked for use. The central processing unit under the control of the input / output register use checker 107 and the input / output register use checker 107 which control to update or output the contents of the input / output register. An input / output port register converter 108 performs a function of updating or outputting the contents of the input / output register to be used by the 105.

상기와 같은 구성을 갖는 본 발명의 산업용 마이컴 프로그래머블 콘트롤러에 있어서, 그 제어 방법은 먼저, 다중의 프로그램 실행을 위하여 그 실행을 위해 작성된 기계어 형태의 명령어에 의해 작성된 각각의 프로그램을 블록화하여 프로그램 블록(200)에 저장하며, 이와 같이 다수의 프로그램 블록(200)이 구성되면, 상기 중앙 처리 장치(105)는 멀티 타스크(multi-task)의 기능을 구현하기 위하여, 상기 프로그램 블록 카운터(104)의 값을 순서대로 증가시켜 호출하고자 하는 프로그램 블록을 지정하며, 상기 프로그램 블록 카운터(104)에게 지정받은 프로그램 블록(200)은 프로그램 블록 선택기(103)에 의해 선택된다.In the industrial microcomputer programmable controller of the present invention having the configuration as described above, the control method first blocks each program written by a machine language type instruction written for the execution of a plurality of programs to execute a program block (200). When the plurality of program blocks 200 are configured as described above, the CPU 105 may store the value of the program block counter 104 in order to implement a multi-task function. In order to increase the number of program blocks, the program block 200 designated by the program block counter 104 is selected by the program block selector 103.

상기 프로그램 블록 선택기(103)는 프로그램 블록(200) 내부에 있는 프로그램 카운터(PC)가 지시하는 실행 대기중인 기계어를 실행 명령어 저장기(101)에 이동시킨다. 그리고, 상기 프로그램 카운터(PC)는 다음 명령을 실행을 위하여 포인터 값을 증가시킨다.The program block selector 103 moves the machine word waiting to be executed by the program counter PC inside the program block 200 to the execution command storage 101. The program counter PC increments the pointer value to execute the next command.

이 때, 상기 중앙 처리 장치(105)는 멀티 타스크 실행을 위하여 프로그램 블록 카운터(104)의 값을 다음 프로그램 블록을 지정하여 각각 개별적으로 작성된 프로그램을 블록 개수 만큼 교번 실행할 수 있도록 한다.At this time, the central processing unit 105 designates the value of the program block counter 104 to the next program block to execute the multi-task, so that each of the individually created programs can be alternately executed by the number of blocks.

한편, 상기 실행 명령어 저장기(101)의 내용은 상기 명령어 해독기(102)를 거쳐 해독된 후, 상기 중앙 처리 장치(105)에 의해 실행되어 연산 및 입/출력 동작을 하는데, 상기 중앙 처리 장치(105)에 의한 연산 및 입/출력 제어시 레지스터의 내용 변경 등의 사건이 발생할 경우 상기 입/출력 레지스터(302)는, 상기 중앙처리 장치가 입/출력 레지스터의 값을 변경하기 전에, 상기 입/출력 레지스터 사용여부 검사기(107)에 의해 그 내용을 갱신 등의 처리를 자동으로 실행한다.Meanwhile, the contents of the execution instruction store 101 are decoded through the instruction decoder 102 and then executed by the central processing unit 105 to perform operations and input / output operations. 105) When an event such as a change in the contents of a register occurs during operation and input / output control, the input / output register 302 may change the input / output register before the CPU changes the value of the input / output register. The output register use checker 107 automatically executes a process such as updating its contents.

이와 같이 상기 입/출력 레지스터 사용여부 검사기(107)에 의해 사용자는 콘트롤러의 하드웨어 입/출력을 마치 레지스터와 똑같이 사용할 수 있는데, 이러한 기능은 별도의 입/출력 명령을 제거하여 프로그램 작성시 효율을 크게 향상시킨다.In this way, the input / output register use checker 107 allows the user to use the controller's hardware input / output as if it were a register. This function eliminates a separate input / output command and greatly increases the efficiency in programming. Improve.

즉, 상기 중앙 처리 장치(105)가 사용하고자 하는 입/출력 레지스터가 발생하면, 상기 입/출력 사용 여부 검사기(107)는 그 입출력 레지스터의 사용여부를 확인하고, 상기 입/출력 사용 여부 검사기(107)에 의해 사용 여부가 탐지된 입/출력 레지스터는, 그 즉시 입/출력 포트 변환기(108)로 하여금 그 값을 갱신하거나 외부로 출력시키도록 한다.That is, when an input / output register to be used by the central processing unit 105 is generated, the input / output use checker 107 checks whether the input / output register is used, and checks whether the input / output use checker ( Input / output registers detected for use by 107 immediately cause input / output port converter 108 to update its value or output it externally.

상기와 같은 본 발명의 산업용 마이컴 프로그래머블 콘트롤러 및 그 제어 방법을 사용하면, 블록 단위로 구성된 다수의 프로그램내에서 그 각각의 로컬 레지스터를 별도로 관리하며, 공통으로 사용되는 레지스터에 대해서만 독립적인 메모리를 할당하므로, 프로그램 작성 및 수행시 시스템의 효율을 향상시킬 수 있으며, 피.엘.씨의 디지탈 입/출력, 아날로그 입/출력, 엔코더 입력과 같은 입/출력 포트들을 고유한 명칭의 레지스터로 지정하여 사용함으써, 별도의 입력 명령을 실행하지 않아도 된다는 장점이 있다.Using the industrial microcomputer programmable controller and the control method of the present invention as described above, since each of the local registers are separately managed in a plurality of programs configured in units of blocks, an independent memory is allocated only to commonly used registers. The system's efficiency can be improved when programming and executing the program, and the input / output ports such as P.C.'s digital input / output, analog input / output, and encoder input can be designated as registers with unique names. The advantage is that you do not have to execute a separate input command.

Claims (5)

지역 정보를 관리하기 위한 별도의 로컬 레지스터를 포함하며, 실행하고자 하는 기계어가 저장된 다수의 프로그램 블록과,A plurality of program blocks including separate local registers for managing local information, storing machine language to be executed, 상기 다수의 프로그램 블록에서 공통으로 사용되는 정보들을 관리하기 위해, 상기 다수의 프로그램 블록의 생성과 소멸에 영향을 받지 않는 독립된 메모리 영역으로 할당되는 글로벌 레지스터와,A global register allocated to an independent memory area that is not affected by generation and destruction of the plurality of program blocks, for managing information commonly used in the plurality of program blocks; 디지털 입/출력, 아날로그 입/출력 및 엔코더 입력을 레지스터화하여 처리하기 위한 입/출력 레지스터와,Input / output registers for registering and processing digital input / output, analog input / output, and encoder input, 상기 다수의 프로그램 블록을 동시에 수행시키기 위한 제어 신호를 출력하고, 입/출력을 제어하는 멀티타스크 프로그램 실행기로 구성되어, 멀티 타스크 기능을 수행하는 산업용 마이컴 프로그래머블 콘트롤러.An industrial microcomputer programmable controller configured to output a control signal for simultaneously executing the plurality of program blocks and to control input / output, and to perform a multitask function. 제 1 항에 있어서,The method of claim 1, 상기 다수의 프로그램 블록은The plurality of program blocks 프로그램의 실행을 위한 데이터들의 집합이며 자기 자신이 실행에 필요한 모든 정보를 포함하여 서로에게 영향을 주지 않고 독립적으로 프로그램을 수행하는 것을 특징으로 하는 멀티 타스크 기능을 수행하는 산업용 마이컴 프로그래머블 콘트롤러.An industrial microcomputer programmable controller that performs a multi-task function, which is a collection of data for executing a program, and independently executing the program without affecting each other including all information necessary for the execution of the program. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 다수의 프로그램 블록은The plurality of program blocks 프로그램 카운터, 블록 시작 및 끝 번지를 저장하는 헤더 정보 저장부와,A header information storage unit for storing program counters, block start and end addresses, 실행하고자 하는 기계어가 저장된 프로그램 블록 저장부와,A program block storage unit for storing machine words to be executed; 상기 프로그램 블록에서 필요한 정보들을 저장하고 관리하는 로컬 레지스터 저장부로 구성되며,It is composed of a local register storage for storing and managing the information required in the program block, 상기 헤더 정보 저장부와, 프로그램 블록 저장부 및 로컬 레지스터 저장부는 프로그램 블록과 생성 및 소멸을 같이 하는 것을 특징으로 하는 멀티 타스크 기능을 수행하는 산업용 마이컴 프로그래머블 콘트롤러.And the header information storage unit, the program block storage unit, and the local register storage unit generate and destroy the program block together. 제 1 항에 있어서,The method of claim 1, 상기 멀티 타스크 프로그램 실행기는The multi-task program executor 상기 다수의 프로그램 블록이 멀티 타스킹을 수행하도록 하기 위한 제어 신호를 출력하는 중앙 처리 장치와,A central processing unit outputting a control signal for causing the plurality of program blocks to perform multi-tasking; 상기 중앙 처리 장치의 제어에 의해 상기 다수의 프로그램 블록들 중 실행하고자하는 프로그램 블록을 지정하는 프로그램 블록 카운터와,A program block counter for designating a program block to be executed among the plurality of program blocks under the control of the CPU; 상기 프로그램 블록 카운터에 의해 지정된 프로그램 블록을 선택하는 프로그램 블록 선택기와,A program block selector for selecting a program block designated by the program block counter; 상기 선택된 프로그램 블록에 저장된 기계어를 해독하고, 실행하기 위해 임시로 저장하는 실행 명령어 저장기와,An execution instruction store for temporarily deciphering the machine language stored in the selected program block and executing the execution; 상기 실행 명령어 저장기에 저장된 기계어 명령어를 상기 중앙 처리 장치의 제어에 의해 해독하는 명령어 해독기와,An instruction decoder for decoding machine instructions stored in the execution instruction store under control of the central processing unit; 상기 해독된 명령어를 상기 중앙 처리 장치의 제어에 의해 연산하는 연산부와,An operation unit for calculating the decoded command by the control of the central processing unit; 상기 중앙 처리 장치가 프로그램의 명령대로 연산 또는 데이터의 입/출력을 제어하는 도중 사용하고자 하는 입/출력 레지스터가 발생한 경우, 그 입/출력 레지스터의 사용 여부를 검사하여 그 입/출력 레지스터의 내용을 갱신하거나 외부로 출력시키도록 제어하는 입/출력 레지스터 사용 여부 검사기와,If an input / output register to be used is generated while the central processing unit controls an operation or input / output of data according to a program command, it checks whether the input / output register is used and checks the contents of the input / output register. An input / output register checker that controls the output or output to the outside, 상기 입/출력 레지스터 사용 여부 검사기의 제어에 의해, 상기 중앙 처리 장치가 사용하고자 하는 입/출력 레지스터의 내용을 갱신하거나 외부로 출력시키는 기능을 수행하는 입/출력 포트 레지스터 변환기로 구성된 것을 특징으로 하는 멀티 타스크 기능을 수행하는 산업용 마이컴 프로그래머블 콘트롤러.And an input / output port register converter configured to update or output the contents of the input / output register to be used by the central processing unit under the control of the input / output register checker. Industrial micom programmable controller for multitasking functions. 블록 단위로 생성된 다수의 프로그램에 의해 제어되고, 다수의 블록 프로그램에서 공통으로 사용되는 데이터는 독립된 메모리 영역으로 할당된 글로벌 레지스터에 저장하고, 프로그램 블록 내에서만 사용되는 지역 정보는 그 프로그램 블록 내의 로컬 레지스터에 저장하여 관리하며, 입/출력 포트를 레지스터화하여 별도의 입력 명령을 실행하지 않고 입/출력 포트를 사용할 수 있도록하는 피.엘.씨에 있어서,Data controlled by a plurality of programs generated in units of blocks and commonly used in a plurality of block programs is stored in a global register allocated to an independent memory area, and local information used only within a program block is local to that program block. In P.L.C, which stores and manages the registers and registers the input / output ports so that the input / output ports can be used without executing a separate input command. 멀티 타스크 기능을 제어하는 멀티 타스크 프로그램 실행기에서 프로그램을 수행하기 위해 상기 다수의 프로그램 블록 중 하나의 프로그램 블록을 선택하면,When one program block of the plurality of program blocks is selected to execute a program in a multi-task program executor that controls a multi-task function, 그 프로그램 블록에서 저장하고 있는 기계어 형태의 명령어를 상기 멀티 타스크 프로그램 실행기로 전송하고,Send the machine-type instructions stored in the program block to the multi-task program executor, 그 명령어에 따라 상기 멀티 타스크 프로그램 실행기에서 연산 및 제어를 수행하며,Perform operations and control in the multi-task program executor according to the instruction; 상기 연산 및 제어를 위한 명령이 입/출력에 관계 되는 내용인지를 확인하여 입/출력에 관계되는 내용인 경우,In the case of the contents related to the input / output by checking whether the instruction for the operation and control is the contents related to the input / output, 상기 멀티 타스크 프로그램 실행기에서 입/출력 레지스터의 사용 여부를 감지하여 사용 중인 입/출력 레지스터의 내용을 갱신하거나 외부로 출력시킨 후, 그 입/출력 레지스터에 대한 연산 및 제어를 수행하도록 제어하는 것을 특징으로 하여, 멀티 타스크 기능을 수행하는 산업용 마이컴 프로그래머블 콘트롤러의 제어 방법.The multi-task program executor detects whether an input / output register is used, updates the content of the input / output register being used or outputs it to the outside, and controls to perform operation and control on the input / output register. The control method of the industrial microcomputer programmable controller which performs a multitasking function.
KR1019980030002A 1998-07-25 1998-07-25 How to Control a My Programmable Controller That Performs a Multitask Function KR100294655B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019980030002A KR100294655B1 (en) 1998-07-25 1998-07-25 How to Control a My Programmable Controller That Performs a Multitask Function
CN99109806A CN1119744C (en) 1998-07-25 1999-07-14 Programmable controller and controlling method for microcomputer of carrying out multitask function
JP11209271A JP2000056991A (en) 1998-07-25 1999-07-23 Micro computer programmable controller provided with multi-task function and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980030002A KR100294655B1 (en) 1998-07-25 1998-07-25 How to Control a My Programmable Controller That Performs a Multitask Function

Publications (2)

Publication Number Publication Date
KR20000009522A true KR20000009522A (en) 2000-02-15
KR100294655B1 KR100294655B1 (en) 2001-07-12

Family

ID=19545179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980030002A KR100294655B1 (en) 1998-07-25 1998-07-25 How to Control a My Programmable Controller That Performs a Multitask Function

Country Status (3)

Country Link
JP (1) JP2000056991A (en)
KR (1) KR100294655B1 (en)
CN (1) CN1119744C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309482A (en) * 2020-02-20 2020-06-19 浙江亿邦通信科技有限公司 Ore machine controller task distribution system, device and storable medium thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309482A (en) * 2020-02-20 2020-06-19 浙江亿邦通信科技有限公司 Ore machine controller task distribution system, device and storable medium thereof
CN111309482B (en) * 2020-02-20 2023-08-15 浙江亿邦通信科技有限公司 Hash algorithm-based block chain task allocation system, device and storable medium

Also Published As

Publication number Publication date
CN1119744C (en) 2003-08-27
JP2000056991A (en) 2000-02-25
CN1267021A (en) 2000-09-20
KR100294655B1 (en) 2001-07-12

Similar Documents

Publication Publication Date Title
JP3649470B2 (en) Data processing device
JP3773470B2 (en) Handling of coprocessor instructions in a data processor
US5600807A (en) Programmable controller capable of updating a user program during operation by switching between user program memories
KR970016872A (en) Programmable controller
KR100294655B1 (en) How to Control a My Programmable Controller That Performs a Multitask Function
US5542079A (en) Data driven processor for reading data from storage to apply prescribed operation in response to operation updating instruction and updating the contents of the storage
JPH0348333A (en) Processor and plotting processor
JPH11259308A (en) Programmable controller
JPH08249018A (en) Multiprocessor arithmetic unit and programmable controller having the arithmetic unit
JPH05224707A (en) Program changing method for programmable controller
KR100434134B1 (en) Programmable logic controller, in which a program is changed during its operation
JP3190945B2 (en) Micro program control circuit
JPS62162105A (en) Flow chart type programmable controller
EP0473410A2 (en) Central processing unit
JPH0319570B2 (en)
JP2000029508A (en) Programmable controller
JPS595931B2 (en) Address stop method for arithmetic processing system
JP2003248514A (en) Supervision and control system
JPS63249206A (en) Programmable controller
JPH0259829A (en) Microcomputer
JPH05282133A (en) Arithmetic system
JPH03282625A (en) Data processor
JP3428253B2 (en) Sequencer
JPH02230324A (en) Microprogram controller
JPS6023367B2 (en) Instruction change method in programmable logic controller

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20050418

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee