Control device, machine tool, control method and computer program

The control device automates parallel spindle and holding unit movements in machine tools by reading commands and releasing brakes at optimal times, eliminating the need for user-set threshold values.

JP2025154672APending Publication Date: 2025-10-10BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024057797
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

Existing machine tools require user input to set threshold values for brake release, complicating the parallel movement of spindles and holding units.

Method used

A control device that automatically executes spindle and holding unit movements in parallel by reading and determining commands, storing relevant positions, and releasing brakes at appropriate times without user input.

Benefits of technology

Enables parallel execution of spindle movements and brake releases without manual setting, enhancing operational efficiency and reducing user intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025154672000001_ABST
    Figure 2025154672000001_ABST
Patent Text Reader

Abstract

To provide a control device, etc. allowed to execute the movement of a main spindle and the brake release from a hold unit in a parallel fashion without setting by a user.SOLUTION: A control device comprises a control unit that reads out a plurality of commands in order and controls a main spindle, a hold unit to hold a work-piece and a brake unit to brake the hold unit. The control unit determines whether or not a command read out is a first command as a command indicative of a cutting of the work-piece from a cutting-start position to a cutting-end position and a movement of the main spindle toward the work-piece in an axial direction of the main spindle, whether or not the command read out is a second command after the first command and indicative of a movement of the main spindle away from the work-piece in the axial direction, and whether or not a third command being a command after the second command is a command indicative of a movement of the hold unit. If the third command is determined to be a command indicative of a movement of the hold unit, the second command and the release of brake are executed in a parallel fashion when the main spindle reached a brake-release position as a position distant from the work-piece greater than the cutting-start or cutting-end position during execution of the second command.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present technology relates to a control device, a machine tool, a control method, and a computer program that controls a movable spindle on which a tool is attached, a movable holding unit that holds a workpiece, and a braking unit that releases the brake on the holding unit. [Background technology]

[0002] There is a machine tool that controls a movable spindle on which a tool is attached, a movable holding unit that holds a workpiece, and a braking unit that applies and releases the brake on the holding unit. For example, after drilling a hole in the workpiece, the spindle moves in a direction away from the workpiece, and the control unit releases the brake on the holding unit, causing the spindle and the holding unit to move in parallel. When the coordinate of the spindle reaches a threshold value set by the user, the control unit releases the brake on the holding unit (see Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2023-151280 Summary of the Invention [Problem to be solved by the invention]

[0004] The machine tool disclosed in Patent Document 1 requires the user to set a threshold value.

[0005] The present disclosure has been made in consideration of the above circumstances, and aims to provide a control device, a machine tool, a control method, and a computer program that can execute the movement of the spindle and the movement of the holding part in parallel without user settings. [Means for solving the problem]

[0006] A control device according to an embodiment of the present disclosure is a control device for a machine tool that includes a movable spindle to which a tool is attached, a movable holding unit that holds a workpiece, a braking unit that brakes and releases the braking of the holding unit, and a control unit that sequentially reads out a plurality of commands to control the spindle, the holding unit, and the braking unit, and the control unit includes a first command determination process that determines whether the read-out command is a first command that is a command that indicates cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle approaching the workpiece in an axial direction of the spindle, and a second command determination process for determining whether a second command, which is a command that indicates movement of the spindle away from the workpiece in the axial direction, is a command following the second command, a first determination process for determining whether a third command, which is a command that follows the second command, is a command that indicates movement of the holding part, and if it is determined in the first determination process that the third command is a command that indicates movement of the holding part, a parallel execution process is executed in which the second command and the brake release are executed in parallel when the spindle reaches the cutting start position or a brake release position that is a position farther away from the workpiece than the cutting start position during execution of the second command.

[0007] In the present disclosure, the control device executes the second command and brake release in parallel when the spindle reaches the cutting start position or the brake release position, which is a position farther from the workpiece than the cutting start position.

[0008] In a control device according to one embodiment of the present disclosure, when the control unit determines in the first determination process that the third command is a command indicating movement of the holding unit, the control unit executes a first storage process that stores a storage instruction for brake release and the brake release position, and in the parallel execution process, a second determination process that determines whether the spindle has reached the brake release position based on the brake release position stored in the first storage process.

[0009] In the present disclosure, when the third command is a command indicating movement of the holding part, the control device stores the brake release position, and when processing is performed, determines whether the spindle has reached the brake release position based on the stored brake release position.

[0010] In a control device according to one embodiment of the present disclosure, when the control unit reads out the first command, it executes a second storage process that stores an instruction to store the cutting start position and the cutting start position.

[0011] In the present disclosure, when the first command is read, a memory instruction for the cutting start position and the cutting start position are stored.

[0012] In a control device according to one embodiment of the present disclosure, when the control unit reads out a command other than the second command and other than a command indicating movement of the spindle after executing the second storage process, the control unit executes a first erasure process to erase the memory instruction for the cutting start position stored in the second storage process and the cutting start position itself.

[0013] In the present disclosure, after executing the second storage process, if the control device reads out a command other than the second command and other than a command indicating movement of the spindle, it erases the cutting start position stored in the second storage process.

[0014] In a control device according to one embodiment of the present disclosure, after the control unit stores the memory instruction for the cutting start position in the second storage process, the control unit performs a third determination process to determine whether the command following the first command is the second command, and if the third determination process determines that the command following the first command is not the second command, the control unit performs a fourth determination process to determine whether the command following the first command is a command indicating movement of the spindle, and if the fourth determination process determines that the command following the first command is not a command indicating movement of the spindle, the control unit erases the memory instruction for the cutting start position and the cutting start position in the first erasure process.

[0015] In the present disclosure, if the control device determines that the command following the first command is not a second command and is not a command indicating movement of the spindle, it erases the memory instruction for the cutting start position and the cutting start position.

[0016] A machine tool according to an embodiment of the present disclosure includes a movable spindle to which a tool is attached, a movable holding unit to hold a workpiece, a braking unit to brake and release the braking of the holding unit, and a control device having a control unit that sequentially reads out a plurality of commands and controls the spindle, the holding unit, and the braking unit, wherein the control unit performs a first command determination process to determine whether the read command is a first command that is a command instructing cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle to approach the workpiece in an axial direction of the spindle, and whether the read command is a command subsequent to the first command. a second command determination process for determining whether a second command is a command indicating movement of the spindle away from the workpiece in the axial direction; a first determination process for determining whether a third command, which is a command following the second command, is a command indicating movement of the holding part; and if it is determined in the first determination process that the third command is a command indicating movement of the holding part, a parallel execution process is executed in which the second command and the brake release are executed in parallel when the spindle reaches the cutting start position or a brake release position, which is a position farther away from the workpiece than the cutting start position, during execution of the second command.

[0017] In the present disclosure, the control device executes the second command and brake release in parallel when the spindle reaches the cutting start position or the brake release position, which is a position farther from the workpiece than the cutting start position.

[0018] A control method according to an embodiment of the present disclosure is a control method for a machine tool including a movable spindle to which a tool is attached, a movable holding unit to hold a workpiece, a braking unit to brake and release the braking of the holding unit, and a control unit to control the spindle, the holding unit, and the braking unit by sequentially reading out a plurality of commands, the control unit including a first command determination process for determining whether the read-out command is a first command which is a command instructing cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle to approach the workpiece in an axial direction of the spindle, and a second command determination process for determining whether a third command, which is a command following the second command, is a command indicating movement of the holding part, and a first determination process for determining whether a third command, which is a command following the second command, is a command indicating movement of the holding part; and if it is determined in the first determination process that the third command is a command indicating movement of the holding part, a parallel execution process is executed in which the second command and the brake release are executed in parallel when the spindle reaches the cutting start position or a brake release position, which is a position further away from the workpiece than the cutting start position, during execution of the second command.

[0019] In the present disclosure, when the spindle reaches the brake release position, which is the cutting start position, the control device executes the second command and brake release in parallel.

[0020] A computer program according to an embodiment of the present disclosure is a computer program executable by a control device of a machine tool that includes a movable spindle to which a tool is attached, a movable holding unit that holds a workpiece, and a braking unit that brakes and releases the braking of the holding unit, and that sequentially reads out a plurality of commands to control the spindle, the holding unit, and the braking unit, the computer program being executable by the control device, and includes a first command determination process that determines whether the read-out command is a first command that is a command that indicates cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle approaching the workpiece in an axial direction of the spindle; a second command determination process for determining whether a second command, which is a command that follows the first command and indicates movement of the spindle away from the workpiece in the axial direction, is received; a first determination process for determining whether a third command, which is a command that follows the second command, is a command that indicates movement of the holding part; and, if it is determined in the first determination process that the third command is a command that indicates movement of the holding part, a parallel execution process for executing the second command and the brake release in parallel when the spindle reaches the cutting start position or a brake release position that is a position farther away from the workpiece than the cutting start position during execution of the second command is executed.

[0021] In the present disclosure, the control device executes the second command and brake release in parallel when the spindle reaches the cutting start position or the brake release position, which is a position farther from the workpiece than the cutting start position. [Effects of the Invention]

[0022] In a control device, a machine tool, a control method, and a computer program according to an embodiment of the present disclosure, the control device executes a second command and brake release in parallel when the spindle reaches a cutting start position or a brake release position that is farther from the workpiece than the cutting start position. Therefore, the second command and brake release can be executed in parallel without the user having to set a value for brake release. [Brief explanation of the drawings]

[0023] [Figure 1]1 is a perspective view of a machine tool according to a first embodiment. [Figure 2] FIG. 2 is a perspective view of the machine tool, omitting the tool changer and the cover that covers the track. [Figure 3] FIG. 2 is a front perspective view of the workpiece holding device. [Figure 4] FIG. 2 is a block diagram illustrating a configuration of a control device. [Figure 5] FIG. 4 is a conceptual diagram showing an example of a machining program stored in an auxiliary storage unit. [Figure 6] 6 is a schematic diagram showing the command operations of each block in FIG. 5. FIG. [Figure 7] 10 is a flowchart illustrating a machining program execution process performed by a control unit. [Figure 8] 10 is a flowchart illustrating a block execution process performed by a control unit. [Figure 9] FIG. 2 is a conceptual diagram showing an example of a first storage area, a second storage area, a third storage area, a fourth storage area, and a machining program. [Figure 10] FIG. 2 is a conceptual diagram showing an example of a first storage area, a second storage area, a third storage area, a fourth storage area, and a machining program. [Figure 11] FIG. 2 is a conceptual diagram showing an example of a first storage area, a second storage area, a third storage area, a fourth storage area, and a machining program. [Figure 12] FIG. 2 is a conceptual diagram showing an example of a first storage area, a second storage area, a third storage area, a fourth storage area, and a machining program. [Figure 13] FIG. 10 is a conceptual diagram showing an example of a machining program according to the second embodiment. [Figure 14] 14 is a schematic diagram showing the command operations of each block in FIG. 13. FIG. [Figure 15] FIG. 11 is a conceptual diagram showing an example of a machining program according to a third embodiment. [Figure 16] 16 is a schematic diagram showing the command operations of each block in FIG. 15. DETAILED DESCRIPTION OF THE INVENTION

[0024] (Embodiment 1) The present invention will be described below with reference to the drawings showing a machine tool according to a first embodiment. In the following description, up / down, left / right, and front / rear directions will be used as indicated by arrows in the drawings. An operator operates the machine tool from the front and loads / unloads a workpiece W (see FIG. 6). FIG. 1 is a perspective view of the machine tool, and FIG. 2 is a perspective view of the machine tool with the tool changer and the cover that covers the track, etc., omitted.

[0025] The machine tool 100 comprises a base 20, a Y-axis direction moving device 22, an X-axis direction moving device 26, a pillar 28, a Z-axis direction moving device 30, a spindle head 32, a tool changer 10, etc. The X-axis direction corresponds to the left-right direction, the Y-axis direction corresponds to the front-rear direction, and the Z-axis direction corresponds to the up-down direction. The base 20 is fixed to the floor. The base 20 supports the pillar 28 via the Y-axis direction moving device 22 and the X-axis direction moving device 26 so that the pillar 28 can move in the front-rear and left-right directions. The base 20 supports a workpiece holding device 120. The workpiece holding device 120 corresponds to the holding unit. The Z-axis direction moving device 30 is attached to the pillar 28. The Z-axis direction moving device 30 moves the spindle head 32 in the up-down direction. The tool changer 10 changes the tool attached to the spindle head 32.

[0026] The Y-axis direction moving device 22 includes two parallel tracks 22a, multiple moving bodies 22b, a Y-axis direction moving stage 22c, and a Y-axis motor 22d (see FIG. 4). The tracks 22a extend in the front-rear direction on the upper surface of the base 20. The moving bodies 22b are fitted into the two tracks 22a so as to be movable in the front-rear direction. The Y-axis direction moving stage 22c is fixed onto the moving bodies 22b, straddling the two tracks 22a. The Y-axis direction moving stage 22c moves in the front-rear direction when driven by the Y-axis motor 22d.

[0027] The X-axis direction moving device 26 includes two parallel tracks 26a, multiple moving bodies 26b, a pillar base 26c, and an X-axis motor 26d (see FIG. 4). The track 26a extends in the left-right direction on the upper surface of the Y-axis direction moving platform 22c. The moving bodies 26b are fitted into each of the two tracks 26a so as to be movable in the left-right direction. The pillar base 26c is fixed onto the moving bodies 26b, spanning the two tracks 26a. The pillar 28 is fixed onto the pillar base 26c. The pillar base 26c moves in the left-right direction when driven by the X-axis motor 26d. The pillar 28 moves in the front-rear and left-right directions by the Y-axis direction moving device 22 and the X-axis direction moving device 26.

[0028] The Z-axis direction moving device 30 comprises two parallel tracks 30a, multiple moving bodies 30b, a spindle head base 30c, and a Z-axis motor 30d (see FIG. 4). The track 30a extends vertically in front of the upright column 28. The multiple moving bodies 30b are fitted into the two tracks 30a so as to be movable vertically. The spindle head base 30c is fixed to the front of the moving body 30b, spanning the two tracks 30a. The spindle head base 30c moves vertically when driven by the Z-axis motor 30d.

[0029] The spindle head 32 is fixed to a spindle head base 30c. The spindle head 32 rotatably holds a spindle 34 extending vertically inside the front side. The spindle 34 has a hollow cylindrical shape, and a spindle motor 35 (see Figure 4) rotates the spindle 34. By driving and controlling the X-axis motor 26d, the Y-axis motor 22d, and the Z-axis motor 30d, the spindle head 32 moves back and forth, left and right, and up and down.

[0030] The tool changer 10 includes an oval track (not shown) and multiple carriages (not shown) that move on the track. The track surrounds the spindle head 32 and the upright column 28, extends from the lower front to the upper rear, and is inclined at a predetermined angle from the horizontal. The multiple carriages are connected in a chain-like manner by links. As shown in FIG. 1, a gear 51 and a drive motor 52 are disposed inside the track. The gear 51 is connected to the drive motor 52 and rotates when driven by the drive motor 52. The multiple carriages mesh with the gear 51 and rotate on the track when driven by the drive motor 52. Each carriage supports a gripping arm 53.

[0031] An empty gripping arm 53 is placed at the front end of the track of the tool changer 10, and the spindle 34 with the tool 11 attached thereto is raised, whereby the gripping arm 53 removes the tool 11 from the spindle 34 and grips it. A gripping arm 53 that grips the tool 11 is placed at the front end of the track of the tool changer 10, and the spindle 34 that is not holding the tool 11 is lowered, whereby the spindle 34 attaches the tool 11.

[0032] 3 is a front perspective view of the workpiece holding device 120. The workpiece holding device 120 includes a support table 121. A shaft 122 is provided on each of the left and right sides of the support table 121, with the left-right direction as the axial direction. Hereinafter, the central axis of the shaft 122 will also be referred to as the A-axis. The left-side shaft 122 is supported by a support 124 so as to be rotatable around the A-axis. The support 124 is connected to the base 20. A rotating table 127 is provided on the upper surface of the support table 121 so as to be rotatable around the C-axis. The C-axis is perpendicular to the upper surface of the support table 121.

[0033] The right-side shaft 122 is supported by a support 123 so as to be rotatable about the A-axis. An A-axis motor 125 is provided in the support 123. Transmission members (not shown) such as gears, cams, and cam followers are housed inside the support 123. The rotation of the A-axis motor 125 is transmitted to the shaft 122 via the transmission members, and the support base 121 rotates about the A-axis. A rotating base 127 is provided above the support base 121, and a C-axis drive unit 126 is provided below the support base 121. The C-axis drive unit 126 has a C-axis motor 79 (see Figure 4), and the rotation of the C-axis motor 79 rotates the rotating base 127 about the C-axis. The workpiece holding device 120 includes an A-axis brake B1 (see FIG. 4) that brakes or releases the A-axis motor 125, and a C-axis brake B2 (see FIG. 4) that brakes or releases the C-axis motor 79.

[0034] The machine tool is equipped with a control device 80. FIG. 4 is a block diagram showing the configuration of the control device 80. The control device 80 includes a control unit 80a, a main memory unit 80b, an auxiliary memory unit 80c, an input / output interface (input / output I / F) 80d, and the like, all connected via a bus. The control unit 80a includes, for example, a processor or a logic circuit. The processor includes, for example, a CPU, an MPU, or a GPU. The logic circuit includes, for example, an FPGA or an ASIC. The main memory unit 80b includes, for example, a RAM. The auxiliary memory unit 80c includes a rewritable storage device, for example, an EEPROM, a flash ROM, or a hard disk. The auxiliary memory unit 80c stores a machining program. The auxiliary memory unit 80c includes a first memory area 82a to a fourth memory area 82d. The first memory area 82a stores a memory flag. The second memory area 82b stores a cutting start position. The third memory area 82c stores a brake release flag. The fourth memory area 82d stores a brake release position.

[0035] The control unit 80a reads the machining program from the auxiliary storage unit 80c to the main storage unit 80b and controls the machine tool. The machining program may be recorded on a recording medium 81 such as an optical disk and downloaded from the recording medium 81 to the auxiliary storage unit 80c. The machining program may be recorded on a server, and the server and the control unit 80 may be connected via a network, and the machining program may be downloaded from the server to the auxiliary storage unit 80c. Processing based on the machining program may be realized by distributed processing using one or more servers and control units 80.

[0036] The control unit 80a outputs drive signals to the X-axis motor 26d, Y-axis motor 22d, Z-axis motor 30d, spindle motor 35, A-axis motor 125, and C-axis motor 79. The X-axis motor 26d, Y-axis motor 22d, Z-axis motor 30d, spindle motor 35, A-axis motor 125, and C-axis motor 79 are each equipped with an encoder (not shown), and rotate to a target position using the detected value of the encoder as a feedback signal. The control unit 80a outputs a brake signal or a brake release signal to the A-axis brake B1 and the C-axis brake B2.

[0037] Fig. 5 is a conceptual diagram showing an example of a machining program stored in the auxiliary storage unit 80c. Fig. 6 is a schematic diagram showing the operation of commands in each block in Fig. 5. The machining program comprises multiple blocks, and each block has a block number and a command. In Fig. 5, "number" indicates the block number, and "command" indicates the content of the command. The control unit 80a executes the commands in numerical order.

[0038] In Figure 6, E(n-2) to E(n+1) indicate the operations of the n-2 to n+1 blocks in Figure 5. W indicates a workpiece, with the top surface of the workpiece W located at Z coordinate 50 and the bottom surface of the workpiece W located at Z coordinate 10. 11 indicates a tool, with the initial coordinate of the tool 11 in the Z axis direction being 100. In this embodiment, the tool 11 is a drill. The tool 11 is attached to the spindle 34, and the spindle 34 is rotating. In other words, the tool 11 is rotating.

[0039] "G0" in the (n-2)th block is a positioning command. That is, "G0Z50" is a command that moves the spindle 34 to Z coordinate 50. The coordinates in each block are the coordinates of the spindle 34 plus or minus the dimensions of the tool 11. Since the dimensions of the tool 11 are set in advance, the coordinates in each block correspond to the coordinates of the spindle 34. "G1" in the (n-1)th block is a command that moves the spindle in a linear direction. That is, "G1Z10" indicates linear movement from Z50 to Z10. Since the tool 11 is rotating, the command in the (n-1)th block is a cutting negative direction movement command that cuts the workpiece W from the cutting start position to the cutting end position and moves the spindle 34 toward the workpiece W in the axial direction of the spindle 34, and corresponds to the first command. The cutting start position is Z coordinate 50, and the cutting end position is Z coordinate 10.

[0040] "G0Z100" in the nth block is a command that indicates movement of the spindle 34 to Z coordinate 100. The command in the nth block is a positive direction movement command that indicates movement of the spindle 34 in the axial direction of the spindle 34 away from the workpiece W, and corresponds to the second command.

[0041] "G0A_" in the (n+1)th block indicates a command to perform positioning around the A-axis at maximum speed. After the A, for example, a target angle or position is written. In other words, "G0A_" indicates a command to perform rotation around the A-axis at maximum speed to the target angle or position. The command in the (n+1)th block in this embodiment is "G0A90", which is a command to rotate until the target angle or position around the A-axis becomes 90. The command in the (n+1)th block is a holding device movement command that indicates movement of the work holding device 120, and corresponds to the third command. Note that the holding device movement command and the third command indicate movement of the holding unit, and include, for example, a command to rotate around the B- or C-axis.

[0042] Fig. 7 is a flowchart explaining the machining program execution process by the control unit 80a, Fig. 8 is a flowchart explaining the block execution process by the control unit 80a, and Figs. 9 to 12 are conceptual diagrams showing an example of the first storage area 82a, the second storage area 82b, the third storage area 82c, the fourth storage area 82d, and the machining program. As shown in Fig. 9, in the initial state, the first storage area 82a stores 0 as a storage flag, the second storage area 82b does not store a cutting start position, the third storage area 82c stores 0 as a brake release flag, and the fourth storage area 82d does not store a brake release position.

[0043] 7, the control unit 80a reads the k-th block from the auxiliary memory unit 80c (S1). The initial value of k is 1. The control unit 80a determines whether the memory flag stored in the first memory area 82a is 0 (S2). If it is determined that the memory flag is 0 (S2: YES), the control unit 80a determines whether the k-th block is a cutting negative direction movement command (S3). As described above, the cutting negative direction movement command is a command that indicates cutting of the workpiece W from the cutting start position to the cutting end position and movement of the spindle 34 in the axial direction of the spindle 34 to approach the workpiece W, and the command of the (n-1)-th block corresponds to the cutting negative direction movement command.

[0044] If it is determined that the k-th block is a cutting negative direction movement command (S3: YES), the control unit 80a stores the positioning position specified in the positioning command immediately before the k-th block, for example, "Z50", which is the positioning position specified in the k-1th block, as the cutting start position in the second storage area 82b, and stores 1 as the storage flag in the first storage area 82a (S4, see FIG. 10). The control unit 80a then executes a block execution process to execute the read block (S5). The details of the block execution process will be described later.

[0045] The control unit 80a determines whether the executed block includes the final block (S6). If it is determined that the executed block includes the final block (S6: YES), the control unit 80a ends the process. If it is determined that the executed block does not include the final block (S6: NO), the control unit 80a increments k by one (S7) and returns the process to step S1.

[0046] In step S2, if it is determined that the storage flag is not 0 (S2: NO), the control unit 80a determines whether the kth block is a forward direction movement command (S8). If it is determined that the kth block is a forward direction movement command (S8: YES), the control unit 80a determines whether the end point indicated by the forward direction movement command is greater than the cutting start position stored in the second storage area 82b (S9, see FIG. 10). If it is determined that the end point indicated by the forward direction movement command is not greater than the cutting start position (S9: NO), the control unit 80a proceeds to step S5.

[0047] If it is determined that the end point indicated by the forward direction movement command is greater than the cutting start position (S9: YES), the control unit 80a increments k by one (S10) and reads out the kth block (S11). The control unit 80a determines whether the kth block is a holding device movement command (S12). If it is determined that the kth block is a holding device movement command (S12: YES), the control unit 80a stores 1 as a brake release flag in the third storage area 82c and stores the brake release position in the fourth storage area 82d (S13). The brake release position is, for example, "Z50," which is the same as the cutting start position (see FIG. 11). Note that the brake release position may be a position farther from the workpiece than the cutting start position. For example, the brake release position may be the cutting start position plus approximately 5 to 30% of the distance between the cutting start position and the cutting end position, and the resulting position may be stored in the fourth storage area 82d. In the case of the machining program shown in Fig. 5, the cutting end position is "Z10", so Z52 to Z62 may be stored as the brake release position. The distance to be added is set to a distance that does not make the waiting time excessively long. The processing of step S13 corresponds to the third storage processing.

[0048] The control unit 80a stores 0 as a storage flag in the first storage area 82a and deletes the cutting start position "Z50" from the second storage area 82b (S14, see FIG. 12). The control unit 80a proceeds to step S5. If it is determined in step S12 that the k-th block does not contain a holding device movement command (S12: NO), the control unit 80a determines whether the k-th block contains X-, Y-, or Z-axis movement (S16). If it is determined that the k-th block contains X-, Y-, or Z-axis movement (S16: YES), the control unit 80a proceeds to step S14. If it is determined that the k-th block does not contain a movement command for X-, Y-, or Z-axis movement (S16: NO), the control unit 80a proceeds to step S10. At this time, the kth block does not include a movement command for X-, Y-, or Z-axis movement, nor a movement command for the workpiece holding device 120, and therefore is a command other than the operation of the spindle 34 and the workpiece holding device 120, such as a change in a variable, for example, the rotation speed or movement speed of the spindle 34. Therefore, if step S12 becomes YES after step S16 becomes NO, the operation commands for the spindle 34 and the workpiece holding device 120 are a positive direction movement command followed by a movement command for the workpiece holding device 120.

[0049] If it is determined in step S8 that the command is not a move command in the positive direction in the Z-axis direction (S8: NO), the control unit 80a determines whether the k-th block includes X-, Y-, or Z-axis movement (S15). If it is determined that the k-th block includes X-, Y-, or Z-axis movement (S15: YES), the control unit 80a proceeds to step S5. If it is determined that the k-th block does not include X-, Y-, or Z-axis movement (S15: NO), the control unit 80a proceeds to step S14. The process of step S8 corresponds to the third determination process. The process of step S15 corresponds to the fourth determination process. The process of step S14, which is executed after NO in step S8 and NO in S15, corresponds to the first deletion process.

[0050] In step S3, when it is determined that the k-th block is not a cutting negative direction movement command (S3: NO), the control unit 80a advances the process to step S5.

[0051] The block execution process will be described. As shown in Fig. 8, the control unit 80a determines whether or not a brake release flag 1 is stored in the third storage area 82c (S21). If the brake release flag 1 is stored in the third storage area 82c, the control unit 80a has already read out the forward direction movement command and the holding device movement command (see steps S1, S2, S8 to S13 in Fig. 7). If it is determined that the brake release flag 1 is stored in the third storage area 82c (S21: YES), that is, if the forward direction movement command and the holding device movement command have already been read out, the control unit 80a starts forward direction movement (S22).

[0052] The control unit 80a determines whether the main shaft 34 has reached the brake release position stored in the fourth storage area 82d (S23). If it is determined that the main shaft 34 has not reached the brake release position (S23: NO), the control unit 80a returns the process to step S23. If it is determined that the main shaft 34 has reached the brake release position (S23: YES), the control unit 80a releases the braking by the A-axis brake B1, stores 0 as the brake release flag in the third storage area 82c, and erases the brake release position stored in the fourth storage area 82d (S24).

[0053] The control unit 80a determines whether the spindle 34 has reached the end point indicated by the forward movement command (S25). If the control unit 80a determines that the spindle 34 has not reached the end point (S25: NO), the control unit 80a returns the process to step S25. If the control unit 80a determines that the spindle 34 has reached the end point (S25: YES), the control unit 80a executes movement of the workpiece holding device 120, i.e., rotation about the A-axis (S26), and proceeds to step S6. If the control unit 80a determines in step S21 that the brake release flag 1 is not stored in the third storage area 82c (S21: NO), that is, if the forward movement command and the holding device movement command have not been read, the control unit 80a executes the read block (S27), and proceeds to step S6. If the control unit 80a determines in step S27 that multiple blocks have been read, the control unit 80a executes each block in order.

[0054] This will be explained in detail using Figures 6, 9 to 12. The initial position of the spindle 34 is Z100. When the control unit 80a reads out the (n-2)th block, as shown in Figure 9, the memory flag is 0 (S2: YES), the command in the (n-2)th block is a command to move the spindle 34 in the negative direction (S3: NO), and the control unit 80a executes the (n-2)th block (S21: NO, S27, see E(n-2) in Figure 6).

[0055] When the control unit 80a reads out the (n-1)th block, as shown in Fig. 9, the storage flag is 0 (S2: YES), and the command in the (n-1)th block is a cutting negative direction movement command (S3: YES). As shown in Fig. 10, the control unit 80a stores Z50 as the cutting start position in the second storage area 82b, and stores 1 as the storage flag in the first storage area 82a (S4). The control unit 80a executes the (n-1)th block (S21: NO, S27, see E(n-1) in Fig. 6). The processing in step S3 corresponds to the first command determination processing. The processing in step S4 corresponds to the second storage processing.

[0056] When the control unit 80a reads the nth block, as shown in FIG. 10, the storage flag is 1 (S2: NO), the command for the nth block is a forward movement command (S8: YES), and the end point Z100 is greater than the cutting start position Z50 (S9: YES). The control unit 80a reads the n+1th block (S10, S11). The command for the n+1th block is a holding device movement command (S12: YES). As shown in FIG. 11, the control unit 80a stores 1 as the brake release flag in the third storage area 82c and stores the brake release position Z50 in the fourth storage area 82d (S13). As shown in FIG. 12, the control unit 80a stores 0 as the storage flag in the first storage area 82a and deletes the cutting start position Z50 from the second storage area 82b (S14). The control unit 80a executes the block execution process (S5). That is, the nth block and the (n+1)th block are executed in order. The process of step S8 corresponds to the second command determination process. The process of step S12 corresponds to the first determination process. The process of step S13 corresponds to the first storage process.

[0057] In the block execution process, since the brake release flag is 1, the control unit 80a starts moving the spindle 34 in the forward direction (S22, see E(n) in FIG. 6). That is, execution of the nth block is started. When the spindle 34 reaches the brake release position Z50 (S23: YES), the control unit 80a releases the A-axis brake B1, stores 0 as the brake release flag in the third storage area 82c, and deletes the brake release position from the fourth storage area 82d (S24, see FIG. 9). Note that when the brake is released, the spindle 34 is executing a forward direction move command, so the control unit 80a executes the forward direction move command and brake release in parallel. When the spindle 34 reaches the end point Z100 (S25: YES), the control unit 80a executes movement of the workpiece holding device 120 (S26). That is, the command of the n+1th block is executed. In steps S22 to S25, the process of issuing a forward direction movement command and releasing the brake in parallel corresponds to the parallel execution process. The process of step S23 corresponds to the second determination process.

[0058] In the machine tool according to the first embodiment, when the spindle 34 reaches the brake release position, which is the cutting start position, the control device 80 executes a forward direction move command (second command) and brake release in parallel. The cutting start position is included in the machining program. Therefore, the second command and brake release can be executed in parallel without the user having to set a value for brake release.

[0059] Furthermore, when the control device 80 reads out the cutting negative direction movement command (first command), it stores 1 as a storage flag and also stores the cutting start position.

[0060] In addition, when the third command is a command indicating movement of the work holding device 120, the control device 80 stores the brake release position, and when processing is performed, determines whether the spindle 34 has reached the brake release position based on the stored brake release position.

[0061] Furthermore, when the first command is read, the control device 80 stores 1 as a storage flag and stores the cutting start position.

[0062] Furthermore, after storing memory flag 1 and the cutting start position, if the control device 80 reads out a command other than the second command and other than a command indicating movement of the main spindle 34, it erases the stored cutting start position and stores 0 as the memory flag.

[0063] (Embodiment 2) The present invention will be described below with reference to the drawings showing a machine tool according to a second embodiment. Among the components of the second embodiment, the same components as those of the first embodiment are given the same reference numerals, and detailed description thereof will be omitted. Fig. 13 is a conceptual diagram showing an example of a machining program. Fig. 14 is a schematic diagram showing the operation of commands in each block of Fig. 13.

[0064] In FIG. 14, E(n)1 to E(n)3 show the execution operation of the command of the nth block in detail. E(n+1) shows the operation of the n+1th block in FIG. 13. W indicates the workpiece, and the top surface of the workpiece W is located at Z coordinate 50, and the bottom surface of the workpiece W is located at Z coordinate 10. 11 indicates the tool, and the initial coordinate of the tool 11 in the Z axis direction is 100. In this embodiment, the tool 11 is a drill. The tool 11 is attached to the spindle 34, and the spindle 34 is rotating. In other words, the tool 11 is rotating.

[0065] "G81" in the nth block is a drilling cycle command. "G98" is a command to return to the initial level (in this example, coordinate 100 in the Z-axis direction). "R" indicates the cutting start position, and "R50" indicates that coordinate 50 in the Z-axis direction is the cutting start position. "Z10" indicates the position of the hole bottom.

[0066] That is, "G81G98R50.Z10." means that the tool 11 moves from coordinate 100 in the Z-axis direction to coordinate 50, i.e., the cutting start position (see E(n)1 in FIG. 13), performs hole drilling to coordinate 10 (see E(n)2 in FIG. 13), and then moves to coordinate 100 (see E(n)3 in FIG. 13). Thereafter, the workpiece holding device 120 rotates around the A-axis until the target angle or position around the A-axis becomes 90 (see E(n+1) in FIG. 13).

[0067] When the control unit 80a reads out the nth block, it interprets it as comprising a first sub-block that moves from coordinate 100 in the Z-axis direction to coordinate 50, i.e., the cutting start position, a second sub-block that performs hole drilling up to coordinate 10, and a third sub-block that moves to coordinate 100. In steps S1 and S11 of FIG. 7, the control unit 80a reads out the first to third sub-blocks as the kth block. In steps S7 and S10, if the first sub-block has been read out, the control unit 80a adds one to the ordinal number and reads out the second sub-block (S1, S11). If the second sub-block has been read out, the control unit 80a adds one to the ordinal number and reads out the third sub-block.

[0068] In the second embodiment, the same machining program execution process and block execution process as those in the first embodiment are executed (see Figs. 7 and 8). When the control unit 80a reads out the first sub-block, as shown in Fig. 9, the memory flag is 0 (S2: YES), the command of the first sub-block is a negative direction movement command for the spindle 34 (S3: NO), and the control unit 80a executes the first sub-block (S21: NO, S27, see E(n)1 in Fig. 6).

[0069] When the control unit 80a reads out the second sub-block, the storage flag is 0 (S2: YES), and the command of the (n-1)th block is a cutting negative direction movement command (S3: YES), as shown in Fig. 9, and the control unit 80a stores Z50 as the cutting start position in the second storage area 82b and stores 1 as the storage flag in the first storage area 82a (S4), as shown in Fig. 10. The control unit 80a executes the second sub-block (S21: NO, S27, see E(n)2 in Fig. 13).

[0070] When the control unit 80a reads the third sub-block, as shown in FIG. 10, the storage flag is 1 (S2: NO), the command for the third sub-block is a forward movement command (S8: YES), and the end point Z100 is greater than the cutting start position Z50 (S9: YES). The control unit 80a reads the (n+1)th block (S10, S11). The command for the (n+1)th block is a holding device movement command (S12: YES). As shown in FIG. 11, the control unit 80a stores 1 as the brake release flag in the third storage area 82c and stores the brake release position Z50 in the fourth storage area 82d (S13). As shown in FIG. 12, the control unit 80a stores 0 as the storage flag in the first storage area 82a and deletes the cutting start position Z50 from the second storage area 82b (S14). The control unit 80a executes the block execution process (S5). That is, the third sub-block and the n+1th block are executed in order.

[0071] In the block execution process, since the brake release flag is 1, the control unit 80a starts moving the spindle 34 in the forward direction (S22, see E(n)3 in FIG. 14). That is, execution of the third sub-block is started. When the spindle 34 reaches the brake release position Z50 (S23: YES), the control unit 80a releases the A-axis brake B1, stores 0 as the brake release flag in the third storage area 82c, and deletes the brake release position from the fourth storage area 82d (S24, see FIG. 9). Note that when the brake is released, the spindle 34 is executing a forward direction move command, so the control unit 80a executes the forward direction move command and brake release in parallel. When the spindle 34 reaches the end point Z100 (S25: YES), the control unit 80a executes movement of the workpiece holding device 120 (S26, see E(n+1) in FIG. 14). That is, the command of the (n+1)th block is executed.

[0072] (Embodiment 3) The present invention will be described below with reference to the drawings showing a machine tool according to a third embodiment. Among the components of the third embodiment, the same components as those of the first or second embodiment are given the same reference numerals, and detailed description thereof will be omitted. Fig. 15 is a conceptual diagram showing an example of a machining program. Fig. 16 is a schematic diagram showing the operation of commands in each block of Fig. 15. In Fig. 16, E(n-2)1 to E(n+4) indicate the operations of the n-2th block to the n+4th block. E(n+1)1 and E(n+1)2 indicate the execution operation of E(n+1) in detail.

[0073] In the third embodiment, the same machining program execution process and block execution as in the first embodiment are performed (see Figs. 7 and 8). When the control unit 80a reads out the (n-2)th block, as shown in Fig. 9, the memory flag is 0 (S2: YES), the command of the (n-2)th block is a negative direction move command for the spindle 34 (S3: NO), and the control unit 80a executes the (n-2)th block (S21: NO, S27, see E(n-2) in Fig. 16).

[0074] When the control unit 80a reads out the (n-1)th block, the storage flag is 0 (S2: YES), and the command in the (n-1)th block is a cutting negative direction movement command (S3: YES), as shown in Fig. 9, and the control unit 80a stores Z50 as the cutting start position in the second storage area 82b and stores 1 as the storage flag in the first storage area 82a (S4), as shown in Fig. 10. The control unit 80a executes the (n-1)th block (S21: NO, S27, see E(n-1) in Fig. 16).

[0075] When the control unit 80a reads out the nth block, as shown in FIG. 10, the storage flag is 1 (S2: NO), the command for the n1th block is a forward movement command (S8: YES), and the end point Z100 is greater than the cutting start position Z50 (S9: YES). The control unit 80a then reads out the n+1th block (S10, S11). The command for the n+1th block is movement of the spindle 34 in the X-axis direction (S12: NO, S16: YES). As shown in FIG. 9, the control unit 80a stores 0 as the storage flag in the first storage area 82a and erases the cutting start position from the second storage area 82b (S14). The control unit 80a executes the nth block and the n+1th block in sequence (S21: NO, S27; see E(n) and E(n+1) in FIG. 16).

[0076] When the control unit 80a reads out the n+2th block, as shown in FIG. 9, the memory flag is 0 (S2: YES), the command for the n+2th block is a negative direction movement command (S3: NO), and the control unit 80a executes the n+2th block (S21: NO, S27, see E(n+2) in FIG. 16).

[0077] When the control unit 80a reads out the (n+3)th block, the storage flag is 0 (S2: YES), and the command in the (n+3)th block is a cutting negative direction movement command (S3: YES), as shown in Fig. 9, so the control unit 80a stores Z50 as the cutting start position in the second storage area 82b and stores 1 as the storage flag in the first storage area 82a (S4), as shown in Fig. 10. The control unit 80a executes the (n+3)th block (S21: NO, S27, see E(n-1) in Fig. 6).

[0078] When the control unit 80a reads the (n+4)th block, as shown in FIG. 10, the storage flag is 1 (S2: NO), the command for the (n+4)th block is a forward movement command (S8: YES), and the end point Z100 is greater than the cutting start position Z50 (S9: YES). The control unit 80a reads the (n+5)th block (S10, S11). The command for the (n+5)th block is a holding device movement command (S12: YES). As shown in FIG. 11, the control unit 80a stores 1 as the brake release flag in the third storage area 82c and stores the brake release position Z50 in the fourth storage area 82d (S13). As shown in FIG. 12, the control unit 80a stores 0 as the storage flag in the first storage area 82a and deletes the cutting start position Z50 from the second storage area 82b (S14). The control unit 80a executes the block execution process (S5). That is, the nth block and the n+1th block are executed in order.

[0079] In the block execution process, since the brake release flag is 1, the control unit 80a starts moving the spindle 34 in the forward direction (S22, see E(n+4) in FIG. 16). That is, execution of the (n+4)th block is started. When the spindle 34 reaches the brake release position Z50 (S23: YES), the control unit 80a releases the A-axis brake B1, stores 0 as the brake release flag in the third storage area 82c, and deletes the brake release position from the fourth storage area 82d (S24, see FIG. 9). Note that when the brake is released, the spindle 34 is executing a forward direction move command, so the control unit 80a executes the forward direction move command and brake release in parallel. When the spindle 34 reaches the end point Z100 (S25: YES), the control unit 80a executes movement of the workpiece holding device 120 (S26). That is, the command of the (n+5)th block is executed.

[0080] In the third embodiment, when drilling is performed multiple times, the memory flag is set to 0 or 1 for each drilling operation, the cutting start position is stored and erased, and braking can be released based on the cutting start position in the last drilling operation, i.e., the brake release position. Therefore, braking can be released at an appropriate time, i.e., when the command immediately before the command to move the holding device 120 is executed.

[0081] It should be noted that a computer program can be deployed to be executed on a single computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communications network.

[0082] The embodiments disclosed herein are illustrative in all respects and should not be considered limiting. The scope of the present invention is intended to include all modifications within the scope of the claims and the scope equivalent to the claims. The features described in each embodiment can be mutually combined. Furthermore, independent claims and dependent claims described in the claims can be mutually combined in any and all combinations, regardless of the reference format. Furthermore, although the claims use a format in which a claim references two or more other claims (multiple claim format), this is not limiting. A multiple claim (multi-multi claim) that references at least one other multiple claim may also be used. [Explanation of symbols]

[0083] 35 Z-axis motor 80 Control device 80a Control unit 80b Main memory 80c Auxiliary storage 125 A-axis motor 100 Machine tools B1 A-axis brake

Claims

1. A control device for a machine tool includes a movable spindle on which a tool is attached, a movable holding unit which holds a workpiece, a braking unit which brakes and releases the brake on the holding unit, and which reads out a plurality of commands in sequence to control the spindle, the holding unit, and the braking unit, A control unit is provided, The control unit a first command determination process for determining whether the read command is a first command that is a command instructing cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle in an axial direction of the spindle to approach the workpiece; a second command determination process for determining whether the read command is a second command that follows the first command and indicates movement of the spindle away from the workpiece in the axial direction; a first determination process for determining whether a third command that follows the second command is a command that indicates movement of the holding unit; If it is determined in the first determination process that the third command is a command indicating movement of the holding part, when the second command is executed and the spindle reaches the cutting start position or a brake release position that is a position farther from the workpiece than the cutting start position, a parallel execution process is executed to execute the second command and the brake release in parallel. Control device.

2. a first storage process in which the control unit stores a storage instruction for brake release and the brake release position when the control unit determines in the first determination process that the third command is a command indicating movement of the holding unit; a second determination process in which, in the parallel execution process, it is determined whether or not the spindle has reached the brake release position based on the brake release position stored in the first storage process; Run The control device according to claim 1 .

3. When the control unit reads out the first command, the control unit executes a second storage process to store the cutting start position and the cutting start position. The control device according to claim 1 or 2.

4. The control unit After the second storage process is executed, if a command other than the second command and other than a command indicating movement of the spindle is read, a first deletion process is executed to delete the storage instruction for the cutting start position stored in the second storage process and the cutting start position. The control device according to claim 3 .

5. a third determination process in which the control unit determines whether or not a command following the first command is the second command after storing the instruction to store the cutting start position in the second storage process; a fourth determination process of determining whether or not the command following the first command is a command indicating movement of the spindle when it is determined in the third determination process that the command following the first command is not the second command; When it is determined in the fourth determination process that the command following the first command is not a command indicating movement of the spindle, In the first erasure process, the cutting start position storage instruction and the cutting start position are erased. The control device according to claim 4.

6. a movable spindle on which a tool is mounted; a movable holder that holds the workpiece; a braking unit that applies and releases the brake to the holding unit; a control device having a control unit that sequentially reads out a plurality of commands and controls the spindle, the holding unit, and the braking unit; Equipped with The control unit a first command determination process for determining whether the read command is a first command that is a command instructing cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle in an axial direction of the spindle to approach the workpiece; a second command determination process for determining whether the read command is a second command that follows the first command and indicates movement of the spindle away from the workpiece in the axial direction; a first determination process for determining whether a third command that follows the second command is a command that indicates movement of the holding unit; If the first judgment process determines that the third command is a command to move the holding part, when the second command is executed and the spindle reaches the cutting start position or a brake release position that is farther from the workpiece than the cutting start position, the machine tool executes a parallel execution process that executes the second command and the brake release in parallel.

7. A method for controlling a machine tool including a movable spindle to which a tool is attached, a movable holding unit to hold a workpiece, a braking unit to apply and release the brake to the holding unit, and a control unit that sequentially reads out a plurality of commands to control the spindle, the holding unit, and the braking unit, The control unit a first command determination process for determining whether the read command is a first command that is a command instructing cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle in an axial direction of the spindle to approach the workpiece; a second command determination process for determining whether the read command is a second command that follows the first command and indicates movement of the spindle away from the workpiece in the axial direction; a first determination process for determining whether a third command that follows the second command is a command that indicates movement of the holding unit; If it is determined in the first determination process that the third command is a command indicating movement of the holding part, when the second command is executed and the spindle reaches the cutting start position or a brake release position that is a position farther from the workpiece than the cutting start position, a parallel execution process is executed to execute the second command and the brake release in parallel. Control method.

8. A computer program executable by a control device of a machine tool that includes a movable spindle to which a tool is attached, a movable holding unit that holds a workpiece, and a braking unit that brakes and releases the braking of the holding unit, and that sequentially reads out a plurality of commands to control the spindle, the holding unit, and the braking unit, The control device a first command determination process for determining whether the read command is a first command that is a command instructing cutting of the workpiece from a cutting start position to a cutting end position and movement of the spindle in an axial direction of the spindle to approach the workpiece; a second command determination process for determining whether the read command is a second command that follows the first command and indicates movement of the spindle away from the workpiece in the axial direction; a first determination process for determining whether a third command that follows the second command is a command that indicates movement of the holding unit; a parallel execution process for executing the second command and the brake release in parallel when the spindle reaches the cutting start position or a brake release position that is a position farther from the workpiece than the cutting start position during execution of the second command, in the case where it is determined in the first determination process that the third command is a command indicating movement of the holding part; A computer program that executes the following:

Citation Information

Patent Citations

  • Control device, machine tool, control method and computer program

    JP2023151280A