KR0160681B1 - Robot control method - Google Patents

Robot control method Download PDF

Info

Publication number
KR0160681B1
KR0160681B1 KR1019950005255A KR19950005255A KR0160681B1 KR 0160681 B1 KR0160681 B1 KR 0160681B1 KR 1019950005255 A KR1019950005255 A KR 1019950005255A KR 19950005255 A KR19950005255 A KR 19950005255A KR 0160681 B1 KR0160681 B1 KR 0160681B1
Authority
KR
South Korea
Prior art keywords
subroutine
routine
program
robot control
execution
Prior art date
Application number
KR1019950005255A
Other languages
Korean (ko)
Other versions
KR960033662A (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 KR1019950005255A priority Critical patent/KR0160681B1/en
Publication of KR960033662A publication Critical patent/KR960033662A/en
Application granted granted Critical
Publication of KR0160681B1 publication Critical patent/KR0160681B1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Executing Machine-Instructions (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은, 로봇 제어계(Robot Control system)의 프로그램 설계에 있어서 서브루틴(Sub-routine)에서 복귀하는 방법에 관한 것으로서, 로봇 제어 프로그램을 적용한 로봇 제어방법에 있어서, 상기 제어 프로그램의 서브루틴이 호출된 시점의 주소를 스택에 저장하는 단계; 상기 서브루틴의 실행 후 복귀시, 사용자의 선택적인 루틴들을 예정하는 단계; 상기 선택된 루틴들의 시작 주소를 소정의 버퍼에 각각 저장하는 단계; 선택된 루틴의 시작 주소를 주 스택포인터에 대체하는 단계; 상기 선택된 루틴을 실행하는 단계; 상기 서브루틴이 호출된 시점의 주소를 메인 스택포인터에 대체하는 단계; 그리고 상기 메인루틴으로 복귀하는 단계; 를 포함하는 것을 그 특징으로 하여. 제어계(Control system)의 프로그램에 있어서 서브루틴의 실행 후 사용자 선택의 다른 서브루틴 또는 메인루틴으로 복귀할 수 있음에 따라, 사용자의 효율적인 프로그램 실행과 외부 환경에 대한 즉각적인 대응능력을 증진시킬 수 있다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for returning from a sub-routine in designing a program of a robot control system. In a robot control method applying a robot control program, the subroutine of the control program is called. Storing the address of the time point on the stack; Reserving optional routines of the user upon return after execution of the subroutine; Storing starting addresses of the selected routines in predetermined buffers, respectively; Replacing the start address of the selected routine with the main stack pointer; Executing the selected routine; Replacing the address of the point in time at which the subroutine is called with a main stack pointer; And returning to the main routine; Characterized in that including a. The execution of a subroutine in a program of the control system can return to another subroutine or mainroutine of user selection, thereby enhancing the user's efficient program execution and immediate response to the external environment.

Description

로봇 제어방법Robot Control Method

제1도는 종래의 제어 프로그램에 대한 알고리즘을 나타낸 흐름도(Flow chart)이다.1 is a flow chart showing an algorithm for a conventional control program.

제2도는 본 발명에 따른 제어 프로그램에 대한 알고리즘을 나타낸 흐름도(Flow chart)이다.2 is a flowchart illustrating an algorithm for a control program according to the present invention.

본 발명은 로봇 제어방법에 관한 것으로서, 특히 제어계(Control system)의 프로그램 설계에 있어서 서브루틴(Sub-routine)에서 복귀하는 방법에 관한 것이다. 로봇 제어계(Robot control system)와 같이 그 기능이 다양하고 복잡한 제어계에 있어서는, 사용자의 효율적인 프로그램 실행과 외부 환경에 대한 즉각적인 대응 능력이 필요하다. 이와 결부되어 프로그램의 실행 도중 사용자가 서브루틴을 선택한다거나, 또는 한 서브루틴을 실행한 후 사용자 선택의 다른 서브루틴 또는 메인루틴을 실행할 수 있는 제어 프로그램이 요구되어진다.The present invention relates to a robot control method, and more particularly, to a method of returning from a sub-routine in the program design of a control system. In a control system with diverse and complicated functions, such as a robot control system, a user's efficient program execution and ability to immediately respond to an external environment are required. In connection with this, there is a demand for a control program that allows the user to select a subroutine during execution of the program or to execute another subroutine or main routine of user selection after executing one subroutine.

종래의 제어 프로그램을 살펴보면, 대부분 서브루틴을 실행한 후 상기 서브루틴을 호출한 위치로 복귀되는 알고리즘(algorithm)을 위하고 있다. 제1도는 종래의 제어 프로그램에 대한 알고리즘을 나타낸 흐름도(Flow chart)이다. 제1도에 도시된 바와 같이 프로그램의 실행이 시작되면, 소정의 실행코드를 생성하면성 순차적으로 프로그램을 실행한다. 프로그램의 실행 도중 서브루틴이 발생하면, 서브루틴의 존재여부를 확인하게 된다. 호출된 서브루틴이 존재하지 않는 경우에는 오류(error)처리로써 프로그램의 실행이 종료된다. 상기 서브루틴이 존재하면 현재의 실행 위치, 즉 서브루틴이 호출된 시점의 주소(address)를 스택(stack)에 저장한 후 서브루틴을 실행하게 된다. 서브루틴의 실행 후 복귀하는 경우에는 상기 스택에 저장된 위치, 즉 서브루틴이 호출된 위치로 복귀하여 중단되었던 프로그램을 계속적으로 실행하게 된다.Looking at the conventional control program, most of the algorithm is for returning to the position where the subroutine is called after executing the subroutine. 1 is a flow chart showing an algorithm for a conventional control program. As shown in FIG. 1, when execution of a program is started, a predetermined execution code is generated to sequentially execute the program. If a subroutine occurs during execution of the program, the presence of the subroutine is checked. If the called subroutine does not exist, execution of the program terminates with error handling. If the subroutine exists, the subroutine is executed after storing the current execution position, that is, the address of the time when the subroutine is called on the stack. In case of returning after the execution of the subroutine, the program stored in the stack, that is, the position where the subroutine is called, returns to the position where the program was interrupted.

상기된 바와 같이 종래에는 서브루틴이 실행 후 서브루틴이 호출된 위치로만 복귀하게 됨에 따라, 사용자 선택의 다른 서브루틴 또는 소정의 메인루틴을 실행할 수 없다. 결과적으로 사용자의 효율적인 프로그램 실행과 외부 환경에 대한 즉각적인 대응 능력이 결여된다.As described above, conventionally, as the subroutine returns only to the position where the subroutine is called after execution, other subroutines of user selection or a predetermined main routine cannot be executed. As a result, the user lacks efficient program execution and immediate response to the external environment.

본 발명은 상기와 같은 문제점을 감안해서 창안된 것으로, 로봇제어계의 프로그램에 있어서 서브루틴의 실행 후 사용자 선택의 다른 서브루틴 또는 메인루틴으로 복귀하는 방법을 제공하는 데에 그 목적이 있다.The present invention has been made in view of the above problems, and an object thereof is to provide a method for returning to another subroutine or main routine of user selection after execution of a subroutine in a program of a robot control system.

상기 목적을 달성하기 위하여 본 발명에 의한 로봇 제어방법은, 로봇 제어 프로그램을 적용한 로봇 제어방법에 있어서, 상기 제어 프로그램의 서브루틴이 호출된 시점의 주소를 스택에 저장하는 단계; 상기 서브루틴의 실행 후 복귀시, 사용자의 선택적인 루틴들을 예정하는 단계; 상기 선택적인 루틴들의 시작 주소를 소정의 버퍼에 각각 저장하는 단계; 선택된 루틴의 시작 주소를 주 스택포인터(main stack pointer)에 대체하는 단계; 상기 선택된 루틴을 실행하는 단계; 상기 서브루틴이 호출된 시점의 주소를 메인 스택포인터에 대체하는 단계; 그리고 상기 메인루틴으로 복귀하는 단계; 포함하는 것을 그 특징으로 한다.In order to achieve the above object, the robot control method according to the present invention includes a robot control method to which a robot control program is applied, the method comprising: storing an address of a time point at which a subroutine of the control program is called on a stack; Reserving optional routines of the user upon return after execution of the subroutine; Storing starting addresses of the optional routines in predetermined buffers, respectively; Replacing the start address of the selected routine with a main stack pointer; Executing the selected routine; Replacing the address of the point in time at which the subroutine is called with a main stack pointer; And returning to the main routine; It is characterized by including.

다음은 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 설명하기로 한다.Next, a preferred embodiment according to the present invention will be described with reference to the accompanying drawings.

제2도는 본 발명에 따른 제어 프로그램에 대한 알고리즘을 나타낸 흐름도(Flow chart)이다. 제2도에 도시된 바와 같이 프로그램의 실행이 시작되면, 소정의 실행코드를 생성하면서 순차적으로 프로그램을 실행한다. 프로그램의 실행 도중 서브루틴이 발생하면, 서브루틴의 존재여부를 확인하게 된다. 호출된 서브루틴이 존재하지 않는 경우에는 오류(error)처리로써 프로그램의 실행이 종료된다. 상기 서브루틴이 존재하면 현재의 실행 위치, 즉 서브루틴이 호출된 시점의 주소를 스택(stack)에 저장한 후 서브루틴을 실행하게 된다. 서브루틴의 실행 후에는 사용자의 선택(option)이 가능한 루틴들을 미리 설정하고, 상기 루틴들의 시작주소를 소정의 버퍼(buffer)에 각각 저장시킨다. 사용자의 루틴이 선택되면, 선택된 루틴의 시작 주소를 주 스택포인터에 대체시킴에 따라 선택된 루틴을 실행할 수 있다. 상기 루틴의 실행 후 복귀하는 경우에는 상기 스택에 저장된 위치 즉, 서브루틴이 호출된 위치로 복귀하여 중단되었던 프로그램을 계속적으로 실행하게 된다. 상기 선택적인 루틴들을 예를 들어 설명하면 다음과 같다.2 is a flowchart illustrating an algorithm for a control program according to the present invention. As shown in FIG. 2, when execution of a program is started, the programs are sequentially executed while generating predetermined execution codes. If a subroutine occurs during execution of the program, the presence of the subroutine is checked. If the called subroutine does not exist, execution of the program terminates with error handling. If the subroutine exists, the current execution position, that is, the address of the time when the subroutine is called is stored on the stack, and then the subroutine is executed. After execution of the subroutine, routines that can be selected by the user are set in advance, and the start addresses of the routines are stored in predetermined buffers, respectively. Once the user's routine is selected, the selected routine can be executed by replacing the starting address of the selected routine with the main stack pointer. In case of returning after the execution of the routine, the program stored in the stack, that is, the position where the subroutine is called, returns to the position where the program was interrupted. The optional routines are described below by way of example.

첫째, 특정 라인 번호의 루틴으로 복귀하는 경우이다. 상기 루틴은, 주 스택포인터에 상기 라인 번호가 저장된 시작 번지를 대체시킴에 따라 실행될 수 있다.First, return to the routine of a specific line number. The routine can be executed by substituting the starting address where the line number is stored in the main stack pointer.

둘째, 특정 라벨 번호의 루틴으로 복귀하는 경우이다. 상기 루틴은, 주 스택포인터에 상기 라벨 번호가 저장된 시작 번지를 대체시킴에 따라 실행될 수 있다.Second, return to the routine of a specific label number. The routine may be executed by substituting the starting address where the label number is stored in the main stack pointer.

셋째, 상기 서브루틴이 호출된 시점의 주소에 소정의 라인을 건너뛰는(skip) 루틴으로 복귀하는 경우이다. 상기 루틴은, 스택에 저장되어 있는 상기 주소에 소정의 수만큼 증가시켜서 주 스택포인터에 대체시킴에 따라 실행될 수 있다.Third, the subroutine returns to a routine that skips a predetermined line to the address at the time when the subroutine is called. The routine may be executed by substituting the main stack pointer by increasing the predetermined number to the address stored in the stack.

이상 설명된 바와 같이 본 발명에 따른 로봇 제어방법에 의하면, 제어계(Control system)의 프로그램에 있어서 서브루틴의 실행 후 사용자 선택의 다른 서브루틴 또는 메인루틴으로 복귀할 수 있음에 따라, 사용자의 효율적인 프로그램 실행과 외부 환경에 대한 즉각적인 대응 능력을 증진시킬 수 있다.As described above, according to the robot control method according to the present invention, the user can efficiently return to another subroutine or main routine of user selection after the execution of the subroutine in the program of the control system. Enhance your ability to act and respond immediately to the external environment.

Claims (2)

로봇 제어 프로그램을 적용한 로봇 제어방법에 있어서, 상기 제어 프로그램의 서브루틴이 호출된 시점의 주소를 스택에 저장하는 단계; 상기 서브루틴의 실행 후 복귀시, 사용자의 선택적인 루틴들을 예정하는 단계; 상기 선택적인 루틴들의 시작 주소를 소정의 버퍼에 각각 저장하는 단계; 선택된 루틴의 시작 주소를 주 스택포인터(main stack pointer)에 대체하는 단계; 상기 선택된 루틴을 실행하는 단계; 상기 서브루틴이 호출된 시점의 주소를 메인 스택포인터에 대체하는 단계; 그리고 상기 메인루틴으로 복귀하는 단계; 포함하는 것을 그 특징으로 하는 로봇 제어방법.A robot control method applying a robot control program, the method comprising: storing an address of a time point at which a subroutine of the control program is called on a stack; Reserving optional routines of the user upon return after execution of the subroutine; Storing starting addresses of the optional routines in predetermined buffers, respectively; Replacing the start address of the selected routine with a main stack pointer; Executing the selected routine; Replacing the address of the point in time at which the subroutine is called with a main stack pointer; And returning to the main routine; Robot control method comprising the. 제1항에 있어서, 상기 사용자의 선택적인 루틴들이, 특정 라인 번호의 루틴으로 복귀하는 경우; 특정 라벨 번호의 루틴으로 복귀하는 경우; 그리고 서브루틴이 호출된 시점의 주소에 소정의 라인을 건너뛰는(skip) 루틴으로 복귀하는 경우; 를 포함하는 것을 그 특징으로 하는 로봇 제어방법.The method of claim 1, wherein the optional routines of the user return to a routine of a specific line number; Return to a routine of a specific label number; And return to a routine that skips a predetermined line to the address at the time the subroutine is called; Robot control method characterized in that it comprises a.
KR1019950005255A 1995-03-14 1995-03-14 Robot control method KR0160681B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950005255A KR0160681B1 (en) 1995-03-14 1995-03-14 Robot control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950005255A KR0160681B1 (en) 1995-03-14 1995-03-14 Robot control method

Publications (2)

Publication Number Publication Date
KR960033662A KR960033662A (en) 1996-10-22
KR0160681B1 true KR0160681B1 (en) 1998-12-15

Family

ID=19409770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950005255A KR0160681B1 (en) 1995-03-14 1995-03-14 Robot control method

Country Status (1)

Country Link
KR (1) KR0160681B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970061462A (en) * 1996-02-26 1997-09-12 이종수 Control method of industrial robot

Also Published As

Publication number Publication date
KR960033662A (en) 1996-10-22

Similar Documents

Publication Publication Date Title
JP2883784B2 (en) Microcomputer
US6243668B1 (en) Instruction set interpreter which uses a register stack to efficiently map an application register state
EP0575127A2 (en) A method of providing a resident program part of a terminate and stay resident program
US6070220A (en) Jump code generator, interrupt program selection system, interruption program selection method, and computer with the function
JPH01310441A (en) Data processor
KR0160681B1 (en) Robot control method
JP2000322264A (en) Electronic equipment
US20010037425A1 (en) Interrupt processing method in an operation processing device and the device using the same
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
KR100817947B1 (en) Servicing of interrupts with stored and restored flags
US5241634A (en) Method of handling system calls to an operating system of a computer by system service routines stored as firmware
KR100654477B1 (en) Object oriented processing with dedicated pointer memories
JPH05297911A (en) Sequence control circuit for sequence controller
EP0555513B1 (en) Control method in programmable controller
JPS6353649A (en) Interrupt control system
JPS63296140A (en) Interruption control system
EP0183877A1 (en) Microcomputer for time dependent processes
JP2003076558A (en) Method and program for controlling program execution
JPS6113258B2 (en)
Horn A Different Integration of Multithreading into the STGM
CN117632411A (en) Interrupt processing program processing method, interrupt control method and processor
KR940005814B1 (en) User program checking method of plc
JP3896851B2 (en) Interpreter control method and interpreter apparatus
JPH06290049A (en) Method for operating menu
Costello Using assembly language on the ZX81

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050727

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee