KR0160681B1 - Robot control method - Google Patents
Robot control method Download PDFInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-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
제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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970061462A (en) * | 1996-02-26 | 1997-09-12 | 이종수 | Control method of industrial robot |
-
1995
- 1995-03-14 KR KR1019950005255A patent/KR0160681B1/en not_active IP Right Cessation
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 |