Numerical controller, control method and program product
The loading conditions of the tool magazine are stored, estimated and judged by the numerical control device, which solves the problem of machine tool stopping caused by incorrect speed of the tool magazine and realizes stable operation and load reduction of the machine tool when the loading conditions are incorrect.
Patent Information
- Application Number
- CN202510318175.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-28
- Filing Date
- 2025-03-18
- Publication Date
- 2025-09-30
AI Technical Summary
When adjusting the tool magazine's movement speed on existing machine tools, the tool magazine may rotate at an incorrect speed, causing the machine tool to stop the NC program's movement.
The loading conditions of the tool library are stored, estimated and judged through the numerical control device to ensure that the tool library is driven under appropriate conditions when the loading conditions are wrong, including estimation processing, judgment processing and update processing to ensure that the machine tool can continue to execute the NC program.
Even if the loading conditions are incorrect, the numerical control device can continue the machine tool's NC program operation, reduce the drive load, and display the latest loading conditions to the user.
Smart Images

Figure CN120722835A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a numerical control device, a control method and a program product. Background Art
[0002] The machine tool described in Patent Document 1 can adjust the operating speed of a tool magazine relative to an initial operating speed, and can operate the tool magazine at the adjusted operating speed.
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Publication No. 2019-58963 Summary of the Invention
[0006] Problems to be solved by the invention
[0007] In such machine tools, if there is a flaw in the adjusted tool magazine operating speed, the tool magazine may be rotated at an incorrect speed, which may result in the machine tool stopping the operation of the NC program, for example.
[0008] An object of the present invention is to provide a numerical control device, a control method, and a program capable of continuing the operation of an NC program.
[0009] Technical solutions to problems
[0010] The numerical control device of claim 1 includes a control unit that outputs a command to the motor for a machine tool including a driven body driven by the motor, and is characterized in that the numerical control device includes a storage device that stores a loading condition that varies depending on an object loaded on the driven body, the control unit including: a driving process for driving the driven body by the motor based on the loading condition stored in the storage device when executing an NC program; an estimating process for estimating the loading condition of the driven body based on the driving of the driven body by the driving process; and a judging process for judging whether the loading condition stored in the storage device is incorrect based on the loading condition estimated by the estimating process. In the driving process, if the judging process determines that the loading condition stored in the storage device is incorrect, the driven body is driven for the remainder of the driving of the driven body based on the NC program using the loading condition estimated by the estimating process or a condition under which the load for driving the driven body is lower than the loading condition estimated by the estimating process. The numerical control device can drive the driven object based on appropriate loading conditions even when there are errors in the loading conditions. Therefore, the numerical control device can continue the operation of the NC program.
[0011] Alternatively, when the control unit of the numerical controller of claim 2 determines in the determination process that the loading condition stored in the storage device is incorrect, the controller may execute an update process to update the loading condition stored in the storage device to the loading condition estimated in the estimation process. When the numerical controller executes the NC program again, the driven object can be driven using the appropriate loading condition from the outset.
[0012] Alternatively, in the determination processing of the numerical controller of claim 3, if the loading condition estimated by the estimation processing is a condition where the load for driving the driven object is greater than the loading condition stored in the storage device, the loading condition stored in the storage device may be determined to be erroneous. The numerical controller may reduce the load for driving the driven object.
[0013] In the estimation process of the numerical controller of claim 4, the loading condition may be estimated when the driven body is driven by a predetermined amount during execution of the NC program. The numerical controller can estimate the accurate loading condition by driving the driven body by the predetermined amount.
[0014] Alternatively, the control unit of the numerical controller of claim 5 may execute a display process for displaying the loading condition estimated by the estimation process on a display unit, wherein the display process updates the loading condition displayed on the display unit each time the loading condition is estimated by the estimation process. The numerical controller can present the latest loading condition to the user.
[0015] The control unit of the numerical controller of claim 6 may execute an acceptance process for accepting the setting of the loading condition. The numerical controller can continue driving the machine tool using the NC program even if the loading condition set by the user is incorrect.
[0016] The control unit of the numerical controller according to claim 7 may execute a setting process of enabling or disabling execution of the update process. A user can set whether to update the estimated loading condition.
[0017] The control unit of the numerical controller of claim 8 may execute a display process for displaying the loading condition estimated in the estimation process on a display unit, regardless of whether execution of the update process is enabled or disabled in the setting process. A user can recognize the estimated loading condition in any of the settings.
[0018] Alternatively, the loading condition of the numerical control device of claim 9 may be at least one of the inertia and the eccentric load of the driven body. The numerical control device can continue to drive the machine tool using the NC program even if there is an error in the inertia or the eccentric load.
[0019] The control method of technical solution 10 is a control method of a numerical controller for outputting a command to a motor for a machine tool including a driven body driven by a motor, characterized in that the numerical controller includes a storage device that stores a loading condition that varies depending on an object loaded on the driven body, and the control method of the numerical controller performs: a driving step of driving the driven body by the motor based on the loading condition stored in the storage device when executing an NC program; an estimating step of estimating the loading condition of the driven body based on the driving of the driven body in the driving step; and a judging step of judging whether the loading condition stored in the storage device is incorrect based on the loading condition estimated in the estimating step. In the driving step, if the loading condition stored in the storage device is judged to be incorrect in the judging step, the driven body is driven according to the loading condition estimated in the estimating step or a condition under which the load for driving the driven body is lower than the loading condition estimated in the estimating step for the remaining driving of the driven body according to the NC program. The above control method achieves the same effect as the numerical control device of technical solution 1.
[0020] The program product of claim 11 includes a program that causes a computer of a numerical controller that outputs a command to a motor for a machine tool having a driven body driven by the motor to execute the following steps. The numerical controller includes a storage device that stores a loading condition that varies depending on an object loaded on the driven body, and the program causes the computer of the numerical controller to execute: a driving step of driving the driven body by the motor based on the loading condition stored in the storage device when an NC program is executed; an estimating step of estimating the loading condition of the driven body based on the driving of the driven body in the driving step; and a judging step of judging whether the loading condition stored in the storage device is incorrect based on the loading condition estimated in the estimating step. In the driving step, if the judging step determines that the loading condition stored in the storage device is incorrect, the driven body is driven for the remainder of the driving of the driven body based on the NC program using the loading condition estimated in the estimating step or a condition under which the load for driving the driven body is lower than the loading condition estimated in the estimating step. The above program achieves the same effect as the numerical control device of technical solution 1.
[0021] A computer-readable storage medium storing the above-mentioned program is also novel and useful. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 This is a front view of the machine tool 1.
[0023] Figure 2 This is a partial cross-sectional view of the periphery of the spindle head 7 as viewed from the right side.
[0024] Figure 3 1 is a diagram showing the electrical configuration of the numerical controller 40 and the machine tool 1 .
[0025] Figure 4 This is a flowchart of the estimation process.
[0026] Figure 5 This is the main processing flow chart.
[0027] Figure 6 This is a flowchart of the tool change process.
[0028] Figure 7 It is a diagram showing a display mode of the display unit 19 .
[0029] Figure 8 This is a diagram showing the relationship between the passage of time and tool changes during NC program execution. DETAILED DESCRIPTION
[0030] One embodiment of the present invention will be described. The following description uses left, right, up, down, and front, back, and right directions in the figures. The left, right, up, down, and front-back directions of the machine tool 1 are the X-axis, Y-axis, and Z-axis directions of the machine tool 1 , respectively. Figure 1 The machine tool 1 shown is a vertical machining center with a spindle 9 extending in the vertical direction (Z-axis direction). "ATC" as used in this embodiment is an abbreviation for "Automatic Tool Changer." Furthermore, "NC" as used in this embodiment is an abbreviation for "Numerical Control."
[0031] Reference Figure 1 、 Figure 2 The structure of the machine tool 1 is described below. The machine tool 1 includes a base 2, a column 5, a control box 6, a workbench 13, a spindle head 7, a spindle 9, and a tool changer 20. The base 2 is a roughly rectangular metal base. The column 5 is erected at the upper rear of the base 2. The control box 6 is located on the back side of the column 5. The control box 6 houses the numerical control device 40 (see Figure 3 The worktable 13 is movable in two axial directions, the X-axis direction and the Y-axis direction. The spindle head 7 is moved up and down along the Z-axis direction on the front surface of the column 5.
[0032] like Figure 2 As shown, the spindle 9 is rotatably supported inside the spindle head 7. The spindle motor 65 is fixed to the upper part of the spindle head 7. The spindle 9 is connected to a drive shaft extending downward from the spindle motor 65. The spindle 9 is rotated by the drive of the spindle motor 65. The spindle 9 has a mounting hole 92, an axial hole 91, a clamping portion 93, and a traction rod 94. The mounting hole 92 is provided at the lower end portion of the spindle 9 and is connected to the axial hole 91 extending coaxially with the spindle 9. The clamping portion 93 is provided above the mounting hole 92. The traction rod 94 is provided on the inner side of the axial hole 91.
[0033] Tool T includes a holder 17 and a tool 4. Holder 17 holds tool 4 at one end and includes a mounting portion 17A and a pull pin 17B at the other end. Mounting portion 17A is mounted in mounting hole 92 of spindle 9. Pull pin 17B protrudes from the top of mounting portion 17A in the axial direction of tool 4. When mounting portion 17A is mounted in mounting hole 92, clamping portion 93 clamps pull pin 17B. When pull rod 94 presses clamping portion 93 downward, clamping portion 93 releases its grip on pull pin 17B.
[0034] The spindle head 7 has a crank rod 30 and a tension coil spring (not shown) on the inner side. The crank rod 30 is roughly inverted L-shaped when viewed from the right side and can swing around the support shaft 31. The support shaft 31 extends in the left-right direction and is fixed inside the spindle head 7. The front end of the crank rod 30 engages with the pin 95 provided on the traction rod 94 from above. A plate cam 32 is provided at the rear end of the crank rod 30. On the upper front surface of the column 5, a cam follower 34 is supported in front. The cam follower 34 slides on the cam surface of the plate cam 32 that moves up and down. The tension coil spring always applies force to the crank rod 30 in the clockwise direction when viewed from the right side. Therefore, the crank rod 30 always releases the downward pressure of the pin 95.
[0035] Reference Figure 2 , the structure of the tool changing device 20 is described. The tool changing device 20 includes a tool magazine 21, a support table 24, a reducer 25 and a magazine motor 64. The tool magazine 21 is a turret type. The tool magazine 21 has a magazine body 22, a drive shaft 23 and a plurality of clamping arms 8. The magazine body 22 is disc-shaped. The drive shaft 23 is inclined obliquely downward relative to the front of the machine tool 1. The axis of the drive shaft 23 passes through the center of the magazine body 22 described later. The drive shaft 23 is arranged at the rotation center of the magazine body 22. The front of the magazine body 22 faces the front side of the machine tool 1. The clamping arms 8 are arranged at predetermined intervals along the circumferential direction on the outer periphery of the magazine body 22. In this embodiment, 28 clamping arms 8 are provided on the magazine body 22. Therefore, the tool magazine 21 can carry 28 tools T. The clamping arms 8 are arranged so as to be able to swing in the front-back direction around the fulcrum 26 fixed to the outer periphery of the magazine body 22. The clamping arms 8 have a gripping portion 81 at the front end. The gripping portion 81 detachably grips the holder 17. The spindle position of the tool magazine 21 is located at the bottom of the magazine body 22, close to and facing the spindle 9. The gripping arm 8 at the spindle position faces the spindle 9 and is the target position for tool replacement.
[0036] The support platform 24 is fixed to a frame (not shown). The frame is fixed to the column 5 and is located near the spindle head 7. The support platform 24 supports the drive shaft 23. The reducer 25 is fixed to the upper part of the support platform 24. The reducer 25 has a plurality of gears and cams (not shown). The magazine motor 64 is fixed to the upper part of the reducer 25. The drive shaft of the magazine motor 64 is connected to the reducer 25. The reducer 25 reduces the driving force of the magazine motor 64 and transmits it to the drive shaft 23. Therefore, the tool magazine 21 rotates by the driving force of the magazine motor 64.
[0037] Reference Figure 2The ATC action is explained below. The ATC action is a tool changing action, which is the action of attaching and detaching the tool T from the spindle 9. With the mounting portion 17A of the tool T mounted in the mounting hole 92 of the spindle 9, the spindle head 7 rises from the machining position of the workpiece fixed to the worktable 13. The cam follower 34 slides downward on the cam surface of the plate cam 32 of the crank rod 30. The crank rod 30 rotates counterclockwise when viewed from the right side, centered around the support shaft 31. The front end of the crank rod 30 engages with the pin 95 from above, pressing the draw rod 94 downward. The draw rod 94 applies a downward force to the clamping portion 93. As a result, the clamping portion 93 releases its grip on the pull pin 17B. The clamping arm 8, which is in the spindle position, swings counterclockwise when viewed from the right side, centered around the fulcrum 26, as the spindle head 7 rises. The gripping portion 81 of the clamp arm 8 grips the tool T (hereinafter referred to as “current tool T”) currently mounted on the spindle 9 while releasing the grip of the clamping portion 93 .
[0038] The spindle head 7 rises further toward the ATC origin. The current tool T, gripped by the gripper 81, disengages from the mounting hole 92 of the spindle 9. When the spindle head 7 reaches the ATC origin, the tool changer 20 rotates the magazine motor 64 based on instructions from the numerical controller 40, rotating the magazine body 22. The tool changer 20 positions the tool T specified by the NC program's control command (hereinafter referred to as the "next tool T") at the spindle position. Once positioned at the spindle position, the next tool T is placed below the spindle 9.
[0039] The spindle head 7 descends from the ATC origin. The mounting portion 17A of the holder 17 of the next tool T enters the mounting hole 92 of the spindle 9. With the mounting portion 17A inserted into the mounting hole 92, the spindle head 7 descends further. The cam follower 34 slides from bottom to top on the cam surface of the plate cam 32. The crank rod 30 rotates clockwise around the support shaft 31 when viewed from the right. The front end of the crank rod 30 moves upward away from the pin 95, releasing the downward pressure of the traction rod 94. The traction rod 94 releases the downward force applied to the clamping portion 93. The clamping portion 93 clamps the pull pin 17B of the next tool T. The next tool T is mounted on the spindle 9. The spindle head 7 descends further, and the gripping portion 81 of the clamping arm 8 disengages from the next tool T mounted on the spindle 9. Thus, the tool change from the current tool T to the next tool T in the spindle 9 is completed.
[0040] Reference Figure 3The electrical configuration of the numerical controller 40 and the machine tool 1 will now be described. The numerical controller 40 includes a control unit 41, a ROM 42, a RAM 43, a storage device 44, an input / output unit 45, a drive circuit 48, and the like. The control unit 41 is connected to the drive circuit 48 via the input / output unit 45. The control unit 41 includes a CPU and other components and controls the operation of the machine tool 1. The ROM 42 stores an estimation program for executing the estimation process described later and a main program for executing the main process.
[0041] RAM 43 temporarily stores data generated during various processes. Storage device 44 is a rewritable storage medium, such as an EPROM, EEPROM, or flash memory. Storage device 44 stores NC programs, reference loading conditions, reference time constant tb, and the like. Reference loading conditions are the benchmark for loading conditions and are the conditions for driving tool magazine 21 under the maximum load. Specifically, the reference loading conditions are the maximum inertia Jb and maximum eccentric load Twb determined by the mechanical specifications of machine tool 1. Reference time constant tb is the time constant that allows operation without exceeding the maximum torque that magazine motor 64 can output under the reference loading conditions.
[0042] The input / output unit 45 inputs and outputs various signals between the drive circuit 48, encoder 641, control unit 41, ROM 42, RAM 43, storage device 44, operating unit 18, and display unit 19. The drive circuit 48 corresponds to the storage motor 64 and outputs a pulse signal to the storage motor 64 based on a command from the control unit 41. The encoder 641 detects the rotational position of the storage motor 64. The encoder 641 feeds back the detected rotational position to the drive circuit 48 and the input / output unit 45. The encoder 641 is a typical absolute encoder, a position sensor that detects and outputs the absolute position of the rotational position. Descriptions of other movable axes, such as the X-axis, Y-axis, and Z-axis, are omitted.
[0043] The control unit 41 estimates the loading conditions of the tool magazine 21 based on feedback information from the encoder 641. The loading conditions vary depending on the placement and weight of the tools T mounted on the tool magazine 21. The loading conditions are the inertia J and the eccentric load Tw. The estimated loading conditions are stored in the storage device 44.
[0044] The operation unit 18 receives input of user instructions. The display unit 19 displays information to be notified to the user. The display unit 19 is, for example, a liquid crystal touch panel.
[0045] Reference Figure 4 When the power of the machine tool 1 is turned on, the control unit 41 reads the estimation program from the ROM 42 and executes the estimation process.
[0046] When performing the estimation process, the control unit 41 determines whether the NC program is being executed (S1). If it is determined that the NC program is not being executed (S1: No), the control unit 41 returns the process to S1. If it is determined that the NC program is being executed (S1: Yes), the control unit 41 determines whether the tool magazine 21 has been driven by an amount corresponding to a specified amount (S3). In addition, the specified amount is the cumulative number of pitches of the tool magazine 21 required to estimate the loading conditions. For example, the interval between the movement of tools T adjacent to each other in the circumferential direction is set to 1 pitch. When the movement is 1 pitch, the number of rotation pitches is 1. The cumulative number of pitches is the number obtained by accumulating the number of rotation pitches.
[0047] For example, multiple ATC operations may be performed in an NC program. During these multiple ATC operations, the tool magazine 21 may rotate in one direction (one-way) or in two directions (reciprocating). Therefore, the cumulative pitch counts are divided into two types: the cumulative pitch count (one-way) and the cumulative pitch count (two-way).
[0048] The cumulative number of pitches (in one direction) is the cumulative value of the number of pitches moved in a single direction. For example, if the vehicle moves 1 pitch in the first ATC operation, 1 pitch in the second ATC operation, and 4 pitches in the third ATC operation, the cumulative number of pitches (in one direction) is 1+1+4=6.
[0049] On the other hand, the cumulative number of pitches (two directions) is the cumulative value of the number of pitches for reciprocating movement in both directions. For example, if the first ATC maneuver involves one pitch in one direction (one way) and three pitches in the opposite direction in the second ATC maneuver, the cumulative number of pitches (two directions) would be four pitches. It should be noted that the reliability of the estimation results when rotating in both directions is higher, so the cumulative number of pitches can be lower than when rotating in only one direction.
[0050] In the process of S3, for example, if the cumulative number of pitches in one-way movement (in one direction) reaches six, the control unit 41 determines that the tool magazine 21 has been driven a predetermined amount. If the cumulative number of pitches in two-directional movement (in both directions) reaches four, the control unit 41 determines that the tool magazine 21 has been driven a predetermined amount. Furthermore, these cumulative pitch numbers may be set to other than the aforementioned six or four pitches, as appropriate.
[0051] When it is determined that the tool magazine 21 has not been driven by an amount corresponding to the predetermined amount ( S3 : NO), the control unit 41 returns the process to S1 .
[0052] If the control unit 41 determines that the tool magazine 21 has been driven by a predetermined amount (S3: YES), it estimates the loading conditions of the tool magazine 21 based on the driving of the tool magazine 21 (S5). The loading conditions are the inertia J and the eccentric load Tw when the tool magazine 21 is driven. The control unit 41 temporarily stores the estimated inertia J and eccentric load Tw in the RAM 43 (S7). The control unit 41 then initializes the accumulated pitch count and returns the process to S1.
[0053] In this manner, the control unit 41 continuously estimates the loading conditions in accordance with the driving of the tool magazine 21 .
[0054] Reference Figure 5 The main process will now be described. The main process is executed in parallel with the above-described estimation process. When the machine tool 1 is powered on, the control unit 41 reads the main program from the ROM 42 and executes the main process.
[0055] When the main process is executed, the control unit 41 displays the loading condition setting screen 51 (see Figure 7 ) is displayed on the display unit 19 (S101). For example, the "Operation Steps" column 511 is displayed in the left half of the setting screen 51. The "Base Loading Conditions" column 512, the "Estimation Results" column 513, and the "Loading Condition Settings" column 514 are displayed in order from the top in the right half of the setting screen 51. Furthermore, a "Function Settings" column 515 is provided at the bottom of the right-hand area. Details will be described later.
[0056] The control unit 41 accepts a setting to enable or disable acceleration adjustment for the tool magazine 21 (S103). In the initial setting, for example, acceleration adjustment is enabled. The user can also enable or disable acceleration adjustment by operating the "Function Setting" field 515. For example, if acceleration adjustment is disabled, the control unit 41 drives the tool magazine 21 based on the reference loading conditions stored in the storage device 44. On the other hand, if acceleration adjustment is enabled, the control unit 41 drives the tool magazine 21 based on the loading conditions stored in the storage device 44.
[0057] The control unit 41 accepts a setting of valid or invalid for automatic update of the loading condition stored in the storage device 44 (S105). Automatic update of the loading condition is performed during the estimation process (see Figure 4 ) in the process of S5, the function updates the loading conditions stored in the storage device 44 to the estimated loading conditions. In the initial setting, for example, automatic updating of loading conditions is enabled. The user can also enable or disable automatic updating of loading conditions by operating the "Function Setting" column 515.
[0058] The control unit 41 determines whether the loading condition setting has been accepted (S107). For example, the user can set the loading condition for the tool magazine 21. The user operates the "Loading Condition Setting" field 514 on the display unit 19 and enters the desired value. In this case, the control unit 41 determines that the loading condition setting has been accepted (S107: Yes) and stores the user-set loading condition in the storage device 44 (S109). If the loading condition is already stored in the storage device 44, it is updated to the user-entered loading condition. Specifically, the inertia J and eccentric load Tw in the storage device 44 are updated. The control unit 41 proceeds to S111.
[0059] On the other hand, if the control unit 41 determines that the setting of the loading condition has not been accepted ( S107 : NO), the control unit 41 advances the process to S111 . In this case, since there is no user input, the control unit 41 determines the loading condition stored in the storage device 44 .
[0060] The control unit 41 displays the loading conditions stored in the storage device 44 on the display unit 19 (S111). For example, if S109 is passed, the loading conditions set by the user are displayed in the "loading condition setting" column 514 (see Figure 7 On the other hand, if the result of step S107 is NO, the loading conditions pre-stored in the storage device 44 are displayed in the "loading condition setting" column 514 (see Figure 7 For example, in the “Loading Condition Setting” column 514, the inertia J is displayed as “2.0000 kgm 2 "、eccentric load Tw is "40.000Nm" (refer to Figure 7 ).
[0061] The control unit 41 displays the reference loading condition stored in the storage device 44 on the display unit 19 (S113). For example, in the "reference loading condition" column 512, the maximum inertia Jb is displayed as "9.9800 kgm 2 "、The maximum eccentric load Twb is "125.000Nm" (refer to Figure 7 ).
[0062] The control unit 41 calculates the time constant t1 when the tool magazine 21 is driven based on the loading conditions stored in the storage device 44 (S115). The control unit 41 calculates the time constant t1 by using the following (Formula 1), for example:
[0063] t1 = Jtb / {Jb+tb(|Twb|-|Tw|) / Vmax} (Formula 1),
[0064] Where J is the inertia, tb is the reference time constant, Jb is the maximum inertia, Twb is the maximum eccentric load, Tw is the eccentric load, and Vmax is the maximum angular velocity.
[0065] The control unit 41 determines whether an NC program has been received (S117). If it determines that an NC program has not been received (S117: No), the control unit 41 returns the process to S101. For example, if the user selects and executes a machining program, the control unit 41 determines that an NC program has been received (S117: Yes) and reads one line of the NC program (S119).
[0066] The control unit 41 determines whether the command in the read line is a tool change command ( S121 ). If it is not a tool change command ( S121 : No), the control unit 41 executes the command in the read line. For example, the control unit 41 feeds the tool T into the workpiece for cutting. The control unit 41 returns the process to S119 .
[0067] On the other hand, when the command of the read line is a tool replacement command (S121: Yes), the control unit 41 executes the tool replacement process (see Figure 6 )(S123).
[0068] When performing tool change processing (refer to Figure 6 ), the control unit 41 obtains information about the tool replacement process (S201). The information about the tool replacement process includes, for example, information about the tool replacement process obtained by estimation processing (see Figure 4 ) The control unit 41 determines whether the estimated result of the loading condition is stored in the RAM 43 (S203). If it is determined that the estimated result is not stored in the RAM 43 (S203: No), the control unit 41 advances the process to S215.
[0069] The control unit 41 determines whether acceleration adjustment is enabled (S215). If acceleration adjustment is enabled (S215: Yes), the time constant for driving the tool magazine 21 is set to the time constant t1 calculated in S115 (S217). The control unit 41 displays the loading conditions of the tool magazine 21 on the display unit 19 (S221). In this case, the loading conditions displayed in S111 continue to be displayed in the "Loading Condition Setting" column 514 of the display unit 19.
[0070] The control unit 41 starts tool exchange between the tool magazine 21 and the spindle 9 (S223). Based on the time constant t1 calculated in S115, the control unit 41 drives the tool magazine 21 (S225). Specifically, while executing the NC program, the control unit 41 drives the tool magazine 21 using the magazine motor 64 based on the loading conditions stored in the storage device 44. The control unit 41 returns the process to the main process.
[0071] On the other hand, if acceleration adjustment is determined to be disabled (S215: No), the control unit 41 sets the time constant for driving the tool magazine 21 to the reference time constant tb (S219). In this case, the "Loading Condition Setting" column 514 on the display unit 19 is updated to the reference loading conditions (S221). The control unit 41 begins tool replacement (S223). The control unit 41 drives the tool magazine 21 using the reference time constant tb stored in the storage device 44 (S225). The control unit 41 returns the process to the main process.
[0072] On the other hand, if it is determined that the estimation result is stored in RAM 43 (S203: Yes), the control unit 41 displays the estimated loading condition on the display unit 19 (S205). In this case, the "Estimation Result" column 513 of the display unit 19 is updated with the value of the loading condition in RAM 43, and the estimated date and time is also updated. In the process of S205, each time the estimation process (see Figure 4 ), the control unit 41 updates the loading conditions displayed on the display unit 19. Furthermore, regardless of whether the automatic update of the loading conditions is enabled or disabled in the process of S105, the control unit 41 displays the estimated loading conditions on the display unit 19.
[0073] The control unit 41 calculates the time constant t1 based on the estimated loading condition (S207). The calculation of the time constant t1 uses, for example, (Equation 1). In addition, the inertia J in (Equation 1) is used in the estimation process (see Figure 4 ) is stored in RAM 43 in the process of S7. In addition, the eccentric load Tw of (Equation 1) is used in the estimation process (refer to Figure 4 ) is processed in S7 and stored in RAM43.
[0074] Based on the estimated loading conditions, the control unit 41 determines whether the loading conditions stored in the storage device 44 are incorrect (S209). Specifically, the control unit 41 determines whether the loading conditions are incorrect based on the calculated time constant t1. The control unit 41 compares the time constant t1 calculated in S115 of the main process with the time constant t1 calculated in S207 of the tool replacement process. For example, if the time constant t1 calculated in S115 is within the expected error range relative to the time constant t1 calculated in S207, the control unit 41 determines that the loading conditions are correct.
[0075] If the loading conditions are correct (S209: No), the control unit 41 proceeds to S215. For example, if S215: Yes and S217 have been completed, the tool magazine 21 is driven using the time constant t1 calculated in S115 of the main process (S225). On the other hand, if S215: No and S219 have been completed, the tool magazine 21 is driven using the reference time constant tb (S225). After S225, the control unit 41 returns to the main process.
[0076] On the other hand, if the time constant t1 calculated in the process of S115 is outside the assumed error range relative to the time constant t1 calculated in the process of S207, the control unit 41 determines that the loading conditions stored in the storage device 44 are incorrect. In this case, the estimated loading conditions result in a greater load for driving the tool magazine 21 than the loading conditions stored in the storage device 44.
[0077] If the loading condition is determined to be incorrect ( S209 : YES), the control unit 41 determines whether the automatic update setting of the loading condition is valid ( S211 ). If the automatic update setting of the loading condition is determined to be invalid ( S211 : NO), the control unit 41 proceeds to S215 .
[0078] For example, if S215: Yes and S217 have been passed, the tool magazine 21 is driven based on the time constant t1 calculated in S115 (S225). In other words, the tool magazine 21 is driven based on the loading conditions stored in the storage device 44. On the other hand, if S219 has been passed, the tool magazine 21 is driven based on the reference time constant tb (S225). After S225, the control unit 41 returns the process to the main process.
[0079] On the other hand, if the automatic update of the loading conditions in the storage device 44 is determined to be enabled (S211: YES), the control unit 41 updates the loading conditions stored in the storage device 44 to the loading conditions acquired in S201 (S213). In other words, if the control unit 41 determines that the loading conditions stored in the storage device 44 are incorrect, it updates the estimated loading conditions to the loading conditions stored in the storage device 44. The control unit 41 advances the process to S215.
[0080] For example, if S215 returns Yes and S217 is passed, the control unit 41 displays the loading conditions acquired in S201 in the "Loading Condition Settings" column 514 (S221). In this case, the value in the "Loading Condition Settings" column 514 on the display unit 19 is the same as the value in the "Estimation Result" column 513. The control unit 41 drives the tool magazine 21 based on the time constant t1 calculated in S207 (S225). In other words, the control unit 41 drives the tool magazine 21 based on the estimated loading conditions. The control unit 41 returns the process to the main process.
[0081] If S215: No or S219 is passed, the control unit 41 displays the reference loading conditions in the "Loading Condition Setting" column 514 (S221). In this case, the value in the "Loading Condition Setting" column 514 on the display unit 19 is the same as the value in the "Base Loading Condition" column 512. The control unit 41 drives the tool magazine 21 based on the reference time constant tb (S225). In other words, the control unit 41 drives the tool magazine 21 under conditions that are lower than the load required to drive the tool magazine 21 under the estimated loading conditions. The control unit 41 returns the process to the main process.
[0082] For example, by executing the processes from S119 to S125, the control unit 41 repeatedly performs Figure 8 For example, the control unit 41 changes the tool shown in FIG. Figure 8 Three tool changes are performed before time te1 ( S121 , S223 ). In the first tool change, tool T1 is replaced with tool T2. In the second tool change, tool T2 is replaced with tool T3. In the third tool change, tool T3 is replaced with tool T7. During the first and second tool changes, tool magazine 21 is driven one pitch at a time. During the third tool change, tool magazine 21 is driven four pitches. Therefore, the cumulative number of pitches during the third tool change reaches six.
[0083] The control unit 41 determines that the cumulative number of pitches in the tool magazine 21 has reached 6 pitches in the third tool replacement (S3: Yes), and estimates the loading condition (S5). In this case, Figure 8 At time te1, the loading condition is determined to be incorrect (S209). For example, if it is determined that the loading condition stored in the storage device 44 is incorrect (S209: Yes), the control unit 41 drives the tool magazine 21 based on the time constant t1 or the reference time constant tb calculated in S207 during tool replacement after time te1 (S225).
[0084] After time te1, two tool changes, the fourth and fifth, are performed. In the fourth tool change, tool T7 is replaced with tool T8. In the fifth tool change, tool T8 is replaced with tool T1. In the fourth tool change, the tool magazine 21 is driven one pitch in one direction. In the fifth tool change, the tool magazine 21 is driven seven pitches in the opposite direction to the fourth tool change. Therefore, during the fifth tool change, the cumulative number of pitches reaches four. At time te2, the cumulative number of pitches reaches four (S3: YES), so the control unit 41 estimates the loading conditions (S5) and determines whether the loading conditions are incorrect (S209). For example, if it is determined that the loading conditions are not incorrect (S209: NO), the control unit 41 maintains the immediately previous time constant and drives the tool magazine 21 (S225).
[0085] When determining that the NC program has ended ( S125 : YES), the control unit 41 returns the process to S101 .
[0086] As described above, when executing an NC program, the control unit 41 drives the tool magazine 21 using the magazine motor 64 based on the loading conditions stored in the storage device 44. The control unit 41 estimates the loading conditions of the tool magazine 21 based on the driving of the tool magazine 21. Based on the estimated loading conditions, the control unit 41 determines whether the loading conditions stored in the storage device 44 are incorrect. If the control unit 41 determines that the loading conditions stored in the storage device 44 are incorrect, the control unit 41 drives the tool magazine 21 using the estimated loading conditions or the reference loading conditions for the remaining tool magazine 21 drives based on the NC program.
[0087] The numerical control device 40 can drive the tool magazine 21 based on the appropriate loading conditions even when there is an error in the loading conditions. Therefore, the numerical control device 40 can continue the operation of the NC program.
[0088] If the control unit 41 determines that the loading conditions stored in the storage device 44 are incorrect, it updates the loading conditions stored in the storage device 44 to the estimated loading conditions. When the numerical controller 40 executes the NC program again, it can drive the tool magazine 21 with appropriate loading conditions from the beginning.
[0089] If the estimated loading condition results in a greater load for driving the tool magazine 21 than the loading condition stored in the storage device 44, the control unit 41 determines that the loading condition stored in the storage device 44 is incorrect. The numerical control device 40 can reduce the load for driving the tool magazine 21.
[0090] The control unit 41 estimates the loading condition when the tool magazine 21 is driven by a predetermined amount during execution of the NC program. The numerical control device 40 can estimate the accurate loading condition by driving the tool magazine 21 by a predetermined amount.
[0091] The control unit 41 displays the estimated loading conditions on the display unit 19. Every time the loading conditions are estimated, the control unit 41 updates the loading conditions displayed on the display unit 19. The numerical controller 40 can present the latest loading conditions to the user.
[0092] The control unit 41 receives the setting of the loading conditions. Even when the loading conditions set by the user are incorrect, the numerical control device 40 can continue driving the machine tool 1 using the NC program.
[0093] The control unit 41 sets the execution of automatic update of the loading condition to be valid or invalid. The user can set whether to update the estimated loading condition.
[0094] Regardless of whether the automatic update of the loading condition is set to be valid or invalid, the control unit 41 displays the estimated loading condition on the display unit 19. The user can recognize the estimated loading condition in any setting.
[0095] In the above description, the magazine motor 64 is an example of the "motor" of the present invention. The tool magazine 21 is an example of the "driven body" of the present invention. The tool T is an example of the "loaded object" of the present invention. The inertia J and the eccentric load Tw are examples of the "loading conditions" of the present invention. The processing of S225 is an example of the "drive processing" of the present invention. The processing of S5 is an example of the "estimation processing" of the present invention. The processing of S209 is an example of the "judgment processing" of the present invention. The processing of S213 is an example of the "update processing" of the present invention. The processing of S107 is an example of the "acceptance processing" of the present invention. The processing of S105 is an example of the "setting processing" of the present invention. The processing of S205 is an example of the "display processing" of the present invention. The control of the control unit 41 that performs the estimation processing, main processing and tool replacement processing is an example of the "control method" of the present invention. The control unit 41 that performs the estimation processing, main processing and tool replacement processing is an example of the "computer" of the present invention. The processing of S225 is an example of the "drive step" of the present invention. The process of S5 is an example of the "estimation step" of the present invention.
[0096] The present invention is not limited to the above-described embodiment and is capable of various modifications. The techniques disclosed in the above-described embodiment and modifications may be combined within a range consistent with inconsistencies. While the machine tool 1 is a vertical machine tool in which the axial direction of the main spindle 9 extends in the vertical direction, it may also be a horizontal machine tool in which the axial direction of the main spindle 9 extends in the front-rear direction.
[0097] In the above embodiment, the loading conditions of the tool magazine 21 are used as the target, but the present invention is not limited to this. The disclosed technology can also be applied to items other than the tool magazine 21. For example, the loading conditions of the workbench 13 can also be used as the target. In this case, the loading conditions of the workbench 13 vary depending on the arrangement and weight of the workpieces.
[0098] In the above embodiment, the loading conditions are the inertia J and the eccentric load Tw of the tool magazine 21, but are not limited thereto. For example, the loading condition may be at least one of the inertia J and the eccentric load Tw of the tool magazine 21. Even if errors exist in the inertia J or the eccentric load Tw, the numerical control device 40 can continue to drive the machine tool 1 using the NC program.
[0099] In the above embodiment, the reference loading conditions are the maximum inertia Jb and the maximum eccentric load Twb, but are not limited thereto. For example, the reference loading condition may be defined by at least one of the maximum inertia Jb and the maximum eccentric load Twb of the tool magazine 21 around the drive shaft 23 .
[0100] In the above embodiment, the torque under the reference loading condition is the maximum output of the storage motor 64, but this is not the only limitation. For example, the torque under the reference loading condition may not be the maximum output of the storage motor 64. Furthermore, the reference time constant tb may be determined taking into account the life of the reducer 25 and torque shortage. The reference loading condition can be appropriately set.
[0101] In the above embodiment, the loading conditions are inertia J and eccentric load Tw, but are not limited to these. For example, inertia J and eccentric load Tw are specific values, but classifications such as "heavy," "light," "standard," or "level 1" to "level 10" may also be stored. It is sufficient to determine the time constant corresponding to these classifications.
[0102] In the above embodiment, the time constant t1 calculated in the process of S115 and the time constant t1 calculated in the process of S207 are compared to determine the error in the loading conditions stored in the storage device 44. However, the present invention is not limited to this. For example, the loading conditions stored in the storage device 44 may be directly compared with the estimated loading conditions. In this case, both the inertia J and the eccentric load Tw may be compared, or only one of them may be compared.
[0103] In the above embodiment, when there is an error in the loading conditions, the tool magazine 21 is driven based on the time constant t1 or the reference time constant tb calculated in the process of S207, but the present invention is not limited thereto. For example, the control unit 41 may drive the tool magazine 21 with a time constant between the time constant t1 calculated in S207 and the reference time constant tb.
[0104] In the above embodiment, the loading condition is estimated based on the driving of the tool library 21 during the execution of the NC program, but the present invention is not limited to this. For example, the driving of the tool library 21 other than the NC program may be targeted.
[0105] In the above embodiment, the time constant t1 is calculated using (Formula 1), but other formulas may be used. The time constant t1 may be calculated using a known method.
[0106] In the above embodiment, the "Operation Procedure" column 511, the "Base Loading Condition" column 512, the "Estimation Result" column 513, the "Loading Condition Setting" column 514, and the "Function Setting" column 515 are displayed simultaneously on the display unit 19, but the present invention is not limited thereto. For example, the columns 511 to 515 may be displayed in a switching manner. For example, the estimated loading conditions and the base loading conditions may be displayed in a switching manner.
[0107] In the above embodiment, the inertia J and the eccentric load Tw are displayed in the "Estimated Result" column 513 and the loading condition setting column 514, but the present invention is not limited to this. For example, the inertia J and the eccentric load Tw may be displayed in a switchable manner. Alternatively, only one of the inertia J and the eccentric load Tw may be displayed. In addition, the "Base Loading Condition" column 512 may be switched to display the maximum inertia Jb and the maximum eccentric load Twb. Alternatively, only one of the maximum inertia Jb and the maximum eccentric load Twb may be displayed.
[0108] In the above embodiment, the "Function Setting" column 515 of the setting screen 51 displays the "Acceleration Adjustment" and "Auto Update" screens simultaneously, but the present invention is not limited thereto. For example, the "Acceleration Adjustment" and "Auto Update" screens in the "Function Setting" column 515 may be displayed alternately.
[0109] In the above embodiment, the time constant t1 and the reference time constant tb are not displayed on the display unit 19 , but the present invention is not limited thereto. At least one of the time constant t1 and the reference time constant tb may be displayed on the display unit 19 .
[0110] Alternatively, an ASIC, FPGA (Field Programmable Gate Array), or the like may be used as a processor in place of the control unit 41. Processing may also be distributed among multiple processors. The numerical controller 40 may also include other non-transitory storage media, such as an HDD. The non-transitory storage medium is not limited to the duration of information storage, as long as it can retain the information. The non-transitory storage medium may also exclude temporary storage media (e.g., transmitted signals).
[0111] Various programs may be downloaded from a server connected to a network (not shown) (ie, transmitted as a transmission signal) and stored in a memory such as a HDD. In this case, the various programs may be stored in a non-transitory storage medium such as a HDD provided by the server.
Claims
1. A numerical control device comprising a control unit configured to output a command to a motor to a machine tool having a driven body driven by the motor, wherein: A storage device is provided for storing loading conditions that vary according to a load loaded on the driven body. The control unit includes: a driving process for driving the driven object by the motor based on the loading conditions stored in the storage device when executing an NC program; an estimating process of estimating the loading condition of the driven object based on the driving of the driven object by the driving process; as well as a judgment process of judging whether the loading condition stored in the storage device is incorrect based on the loading condition estimated by the estimation process; In the driving process, when it is determined in the judgment process that the loading condition stored in the storage device is wrong, for the driving of the remaining driven body based on the NC program, the driven body is driven under the loading condition estimated by the estimation process or under a condition in which the load for driving the driven body is lower than the loading condition estimated by the estimation process.
2. The numerical control device according to claim 1, wherein When the control unit determines in the determination process that the loading condition stored in the storage device is incorrect, the control unit executes an update process of updating the loading condition stored in the storage device to the loading condition estimated in the estimation process.
3. The numerical control device according to claim 1, wherein In the judgment process, if the loading condition estimated by the estimation process is a condition in which the load for driving the driven object is greater than the loading condition stored in the storage device, the loading condition stored in the storage device is judged to be incorrect.
4. The numerical control device according to claim 1, wherein In the estimation process, the loading condition is estimated when the driven body is driven by a predetermined amount during execution of the NC program.
5. The numerical control device according to claim 4, characterized in that The control unit performs a display process of displaying the loading condition estimated by the estimation process on a display unit, The display process updates the loading condition displayed on the display unit every time the loading condition is estimated in the estimation process.
6. The numerical control device according to claim 1, wherein The control unit executes an acceptance process of accepting the setting of the loading condition.
7. The numerical control device according to claim 2, wherein: The control unit executes a setting process of setting execution of the update process to be valid or invalid.
8. The numerical control device according to claim 7, wherein: The control unit executes a display process for displaying the loading condition estimated in the estimation process on a display unit, regardless of whether execution of the update process is set to be valid or invalid in the setting process.
9. The numerical control device according to claim 1, wherein: The loading condition is at least one of the inertia and the eccentric load of the driven body.
10. A control method for a numerical controller that outputs a command to a motor to a machine tool having a driven body driven by the motor, characterized in that: The numerical control device includes a storage device that stores a loading condition that changes according to a load loaded on the driven body. The control method of the numerical control device performs: a driving step of driving the driven object by the motor based on the loading conditions stored in the storage device when executing an NC program; an estimating step of estimating the loading condition of the driven object based on the driving of the driven object by the driving step; as well as a judging step of judging whether the loading condition stored in the storage device is wrong based on the loading condition estimated by the estimating step, In the driving step, when it is determined in the judging step that the loading condition stored in the storage device is erroneous, the driven body is driven based on the remaining driving of the driven body according to the loading condition estimated in the estimating step or a condition in which the load for driving the driven body is lower than the loading condition estimated in the estimating step.
11. A program product comprising a program for causing a computer of a numerical controller that outputs a command to a motor for a machine tool having a driven body driven by the motor to execute the following steps, characterized in that: The numerical control device includes a storage device that stores a loading condition that changes according to a load loaded on the driven body. The steps include: a driving step of driving the driven object by the motor based on the loading conditions stored in the storage device when executing an NC program; an estimating step of estimating the loading condition of the driven object based on the driving of the driven object by the driving step; and a judging step of judging whether the loading condition stored in the storage device is wrong based on the loading condition estimated by the estimating step, In the driving step, when it is determined in the judging step that the loading condition stored in the storage device is erroneous, the driven body is driven based on the remaining driving of the driven body according to the loading condition estimated in the estimating step or a condition in which the load for driving the driven body is lower than the loading condition estimated in the estimating step.
Citation Information
Patent Citations
Machine tool and manufacturing method of the same
JP2019058963A