CONTROL FOR MACHINE TOOL AND CONTROL SYSTEM

DE102020118357B4Active Publication Date: 2025-03-20FANUC LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102020118357
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-07-19
Filing Date
2020-07-13
Publication Date
2025-03-20
Estimated Expiration
2040-07-13

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Control (1) for a machine tool having a first axis that causes a tool (T) to move in an axial direction of a spindle (S) and a second axis that causes the tool (T) to move in a direction other than an axial direction of the first axis, wherein the machine tool drives the tool (T) via the first axis and the second axis to perform thread cutting on a workpiece (W) attached to the spindle (S), wherein the control (1) comprises the following: a decision section (60) regarding the appropriate area for initiating thread cutting, which decides an area for initiating thread cutting in one direction of the second axis of the tool (T) based on a time when a relative feed rate between the tool (T) and the workpiece (W) reaches a thread cutting feed rate after the tool (T) begins cutting feed in one direction of the first axis; and a thread cutting start time decision section (70) which starts the cutting feed of the tool (T) when a position of the tool (T) on the second axis is within a span of the suitable range for starting thread cutting.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND OF THE INVENTION 1. Field of the Invention

[0001] The present invention relates to a controller and a control system for a machine tool for performing thread cutting. 2. Description of related technology

[0002] When performing thread cutting using a machine tool, there may be a case where thread cutting is not completed in one operation but is repeated a plurality of times while gradually deepening a cut in an X-axis direction to produce a screw. When such thread cutting is performed, it is necessary to make adjustments so that the phase of the screw helix is ​​not shifted during thread cutting performed a plurality of times. In a conventional machine tool, the phase of the screw helix is ​​adjusted by waiting for a one-rotation signal to be detected on a spindle and starting thread cutting when the one-rotation signal is detected.

[0003] Fig. 11 is a schematic diagram showing a conventional method for driving a tool. The tool first waits at a drive start position and moves to a thread cutting depth along the X-axis at rapid traverse according to a control signal from a servo control section. Then, the tool waits for a one-rotation signal from a spindle, starts thread cutting feed at the time of detection of the one-rotation signal, moves in a Z-axis minus direction, and starts thread cutting. When thread cutting ends, the tool is moved in an X-axis plus direction at rapid traverse and is kept away from a workpiece. Further, the tool is moved in a Z-axis plus direction to return to the initial drive start position. This sequence of operations is repeated to perform thread cutting.

[0004] A thread cutting apparatus disclosed in JP 2006-995 A shortens a length of an incomplete screw portion and increases a spindle speed to shorten the total machining time of thread cutting by causing the spindle speed in the case of machining the incomplete screw portion having a thread groove shallower than a prescribed spindle groove to be lower than a spindle speed in the case of machining an effective screw portion having the prescribed thread groove, as well as by interpolating and controlling at least only a first axis out of the first axis in an axial direction of a spindle and a second axis orthogonal to the first axis.

[0005] In the case of machining a screw by repeating thread cutting a plurality of times, the tool moves repeatedly on the same track as in Fig. 11. If the cycle time for such machining is shortened, the thread cutting processing time is shortened and work efficiency is improved.

[0006] DE 10 2015 001 509 A1 discloses a numerical control system that moves a tool synchronously with the rotation of a workpiece, thereby controlling a machine tool configured to perform thread cutting. A cutting amount change setting unit periodically changes the cutting amount during thread cutting based on a preset change. DE 103 94 200 B4 relates to a thread cutting control method, wherein either a cutting device or a workpiece is moved synchronously with the rotation of a main spindle, and first and second servo feed rates are calculated based on a thread pitch command value, a programmed main spindle rotation frequency, and a main spindle override, and a thread cutting start time is adjusted based on the servo feed rates, the main spindle acceleration, and previously measured data. SUMMARY OF THE INVENTION

[0007] Therefore, there is a need for a technique to improve the efficiency of thread cutting.

[0008] A controller according to one aspect of the present invention controls a machine tool provided with a first axis that causes a tool to move in an axial direction of a spindle and a second axis that causes the tool to move in a direction different from an axial direction of the first axis, the machine tool driving the tool via the first axis and the second axis to perform thread cutting of a workpiece attached to the spindle.The controller is configured to decide a suitable range for starting thread cutting in a second-axis direction of the tool based on a timing when a relative feed rate between the tool and the workpiece reaches a thread cutting feed rate after the tool starts thread cutting in a first-axis direction; and is provided with a thread cutting start time deciding section that starts the cutting feed of the tool when a position of the tool on the second axis is within a range of the suitable range for starting thread cutting.

[0009] The thread cutting start suitable region deciding section may decide the thread cutting start suitable region such that the tool reaches a thread cutting depth position when the tool reaches the thread cutting feed rate.

[0010] The thread cutting start suitable range decision section may restrict a range of the thread cutting start suitable range such that the tool reaches the thread cutting depth position before the tool reaches the thread cutting feed rate.

[0011] The decision section on the appropriate area to start threading can expand the range of the appropriate area to start threading if the tool reaches the threading feed rate before the workpiece.

[0012] The controller may further be provided with a rotational position detection section that detects a rotational position of the spindle. When the rotational position detection section detects a predetermined rotational position, the thread cutting start time decision section may start driving the tool.

[0013] The thread cutting start range decision section may be provided with: a feed rate calculation section that calculates a relative feed rate between the tool and the workpiece after the cutting feed starts until the thread cutting feed rate is reached; and a thread cutting feed rate reaching time calculation section that calculates the time required for the relative feed rate to reach the thread cutting feed rate, based on the relative feed rate. The thread cutting start range decision section may calculate the range of the appropriate thread cutting start range based on the time to reach the thread cutting feed rate.

[0014] The thread cutting start time decision section may look ahead in a program that instructs the machine tool to perform an operation, and, if a thread cutting instruction exists in the program, monitors a position of the spindle before starting to drive the tool at a time when the spindle is at a predetermined position.

[0015] The controller may be further provided with a pass amount adjusting section that, based on a pass amount after the spindle has passed a predetermined rotation position, accelerates the relative feed rate of the tool according to the pass amount to compensate for the pass amount.

[0016] A control system according to one aspect of the present invention is a control system that controls a machine tool provided with a first axis that causes a tool to move in an axial direction of a spindle and a second axis that causes the tool to move in a direction different from the axial direction of the first axis, the machine tool driving the tool via the first axis and the second axis to perform thread cutting of a workpiece attached to the spindle, the control system comprising: a thread cutting appropriate region decision section that determines an appropriate region for starting thread cutting in a second axis direction of the tool based on a time point when a relative feed rate between the tool and the workpiece reaches a thread cutting feed rate,after the tool has started cutting feed in a direction of the first axis; and a thread cutting start time decision section that starts the cutting feed of the tool when a position of the tool on the second axis is within a range of the appropriate range for starting thread cutting.

[0017] With the above configuration, the present invention can shorten the time required for thread cutting. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic hardware configuration diagram of a numerical controller in an embodiment of the present invention; Fig. 2 is a functional block diagram of the numerical controller in the embodiment of the present invention; Fig. 3 is a diagram illustrating a suitable area for starting thread cutting; Fig. 4A and Fig. 4B are diagrams illustrating a speed instruction for a thread cutting feed rate in the case of linear acceleration / deceleration; Fig. 5 is a diagram showing a tool drive curve; Fig. 6 is a flowchart illustrating an operation of the numerical controller; Fig. 7 is a diagram illustrating a difference from a conventional numerical controller in cycle time; Fig. 8 is a block diagram of a numerical controller having a flow rate adjusting section; Fig. 9 is a diagram illustrating an operation of the flow amount adjusting section; Fig. 10 is a flowchart illustrating an operation of the flow rate adjustment section; and Fig. 11 is a diagram illustrating a motion history of a tool in conventional thread cutting. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] Fig. 1 is a schematic hardware configuration diagram showing a main part of a numerical controller 1 in which a controller according to an embodiment is implemented.

[0019] A CPU 11 provided in the numerical controller 1 according to the present embodiment is a processor that controls the numerical controller 1. The CPU 11 reads a system program stored in a ROM 12 via a bus and controls the entire numerical controller 1 according to the system program. Temporary calculation data and display data, various types of data input by a user via an input device 22, and the like are temporarily stored in a RAM 13.

[0020] A non-volatile memory 14 is configured with, for example, a memory such as an FD (Floppy Disk Drive), an HDD (Hard Disk Drive), or an SSD (Semiconductor Disk Drive), backed up by a battery (not shown), and a stored state is maintained even when the numerical controller 1 is turned off. In the non-volatile memory 14, a program read from an external device 80 via an interface 15, a program input via an input section 22, and various types of data obtained from each section of the numerical controller 1, a machine tool, and the like (for example, adjustment parameters obtained from the machine tool, and the like) are stored. The programs and various types of data stored in the non-volatile memory 14 can be developed on the RAM 13 at the time of execution / use.Furthermore, various types of system programs, such as a publicly known analysis program, are written in advance into the ROM 12.

[0021] The interface 15 is an interface for connecting the numerical controller 1 to the external device 80, such as an adapter. Programs, various types of parameters, and the like are read from the external device 80 side. Furthermore, programs, various types of parameters, and the like processed in the numerical controller 1 can be stored in external storage means (not shown) via the external device 80. A programmable logic controller (PLC) 16 performs input / output of signals between the numerical controller 1 and peripheral devices of the machine tool, a robot, and devices such as sensors attached to the machine tool and the robot through a sequence program included in the numerical controller 1 via an I / O unit 17 to perform control.

[0022] On a display section 21, each data read into the memory, data obtained as a result of executing a program, or the like, is output and displayed via an interface 18. Furthermore, the input section 22, which is configured with an MDI, an operation panel, a touch panel, or the like, transmits a command, data, or the like based on an operator's operation to the CPU 11 via an interface 19.

[0023] An axis control circuit 40 for controlling an axis of the machine tool receives a tool movement command from the CPU 11 and outputs the tool movement command to an auxiliary amplifier 41. Upon receiving this command, the auxiliary amplifier 41 drives a servo motor 42, which causes a tool provided on the machine tool to move. The servo motor 42 has a position / speed detector (not shown) and feeds a position / speed feedback signal from this position / speed detector back to the axis control circuit 40 to perform position / speed feedback control. It should be noted that even if only one axis control circuit 40, one auxiliary amplifier 41, and one servo motor 42 are used in the hardware configuration diagram in Fig. 1, they are actually prepared in a number corresponding to the number of axes provided on a control target machine tool (in the present embodiment, two axes of an X-axis and a Z-axis).

[0024] A spindle control circuit 30 receives spindle speed commands for a spindle of the machine tool and outputs spindle speed signals to a spindle amplifier 32. Upon receiving the spindle speed signal, the spindle amplifier 32 causes a spindle motor 31 of the spindle to rotate at the commanded speed. A position encoder 33 (described later) is coupled to the spindle motor 31. The position encoder 33 outputs a feedback pulse in synchronization with the rotation of the spindle, and the feedback pulse is read by the CPU 11.

[0025] Fig. 2 is a functional block diagram of the numerical controller in which a controller according to the present invention is implemented.

[0026] The numerical controller 1 controls a threading operation of a machine tool (not shown). This machine tool is provided with, for example, a spindle S that causes a workpiece W to rotate, and a turret to which a tool T is attached, the tool T forming a thread on the surface of the workpiece W being attached to the spindle S. The turret to which the tool T is attached is relatively movable with respect to the workpiece W via two axes, one axis in the axial direction of the spindle S and a second axis in a direction different from the axial direction of the spindle S. In the present embodiment, the first axis and the second axis are referred to as a Z axis and an X axis, respectively.

[0027] A program analysis section 51 is implemented by the CPU 11 included in the numerical control 1 included in Fig. 1, is provided to execute the system program read from the ROM 12 such that the CPU 11 mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14. The program analysis section 51 reads out a program 52 stored in a predetermined storage area (not shown) provided on the non-volatile memory 14, analyzes the contents of the program 52, and prepares a movement command to be sent to the interpolation section 53 and a spindle rotation command to be sent to a spindle control section 56. The program analysis section 51 is provided with a program look-ahead section 54 that looks ahead to the program 52.The program look-ahead section 54 determines whether or not a thread cutting start instruction is present in the look-ahead program 52, and if the thread cutting start instruction is present, it causes a thread cutting start time decision section 70 (described later) to output rotation position information about the spindle S.

[0028] An interpolation section 53 is implemented by the CPU 11 included in the numerical control 1 included in Fig. 1, is provided to execute the system program read from the ROM 12 such that the CPU 11 mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14. The interpolation section 53 prepares interpolation data obtained by performing interpolation calculation of an instruction history of the tool T for each interpolation cycle based on the movement command obtained from the program analysis section 51, and outputs the prepared interpolation data to a servo control section 55.

[0029] The servo control section 55 is implemented by the CPU 11 included in the numerical controller 1 included in Fig. 1, the system program read from the ROM 12 is executed in such a way that the CPU 11 mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14, and controls the servo motor 42 through the axis control circuit 40 and the auxiliary amplifier 41. The servo control section 55 drives the tool T according to the instruction history by controlling the servo motor 42 based on the interpolation data prepared by the interpolation section 53.

[0030] The spindle control section 56 is implemented by the CPU 11 included in the numerical controller 1 included in Fig. 1, the system program read from the ROM 12 is executed in such a way that the CPU 11 mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14, and controls the spindle motor 31 through the axis control circuit 30 and the spindle amplifier 32. The spindle control section 56 controls rotation of the spindle motor 31 according to a spindle rotation command from the program analysis section 51 to drive the rotation of the workpiece W. The position encoder 33 detects a rotation position of the spindle S and outputs the detected rotation position to the spindle control section 56. A spindle position management section 71 continuously manages the position of the spindle S based on a signal from the spindle control section 56.

[0031] A calculation section 60 about the appropriate area for starting thread cutting is implemented by the CPU 11 included in the numerical control 1 included in Fig. 1, the CPU 11 executes the system program read from the ROM 12, such that the CPU 11 mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14. The thread cutting start area calculation section 60 calculates an appropriate thread cutting start area.

[0032] In the present embodiment, thread cutting start refers to the start of the cutting feed. The appropriate range for starting thread cutting refers to a range on the X-axis calculated such that when the cutting feed starts in this range, a position on the X-axis reaches a thread cutting depth at or before the end point of an incomplete screw section. In the appropriate range for starting thread cutting, it is possible to perform thread cutting at an appropriate thread cutting feed rate regardless of where thread cutting starts.

[0033] Fig. 3 shows an example of the suitable area to start thread cutting.

[0034] As in Fig. 3, the suitable range for starting thread cutting is a span between a position A away by a first distance on the Z-axis from an end point C of the incomplete screw portion and a position B away by a second distance in an X-axis plus direction from the position A. Here, the first distance means a distance required for a relative feed rate in the Z-axis direction between the tool T and the workpiece W to reach the thread cutting feed rate after the cutting feed of the tool T on the Z-axis has started. In a stage before the first distance is reached, the tool T has not reached the thread cutting feed rate and therefore cannot perform complete thread cutting.Since the thread cutting is incomplete within a range of the first distance, the range is called an incomplete screw portion in the present embodiment.

[0035] It should be noted that in Fig. 3, reference symbol S indicates the spindle, and reference symbol i indicates a fulcrum axis of the workpiece W. The second distance is a distance by which the tool T moves in the X-axis direction during a period until the relative feed rate in the Z-axis direction between the tool T and the workpiece W reaches the thread cutting feed rate and corresponds to the span (width) of the appropriate area for starting thread cutting.

[0036] The thread cutting start area calculation section 60 is provided with a feed rate calculation section 61 and a time-to-reach-the-thread-cutting-feed rate calculation section 62. The feed rate calculation section 61 calculates the relative feed rate in the Z-axis direction between the tool T and the workpiece W until the relative feed rate reaches the thread cutting feed rate after the cutting feed of the tool T in the Z-axis direction has started.

[0037] The thread cutting feedrate reaching time calculation section 62 calculates the time to reach the thread cutting feedrate, which is the time required for the relative feedrate between the tool T and the workpiece W to reach the thread cutting feedrate, based on the thread cutting feedrate calculated by the feedrate calculation section 61. The thread cutting start range calculation section 60 calculates a distance that the tool T moves in the X-axis direction during the time to reach the thread cutting feedrate, that is, the second distance.

[0038] Here is an example of calculating the appropriate area to start threading in the case of linear acceleration / deceleration with respect to Fig. 4A and Fig. 4B shown.

[0039] Fig. Figure 4A shows a change in a thread cutting feedrate command during linear acceleration / deceleration and Fig. Figure 4B shows a transfer function between the thread cutting feedrate command and the thread cutting feedrate. Under the condition, the thread cutting feedrate v Z (t) [m / sec] at time t is expressed by Formula 1 below. The feed rate calculation section 61 solves Formula (1) as below to calculate the thread cutting feed rate.

[0040] If 0≤t <T S is fulfilled, vz(t)=Vs[1Tst−(1−αZ)TZTS{1−e−tTz}] If T S ≤t is fulfilled, vZ(t)=Vs[1−(1−αZ)TZTSe−tTZ{eTsTZ−1}_]

[0041] Here, V S stands for the commanded thread cutting feed rate [m / sec]; T sstands for an acceleration / deceleration time constant [sec] after thread cutting interpolation; T z stands for a Z-axis auxiliary system time constant [sec]; and α Z represents a Z-axis feedrate coefficient. Such parameters are stored in a memory section 50.

[0042] The second expression in the square brackets in formula (1) above (the underlined part) specifies a speed until the tool T reaches the commanded thread cutting feedrate instruction speed. If the value of this expression falls within a tolerance range, it can be assumed that the relative feedrate between the tool T and the workpiece W has reached the thread cutting feedrate. If a thread pitch is specified by L [m] and an allowable error is specified by Δ L [m], time t s[sec] at which the relative feed rate between the tool T and the workpiece W can be considered to be reached as the thread cutting feed rate can be calculated using Formula (2) below. The time-to-reach-the-thread-cutting-feed-rate calculation section 62 solves Formula (2) as below to calculate the time to reach the thread cutting feed rate. ts=TZln[(1−αZ)TZTS(eTsTZ−1)LΔL]

[0043] If a range of the suitable area to start thread cutting is given by δ x [m], δ x by formula (3) below based on time t sat which the relative feed rate between the tool T and the workpiece W can be considered to have reached the thread cutting feed rate is calculated. The thread cutting start suitable range calculation section 60 solves Formula (3) as below to calculate the range of the suitable thread cutting start suitable range.

[0044] If 0≤t s <T r is fulfilled, δx=Vr[12Trts2−(1−αx)TxTr{ts−Tx+Txe−tsTx}] If T r ≤t s is fulfilled, δx=Vr[ts−12Tr−(1−αx)Tx{1−TxTre−tsTx(eTrTx−1)}]

[0045] Here, V S stands for the commanded X-axis rapid traverse speed [m / sec]; T s stands for an acceleration / deceleration time constant [sec] after rapid traverse interpolation; T z stands for an X-axis auxiliary system time constant [sec]; and α Zstands for an X-axis feedrate coefficient. Such parameters are stored in the memory section 50. Here, δ xrepresents a distance by which the tool T moves on the X-axis until the relative feed rate between the tool T and the workpiece W reaches the thread cutting feed rate after thread cutting is started. When thread cutting is started at point A of the thread cutting depth, the cutting feed is performed parallel to the Z-axis direction similar to the conventional technique. When thread cutting is started at point B farthest from the thread cutting depth, the time at which the tool T reaches an end point C of the incomplete screw portion and a time at which the tool T reaches the thread cutting depth are the same.In other words, the suitable range for starting thread cutting is a range where movement of the tool T to the thread cutting depth is completed before the tool T passes through the end point C of the incomplete screw portion.

[0046] It should be noted that if it is desired to ensure an allowance that the tool T reaches the thread cutting depth before the end point C of the incomplete screw portion, the range of the suitable area for starting thread cutting can only be made narrower than the range calculated by formula (3) above. Furthermore, if the tool T reaches the cutting feed rate before the workpiece W (that is, if the workpiece W is mounted away from the end point C of the incomplete screw portion in the Z-axis minus direction), the range of the suitable area for starting thread cutting can be made wider than the range calculated by formula (3) above. In this case, a position at which the X-axis reaches the thread cutting depth is a position that exceeds the end point C of the incomplete screw portion.Using formula (3), the appropriate range for starting thread cutting can be automatically calculated such that movement to the thread cutting depth is completed before the tool T passes the end point C of the incomplete screw portion. Furthermore, it is also possible to adjust the calculated appropriate range for starting thread cutting according to purposes.

[0047] The thread cutting start time decision section 70 is implemented by the CPU 11 included in the numerical controller 1 included in Fig. 1, the system program read from the ROM 12 is executed in such a way that the CPU mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14. The thread cutting start time decision section 70 decides a timing for starting thread cutting, which is the cutting feed in the Z-axis direction. The thread cutting start time decision section 70 determines whether or not the tool T is present in the appropriate area for starting thread cutting, and if the tool T is included in the appropriate area for starting thread cutting, the thread cutting start time decision section 70 starts a thread cutting start time decision process.When the decision of the thread cutting start timing has begun, the thread cutting start timing decision section 70 inputs position information about the spindle S from the spindle position management section 71. When the spindle S reaches a predetermined position (for example, a position where a one-rotation signal is detected), the thread cutting start timing decision section 70 instructs the interpolation section 53 to start thread cutting.

[0048] Then, upon receiving a thread cutting start signal from the thread cutting start time decision section 70, the interpolation section 53 outputs interpolation data prepared based on a thread cutting instruction to the servo control section 55.

[0049] Fig. 5 shows an example of a tool movement.

[0050] In the example of Fig. 5, the tool T first waits at a drive start position O. Then, movement of the tool T in an X-axis minus direction is started such that the tool T is caused to move to the thread cutting depth ([1]). It should be noted that the drive start position O of the tool T is calculated such that the drive start position O is away from the end point C of the incomplete screw section in the Z-axis direction by a distance sufficient for the relative feed rate between the tool T and the workpiece W to achieve the thread cutting feed rate. The drive start position O of the tool T may be included in the appropriate range for starting thread cutting, which will be described later, or may be a position not included in the appropriate range for starting thread cutting. In the example of Fig. 5, the drive start position O is given at a position a little distance away from the suitable area for starting thread cutting.

[0051] When the tool T moves in the X-axis minus direction and the tool T enters the range appropriate for starting thread cutting, the thread cutting start time decision section 70 receives the rotation position of the spindle S from the spindle position management section 71. When the spindle S reaches a predetermined thread cutting start angle (for example, a position where the one-rotation signal is detected), the thread cutting start time decision section 70 instructs the interpolation section 53 to start thread cutting. The interpolation section 53 starts the cutting feed (thread cutting) of the tool T according to the instruction. Even if the tool T is only driven in the X-axis direction before the cutting feed starts, the tool T is accelerated in the Z-axis direction when the cutting feed starts. Thus, the movement path of the tool T forms a curved line, as shown in Fig. 5 ([2]). A position of the tool T in the X-axis direction reaches the thread cutting depth before the end point C of the incomplete screw portion, and the speed of the tool in the Z-axis direction reaches the thread cutting feed rate at the end point C of the incomplete screw portion. Upon passing the end point C of the incomplete screw portion, the tool T performs thread cutting on the surface of the workpiece W at a predetermined thread cutting feed rate ([3]).

[0052] As described above, if thread cutting is started when the one-rotation signal of the spindle S is detected at an arbitrary position within the appropriate range for starting thread cutting, the tool T starts thread cutting at the same position on the surface of the workpiece W when the tool T passes the end point C of the incomplete screw section, since the time to reach the end point C of the incomplete screw section is the same. Thus, it is possible to make the screw helix line coincide.

[0053] Next, an operation of the numerical controller 1 with reference to Fig. 6 described.

[0054] First, the program analysis section 51 reads the program 52 from a predetermined memory area (step S1). The program analysis section 51 analyzes the read program and outputs an instruction signal to the interpolation section 53 and the spindle control section 56. At the same time, the program lookahead section 54 reads a program preceding the analysis target program and determines whether or not a thread cutting instruction is present in the read program. If the thread cutting instruction is not present in the program preceding the analysis target program (step S2: No), the interpolation section 53 does not perform a thread cutting start operation.If the thread cutting instruction is present in the look-ahead program (step S2: Yes), the appropriate thread cutting start area calculation section 60 calculates the appropriate thread cutting start area based on the time required to reach the thread cutting feed rate of the tool T (step S3).

[0055] Next, the thread cutting start time decision section 70 confirms a position of the tool T on the X-axis (step 4). Here, if the position of the tool T on the X-axis is included in the appropriate range for starting thread cutting (step S5: Yes), the thread cutting start time decision section 70 confirms the rotation position of the spindle S (step S6). Further, if the position of the tool T on the X-axis is not included in the appropriate range for starting thread cutting (step S5: No), the process returns to step S3, and monitoring of the position of the tool T is continued until the position of the tool T on the X-axis is included in the appropriate range for starting thread cutting.

[0056] Furthermore, if the rotation position of the spindle S has reached the thread cutting start angle as a result of the confirmation of the rotation position of the spindle S at step S6 (step S7: Yes), the thread cutting start time decision section 70 outputs a thread cutting start instruction to the interpolation section 53.

[0057] When the thread cutting start command has been input, the interpolation section 53 outputs a control signal to the servo control section 55 to start a thread cutting operation (a cutting feed operation in the Z-axis direction) (step S8). Furthermore, if the rotation position of the spindle S has not reached the thread cutting start angle at step S7 (step S7: No), the thread cutting start time decision section 70 returns to step S6 and continues confirming the rotation position of the spindle S.

[0058] As described above, the numerical controller 1 of the present embodiment causes the tool T to be driven in the X-axis direction first. Then, after the tool T enters the appropriate range for starting thread cutting, the numerical controller 1 monitors the rotation of the spindle S and instructs the interpolation section 53 to start thread cutting at a time when the spindle S reaches the thread cutting start angle.

[0059] The thread cutting of the numerical controller according to the present embodiment and the thread cutting of a conventional numerical controller will be explained with reference to Fig. 7 compared.

[0060] As in (a) in Fig. As shown in Figure 7, the conventional numerical control waits until the rotation position of the spindle S reaches the position where the one-rotation signal is output after the tool T is caused to move to the thread cutting depth in the X-axis minus direction, and then starts thread cutting in the Z-axis direction. In contrast, as shown in (b) in Fig. As shown in Figure 7, the numerical controller 1 according to the present embodiment starts thread cutting in the Z-axis direction at a time when the rotation position of the spindle S outputs the one-rotation signal while driving the tool T in the Z-axis direction. Thus, it becomes possible to start thread cutting in the Z-axis direction during rapid traverse in the X-axis direction. Thus, no time is required for waiting for the one-rotation signal, and the cycle time is shortened.

[0061] Next, a numerical controller 1a according to another embodiment provided with a flow rate adjusting section 72 is shown in Fig. 8 shown.

[0062] The thread cutting start time decision section 70 in Fig. 8 includes the pass amount adjustment section 72. The pass amount adjustment section 72 outputs pulses (hereinafter referred to as "a Z-axis delay amount") corresponding to a pass amount by which the Z-axis moves after the rotation position of the spindle S has already passed the position at which the one-rotation signal is output during movement from a rotation position of the spindle S at which thread cutting should originally be started to a current rotation position of the spindle, to the Z-axis, as an instruction pulse, thereby compensating for the Z-axis delay amount and causing the phase of thread cutting to match.

[0063] Specifically, when the thread cutting start time decision section 70 instructs the interpolation section 53 to start a thread cutting operation (start Z-axis movement), the pass amount adjustment section 72 instructs adjustment such that, among the interpolation data for the thread cutting operation created by the interpolation section 53, a pulse amount of the first control cycle output to the servo motor 42 that drives the Z-axis becomes a pulse amount corresponding to the "Z-axis deceleration amount." By performing such adjustment, the acceleration at the time of starting thread cutting in the Z-axis direction is large compared to the acceleration at the time of starting normal Z-axis movement.However, since the need to wait for the start of thread cutting until the rotation position of the spindle S comes to the thread cutting start angle is eliminated, it becomes possible to shorten the cycle time of thread cutting.

[0064] To explain this with reference to Fig. 9, when an amount of pass from the thread cutting start angle (for example, a position that the one-rotation signal passes) detected by the position encoder 33 is indicated by α, the pass amount adjusting section 72 calculates an instruction pulse (the Z-axis delay amount) corresponding to an amount of pass (a movement amount from the start of the movement of the Z-axis) by which the Z-axis moves during time that the spindle S moves by the pass amount α, and instructs the interpolation section 53 to adjust a pulse amount of the first control cycle of the interpolation data for the thread cutting operation prepared by the interpolation section 53 to the amount of the calculated instruction pulse.When the servo control section 55 accelerates the servo motor 42 according to the adjusted interpolation data, the Z-axis deceleration amount is compensated, and the deceleration in the thread cutting feedrate caused by the one-rotation signal is canceled. After the deceleration of the speed is canceled, the thread cutting feedrate is adjusted by a conventional controller. Thus, it is possible to accelerate the thread cutting feedrate by an amount corresponding to the deceleration without waiting for the one-rotation signal to cause the thread cutting helix to match.

[0065] An operation of the numerical controller 1a according to the present embodiment will be described with reference to Fig. 10 described.

[0066] First, the program analysis section 51 reads the program 52 from a predetermined memory area (step S11). The program analysis section 51 analyzes the read program and outputs an instruction signal to the interpolation section 53 and the spindle control section 56. At the same time, the program lookahead section 54 reads a program preceding the analysis target program and determines whether or not a thread cutting instruction is present therein. If the thread cutting instruction is not present in the program preceding the analysis target program (step S12: No), the interpolation section 53 does not perform a thread cutting start operation.If the thread cutting instruction is present in the look-ahead program (step S12: Yes), the appropriate thread cutting start area calculation section 60 calculates the appropriate thread cutting start area based on the time required to reach the thread cutting feed rate of the tool T (step S13).

[0067] Next, the thread cutting start time decision section 70 confirms the position of the tool T on the X-axis (step S14). Here, if the position of the tool T on the X-axis is included in the appropriate range for starting thread cutting (step S15: Yes), the thread cutting start time decision section 70 confirms the rotational position of the spindle S (step S16) and calculates the Z-axis deceleration amount based on the rotational position of the spindle S (step S17). Further, if the position of the tool T on the X-axis is not included in the appropriate range for starting thread cutting (step S15: No), the process returns to step S14, and monitoring the position of the tool T continues until the position of the tool T on the X-axis is included in the appropriate range for starting thread cutting.

[0068] Further, if, as a result of calculating the Z-axis deceleration amount based on the rotational position of the spindle S at step S17, the acceleration in the case of accelerating the Z-axis by the calculated Z-axis deceleration amount is equal to or less than the maximum acceleration set for the Z-axis (step S18: Yes), the thread cutting start time decision section 70 and the pass amount adjustment section 72 output a thread cutting start instruction, in which the initial speed is adjusted by the Z-axis deceleration amount, to the interpolation section 53. If the acceleration in the case of accelerating the Z-axis by the Z-axis deceleration amount exceeds the maximum acceleration set for the Z-axis (step S18: No), the process returns to step S16, and monitoring of the spindle rotational position continues.

[0069] The embodiments of the present invention have been described above. However, the present invention is not limited to the examples of the embodiments described above, but can be implemented by making appropriate changes in various aspects.

[0070] For example, although an example of a case where a screw portion to be machined is parallel to the Z-axis is described in the embodiments described above, the technique of the present invention is also applied, for example, to a case where the screw portion is inclined by a predetermined angle relative to the Z-axis. In such a case, the Z-axis is driven similarly to the embodiments described above, and thread cutting is performed by moving the X-axis according to the angle of the screw portion. By determining a timing of starting the movement of the Z-axis in a thread cutting operation similarly to the embodiments described above, it is possible, while causing a helix of a screw to coincide, to shorten the cycle time compared with a general thread cutting method.

Claims

[1] A controller (1) that controls a machine tool provided with a first axis that causes a tool (T) to move in an axial direction of a spindle (S) and a second axis that causes the tool (T) to move in a direction different from an axial direction of the first axis, the machine tool driving the tool (T) via the first axis and the second axis to perform thread cutting of a workpiece (W) attached to the spindle (S), the controller (1) comprising: a thread cutting start area decision section (60) that decides an area to start thread cutting in a second axis direction of the tool (T) based on a time point when a relative feed rate between the tool (T) and the workpiece (W) reaches a thread cutting feed rate after the tool (T) starts cutting feed in a first axis direction; and a thread cutting start time decision section (70) that starts the cutting feed of the tool (T) when a position of the tool (T) on the second axis is within a range of the appropriate range for starting thread cutting. [2] The controller (1) according to claim 1, wherein the thread cutting start suitable area decision section (60) decides the suitable area for starting thread cutting such that the tool (T) reaches a thread cutting depth position when the tool (T) reaches the thread cutting feed rate. [3] The controller (1) according to claim 1, wherein the thread cutting start suitable range decision section (60) restricts a range of the thread cutting start suitable range such that the tool (T) reaches the thread cutting depth position before the tool (T) reaches the thread cutting feed rate. [4] The controller (1) according to claim 1, wherein the thread cutting start suitable range decision section (60) expands the range of the thread cutting start suitable range if the tool (T) reaches the thread cutting feed rate before the workpiece (W). [5] The controller (1) according to claim 1, further comprising a rotation position detecting section that detects a rotation position of the spindle (S), wherein when the rotation position detecting section detects a predetermined rotation position, the thread cutting start time deciding section (70) starts driving the tool (T). [6] The controller (1) according to claim 1, wherein the decision section (60) about the appropriate range for starting thread cutting comprises: a feed rate calculation section (61) that calculates a relative feed rate between the tool (T) and the workpiece (W) after the cutting feed has started until the thread cutting feed rate is reached; and a time-to-reach-the-thread-cutting-feed-rate calculation section (62) that calculates the time to reach the thread-cutting feed rate required for the relative feed rate to reach the thread-cutting feed rate based on the relative thread-cutting feed rate; wherein the thread cutting start suitable range decision section (60) calculates the range of the thread cutting start suitable range based on the time to reach the thread cutting feed rate. [7] The controller (1) according to claim 1, wherein the thread cutting start time decision section (70) looks ahead in a program instructing the machine tool to perform an operation, and, if a thread cutting instruction exists in the program, monitors a position of the spindle (S) before starting to drive the tool (T) at a time when the spindle (S) is at a predetermined position. [8] The controller (1) according to claim 1, further comprising a pass amount adjusting section (72) that, based on a pass amount after the spindle (S) has passed a predetermined rotation position, accelerates the relative feed rate of the tool (T) according to the pass amount to compensate for the pass amount. [9] A control system that controls a machine tool provided with a first axis that causes a tool (T) to move in an axial direction of a spindle (S) and a second axis that causes the tool (T) to move in a direction different from an axial direction of the first axis, the machine tool driving the tool (T) via the first axis and the second axis to perform thread cutting of a workpiece (W) attached to the spindle (S), the control system comprising: a thread cutting start area decision section (60) that decides an area to start thread cutting in a second axis direction of the tool (T) based on a time point when a relative feed rate between the tool (T) and the workpiece (W) reaches a thread cutting feed rate after the tool (T) has started cutting feed in a first axis direction; and a thread cutting start time decision section (70) that starts the cutting feed of the tool (T) when a position of the tool (T) on the second axis is within a range of the appropriate range for starting thread cutting.

Citation Information

Patent Citations

  • Numerical control

    DE102015001509A1

  • Thread cutting control method and system for it

    DE10394200B4

  • Display device

    JP1990006995A

  • JP002006000995A