KR0168071B1 - 공구직경에 따른 이동경로 보정방법 - Google Patents

공구직경에 따른 이동경로 보정방법 Download PDF

Info

Publication number
KR0168071B1
KR0168071B1 KR1019920025790A KR920025790A KR0168071B1 KR 0168071 B1 KR0168071 B1 KR 0168071B1 KR 1019920025790 A KR1019920025790 A KR 1019920025790A KR 920025790 A KR920025790 A KR 920025790A KR 0168071 B1 KR0168071 B1 KR 0168071B1
Authority
KR
South Korea
Prior art keywords
tool
straight line
movement path
vector
straight
Prior art date
Application number
KR1019920025790A
Other languages
English (en)
Other versions
KR940015731A (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 KR1019920025790A priority Critical patent/KR0168071B1/ko
Publication of KR940015731A publication Critical patent/KR940015731A/ko
Application granted granted Critical
Publication of KR0168071B1 publication Critical patent/KR0168071B1/ko

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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4145Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
    • 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/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41219To compensate path, track error, calculate, use compensated reference

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 컴퓨터수치 제어기기에 의한 공작물의 가공시, 첫 번째 가공블록이 직선이고, 두 번째 블록도 직선으로 그 교점각도()가 0

Description

공구직경에 따른 이동경로 보정방법
제1도는 CNC의 공구직경에 따른 이동경로 보정에 대한 개념도.
제2도는 사각형공작물의 경우 공구의 좌측이동방향으로의 보정개념도.
제3도는 사각형공작물의 경우 공구의 우측이동방향으로의 보정개념도.
제4도는 공작물가공시 공구직경이 제로인 경우 프로그램된 경로를 도시한 원리도.
제5도는 공구직경이 d인 경우 프로그램된 경로와 실제공구경로를 도시한 원리도.
제6도는 본 발명을 실현하기 위한 장치의 구성블록도.
제7도는 본 발명의 직선 및 직선의 교점각이 90˚ 이하일 경우에 대한 공구이동경로 보정방법도.
제8도는 본 발명의 동작순서를 도시한 플로우챠트.
* 도면의 주요부분에 대한 부호의 설명
10,30 : 마이크로 프로세서 20 : 램
40 : D/A변환기 50 : 서보제어부
60 : 서보모터
본 발명은 컴퓨터수치 제어기기(Computer Numerical Control, 이하 CNC라 칭함)에 의한 공작물의 가공시, 공구직경에 따른 공구이동경로를 생성하는 방법에 관한 것으로써 특히, 첫 번째 가공블록이 직선이고, 두 번째 블록도 직선으로 그 교점각도()가 090˚인 경우의 공구이동경로를 보정생성할 수 있는 공구직경에 따른 이동경로 보정방법에 관한 것이다.
일반적으로 CNC에 의해 공구는 지령된 위치로 움직이도록 제어되며, 이 위치가 공구의 중심이 된다.
이에 따라, 가공되는 공작물의 면은 공구의 중심으로부터 공구의 반지름만큼 떨어진 위치가 되므로 공작물 가공시 공작물을 원하는 형상으로 가공하기 위해서는 이에 사용되는 공구직경(d)에 따라 공구가 움직여야할 이동경로가 바뀌어야 한다.
즉, 실제로 원하는 형상의 가공물을 얻기 위해서는 공구반지름 만큼 공구이동경로가 보정되어야 하는 것이다.
구체적인 예로써 제1도에 도시한 바와 같이, 소정지름을 갖는 공구(1)를 사용해서 가공할 수 있도록 본래 사용자에 의해 프로그램된 이동경로(2)로부터 공구의 반지름만큼 떨어진 또 다른 이동경로(3)를 따라 공구(1)가 움직여야만 공작물(4)을 원하는 형상으로 가공할 수 있는 것이다.
통상적으로 공작기계에 의한 공작물 가공시, 공구직경에 따른 이동경로 보정에 사용되는 G-코드(준비기능)는 공구직경에 따른 이동경로보정을 무시(cancel)하기 위한 G40, 제2도에 도시한 바와 같이 공구(1)가 공작물(4)에 대해 좌측으로 움직이면서 가공할 경우의 이동경로보정을 지령하기 위한 G41, 제3도에 도시한 바와 같이 공구(1)가 공작물(4)에 대해 우측으로 움직이면서 가공할 경우의 이동경로 보정을 지령하기 위한 G42 코드 등이 있다.
이와 같은 기능코드등을 이용해서 새로운 공구이동경로를 산출하는데 있어서, 만일 공구가 이동해야할 블록형태가(블록면이) 직선과 직선, 직선과 원호, 원호와 직선, 원호와 원호일 경우 두 블록형태 사이의 교점을 구해 두 교점간을 연결함으로써 새로운 보정된 공구이동경로를 산출해야 한다.
이때, 공구반지름 만큼 보정된 공구이동경로를 얻기 위해서는 각 블록마다 본래의 공구이동경로로 프로그램된 공구이동경로로부터 공구반지름만큼 직선 또는 원호를 이동시켜서 이들의 교점을 구해야 한다.
그럼에도 불구하고 종래에는 이와같은 공작물형태에 따른 정밀한 공구이동경로 보정방법이 제안되지 못함으로써 고도의 정밀성을 요구하는 공작물 가공에는 부적합하다는 단점이 있었다.
즉, 비록 미세한 차이이기는 하나 고도의 정밀한 공작물의 형태가 형성되지 못함으로써 전체적인 제품의 품질을 저하시키는 요인이 되어왔던 것이다.
따라서, 본 발명은 이와 같은 점을 감안해서 이루어진 것으로써, 첫 번째 블록이 원호이고, 두 번째 블록도 직선이며 그 교점각이 090˚인 경우에 공구이동방향에 대해 공구반지름 크기의 수직 및 수평벡터를 구하여 정확한 공구이동경로를 보정생성시킬 수 있는 공구직경에 따른 이동경로보정 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명은, 공구직경에 따라 보정된 공구이동경로를 이동하면서 원하는 형상으로 공작물을 가공하는 CNC 공작기계에 있어서, 직선의 시작점, 직선 및 직선의 교점, 직선의 종료점을 설정한 상태에서 제1마이크로프로세서에 의해 이동경로보정무시, 공구이동방향의 좌측 또는 우측으로의 보정여부를 판단토록 해당코드를 읽어들이는 제1스텝과, NC프로그램에서 한 블록의 프로그램을 제1마이크로 프로세서가 읽어들인 후 이동경로보정 진행중인지의 여부를 판별하는 제2스텝과, 이 판별결과 이동경로보정이 진행중일 경우에는 공구반지름 크기의 첫 번째 직선수평벡터 d1 및 두 번째 직선수평벡터 d2를 구하는 제3스텝과, 제1마이크로프로세서에 의해 연산된 공구직경에 따른 공구반지름 크기의 직선수직벡터 V1 및 직선수직벡터 V2를 구하는 제4스텝과, 직선과 직선이 접하는 교점에서 각각 수직하는 벡터 V1' 및 V2'를 구하는 제5스텝과, 첫 번째 교점벡터 C1을 구하는 제6스텝과, 두 번째 직선과 직선간의 교점벡터 C2를 구하는 제7스텝과, 상기 각각의 스텝에서 구해진 점들을 서로 연결하여 보정된 공구이동경로에 따라 서보모터를 구동시키는 제8스텝으로 이루어진 것을 특징으로 한다.
이하, 본 발명의 실시예를 도면을 참조하여 상세히 설명한다.
제4도는 공작물가공시 공구직경이 제로인 경우 프로그램된 경로를 도시한 원리도, 제5도는 공구직경이 d인 경우 프로그램된 경로와 실제공구경로를 도시한 원리도, 제6도는 본 발명을 실현하기 위한 장치의 구성블록도, 제7도는 본 발명의 직선 및 직선의 교점각이 90˚ 이하일 경우에 대한 공구이동경로보정 방법도, 제8도는 본 발명의 동작순서를 도시한 플로우챠트이다.
다음과 같은 공작물을 가공하기 위한 G-코드 프로그램이 있다고 가정한다.
여기서 X-Y평면상에서 공구직경에 따른 이동경로 보정시 시작되는 좌표(X,Y)는 (200,200)이고, G90은 절대좌표계, G17은 X-Y평면, G41은 공구진행 방향의 좌측보정, D10은 공구직경이 10, G01은 두점간의 직선보간을 나타낸다.
이와같은 가공프로그램에 의해 X-Y평면상에서 공구를 움직이는 경로를 도시한 제4도에 있어서는 상기 D10이 없는 경우 즉, 공구직경이 0인 경우이다.
이때, 두 번째 블록(G90,G17,X100,Y100)과 세 번째 블록(G01,X300,Y300)과의 교점의 각도()는 090˚라고 가정한다.
이와같은 초기조건하에서 공구직경이 d인 경우의 공구이동경로 보정동작이 제5도에 도시한 바와 같으며, 이때 본래 프로그램된 공구이동경로는 S→E→T이고, 보정된 이동경로는 S→S1→S2→S3이며, 이 동작은 제6도의 구성장치와 제8도의 동작순서에 따라 진행된다. 제6도에 있어서, (10)은 공구직경에 따른 이동경로보정 즉, 공구직경에 따라 보정된 경로를 움직일 수 있도록 보정경로에 대한 연산을 행하는 제1마이크로프로세서이고, (20)은 상기 제1마이크로프로세서(10)에 의해 연산된 보정경로 데이터를 지정하는 램이며, (30)은 상기 제1마이크로프로세서(10)에 의한 공구경에 따른 이동경로 보정의 연산결과 즉, 공구가 움직여야할 최종 목표위치를 램(20)으로부터 입력받아서 서보모터(60)의 위치제어를 위한 총괄적인 제어를 수행하는 제2마이크로프로세서이다. (40)은 상기 제2마이크로프로세서(30)로부터 출력되는 서보모터(60)의 속도제어 디지털 데이터를 아날로그 신호로 변환시키는 D/A변환기이고, (50)은 상기 D/A변환기(40)에 의해 아날로그 신호로 변환된 서보모터(60)의 속도제어 입력데이터를 이용하여 서보모터(60)의 속도 및 전류를 제어하는 서보제어부이고, (80)은 상기 엔코더(70)에 의해 검출된 서보모터(60)의 위치에 대한 펄스데이터의 증감을 행하여 제2마이크로프로세서(30)에 입력시킴으로써 제2마이크로프로세서(30)에 저장된 서보모터 위치판별프로그램에 의해서 서보모터(60)의 현재위치를 판별토록하는 업/다운 카운터이다.
다음에, 제6도 내지 제8도를 참조하여 본 발명의 전체적인 동작을 설명한다.
본 발명이 시작되면 스텝S1에서는 직선의 시작점을 (Xs,Ys), 원호 및 직선의 교점(Xc,Yc), 직선의 종료점을 (Xe,Ye)로 설정한 상태에서 제1마이크로프로세서(10)에 의해 G-코드프로그램을 읽어들이는 동작을 수행한다.
즉, 공구이동방향의 좌측 또는 우측 또는 보정을 무시해도 좋은지의 여부를 의미하는 G40,G41,G42 코드중의 어느 하나의 코드를 읽어들이며, 본 발명에서는 편의상 G42 코드를 읽어들여서 우측 이동방향으로의 공구이동경로를 보정하는 것으로 한다.
스텝S2에서는 NC프로그램에서 한 블록의 프로그램을 읽어들이며, 스텝S3로 나아가서는 공구직경에 따른 이동경로보정이 진행중인지의 여부를 제1마이크로프로세서(10)가 판별하고, 이 판별결과 이동경로보정이 진행중일 경우(yes일 경우)에는 스텝S4에서 다음식(3)(4) 및 (3')(4')를 이용하여 공구반지름 크기의 첫 번째 직선수평벡터 d1 및 두번째 직선수평벡터 d2를 구한다.
즉,
여기서 d는 공구반지름이고, d1x,d2y는 d1벡터의 x 및 y성분이며 (Xc,Yc)는 교점이다.
여기서 d는 공구반지름이고, d2x,d2y는 d2벡터의 x 및 y성분이다.
이후, 스텝S5에서는 상기 스텝S4에서 제1마이크로프로세서(10)에 의해 연산된 공구직경에 따른 이동경로보정 시작점(Xs,Ys)과 종료점(Xe,Ye)까지의 공구반지름 크기의 직선수직벡터 V1 및 공구반지름 크기의 직선수직벡터 V2를 각각 수평벡터 d1을 시계방향으로 90˚ 회전시키고, 수평벡터 d2를 시계방향으로 90˚ 회전시켜서 다음식(5)(6)(5')(6')에 의해 구한다.
다음에, 스텝S6에서는 직선과 직선이 접하는 교점(Xc,Yc)에서 각각 수직하는 벡터 V2' 및 V1'를 다음식(7)(8)(7')(8')를 이용하여 구한다.
다음에, 첫 번째 직선과 직선의 교점벡터 C1(Xc1,Yc1)을 스텝S7에서 구하는데 이 첫 번째 교점벡터 C1는 V1' 벡터와 d1 벡터의 합이 된다.
다음에, 스텝S8에서 두 번째 블록면의 형태인 직선과 직선간의 두번째 교점벡터 C2(Xc2,Yc2)를 다음식 (11)(12)에 의해 구한다.
이상과 같이 직선과 직선간의 교점벡터들을 구하고 그점들을 서로 연결하면 공구반지름 만큼 보정된 새로운 공구이동경로가 생성된다.
즉, 제2마이크로프로세서(30)로부터 서보모터(60)의 속도제어용 디지털 데이터가 D/A변환기(40)에 입력되면 이 디지털 데이터가 D/A변환기(40)에 의해 아날로그 전압으로 변환되어서 서보제어부(50)에 인가됨으로써 서보모터(60)의 이동속도가 제어되도록 하는 것이다.
한편, 상기 스텝S3에서의 판별결과 공구직경에 따른 공구이동경로 보정진행중이 아닐 경우에는(No일 경우)에는 스텝S10로 나아가서 본래 사용자에 의해 프로그램된 공구이동경로를 따라 공구가 이동하면서 공작물을 가공토록 한다.
이와 같이 본 발명의 공구직경에 따른 이동경로보정방법에 의하면, 첫 번재 블록이 직선이고, 두 번째 블록도 직선이며 그 교점각이 090˚일 경우에 공구이동방향에 대해 공구반지름 크기의 수직 및 수평벡터를 구하고 정확한 공구이동경로를 보정생성시킨 후 이 이동경로에 따라 공구가 이동하면서 공작물을 가공토록 함으로써 고도의 정밀한 가공이 행해지는 등의 뛰어난 효과가 있는 것이다.

Claims (4)

  1. 공구직경에 따라 보정된 공구이동경로를 이동하면서 원하는 형상으로 공작물을 가공하는 CNC 공작기계에 있어서, 직선의 시작점, 직선 및 직선의 교점, 직선의 종료점을 설정한 상태에서 제1마이크로프로세서에 의해 이동경로보정무시, 공구이동방향의 좌측 또는 우측으로의 보정여부를 판단토록 해당코드를 읽어들이는 제1스텝과, NC프로그램에서 한블록의 프로그램을 제1마이크로 프로세서가 읽어들인 후 이동경로보정 진행중인지의 여부를 판별하는 제2스텝과, 이 판별결과 이동경로보정이 진행중일 경우에는 공구반지름 크기의 첫 번째 직선수평벡터 d1 및 두 번째 직선수평벡터 d2를 구하는 제3스텝과, 제1마이크로프로세서에 의해 연산된 공구직경에 따른 공구반지름 크기의 직선수직벡터 V1 및 직선수직벡터 V2를 구하는 제4스텝과, 직선과 직선이 접하는 교점에서 각각 수직하는 벡터 V1' 및 V2'를 구하는 제5스텝과, 첫 번째 교점벡터 C1을 구하는 제6스텝과, 두 번째 직선과 직선간의 교점벡터 C2를 구하는 제7스텝과, 상기 각각의 스텝에서 구해진 점들을 서로 연결하여 보정된 공구이동경로에 따라 써보모터를 구동시키는 제8스텝으로 이루어진 것을 특징으로 하는 공구직경에 따른 이동경로보정방법.
  2. 제1항에 있어서, 상기 제4스텝에서의 첫 번째 직선수직벡터 V1는 수평벡터 d1을 시계방향으로 90˚ 회전시킨 상태에서 구하는 것을 특징으로 하는 공구직경에 따른 이동경로보정방법.
  3. 제1항에 있어서, 상기 제4스텝에서의 두 번째 직선수직벡터 V2는 수평벡터 d2를 시계방향으로 90˚ 회전시킨 상태에서 구하는 것을 특징으로 하는 공구직경에 따른 이동경로보정방법.
  4. 제1항에 있어서, 상기 제2스텝에서의 판별결과, 이동경로보정 진행중이 아닐 경우에는 본래 사용자에 의해 프로그램된 이동경로를 이동하면서 공작물을 가공하는 것을 특징으로 하는 공구직경에 따른 이동경로보정방법.
KR1019920025790A 1992-12-28 1992-12-28 공구직경에 따른 이동경로 보정방법 KR0168071B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920025790A KR0168071B1 (ko) 1992-12-28 1992-12-28 공구직경에 따른 이동경로 보정방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920025790A KR0168071B1 (ko) 1992-12-28 1992-12-28 공구직경에 따른 이동경로 보정방법

Publications (2)

Publication Number Publication Date
KR940015731A KR940015731A (ko) 1994-07-21
KR0168071B1 true KR0168071B1 (ko) 1999-03-20

Family

ID=19346904

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920025790A KR0168071B1 (ko) 1992-12-28 1992-12-28 공구직경에 따른 이동경로 보정방법

Country Status (1)

Country Link
KR (1) KR0168071B1 (ko)

Also Published As

Publication number Publication date
KR940015731A (ko) 1994-07-21

Similar Documents

Publication Publication Date Title
US4533286A (en) Tool compensation method
JP3643098B2 (ja) 数値制御装置
US5204599A (en) Contour compensation method for numerically controlled machines
US20090228138A1 (en) Numerical controller controlling five-axis processing machine
JP5800888B2 (ja) テーブル形式データによる運転でのスムージング機能を備えた数値制御装置
KR930007775B1 (ko) 로보트의 직선보간(補間)방법
CN106493469B (zh) 能够根据姿势来控制加工条件的数值控制装置
EP0455815A1 (en) System for correcting a change in the machine position
US5177421A (en) Method of correcting machine position change
KR0161010B1 (ko) 공구직경에 따른 이동경로 보정방법
KR0168072B1 (ko) 공구직경에 따른 이동경로 보정방법
KR0168071B1 (ko) 공구직경에 따른 이동경로 보정방법
KR0168069B1 (ko) 공구직경에 따른 이동경로 보정방법
KR0168070B1 (ko) 공구직경에 따른 이동경로 보정방법
US5276777A (en) Locus correcting method for industrial robots
JP3101596B2 (ja) テーパ加工補正機能付ワイヤ放電加工用制御装置
JPH07152417A (ja) 数値制御装置の工具径路および送り速度制御方式
EP0573962B1 (en) Numerical control device for tool driving along non-orthogonal mechanical axes
JPS6311231A (ja) ワイヤ放電加工装置の制御方法
EP0371142B1 (en) Method of correcting loci of an industrial robot
KR100194196B1 (ko) 온 머신측정과 반복가공을 이용한 공작기계의가공정밀도향상방법
JPH1173213A (ja) 工具経路データ生成方法
JPS6351811B2 (ko)
WO2023095282A1 (ja) ワイヤ放電加工機の制御装置、及び、ワイヤ放電加工機の制御方法
JPH04176516A (ja) ワイヤ放電加工におけるセカンドカット加工方法及びセカンドカット加工制御装置

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: 20050929

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee