KR20030060272A - Apparatus and method for controlling numerical of high process - Google Patents
Apparatus and method for controlling numerical of high process Download PDFInfo
- Publication number
- KR20030060272A KR20030060272A KR1020020000892A KR20020000892A KR20030060272A KR 20030060272 A KR20030060272 A KR 20030060272A KR 1020020000892 A KR1020020000892 A KR 1020020000892A KR 20020000892 A KR20020000892 A KR 20020000892A KR 20030060272 A KR20030060272 A KR 20030060272A
- Authority
- KR
- South Korea
- Prior art keywords
- speed
- block
- equation
- acceleration
- calculating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000001133 acceleration Effects 0.000 claims abstract description 87
- 238000003754 machining Methods 0.000 claims abstract description 21
- 239000013598 vector Substances 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- 239000000872 buffer Substances 0.000 claims description 2
- 238000003801 milling Methods 0.000 abstract description 2
- 230000006866 deterioration Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/416—Numerical 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 of velocity, acceleration or deceleration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/41—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42173—Acceleration deceleration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43094—Acceleration and deceleration together with their respective time
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
본 발명은 고속 가공을 위한 수치 제어기로부터 입/출력 보드를 통해 제공되는 수치 제어 신호를 수치 작동 기계에 제공하는 장치 및 방법에 관한 것으로, 고속 가동을 위한 수치 제어기에는 수치 제어를 수행할 축의 궤적을 나타내는 파트 프로그램을 사용자로부터 입력받고, 입력된 파트 프로그램을 해석하여 실제 공구가 움직여야 할 위치를 계산하는 해석기; 해석기로부터 공구의 궤적과 지령 속도를 제공받아 사용하여 블록의 지령된 속도와 앞으로 수행해야 할 블록 정보를 이용하여 블록의 실행 가능한 종점 속도와 지령 속도를 계산하는 예견 제어기; 예견 제어기에 의해 계산된 블록의 종점 속도와 지령 속도를 이용하여 보간 주기 당 속도 프로파일을 계산하는 가감속기; 가감속기에 의해 계산된 속도 프로파일을 이용하여 보간 주기 당 공구가 움직여야 할 거리와 도달해야 할 위치를 계산하는 보간기; 보간기에 의해 계산된 보간 주기 당 공구가 움직여야 할 거리를 각 축별로 분해하여 보간 주기 당 각 축이 움직여야 할 거리를 계산하는 맵핑기; 맵핑기에 의해 계산된 보간 주기 당 축이 움직여야 할 거리를 위치 제어 주기 당 축이 움직여야 할 거리로 나누는 미세 보간기; 미세 보간기에 의해 나누어진 위치 제어 주기동안 축이 움직여야 할 거리와 실제 축의 위치정보를 이용하여 각 축의 드라이브에 지령해야 할 축의 이송 거리를 계산하여 수치 작동 기계에 제공하는 위치 제어기를 구비한다. 따라서, 길이가 작은 직선 블록이 연속되는 경우에도 속도의 저하 없이 가공을 수행할 수 있으며, 또한 자유 곡면 가공(금형 가공)을 위한 공구 경로는 길이가 작은직선 블록으로 이루어져 있음에 따라 동작의 정확도, 부드러움 및 동작시간의 최소화를 통해 가동의 생산성을 높일 수 있어 밀링 및 선반 가공에서의 윤곽제어 방식으로 활용할 수 있는 효과가 있다.The present invention relates to an apparatus and a method for providing a numerical control signal to a numerically operated machine from a numerical controller for high speed processing through an input / output board. The numerical controller for high speed operation provides a trajectory of an axis to perform numerical control. An analyzer for receiving a representative part program from a user and interpreting the input part program to calculate a position at which the actual tool should move; A predictive controller which receives the tool's trajectory and command speed from an interpreter and uses the commanded speed of the block and the block information to be performed in the future to calculate the executable end speed and the command speed of the block; An acceleration / decelerator for calculating a speed profile per interpolation cycle using the end speed and the command speed of the block calculated by the predictive controller; An interpolator for calculating the distance to be moved and the position to be reached by the tool per interpolation period using the speed profile calculated by the accelerator; A mapper for decomposing the distance the tool should move per interpolation period calculated by the interpolator for each axis to calculate the distance each axis should move per interpolation period; A fine interpolator for dividing the distance to move the axis per interpolation period calculated by the mapper by the distance to move the axis per position control period; It is provided with a position controller that calculates the feed distance of the axis to be commanded to the drive of each axis by using the distance of the axis and the position information of the actual axis during the position control cycle divided by the fine interpolator. Therefore, even in the case of continuous linear blocks having a small length, the machining can be performed without deterioration of speed, and the tool path for free-form surface machining (mold machining) is composed of linear blocks having a small length, so that the accuracy of the operation, The smoothness and minimization of operation time can increase the productivity of the operation, which can be used as a contour control method in milling and lathe machining.
Description
본 발명은 고속 가동을 위한 수치 제어장치 및 방법에 관한 것으로, 특히 고속 가공을 실현하기 위하여 기계 제어 시 앞으로 수행될 여러 블록의 정보와 함께 수치 제어를 고려하여 가공 속도가 저하되는 것을 방지할 수 있도록 하는 장치 및 방법에 관한 것이다.The present invention relates to a numerical control device and method for high speed operation, and in particular, in order to prevent high speed machining in consideration of numerical control together with information of several blocks to be performed in the future to control the machine to prevent the processing speed from being lowered. It relates to an apparatus and a method.
통상적으로, 기존 수치 제어기는 파트 프로그램을 축의 이동 정보로 변환하는 해석기와, 축의 이동 정보를 일정 시간 동안의 움직임으로 바꾸어 주는 보간기와, 축의 움직임을 부드럽게 해주는 가감속기와, 축의 위치와 지령 정보를 이용하여 실제 드라이브에 지령해야 할 위치 정보를 계산하는 위치 제어기로 구성된다.Conventionally, the existing numerical controller uses an interpreter that converts a part program into motion information of an axis, an interpolator that converts motion information of an axis into motion for a predetermined time, an acceleration / deceleration that smoothes the motion of the axis, and an axis position and command information. It is composed of a position controller that calculates the position information to be commanded to the actual drive.
이러한, 수치 제어기의 구성 요소 중에서 가감속기는 축의 속도 차로 인해 발생되는 충격을 방지하기 위해 파트 프로그램의 블록의 시작점과 종점에서 가속과 감속을 수행한다. 즉, 수치 제어기는 각각의 블록에 대해 독립적으로 가 감속을 수행하게 되며, 가 감속을 수행함에 따라 블록의 길이가 충분히 큰 경우 가속, 등속, 감속 구간이 차례로 존재한다.Among the components of the numerical controller, the acceleration and deceleration performs acceleration and deceleration at the start point and the end point of the block of the part program to prevent the shock caused by the speed difference of the axis. That is, the numerical controller independently performs acceleration and deceleration for each block. As the acceleration / deceleration is performed, acceleration, constant speed, and deceleration sections exist in order when the length of the block is large enough.
그렇지만, 블록의 길이가 짧은 경우 블록 내에서 지령속도까지 도달하지 못하고 가속 구간과 감속 구간만이 존재한다.However, if the length of the block is short, only the acceleration section and the deceleration section exist without reaching the command speed in the block.
이로 인하여, 무수히 작은 직선의 공구 경로로 구성되는 자유 곡면 가공에 대해 기존 수치 제어기를 이용하는 경우 속도 프로파일이 가속과 감속을 반복하는 형태로 나타나게 되어 지령 속도에 도달하지 못하는 되며, 또한 가공 시간을 증가시켜 생산성을 저하시키게 되는 문제점이 있다.As a result, the speed profile appears in the form of repeating acceleration and deceleration in the case of free-surface machining consisting of a small number of straight tool paths, and thus the command speed cannot be reached, and the machining time is increased. There is a problem of lowering the productivity.
이에, 상술한 바와 같이, 수치 제어기에 관한 기술로는 출원번호 1998-049965에 출원된 "컴퓨터 수치제어 공작기계를 이용하여 고속 가공함에 있어서 모서리에서 사용자가 설정한 윤곽오차를 만족하는 속도궤적을 자동으로 생성하여 정밀도를 유지하면서 고속 가공하는 방법" 에 개시되어 있다.Therefore, as described above, the technique of the numerical controller is described in the application number 1998-049965 "automatic speed trajectory that satisfies the contour error set by the user at the corners in high-speed machining using a computer numerical control machine tool And high speed machining while maintaining the accuracy thereof.
즉, 개시된 선행기술에 대하여 상세하게 설명하면, "컴퓨터 수치제어 공작기계를 이용하여 고속 가공함에 있어서 모서리에서 사용자가 설정한 윤곽오차를 만족하는 속도궤적을 자동으로 생성하여 정밀도를 유지하면서 고속 가공하는 방법"은제어기의 정밀도를 대표할 수 있는 윤곽 오차는 가공 형상이 급변하는 모서리에서 크게 나타나며, PID 제어기의 특성상 이송 속도와 윤곽 오차는 비례하므로 정밀도를 만족하기 위해서는 모서리를 저속으로 통과하여야 한다.That is, in detail with respect to the disclosed prior art, "In the high-speed machining using a computer numerical control machine tool, a speed trajectory that satisfies the contour error set by the user at the corner is automatically generated to maintain high precision while maintaining precision. Method ", the contour error that can represent the precision of the controller is large in the corner where the processing shape changes rapidly, and the feed speed and the contour error are proportional to the characteristics of the PID controller.
따라서, 인포지션, 드웰 등의 기능을 사용하지 아니하면 고속으로 이송할 수 있는 직선 구간에서도 저속으로 이송하여 가공시간을 증가시키며 비록 이 기능들을 사용하더라도 사용자가 일일이 정지할 모서리를 결정해야 하는 불편함이 있고 다양한 이송 조건과 모서리의 각도에 대해 일률적으로 정지하므로 비효율적임에 따라 공작기계의 고속 가공 시 모서리에서 정밀도를 유지하면서 가공하는 방법은 고차 시스템으로 모델링되는 공작기계를 1차 시스템으로 근사화하는 단계, 1차 시스템의 모서리 응답을 기준궤적과 시스템 대역폭으로 나타내는 단계, 윤곽오차를 정의하고 윤곽오차 함수를 구하는 단계, 윤곽오차 함수를 수치 해석적으로 이용하여 주어진 윤곽오차를 만족하는 모서리에서의 감속속도를 구하는 단계 및 구해진 감속속도에 따라 모서리에서 자동으로 고속가공을 수행하는 단계를 순차적으로 수행한다.Therefore, if you do not use the function of the imposition, dwell, etc., even in the straight section that can be transferred at high speed to feed at low speed to increase the machining time, even if you use these functions, the user must determine the corner to stop every day As it is inefficient and stops uniformly for various feed conditions and angles of edges, the method of machining while maintaining the precision at the corners during high-speed machining of machine tools is approximated to the primary system. Describing the edge response of the primary system as the reference trajectory and the system bandwidth, defining the contour error and obtaining the contour error function, and using the contour error function numerically analytically, According to the step of finding and the deceleration speed Automatically perform high-speed machining step in sequence.
이와 같이, 선행 출원 특허에 개시된 기술을 살펴보았을 때, 기존의 공지된 기술에는 본원 발명에서 제시하는 종래의 수치 제어 방법에서는 각 블록에 대해 개별적으로 생성되는 블록의 속도 프로파일로 인해 만일 종점에 도달할 때까지 지령 속도에 도달하지 못할 만큼 거리가 짧은 블록이 연속되는 경우, 각 블록의 수행 시 지령 속도에 도달하지 못하고 가속과 감속을 반복한다. 이는 수행해야 할 다음 블록이 존재하는지를 전혀 고려하지 않고, 블록의 시작과 끝의 속도를 무조건 0으로 가정하기 때문인데, 본원 발명에서와 같이, 만일 앞으로 수행될 블록이 존재한다면, 블록의 종점 속도가 0이 될 필요가 없으며, 다음에 수행될 블록의 길이와 지령 속도, 기계의 성능 등을 고려하여 실행 가능한 속도를 얻을 수 있는 이유로 고속 가공을 위해 앞으로 수행될 블록의 정보를 선독함하여 지령속도에 최대로 근접한 블록의 실행 가능한 속도 프로파일을 생성하는 방법을 기술해야 하는 점에는 그 기술적인 내용이 미치지 못하게 되는 문제점이 여전히 남아 있었다.As described above, when looking at the technology disclosed in the prior application patent, the conventional known technique has a speed profile of a block generated individually for each block in the conventional numerical control method proposed in the present invention. If blocks with short distances that cannot reach the command speed until continue, the command speed is not reached and the acceleration and deceleration are repeated. This is because the speed of the start and end of the block is assumed to be 0 unconditionally without considering whether there is a next block to be performed, as in the present invention, if there is a block to be executed in the future, the end speed of the block is It does not need to be zero, and it is possible to obtain a viable speed in consideration of the next block length, command speed, and machine performance. There was still a problem that the technical content fell short of describing how to generate an executable speed profile of the block that is closest to each other.
그러므로, 본 발명은 상술한 필요성에 의하여 안출된 것으로서, 그 목적은 고속 가공을 실현하기 위하여 기계 제어 시 앞으로 수행될 여러 블록의 정보를 함께 수치 제어를 고려하여 가공 속도가 저하되는 것을 방지할 수 있도록 하는 고속 가동을 위한 수치 제어장치 및 방법을 제공함에 있다.Therefore, the present invention has been made in view of the above-described needs, and an object thereof is to prevent the processing speed from being lowered in consideration of numerical control of information of several blocks to be performed at the time of machine control in order to realize high speed machining. To provide a numerical control device and method for high speed operation.
상술한 목적을 달성하기 위한 본 발명에서 고속 가동을 위한 수치 제어기에는 수치 제어를 수행할 축의 궤적을 나타내는 파트 프로그램을 사용자로부터 입력받고, 입력된 파트 프로그램을 해석하여 실제 공구가 움직여야 할 위치를 계산하는 해석기; 해석기로부터 공구의 궤적과 지령 속도를 제공받아 사용하여 블록의 지령된 속도와 앞으로 수행해야 할 블록 정보를 이용하여 블록의 실행 가능한 종점 속도와 지령 속도를 계산하는 예견 제어기; 예견 제어기에 의해 계산된 블록의 종점 속도와 지령 속도를 이용하여 보간 주기 당 속도 프로파일을 계산하는 가감속기; 가감속기에 의해 계산된 속도 프로파일을 이용하여 보간 주기 당 공구가 움직여야 할 거리와 도달해야 할 위치를 계산하는 보간기; 보간기에 의해 계산된 보간 주기 당 공구가 움직여야 할 거리를 각 축별로 분해하여 보간 주기 당 각 축이 움직여야할 거리를 계산하는 맵핑기; 맵핑기에 의해 계산된 보간 주기 당 축이 움직여야 할 거리를 위치 제어 주기 당 축이 움직여야 할 거리로 나누는 미세 보간기; 미세 보간기에 의해 나누어진 위치 제어 주기동안 축이 움직여야 할 거리와 실제 축의 위치정보를 이용하여 각 축의 드라이브에 지령해야 할 축의 이송 거리를 계산하여 수치 작동 기계에 제공하는 위치 제어기를 포함하는 것을 특징으로 한다.In the present invention for achieving the above object, the numerical controller for high-speed operation receives a part program indicating the trajectory of the axis to perform the numerical control from the user, and calculates the position to move the actual tool by interpreting the input part program An interpreter; A predictive controller which receives the tool's trajectory and command speed from an interpreter and uses the commanded speed of the block and the block information to be performed in the future to calculate the executable end speed and the command speed of the block; An acceleration / decelerator for calculating a speed profile per interpolation cycle using the end speed and the command speed of the block calculated by the predictive controller; An interpolator for calculating the distance to be moved and the position to be reached by the tool per interpolation period using the speed profile calculated by the accelerator; A mapper for decomposing the distance to which the tool should move per interpolation period calculated by the interpolator for each axis to calculate the distance to move each axis per interpolation period; A fine interpolator for dividing the distance to move the axis per interpolation period calculated by the mapper by the distance to move the axis per position control period; And a position controller that calculates the feed distance of the axis to be commanded to the drive of each axis and provides it to the numerically operated machine during the position control cycle divided by the fine interpolator. do.
또한, 상술한 목적을 달성하기 위한 본 발명에서 고속 가동을 위한 수치 제어장치의 시점 속도 계산방법은 시점 속도를 사용자로부터 입력받은 후, i+1번째 블록과 i번째 블록의 직선 및 원호 종류에 따라 가능한 코너 속도를 계산하는 제1단계; 두 블록간의 종류 계산 과정에서 두 블록이 모두 직선(line과 line)인 경우, 두 블록이 모두 직선 사이의 코너 속도를 계산하는 제2단계; 두 블록간의 종류 계산 과정에서 한 블록이 직선이고 한 블록이 원호인 경우, 직선과 원호 블록 사이의 코너 속도를 계산하는 제3단계; 두 블록간의 종류 계산 과정에서 두 블록이 모두 원호인 경우, 두 블록이 모두 원호 사이의 코너 속도를 계산하는 제4단계; 제2, 3, 4단계를 통해 얻어진 코너 속도(V1)이라고 하고, i번째 블록이 직선인가를 판단하는 제5단계; 제5단계 판단에서 i번째 블록이 직선인 경우, 블록의 길이(S)를 구하고, 종점 속도에 도달 가능한 시점 속도(V2)를 수학식 3을 통해 계산하며, V1, V2와 i번째 블록의 지령 속도 Vc중에서 가장 작은 속도를 시작 속도(Vs(i))로 정하는 제6단계; 제5단계 판단에서 i번째 블록이 원호인 경우, 원호 운동 시 가능한 최대 속도 V(성능지수)를 수학식 4를 통해 계산하는 제7단계; 원호 보간 시 chodal 오차를 고려하는 경우 최대 가공 가능한 속도 V(error)를 수학식 5를 통해 계산하는제8단계; V(성능지수) 및 V(error)와 원호 블록의 지령 속도 중 가장 작은 속도를 원호 블록의 지령 속도로 설정하며, 수정된 지령 속도와 V1중 작은 속도를 블록의 시점 속도로 결정하는 제9단계를 포함하는 것을 특징으로 한다.In addition, according to the present invention for achieving the above object, the view point speed calculation method of the numerical control device for high-speed operation according to the straight line and arc type of the i + 1 st block and the i th block after receiving the view point speed from the user; Calculating a possible corner velocity; A second step of calculating a corner velocity between two blocks when both blocks are straight lines (line and line) in the process of calculating the type between the two blocks; A third step of calculating a corner velocity between the straight line and the circular arc block if one block is a straight line and one block is an arc in the process of calculating the type between two blocks; A fourth step of calculating corner speeds between the two arcs when the two blocks are both circular arcs in the type calculation process between the two blocks; A fifth step called a corner velocity V1 obtained through the second, third and fourth steps, and determining whether the i-th block is a straight line; In the fifth step, when the i-th block is a straight line, the length (S) of the block is obtained, and the start speed V2 at which the end speed can be reached is calculated through Equation 3, and the commands of the V1, V2 and i-th blocks are referred to. A sixth step of setting the smallest speed among the speeds Vc as the starting speed Vs (i); A seventh step of calculating a maximum speed V (performance index) possible in the circular motion when the i-th block is the circular arc in the fifth determination; An eighth step of calculating a maximum processable speed V (error) when using the chodal error during circular interpolation through Equation 5; The ninth step of setting the smallest speed among V (performance index) and V (error) and the command speed of the circular block as the command speed of the circular block, and determining the smaller of the modified command speed and V1 as the starting speed of the block. Characterized in that it comprises a.
상술한 목적을 달성하기 위한 본 발명에서 고속 가동을 위한 수치 제어장치의 종점 속도와 지령 속도 및 시점 속도를 이용하여 보간 종류를 체크하여 속도 프로파일을 생성하는 방법은 보간 종류 체크에서 보간 종류가 직선 블록일 경우, 정상 블록인가를 판단하는 단계; 판단 단계에서 직선 블록이 정상 블록일 경우, 첫 번째 직선 정상 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산하여 속도 프로파일을 생성하는 단계; 판단 단계에서 직선 블록이 정상 블록이 아닐 경우, 두 번째 직선 미소 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산하여 속도 프로파일을 생성하는 단계; 보간 종류 체크에서 보간 종류가 원호 블록일 경우, 정상 블록인가를 판단하는 단계; 판단 단계에서 원호 블록이 정상 블록일 경우, 세 번째 원호 정상 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산하여 속도 프로파일을 생성하는 단계; 판단 단계에서 원호 블록이 정상 블록이 아닐 경우, 네 번째 원호 미소 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산하여 속도 프로파일을 생성하는 단계를 포함하는 것을 특징으로 한다.In the present invention for achieving the above object, a method for generating a speed profile by checking the interpolation type by using the end speed, the command speed, and the starting speed of the numerical control device for high speed operation is a linear block in the interpolation type check. If yes, determining whether or not the normal block; When the linear block is the normal block in the determining step, generating a speed profile by calculating a speed per interpolation period for each of the first linear normal block speed profile generations; If the straight block is not a normal block in the determining step, generating a speed profile by calculating a speed per interpolation period for each second straight micro block speed profile generation; If the interpolation type is an arc block in the interpolation type check, determining whether the block is a normal block; When the circular block is the normal block in the determining step, generating a speed profile by calculating a speed per interpolation period for each third circular normal block speed profile generation; In the determining step, if the circular block is not a normal block, generating the velocity profile by calculating the velocity per interpolation period for each of the fourth circular minute block velocity profile generations.
도 1은 본 발명에 따른 고속 가동을 위한 수치 제어장치에 대한 블록 구성도이고,1 is a block diagram of a numerical control device for high speed operation according to the present invention,
도 2는 도 1에 도시된 수치 제어기에 대하여 세부적으로 도시한 블록 구성도이며,FIG. 2 is a block diagram illustrating in detail the numerical controller shown in FIG.
도 3은 도 2에 도시된 예견 제어기(120)에 대한 실행 흐름도이며,3 is an execution flow diagram for the predictive controller 120 shown in FIG. 2,
도 4는 도 3에 도시된 i번째 블록의 시작 속도를 구하는 방법에 대한 상세 흐름도이며,4 is a detailed flowchart illustrating a method of obtaining a start speed of an i th block illustrated in FIG. 3;
도 5는 도 4에 도시된 직선 블록이 맞닿아 있는 코너에서의 속도 계산 방법에 대한 상세 흐름도이며,FIG. 5 is a detailed flowchart illustrating a method for calculating a speed at a corner where the straight block illustrated in FIG. 4 is in contact with each other.
도 6은 도 2에 도시된 가감속기(130)에 대하여 세부적으로 도시한 실행 흐름도이며,FIG. 6 is a detailed flowchart illustrating the acceleration / deceleration unit 130 shown in FIG. 2.
도 7은 직선 정상 블록의 속도 프로파일에 대하여 세부적으로 도시한 생성 흐름도이며,7 is a generation flowchart showing details of a velocity profile of a straight line normal block;
도 8은 직선 미소 블록의 속도 프로파일에 대하여 세부적으로 도시한 생성 흐름도이며,8 is a generation flowchart showing details of a velocity profile of a straight micro block;
도 9는 원호 정상 블록의 속도 프로파일에 대하여 세부적으로 도시한 생성 흐름도이며,9 is a generation flowchart showing details of a velocity profile of an arc normal block;
도 10은 원호 미소 블록의 속도 프로파일에 대하여 세부적으로 도시한 생성 흐름도이다.10 is a generation flow chart showing in detail the velocity profile of the circular arc microblock.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
100 : 수치 제어기 110 : 해석기100: numerical controller 110: analyzer
120 : 예견 제어기 130 : 가감속기120: predictive controller 130: acceleration and deceleration
140 : 보간기 150 : 맵핑기140: interpolator 150: mapper
160 : 미세 보간기 170 : 위치 제어기160: fine interpolator 170: position controller
200 : 수치 작동 기계200: numerically operated machine
S1 : 입/출력 보드S1: I / O Board
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예의 동작을 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the operation of the preferred embodiment according to the present invention.
도 1 및 도 2는 본 발명에 따른 고속 가동을 위한 수치 제어장치에 대한 전체적인 블록 구성도로서, 수치 제어기(100) 및 수치 작동 기계(200)를 포함한다.1 and 2 are the overall block diagram of a numerical control device for high speed operation according to the present invention, which includes a numerical controller 100 and a numerical operating machine 200.
수치 제어기(100)는 수치 제어를 수행하여 입/출력 보드(S1)를 통해 수치 작동 기계(200)로 제공하는 블록으로서, 해석기(110)와, 예견 제어기(120)와, 가감속기(130)와, 보간기(140)와, 맵핑기(150)와, 미세 보간기(160)와, 위치 제어기(170)를 구비한다.The numerical controller 100 is a block that performs numerical control and provides the numerical operation machine 200 through the input / output board S1, and includes an analyzer 110, a predictive controller 120, and an accelerator / decelerator 130. And an interpolator 140, a mapper 150, a fine interpolator 160, and a position controller 170.
해석기(110)는 수치 제어를 수행할 축의 궤적을 나타내는 파트 프로그램을 사용자로부터 입력받고, 입력된 파트 프로그램을 해석하여 실제 공구가 움직여야 할 위치를 계산하여 예견 제어기(120)에 제공한다.The interpreter 110 receives a part program indicating a trajectory of an axis to perform numerical control from a user, analyzes the input part program, calculates a position at which the actual tool should move, and provides the predicted controller 120.
예견 제어기(120)는 해석기(110)로부터 공구의 궤적과 지령 속도를 제공받아 사용하여 블록의 지령된 속도와 앞으로 수행해야 할 블록 정보를 이용하여 블록의 실행 가능한 종점 속도와 지령 속도를 계산하여 가감속기(130)에 제공한다.The predictive controller 120 receives the tool's trajectory and command speed from the interpreter 110 and calculates the executable end speed and the command speed of the block using the commanded speed of the block and the block information to be performed in the future. Provided in shorthand (130).
가감속기(130)는 예견 제어기(120)에 의해 계산된 블록의 종점 속도와 지령 속도를 이용하여 보간 주기 당 속도 프로파일을 계산하여 보간기(140)에 제공한다.The accelerator / decelerator 130 calculates and provides a velocity profile per interpolation period to the interpolator 140 using the end speed and the command speed of the block calculated by the predictive controller 120.
보간기(140)는 가감속기(130)에 의해 계산된 속도 프로파일을 이용하여 보간 주기 당 공구가 움직여야 할 거리와 도달해야 할 위치를 계산하여 맵핑기(150)에 제공한다.The interpolator 140 calculates and provides a distance to the tool 150 to the mapper 150 based on the velocity profile calculated by the acceleration / decelerator 130.
맵핑기(150)는 보간기(140)에 의해 계산된 보간 주기 당 공구가 움직여야 할 거리를 각 축별로 분해하여 보간 주기 당 각 축이 움직여야 할 거리를 계산하여 미세 보간기(160)에 제공한다.The mapper 150 decomposes the distance to which the tool should move per interpolation period calculated by the interpolator 140 for each axis, calculates the distance to move each axis per interpolation period, and provides it to the fine interpolator 160. .
미세 보간기(160)는 맵핑기(150)에 의해 계산된 보간 주기 당 축이 움직여야 할 거리를 위치 제어 주기 당 축이 움직여야 할 거리로 나누어 위치 제어기(170)에 제공한다.The fine interpolator 160 provides the position controller 170 by dividing the distance to which the axis per interpolation period is to be moved by the mapper 150 by the distance to which the axis to be moved per position control period.
위치 제어기(170)는 미세 보간기(160)에 의해 나누어진 위치 제어 주기동안 축이 움직여야 할 거리와 실제 축의 위치정보를 이용하여 각 축의 드라이브에 지령해야 할 축의 이송 거리를 계산하여 전압 신호를 발생시키는 입/출력 보드(S1)를 통해 수치 작동 기계(200)내 모터 드라이브(motor drive)(도시되지 않음)에 제공한다.The position controller 170 generates a voltage signal by calculating the transfer distance of the axis to be commanded to the drive of each axis by using the distance of the axis to move and the position information of the actual axis during the position control period divided by the fine interpolator 160. Is provided to a motor drive (not shown) in the numerically operated machine 200 via an input / output board S1.
수치 작동 기계(200)는 수치 제어기(100)로부터 입/출력 보드(S1)를 통해 제공되는 수치 제어 신호에 따라 작동한다.The numerical actuating machine 200 operates according to the numerical control signal provided from the numerical controller 100 through the input / output board S1.
도 3 내지 도 10을 참조하면, 상술한 구성을 갖는 본 발명의 전체적인 구성도 중, 예견 제어기(120) 및 가감속기(130)에 관한 것으로, 도 3은 도 2에 도시된 예견 제어기(120)에 대한 실행 흐름도에 대하여 보다 상세하게 설명한다.3 to 10, of the overall configuration of the present invention having the above-described configuration, relates to the predictive controller 120 and the decelerator 130, Figure 3 is a predictive controller 120 shown in FIG. The flow chart for the following will be described in more detail.
즉, 예견 제어 수행 시 미리 살펴볼 블록의 수를 예견 제어 버퍼수라 하며, N으로 표시하고(S1-1), Ve(i)는 i 번째 블록의 종점 속도이며, Vs(i)는 i 번째 블록의 시점 속도를 나타내며, A는 블록간 가속도의 최대 허용치이며, 블록의 길이(Stot)는 현재 블록(i=1, 수행 가능 종점 속도를 구하고자 하는 블록)의 길이를 의미한다.That is, the number of blocks to be previewed when performing predictive control is called the predictive control buffer number, denoted by N (S1-1), Ve (i) is the end speed of the i-th block, and Vs (i) is the i-th block. A represents the starting speed, A is the maximum allowable value of the inter-block acceleration, the length Stot of the block means the length of the current block (i = 1, the block to obtain the executable end speed).
현재 블록의 시점 속도의 경우 바로 전 블록의 종점 속도와 동일하며 이는 예견 제어 방법을 위해 사용되는 것으로, 예견 제어를 위해 현재 블록으로부터 N번째 다음에 수행해야 할 블록의 종점 속도를 0으로 가정하고, 시점 속도를 계산한다(S1).The start speed of the current block is the same as the end speed of the previous block, which is used for the predictive control method. It is assumed that the end speed of the block to be performed Nth from the current block for predictive control is 0, The viewpoint velocity is calculated (S1).
여기서, 시점 속도를 계산하는 상세 방법은 도 4에 도시된 것으로, 도 4를 참조하면, i+1번째 블록의 시점 속도(i번째 블록의 종점 속도와 동일함)를 입력으로 받은 후(SS1-1), 먼저 i-1번째 블록과 i번째 블록의 종류(직선 및 원호)에 따라 가능한 코너 속도를 계산한다(SS1-2).Here, a detailed method of calculating the start velocity is shown in FIG. 4. Referring to FIG. 4, after receiving the start velocity of the i + 1 th block (same as the end velocity of the i th block) as an input (SS1-) 1) First, the possible corner velocities are calculated according to the type (straight line and circular arc) of the i-th block and the i-th block (SS1-2).
두 블록간의 종류 계산 과정(SS1-2)에서 두 블록이 모두 직선(line과 line)인 경우, 두 블록이 모두 직선 사이의 코너 속도를 계산한다(SS1). 여기서, 직선과 직선 블록이 연속되는 경우 코너에서의 속도는 도 5에 도시된 바와 같이 얻어지는 것으로, 두 블록간의 각도는 도 5에 도시된 바와 같이 정의되는데, 코너 지점에서 발생하는 가속도 AC는 수학식 6과 같으며, 만일 AC가 수치 제어 기계의 최대 허용 가속도 A보다 큰 경우 기계의 최대 허용 가속도를 넘지 않는 코너 속도를 수학식 7을 통해 다시 구한다.If both blocks are straight lines (line and line) in the type calculation process (SS1-2) between two blocks, both blocks calculate corner speeds between straight lines (SS1). Here, when the straight line and the straight block are continuous, the speed at the corner is obtained as shown in FIG. 5, and the angle between the two blocks is defined as shown in FIG. 5, and the acceleration AC occurring at the corner point is Equal to 6, and if AC is greater than the maximum allowable acceleration A of the numerical control machine, the corner velocity not exceeding the maximum allowable acceleration of the machine is obtained again from Equation 7.
다음으로, 두 블록간의 종류 계산 과정(SS1-2)에서 한 블록이 직선이고 한 블록이 원호인 경우, 직선과 원호 블록 사이의 코너 속도를 계산한다(SS2). 여기서, 직선과 원호가 만나는 코너 지점에서의 코너 속도 V1을 계산하는 방법은 코너 지점에서의 원호의 법선 벡터를 구하고 이를 직선 블록으로 간주하고, 도 5에 도시된 바와 같이, 법선 벡터와 직선 블록이 이루는 각도를 계산한 후, 상술한 단계(SS1)와 동일한 방법으로 코너 속도 V1을 구한다.Next, when one block is a straight line and one block is an arc in the type calculation process (SS1-2) between two blocks, the corner velocity between the straight line and the arc block is calculated (SS2). Here, the method of calculating the corner velocity V1 at the corner point where the straight line and the arc meet each other is to obtain a normal vector of the arc at the corner point and regard it as a straight block, and as shown in FIG. After calculating the angle to form, the corner velocity V1 is obtained in the same manner as in the above-described step SS1.
마지막으로, 두 블록간의 종류 계산 과정(SS1-2)에서 두 블록이 모두 원호인 경우, 두 블록이 모두 원호 사이의 코너 속도를 계산한다(SS3). 여기서, 원호가 연속된 지점에서의 코너 속도 V1을 계산하는 방법은 두 원호가 만나는 코너 지점에서의 두 원호의 법선 벡터를 각각 구하고, 두 법선 벡터를 직선 블록으로 간주하고, 도 5에 도시된 바와 같이, 두 법선 벡터가 이루는 각도를 계산한 후, 단계(SS1)와 동일한 방법으로 코너 속도 V1을 구한다.Finally, when both blocks are circular arcs in the type calculation process (SS1-2) between the two blocks, both blocks calculate the corner velocity between the circular arcs (SS3). Here, the method for calculating the corner velocity V1 at the points where the arcs are continuous calculates the normal vectors of the two arcs at the corner points where the two arcs meet, respectively, and considers the two normal vectors as straight blocks, as shown in FIG. Similarly, after calculating the angle formed by the two normal vectors, the corner velocity V1 is obtained in the same manner as in step SS1.
이후, 단계(SS1, SS2, SS3)를 통해 얻어진 코너 속도를 V1이라고 하고, i번째 블록이 직선인가를 판단한다(SS4-1).The corner velocity obtained through the steps SS1, SS2, and SS3 is then V1, and it is determined whether the i-th block is a straight line (SS4-1).
판단 단계(SS4-1)에서 i번째 블록이 직선인 경우, 블록의 길이 S를 구하고(SS4), 종점 속도에 도달 가능한 시점 속도(V2)를 수학식 3을 통해 계산하며(SS5), 마지막으로 V1, V2와 i번째 블록의 지령 속도 Vc중에서 가장 작은 속도를 시작 속도(Vs(i))로 정한다(SS6).When the i-th block is a straight line in the determination step SS4-1, the length S of the block is obtained (SS4), and the starting speed V2 at which the end speed can be reached is calculated through Equation 3 (SS5). The smallest speed among the command speeds Vc of V1, V2 and the i-th block is determined as the start speed Vs (i) (SS6).
판단 단계(SS4-1)에서 i번째 블록이 원호인 경우, 지령 속도의 적절성을 따져야 하기 위해 먼저 원호 운동 시 가능한 최대 속도 V(성능지수)를 수학식 4를 통해 계산한다(SS7).If the i-th block is the circular arc in the determination step SS4-1, the maximum speed V (performance index) that is possible during the circular arc motion is first calculated through Equation 4 in order to determine the adequacy of the command speed (SS7).
여기서, α는 시스템 성능 지수이며, R은 원호의 반경을 의미한다.Where α is the system performance index and R is the radius of the arc.
또한, 원호 보간 시 chodal 오차를 고려하는 경우 최대 가공 가능한 속도 V(error)를 수학식 5를 통해 계산한다(SS8).In addition, when considering the chodal error during circular interpolation, the maximum processable speed V (error) is calculated through Equation 5 (SS8).
여기서, E는 원호 보간 시 chodal 오차를 나타내며, TS는 보간 주기를 나타낸다.Here, E represents a chodal error during circular interpolation, and TS represents an interpolation period.
이후, 단계(SS6과 SS7)를 통해 계산된 V(성능지수) 및 V(error)와 원호 블록의 지령 속도 중 가장 작은 속도를 원호 블록의 지령 속도로 설정하며(SS9), 수정된 지령 속도와 V1중 작은 속도를 블록의 시점 속도로 결정한다(SS10).Subsequently, the smallest speed among the V (performance index) and V (error) calculated through the steps SS6 and SS7 and the command speed of the arc block is set as the command speed of the arc block (SS9), and the modified command speed and The smaller speed among V1 is determined as the start speed of the block (SS10).
N번째 블록의 시점 속도는 N-1번째 블록의 종점 속도가 되며(S2), 이를 계속반복하여 현재 블록의 종점 속도(Ve(1))를 구한다.The start speed of the N-th block is the end speed of the N-th block (S2), and the result is repeatedly repeated to obtain the end speed Ve (1) of the current block.
그러나, 만일 블록의 길이(Stot)가 블록의 시작 속도(Vs(1))에서 종점 속도까지 가속 혹은 감속하기에 충분치 않은 경우에는 새로운 종점 속도를 구해야 하므로, i가 1보다 큰가를 체크한다(S2-1).However, if the length Stot of the block is not sufficient to accelerate or decelerate from the start velocity of the block (Vs (1)) to the end velocity, it is necessary to find a new end velocity, so it is checked whether i is greater than 1 (S2). -One).
체크 단계(S2-1)에서 1보다 크면, "i=i-1"로서 계산한 후, 단계(S1)부터 반복 수행하며(단계(S2-2), 체크 단계(S2-1)에서 1보다 작으면, 수학식 1을 이용하여 블록의 종점 속도가 가능한지를 판단한다(S3).If greater than 1 in the check step (S2-1), it calculates as "i = i-1", and then repeats from step S1 (step S2-2), than in 1 in the check step S2-1. If small, it is determined whether the end point speed of the block is possible using Equation 1 (S3).
상기 판단 단계(S3)에서 블록의 종점 속도가 불가능할 경우, 새로운 종점 속도를 계산하여야 하며(S4), 상기 판단 단계(S3)에서 블록의 종점 속도가 가능할 경우, 단계(S1, S2)로부터 얻어진 종점 속도를 현재 블록의 종점 속도로 사용하여 새로운 종점 속도로 사용한다(S5). 여기서, 새로운 종점 속도는 수학식 2를 통해 얻는다.If the end speed of the block is not possible in the determination step S3, a new end speed must be calculated (S4), and if the end speed of the block is possible in the determination step S3, the end point obtained from the steps S1 and S2. The speed is used as the end speed of the current block and used as the new end speed (S5). Here, the new end point velocity is obtained from equation (2).
where, sign = 1 if Vs(1) < Ve(1)where, sign = 1 if Vs (1) <Ve (1)
= -1 otherwise= -1 otherwise
한편, 도 3에 도시된 단계(S2)로부터 계산된 블록의 종점 속도와, 지령 속도와, 시점 속도를 이용하여 단계(S3)에서는 도 6에 도시된 가감속기(130)에 대하여 세부적으로 도시한 실행 흐름도를 참조하면서, 네 가지 경우에 대한 보간 종류를 체크한다(PP1-1).On the other hand, using the end speed, the command speed, and the start speed of the block calculated from step S2 shown in FIG. 3, the step shown in FIG. 6 is shown in detail for the acceleration / deceleration unit 130 shown in FIG. 6. While referring to the execution flowchart, the interpolation types for the four cases are checked (PP1-1).
상기 체크 단계(PP1-1)에서 보간 종류가 직선 블록일 경우, 정상 블록인가를 판단한다(PP1-2).If the interpolation type is a straight block in the check step PP1-1, it is determined whether it is a normal block (PP1-2).
상기 판단 단계(PP1-2)에서 정상 블록일 경우, 네 가지 중 첫 번째 직선 정상 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산한다(PP1). 반면에, 상기 판단 단계(PP1-2)에서 정상 블록이 아닐 경우, 네 가지 중 두 번째 직선 미소 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산한다(PP2).In the case of the normal block in the determination step PP1-2, the speed per interpolation period is calculated for each of the first linear normal block rate profile generations (PP1). On the other hand, if it is not a normal block in the determination step (PP1-2), the speed per interpolation period is calculated for each of the second linear micro block velocity profile generation (PP2).
상기 체크 단계(PP1-1)에서 보간 종류가 원호 블록일 경우, 정상 블록인가를 판단한다(PP1-3).If the interpolation type is an arc block in the check step PP1-1, it is determined whether it is a normal block (PP1-3).
상기 판단 단계(PP1-3)에서 정상 블록일 경우, 네 가지 중 세 번째 원호 정상 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산한다(PP3). 반면에, 상기 판단 단계(PP1-3)에서 정상 블록이 아닐 경우, 네 가지 중 네 번째 원호 미소 블록 속도 프로파일 생성에 대하여 각각 보간 주기당 속도를 계산한다(PP4).In the case of the normal block in the determination step (PP1-3), the speed per interpolation period is calculated for the third arc normal block rate profile generation (PP3). On the other hand, if it is not the normal block in the determination step (PP1-3), the speed per interpolation period is calculated for each of the fourth circular arc block rate profile generation (PP4).
보다 상세하게 각각의 보간 주기당 속도를 계산하는 방법에 대하여 설명하면, 먼저, 직선 정상 블록의 속도 프로파일을 계산하는 방법(PP1)은 도 7에 도시된 바와 같이, 직선 정상 블록의 경우 속도 프로파일은 가속구간, 감속구간, 등속구간의 순으로 생성된다.In more detail with respect to the method for calculating the speed per each interpolation period, first, a method (PP1) for calculating the speed profile of the linear normal block is shown in FIG. It is created in order of acceleration section, deceleration section and constant velocity section.
즉, 가속 구간에서의 속도 프로파일을 결정하기 위해 수학식 8을 통해 가속도와 가속 시간을 결정한다(B1).That is, the acceleration and the acceleration time are determined through Equation 8 to determine the velocity profile in the acceleration section (B1).
여기서, Tacc,은 최대 허용 가속도를 사용하여 시작 속도에서 지령 속도까지 도달하는데 걸리는 시간이고, a1은 가속도를 나타내며, 또한 Ts는 보간 주기이고, Vstart는 블록의 시작 속도이며, Vmax는 지령 속도를 나타낸다.Where Tacc, is the time taken from the start speed to the command speed using the maximum allowable acceleration, a1 represents the acceleration, Ts is the interpolation period, Vstart is the start speed of the block, and Vmax is the command speed. .
이후, 미리 정의된 최대 허용 가속도를 사용하는 경우 보간 주기의 정수 배 동안의 가속을 통해 지령 속도에 도달하는 것이 불가능하기 때문에 B1에서는 보간 주기의 정수 배 동안 가속을 통해 지령 속도에 도달할 수 있는 가속도와 가속 시간을 계산하며, 이때 가속도는 최대 허용 가속도에 최대한 근접한 값이다.Then, when using the predefined maximum allowable acceleration, it is impossible to reach the command speed through acceleration for an integer multiple of the interpolation period, so in B1, the acceleration that can reach the command speed through acceleration for an integral multiple of the interpolation period The acceleration time is calculated as close as possible to the maximum allowable acceleration.
이후, 감속 구간에서 감속 시간과 감속도를 결정한다(B2).Thereafter, the deceleration time and the deceleration are determined in the deceleration section (B2).
즉, 감속도 또한 감속 시간이 보간 주기의 정수배가 되도록 하는 감속도 중 최대 허용 가속도에 가장 근접한 것을 감속도로 결정하며, 수학식 9를 통해 감속도와 감속 시간을 계산한다In other words, the deceleration is also determined as the deceleration closest to the maximum allowable acceleration of the deceleration to make the deceleration time is an integer multiple of the interpolation period, and calculate the deceleration and deceleration time through the equation (9)
여기서, Tdec는 최대 허용 감속도를 사용하여 지령 속도에서 종점 속도까지 도달하는데 걸리는 시간이고, a3는 감속도이며, Vend는 종점 속도를 나타낸다.Where Tdec is the time taken to reach the end speed from the command speed using the maximum allowable deceleration, a3 is the deceleration, and Vend represents the end speed.
이후, 가감속도와 가감속 시간이 정해지면, 블록의 길이에서 가감속 동안 움직이는 거리를 빼줌으로써 등속 구간동안 움직이는 거리(Srem)를 얻고, 이를 지령 속도로 나눔으로써 등속 구간의 시간을 수학식 10을 통해 계산한다(B3). 이때 등속 시간 또한 가감속 시간과 마찬가지로 보간 주기의 정수배가 되어야 한다.Then, when the acceleration and deceleration time is determined, the moving distance (Srem) during the constant velocity section is obtained by subtracting the moving distance during acceleration and deceleration from the length of the block, and dividing it by the command speed to calculate the time of the constant velocity section by Equation 10 Calculate through (B3). At this time, the constant velocity time should be an integer multiple of the interpolation period like the acceleration and deceleration time.
여기서, Tconst는 등속 구간의 시간을 나타낸다.Here, Tconst represents the time of the constant velocity section.
이후, 가속, 감속, 등속 구간에서의 시간과 가감속도를 얻은 후, 이를 이용하여 수학식 11을 통해 각 보간 주기에서의 속도를 계산한다(B4).Then, after obtaining the time and the acceleration and deceleration speed in the acceleration, deceleration, constant velocity section, and calculates the speed in each interpolation period through the equation (11) (B4).
여기서, Vi는 i번째 보간 주기에서의 속도를 나타낸다.Where Vi represents the velocity at the i-th interpolation period.
다음으로, 직선 미소 블록에서의 속도 프로파일을 구하는 방법(PP2)은 도 8에 도시된 바와 같이, 수학식 12를 통해 블록의 최대 속도(Vmax)를 계산한다(C1).Next, as shown in FIG. 8, the method PP2 of obtaining a velocity profile in the straight minute block calculates the maximum velocity Vmax of the block (C1).
여기서, Stot는 블록의 길이를 나타낸다.Here, Stot represents the length of the block.
이후, 단계(C1)에서 계산된 Vmax와 수학식 13을 이용하여 가속 구간의 시간을 구하고(C2), 수학식 14를 이용하여 감속 구간의 시간을 구한다(C3).Thereafter, the time of the acceleration section is obtained using Vmax calculated in step C1 and Equation 13 (C2), and the time of the deceleration section is calculated using Equation 14 (C3).
이후, 단계(C2와 C3)에서 구한 가감속 시간과 수학식 15를 이용하여 블록 최대 속도를 수정하고(C4), 수학식 16을 통해 가감속도를 구한다(C5).Subsequently, the maximum block speed is corrected using the acceleration and deceleration time obtained in steps C2 and C3 and Equation 15 (C4), and the acceleration and deceleration is obtained through Equation 16 (C5).
이후, 수학식 17을 이용하여 각 보간 주기에서의 속도를 구한다(C6).Then, the speed in each interpolation period is calculated using Equation 17 (C6).
다음으로, 원호에서의 속도는 각속도를 의미하며, 원호 정상 블록에서의 속도 프로파일을 구하는 방법(PP3)은 도 9에 도시된 바와 같이, 최대 허용 가속도를 기준으로 지령 속도까지 도달하여 걸리는 시간 Tacc를 구하고, 수학식 18을 통해 가속 구간의 시간과 가속도를 계산한다(D1).Next, the speed in the circular arc means the angular velocity, and the method PP3 for obtaining the velocity profile in the circular arc normal block is shown in FIG. The time and acceleration of the acceleration section are calculated through Equation 18 (D1).
여기서, Wmax, Wstart는 각각 원호 블록에서의 최대 속도와 시점 속도를 나타낸다.Here, Wmax and Wstart represent the maximum speed and the start speed in the circular arc block, respectively.
이후, 수학식 19를 통해 감속 구간의 시간과 가속도를 구하고(D2), 수학식 20을 이용하여 등속 구간의 시간을 계산한다(D3).Thereafter, the time and acceleration of the deceleration section are obtained through Equation 19 (D2), and the time of the constant velocity section is calculated using Equation 20 (D3).
여기서, AW는 각 가속도를 의미한다.Here, AW means angular acceleration.
이후, 단계(D1, D2, D3)로부터 얻어진 가감속 시간, 등속 시간, 가감속도를 이용하여 각 보간 주기에서의 각속도는 수학식 21을 통해 계산한다(D4).Subsequently, the angular velocity in each interpolation period is calculated using Equation 21 using the acceleration / deceleration time, constant speed, and acceleration / deceleration times obtained from steps D1, D2, and D3 (D4).
마지막으로, 원호 미소 블록에서의 속도 프로파일을 구하는 방법(PP4)은 도 10에 도시된 바와 같이, 수학식 22를 통해 블록의 최대 각속도(Wmax)를 계산하고(E1), 최대 각속도를 이용하여 수학식 23을 통해 가속 시간을 계산하고(E2), 최대 각속도와 수학식 24를 통해 감속 시간을 계산한다(E3).Finally, a method PP4 for obtaining a velocity profile in an arc-shaped microblock is calculated using Equation 22 (E1), and using the maximum angular velocity as shown in FIG. The acceleration time is calculated through Equation 23 (E2), and the deceleration time is calculated through the maximum angular velocity and Equation 24 (E3).
이후, 단계(E2, E3)에서 계산된 가감속 시간을 이용하여 수학식 25를 통해 최대 각속도를 수정한다(E4).Then, the maximum angular velocity is corrected through Equation 25 using the acceleration and deceleration times calculated in steps E2 and E3 (E4).
여기서, tot는 원호 보간의 시작점과 끝점이 이루는 각도를 의미한다.Here, tot means the angle between the start point and the end point of circular interpolation.
이후, 가감속 시간을 이용하여 가속 구간과 감속 구간에서의 가감속도를 수학식 26을 통해 계산하고(E5), 수학식 27을 이용하여 각 보간 주기에서의 각속도를 계산한다(E6).Then, the acceleration and deceleration in the acceleration section and the deceleration section using the acceleration and deceleration time is calculated through Equation 26 (E5), and the angular velocity in each interpolation period is calculated using Equation 27 (E6).
이상에서 설명한 바와 같이, 본 발명은 고속 가공을 실현하기 위하여 기계 제어 시 앞으로 수행될 여러 블록의 정보를 함께 수치 제어를 고려하여 가공 속도가 저하되는 것을 방지함으로써, 길이가 작은 직선 블록이 연속되는 경우에도 속도의 저하 없이 가공을 수행할 수 있으며, 또한 자유 곡면 가공(금형 가공)을 위한 공구 경로는 길이가 작은 직선 블록으로 이루어져 있음에 따라 동작의 정확도, 부드러움 및 동작시간의 최소화를 통해 가동의 생산성을 높일 수 있어 밀링 및 선반 가공에서의 윤곽제어 방식으로 활용할 수 있는 효과가 있다.As described above, the present invention prevents the processing speed from being lowered in consideration of numerical control of information of several blocks to be performed at the time of machine control in order to realize high-speed machining, so that the case of straight linear blocks having a small length is continuous. The machining path can be carried out without slowing down, and the tool path for free-form cutting (mold machining) is made of straight blocks with a small length, thus minimizing the accuracy, smoothness and operation time of the operation. Since it can be increased, it can be used as a contour control method in milling and lathe machining.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0000892A KR100408821B1 (en) | 2002-01-08 | 2002-01-08 | Apparatus and method for controlling numerical of high process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0000892A KR100408821B1 (en) | 2002-01-08 | 2002-01-08 | Apparatus and method for controlling numerical of high process |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030060272A true KR20030060272A (en) | 2003-07-16 |
KR100408821B1 KR100408821B1 (en) | 2003-12-06 |
Family
ID=32217257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0000892A KR100408821B1 (en) | 2002-01-08 | 2002-01-08 | Apparatus and method for controlling numerical of high process |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100408821B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050103627A (en) * | 2004-04-27 | 2005-11-01 | 김두진 | Conture error compuation and controll method in cnc milling |
EP1517205A3 (en) * | 2003-08-05 | 2007-07-11 | Fanuc Ltd | Controller for machine |
KR100838974B1 (en) * | 2006-12-14 | 2008-06-17 | 엘에스산전 주식회사 | Multi-axis Continuous Operation Speed Control Method of Network Positioning Module |
KR20190036798A (en) * | 2017-09-28 | 2019-04-05 | 주식회사 대건테크 | Method for calculating metal powder supply rate of 3d printer |
KR102288358B1 (en) * | 2020-07-02 | 2021-08-10 | 한화시스템 주식회사 | Line of sight moving controlling method of tracking appratus and line of sight moving controlling appratus of tracking appratus |
CN117471991A (en) * | 2023-12-04 | 2024-01-30 | 烟台大学 | A feed speed planning method for short interpolation cycles |
CN118519393A (en) * | 2024-05-10 | 2024-08-20 | 东莞野火科技有限公司 | A dual-axis interpolation speed planning method for SMT equipment |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100880734B1 (en) * | 2007-05-31 | 2009-02-02 | 정융호 | Optimization Method of Interpolation Length for Speed Improvement of 5-Axis Milling Process Based on Mechanical Operation Characteristics |
KR102180545B1 (en) | 2018-10-26 | 2020-11-18 | 연세대학교 산학협력단 | Numerical control devices using virtual machine tool to limit machining error |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2660282B2 (en) * | 1987-07-07 | 1997-10-08 | トーヨーエイテック株式会社 | Non-circular NC machining method |
JP2531964B2 (en) * | 1988-01-20 | 1996-09-04 | マツダ株式会社 | Processing method of scroll shape |
JPH04229305A (en) * | 1990-12-27 | 1992-08-18 | Yaskawa Electric Corp | Controller for nc machine tool |
KR100284659B1 (en) * | 1998-11-20 | 2001-03-15 | 장흥순 | How to process while maintaining precision at the corners during high speed machining of machine tools |
-
2002
- 2002-01-08 KR KR10-2002-0000892A patent/KR100408821B1/en not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1517205A3 (en) * | 2003-08-05 | 2007-07-11 | Fanuc Ltd | Controller for machine |
KR20050103627A (en) * | 2004-04-27 | 2005-11-01 | 김두진 | Conture error compuation and controll method in cnc milling |
KR100838974B1 (en) * | 2006-12-14 | 2008-06-17 | 엘에스산전 주식회사 | Multi-axis Continuous Operation Speed Control Method of Network Positioning Module |
KR20190036798A (en) * | 2017-09-28 | 2019-04-05 | 주식회사 대건테크 | Method for calculating metal powder supply rate of 3d printer |
KR102288358B1 (en) * | 2020-07-02 | 2021-08-10 | 한화시스템 주식회사 | Line of sight moving controlling method of tracking appratus and line of sight moving controlling appratus of tracking appratus |
CN117471991A (en) * | 2023-12-04 | 2024-01-30 | 烟台大学 | A feed speed planning method for short interpolation cycles |
CN118519393A (en) * | 2024-05-10 | 2024-08-20 | 东莞野火科技有限公司 | A dual-axis interpolation speed planning method for SMT equipment |
Also Published As
Publication number | Publication date |
---|---|
KR100408821B1 (en) | 2003-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4980458B2 (en) | Machining time prediction device for numerically controlled machine tools | |
Yong et al. | A parametric interpolator with confined chord errors, acceleration and deceleration for NC machining | |
KR100517880B1 (en) | Off-line feed rate scheduling for reduction of machining time and enhancement of machining accuracy in cnc machining | |
Pateloup et al. | Corner optimization for pocket machining | |
JP5653972B2 (en) | Numerical control device with multi-curve insertion section | |
Lin | Real-time surface interpolator for 3-D parametric surface machining on 3-axis machine tools | |
KR100408821B1 (en) | Apparatus and method for controlling numerical of high process | |
KR19980086349A (en) | Method to determine individual points defining cutter path considering machine's ability to improve machining efficiency | |
JP2011158982A (en) | Controller for machine tool | |
JP7012229B2 (en) | Numerical control programming device, numerical control work system and numerical control work program | |
Emami et al. | A look-ahead command generator with control over trajectory and chord error for NURBS curve with unknown arc length | |
US20170003672A1 (en) | Numerical controller performing 3-dimensional interference check corresponding to feedrate change | |
JP5268974B2 (en) | Numerical control device and production system | |
Chien et al. | Accurate prediction of machining cycle times and feedrates with deep neural networks using BiLSTM | |
JP2013069123A (en) | Numerical control device performing speed control by allowable inward-turning amount in corner section | |
Dugas et al. | Development of a machining simulator considering machine behaviour | |
JP2000148223A (en) | Curve interpolation acceleration and deceleration control method | |
KR102180545B1 (en) | Numerical control devices using virtual machine tool to limit machining error | |
JP4271487B2 (en) | Numerical control apparatus and numerical control method | |
JP2003076410A (en) | Speed control device, speed control method and program for carrying the method with computer | |
Dugas et al. | High speed milling: solid simulation and machine limits | |
US20020072823A1 (en) | Machining | |
KR20020085716A (en) | Method for converting numerical code in computer numerical control apparatus | |
KR102503868B1 (en) | Numerical control device and method for estimating energy consumption of machine tool at component level | |
KR0151016B1 (en) | Acceleration / Deceleration Control Method of Servo Motor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20020108 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20030829 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20031126 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20031127 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20061108 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20061108 Start annual number: 4 End annual number: 4 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |