Numerical control device and numerical control method
The numerical control device automates the distribution ratio adjustment between feed axes in machine tools, optimizing performance by considering servo motor capabilities and machining range, thus reducing labor and improving machining efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2025-01-16
- Publication Date
- 2026-07-23
Smart Images

Figure JP2025001106_23072026_PF_FP_ABST
Abstract
Description
Numerical control device and numerical control method
[0001] The present disclosure relates to a numerical control device that adjusts the distribution ratio of movement commands in a machine tool having a plurality of feed axes.
[0002] In a machine having two parallel feed axes, a technique has been proposed to improve the machining speed or expand the stroke by overlapping the two axes. For example, Patent Document 1 discloses a technique for controlling two axes, a master axis and a slave axis, by regarding them as one virtual axis.
[0003] Japanese Patent Application Laid-Open No. 2017-37474
[0004] Here, when regarding two axes, a master axis and a slave axis, as one virtual axis and distributing a movement command for the virtual axis to the master axis and the slave axis, it is necessary to adjust the distribution ratio in consideration of the performance of the axes, such as the stroke limits and the allowable maximum acceleration of the two axes. Since the adjustment of the distribution ratio requires taking into account a plurality of elements and balancing the whole, a great deal of time and labor are required for the adjustment work.
[0005] As described above, the conventional technology has a problem that a great deal of labor is required for adjusting the distribution ratio. Therefore, an object of the present disclosure is to provide a numerical control device and a numerical control method capable of reducing the labor required for adjusting the distribution ratio.
[0006] The numerical control device of the present disclosure commands, in a machining program, the positions or movement amounts of one feed axis provided in a machine and at least one or more other feed axes that are driven and controlled in parallel with the one feed axis in conjunction with the one feed axis, as the positions or movement amounts of a predetermined virtual axis, and drives and controls the feed axes based on the command. The numerical control device includes a distribution ratio adjustment unit that adjusts the distribution ratio of axis movement commands included in the machining program according to a predetermined condition, and drives and controls the feed axes based on the distribution ratio.
[0007] The numerical control method of the present disclosure is a numerical control method for driving and controlling one feed axis provided in a machine and at least one other feed axis that is driven in conjunction with and parallel to the one feed axis, wherein the position or amount of movement of the one and the other feed axes is commanded by a machining program as the position or amount of movement of a predetermined virtual axis, and the numerical control method includes: a machining range acquisition step for acquiring a machining range to be machined based on the machining program; an operable range determination step for determining the operable range of the feed axis in the machining range; and a distribution ratio determination step for adjusting the distribution ratio of axis movement commands included in the machining program based on at least the operable range.
[0008] The numerical control device and numerical control method of this disclosure provide a numerical control device and numerical control method that can reduce the effort required to adjust the distribution ratio.
[0009] This is a block diagram illustrating the overview of the numerical control device of the first embodiment. This is a block diagram illustrating the overview of the numerical control device of the second embodiment. This is a block diagram illustrating the overview of the numerical control device of the third embodiment. This is a block diagram illustrating the overview of the numerical control device of the fourth embodiment. This is a diagram illustrating an example of the relationship between the maximum allowable acceleration of the feed axis and the stroke limit of the feed axis. This is a diagram illustrating the machining range. This is a diagram illustrating the machining range of the virtual axis, etc. This is a diagram illustrating the stroke limit of the actual axis, etc. This is a diagram illustrating the operable range determined for the actual axis. This is a diagram illustrating the maximum distribution ratio that the actual axis can take. This is a diagram illustrating the distribution ratio that maximizes the combined acceleration. This is a diagram illustrating the distribution ratio that maximizes the combined acceleration for actual axes whose distribution ratio has not been determined. This is a diagram illustrating the combined acceleration matched to the maximum allowable acceleration of each actual axis. This is a diagram illustrating the adjusted distribution ratio and acceleration. This is a flowchart showing the processing flow of the numerical control method of one embodiment. This is a block diagram illustrating the overview of the numerical control device of the fifth embodiment. This is a block diagram illustrating the overview of the numerical control device of the sixth embodiment. This is a perspective view showing the overview of the machining machine.
[0010] (First Embodiment) The numerical control device 1 of the first embodiment of the present disclosure will be described with reference to Figure 1 and the like. Figure 1 is a block diagram showing an overview of the numerical control device 1 of the first embodiment.
[0011] (Numerical Control Device) As shown in Figure 1, the numerical control device 1 comprises a first storage unit 11, a program analysis unit 13, a drive shaft control unit 15, a second storage unit 21, and a distribution ratio adjustment unit 23.
[0012] The first memory unit 11 is the part that stores the processing program. On the other hand, the second memory unit 21 is the part that stores data used to adjust the distribution ratio, etc.
[0013] The program analysis unit 13 is responsible for analyzing the machining program. The program analysis unit 13 obtains the machining program from the first storage unit 11. The program analysis unit 13 analyzes the obtained machining program and, for example, extracts information indicating the machining range or determines the machining range.
[0014] (Distribution Ratio Adjustment Unit) The distribution ratio adjustment unit 23 is the part that adjusts the distribution ratio. The distribution ratio adjustment unit 23 acquires the information necessary for adjusting the distribution ratio from the second storage unit 21.
[0015] More specifically, the distribution ratio adjustment unit 23 adjusts the distribution ratio when distributing the movement command to each feed axis based on the acquired information. The feed axes will be described later. Note that the ratio used when distributing the movement command is sometimes simply called the distribution ratio. The distribution ratio will be explained in more detail later.
[0016] (Drive Axis Control Unit) The drive axis control unit 15 is the part that controls the feed axis of the target equipment such as a machining tool. The drive axis control unit 15 acquires movement commands and other information from the program analysis unit 13. The drive axis control unit 15 also acquires the distribution ratio from the distribution ratio adjustment unit 23. Based on the movement commands and distribution ratio, the drive axis control unit 15 controls the feed axis in the tool section 540 of the machining tool. The tool section 540 will be described below with reference to Figure 16.
[0017] (Processing Machine) An example of a processing machine 500 controlled by a numerical control device 1 will be described. Figure 16 is a perspective view showing an overview of the processing machine 500. The processing machine 500 includes a table 510 and a tool section 540.
[0018] The table 510 is the part on which the workpiece to be processed by the processing machine 500 is placed. The main surface 512 of the table 510 is rectangular in shape. The tool section 540 is the part that processes the workpiece. The tool section 540 comprises a frame 520 and a tool 530.
[0019] Figure 16 shows the Cartesian coordinate system. The direction parallel to one edge of the main surface 512 is defined as the X direction. The direction perpendicular to the X direction and parallel to the other edge of the main surface is defined as the Y direction. The direction parallel to both the X and Y directions is defined as the Z direction.
[0020] The frame 520 is the part that supports the tool 530. The frame 520 moves in the Y direction relative to the table 510. The frame 520 is gantry-shaped. The frame 520 comprises two columns 521 and one support 523. One column 521 is positioned on each side of the table 510 in the X direction. The columns 521 extend in the Z direction. The ends of the support 523 in the X direction are attached to each column 521 so as to be movable in the Z direction. The support 523 extends in the X direction. The support 523 moves in the Z direction along the columns 521.
[0021] Tool 530 is a tool used to machine a workpiece. An example of machining is cutting. Examples of tool 530 are drills and end mills. Tool 530 is movably mounted on support 523. Tool 530 moves along support 523 in the X and Z directions.
[0022] (Feed Axis) The feed axes in the machining machine 500 are described below. The feed axis of the tool 530 in the X direction is defined as the X-axis. The feed axis of the frame 520 in the Y direction is defined as the Y-axis. The feed axis of the frame 520 in the Z direction, more specifically the feed axis of the support 523 in the Z direction, is defined as the W-axis. The feed axis of the tool 530 in the Z direction is defined as the Z-axis.
[0023] (Master axis, slave axis) The W axis and Z axis are parallel axes. Therefore, the W axis is defined as the master axis W. The Z axis is defined as the slave axis Z.
[0024] (Virtual Axis) The V-axis is defined as the axis whose feed rate is the sum of the feed rates of the W-axis and the Z-axis. Conversely, the feed rate of the V-axis is distributed between the feed rates of the W-axis and the Z-axis. The V-axis is a virtual axis. The V-axis is defined as the virtual axis V.
[0025] Furthermore, the master axis W (W axis) and slave axis Z (Z axis) are referred to as physical axes, in contrast to the virtual axis V axis. Note that the number of physical axes is not limited to two: the master axis W and the slave axis Z.
[0026] In the machining center 500, movement commands are issued to the virtual axis V. Movement commands for the virtual axis are distributed to the master axis W and slave axis Z, and machining is performed. The distribution ratio adjustment unit 23 adjusts the distribution ratio when distributing movement commands for the virtual axis to each feed axis. This ratio is defined as the distribution ratio. The drive axis control unit 15 controls each feed axis based on the distribution ratio obtained from the distribution ratio adjustment unit 23.
[0027] (Adjustment of distribution ratio) The distribution ratio can be adjusted according to predetermined conditions. The predetermined conditions are not particularly limited. The predetermined conditions can be various conditions such as settings for the processing machine 500, the status of the processing machine 500 during operation, settings related to the finish of the workpiece, and settings related to processing conditions such as processing time.
[0028] In the numerical control device 1 of this embodiment, the machine, such as the processing machine 500, is equipped with one feed axis and at least one other feed axis that is linked to and driven in parallel with the first feed axis. The first feed axis is, for example, a master axis W. The second feed axis is, for example, a slave axis Z.
[0029] In the numerical control device 1, the position or movement amount of one feed axis and the other feed axis is commanded by the machining program as the position or movement amount of a predetermined virtual axis V. This command is defined as a movement command. Based on this movement command, the feed axis is driven and controlled in the numerical control device 1.
[0030] Here, the numerical control device 1 includes a distribution ratio adjustment unit 23 that adjusts the distribution ratio between one feed axis and the other feed axis according to predetermined conditions. It also includes a drive axis control unit 15 that drives and controls the feed axes based on the adjusted distribution ratio.
[0031] As described above, in the numerical control device 1 of this embodiment, the distribution ratio adjustment unit 23 adjusts the distribution ratio to which axis movement commands to the virtual axis are distributed to the feed axis according to predetermined conditions. In other words, the distribution ratio adjustment is performed automatically by the distribution ratio adjustment unit 23. Therefore, the effort required to adjust the distribution ratio according to predetermined conditions can be eliminated. Furthermore, it becomes easier to set the optimal distribution ratio.
[0032] In this embodiment, the numerical control device 1 does not limit the content of the information to be pre-stored in the second storage unit 21. Depending on the content of predetermined conditions used to adjust the distribution ratio, it is possible to set and change various types of information to be stored in the second storage unit 21.
[0033] (Second Embodiment) The numerical control device 1 of the second embodiment will be described with reference to Figure 2. Figure 2 is a block diagram showing an overview of the numerical control device 1 of the second embodiment. The second embodiment will be described focusing on the differences from the first embodiment. Matters not described in the second embodiment can be the same as in the first embodiment.
[0034] In the numerical control device 1 of this embodiment, the distribution ratio adjustment unit 23 adjusts the distribution ratio based on preset values such as the weight of the shaft, the rated torque and instantaneous maximum torque of the servo motor, the calculation coefficient for the load torque, and the calculation coefficient for the load moment of inertia.
[0035] In the numerical control device 1 of this embodiment, the second storage unit 21 stores information necessary for adjusting the distribution ratio, such as the weight of the shaft, the rated torque and instantaneous maximum torque of the servo motor, the calculation coefficient for the load torque, and the calculation coefficient for the load moment of inertia.
[0036] (Adjustment Example) An example of adjusting the distribution ratio to the actual axis in this embodiment will be described. Examples of predetermined conditions for adjusting the distribution ratio in this embodiment are as follows. Also, in the following description, "axis" refers to the actual axis.
[0037] In other words, in this embodiment, the distribution ratio is adjusted using the shaft weight, the rated torque of the servo motor, the instantaneous maximum torque of the servo motor, a calculation coefficient for the load torque, and a calculation coefficient for the load inertia moment. The shaft weight, the rated torque of the servo motor, the instantaneous maximum torque of the servo motor, a calculation coefficient for the load torque, and a calculation coefficient for the load inertia moment are stored in the second storage unit 21.
[0038] When adjusting the distribution ratio, the distribution ratio adjustment unit 23 obtains the weight of the shaft and other information from the second storage unit 21. Then, the distribution ratio adjustment unit 23 adjusts the distribution ratio based on the obtained information.
[0039] The specific adjustment procedure is as follows: (1) Calculate the load torque and acceleration / deceleration torque from the weight of the shaft. The weight of the shaft is the sum of the weight of the table and the weight of the workpiece. The pre-set load torque and acceleration / deceleration torque are calculated using the coefficients obtained by the following formulas: Load torque = weight m × coefficient J Acceleration / deceleration torque = weight m × shaft movement speed F × coefficient K
[0040] The torque required for driving is defined as the required torque. The required torque is the sum of the load torque and the acceleration / deceleration torque. The required torque can be calculated as follows: Required torque = Load torque + Acceleration / deceleration torque = Weight m × (J + (K × F)) where F is the shaft speed.
[0041] (2) First, calculate the required torque so that the ratio of the required torque to the rated torque is the same for both axes. Here, we will explain using the case where there are two axes as an example. The two axes will be the virtual axis V axis and the actual axis X1 and the actual axis X2. The actual axis X1 and the actual axis X2 can be made to correspond to, for example, the master axis W and the slave axis Z.
[0042] Calculate the required torque for the real axes X1 and X2 from the maximum speed of the virtual axis V. Let the weight of the real axis X1 be m1, the above coefficients be J1 and K1, and the distribution ratio be R1. Let the weight of the real axis X2 be m2, the above coefficients be J2 and K2, and the distribution ratio be R2. Required torque of the real axis X1 = weight m1 × (J1 + (K1 × maximum speed of the V axis × R1)) Required torque of the real axis X2 = weight m2 × (J2 + (K2 × maximum speed of the V axis × R2)) Here, find the distribution ratios R1 and R2 such that the ratios of the required torque to the rated torque of each real axis are the same. In other words, find the distribution ratios R1 and R2 that satisfy the following equation. Required torque of the real axis X1 / Rated torque of the real axis X1 = Required torque of the real axis X2 / Rated torque of the real axis X2
[0043] (3) Next, if there is a real axis where the required torque exceeds the rated torque, transfer the distribution ratio to the real axis where the required torque does not exceed the rated torque. By transferring the distribution ratio, ensure that the required torque does not exceed the rated torque for all real axes. If the required torque does not exceed the rated torque for all real axes, the calculation ends in (2).
[0044] (4) If there is still a real axis where the required torque exceeds the rated torque even after transferring the distribution ratio as described in (3), find the distribution ratios R1 and R2 such that the ratios (N) between the rated torque and the instantaneous maximum torque of each real axis are equal. Here, if the required torque of any real axis exceeds the instantaneous maximum torque, review the speed setting of the virtual axis, etc. Required torque of the X1 axis = Rated torque of the X1 axis + (Instantaneous maximum torque of the X1 axis - Rated torque of the X1 axis) × N Required torque of the X2 axis = Rated torque of the X2 axis + (Instantaneous maximum torque of the X2 axis - Rated torque of the X2 axis) × N
[0045] Note that the above description is an example. The calculation formula can be varied depending on the type of drive mechanism such as ball screw drive and belt drive.
[0046] Also, in the above description, the rated torque means the maximum torque value continuously applied to the axis. The instantaneous maximum torque means the maximum torque value that can be applied to the axis. The motor has the performance to output up to the instantaneous maximum torque. However, if torque exceeding the rated torque is continuously applied to the motor, the life of the motor will be shortened.
[0047] As described above, in the distribution ratio adjustment unit 23, from the preset weight of the axis, the rated torque and instantaneous maximum torque of the servo motor, the load torque, and the coefficient for calculating the acceleration / deceleration torque, etc., the distribution ratio for distributing the axis movement command to the virtual axis to the feed axis can be adjusted.
[0048] Note that the above adjustment examples are merely illustrative. In addition to the above adjustment examples, considering the relationship between the weight of the axis and the deflection of the axis, the distribution ratio can also be adjusted so that the axis is less likely to sway. Also, the distribution ratio can be adjusted considering the capabilities of the servo motor. When the capabilities of the servo motor are weak, the axis may sway easily and the axis feed may become unstable. Therefore, considering the capabilities of the servo motor, for example, the distribution ratio may be adjusted so that axis sway is suppressed.
[0049] (Third Embodiment) Referring to FIG. 3, the numerical control device 1 of the third embodiment will be described. FIG. 3 is a block diagram showing the outline of the numerical control device 1 of the third embodiment. For the third embodiment, the description will focus on the matters different from the second embodiment. Matters not described for the third embodiment can be made the same as those of the second embodiment.
[0050] The numerical control device 1 of the third embodiment is different from the numerical control device 1 of the second embodiment in that the distribution ratio adjustment unit 23 adjusts the distribution ratio based on the load of the servo motor. In the numerical control device 1 of the third embodiment, the distribution ratio adjustment unit 23 adjusts the distribution ratio from the preset instantaneous maximum torque of the servo motor and the motor load acquired from the servo motor 560.
[0051] As shown in Figure 3, the tool unit 540 is equipped with a servo motor 560. The servo motor 560 is a motor used for the axial feed of each axis of the machining machine 500. The distribution ratio adjustment unit 23 obtains the motor load of the servo motor 560 from the servo motor 560.
[0052] Furthermore, the second memory unit 21 stores the instantaneous maximum torque of the servo motor 560, which has been set in advance.
[0053] (Adjustment Example) An example of adjusting the distribution ratio in the third embodiment will be described.
[0054] In the adjustment example of the third embodiment, the distribution ratio is adjusted using the instantaneous maximum torque of the servo motor 560 and the load of the servo motor 560. The instantaneous maximum torque of the servo motor 560 is stored in the second storage unit 21.
[0055] The specific adjustment procedure is as follows: (1) Determine the load torque applied to the motor from the current value of the servo motor 560 that is driving each axis during operation.
[0056] (2) For each axis, the distribution ratio is gradually shifted from the axis with a large ratio of load torque to instantaneous maximum torque to the axis with a small ratio. The extent to which the ratio is shifted in one operation can be predetermined, for example, as a ratio to the load torque value, similar to gain settings.
[0057] (1) and (2) are performed continuously during operation to provide feedback control.
[0058] In this way, the distribution ratio adjustment unit 23 adjusts the distribution ratio for distributing axis movement commands from the preset instantaneous maximum torque of the servo motor 560 and the motor load acquired from the servo motor 560 to the feed shaft.
[0059] The above adjustment examples are merely illustrative. In addition to the above examples, the distribution ratio can also be adjusted considering the capabilities of the servo motor. If the servo motor's capabilities are weak, the shaft may be prone to wobbling, and the shaft feed may become unstable. Therefore, considering the servo motor's capabilities, the distribution ratio may be adjusted, for example, to suppress shaft wobble. Furthermore, the distribution ratio may be adjusted considering the weight of the workpiece as needed.
[0060] (Fourth Embodiment) The fourth embodiment of the numerical control device 1 will be described with reference to Figure 4. Figure 4 is a block diagram showing an overview of the numerical control device 1 of the fourth embodiment. The fourth embodiment will be described focusing on the differences from the second embodiment. Matters not described in the fourth embodiment can be the same as in the second embodiment.
[0061] In the fourth embodiment, the information used when adjusting the distribution ratio differs from that of the second embodiment. In the fourth embodiment, the distribution ratio adjustment unit 23 adjusts the distribution ratio based on at least the maximum allowable acceleration and stroke limit for one and the other feed axis, as well as the machining range. The second storage unit 21 of the fourth embodiment stores at least the maximum allowable acceleration and stroke limit for one and the other feed axis, as well as the machining range.
[0062] (Acceleration and Stroke) Refer to Figure 5 to explain an example of the relationship between the acceleration and stroke of the feed axis. Figure 5 is a diagram showing an example of the relationship between the acceleration and stroke of the feed axis.
[0063] As shown in Figure 5, acceleration and stroke can have an inverse relationship depending on the distribution ratio. In the example shown in Figure 5, we assume there are two axes as feed axes: a master axis and a slave axis. The master axis has a small maximum allowable acceleration and a long stroke limit. The slave axis has a large maximum allowable acceleration and a short stroke limit. Specifically, the maximum allowable acceleration of the master axis is 1G and the stroke limit of the master axis is 5000 mm. The maximum allowable acceleration of the slave axis is 2G and the stroke limit of the slave axis is 100 mm.
[0064] (When acceleration is prioritized) When acceleration is prioritized, the maximum combined acceleration can be obtained by setting the distribution ratio between the master axis and the slave axis to the same value as the ratio of the maximum allowable acceleration of the master axis to the maximum allowable acceleration of the slave axis. This combined acceleration is called the combined acceleration.
[0065] In the example shown in Figure 5, a distribution ratio of 1:2 between the master and slave axes yields the maximum combined acceleration of 3G. However, when the distribution ratio between the master and slave axes is 1:2, the combined stroke becomes 150 mm, which is a small value.
[0066] (When stroke is a priority) When stroke is a priority, the maximum combined stroke can be obtained by setting the distribution ratio between the master shaft and the slave shaft to the same value as the ratio of the stroke limit of the master shaft to the stroke limit of the slave shaft. In the example shown in Figure 5, setting the distribution ratio between the master shaft and the slave shaft to 50:1 yields the maximum combined stroke of 5100 mm. However, when the distribution ratio between the master shaft and the slave shaft is 50:1, the combined acceleration becomes 1.02 G, which is a small value.
[0067] As described above, the processing characteristics obtained change when the distribution ratio changes. In the numerical control device 1 of this embodiment, the distribution ratio is adjusted so that the acceleration and stroke are optimized according to the processing range.
[0068] (Specific Examples of Adjustment) In addition to Figure 4, specific examples of adjusting the distribution ratio will be explained with reference to Figure 6 and others. Furthermore, the processing flow of the numerical control method of the embodiment of this disclosure will be explained with reference to Figure 13.
[0069] Figure 6 is a diagram illustrating the machining range. The horizontal axis in Figure 6 is the virtual V-axis. The vertical axis in Figure 6 is the Y-axis. For simplicity, the following explanation will describe the machining range along the V-axis.
[0070] Figure 13 is a flowchart showing the processing flow of a numerical control method according to one embodiment.
[0071] The procedure for adjusting the distribution ratio will be explained below in order. The numerical control method proceeds in the order of (1) to (6). (1) Machining range acquisition step S1 The distribution ratio adjustment unit 23 shown in Figure 4 acquires the machining range of the virtual axis, the V axis. If the machining range is stored in the second storage unit 21, the distribution ratio adjustment unit 23 can acquire the machining range from the second storage unit 21.
[0072] Figure 6 shows the starting point of the machining program for the virtual axis as the starting position SP. The machining range in the positive (+) direction of the V axis from the starting position SP is shown as the + direction machining range Dp. The machining range in the negative (-) direction of the V axis from the starting position SP is shown as the - direction machining range Dm. Obtaining the machining range means determining the + direction machining range Dp and the - direction machining range Dm from the starting position SP.
[0073] Furthermore, the machining range of the virtual V-axis can also be determined from the machining program. When determining the machining range from the machining program, it can be determined from the entire machining program or from the machining units within the program. Specifically, for example, the machining range can be determined from M codes or U-V macros included in the machining program. This will be explained later.
[0074] (2) Step S2 for determining the range of motion Next, the range of motion (Lp1, Lm1, Lp2, Lm2...) in which each real axis can move in the positive and negative directions from the starting position SP is determined from the actual axis position at the starting position SP.
[0075] The operating range refers to the range in which the mechanism can actually operate from the starting position SP. The operating range can be determined by adding the actual axis position at the starting position SP to the stroke limit.
[0076] Lp1 indicates the movable range in the positive direction of the first real axis. Lm1 indicates the movable range in the negative direction of the first real axis. Lp2 indicates the movable range in the positive direction of the second real axis. The movable ranges for the other real axes are indicated in the same manner.
[0077] (3) Calculation step S3 of the maximum possible distribution ratio (A) The maximum possible distribution ratio (Rl1, Rl2...) for each real axis is determined from the operating range of the virtual axis (+ direction machining range Dp and - direction machining range Dm) and the operating range of the real axis (Lp1, Lm1, Lp2, Lm2...). Ri1 represents the distribution ratio of the first real axis when the combined acceleration is maximum. Ri2 represents the distribution ratio of the second real axis when the combined acceleration is maximum. The distribution ratio when the combined acceleration is maximum is shown for the other real axes in the same manner.
[0078] Rl1 is calculated as follows: Rl1 = MIN((Lp1 / Dp), (Lm1 / Dm)) (MIN means the smaller value.) In other words, Rl1 is the smaller of (Lp1 / Dp) and (Lm1 / Dm). The maximum possible distribution ratio for Rl2 and other axes can be found in the same way. Note that the sum of the distribution ratios for each axis should not exceed 1.
[0079] (4) Step S4 to calculate the distribution ratio (B) that maximizes the combined acceleration Next, obtain the maximum allowable accelerations (A1, A2, etc.) for two or more real axes parallel to the virtual axis. A1 represents the maximum allowable acceleration of the first real axis. A2 represents the maximum allowable acceleration of the second real axis. Similarly, obtain the accelerations for the other real axes.
[0080] The combined acceleration is maximized when the distribution ratio matches the ratio of the maximum allowable accelerations of each axis. The distribution ratios (Ri1, Ri2, ...) at this point are determined. Ri1 represents the distribution ratio for the first real axis. Ri2 represents the distribution ratio for the second real axis. The distribution ratios for the other real axes are determined similarly.
[0081] (5) Distribution ratio determination step S5 (comparison of S3(A) and S4(B)) Next, the distribution ratios (R1, R2, etc.) are determined in order from the axis with the largest allowable maximum acceleration. Let's take the case where there are three real axes as an example. Assume that the relationship between the magnitudes of the allowable maximum accelerations of the three axes is as follows: A1 > A2 > A3
[0082] First, we determine the distribution ratio of the first real axis, which has the largest allowable maximum acceleration among the three real axes. The distribution ratio of the first real axis is as follows: tmp1 = (1 - 0) × Ri1 / (Ri1 + Ri2 + Ri3) R1 = MIN(tmp1, Rl1) (MIN means the smaller one.)
[0083] Next, the distribution ratio of the second real axis is as follows: tmp2 = (1 - R1) × Ri2 / (Ri2 + Ri3) R2 = MIN(tmp2, Rl2) The distribution ratio of the second real axis is determined based on the distribution ratio R1 of the first real axis which was determined earlier.
[0084] Next, the distribution ratio of the third real axis is as follows: tmp3 = (1 - R1 - R2) R3 = MIN(tmp3, Rl3) The distribution ratio of the third real axis is determined based on the distribution ratio R1 of the first real axis and the distribution ratio R2 of the second real axis, which were determined earlier.
[0085] At this point, if the distribution ratio R3 of the third real axis, which is the last real axis determined, is smaller than tmp3, it indicates that the distribution ratio R3 of the third real axis is limited by the operating range, i.e., the stroke limit.
[0086] In this case, the same calculation is performed again after determining the distribution ratio of the axes limited to the operating range. In the example above, the distribution ratio of the third real axis is determined, and then the distribution ratios of the other real axes are calculated again.
[0087] The following describes the case where the last real axis whose distribution ratio was determined is the third real axis, and only the third real axis has its distribution ratio limited within its operational range.
[0088] First, the distribution ratio of the third real axis is determined by R3 = Rl3. Next, the distribution ratio of the first real axis is as follows: tmp1 = (1 - R3) × Ri1 / (Ri1 + Ri2) R1 = MIN(tmp1, Rl1) Then, the distribution ratio of the second real axis is as follows: tmp2 = (1 - R3 - R1) R2 = MIN(tmp2, Rl2) These distribution ratios of the first and second real axes can be determined using the same method as in the example explained earlier.
[0089] If, after recalculating the distribution ratio as described above, the final distribution ratio on the real axis is again limited by the operating range, the same recalculation of the distribution ratio is performed again.
[0090] (6) Step S6 for determining the combined acceleration If the acceleration of each real axis with the calculated distribution ratio exceeds the maximum allowable acceleration, the combined acceleration is determined so that the acceleration of each real axis becomes the maximum allowable acceleration. In other words, the maximum combined acceleration is determined so that the acceleration of each axis does not exceed the calculated distribution ratio.
[0091] (Specific examples of determining distribution ratios) Specific examples of determining distribution ratios will be explained with reference to Figures 7A to 12B.
[0092] Figure 7A shows the machining range of the virtual axis, etc. Figure 7B shows the stroke limit of the physical axis, etc. In Figure 7B, the stroke limit is simply labeled as "limit". In Figures 7A and 7B, the unit of the numerical value for the starting position can be, for example, mm. However, the numerical values in the following explanation can be relative. The numerical values for position and range in the following explanation do not represent absolute values.
[0093] As shown in Figure 7A, the machining range of the virtual axis is as follows: the starting position is 80.0, the machining range in the positive direction is 40.0, and the machining range in the negative direction is -60.0.
[0094] Furthermore, the positive and negative limits and maximum acceleration of the three real axes, the X1, X2, and X3 axes, are as shown in Figure 7B. Here, the positive limit refers to the stroke limit in the positive direction, and the negative limit refers to the stroke limit in the negative direction.
[0095] Next, the movable range of the real axis is determined from the starting position and stroke limit of the real axis shown in Figure 7B. Figure 8 shows the movable range determined for each real axis. As shown in Figure 8, the positive direction movable range is the value obtained by subtracting the starting position from the positive direction limit shown in Figure 7B. The negative direction movable range is the value obtained by subtracting the starting position from the negative direction limit shown in Figure 7B.
[0096] Next, the maximum possible distribution ratio for each physical axis is determined from the movable range of the physical axis and the machining range of the virtual axis. The maximum possible distribution ratio for positive direction movement can be determined by dividing the movable range of the physical axis in the positive direction by the machining range of the virtual axis in the positive direction. The maximum possible distribution ratio for negative direction movement can be determined by dividing the movable range of the physical axis in the negative direction by the machining range of the virtual axis in the negative direction.
[0097] Then, the maximum distribution ratio that can be taken with the calculated positive direction movement is compared with the maximum distribution ratio that can be taken with the negative direction movement, and the smaller value is taken as the maximum distribution ratio for each real axis. Figure 9 shows the maximum distribution ratio that can be taken for the real axes. In the example shown in Figure 9, as shown in bold in Figure 9, for the real axis X1, 0.75, which is the maximum distribution ratio that can be taken with the positive direction movement, is taken as the maximum distribution ratio that the real axis X1 can take. The same applies to the real axis X2 and real axis X3.
[0098] Furthermore, the distribution ratio that maximizes the combined acceleration is determined from the ratio of the maximum allowable accelerations. Figure 10 shows the distribution ratio that maximizes the combined acceleration. As shown in Figure 7B, the maximum allowable accelerations for the real axis X1, real axis X2, and real axis X3 are 1G, 2G, and 3G, respectively. As shown in Figure 10, the distribution ratio that maximizes the combined acceleration is determined from the ratio of the maximum allowable accelerations to be 0.167, 0.333, and 0.5. These values are equal to the proportion of the maximum allowable acceleration of each axis to the sum of the maximum allowable accelerations, i.e., 1 / 6, 2 / 6, and 3 / 6.
[0099] Based on the maximum distribution ratio that each real axis can take, shown in Figure 9, and the distribution ratio that maximizes the combined velocity, shown in Figure 10, the distribution ratio for each real axis is determined. The distribution ratio is determined starting with the axis with the largest allowable maximum acceleration. In the example shown in Figure 10, the allowable maximum acceleration of the X3 axis is the largest. Therefore, the distribution ratio is determined starting with the X3 axis.
[0100] (X3 axis) As shown in Figure 10, the distribution ratio at which the acceleration of the X3 axis is maximized is 0.5. In contrast, as shown in Figure 9, the maximum distribution ratio that the X3 axis can take is 0.25. For the X3 axis, the maximum distribution ratio that can take is smaller than the distribution ratio that maximizes the combined acceleration. Therefore, the distribution ratio of the X3 axis is determined to be 0.25, which is the maximum distribution ratio that can take.
[0101] (X2 axis, X1 axis) The remaining 0.75, after removing the distribution ratio for the X3 axis, is distributed among the remaining two real axes, the X1 axis and the X2 axis. The distribution is done in such a way that the combined acceleration is maximized. Figure 11 shows the distribution ratios that maximize the combined acceleration for the real axis X1 axis and the real axis X2 axis.
[0102] First, we determine the distribution ratio for the X2 axis, which has the greater maximum acceleration, compared to the X1 axis. As shown in Figure 9, the maximum possible distribution ratio for the X2 axis is 0.5. On the other hand, as shown in Figure 11, the distribution ratio for the X2 axis that maximizes the combined acceleration is also 0.5. The distribution ratio of 0.5 that maximizes the combined acceleration does not exceed the maximum possible distribution ratio of 0.5. Therefore, the distribution ratio for the X2 axis is determined to be 0.5.
[0103] Finally, we determine the distribution ratio for the X1 axis. As shown in Figure 9, the maximum possible distribution ratio for the X1 axis is 0.75. On the other hand, as shown in Figure 11, the distribution ratio for the X1 axis that maximizes the combined acceleration is 0.25. The distribution ratio of 0.25 that maximizes the combined acceleration does not exceed the maximum possible distribution ratio of 0.75. Therefore, the distribution ratio for the X1 axis is determined to be 0.25.
[0104] As described above, the distribution ratios for each axis are determined to be 0.25 for the X1 axis, 0.5 for the X2 axis, and 0.25 for the X3 axis.
[0105] Next, using the calculated distribution ratio, we determine the composite acceleration such that the acceleration of each real axis does not exceed the maximum allowable acceleration. Specifically, we determine the composite acceleration for each real axis when the acceleration of each real axis reaches the maximum allowable acceleration, using the distribution ratio of each real axis. Figure 12A shows the composite acceleration adjusted to the maximum allowable acceleration of each real axis.
[0106] As shown in Figure 12A, the combined acceleration, adjusted to the maximum allowable acceleration of each real axis, is 4G for the X1 and X2 axes, and 12G for the X3 axis. We then find the minimum value among these combined accelerations adjusted to the maximum allowable acceleration of each real axis. In the example shown in Figure 12A, this value is 4G.
[0107] Next, as shown in Figure 12B, we determine the acceleration of each real axis when the combined acceleration is 4G, as determined above. Figure 12B shows the adjusted distribution ratio and acceleration. We determine the acceleration of each real axis for the combined acceleration of 4G according to the distribution ratio. As shown in Figure 12B, the acceleration of the X1 axis is 1G, the acceleration of the X2 axis is 2G, and the acceleration of the X3 axis is 1G.
[0108] As described above, in the numerical control device 1 of this embodiment, for example, the program analysis unit 13 acquires a machining program from the first storage unit 11 and analyzes the machining range from the acquired machining program. The distribution ratio adjustment unit 23 then adjusts the "acceleration of the virtual axis" and the "distribution ratio for distributing axis movement commands to the feed axis" based on the preset maximum allowable acceleration and stroke limit of the actual axis and the preset machining range. In the numerical control device 1 of this embodiment, the acceleration of the virtual axis is also adjusted.
[0109] (Fifth Embodiment) The numerical control device 1 of the fifth embodiment will be described with reference to Figure 14. Figure 14 is a block diagram showing an overview of the numerical control device 1 of the fifth embodiment. The fifth embodiment will be described mainly focusing on the differences from the fourth embodiment. Matters not described in the fifth embodiment can be the same as in the fourth embodiment.
[0110] In the fifth embodiment, unlike the numerical control device 1 of the fourth embodiment shown in Figure 4, a machining range acquisition unit 27 is further included. The machining range acquisition unit 27 is the part that acquires the machining range described in the machining program.
[0111] The machining range acquisition unit 27 can acquire the machining range by reading, for example, the machining range described as a comment in the machining program. When acquiring the machining range from a comment in the machining program, the machining range acquisition unit 27 can read the comment and acquire the machining range before the machining program starts. In other words, the machining range acquisition unit 27 can acquire the machining range from a comment rather than reading an axis movement command.
[0112] As described above, in the numerical control device 1 of this embodiment, the machining range acquisition unit 27 acquires the machining range that is pre-described in the machining program. Specifically, the program analysis unit 13 acquires the machining program from the first storage unit 11 and analyzes it. The machining range acquisition unit 27 acquires the machining range described in the machining program via the program analysis unit 13.
[0113] The distribution ratio adjustment unit 23 acquires the machining range from the machining range acquisition unit 27. Based on the preset maximum allowable acceleration and stroke limit of the actual axis and the acquired machining range, the distribution ratio adjustment unit 23 adjusts the "acceleration of the virtual axis" and the "distribution ratio for distributing axis movement commands to the feed axis to the virtual axis".
[0114] (Sixth Embodiment) The numerical control device 1 of the sixth embodiment will be described with reference to Figure 15. Figure 15 is a block diagram showing an overview of the numerical control device 1 of the sixth embodiment. The sixth embodiment will be described mainly focusing on the differences from the fifth embodiment. Matters not described in the sixth embodiment can be the same as in the fifth embodiment.
[0115] In the sixth embodiment, unlike the numerical control device 1 of the fifth embodiment shown in Figure 14, the machining range acquisition unit 27 is replaced with a machining range analysis unit 29.
[0116] The machining range analysis unit 29 is the part that analyzes the machining range from the axis movement commands included in the machining program and determines the machining range. In the fifth embodiment, the machining range was obtained from descriptions such as comments in the machining program. In contrast, in the sixth embodiment, the machining range is determined from the axis movement commands included in the machining program by analyzing the machining program.
[0117] The machining range analysis unit 29 can determine the machining range by analyzing, for example, the entire machining program.
[0118] Thus, in the numerical control device 1 of this embodiment, the machining range analysis unit 29 analyzes the machining range from the axis movement commands of the machining program and determines the machining range. Then, the distribution ratio adjustment unit 23 adjusts the "acceleration of the virtual axis" and the "distribution ratio for distributing axis movement commands to the feed axis" based on the preset maximum allowable acceleration and stroke limit of the machining axis and the machining range.
[0119] In the numerical control device 1 of this embodiment, the numerical control device 1 can determine the machining range without adding any special description of the machining range, such as comments, to the machining program.
[0120] (Seventh Embodiment) The numerical control device 1 of the seventh embodiment will be described with reference to Figure 15, which was referenced in the sixth embodiment. The numerical control device 1 of the seventh embodiment has the same configuration as the numerical control device 1 of the sixth embodiment. The numerical control device 1 of the seventh embodiment also includes a machining range analysis unit 29, similar to the numerical control device 1 of the sixth embodiment.
[0121] The numerical control device 1 of the seventh embodiment differs from the numerical control device 1 of the sixth embodiment in that it analyzes the machining range in a machining program using a different unit. In the sixth embodiment, the machining range analysis unit 29 determined the machining range by analyzing, for example, the entire machining program. In contrast, the seventh embodiment analyzes the machining range for each machining unit within the machining program and determines the machining range.
[0122] In the numerical control device 1 of the seventh embodiment, the machining range analysis unit 29 analyzes the machining range from axis movement commands for each machining unit specified in the machining program. The distribution ratio adjustment unit then adjusts the distribution ratio for each machining unit and drives and controls the feed axis based on the distribution ratio for each machining unit. The method for adjusting the distribution ratio can be the same as the method described above.
[0123] Machining programs typically include machining units, or in other words, machining blocks. When machining units are included, the machining program contains information indicating the start and end points of each machining unit. The machining range analysis unit 29 then analyzes the machining range for each machining unit specified in the machining program via the program analysis unit 13 and determines the machining range.
[0124] Thus, in the numerical control device 1 of this embodiment, the machining range analysis unit 29 analyzes the machining range from the axis movement commands for each machining unit divided in the machining program. The distribution ratio adjustment unit 23 then adjusts the "acceleration of the virtual axis" and the "distribution ratio for distributing axis movement commands to the feed axis" based on the preset maximum allowable acceleration and stroke limit of the actual axis and the machining range for each machining unit.
[0125] As described above, the numerical control device 1 of this disclosure can provide a numerical control device 1 that can reduce the effort required to adjust the distribution ratio. Specifically, the numerical control device 1 of this disclosure can set the optimal distribution ratio by automatically adjusting the distribution ratio according to predetermined conditions, thereby eliminating the effort required to adjust the distribution ratio.
[0126] Furthermore, by changing the distribution ratio to parallel axes according to the machining range, it becomes possible to improve performance, such as acceleration, when parallel axes are superimposed within a limited stroke.
[0127] Therefore, the numerical control device 1 of this disclosure can shorten the cycle time. Normally, increasing the feed rate of an axis can lead to machining defects such as insufficient machining or rough machining. The numerical control device 1 and numerical control method of this disclosure improve only the acceleration. Therefore, it is possible to shorten the cycle time while suppressing the occurrence of machining defects.
[0128] The embodiments of the present disclosure have been described above. The present invention is not limited to the embodiments described above, and various modifications, variations, and combinations are possible.
[0129] The following additional information is disclosed regarding the above embodiments and modifications.
[0130] (Note 1) A numerical control device (1) that controls the position or amount of movement of one feed axis and the other feed axis, which are provided in a machine and are driven and controlled in parallel to the one feed axis in conjunction with the one feed axis, by a machining program commanding the position or amount of movement of the one and the other feed axis as a predetermined position or amount of movement of a virtual axis, and drives and controls the feed axis based on said command, comprising a distribution ratio adjustment unit (23) that adjusts the distribution ratio of axis movement commands included in the machining program according to predetermined conditions, and drives and controls the feed axis based on said distribution ratio.
[0131] (Note 2) The distribution ratio adjustment unit (23) adjusts the distribution ratio from a preset shaft weight, the rated torque and instantaneous maximum torque of the servo motor, and coefficients for calculating load torque and acceleration / deceleration torque, and controls the drive of the feed shaft based on the distribution ratio, numerical control device (1).
[0132] (Note 3) The distribution ratio adjustment unit (23) adjusts the distribution ratio from the instantaneous maximum torque of the servo motor and the motor load obtained from the servo motor, and controls the drive of the feed shaft based on the distribution ratio, and is a numerical control device (1).
[0133] (Note 4) The distribution ratio adjustment unit (23) adjusts the distribution ratio for distributing the acceleration of the virtual axis and commands to the virtual axis to the feed axis based on information including at least the maximum allowable acceleration and stroke limit for one and the other feed axis, and the machining range of the machining program set in advance, and drives the feed axis based on the distribution ratio, numerical control device (1).
[0134] (Note 5) The distribution ratio adjustment unit (23) is a numerical control device (1) that adjusts the distribution ratio based on the operable range of the feed axis determined from the starting position included in the machining range and the stroke limit.
[0135] (Note 6) A numerical control device (1) further comprising a machining range acquisition unit (27) that acquires the machining range described in the machining program, and which drives and controls the feed axis based on the distribution ratio.
[0136] (Note 7) A numerical control device (1) further comprising a machining range analysis unit (29) that analyzes the machining range from the axis movement command of the machining program, and that drives and controls the feed axis based on the distribution ratio.
[0137] (Note 8) The numerical control device (1) further comprises a machining range analysis unit (29) that analyzes the machining range from the axis movement command for each machining unit specified in the machining program, the distribution ratio adjustment unit (23) that adjusts the distribution ratio for each machining unit, and drives and controls the feed axis based on the distribution ratio for each machining unit.
[0138] (Note 9) A numerical control method for driving and controlling one feed axis provided in a machine and at least one other feed axis that is driven in parallel to and in conjunction with the one feed axis, wherein the position or amount of movement of the one and the other feed axes is commanded in a machining program as the position or amount of movement of a predetermined virtual axis, and the numerical control method includes: a machining range acquisition step for acquiring a machining range to be machined based on the machining program; an operable range determination step for determining the operable range of the feed axis in the machining range; and a distribution ratio determination step for adjusting the distribution ratio of axis movement commands included in the machining program based on at least the operable range.
[0139] 1 Numerical control unit 11 First memory unit 13 Program analysis unit 15 Drive shaft control unit 21 Second memory unit 23 Distribution ratio adjustment unit 27 Machining range acquisition unit 29 Machining range analysis unit 500 Machining machine 510 Table 512 Main surface 520 Frame 521 Support column 523 Support body 530 Tool 540 Tool unit 560 Servo motor
Claims
1. A numerical control device that controls the position or amount of movement of one feed axis and at least one other feed axis that is driven and controlled in parallel to the first feed axis in conjunction with the first feed axis, by a machining program commanding the position or amount of movement of the first and other feed axes as the position or amount of movement of a predetermined virtual axis, and drives and controls the feed axis based on said command, comprising a distribution ratio adjustment unit that adjusts the distribution ratio of axis movement commands included in the machining program according to predetermined conditions, and drives and controls the feed axis based on said distribution ratio.
2. The numerical control device according to claim 1, wherein the distribution ratio adjustment unit adjusts the distribution ratio from a preset shaft weight, the rated torque and instantaneous maximum torque of the servo motor, and coefficients for calculating load torque and acceleration / deceleration torque, and drives the feed shaft based on the distribution ratio.
3. The numerical control device according to claim 1, wherein the distribution ratio adjustment unit adjusts the distribution ratio from the instantaneous maximum torque of the servo motor and the motor load obtained from the servo motor, and drives the feed shaft based on the distribution ratio.
4. The numerical control device according to claim 1, wherein the distribution ratio adjustment unit adjusts a distribution ratio for distributing the acceleration of the virtual axis and commands to the virtual axis to the feed axis based on information including at least the maximum allowable acceleration and stroke limit for one and the other feed axis, and the machining range of the machining program set in advance, and drives and controls the feed axis based on the distribution ratio.
5. The numerical control device according to claim 4, wherein the distribution ratio adjustment unit adjusts the distribution ratio based on the operable range of the feed axis determined from the starting position included in the machining range and the stroke limit.
6. The numerical control device according to claim 4, further comprising a machining range acquisition unit that acquires a machining range described in the machining program, and driving control of the feed axis based on the distribution ratio.
7. The numerical control device according to claim 4, further comprising a machining range analysis unit that analyzes the machining range from the axis movement command of the machining program, and driving control of the feed axis based on the distribution ratio.
8. The numerical control device according to claim 4, further comprising a machining range analysis unit that analyzes the machining range from the axis movement command for each machining unit specified in the machining program, wherein the distribution ratio adjustment unit adjusts the distribution ratio for each machining unit and drives the feed axis based on the distribution ratio for each machining unit.
9. A numerical control method for driving and controlling one feed axis provided in a machine and at least one other feed axis that is driven in conjunction with and parallel to the one feed axis, wherein the position or amount of movement of the one and the other feed axes is commanded by a machining program as the position or amount of movement of a predetermined virtual axis, and the numerical control method includes: a machining range acquisition step for acquiring a machining range to be machined based on the machining program; an operable range determination step for determining the operable range of the feed axis within the machining range; and a distribution ratio determination step for adjusting the distribution ratio of axis movement commands included in the machining program based on at least the operable range.