Numerical control device, identification method, and identification program

The numerical control device addresses the issue of uneven loads in machine tools by employing a biased load model to identify transmission characteristics, ensuring precise control and reducing processing errors.

JP7841370B2Active Publication Date: 2026-04-07BROTHER KOGYO KK
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-30
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing control systems for machine tools fail to accurately account for uneven loads during operation, leading to inaccuracies in determining control conditions and reducing the precision of physical parameter settings.

Method used

A numerical control device and method that identifies transmission characteristics of a machine tool by considering eccentric loads based on a reference angle, using a biased load model to accurately determine parameters, and includes filters to remove noise, ensuring precise control even when the reference angle is unknown or off-center.

Benefits of technology

Enables accurate identification of machine tool parameters, allowing for appropriate control and reducing processing errors by accounting for uneven loads, thereby enhancing the precision and efficiency of machine tool operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007841370000014
    Figure 0007841370000014
  • Figure 0007841370000015
    Figure 0007841370000015
  • Figure 0007841370000016
    Figure 0007841370000016
Patent Text Reader

Abstract

To provide a numerical control device, an identifying method and an identifying program that precisely identify a parameter of transfer characteristics of a machine tool so as to enable an appropriate control for the machine tool.SOLUTION: In a machine tool, in order to decide control parameters for fast-speed and precise control, physical parameters such as an inertia moment relating to the machine tool are necessary. In the machine tool, depending on a position where a work-piece is fixed to a jig, a reference angle that minimizes an unbalanced load may become a degree other than 0 degree. A numerical control device identifies parameters such as the reference angle and the inertia moment by applying a least square method to a model using the unbalanced load based on the reference angle (S8).SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a numerical control device, an identification method, and an identification program. [Background technology]

[0002] To appropriately determine the control conditions for controlling a machine tool, it is necessary to set physical parameters (such as inertia) that indicate the transmission characteristics of the machine tool with high precision. Patent Document 1 discloses a control error estimation technique. This estimation technique calculates the control input by applying an inverse model of the plant to the observed value of the control output. Then, the control error is estimated by comparing the calculated control input with the observed value of the control input. [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2011-72178 [Overview of the Initiative] [Problems that the invention aims to solve]

[0004] When the above technology is applied to set the physical parameters of a machine tool, the effect of uneven loads received during machine tool operation is not taken into account, resulting in a decrease in the accuracy of the physical parameters. Therefore, there is a problem in that it is sometimes impossible to determine control conditions that can properly control the machine tool.

[0005] The object of the present invention is to provide a numerical control device, an identification method, and an identification program that can accurately identify the parameters of the transmission characteristics of a machine tool and appropriately control the machine tool. [Means for solving the problem]

[0006] The numerical control device according to claim 1 is a numerical control device that outputs a command indicating the driving conditions of a motor to a machine tool equipped with a motor for moving and rotating a tool for processing a workpiece relative to the workpiece, and comprises an acquisition unit for acquiring input conditions which are predetermined driving conditions, and an identification unit for identifying the parameters of the transmission model based on the output result output to the motor according to the input conditions acquired by the acquisition unit and the derivation result obtained by applying the transmission model of the machine tool to the input conditions, wherein the transmission model includes the eccentric load based on the angle rotated from a reference angle where the eccentric load becomes zero, and the parameters include the reference angle.

[0007] In a numerical control system, parameters including the reference angle are identified using a transmission model that employs a biased load based on the reference angle. This allows the numerical control system to accurately identify parameters even when the reference angle is not zero due to workpiece conditions, or when the reference angle is unknown. Therefore, the numerical control system can appropriately control the machine tool.

[0008] The numerical control device according to claim 2 may include an input condition determination unit that determines whether to use the input conditions acquired by the acquisition unit for the identification of the parameters by the identification unit. The numerical control device determines the input conditions to be used for parameter identification. As a result, the numerical control device removes input conditions that worsen the accuracy of parameter identification, so that parameters can be identified with high accuracy.

[0009] In the numerical control device according to claim 3, the driving conditions include the driving time and driving angle of the motor, and the device may also include an identification determination unit that calculates the driving acceleration by taking the second derivative of the driving angle with respect to time, and determines whether or not to identify the parameter based on the driving acceleration. In the numerical control device, when the motor is driven, the identification unit does not identify the parameter if the calculated driving acceleration is smaller than a predetermined value and the eccentric load is small. Therefore, the numerical control device can simplify the processing.

[0010] The numerical control device according to claim 4 may include a filter to remove noise contained in the input conditions before they are determined by the input condition determination unit. The input conditions after they are determined by the input condition determination unit become discontinuous as a result of the determination by the input condition determination unit. If such discontinuous input conditions are filtered to remove noise and identify the parameters, the accuracy of the identification may deteriorate. The numerical control device removes noise contained in the input conditions before they are determined by the input condition determination unit using a filter. As a result, the numerical control device can identify the parameters with high accuracy.

[0011] The numerical control device according to claim 5 may include an overload determination unit that determines whether or not the workpiece is overloaded based on the parameters identified by the identification unit, and a notification unit that notifies the operator that the workpiece is overloaded when the overload determination unit determines that the workpiece is overloaded. The numerical control device determines whether or not the workpiece is overloaded. If it is determined that the workpiece is overloaded, the operator can become aware of the overloading of the workpiece through notification from the notification unit.

[0012] In the numerical control device of claim 6, the machine tool rotates a table for fixing the workpiece, the identification unit identifies an uneven load coefficient, which is the coefficient of the uneven load of the load attached to the table, as a parameter, and the device may include a correction unit that corrects the command angle by the amount of angle error due to fixing the workpiece to the table, based on the reference angle, the torsional stiffness coefficient of the motor, the uneven load coefficient identified by the identification unit, and the command angle for rotating the table commanded by the program, and a drive control unit that drives the motor by an amount corresponding to the command angle corrected by the correction unit. The numerical control device corrects the command angle by the amount of angle error even when the reference angle is not 0 due to the conditions of the load, or when the reference angle is unknown. Therefore, the numerical control device can appropriately control the machine tool.

[0013] The numerical control device according to claim 7 includes a calculation unit that calculates the angle error based on the reference angle, the torsional stiffness coefficient, the eccentric load coefficient, and the command angle, and the correction unit may correct the command angle with the angle error calculated by the calculation unit. The numerical control device can simplify the process of correcting the command angle by the angle error compared to a device that corrects the command angle by the angle error without calculating the angle error.

[0014] In the numerical control device according to claim 8, the calculation unit may calculate the biased load when the load is not attached to the stand based on the biased load coefficient and the reference angle when the load is not attached to the stand, and calculate the biased load when the load is attached to the stand based on the biased load coefficient and the reference angle when the load is attached to the stand, and calculate the angle error based on the change in the biased load when the load is not attached to the stand and the biased load when the load is attached to the stand. The numerical control device can correct the command angle with greater accuracy than a device that corrects the angle error without considering the change in the biased load.

[0015] In the numerical control device of claim 9, the identification unit may identify the biased load coefficient and the reference angle when no load is attached to the stand based on the output result and the derived result when the stand is rotated by a predetermined angle when no load is attached to the stand, and identify the biased load coefficient and the reference angle when a load is attached to the stand based on the output result and the derived result when the stand is rotated by a predetermined angle when a load is attached to the stand. The numerical control device can identify the biased load coefficient and reference angle when no load is attached to the stand, and the biased load coefficient and reference angle when a load is attached to the stand, respectively.

[0016] The identification method of claim 10 is an identification method for identifying parameters for determining a command indicating the driving conditions of a motor in a machine tool equipped with a motor for relatively moving and rotating a tool for processing a workpiece and the workpiece, comprising: an acquisition step of acquiring input conditions which are predetermined driving conditions; and an identification step of identifying the parameters of the transmission model based on the output result output to the motor in accordance with the input conditions acquired in the acquisition step and the derivation result obtained by applying the transmission model of the machine tool to the input conditions, wherein the transmission model includes the eccentric load based on the angle rotated from a reference angle where the eccentric load is zero, and the parameters include the reference angle. The identification method has the same effect as the numerical control device of claim 1.

[0017] The identification program of claim 11 is an identification program for identifying parameters for determining a command indicating the driving conditions of a motor in a machine tool equipped with a motor for relatively moving and rotating a tool for processing a workpiece and the workpiece, comprising: an acquisition process for acquiring input conditions which are predetermined driving conditions; and an identification process for identifying the parameters of the transmission model based on the output result output to the motor according to the input conditions acquired by the acquisition process and the derivation result obtained by applying the transmission model of the machine tool to the input conditions, wherein the transmission model includes the eccentric load based on the angle rotated from a reference angle where the eccentric load is zero, and the parameters include the reference angle. The identification program has the same effect as the numerical control device of claim 1. [Brief explanation of the drawing]

[0018] [Figure 1] Perspective view of machine tool 1. [Figure 2] Perspective view of support device 8. [Figure 3] Rear view of support device 8 when angle θ is 90 degrees. [Figure 4] This diagram illustrates the case when the workpiece W is fixed to the jig 201 in an off-center position relative to the C axis. [Figure 5]This diagram illustrates the case when the workpiece W is fixed to the jig 201 in a position that is not off-center with respect to the C axis. [Figure 6] A block diagram showing the electrical configuration of the numerical control device 40 and the machine tool 1. [Figure 7] A diagram showing the control system of the drive circuit 55. [Figure 8] A functional block diagram showing the functions of the numerical control device 40. [Figure 9] Graphs showing angular velocity and angular acceleration curves when two-stage moving average filters FIR1 and FIR2 are applied. [Figure 10] Flowchart of the main processing. [Figure 11] Flowchart of the identification process. [Figure 12] A graph showing the evaluation results of the main processing. [Figure 13] Flowchart of the correction process. [Figure 14] A graph showing the evaluation results of the correction process. [Figure 15] Flowchart of the coefficient identification process. [Modes for carrying out the invention]

[0019] Embodiments of the present invention will be described with reference to the drawings. The following description will use the left / right, front / back, and up / down directions indicated by arrows in the drawings. The left / right direction, front / back direction, and up / down direction of the machine tool 1 are the X-axis direction, Y-axis direction, and Z-axis direction, respectively. The right direction, front direction, and up direction are positive directions, respectively, while the left direction, rear direction, and down direction are negative directions, respectively. The machine tool 1 shown in Figure 1 is a multi-function machine capable of cutting and turning a workpiece W (see Figure 2) using a tool.

[0020] Referring to Figures 1 and 2, the structure of machine tool 1 will be described. Machine tool 1 includes a base 2, a Y-axis movement mechanism (not shown), an X-axis movement mechanism (not shown), a Z-axis movement mechanism (not shown), a moving body 15, a column 5, a spindle head 6, a spindle (not shown), a support device 8, a tool changer 9, a control box (not shown), a numerical control device 40 (see Figure 6), etc. Base 2 includes a frame 11, a spindle base 12, a right-side base 13, a left-side base 14, etc. Frame 11 is a roughly rectangular parallelepiped structure that is long in the front-to-back direction. The spindle base 12 is formed in a roughly rectangular parallelepiped shape that is long in the front-to-back direction and is installed at the rear of the upper surface of frame 11. The right-side base 13 is installed at the front right of the upper surface of frame 11. The left-side base 14 is installed at the front left of the upper surface of frame 11. The right-side base 13 and the left-side base 14 each support a support device 8 on their upper surfaces.

[0021] The Y-axis movement mechanism is provided on the upper surface of the spindle base 12 and includes a Y-axis motor 62 (see Figure 6), etc. Driven by the Y-axis motor 62, the Y-axis movement mechanism moves a substantially flat movable body 15 in the Y-axis direction. The X-axis movement mechanism is provided on the upper surface of the movable body 15 and includes an X-axis motor 61 (see Figure 6), etc. Driven by the X-axis motor 61, the X-axis movement mechanism moves the vertical column 5 in the X-axis direction. The vertical column 5 moves on the base 2 in the X-axis and Y-axis directions by the Y-axis movement mechanism, the movable body 15, and the X-axis movement mechanism. The Z-axis movement mechanism is provided on the front of the vertical column 5 and includes a Z-axis motor 63 (see Figure 6), etc. Driven by the Z-axis motor 63, the Z-axis movement mechanism moves the spindle head 6 in the Z-axis direction. The spindle (not shown) is provided inside the spindle head 6 and has a tool mounting hole (not shown) at the bottom of the spindle. The tool mounting hole is for mounting a tool. Therefore, the X-axis movement mechanism, Y-axis movement mechanism, and Z-axis movement mechanism move the workpiece W relative to the tool mounted on the spindle in the X-axis, Y-axis, and Z-axis directions, respectively. The spindle is rotated by a spindle motor 66 (see Figure 3) located on the upper part of the spindle head 6. At this time, the tool mounted on the spindle rotates relative to the workpiece W.

[0022] The tool changer 9 is roughly annular in shape, surrounding the vertical column 5 and the spindle head 6. The tool changer 9 changes the tool currently mounted on the spindle while the Z-axis movement mechanism raises and lowers the spindle head 6. The control box is mounted on the outer wall of the cover (not shown) that covers the machine tool 1. The numerical control device 40 is housed inside the control box. The numerical control device 40 controls the operation of the machine tool 1 based on the NC program. The cover that covers the machine tool 1 has an operation panel 10 (see Figure 6) on its outer wall surface. The operation panel 10 has an operation unit 18 and a display unit 19. The operation unit 18 is used to set various settings for the numerical control device 40. The display unit 19 displays various screens, messages, alarms, etc.

[0023] The support device 8 is fixed to the upper surfaces of the right base 13 and the left base 14. As shown in Figures 2 and 3, the support device 8 includes an A-axis base 20, a left support base 27, a drive unit 28, a rotary base 29, a C-axis drive unit 30, etc. Loads 200 and 300 can be detachably attached to the A-axis base 20. The load 200 is attached to the A-axis side (base side) of the A-axis base 20. A detailed explanation of the load 200 will be given later. The load 300 includes a rotary cylinder and a rotary joint attached to the A-axis base 20 on the opposite side (tail side) from the A-axis side. The rotary joint supplies liquids such as cutting fluid and coolant. The rotary cylinder drives the movable part of a jig such as a chuck that holds the workpiece W in a linear direction.

[0024] The A-axis head 20 comprises a base portion 21 and connecting portions 22 and 23. The base portion 21 is a plate-like portion that is approximately rectangular in plan view, with its upper surface parallel to the reference plane R (see Figure 4) when the angle θ of the A-axis head 20 with respect to the reference plane R is 0 degrees. The reference plane R is a virtual plane parallel to the horizontal plane. The angle θ increases when the A-axis head 20 rotates clockwise in a right-side view. The angle θ decreases when the A-axis head 20 rotates counterclockwise in a right-side view.

[0025] The connecting portion 22 extends diagonally upward and to the right from the right end of the base portion 21 and is rotatably connected to the drive portion 28. The connecting portion 22 has a substantially cylindrical support shaft 32 that protrudes to the right from its right end face. The connecting portion 23 extends diagonally upward and to the left from the left end of the base portion 21 and is rotatably connected to the left support base 27, which will be described later. The connecting portion 23 has a substantially cylindrical support shaft 31 that protrudes to the left from its left end face. The left support base 27 is located to the right of the A-axis base 20. The left support base 27 rotatably supports the support shaft 31. The bottom of the left support base 27 is fixed to the upper surface of the left base 14 (see Figure 1).

[0026] The drive unit 28 is located on the right side of the A-axis head 20. The drive unit 28 includes a right-side support base 26, an A-axis motor 65, a reduction gear (not shown), etc. The bottom of the right-side support base 26 is fixed to the upper surface of the right-side base 13 (see Figure 1). The right-side support base 26 rotatably supports the pivot shaft 32 of the connecting section 22 via the A-axis output shaft 67. The pivot shaft 32 of the connecting section 22 and the output shaft of the A-axis motor 65 are connected to each other via the A-axis output shaft 67 and the reduction gear. When the output shaft of the A-axis motor 65 rotates, the A-axis head 20 rotates integrally with the connecting sections 22 and 23 around the A-axis (see Figures 3 and 4). The A-axis is parallel to the X-axis direction and passes through the centers of the pivot shafts 31 and 32 in a side view. The drive unit 28 rotates the workpiece W relative to the tool around the A-axis. The A-head 20 tilts at any angle around the A-axis, thereby tilting the workpiece W relative to the tool mounted on the spindle in any direction around the A-axis.

[0027] The rotating base 29 is rotatably mounted approximately in the center of the A-axis side surface of the base portion 21. The rotating base 29 is formed in a disc shape and is mounted approximately in the center of the A-axis side surface of the A-axis base 20. The C-axis drive unit 30 is mounted on the A-axis side surface of the base portion 21 and is connected to the rotating base 29 via a hole (not shown) provided approximately in the center of the base portion 21.

[0028] The C-axis drive unit 30 includes a rotating shaft (not shown), a reduction gear (not shown), a C-axis motor 64 (see Figure 4), etc. The rotating shaft extends in a direction perpendicular to the turntable 29. The rotating shaft is fixed to the turntable 29. The rotor of the C-axis motor 64 is connected to the rotating shaft via a reduction gear. Therefore, when the C-axis motor 64 rotates the rotating shaft, the turntable 29 rotates around the C-axis. The top surface of the turntable 29 is used to fix the load 200.

[0029] Referring to Figures 2 to 4, the load 200 of this embodiment will be described. As shown in Figures 2 and 3, the load 200 includes a jig 201 and a workpiece W. The jig 201 is formed in a disc shape and fixes the workpiece W to the turntable 29. The diameter of the jig 201 is larger than the diameter of the turntable 29. The rotation axis of the jig 201 is coaxial with the rotation axis of the turntable 29.

[0030] The workpiece W is cylindrical and extends in the direction of the virtual axis CW. The virtual axis CW extends parallel to the C axis. The workpiece W is fixed to the A axis side of the jig 201 (see Figure 4(A)). When the angle θ of the A-headrest 20 is 0 degrees, the workpiece W is located at the rear end of the jig 201. That is, the virtual axis CW is eccentric with respect to the C axis. The C-axis drive unit 30 rotates the workpiece W around the C axis relative to the tool.

[0031] In machine tool 1, an eccentric load (rotational moment) from the load 200 acts on the A-axis motor 65. The eccentric load on the A-axis motor 65 is a force or torque that attempts to rotate the A-axis motor 65 in a specific direction. The magnitude of the eccentric load on the A-axis motor 65 varies based on the angle θ of the A-axis base 20 of the support device 8. As shown in Figure 4(A), when the angle θ of the A-axis base 20 is 0 degrees, the overall center of gravity GA of the A-axis base 20, C-axis drive unit 30, and load 300 is located below the A-axis. Hereinafter, the entire A-axis base 20, C-axis drive unit 30, and load 300 will be referred to as the support body 25. The center of gravity GW of the load 200 is located behind the A-axis. When the A-axis motor 65 rotates, a force due to the eccentric load acts on the A-axis motor 65 in a vertically downward direction.

[0032] For example, as shown in Figure 5, when the virtual axis CW of the workpiece W is coaxial with the C axis and fixed at the center of the jig 201, the center of gravity GA of the holder 25 and the center of gravity GW of the load 200 are balanced with respect to the A axis when the angle θ of the A-axis base 20 is 0 degrees. The center of gravity GA and the center of gravity GW being balanced with respect to the A axis means that the moment around the A axis due to gravity is zero. Specifically, the moment around the A axis is zero when the combined center of gravity of the holder 25 and the load 200 is directly below the center of rotation of the A axis. At this time, the magnitude of the eccentric load on the A-axis motor 65 by the load 200 is zero.

[0033] On the other hand, as shown in Figure 4(B), when the position where the workpiece W is fixed is off-center relative to the C axis, the center of gravity GA of the holder 25 and the center of gravity GW of the load 200 are balanced with respect to the A axis only when the angle θ of the A-axis base 20 is 0. In this embodiment, the center of gravity GA of the holder 25 and the center of gravity GW of the load 200 are balanced with respect to the A axis only when the angle θ of the A-axis base 20 is 10 degrees. Thus, when the position where the workpiece W is fixed is off-center relative to the C axis, the angle at which the magnitude of the off-center load on the A-axis motor 65 becomes zero varies from the angle at which the A-axis base 20 is horizontal (θ=0 degrees).

[0034] The angle at which the magnitude of the eccentric load on the A-axis motor 65 becomes zero varies depending on the position where the workpiece W is fixed and the weight of the workpiece W. Therefore, when the angle at which the magnitude of the eccentric load on the A-axis motor 65 becomes zero is unknown, the numerical control device 40 may not be able to accurately control the drive of the A-axis motor 65. Below, the angle at which the magnitude of the eccentric load becomes zero (in this embodiment, θ = 10 degrees) is used as the reference angle θ. a That's what they say.

[0035] Referring to Figure 6, the electrical configuration of the numerical control device 40 and the machine tool 1 will be explained. The numerical control device 40 includes a CPU 41, ROM 42, RAM 43, storage unit 44, input / output unit 45, and drive circuits 51 to 56. The machine tool 1 includes an X-axis motor 61, a Y-axis motor 62, a Z-axis motor 63, a C-axis motor 64, an A-axis motor 65, a spindle motor 66, and encoders 71 to 76. Hereinafter, when drive circuits 51 to 56 are not distinguished, they will be collectively referred to as drive circuit 50. When X-axis motor 61, Y-axis motor 62, Z-axis motor 63, C-axis motor 64, A-axis motor 65, and spindle motor 66 are not distinguished, they will be collectively referred to as motor 60. When encoders 71 to 76 are not distinguished, they will be collectively referred to as encoder 70.

[0036] The CPU 41 controls the operation of the machine tool 1. The ROM 42 stores control programs and the like for executing the main processing (see Figure 10), which will be described later. The RAM 43 stores various data generated during the execution of various processes. The memory unit 44 stores NC programs and the like. The input / output unit 45 is electrically connected to the drive circuit 50, encoder 70, operation unit 18, and display unit 19, and performs input and output of various signals between the drive circuit 50, encoder 70, operation unit 18, and display unit 19.

[0037] The drive circuit 50 outputs a pulse signal to the motor 60 based on a command output by the CPU 41. The encoder 70 detects the rotation angle of the output shaft of the corresponding motor 60 and outputs the detected signal to the drive circuit 50 and the input / output unit 45. All motors 60 are servo motors. The encoder 70 is a general absolute value encoder.

[0038] The control system of the drive circuit 55 will be explained with reference to Figure 7. The CPU 41 of the numerical control device 40 generates time-series data (described later) of the target angle at predetermined intervals based on the A-axis feed command of the NC program, and outputs an angle command corresponding to each data to the drive circuit 55. The angle command indicates the rotation angle of the output shaft of the A-axis motor 65 when the A-axis base 20 is rotated to the target angle indicated by the data. The encoder 75 outputs the current rotation angle information of the output shaft of the A-axis motor 65 as a return value to the drive circuit 55. Based on the return value and the angle command, the drive circuit 55 controls the drive current output to the A-axis motor 65. Specifically, the drive circuit 55 calculates the angle deviation between the return value and the angle command using an adder 55A, and calculates the angular velocity command by multiplying the angle deviation by an angle-proportional gain. The drive circuit 55 calculates the angular velocity deviation between the calculated angular velocity command and the angular velocity return value using an adder 55B. The angular velocity return value is the actual angular velocity, and is the value obtained by differentiating the return value using a differentiator 55C. The drive circuit 55 generates a torque command by adding a current command obtained by multiplying the angular velocity deviation calculated by the adder 55D by an angular velocity proportional gain, and a current command obtained by integrating the angular velocity deviation with the integrator 55E and multiplying the result of the integration by an angular velocity integral gain. The drive circuit 55 drives the A-axis motor 65 with the pulse signal indicating the torque command.

[0039] The A-axis rapid traverse of a tool based on an A-axis rapid traverse command will be explained. As shown in Figure 8, the CPU 41 of the numerical control device 40 first reads the NC program and obtains the feed axis command from the NC program (P1). The CPU 41 determines time-series data of the target angle in order to move the workpiece W to the angle specified by the feed axis command (P2). The CPU 41 outputs the target angle data to the drive circuit 55 at a predetermined period. This data indicates the driving conditions of the A-axis motor 65 for moving the workpiece W to the target angle.

[0040] The drive circuit 55 drives the A-axis motor 65 based on the target angle data output by the CPU 41. The A-axis motor 65 rotates the A-axis base 20 around the A-axis to the target angle. Each time the CPU 41 inputs target angle data to the drive circuit 51, the drive circuit 55 drives the A-axis motor 65. As a result, the A-axis base 20 eventually reaches the rotation angle specified by the feed axis command (hereinafter referred to as the "command angle"). The above control performed by the CPU 41 based on the feed axis command is called "feed axis control".

[0041] Referring to Figure 9, the method by which the CPU 41 determines the time-series data of the target angle will be explained. As shown in Figures 9(A) and 9(B), first the CPU 41 determines each target angle such that the speed of the A-axis 20 remains constant when it moves to the commanded angle of the feed axis command (Figure 9(B)) (Figure 9(A)). Next, the CPU 41 applies a moving average filter (hereinafter referred to as "FIR filter") at least twice to the waveform showing the time-series change of angular velocity shown in Figure 9(B) (hereinafter referred to as "angular velocity waveform") to smooth the change in angular velocity (Figures 9(C) and 9(D)). The FIR filter applied the first time is called the "first FIR filter" and is represented as "FIR1" in Figure 9. The time constant of the angular velocity when the first FIR filter is applied is called "T1". The FIR filter applied the second time is called the "second FIR filter" and is represented as "FIR2" in Figure 9. The time constant of the angular velocity when the second FIR filter is applied is called "T2".

[0042] When the first FIR filter is applied to the angular velocity waveform shown in Figure 9(B), the slope (angular acceleration) of the portion of the angular velocity waveform where the angular velocity changes from 0 to Vmax (rising edge) and the portion where the angular velocity changes from Vmax to 0 (falling edge) becomes constant, as shown in Figure 9(C). The time of the rising edge and falling edge of the velocity waveform (hereinafter referred to as "rising edge time" and "falling edge time," respectively) is both t1. t1 corresponds to the time constant T1 when the first FIR filter is applied to the angular velocity waveform.

[0043] When the second FIR filter is applied to the angular velocity waveform with the first FIR filter applied (see Figure 9(C)), as shown in Figure 9(D), the angular velocity changes gradually at the beginning and end of the portion where the slope (angular acceleration) of the rising and falling portions of the angular velocity waveform is constant. At this time, in the waveform showing the time-series change of acceleration (hereinafter referred to as the "angular acceleration waveform"), the slope corresponding to the portion where the angular velocity changes gradually becomes constant.

[0044] The rise and fall times of the angular velocity waveform increase by t2 each, becoming "t1 + t2". t2 corresponds to the time constant T2 when the second FIR filter is applied to the angular velocity waveform. As described above, the CPU 41 mitigates the change in the movement speed of the support device 8 during feed axis control by applying multiple FIR filters to the angular velocity. The time constant T1 of the first FIR filter and the time constant T2 of the second FIR filter correspond to the acceleration and deceleration time constants of the A-axis motor 65 being controlled.

[0045] The CPU 41 calculates the tool's angular velocity (see Figure 9(B)) at predetermined intervals based on the feed axis command obtained from the NC program in step P1 (see Figure 8). The CPU 41 adjusts the acceleration and deceleration characteristics corresponding to the shape of the angular velocity waveform by applying the first and second FIR filters, respectively, with time constants T1 and T2, to the calculated angular velocity (Figure 9(C)(D)). The CPU 41 determines the target angle at predetermined intervals based on the angular acceleration waveform (see Figure 9(D)) calculated by applying the first and second FIR filters. The CPU 41 outputs the determined target angle data to the drive circuit 51 at predetermined intervals. The CPU 41 optimizes and adjusts the time constants T1 and T2 of the first and second FIR filters in step P7 (see Figure 8), described later. The CPU 41 uses the first and second FIR filters with the adjusted time constants T1 and T2.

[0046] The drive circuit 51 drives the A-axis motor 65 based on the data of the target angle output by the CPU 41 at a predetermined cycle. The A-axis motor 65 rotates the A-axis table 20 around the A-axis to the target angle. The A-axis table 20 repeats the operation of rotating to the target angle every predetermined cycle. As a result, the A-axis table 20 finally reaches the command angle specified by the feed axis command.

[0047] Identification of the eccentric load and the reference angle θ a will be described. In the present embodiment, the torque u raw (N·m) output by the drive circuit 55 to the A-axis motor 65 and the return value x raw from the encoder 75 are used for the model to be controlled to identify the eccentric load and the reference angle θ a .

[0048] Before executing the identification of the eccentric load and the reference angle θ a , the CPU 41 determines whether to execute the identification in the current control (P3). The CPU 41 determines whether to execute the identification in the current control based on three conditions.

[0049] The first condition is that the maximum value A MAX of the angular acceleration is greater than or equal to the first predetermined value based on the calculated angular acceleration waveform (see FIG. 9(D)). The second condition is that the range of the target angle (target value θ) in the current control includes the predetermined range. The third condition is that the load axis does not operate simultaneously with the rotational movement of the A-axis table 20 around the A-axis. The load axis is an axis that affects the torque u raw output by the A-axis motor 65 during its operation. The operation of the load axis is a translational movement of the support device 8 in a direction intersecting the A-axis or a rotational movement of the support device 8 in a direction intersecting the A-axis. In the present embodiment, the load axes are the Y-axis and the C-axis.

[0050] When all three conditions are satisfied, the CPU 41 determines that the magnitude of the torque u raw output by the A-axis motor 65 is sufficiently large, and the eccentric load and the reference angle θ aIt can be identified with high accuracy. The CPU 41 determines to perform identification in this control operation when all three conditions are met.

[0051] CPU41 is affected by the load distribution and the reference angle θ. a Before performing identification, a low-pass filter is used to check the torque u raw and return value x raw Differential noise is removed from (P4, P5). The torque u after the low-pass filter is applied is given by equation (1). The return value x after the low-pass filter is applied is given by equation (2). In equations (1) and (2), G LPF This is a low-pass filter used to remove differential noise. u=G LPF u raw ...Equation (1) x=G LPF x raw ...Equation (2)

[0052] CPU41 controls the torque u and return value x with respect to the eccentric load and reference angle θ. a Determine whether to use it for identification (P6). Specifically, CPU41 obtains the angular velocity return value (angular velocity (rad / s)) from the differentiator 55C. If the obtained angular velocity return value is greater than or equal to a second predetermined value, CPU41 uses the torque u and return value x as the biased load and reference angle θ. a It is determined that this will be used for identification.

[0053] CPU41 uses the model to determine the eccentric load and reference angle θ. a Identify the model to be controlled in this embodiment. The model to be controlled can be set appropriately using multiple variables, for example, as shown in equation (3). The eccentric load at angle θ is F θ sin(θ-θ a It is represented by the eccentric load coefficient F. θ (N·m) is a parameter used to calculate the uneven load. In the following, "θ (superscript dot)" represents the first time derivative of the angle θ (angular velocity (rad / s)). "θ (superscript dots)" represents the second time derivative of the angle (angular acceleration (rad / s)). 2 )) indicates. J(kg·m 2) is the moment of inertia with respect to the support device 8.

number

[0054] In equation (3), f satisfies the relationship in equation (4). Here, F C (N·m) is the Coulomb friction with respect to the support device 8. The sign function is a sign function that returns 1, -1, or 0 depending on the sign of a real number. D(N·m / (rad / s)) is the viscous friction coefficient with respect to the support device 8.

number

[0055] The torque u output by the drive circuit 55 is expressed by equations (3), (4), and the addition theorem, which gives equation (5). Equation (5) shows the transmission model of the machine tool 1.

number

[0056] The torque u can be estimated by the model in equation (5). The estimation error e(ρ) can be calculated by equation (8), where ρ is a specific parameter. The superscript T indicates that it is the transpose matrix. For example, ρ T This represents the transpose matrix of ρ. e(ρ) = u - ρ T x...Equation (8) In equation (8), ρ and x satisfy the relationships in equations (9) and (10), respectively.

number

number

[0057] CPU41 is the evaluation function |e(ρ)| 2 The ρ that minimizes is calculated using the successive least squares method (P7). Specifically, the successive least squares method is calculated by setting the parameter being identified in step k as ρ with circumflex (hereinafter denoted as ρ^)(k), the estimated error e(ρ) in step k as ε(k), and the covariance matrix in step k as P(k), then ρ^(k), ε(k), and P(k) are calculated by the following equations (11), (12), and (13).

number

number

number

[0058] ρ^(k), ε(k), and P(k) can all be sequentially calculated using the above equations (11), (12), and (13) using ρ^(k-1), ε(k-1), and P(k-1) at step (k-1), as well as the torque u(k) and return value x(k) at step k. Therefore, by calculating the above equations (11), (12), and (13) at each step, the evaluation function |e(ρ)| can be obtained. 2 The value of ρ that minimizes this can be calculated sequentially.

[0059] According to the above successive least squares method, CPU41 is assigned an uneven load F θ sin(θ-θ a In a model that takes ) into consideration, the evaluation function |e(ρ)| 2 The CPU calculates the ρ that minimizes the error e. That is, the CPU 41 calculates the variables (moment of inertia J, viscous friction coefficient D, Coulomb friction F) that minimize the estimation error e. C , coefficient F a F b Identify (P7).

[0060] CPU41 further calculates the eccentric load coefficient F using equations (14) and (15), which are derived from equations (6) and (7). θ , reference angle θ a This calculates the eccentric load at angle θ. This allows CPU41 to determine that F θ sin(θ-θ a ) are identified. Below, the moment of inertia J, viscous friction coefficient D, and Coulomb friction F identified using the above evaluation function are described. C , eccentric load coefficient F θ , reference angle θ a These are collectively referred to as "parameters."

number

number

[0061] The CPU 41 stores the identified parameters in the storage unit 44 and updates the parameters (P8). The CPU 41 also determines whether or not the workpiece W is overloaded (P9). In step P9, the CPU 41 determines the eccentric load F at the angle θ where the eccentric load is maximum. θ sin(θ-θ a Determine whether ) is less than or equal to the third predetermined value. When the eccentric load is at its maximum, sin(θ-θ) a Since )=1, the eccentric load coefficient F is θ The CPU 41 determines whether the value is less than or equal to the third predetermined value. In the P9 process, the CPU 41 further determines whether the identified moment of inertia J is less than or equal to the fourth predetermined value. The CPU 41 determines whether the eccentric load F θ sin(θ-θ a When the third predetermined value is less than or equal to the moment of inertia J is less than or equal to the fourth predetermined value, it is determined that the workpiece W is overloaded. At this time, the CPU 41 notifies the machine tool 11 of the overloading of the workpiece W via the display unit 19 and stops the operation of the machine tool 1.

[0062] Referring to Figure 10, the main processing performed by the CPU 41 of the numerical control device 40 will be explained. When the power supply of the numerical control device 40 is turned ON, the main processing starts when the CPU 41 reads and executes the control program stored in the memory unit 44.

[0063] The CPU 41 reads the NC program stored in the memory unit 44 (S1). The CPU 41 determines whether the commands in the read NC program satisfy the rapid traverse condition (S2). The rapid traverse condition refers to the operating condition in which the motor 60 rotates at the maximum speed that can be set in the machine tool 1. If the CPU 41 determines that the command does not satisfy the rapid traverse condition (S2: NO), it returns to S1. If the CPU 41 determines that the command satisfies the rapid traverse condition (S2: YES), it proceeds to S3. This process corresponds to step P1 in Figure 8.

[0064] The CPU 41 generates time-series data of the target angle (target value θ) to be output to the drive circuit 50 according to the acquired rapid traverse conditions (S3). This process corresponds to step P2 in Figure 8.

[0065] CPU41 calculates the maximum value A of the angular acceleration based on the time-series data of the generated target angle. MAX It is determined whether the value is greater than or equal to the first predetermined value (S4). The CPU 41 determines the maximum value A of the angular acceleration. MAX When it is determined that the value is less than the first predetermined value (S4:NO), the process returns to S1. The CPU 41 determines the maximum value A of the angular acceleration. MAX When it is determined that the value is greater than or equal to the first predetermined value (S4:YES), it is determined whether the time-series data of the target angle includes a predetermined range (S5). If the CPU 41 determines that the time-series data of the target angle does not include a predetermined range (S5:NO), the process returns to S1. If the CPU 41 determines that the time-series data of the target angle includes a predetermined range (S5:YES), it is determined whether the A-axis and the load axes (Y-axis, C-axis) will operate simultaneously in this control (S6). If the CPU 41 determines that the A-axis and the load axes will operate simultaneously (S6:NO), the process returns to S1. If the CPU 41 determines that the A-axis and the load axes will not operate simultaneously (S6:YES), the process proceeds to S7. This process corresponds to step P3 in Figure 8.

[0066] The CPU 41 outputs time-series data of the determined target angle to the drive circuit 50 (S7). At this time, the drive circuit 50 drives the corresponding motor 60, such as the A-axis motor 65. The machine tool 1 processes the workpiece W with the tool. The CPU 41 performs identification processing (S8).

[0067] Refer to Figure 11 to explain the identification process. The CPU 41 controls the parameters (moment of inertia J, viscous friction coefficient D, Coulomb friction F). C , eccentric load coefficient F θ , reference angle θ a Set ) as the initial value (S11).

[0068] The CPU 41 receives the torque u that the drive circuit 55 outputs to the A-axis motor 65. raw , and the return value x from encoder 75 raw Get (S12). CPU41 gets the acquired torque u raw and return value x raw A low-pass filter is applied to each of them, and the torque u raw and return value x raw Noise is removed (S13). This process corresponds to steps P4 and P5 in Figure 8.

[0069] The CPU 41 obtains the angular velocity return value (angular velocity (rad / s)) from the differentiator 55C and determines whether the obtained angular velocity return value is greater than or equal to a second predetermined value (S14). If the CPU 41 determines that the angular velocity return value is less than the second predetermined value (S14: NO), it returns to S12. If the CPU 41 determines that the angular velocity return value is greater than or equal to the second predetermined value (S14: YES), it proceeds to S15. This process corresponds to step P6 in Figure 8.

[0070] The CPU 41 applies the evaluation function |e(ρ)| which is generated by the torque u and return value x output by the drive circuit 55. 2 Based on equation (8), the parameters that minimize the estimated error e at angle θ are identified (S15). This process corresponds to step P7 in Figure 8.

[0071] The CPU 41 stores the identified parameters in the storage unit 44 and updates the parameters (S17). This process corresponds to step P8 in Figure 8. The CPU 41 then returns the process to the main process.

[0072] As shown in Figure 10, after the identification process (S8) is completed, the CPU 41 identifies the eccentric load coefficient F θ It is determined whether the value is less than or equal to the third predetermined value (S21). The CPU 41 determines the eccentric load coefficient F θ When it is determined that is greater than the third predetermined value (S21: NO), the process proceeds to S23. The CPU 41 is the eccentric load coefficient F θ When it is determined that the third predetermined value is less than or equal to (S21: YES), it is determined whether the identified moment of inertia J is less than or equal to the fourth predetermined value (S22). When the CPU 41 determines that the moment of inertia J is greater than the fourth predetermined value (S22: NO), it executes a notification process indicating that the workpiece W is overloaded (S23). In S23, the CPU 41 notifies the eccentric load coefficient F via the display unit 19. θ Alternatively, the moment of inertia J is large, indicating that the workpiece W is overloaded. The CPU 41 stops driving the motor 60 (S24) and terminates the main process. When the CPU 41 determines that the moment of inertia J is less than or equal to the fourth predetermined value (S22: YES), the process proceeds to S25. This process corresponds to step P9 in Figure 8.

[0073] CPU41 determines whether parameter identification has been completed for all time-series data (target value θ) for all target angles (S25). If CPU41 determines that parameter identification has not been completed for all time-series data for all target angles (S25: NO), the process returns to S8. If CPU41 determines that parameter identification has been completed for all time-series data for all target angles (S25: YES), the main process ends.

[0074] As shown in Figure 12, even when the virtual axis CW of the workpiece W is eccentric with respect to the C axis and fixed in an off-center position (see Figure 3), the identification result of the output torque of the support shaft 32 obtained by multiplying the output of the A-axis motor 65 by a reduction ratio closely approximated the measurement result of the output torque. Therefore, it was found that parameters can be derived with high accuracy using the method of this embodiment.

[0075] As described above, determining the control parameters for high-speed and high-precision control of the machine tool 1 requires physical parameters such as the moment of inertia related to the machine tool 1. When the workpiece W is fixed at an offset position relative to the C axis, the reference angle θ depends on the position where the workpiece W is fixed. a The size fluctuates. The uneven load of the load 200 is based on the reference angle θ. a It depends on the size of the load. Therefore, it was difficult to identify the physical parameters due to the effect of uneven loading of the load 200.

[0076] In response, the CPU 41 of the numerical control device 40 uses a reference angle θ a Eccentric load F based on this θ sin(θ-θ a The parameters are identified using a model that employs ). As a result, the CPU41 determines the reference angle θ depending on the position where the workpiece W is fixed. a When it is not 0 degrees, or the reference angle θ a Even when the parameters are unknown, they can be identified with high accuracy. Therefore, the numerical control device 40 can appropriately control the machine tool 1.

[0077] The CPU 41 obtains the angular velocity return value (angular velocity (rad / s)) from the differentiator 55C and determines whether the obtained angular velocity return value is greater than or equal to a second predetermined value (S14, P6). When the CPU 41 determines that the angular velocity return value is greater than or equal to the second predetermined value, it uses the torque u and the return value x to identify the parameters. As a result, the numerical control device 40 removes the torque u and the return value x, which degrade the accuracy of parameter identification, so that the parameters can be identified with high accuracy.

[0078] Before identifying the parameters, CPU41 determines the maximum value of the angular acceleration A based on the calculated angular acceleration waveform (see Figure 8(D)). MAX It is determined whether the value is greater than or equal to a first predetermined value (S4, P3). The numerical control device 40 determines the maximum value A of the angular acceleration. MAX The first predetermined value is smaller than the eccentric load F θ sin(θ-θ aWhen [[ID=]] is small, the parameters are not identified. Therefore, the numerical control device 40 can simplify the process.

[0079] The CPU 41 applies a low-pass filter to the torque u output by the drive circuit 55 to the A-axis motor 65 raw , and the return value x from the encoder 75 raw to remove differential noise from the torque u raw and the return value x raw (S13, P4, P5). In the numerical control device 40, by the process of S14, the torque u and the return value x become discontinuous with respect to the angle θ. When noise is removed from such discontinuous torque u and return value x and the parameters are identified, the identification accuracy of the parameters may deteriorate. Since the numerical control device 40 applies a low-pass filter before the process of S14 to remove differential noise, the parameters can be identified with high accuracy.

[0080] The CPU 41 determines whether the identified eccentric load F θ sin(θ - θ a ) is less than or equal to a third predetermined value (S21), and determines whether the identified Coulomb friction F C is less than or equal to a fourth predetermined value (S22). When the CPU 41 determines that the eccentric load F θ sin(θ - θ a ) is greater than the third predetermined value, or the Coulomb friction F C is greater than the fourth predetermined value, it executes a notification process assuming that the workpiece W is overloaded (S23). In S23, the CPU 41 notifies that the workpiece W is overloaded via the display unit 19. When the numerical control device 40 determines that the workpiece W is overloaded, it notifies via the display unit 19. The operator can grasp the overload of the workpiece W from the notification on the display unit 19.

[0081] In the above embodiment, the CPU 41 that performs the process of S1 is an example of the acquisition unit of the present invention. The CPU 41 that performs the process of S15 is an example of the identification unit of the present invention. The CPU 41 that performs the process of S14 is an example of the input condition determination unit of the present invention. The angular acceleration is an example of the driving acceleration of the present invention. The CPU 41 that performs the process of S4 is an example of the identification determination unit of the present invention. The CPU 41 that performs the processes of S21 and S22 is an example of the overload determination unit of the present invention. The CPU 41 that performs the process of S23 is an example of the notification unit of the present invention. Equation (5) is an example of the transmission model of the present invention.

[0082] The present invention can be variously modified from the above embodiment. The following various modification examples can be combined with each other as long as there is no contradiction. For example, the numerical control device 40 is not limited to being provided in the machine tool 1, and may be provided separately from the machine tool 1. For example, the numerical control device 40 may be a device (PC, dedicated machine, etc.) connected to the machine tool 1.

[0083] The above embodiment shows the identification of parameters related to the A-axis motor 65, but it can also be implemented for other axes affected by the eccentric load. For example, when implemented for the C-axis motor 64 of the machine tool 1, since the eccentric load on the C-axis is also affected by the A-axis, the calculation formula for the eccentric load is Fθsin(θ A )sin(θ C -θ C0 ). θ A is the angle of the A-axis, θ C is the angle of the C-axis, θ C0 represents the reference angle at which the eccentric load on the C-axis becomes minimum. It is naturally applicable to axes that receive an eccentric load for a machine having a mechanical configuration different from that of the machine tool 1.

[0084] The CPU 41 may perform processes other than determining whether the workpiece W is overloaded, based on the identified parameters. For example, the numerical control device 40 may perform not only feedback control based on the feedback signal output by the encoder 70, but also feedforward control. In this case, the CPU 41 may optimize the parameters of the feedforward control according to the determined parameters. Furthermore, control parameters such as the position-proportional gain, velocity-proportional gain, and velocity-integral gain of the feedback control may be optimized. In this case, the numerical control device 40 can control the machine tool 1 at high speed and with high precision.

[0085] The parameter identified by the numerical control device 40 is the reference angle θ. a It is sufficient that it includes the above, and the numerical control device 40 may identify other parameters as appropriate.

[0086] In the above embodiment, the numerical control device 40 identified the parameters using the successive least squares method, but the parameters may be identified by other methods. For example, the numerical control device 40 may identify the parameters using the linear least squares method. The method of identifying parameters using the linear least squares method will be described below.

[0087] In the linear least squares model, the estimated error j is given by equation (16).

number

number

[0088] The normal equation of equation (16) is expressed as equation (18).

number

[0089] The CPU 41 may identify parameters when the NC program command does not satisfy the rapid traverse condition. In this case, the CPU 41 may omit the S2 process in the main process. The CPU 41 may also identify parameters when the command satisfies other conditions. For example, the CPU 41 may identify parameters when the command is a cutting feed command. Alternatively, for example, the CPU 41 may identify parameters when the operation of the machine tool 1 based on the command is in one of several stationary states.

[0090] In the above embodiment, the CPU 41 determined whether or not to use the acquired torque u and return value x for parameter identification based on the magnitude of the angular velocity return value (angular velocity). Alternatively, the CPU 41 may use all acquired torque u and return value x for parameter identification. Furthermore, the CPU 41 may determine whether or not to use the acquired torque u and return value x for parameter identification based on other conditions. For example, the CPU 41 may determine whether or not to use the acquired torque u and return value x for parameter identification based on the magnitude of the angular acceleration.

[0091] In the above embodiment, the CPU 41 performed parameter identification when all three conditions (S4, S5, and S6) were met. In contrast, the CPU 41 may perform parameter identification when at least one of the three conditions is met. The CPU 41 may also decide whether to perform parameter identification based on conditions other than the three conditions mentioned above. The CPU 41 may perform parameter identification unconditionally. In this case, the CPU 41 may omit the processing of S4, S5, and S6 in the main processing.

[0092] CPU41 acquired torque u raw , and the return value x raw After determining whether or not to use it for parameter identification, differential noise may be removed. In this case, the CPU 41 executes the process in S14, and then the process in S13, during the main processing.

[0093] CPU41 acquired torque u raw , and the return value x rawWhen removing differential noise, filters other than a low-pass filter may be applied. For example, CPU41 may remove differential noise by applying a high-pass filter. CPU41 then processes the acquired torque u raw , and the return value x raw Either one of the differential noises may be removed. The CPU 41 then processes the acquired torque u raw , and the return value x raw It is not necessary to remove the differential noise. In this case, CPU41 may omit the processing of S13 in the main processing.

[0094] CPU41 identified the eccentric load coefficient F θ The CPU 41 determines whether or not the workpiece W is overloaded based on the magnitude of either the workpiece or the moment of inertia J. θ The CPU 41 may determine whether or not the workpiece W is overloaded based on identified parameters other than the moment of inertia J. In the above embodiment, the CPU 41 notified the display unit 19 that the workpiece W was overloaded during the notification process. The CPU 41 may also notify via a speaker, lamp, etc. The CPU 41 does not need to determine whether or not the workpiece W is overloaded. In this case, the CPU 41 may omit the processes S21, S22, and S23 in the main process.

[0095] The CPU 41 may correct the command angle θ when the load 200 is added to the turntable 29 based on the identified parameters. Parameters such as the moment of inertia J change due to the effect of adding the load 200 to the turntable 29. The numerical control device 40 controls the drive unit 28 taking into account the effect of adding the load 200 to the turntable 29. This control by the numerical control device 40 will be described below.

[0096] The CPU 41 of the numerical control device 40 calculates an angular error ΔQ(θ)(rad) corresponding to the command angle θ(rad), and corrects the command angle θ by the angular error ΔQ(θ). The angular error ΔQ(θ) is the angular error caused by adding the load 200 to the turntable 29 when the drive unit 28 is driven by an amount corresponding to the command angle θ indicated by the A-axis feed command.

[0097] CPU 41 calculates the angular error ΔQ(θ) using equation (19). In equation (19), E(rad / N·m) is the torsional stiffness coefficient of the drive unit 28, and is a value specific to the drive unit 28. F θb (N·m) is the eccentric load coefficient when no load 200 is attached to the turntable 29. θ ab This is the reference angle when no load 200 is attached to the turntable 29. The torsional stiffness coefficient E is stored in advance by the memory unit 44. The angular error ΔQ(θ) is calculated by multiplying the torsional stiffness coefficient E by the change in the eccentric load between when the load 200 is attached to the turntable 29 and when the load 200 is not attached to the turntable 29. ΔQ(θ)=E(F θ sin(θ-θ a )-F θb sin(θ-θ ab ))...Equation (19)

[0098] Referring to Figure 13, the correction process performed by the CPU 41 of the numerical control device 40 will be explained. The CPU 41 corrects the command angle θ by performing the correction process. The correction process starts when the power of the numerical control device 40 is ON, by the CPU 41 reading and executing the control program stored in the memory unit 44. Before the start of the correction process, the eccentric load coefficient F when no load 200 is attached to the turntable 29. θb and reference angle θ ab This is stored in the memory unit 44 beforehand.

[0099] The CPU 41 reads one line of the NC program stored in the memory unit 44 (S31). If the program read in S31 is an A-axis feed command, the CPU 41 calculates the angular error ΔQ(θ) corresponding to the command angle θ indicated by the A-axis feed command based on equation (19) (S32). Eccentric load coefficient F θ and reference angle θ a The CPU 41 identifies the load coefficient F, which is identified by the previous S36 process performed with the load 200 attached to the turntable 29, and stores it in the storage unit 44. When the CPU 41 is not performing the S36 process, the storage unit 44 stores the load coefficient F. θ and reference angle θ a Store the initial value.

[0100] The CPU 41 corrects the command angle θ using the calculated angle error ΔQ(θ) (S33). For example, the CPU 41 corrects the command angle θ by subtracting the angle error ΔQ(θ) from the command angle θ. If the program read in S1 is not an A-axis feed command, the CPU 41 may omit S32 and S33.

[0101] The CPU 41 determines whether the program read in S1 is an A-axis rapid traverse command (S34). If the CPU 41 determines that the program read in S1 is an A-axis rapid traverse command (S34: YES), it executes the A-axis rapid traverse with respect to the command angle θ corrected in S3 (S35). The CPU 41 performs an identification process (S36). The identification process in S36 is the same as the identification process in Figure 11. In S36, the CPU 41 determines the eccentric load coefficient F θ and reference angle θ a The CPU 41 identifies the parameters including and stores them in the memory unit 44. The CPU 41 returns the process to S1. In addition, in S36, the CPU 41 determines the eccentric load coefficient F when no load 200 is attached to the turntable 29. θb and reference angle θ ab Identification and storage to memory unit 44 are not performed.

[0102] If the CPU 41 determines that the program read in S1 is not an A-axis rapid traverse command (S34: NO), it determines whether the program read is a command to stop the operation of the machine tool 1 (S37). If the CPU 41 determines that the program read in S1 is not a command to stop the operation of the machine tool 1 (S37: NO), it executes the processing corresponding to the command in the program read (S38) and returns to processing in S31. If the CPU 41 determines that the program read in S1 is a command to stop the operation of the machine tool 1 (S37: YES), it terminates the correction process.

[0103] As shown in Figure 14, even when the virtual axis CW of the workpiece W is eccentric with respect to the C axis and fixed in an off-center position (see Figure 3), the calculated angular error ΔQ(θ) closely approximated the measured error of the command angle θ. Therefore, it was found that the machine tool 1 can be appropriately controlled by correcting the command angle θ using the method of this embodiment.

[0104] The CPU 41 performs a correction process and a separate coefficient identification process to determine the eccentric load coefficient F when the load 200 is not attached to the turntable 29. θb , reference angle θ ab And the eccentric load coefficient F when the load 200 is attached to the turntable 29 θ , reference angle θ a Each of them may be identified individually.

[0105] Referring to Figure 15, the coefficient identification process performed by the CPU 41 of the numerical control device 40 will be explained. The coefficient identification process starts when the power supply of the numerical control device 40 is turned ON, by the CPU 41 reading and executing the control program stored in the memory unit 44.

[0106] The CPU 41 determines whether or not the load 200 is attached to the turntable 29 (S51). The operator operates the control unit 18 to input the weight of the load 200 to the CPU 41. If the input weight of the load 200 is not 0, the CPU 41 determines that the load 200 is attached to the turntable 29 (S51: NO) and returns to processing S51.

[0107] When the weight of the input load 200 is 0, the CPU 41 assumes that no load 200 is attached to the turntable 29 (S51: YES) and executes the first feed process (S52). In S52, the CPU 41 drives the A-axis motor 65 so that the angle θ of the A-axis head 20 with respect to the reference plane R rotates from 0 (deg) to 90 (deg), and from 90 (deg) to 0 (deg). The angle at which the A-axis head 20 rotates during the first feed process may be changed as appropriate.

[0108] The CPU 41 performs an identification process when no load is attached (S53). The identification process in S53 when no load is attached is the same as the identification process in Figure 11. In S53, the CPU 41 calculates the eccentric load coefficient F when no load 200 is attached to the turntable 29. θb and reference angle θ ab Identify the item and store it in the memory unit 44.

[0109] The CPU 41 determines whether or not a load 200 is attached to the turntable 29 (S54). The operator attaches the load 200 to the turntable 29 and operates the control unit 18 to input the weight of the load 200 to the CPU 41. If the input weight of the load 200 is 0, the CPU 41 determines that no load 200 is attached to the turntable 29 (S54: NO) and returns to processing S54.

[0110] When the weight of the input load 200 is greater than 0, the CPU 41 assumes that the load 200 is attached to the turntable 29 (S54: YES) and executes the second feed process (S55). In S55, the CPU 41 drives the A-axis motor 65 in the same way as in the first feed process (S52), so that the angle θ of the A-axis head 20 with respect to the reference plane R rotates from 0 (deg) to 90 (deg), and from 90 (deg) to 0 (deg). The angle of rotation of the A-axis head 20 in the second feed process may be changed as appropriate. The angle of rotation of the A-axis head 20 in the first feed process and the second feed process may be the same or different.

[0111] The CPU 41 performs a loading identification process (S56). The loading identification process in S56 is the same as the identification process in Figure 11. In S56, the CPU 41 calculates the eccentric load coefficient F when the load 200 is added to the turntable 29. θ , and reference angle θ a The CPU 41 identifies the coefficient and stores it in the memory unit 44. The CPU 41 terminates the coefficient identification process. Although not shown in the figure, the uneven load coefficient F identified by the CPU 41 in the coefficient identification process θ F θb , and reference angle θ a θ ab By using this method to calculate the angular error ΔQ(θ), we can obtain evaluation results similar to those shown in Figure 14.

[0112] In the above modified example, the CPU 41 that performs the processing in S33 is an example of the correction unit of the present invention. The CPU 41 that performs the processing in S35 is an example of the drive control unit of the present invention. The CPU 41 that performs the processing in S32 is an example of the calculation unit of the present invention. [Explanation of Symbols]

[0113] 1 Machine tools 20 Axle Head 40 Numerical control devices 41 CPU 200 Loads W Work material

Claims

1. A numerical control device that outputs a command indicating the driving conditions of a motor to a machine tool equipped with a motor for relatively moving and rotating a tool for processing a workpiece and the workpiece, At a minimum, an acquisition unit that acquires input conditions including the torque of the motor and the output value of an encoder provided on the motor, The system includes an identification unit that identifies the parameters of the transmission model based on the derivation results obtained by applying the transmission model of the machine tool to the input conditions acquired by the acquisition unit, The transmission model includes an eccentric load, which is a torque that becomes zero when the rotation angle of the holding part that holds the workpiece is the reference angle, and is a torque that is generated in proportion to the deviation from the reference angle. The numerical control device is characterized in that the parameter includes the reference angle.

2. The numerical control device according to claim 1, further comprising an input condition determination unit that determines whether to use the input conditions acquired by the acquisition unit for the identification of the parameters by the identification unit.

3. The aforementioned driving conditions include the driving angle of the motor. The numerical control device according to claim 2, further comprising an identification determination unit that calculates the drive acceleration by taking the second derivative of the drive angle with respect to time, and determines whether or not to identify the parameter using the identification unit based on the drive acceleration.

4. The numerical control device according to claim 3, further comprising a filter that removes noise included in the input conditions before the input condition determination unit makes a determination.

5. An overload determination unit determines whether or not the workpiece is overloaded based on the parameters identified by the identification unit, If the overload determination unit determines that the workpiece is overloaded, the notification unit notifies that the workpiece is overloaded. A numerical control device according to any one of claims 1 to 4, characterized by comprising the above.

6. The machine tool rotates the base that holds the workpiece, The identification unit identifies the eccentric load coefficient, which is the coefficient of the eccentric load of the load attached to the platform, as the parameter. Based on the aforementioned reference angle, the torsional stiffness coefficient of the motor, the eccentric load coefficient identified by the identification unit, and the command angle for rotating the base as commanded by the program, a correction unit corrects the command angle by the amount of angular error caused by fixing the workpiece to the base, The drive control unit drives the motor by an amount corresponding to the command angle corrected by the correction unit. The numerical control device according to claim 1, characterized in that it is provided for.

7. The system includes a calculation unit that calculates the angle error based on the reference angle, the torsional stiffness coefficient, the eccentric load coefficient, and the command angle. The correction unit corrects the command angle by the angle error calculated by the calculation unit. A numerical control device according to claim 6, characterized by the above.

8. The calculation unit described above, The eccentric load when no load is attached to the platform is calculated based on the eccentric load coefficient and the reference angle when no load is attached to the platform. The eccentric load when the load is attached to the platform is calculated based on the eccentric load coefficient and the reference angle when the load is attached to the platform. The angular error is calculated based on the change in the eccentric load when the load is not attached to the platform and the eccentric load when the load is attached to the platform. A numerical control device according to claim 7, characterized by the following:

9. The identification unit is The eccentric load coefficient and the reference angle when the load is not attached to the platform are identified based on the derivation result when the platform is rotated by a predetermined angle when the load is not attached to the platform. The eccentric load coefficient and the reference angle when the load is attached to the platform are identified based on the derivation result when the platform is rotated by the predetermined angle when the load is attached to the platform. A numerical control device according to claim 8, characterized by the above.

10. An identification method for identifying parameters for determining a command indicating the driving conditions of a motor in a machine tool equipped with a motor for relatively moving and rotating a tool for processing a workpiece and the workpiece, At a minimum, the process includes an acquisition step of acquiring input conditions including the torque of the motor and the output value of an encoder provided on the motor, The system includes an identification step of identifying the parameters of the transmission model based on the derivation results obtained by applying the transmission model of the machine tool to the input conditions acquired in the acquisition step, The transmission model includes an eccentric load, which is a torque that becomes zero when the rotation angle of the holding part that holds the workpiece is the reference angle, and is a torque that is generated in proportion to the deviation from the reference angle. The identification method is characterized in that the parameter includes the reference angle.

11. An identification program for identifying parameters for determining commands indicating the driving conditions of a motor in a machine tool equipped with a motor for relatively moving and rotating a tool for processing a workpiece and the workpiece, At a minimum, the acquisition process includes acquiring input conditions including the torque of the motor and the output value of the encoder provided on the motor, The system includes an identification process that identifies the parameters of the transmission model based on the derivation results obtained by applying the transmission model of the machine tool to the input conditions acquired by the acquisition process, The transmission model includes an eccentric load, which is a torque that becomes zero when the rotation angle of the holding part that holds the workpiece is the reference angle, and is a torque that is generated in proportion to the deviation from the reference angle. An identification program characterized in that the parameters include the reference angle.

Citation Information

Patent Citations

  • Device and method for controlling machine tool

    JP2008186434A

  • Controller of electric motor having function of estimating inertia and friction simultaneously

    JP2011072178A

  • Numerical controller and machine tool

    JP2020181424A

  • Control apparatus, machine tool, control method, and control program

    JP2022020269A

  • Rotary table of a machine tool to compensate for eccentricity and method for operating the same

    KR101654740B1