Numerical control device, and computer-readable storage medium
Patent Information
- Application Number
- JP2024576057
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-01-09
- Publication Date
- 2025-10-22
- Estimated Expiration
- 2043-02-10
AI Technical Summary
Conventional numerical control systems cannot move either the master axis or the slave axis at high speed during synchronous control, limiting the ability to reduce machining time, especially in processes like thread cutting where the tool axis needs to move quickly along non-cutting areas.
The numerical control device includes area information defining synchronous and high-speed operation areas for the axes, a timing search unit to align phases, and a movement amount calculation unit to determine and output control information for each axis, allowing for faster movement in the high-speed area while maintaining phase alignment.
This solution enables the numerical control device to shorten machining time by allowing the slave axis to move at high speed along non-cutting areas during synchronous control, improving operational efficiency.
Abstract
Description
Numerical control device and computer-readable storage medium
[0001] The present disclosure relates to a numerical control device for controlling industrial machinery and a computer-readable storage medium.
[0002] Conventionally, workpiece machining has been performed by synchronously controlling a master axis and a slave axis. Synchronous control is a control in which the slave axis is operated in conjunction with the operation of the master axis. For example, synchronous control is performed in gear machining, thread cutting, cutting, and the like (see, for example, Patent Document 1).
[0003] Japanese Patent Application Laid-Open No. 2019-185287
[0004] However, conventionally, it is not possible to move only the master axis or only the slave axis at high speed during synchronous control. Therefore, for example, in thread cutting, it is not possible to shorten the machining time by moving only the tool axis at high speed along the non-cutting area. Therefore, even when synchronous control is performed, it is desirable to shorten the machining time.
[0005] The numerical control device of the present disclosure includes a region information acquisition unit that acquires first region information that defines a first region in which an operation unit moves when a first axis and a second axis are synchronously moving at a first relative velocity, and second region information that defines a second region in which the operation unit moves when the first axis and the second axis are moving at a second relative velocity that is faster than the first relative velocity, a timing search unit that searches for phase alignment timing to align the phases of the first axis and the second axis before the operation unit starts moving in the first region, and a timing search unit that searches for phase alignment timing to align the phases of the first axis and the second axis before the operation unit starts moving in the first region. a movement amount calculation unit that calculates at least one of a movement amount of the first axis and a movement amount of the second axis per unit time when the operation unit moves through the second area based on the phase alignment timing that has been determined; and a control unit that performs at least one of outputting first control information for controlling the first axis based on the movement amount of the first axis calculated by the movement amount calculation unit and outputting second control information for controlling the second axis based on the movement amount of the second axis calculated by the movement amount calculation unit.
[0006] A computer-readable storage medium of the present disclosure stores instructions that cause a computer to execute at least one of the following: acquiring first area information that defines a first area through which the operating unit moves when the first axis and the second axis move synchronously at a first relative speed; and second area information that defines a second area through which the operating unit moves when the first axis and the second axis move at a second relative speed that is faster than the first relative speed; searching for phase alignment timing for aligning the phases of the first axis and the second axis before the operating unit starts moving in the first area; calculating, based on the searched phase alignment timing, at least one of a movement amount of the first axis and a movement amount of the second axis per unit time when the operating unit moves in the second area; and outputting first control information for controlling the first axis based on the calculated movement amount of the first axis; and outputting second control information for controlling the second axis based on the calculated movement amount of the second axis.
[0007] 1 is a block diagram showing an example of a hardware configuration of an industrial machine; FIG. 2 is a block diagram showing an example of the functions of a numerical control device; FIG. 3 is a diagram for explaining a synchronous operation; FIG. 4 is a diagram showing a movement amount per unit time of a second axis; FIG. 5 is a diagram for explaining an example of calculating a movement time; FIG. 6 is a diagram for explaining gear machining; FIG. 7 is a flowchart showing an example of a flow of processing executed by a numerical control device; FIG. 8 is a diagram for explaining threading; and FIG. 9 is a diagram for explaining cutting.
[0008] Hereinafter, a numerical control device according to an embodiment of the present disclosure will be described with reference to the drawings. In the following description, components having the same or similar functions will be denoted by the same reference numerals. Duplicate descriptions of those components may be omitted.
[0009] In this application, "based on XX" means "based on at least XX," and includes cases where it is based on other elements in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX" is any element (for example, any information).
[0010] A numerical control device is a device for controlling industrial machinery, which is a machine operating in an industrial site, such as a machine tool, a cutting machine, an injection molding machine, a laser processing machine, a three-dimensional printer, and a robot.
[0011] 1 is a block diagram showing an example of the hardware configuration of an industrial machine in which a numerical control device is implemented. The industrial machine 1 includes a numerical control device 2, an input / output device 3, a servo amplifier 4, a servo motor 5, a spindle amplifier 6, a spindle motor 7, and auxiliary equipment 8.
[0012] The numerical control device 2 includes, for example, a hardware processor 201 , a bus 202 , a read-only memory (ROM) 203 , a random access memory (RAM) 204 , and a non-volatile memory 205 .
[0013] The hardware processor 201 is a processor that controls the entire numerical control device 2 in accordance with a system program. The hardware processor 201 reads the system program and the like stored in the ROM 203 via the bus 202. The hardware processor 201 is, for example, a CPU (Central Processing Unit) or an electronic circuit.
[0014] The bus 202 is a communication path that connects the various hardware components of the numerical control device 2. The various hardware components of the numerical control device 2 exchange data via the bus 202.
[0015] The ROM 203 is a storage device that stores system programs, etc. The ROM 203 is a computer-readable storage medium.
[0016] The RAM 204 is a storage device that temporarily stores various data and functions as a work area for the hardware processor 201 to process various data.
[0017] The nonvolatile memory 205 is a storage device that retains data even when the power to the numerical control device 2 is turned off. The nonvolatile memory 205 stores, for example, an operation program for the industrial machine 1. The nonvolatile memory 205 is a computer-readable storage medium. The nonvolatile memory 205 is, for example, a memory backed up by a battery or an SSD (Solid State Drive).
[0018] The numerical control device 2 further includes an interface 206 , an axis control circuit 207 , a spindle control circuit 208 , a PLC (Programmable Logic Controller) 209 , and an I / O unit 210 .
[0019] The interface 206 connects the bus 202 and the input / output device 3. The interface 206 sends various data processed by the hardware processor 201 to the input / output device 3, for example.
[0020] The input / output device 3 receives various data via the interface 206 and displays the various data on a display. The input / output device 3 also receives input of various data and sends the various data via the interface 206 to, for example, the hardware processor 201.
[0021] The input / output device 3 is, for example, a touch panel. When the input / output device 3 is a touch panel, the input / output device 3 is, for example, a capacitive touch panel. The touch panel is not limited to a capacitive touch panel and may be a touch panel of another type. The input / output device 3 is installed in an operation panel (not shown) in which the numerical control device 2 is housed.
[0022] The axis control circuit 207 is a circuit for controlling the servo motor 5. The axis control circuit 207 receives control commands from the hardware processor 201 and sends various commands to the servo amplifier 4 for driving the servo motor 5. The axis control circuit 207 sends, for example, a torque command for controlling the torque of the servo motor 5 to the servo amplifier 4.
[0023] The servo amplifier 4 receives a command from the axis control circuit 207 and supplies a current to the servo motor 5 .
[0024] The servo motors 5 are driven by receiving a current supply from the servo amplifier 4. The servo motors 5 are provided for each control axis of the industrial machine 1. If the industrial machine 1 is a machine tool having five axes, the servo motors 5 include, for example, an X-axis servo motor, a Y-axis servo motor, a Z-axis servo motor, an A-axis servo motor, and a C-axis servo motor. In this case, an axis control circuit 207 and a servo amplifier 4 are provided for each servo motor 5.
[0025] The servo motor 5 is connected to, for example, a ball screw that drives a tool post. When the servo motor 5 is driven, a structure of the industrial machine 1, such as the tool post, moves along a predetermined control axis.
[0026] The servo motor 5 has a built-in encoder (not shown) that detects the position and feed rate of the control axis. Position feedback information and speed feedback information indicating the position and feed rate of the control axis detected by the encoder are fed back to the axis control circuit 207. In this way, the axis control circuit 207 performs feedback control of each control axis.
[0027] The spindle control circuit 208 is a circuit for controlling the spindle motor 7. The spindle control circuit 208 receives a control command from the hardware processor 201 and sends a command to the spindle amplifier 6 to drive the spindle motor 7. The spindle control circuit 208 sends, for example, a spindle speed command to the spindle amplifier 6 to control the rotation speed of the spindle motor 7.
[0028] The spindle amplifier 6 receives a command from the spindle control circuit 208 and supplies a current to the spindle motor 7 .
[0029] The spindle motor 7 is driven by receiving a current supplied from the spindle amplifier 6. The spindle motor 7 is connected to the main shaft and rotates the main shaft.
[0030] The PLC 209 is a device that executes a ladder program to control the auxiliary device 8. The PLC 209 sends commands to the auxiliary device 8 via an I / O unit 210.
[0031] The I / O unit 210 is an interface that connects the PLC 209 and the auxiliary device 8. The I / O unit 210 sends commands received from the PLC 209 to the auxiliary device 8.
[0032] The auxiliary device 8 is installed in the industrial machine 1 and performs auxiliary operations in the industrial machine 1. The auxiliary device 8 operates based on commands received from the I / O unit 210. The auxiliary device 8 may be a device installed in the periphery of the industrial machine 1. The auxiliary device 8 is, for example, a tool changer, a cutting fluid injection device, or an opening / closing door drive device.
[0033] Next, the function of the numerical control device 2 will be described. The numerical control device 2 controls, for example, an industrial machine 1 having a first axis and a second axis. The numerical control device 2 synchronizes the operation of the first axis and the second axis. Synchronous operation means that the slave axis is operated so as to follow the operation of the master axis.
[0034] For example, the first axis is a master axis and the second axis is a slave axis. The numerical control device 2 synchronizes the first axis and the second axis in, for example, gear machining, thread cutting, and cutting.
[0035] 2 is a block diagram showing an example of the functions of the numerical control device 2. The numerical control device 2 includes a program analysis unit 211, a first movement amount calculation unit 212, a first control unit 213, a second movement amount calculation unit 214, a second control unit 215, a phase alignment movement amount calculation unit 216, and a high-speed movement amount calculation unit 217. The first control unit 213 and the second control unit 215 correspond to the control units recited in the claims.
[0036] The program analysis unit 211, the first movement amount calculation unit 212, the first control unit 213, the second movement amount calculation unit 214, the second control unit 215, the phase alignment movement amount calculation unit 216, and the high-speed movement amount calculation unit 217 are realized, for example, by the hardware processor 201 performing arithmetic processing using the system program stored in the ROM 203 and various data and operation programs stored in the non-volatile memory 205.
[0037] The program analysis unit 211 analyzes the operation program of the industrial machine 1. The operation program is, for example, a machining program for a machine tool and a machining program for a cutting machine. The machining program for a machine tool is, for example, a gear cutting program and a thread cutting program.
[0038] The first movement amount calculation unit 212 calculates the movement amount of the first axis based on the analysis result of the operation program by the program analysis unit 211. The movement amount is, for example, the movement amount of the first axis per unit time. In other words, the movement amount calculated by the first movement amount calculation unit 212 is the movement speed of the first axis.
[0039] The first movement amount calculation unit 212 also acquires position information indicating the position of the first axis. The position information is, for example, a value indicating the position or rotation angle of the first axis. The first movement amount calculation unit 212 acquires the position information from, for example, the servo motor 5 that drives the first axis.
[0040] The first control unit 213 controls the first axis based on the movement amount of the first axis calculated by the first movement amount calculation unit 212. The first control unit 213 controls the first axis, for example, by outputting a pulse signal corresponding to the movement amount of the first axis.
[0041] The second movement amount calculation unit 214 calculates the movement amount of the second axis by multiplying the movement amount of the first axis calculated by the first movement amount calculation unit 212 by a synchronization coefficient. The movement amount is, for example, the movement amount of the second axis per unit time. In other words, the movement amount calculated by the second movement amount calculation unit 214 is the movement speed of the second axis. The synchronization coefficient is, for example, a predetermined value or a value calculated based on an operation program.
[0042] The second movement amount calculation unit 214 also acquires position information indicating the position of the second axis. The position information is, for example, a value indicating the position or rotation angle of the second axis. The second movement amount calculation unit 214 acquires the position information from, for example, the servo motor 5 that drives the second axis.
[0043] The second control unit 215 controls the second axis based on the movement amount of the second axis calculated by the second movement amount calculation unit 214. The second control unit 215 controls the second axis, for example, by outputting a pulse signal corresponding to the movement amount of the second axis.
[0044] This allows the first and second axes to move at a constant relative speed. A constant relative speed means that the speed of the second axis is constant relative to the speed of the first axis. The movement includes rotation.
[0045] Note that the first axis and the second axis may not be in phase with each other until alignment is performed using the amount of movement calculated by the phase alignment movement amount calculation unit 216 (described later). Therefore, it is necessary to align the phases of the first axis and the second axis before performing the above-mentioned gear machining or the like.
[0046] The phase refers to the positional relationship between the first axis and the second axis, and the phase alignment refers to aligning the first axis and the second axis to a predetermined positional relationship.
[0047] The phase alignment movement amount calculation unit 216 calculates a movement amount for aligning the phases of the first axis and the second axis. The phase alignment movement amount calculation unit 216 calculates a movement amount of at least one of the first axis and the second axis for aligning the phases of the first axis and the second axis based on position information indicating the position of the first axis and position information indicating the position of the second axis. The movement amount calculated by the phase alignment movement amount calculation unit 216 corresponds to the amount of phase shift between the first axis and the second axis.
[0048] The phase alignment movement amount calculation unit 216 acquires position information indicating the position of the first axis and position information indicating the position of the second axis from the first movement amount calculation unit 212 and the second movement amount calculation unit 214. The phase alignment movement amount calculation unit 216 outputs the calculated movement amount to, for example, the second control unit 215.
[0049] The second control unit 215 performs phase alignment based on the movement amount calculated by the phase alignment movement amount calculation unit 216. That is, the second control unit 215 increases or decreases the output of the pulse signal by an amount corresponding to the movement amount calculated by the phase alignment movement amount calculation unit 216. This achieves phase alignment between the first axis and the second axis, and the first axis and the second axis operate synchronously while being in phase with each other.
[0050] 3A is a diagram for explaining the synchronous operation of the first axis and the second axis. Fig. 3A shows the rotation angles of the first axis and the second axis when they are synchronously operating. The first axis and the second axis each rotate at a constant rotation speed. Synchronous operation is performed in which the second axis rotates once for every 13 rotations of the first axis.
[0051] 3B is a diagram showing the movement amount per unit time of the second axis. In the example shown in FIG. 3B, the second axis rotates at a constant movement amount Vs per unit time. At this time, the second control unit 215 outputs a constant pulse signal per unit time.
[0052] 3B shows that the operating unit of the industrial machine 1 moves between a first area and a second area. The operating unit is a part of the industrial machine 1 that performs some operation on an object. The operating unit is, for example, a tool. Examples of the tool are a hob cutter, a threading tool, a cutting tool, a milling tool, and a cutting tool. The object is, for example, a workpiece.
[0053] The first region is a machining region, which is a region where machining is performed by a tool. The second region is a non-machining region, which is a region where machining is not performed by a tool.
[0054] 4 is a diagram for explaining gear cutting. The gear cutting tool is, for example, a hob cutter HC. The hob cutter HC is fixed to, for example, a tool spindle TS. The tool spindle TS rotates by A-axis control. The A-axis corresponds to the first axis described above.
[0055] The workpiece W is, for example, a sector gear. The workpiece W is gripped by, for example, a chuck fixed to the workpiece spindle WS and rotates at a constant speed. The workpiece spindle WS rotates under C-axis control. The C-axis corresponds to the second axis described above.
[0056] First, the hob HC and the workpiece W are positioned at the phase alignment position. Once the hob HC and the workpiece W are positioned at the phase alignment position, machining of the workpiece W begins. That is, the hob HC moves through the first region to machine the workpiece W.
[0057] Furthermore, when the hob cutter HC passes through the first area A1, the hob cutter HC moves through the second area A2. Furthermore, when the hob cutter HC passes through the second area A2, the hob cutter HC moves through the first area A1 again. By repeating this operation, the hob cutter HC machines the sector gear. Now, returning to the explanation of FIG. 2.
[0058] The high-speed movement amount calculation unit 217 calculates a movement amount for moving the operation unit at high speed along the second area A2. The movement amount calculated by the high-speed movement amount calculation unit 217 is a movement amount that is superimposed on the movement amount of the second axis calculated by the second movement amount calculation unit 214. Here, a method for moving the operation unit at high speed along the second area A2 will be described.
[0059] When the first control unit 213 and the second control unit 215 synchronize the operation of the first axis and the second axis, the first control unit 213 outputs a constant pulse signal per unit time based on the movement amount of the first axis calculated by the first movement amount calculation unit 212.
[0060] Furthermore, when the first control unit 213 and the second control unit 215 synchronize the first axis and the second axis, the second control unit 215 outputs a constant pulse signal per unit time based on the movement amount of the second axis calculated by the second movement amount calculation unit 214. This causes the first axis and the second axis to synchronize and operate in phase.
[0061] On the other hand, when the second control unit 215 moves the operation unit at high speed along the second area A2, the second control unit 215 outputs a movement amount obtained by superimposing the movement amount of the second axis calculated by the second movement amount calculation unit 214 and the movement amount of the second axis calculated by the high-speed movement amount calculation unit 217. In other words, the second control unit 215 outputs, per unit time, a pulse signal corresponding to the movement amount of the second axis calculated by the second movement amount calculation unit 214, as well as a pulse signal corresponding to the movement amount of the second axis calculated by the high-speed movement amount calculation unit 217.
[0062] This allows the second control unit 215 to move the operation unit at high speed along the second area A2. At this time, the first control unit 213 may output a constant pulse signal per unit time based on the movement amount of the first axis calculated by the first movement amount calculation unit 212.
[0063] The high-speed movement amount calculation unit 217 includes a region information acquisition unit 221 , a timing search unit 222 , and a movement amount calculation unit 223 .
[0064] The region information acquisition unit 221 acquires first region information that defines the first region A1. As described above, the first region A1 is the machining region. The first region A1 is also the region through which the operation unit moves while the first axis and the second axis are operating synchronously at a first relative speed. The region information acquisition unit 221 acquires the first region information from the operation program analyzed by the program analysis unit 211.
[0065] The first area information is, for example, coordinate values that define the first area A1. In the example shown in Fig. 4, the coordinate values that define the first area A1 are the coordinate values of the machining start position MS and the coordinate values of the machining end position ME.
[0066] The area information acquisition unit 221 further acquires second area information that defines the second area A2. The area information acquisition unit 221 acquires the second area information from the operation program analyzed by the program analysis unit 211.
[0067] The second area A2 is a non-machining area. The second area A2 is an area in which the operating unit moves while the first axis and the second axis are moving at a second relative speed that is faster than the first relative speed. In other words, the second area A2 is an area in which the operating unit moves at a speed faster than the speed at which it moves in the first area A1.
[0068] The second area information may include information indicating the position of one end of the second area A2 and information indicating the movement distance when the operation unit moves through the second area A2. The position of one end of the second area A2 is the machining end position ME. The movement distance is expressed, for example, by the length of the second area A2 in the longitudinal direction or the rotation angle of the second axis.
[0069] 4, the second area information is, for example, information indicating the coordinate value of the machining end position ME and the clockwise rotation angle of the second axis from the machining end position ME to the machining start position MS. The machining end position ME and the machining start position MS are the start position and the end position of the second area A2, respectively.
[0070] The second region information may include information indicating the positions of one end and the other end of the second region A2, i.e., the second region information may be the coordinate values of the start position of the second region A2 and the coordinate values of the end position of the second region A2.
[0071] As described above, the operating unit moves through the second area A2 at a speed faster than the speed of movement through the first area A1. In this case, the positional relationship between the first axis and the second axis in synchronous operation is shifted. In other words, the phases of the first axis and the second axis are shifted. Therefore, when the operating unit moves through the first area A1 again, the shifted phases must be realigned. Now, let us return to the explanation of FIG. 2.
[0072] The timing search unit 222 searches for a phase alignment timing for aligning the phases of the first axis and the second axis before the operation unit starts moving in the first area A1. The timing search unit 222 calculates a movement time required for the operation unit to move in the second area A2 based on, for example, information indicating the maximum speed and maximum acceleration of the second axis.
[0073] 3C is a diagram for explaining an example of calculating the movement time by the timing search unit 222. The timing search unit 222 calculates the shortest movement time required for the operation unit to move through the second area A2.
[0074] The timing search unit 222 calculates the time (t2-t1) required for the second axis to move at the maximum acceleration from the synchronous operation speed Vs to the maximum speed Vmax at the start position of the second region A2, and the travel distance Sa at that time. The timing search unit 222 also calculates the time (t4-t3) required for the second axis to decelerate at the minimum acceleration from the maximum speed Vmax to the synchronous operation speed Vs, and the travel distance Sd at that time.
[0075] Furthermore, the timing search unit 222 calculates the time (t3-t2) required for the second axis to move through the second area A2 at the maximum speed Vmax based on the movement distance when the operating unit moves through the second area A2, the movement distance Sa, the movement distance Sd, and the maximum speed Vmax. This allows the timing search unit 222 to calculate the shortest movement time (t4-t1) required for the operating unit to move through the second area A2.
[0076] The timing search unit 222 further calculates, as the phase alignment timing, the timing at which the shortest movement time required for the operation unit to move through the second area A2 has elapsed, or the timing at which the phases of the first axis and the second axis can be aligned for the first time after the movement time has elapsed.
[0077] The first axis moves based on the movement amount calculated by the first movement amount calculation unit 212. Therefore, even if the operation unit moves through the second area A2 in the shortest time, the first axis may not have reached the phase alignment position when the operation unit reaches the machining start position MS. Therefore, the timing at which the first axis reaches the phase alignment position after the operation unit has reached the machining start position MS is the phase alignment timing.
[0078] The phase alignment timing is, for example, the timing when the rotation angle of the first axis is 0° and the operation unit is placed at the start position of the first area A1.
[0079] 3C, the timing at which the first axis and the second axis can be aligned for the first time after the passage of the movement time is timing t5, so the timing search unit 222 calculates timing t5 as the phase alignment timing.
[0080] The movement amount calculation unit 223 calculates the movement amount of the second axis per unit time when the operation unit moves in the second area A2, based on the phase alignment timing searched by the timing search unit 222. That is, the movement amount calculation unit 223 calculates the movement amount of the second axis per unit time so that the operation unit reaches the phase alignment position at the phase alignment timing.
[0081] In the example shown in FIG. 3C, the movement amount calculated by the movement amount calculation unit 223 is a movement amount equivalent to the area of a trapezoid surrounded by points P2, P3, P4, and P5.
[0082] The movement amount calculation unit 223 first calculates the movement amount corresponding to the area of the hexagon (the hatched portion slanting upward to the right) surrounded by points P1, P2, P3, P4, P5, and P6. The area of this hexagon coincides with the area of the portion (the hatched portion slanting upward to the right) showing the movement amount of the second region A2 in FIG. 3B.
[0083] Then, the movement amount calculation unit 223 subtracts the movement amount corresponding to the rectangular portion surrounded by points P1, P2, P5, and P6 from the movement amount corresponding to the hexagonal portion. The area of the rectangular portion surrounded by points P1, P2, P5, and P6 corresponds to the movement amount of the second axis calculated by the second movement amount calculation unit 214. In other words, the movement amount of the rectangular portion is the movement amount steadily calculated by the second movement amount calculation unit 214 during synchronous operation. As a result, the movement amount calculation unit 223 calculates the movement amount corresponding to the area of the trapezoidal portion surrounded by points P2, P3, P4, and P5.
[0084] The second control unit 215 outputs second control information for controlling the second axis based on the movement amount of the second axis calculated by the movement amount calculation unit 223. In other words, the second control information output by the second control unit 215 when the operation unit moves in the second area A2 is information indicating the movement amount obtained by superimposing the movement amount calculated by the movement amount calculation unit 223 on the movement amount calculated by the second movement amount calculation unit 214.
[0085] By the processing of each part described above, when the first axis and the second axis are operating synchronously, the numerical control device 2 can move the operating unit through the second area A2 at a higher speed than when it moves through the first area A1.
[0086] 5 is a flowchart showing an example of the flow of processing executed by the numerical control device 2. In the numerical control device 2, first, the program analysis unit 211 analyzes the operation program (step S1).
[0087] Next, the first movement amount calculation unit 212 calculates the movement amount of the first axis based on the analysis result of the operation program by the program analysis unit 211 (step S2).
[0088] Next, the first control unit 213 controls the first axis based on the movement amount of the first axis calculated by the first movement amount calculation unit 212 (step S3).
[0089] Next, the second movement amount calculation unit 214 calculates the movement amount of the second axis by multiplying the movement amount of the first axis calculated by the first movement amount calculation unit 212 by a synchronization coefficient (step S4).
[0090] Next, the second control unit 215 controls the second axis based on the movement amount of the second axis calculated by the second movement amount calculation unit 214 (step S5).
[0091] Next, the phase alignment movement amount calculation unit 216 calculates the movement amount for aligning the phases of the first axis and the second axis (step S6).
[0092] Next, the second control unit 215 performs phase alignment between the first axis and the second axis based on the movement amount calculated by the phase alignment movement amount calculation unit 216 (step S7). Through the above processing, the first axis and the second axis operate synchronously in phase.
[0093] Next, the region information acquisition unit 221 acquires the first region information and the second region information (step S8).
[0094] Next, the timing search unit 222 searches for a phase alignment timing for aligning the phases of the first axis and the second axis before the operation unit starts to move in the first area A1 (step S9).
[0095] Next, the movement amount calculation unit 223 calculates the movement amount of the second axis per unit time when the operation unit moves in the second area A2 based on the phase alignment timing searched by the timing search unit 222 (step S10).
[0096] Thereafter, the first control unit 213 and the second control unit 215 control the first axis and the second axis to process the object (step S11).
[0097] When machining is started, the operation unit moves in the first area A1. That is, machining of the machining area is performed. At this time, the first control unit controls the first axis based on the movement amount calculated by the first movement amount calculation unit 212. Furthermore, the second control unit controls the second axis based on the movement amount calculated by the second movement amount calculation unit 214.
[0098] When the operation unit reaches the start position of the second area A2, the operation unit moves through the second area A2 at high speed. At this time, the first control unit controls the first axis based on the movement amount calculated by the first movement amount calculation unit 212.
[0099] On the other hand, the second control unit controls the second axis based on the movement amount calculated by the second movement amount calculation unit 214 superimposed with the movement amount calculated by the movement amount calculation unit 223.
[0100] When the operation unit reaches the end position of the second area A2, the second control unit again controls the second axis based on the movement amount calculated by the second movement amount calculation unit 214.
[0101] The execution of machining continues until the execution of the operation program is completed (No in step S12), and when the machining is completed (Yes in step S12), the processing in the numerical control device 2 is completed.
[0102] In the above-described embodiment, the movement amount calculation unit 223 calculates the movement amount of the second axis per unit time when the operation unit moves through the second area A2, based on the phase alignment timing searched by the timing search unit 222. However, the movement amount calculation unit 223 may also calculate the movement amount of the first axis per unit time when the operation unit moves through the second area A2, based on the phase alignment timing searched by the timing search unit 222. Furthermore, the movement amount calculation unit 223 may also calculate both the movement amount of the first axis and the movement amount of the second axis per unit time.
[0103] When the movement amount calculation unit 223 calculates the movement amount of the first axis per unit time, the first control unit 213 may output first control information for controlling the first axis based on the movement amount of the first axis calculated by the movement amount calculation unit 223.
[0104] In the above-described embodiment, the timing search unit 222 calculates the movement time required for the operation unit to move through the second area A2 based on information indicating the maximum speed and maximum acceleration of the second axis. However, the timing search unit 222 may calculate the movement time required for the operation unit to move through the second area A2 based on information indicating the maximum speed and maximum acceleration of the first axis.
[0105] In the above-described embodiment, when the operation unit is moved along the second area A2, the second control unit 215 outputs information indicating a movement amount obtained by superimposing the movement amount of the second axis calculated by the movement amount calculation unit 223 onto the movement amount of the second axis calculated by the second movement amount calculation unit 214. However, when the operation unit is moved along the second area A2, the first control unit 213 may output information indicating a movement amount obtained by superimposing the movement amount of the first axis calculated by the movement amount calculation unit 212 onto the movement amount of the first axis calculated by the movement amount calculation unit 223. Alternatively, the first control unit 213 and the second control unit 215 may each output this information.
[0106] In the above-described embodiment, the high-speed movement amount calculation unit 217 calculates a movement amount to be superimposed on the movement amount of the second axis calculated by the second movement amount calculation unit 214. Therefore, the second control unit 215 superimposes the movement amount calculated by the movement amount calculation unit 223 on the movement amount calculated by the second movement amount calculation unit 214 and outputs the result.
[0107] However, the movement amount calculated by the high-speed movement amount calculation unit 217 may be the movement amount of the second axis when the operation unit moves in the second area A2. In this case, when the operation unit moves in the second area A2, the second control unit 215 controls the second axis based only on the movement amount calculated by the high-speed movement amount calculation unit 217. In other words, when the operation unit moves in the second area A2, the second control unit 215 controls the second axis without using the movement amount of the second axis calculated by the second movement amount calculation unit 214.
[0108] The amount of movement of the second axis when the operating unit moves in the second area A2 is the amount of movement corresponding to the area of the hexagon (the hatched area sloping upward to the right) surrounded by points P1, P2, P3, P4, P5, and P6 in Figure 3C.
[0109] That is, when the operating unit moves in the first area A1, the second control unit 215 controls the second axis based on the movement amount calculated by the second movement amount calculation unit 214. On the other hand, when the operating unit moves in the second area A2, the second control unit 215 controls the second axis based on the movement amount calculated by the high-speed movement amount calculation unit 217 and corresponding to the area of the hexagon.
[0110] FIG. 6 is a diagram for explaining thread cutting. The thread cutting tool is, for example, a thread cutting tool TT. The thread cutting tool TT is fixed to, for example, a tool post. The tool post moves by X-axis control and Z-axis control. The Z-axis corresponds to the second axis described above. In other words, the Z-axis is the slave axis.
[0111] The workpiece W is, for example, a shaft having a first thread portion T1 and a second thread portion T2. The workpiece W is gripped by a chuck fixed to the workpiece spindle WS and rotates at a constant speed. The workpiece spindle WS rotates under C-axis control. The C-axis corresponds to the first axis described above. In other words, the C-axis is the master axis.
[0112] The threading tool TT and the workpiece W are first positioned at the phasing position PP. Once the threading tool TT and the workpiece W are positioned at the phasing position PP, machining of the workpiece W begins. That is, the threading tool TT moves the first thread portion T1 and the second thread portion T2 to machine the workpiece W. The first thread portion T1 and the second thread portion T2 correspond to the first area A1.
[0113] When the thread cutting tool TT passes through the first thread portion T1, it moves through the second region A2. Furthermore, when the thread cutting tool TT passes through the second region A2, it moves through the second thread portion T2. When the thread cutting tool TT passes through the second thread portion T2, it is again positioned at the phase alignment position PP. By repeating this operation, the thread cutting tool TT machines a shaft having the first thread portion T1 and the second thread portion T2.
[0114] The high-speed movement amount calculation unit 217 calculates the movement amount for moving the threading tool TT at high speed along the second area A2.
[0115] The area information acquisition unit 221 acquires first area information that defines the first area A1 from the operation program analyzed by the program analysis unit 211.
[0116] In the example shown in FIG. 6, the coordinate values that define the first area A1 are the coordinate values of the machining start position MS and the coordinate values of the machining end position ME of the second thread portion T2.
[0117] The area information acquisition unit 221 further acquires second area information that defines the second area A2. The area information acquisition unit 221 acquires the second area information from the operation program analyzed by the program analysis unit 211.
[0118] In the example shown in FIG. 6, the second region information is the coordinate values of the machining end position ME of the first thread portion T1 and the coordinate values of the machining start position MS of the second thread portion T2.
[0119] As described above, the operating unit moves through the second region A2 at a faster speed than the movement speed through the first region A1. In this case, because the first shaft rotates at a constant speed, the positional relationship between the first shaft and the second shaft during synchronous operation is shifted. In other words, the phases of the first shaft and the second shaft are shifted. Therefore, when the operating unit moves through the second screw portion T2, the shifted phase must be realigned.
[0120] The timing search unit 222 searches for a phase alignment timing for aligning the phases of the first axis and the second axis before the operation unit starts moving in the second screw portion T2. The timing search unit 222 calculates the movement time required for the operation unit to move in the second area A2 based on, for example, information indicating the maximum speed and maximum acceleration of the second axis.
[0121] The phase alignment timing is, for example, the timing when the rotation angle of the first shaft is 0° and the operation part is positioned at the machining start position MS of the second threaded part T2.
[0122] The second control unit 215 outputs second control information for controlling the second axis based on the movement amount of the second axis calculated by the movement amount calculation unit 223. The second control information output by the second control unit 215 is information indicating the movement amount calculated by the second movement amount calculation unit 214 superimposed with the movement amount calculated by the movement amount calculation unit 223. This enables the second control unit 215 to move the threading tool TT at high speed when it moves through the second area A2.
[0123] 7 is a diagram for explaining cutting. The cutting tool CT is fixed to, for example, a rotation axis RS. The rotation axis RS corresponds to the first axis described above. In other words, the rotation axis RS is a master axis.
[0124] The workpieces W are, for example, plate materials. A plurality of plate materials are placed on a conveyor belt CB and move at a constant speed. The plurality of plate materials are placed on the conveyor belt CB at predetermined intervals. The conveyor belt CB moves, for example, by the rotation of a drive shaft DS. The drive shaft DS corresponds to the second shaft described above. In other words, the drive shaft DS is a slave shaft.
[0125] First, the cutting tool CT and the workpiece W are positioned at the phase alignment position. Once the cutting tool CT and the workpiece W are positioned at the phase alignment position, cutting of the workpiece W begins. That is, the cutting tool CT rotates at a constant speed, and the workpiece W moves on the conveyor belt CB at a constant speed, thereby cutting the workpiece W to a predetermined length.
[0126] When one workpiece W passes under the cutting tool CT, a second area A2 where no workpiece W is placed passes under the cutting tool CT. Furthermore, when the second area A2 passes under the cutting tool CT, another workpiece W passes under the cutting tool CT. Here, the area where the workpiece W is placed is the first area A1 described above.
[0127] The high-speed movement amount calculation unit 217 calculates the movement amount for the second area A2 to move under the cutting tool CT at high speed.
[0128] The region information acquisition unit 221 acquires first region information that defines the first region A1. The region information acquisition unit 221 acquires the first region information based on detection information by the sensor S. The sensor S is, for example, a camera.
[0129] In the example shown in FIG. 7, the coordinate values that define the first area A1 are the coordinate values of the position of one end of the workpiece W and the coordinate values of the position of the other end of the workpiece W.
[0130] The region information acquisition unit 221 further acquires second region information that defines the second region A2. The region information acquisition unit 221 acquires the second region information based on the detection information by the sensor S.
[0131] In the example shown in FIG. 7, the second area information is the coordinate values of the position of the other end of one workpiece W and the coordinate values of the position of one end of another workpiece W.
[0132] As described above, the operating unit moves in the second area A2 at a speed faster than the moving speed in the first area A1. Here, the operating unit is the cutting tool CT. The moving speed is the relative speed between the operating unit and the first area A1 and the relative speed between the operating unit and the second area A2.
[0133] If the operating unit moves through the second area A2 at a speed faster than the speed in the first area A1, the positional relationship between the first axis and the second axis in the synchronous operation will be shifted. That is, the phases of the first axis and the second axis will be shifted. Therefore, when the operating unit moves through the first area A1 again, the shifted phases must be realigned.
[0134] The timing search unit 222 searches for a phase alignment timing for aligning the phases of the first axis and the second axis before the operation unit starts moving in the second area A2. The timing search unit 222 calculates a movement time required for the operation unit to move in the second area A2 based on, for example, information indicating the maximum speed and maximum acceleration of the second axis.
[0135] The phase alignment timing is, for example, when the rotation angle of the first axis is 40° and the cutting start position CS of the workpiece W comes into contact with the cutting edge of the cutting tool CT.
[0136] The second control unit 215 outputs second control information for controlling the second axis based on the movement amount of the second axis calculated by the movement amount calculation unit 223. The second control information output by the second control unit 215 is information indicating the movement amount calculated by the second movement amount calculation unit 214 superimposed with the movement amount calculated by the movement amount calculation unit 223. This enables the second control unit 215 to move the cutting tool CT at high speed when it moves through the second area A2.
[0137] As described above, the numerical control device 2 includes a region information acquisition unit 221 that acquires first region information defining a first region A1 in which the operation unit moves when the first axis and the second axis are synchronously moving at a first relative velocity, and second region information defining a second region A2 in which the operation unit moves when the first axis and the second axis are moving at a second relative velocity that is faster than the first relative velocity, a timing search unit 222 that searches for phase alignment timing to align the phases of the first axis and the second axis before the operation unit starts moving in the first region A1, and a timing search unit 222 and a control unit that executes at least one of outputting first control information for controlling the first axis based on the movement amount of the first axis calculated by the movement amount calculation unit 223 and outputting second control information for controlling the second axis based on the movement amount of the second axis calculated by the movement amount calculation unit 223.
[0138] Therefore, the numerical control device 2 can shorten the machining time of the workpiece W when the first axis and the second axis are operated synchronously.
[0139] Furthermore, the timing search unit 222 calculates the movement time required for the operation unit to move through the second area A2 based on information indicating the maximum speed and maximum acceleration of at least one of the first axis and the second axis, and calculates the timing at which the movement time has elapsed or the timing at which the phases first align after the movement time has elapsed as the phase alignment timing.
[0140] Therefore, when the first axis or the second axis is moved at high speed, the numerical control device 2 can align the phases of the first axis and the second axis at the earliest phase alignment timing, thereby reducing the machining time of the workpiece W.
[0141] In addition, when the control unit moves the operating unit along the second area A2, the control unit performs at least one of outputting information indicating the amount of movement obtained by superimposing the amount of movement of the first axis calculated by the movement amount calculation unit 223 on the amount of movement of the first axis, and outputting information indicating the amount of movement obtained by superimposing the amount of movement of the second axis calculated by the movement amount calculation unit 223 on the amount of movement of the second axis.
[0142] Therefore, the numerical control device 2 can move the operation unit at high speed while performing synchronous control of the first axis and the second axis, thereby reducing the machining time even during synchronous control.
[0143] The second region information may also include information indicating the position of one end of the second region A2 and information indicating the distance traveled when the operation unit moves within the second region A2. The second region information may also include information indicating the positions of the one end and the other end of the second region A2.
[0144] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible to these embodiments without departing from the gist of the present disclosure or the gist of the present disclosure derived from the content of the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination.
[0145] The following are supplementary notes related to embodiments of the present disclosure. Supplementary note [1] A region information acquisition unit that acquires first region information that defines a first region in which an operation unit moves in a state in which a first axis and a second axis move synchronously at a first relative velocity, and second region information that defines a second region in which the operation unit moves in a state in which the first axis and the second axis move at a second relative velocity that is faster than the first relative velocity, a timing search unit that searches for phase alignment timing to align the phases of the first axis and the second axis before the operation unit starts moving in the first region, and a timing search unit that searches for the phase alignment timing searched for by the timing search unit. and a control unit that executes at least one of outputting first control information for controlling the first axis based on the movement amount of the first axis calculated by the movement amount calculation unit and outputting second control information for controlling the second axis based on the movement amount of the second axis calculated by the movement amount calculation unit.Supplementary Note [2] The numerical control device according to Supplementary Note [1], wherein the timing search unit calculates a movement time required for the operation unit to move through the second area based on information indicating a maximum speed and a maximum acceleration of at least one of the first axis and the second axis, and calculates, as the phase alignment timing, a timing when the movement time has elapsed or a timing when the phase can be aligned for the first time after the movement time has elapsed. Supplementary Note [3] The numerical control device according to Supplementary Note [1] or [2], wherein the control unit, when moving the operation unit along the second area, performs at least one of outputting information indicating a movement amount obtained by superimposing the movement amount of the first axis calculated by the movement amount calculation unit on the movement amount of the first axis, and outputting information indicating a movement amount obtained by superimposing the movement amount of the second axis calculated by the movement amount calculation unit on the movement amount of the second axis.Supplementary Note [4] The numerical control device according to any one of Supplementary Notes [1] to [3], wherein the second region information includes information indicating a position of one end of the second region and information indicating a moving distance when the operation unit moves in the second region. Supplementary Note [5] The numerical control device according to any one of Supplementary Notes [1] to [3], wherein the second region information includes information indicating the positions of one end and the other end of the second region. Supplementary Note [6] A computer-readable storage medium storing instructions to cause a computer to execute at least one of: acquiring first area information defining a first area in which an operating unit moves in a state in which a first axis and a second axis move synchronously at a first relative speed; and second area information defining a second area in which the operating unit moves in a state in which the first axis and the second axis move at a second relative speed faster than the first relative speed; searching for phase alignment timing for aligning the phases of the first axis and the second axis before the operating unit starts moving in the first area; calculating at least one of an amount of movement of the first axis and an amount of movement of the second axis per unit time when the operating unit moves in the second area based on the searched phase alignment timing; and outputting first control information for controlling the first axis based on the calculated amount of movement of the first axis; and outputting second control information for controlling the second axis based on the calculated amount of movement of the second axis.
[0146] REFERENCE SIGNS LIST 1 Industrial machine 2 Numerical control device 201 Hardware processor 202 Bus 203 ROM 204 RAM 205 Non-volatile memory 206 Interface 207 Axis control circuit 208 Spindle control circuit 209 PLC 210 I / O unit 211 Program analysis unit 212 First movement amount calculation unit 213 First control unit 214 Second movement amount calculation unit 215 Second control unit 216 Phase alignment movement amount calculation unit 217 High-speed movement amount calculation unit 221 Area information acquisition unit 222 Timing search unit 223 Movement amount calculation unit 3 Input / output device 4 Servo amplifier 5 Servo motor 6 Spindle amplifier 7 Spindle motor 8 Auxiliary equipment
Claims
1. a region information acquiring unit that acquires first region information that defines a first region in which an operation unit moves when a first axis and a second axis are synchronously moving at a first relative speed, and second region information that defines a second region in which the operation unit moves when the first axis and the second axis are moving at a second relative speed that is faster than the first relative speed; a timing search unit that searches for a phase alignment timing for aligning the phases of the first axis and the second axis before the operation unit starts to move the first area; a movement amount calculation unit that calculates at least one of a movement amount of the first axis and a movement amount of the second axis per unit time when the operation unit moves in the second area, based on the phase alignment timing searched by the timing search unit; and a control unit that executes at least one of outputting first control information for controlling the first axis based on the movement amount of the first axis calculated by the movement amount calculation unit, and outputting second control information for controlling the second axis based on the movement amount of the second axis calculated by the movement amount calculation unit; A numerical control device comprising:
2. 2. The numerical control device according to claim 1, wherein the timing search unit calculates a movement time required for the operation unit to move through the second area based on information indicating a maximum speed and a maximum acceleration of at least one of the first axis and the second axis, and calculates, as the phase alignment timing, a timing at which the movement time has elapsed or a timing at which the phase can be aligned for the first time after the movement time has elapsed.
3. 3. The numerical control device according to claim 1, wherein, when the operation unit is moved along the second area, the control unit executes at least one of outputting information indicating a movement amount obtained by superimposing the movement amount of the first axis calculated by the movement amount calculation unit onto the movement amount of the first axis, and outputting information indicating a movement amount obtained by superimposing the movement amount of the second axis calculated by the movement amount calculation unit onto the movement amount of the second axis.
4. 3. The numerical control device according to claim 1, wherein the second area information includes information indicating a position of one end of the second area and information indicating a moving distance when the operating unit moves in the second area.
5. The numerical control device according to claim 1 or 2, wherein the second region information includes information indicating the positions of one end and the other end of the second region.
6. Acquiring first area information that defines a first area in which an operating unit moves when a first axis and a second axis are synchronously moving at a first relative speed, and second area information that defines a second area in which the operating unit moves when the first axis and the second axis are moving at a second relative speed that is faster than the first relative speed; searching for a phase alignment timing for aligning the phases of the first axis and the second axis before the operation unit starts moving the first area; calculating at least one of a movement amount of the first axis and a movement amount of the second axis per unit time when the operation unit moves in the second area based on the phase alignment timing found; outputting first control information for controlling the first axis based on the calculated movement amount of the first axis, and outputting second control information for controlling the second axis based on the calculated movement amount of the second axis; A computer-readable storage medium that stores instructions for causing a computer to execute the above.