Numerical control device and computer-readable storage medium
The numerical control device addresses incorrect G code issues by using a control information determining unit to select and apply appropriate settings based on speed commands, enhancing machining accuracy and efficiency.
Patent Information
- Application Number
- JP2023520658
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-12
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2041-05-12
AI Technical Summary
Machining programs may inadvertently specify incorrect G codes, leading to inappropriate control information settings, which can degrade workpiece accuracy and increase machining time.
A numerical control device with a control information storage unit, a control information determining unit, and a control unit that selects and applies appropriate control information based on speed commands or movement commands derived from the machining program, ensuring accurate control axis operations.
Ensures that control axes are operated with the correct control information, preventing inaccuracies and reducing machining time by automatically selecting the appropriate settings based on feed rates and movement commands.
Smart Images

Figure 0007609981000001 
Figure 0007609981000002 
Figure 0007609981000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a numerical control device and a computer-readable storage medium. [Background technology]
[0002] The numerical control device controls each part of the machine tool based on a machining program. In the machining program, control information for controlling the control axis is set based on a code called G-code. For example, when a positioning command G00 is specified, a position gain, a feedforward coefficient, and an acceleration / deceleration time constant corresponding to the positioning command are set as the control information. Also, when a cutting feed command G01 is specified, a position gain, a feedforward coefficient, and an acceleration / deceleration time constant corresponding to the cutting feed command are set as the control information. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2020 / 085437 Summary of the Invention [Problem to be solved by the invention]
[0004] However, there are cases where the creator of the machining program mistakenly writes a G-code different from the intended G-code in the machining program. In this case, machining is performed under control information that is different from the control information intended by the creator of the machining program. As a result, there is a risk that the machining accuracy of the workpiece will deteriorate or the machining time will be longer.
[0005] An object of the present disclosure is to provide a numerical control device capable of executing control of a control axis with appropriate control information being set. [Means for solving the problem]
[0006] a control information storage unit for storing a plurality of pieces of control information for controlling a control axis of a machine tool; It is written in the machining program, The control information determination unit determines one of the multiple pieces of control information stored in the control information storage unit based on a speed command specifying a feed speed of the control axis or a movement command derived from the speed command, and a control unit controls the control axis based on the one piece of control information determined by the control information determination unit.
[0007] A computer readable storage medium, It is written in the machining program, The system stores instructions for causing a computer to execute the following operations: determining one piece of control information from among a plurality of pieces of control information for controlling a control axis of the machine tool, based on a speed command specifying the feed speed of the control axis of the machine tool or a movement command derived from the speed command; and controlling the control axis based on the determined one piece of control information. Effect of the Invention
[0008] According to one aspect of the present disclosure, it is possible to execute control of a control axis with appropriate control information being set. [Brief description of the drawings]
[0009] [Figure 1] FIG. 2 is a diagram showing an example of a hardware configuration diagram of a machine tool. [Diagram 2] FIG. 2 is a block diagram showing an example of a function of a numerical control device. [Diagram 3] 4 is a diagram illustrating an example of control information stored in a control information storage unit. FIG. [Figure 4] FIG. 11 is a diagram showing a part of a machining program. [Diagram 5] 4 is a flowchart showing an example of a flow of processing executed by a numerical control device. [Figure 6] FIG. 11 is a diagram showing a part of a machining program. [Figure 7] 4 is a diagram illustrating an example of control information stored in a control information storage unit. FIG. [Figure 8]FIG. 11 is a diagram showing a part of a machining program. [Figure 9] FIG. 11 is a diagram illustrating an example of an acceleration time of a control axis. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings. Note that not all combinations of features described in the following embodiment are necessarily required to solve the problem. In addition, unnecessary detailed description may be omitted. In addition, the following description of the embodiment and the drawings are provided to enable a person skilled in the art to fully understand the present disclosure, and are not intended to limit the scope of the claims.
[0011] 1 is a diagram showing an example of a hardware configuration of a machine tool 1. The machine tool 1 is, for example, a lathe, a machining center, or a multi-tasking machine.
[0012] The machine tool 1 includes, for example, a numerical control device 2, an input / output device 3, a servo amplifier 4 and a servo motor 5, a spindle amplifier 6 and a spindle motor 7, and auxiliary equipment 8.
[0013] The numerical control device 2 is a device that controls the entire machine tool 1. The numerical control device 2 includes a CPU (Central Processing Unit) 201, a bus 202, a ROM (Read Only Memory) 203, a RAM (Random Access Memory) 204, and a non-volatile memory 205.
[0014] The CPU 201 is a processor that controls the entire numerical control device 2 according to a system program. The CPU 201 reads the system program stored in the ROM 203 via the bus 202, and performs various processes based on the system program. The CPU 201 also controls the servo motor 5 and the spindle motor 7 based on the machining program.
[0015] The CPU 201 performs, for example, analysis of a machining program and outputs control commands to the servo motor 5 and the spindle motor 7 for each control period.
[0016] The bus 202 is a communication path that connects each piece of hardware in the numerical control device 2 to each other. The pieces of hardware in the numerical control device 2 exchange data via the bus 202.
[0017] The ROM 203 is a storage device that stores a system program for controlling the entire numerical control device 2. The ROM 203 is a computer-readable storage medium.
[0018] The RAM 204 is a storage device that temporarily stores various data and functions as a working area for the CPU 201 to process various data.
[0019] The non-volatile memory 205 is a storage device that retains data even when the machine tool 1 is turned off and no power is being supplied to the numerical control device 2. The non-volatile memory 205 stores, for example, a machining program and various parameters input from the input / output device 3. The non-volatile memory 205 is a computer-readable storage medium. The non-volatile memory 205 is formed, for example, of an SSD (Solid State Drive).
[0020] 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 .
[0021] The interface 206 connects the bus 202 and the input / output device 3. The interface 206 sends, for example, various data processed by the CPU 201 to the input / output device 3.
[0022] The input / output device 3 is a device that receives various data via the interface 206 and displays the various data. The input / output device 3 also accepts input of various data and sends the various data to the CPU 201 via the interface 206. The input / output device 3 includes a display such as an LCD (Liquid Crystal Display), a keyboard, a mouse, and the like. The input / output device 3 may be a touch panel.
[0023] The axis control circuit 207 is a circuit that controls the servo motor 5. The axis control circuit 207 receives a control command from the CPU 201 and outputs a command to drive the servo motor 5 to the servo amplifier 4. The axis control circuit 207 sends, for example, a torque command to control the torque of the servo motor 5 to the servo amplifier 4.
[0024] The servo amplifier 4 receives a command from the axis control circuit 207 and supplies a current to the servo motor 5 .
[0025] The servo motor 5 is driven by receiving a current supply from the servo amplifier 4. 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 machine tool 1, such as the tool post, moves, for example, in the X-axis direction, Y-axis direction, or Z-axis direction. The servo motor 5 may include a built-in speed detector (not shown) that detects the feed speed of each control axis.
[0026] 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 CPU 201 and outputs a command for driving the spindle motor 7 to the spindle amplifier 6. The spindle control circuit 208 sends, for example, a torque command for controlling the torque of the spindle motor 7 to the spindle amplifier 6.
[0027] The spindle amplifier 6 receives a command from the spindle control circuit 208 and supplies a current to the spindle motor 7. The spindle amplifier 6 includes an ammeter 61 that measures the current value of the current supplied to the spindle motor 7.
[0028] The ammeter 61 detects the current value of the current supplied to the spindle motor 7. The ammeter 61 sends data indicating the detected current value to the CPU 201.
[0029] The spindle motor 7 is driven by receiving a current supply from the spindle amplifier 6. The spindle motor 7 is connected to a 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 the 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 transmits commands received from the PLC 209 to the auxiliary device 8.
[0032] The auxiliary device 8 is a device that is installed in the machine tool 1 and performs auxiliary operations in the machine tool 1. The auxiliary device 8 may be a device that is installed in the periphery of the machine tool 1. The auxiliary device 8 operates based on a command received from the I / O unit 210. The auxiliary device 8 is, for example, a tool changer, a cutting fluid ejection device, or an opening / closing door drive device.
[0033] Next, a description will be given of an example of the functions of the numerical control device 2. The numerical control device 2 is a device that controls each part of the machine tool 1 based on a machining program.
[0034] 2 is a block diagram showing an example of functions of the numerical control device 2. The numerical control device 2 includes a program storage unit 211, a program analysis unit 212, a threshold storage unit 213, a control information storage unit 214, a control information determination unit 215, a control information setting unit 216, and a control unit 217.
[0035] The program storage unit 211 is realized by storing a machining program input from the input / output device 3 or the like in the RAM 204 or the non-volatile memory 205. The threshold value storage unit 213 and the control information storage unit 214 are realized by storing parameters, control information, and the like input from the input / output device 3 or the like in the RAM 204 or the non-volatile memory 205.
[0036] The program analysis unit 212, the control information determination unit 215, the control information setting unit 216 and the control unit 217 are realized by the CPU 201 performing calculations using the system program stored in the ROM 203 and various data stored in the non-volatile memory 205.
[0037] The program storage unit 211 stores a machining program. The machining program is a program for operating each part of the machine tool 1 to machine a workpiece. In the machining program, the movement path of the tool, the rotation speed of the spindle, the cutting depth, and the like are specified using G codes, S codes, and the like. In addition, in the machining program, the feed rate is specified using F codes. In other words, the F codes that specify the feed rate in the machining program are speed commands.
[0038] The program analysis unit 212 reads and analyzes the machining program stored in the program storage unit 211. The program analysis unit 212 analyzes the machining program, whereby the numerical control device 2 recognizes each command written in the machining program.
[0039] The threshold value storage unit 213 stores one or more threshold values. The threshold values stored in the threshold value storage unit 213 are used by the control information determination unit 215 to determine one piece of control information. The function of the control information determination unit 215 will be described in detail next.
[0040] The control information storage unit 214 stores a plurality of pieces of control information for controlling the control axes of the machine tool 1. The control information is information that is set for moving the control axes of the machine tool 1. The control axes of the machine tool 1 are axes for moving or rotating a tool or a spindle. The control axes include, for example, three orthogonal axes consisting of an X-axis, a Y-axis, and a Z-axis. The control axes may also include, for example, an A-axis, a B-axis, and a C-axis whose rotation axes are an axis parallel to the X-axis direction, an axis parallel to the Y-axis direction, and an axis parallel to the Z-axis direction, respectively.
[0041] The threshold value storage unit 213 and the control information storage unit 214 may be provided in an external medium (for example, a Universal Serial Bus (USB) memory). In this case, the control information determination unit 215 determines the control information, which will be described later, based on the information stored in the external medium.
[0042] The plurality of pieces of control information include, for example, first control information and second control information. The plurality of pieces of control information may include three or more pieces of control information. The first control information and the second control information each include, for example, at least one of a position gain, a feedforward coefficient, an acceleration / deceleration time constant, and information indicating on / off of a function. Here, the function is a function related to the movement of the control axis. The function related to the movement of the control axis is executed, for example, during machining of a workpiece. In this embodiment, an oscillation cutting function is presented as an example of a function. In addition, the first control information and the second control information each may include at least one of information indicating the upper limit speed of the control axis, acceleration, on / off of the high-precision cutting function, on / off of the output of the fast-forward signal or the cutting feed signal, the in-position width, and the inner rotation tolerance of the tool.
[0043] The position gain is a numerical value multiplied by a position deviation, which is the difference between a position command that specifies the position of the control axis and a position feedback value that indicates the position of the control axis controlled based on the position command. A command value that commands the speed of the control axis is calculated by multiplying the position deviation by the position gain. The position gain is also called a position loop gain.
[0044] The feedforward coefficient is a numerical value multiplied by the derivative of the position command that specifies the position of the control axis. The derivative of the position command is multiplied by the feedforward coefficient, and the resulting value is added to the speed command to compensate for the speed command of the control axis and improve command tracking.
[0045] The acceleration / deceleration time constant is a value that indicates the time it takes for the control axis to transition from a speed specified by a speed command to a stopped state, or to reach the speed specified by the speed command from a stopped state.
[0046] Oscillating cutting refers to the act of swinging or vibrating the tool when cutting a workpiece. By performing oscillating cutting, chips can be broken into small pieces. In order to prevent vibrations from adversely affecting the machine, the oscillating cutting function is generally turned off when not cutting, such as when a positioning command is being executed. In addition, the oscillating cutting function is often operated with an oscillation amplitude proportional to the feed rate of the control axis in order to break down chips. If the feed rate is particularly high and the oscillation amplitude is proportional to the feed rate, the oscillation amplitude will be large, and as a result, the vibration will also be excessively large. Therefore, when the feed rate is particularly high, it may be desirable to turn off the oscillating cutting function.
[0047] 3 is a diagram illustrating an example of control information stored in the control information storage unit 214. The control information storage unit 214 stores, for example, first control information and second control information.
[0048] The position gain of the first control information is smaller than the position gain of the second control information. The feedforward coefficient of the first control information is smaller than the feedforward coefficient of the second control information. The acceleration / deceleration time constant of the first control information is smaller than the acceleration / deceleration time constant of the second control information. The information indicating on / off of the oscillating cutting in the first control information is set to information indicating off. Furthermore, the information indicating on / off of the oscillating cutting in the second control information is set to information indicating on.
[0049] The first control information corresponds to, for example, the control information that is set when a positioning command is specified in the conventional numerical control device 2. The second control information corresponds to, for example, the control information that is set when a cutting feed command is specified in the conventional numerical control device 2.
[0050] Based on a speed command specifying the feed speed of the control axis, the control information determination unit 215 determines one of the multiple pieces of control information stored in the control information storage unit 214. The speed command specifying the feed speed of the control axis is specified by, for example, an F code in the machining program.
[0051] The control information determination unit 215 determines which of the multiple pieces of control information stored in the control information memory unit 214 to set, based on the feed speed of the control axis specified by the speed command and the threshold value stored in the threshold value memory unit 213.
[0052] The control information determination unit 215 first compares the threshold value stored in the threshold value storage unit 213 with the feed speed of the control axis specified by the speed command. If the feed speed is greater than the threshold value, the control information determination unit 215 determines the control information to be the first control information. On the other hand, if the feed speed is equal to or less than the threshold value, the control information determination unit 215 determines the control information to be the second control information. Here, a specific example in which the control information determination unit 215 determines one piece of control information to be used for controlling the control axis will be described with reference to FIG. 4.
[0053] 4 is a diagram showing a part of a machining program. X100F5800 is specified in the line of sequence number N100 of the machining program. X80F4800 is specified in the line of sequence number N200. Also, it is assumed that a threshold value of 5000 is stored in the threshold value storage unit 213.
[0054] The control information determination unit 215 compares the value 5800 indicated by the speed command specified in the line with sequence number N100 with the threshold value 5000. In this case, the feed speed indicated by the speed command specified in the line with sequence number N100 is greater than the threshold value. Therefore, when the line with sequence number N100 is executed, the control information determination unit 215 determines the control information to be the first control information.
[0055] The control information determination unit 215 compares the value 4800 indicated by the speed command specified in the line with sequence number N200 with the threshold value 5000. In this case, the feed speed indicated by the speed command specified in the line with sequence number N200 is equal to or less than the threshold value. Therefore, when the line with sequence number N200 is executed, the control information determination unit 215 determines the control information to be the second control information.
[0056] The control information determination unit 215 may determine one of the multiple pieces of control information stored in the control information storage unit 214 based on a movement command derived from a speed command that specifies the feed speed of a control axis. In other words, when deriving a movement command from a speed command, the control information determination unit 215 compares a threshold value stored in the threshold storage unit 213 with the feed speed specified by the speed command, and derives a movement command based on the comparison result. The derived movement command includes, for example, a positioning command and a cutting feed command.
[0057] If the feed rate is greater than the threshold value, the control information determination unit 215 determines that the movement command is a positioning command. That is, the control information determination unit 215 derives a positioning command as the movement command from the speed command specified in the machining program. If the derived movement command is a positioning command, the control information determination unit 215 determines the control information to be the first control information corresponding to the positioning command.
[0058] On the other hand, if the feed rate is equal to or lower than the threshold value, the control information determination unit 215 determines that the movement command is a cutting feed command. That is, the control information determination unit 215 derives a cutting feed command as a movement command from a speed command specified in the machining program. If the derived movement command is a cutting feed command, the control information determination unit 215 determines the control information to be second control information corresponding to the cutting feed command.
[0059] The movement command derived from the speed command may include a first cutting feed command and a second cutting feed command different from the first cutting feed command. When the derived movement command is the first cutting feed command, the control information determination unit 215 may determine one piece of control information corresponding to the first cutting feed command, and when the derived movement command is the second cutting feed command, the control information determination unit 215 may determine another piece of control information corresponding to the second cutting feed command.
[0060] Furthermore, the movement command derived from the speed command may include a first positioning command and a second positioning command different from the first positioning command. When the derived movement command is the first positioning command, the control information determination unit 215 may determine one piece of control information corresponding to the first positioning command, and when the derived movement command is the second positioning command, the control information determination unit 215 may determine another piece of control information corresponding to the second positioning command.
[0061] The control information setting unit 216 sets one piece of control information determined by the control information determination unit 215 as the control information used to control the control axis. When the first control information is determined as the control information, the control information setting unit 216 sets the position gain, the feedforward coefficient, the acceleration / deceleration time constant, and the information indicating the on / off of the oscillation cutting to, for example, a "small" value, a "small" value, a "small" value, and "off", respectively. When the second control information is determined as the control information, the control information setting unit 216 sets the position gain, the feedforward coefficient, the acceleration / deceleration time constant, and the information indicating the on / off of the oscillation cutting to, for example, a "large" value, a "large" value, a "large" value, and "on", respectively. Here, the "small" value and the "large" value respectively mean a relatively "small" value and a relatively "large" value when the first control information and the second control information are compared.
[0062] The control unit 217 controls the control axis based on one control information determined by the control information determination unit 215. When the control information determination unit 215 determines first control information, the control unit 217 controls the control axis based on the first control information. When the control information determination unit 215 determines second control information, the control unit 217 controls the control axis based on the second control information.
[0063] Next, the flow of processing executed by the numerical control device 2 will be described.
[0064] FIG. 5 is a flowchart showing an example of the flow of processing executed by the numerical control device 2.
[0065] In the numerical control device 2, first, the program analysis unit 212 reads a machining program from the program storage unit 211 and analyzes the read machining program (step S1).
[0066] Next, the control information determination unit 215 determines one of the multiple pieces of control information stored in the control information storage unit 214 based on a speed command that specifies the feed speed of the control axis or a movement command derived from the speed command (step S2).
[0067] Next, the control information setting unit 216 sets the one piece of control information determined by the control information determination unit 215 as the control information for controlling the control axis (step S3).
[0068] Next, the control unit 217 controls the control axis based on the one control information set by the control information determination unit 215 (step S4), and ends the process. Note that the numerical control device 2 may repeat the processes of steps S1 to S4 each time each line of the machining program is executed, or at a predetermined cycle.
[0069] As described above, the numerical control device 2 includes a control information storage unit 214 that stores multiple pieces of control information for controlling the control axes of the machine tool 1, a control information determination unit 215 that determines one piece of control information from the multiple pieces of control information stored in the control information storage unit 214 based on a speed command that specifies the feed speed of the control axis or a movement command derived from the speed command, and a control unit 217 that controls the control axis based on the one piece of control information determined by the control information determination unit 215.
[0070] Therefore, the numerical control device can control the control axis based on appropriate control information. In other words, it is no longer necessary to specify the positioning command G00 and the cutting feed command G01 in the machining program, so it is possible to prevent machining from being performed under control information that is different from the control information intended by the creator of the machining program. In addition, the amount of code specified in the machining program can be reduced.
[0071] In the above-described embodiment, the movement command includes a positioning command and a cutting feed command, and when the derived movement command is a positioning command, the control information determination unit 215 determines one piece of control information corresponding to the positioning command, and when the derived movement command is a cutting feed command, the control information determination unit 215 determines one piece of control information corresponding to the cutting feed command. Therefore, appropriate control information is set when a positioning command is derived and when a cutting feed command is derived.
[0072] Each of the plurality of pieces of control information includes at least one of a position gain, a feedforward coefficient, an acceleration / deceleration time constant, and information indicating ON / OFF of swing cutting. Therefore, each piece of information included in the control information can be set in consideration of machining accuracy, cycle time, etc.
[0073] In the above-described embodiment, the speed command is specified in the machining program. However, the speed command is not limited to being specified in the machining program, and may be specified by, for example, any of a parameter, an external signal, and an external medium. Here, the parameter is a parameter set in the numerical control device 2. The external signal is, for example, a signal input from a PLC 209 or a PC (Personal Computer) connected to the numerical control device 2. The external medium is, for example, a USB (Universal Serial Bus) memory. In addition, the control information determination unit 215 may determine the control information based on any of a parameter, an external signal, and a value stored in an external medium, instead of the threshold value stored in the threshold value storage unit 213.
[0074] In the above embodiment, an example has been described in which the control information determination unit 215 compares a speed command specified in a machining program with a threshold value and determines one piece of control information based on the comparison result. However, the control information determination unit 215 may determine control information by comparing a ratio between a speed command before switching and a speed command after switching when the speed command is switched, that is, a speed ratio, with a threshold value.
[0075] For example, the speed command value in one line of a machining program is different from the speed command value in the following line. case, The control information determination unit 215 compares the speed ratio with a threshold value. If the speed ratio is greater than the threshold value, the control information determination unit 215 determines, for example, the first control information shown in FIG. 3 as the control information to be set. If the speed ratio is equal to or less than the threshold value, the control information determination unit 215 determines the second control information shown in FIG. 3 as the control information to be set. Next, a specific example in which the control information determination unit 215 compares the speed ratio with a threshold value to determine one piece of control information to be used for controlling the control axis will be described with reference to FIG. 6.
[0076] 6 is a diagram showing a part of a machining program. X100F100 is specified in the line of sequence number N100 of the machining program. X80F1500 is specified in the line of sequence number N200. Also, it is assumed that a threshold value of 1000 is stored in the threshold value storage unit 213.
[0077] The control information determination unit 215 compares the ratio between the value 100 indicated by the speed command specified in the row with sequence number N100 and the value 1500 indicated by the speed command specified in the row with sequence number N200, i.e., the speed ratio 1500 / 100×100=1500[%], with the threshold value 1000[%]. In this case, the speed ratio is greater than the threshold value. Therefore, the control information determination unit 215 determines the control information used for controlling the control axis at the timing of transition from the row with sequence number N100 to the row with sequence number N200 to be the first control information.
[0078] In the above-described embodiment, the first control information and the second control information include information indicating the on / off of the oscillating cutting function. However, this is not limited to the oscillating cutting function, and may be any function that should be switched on / off by a speed command or a movement command derived from the speed command. For example, it may be an interpolation function for high-quality machining. The interpolation function is a function that interpolates a movement path so as to smoothly connect movement command points in response to a cutting movement command. Enabling the interpolation function requires a lot of control cost. Therefore, when the feed rate is high, a large load is placed on the CPU. In this case, there is a possibility that the interpolation function will not work properly. In such a case, it is better to turn off this function. In this way, any function that should be switched on / off based on the feed rate may be used.
[0079] In the above-described embodiment, the control information determination unit 215 determines one of the multiple pieces of control information stored in the control information storage unit 214 based on a speed command specifying a feed speed of a control axis or a movement command derived from the speed command. However, the control information determination unit 215 may further change the determined control information based on an acceleration time of the control axis when the speed command is switched. An example in which the control information determination unit 215 changes the determined control information based on an acceleration time of the control axis when the speed command is switched will be described with reference to Figs. 7 to 9.
[0080] Fig. 7 is a diagram for explaining an example of control information stored in the control information storage unit 214. Fig. 8 is a diagram showing a part of a machining program. Fig. 9 is a diagram for explaining acceleration times of the control axes.
[0081] The control information storage unit 214 stores first control information and second control information. The first control information includes a position gain, a feedforward coefficient, and an acceleration / deceleration time constant. The position gain of the first control information is set to a value smaller than the position gain of the second control information. Also, the feedforward coefficient of the first control information is set to a value smaller than the feedforward coefficient of the second control information.
[0082] The second control information includes a position gain, a feedforward coefficient, and an acceleration / deceleration time constant. The position gain of the second control information is set to a value larger than the position gain of the first control information. Also, the feedforward coefficient of the second control information is set to a value larger than the feedforward coefficient of the first control information.
[0083] In conventional numerical control devices, the upper limit speed of the control axis is preset in parameters, etc., taking into consideration the mechanical configuration of the machine tool and the safety of the control axis operation. For example, with the positioning command G00, it is possible to specify a speed up to the maximum positioning speed. With the cutting feed command G01, it is possible to specify a speed up to the maximum cutting feed speed. In addition, the acceleration / deceleration time constant and the acceleration are also preset in parameters, etc. For example, when the positioning command G00 is specified, the machine accelerates or decelerates to the specified speed with the acceleration / deceleration time constant or acceleration during the positioning operation. In addition, when the cutting feed command G01 is specified, the machine accelerates or decelerates to the specified speed with the acceleration / deceleration time constant or acceleration during the cutting feed operation.
[0084] In the first control information, it is assumed that the control axis can specify a speed up to F8000, and in the second control information, it is assumed that the control axis can specify a speed up to F3000. In addition, it is assumed that the first control information specifies τ1 [s] as the acceleration / deceleration time constant, and the second control information specifies τ2 [s] as the acceleration / deceleration time constant.
[0085] 8, X100F6000 is specified in the line of sequence number N100 in the machining program. X80F2800 is specified in the line of sequence number N200. X50F1500 is specified in the line of sequence number N300. It is assumed that a threshold value of 2500 is stored in the threshold value storage unit 213.
[0086] When the command specified in the line with sequence number N100 is executed, the control information determination unit 215 compares the value 6000 specified in the F code with the threshold value 2500. The feed rate specified in the F code in this line is greater than the threshold value. Therefore, when the line with N100 is executed, the control information determination unit 215 determines the first control information as the control information. Furthermore, the acceleration time when the line with N100 is executed is τ1 [s] (see FIG. 9).
[0087] When the command specified in the line with sequence number N200 is executed, the control information determination unit 215 compares the value 2800 specified in the F code with the threshold value 2500. The feed speed specified in the F code in this line is greater than the threshold value. Therefore, when the line with N200 is executed, the control information determination unit 215 determines the first control information as the control information.
[0088] Here, since the value 2800 designated by the F code exceeds the threshold value, the control information determination unit 215 determines the first control information as the control information. However, since it is included in the range of the upper limit speed 3000 of the control axis of the second control information, there is no problem in terms of the mechanical configuration and the operation of the control axis even if the second control information is selected. Therefore, the control information determination unit 215 compares the acceleration time of the control axis when the control axis is controlled based on the first control information with the acceleration time of the control axis when the control axis is controlled based on the second control information. When the first control information is set, the acceleration time until the feed speed F2800 is reached is τ1. On the other hand, assuming that the second control information is set, the time until the feed speed of the control axis reaches F2800 is τ2 [s], which is shorter than τ1 [s].
[0089] Therefore, when the line N200 is executed, the control information determination unit 215 changes the once determined first control information to the second control information, thereby shortening the cycle time of the machining by (τ1-τ2) [s].
[0090] When the command specified in the line with sequence number N300 is executed, the control information determination unit 215 compares the value 1500 specified in the F code with the threshold value 2500. The feed speed specified in the F code in this line is equal to or less than the threshold value. Therefore, when the line with N300 is executed, the control information determination unit 215 determines the second control information as the control information.
[0091] In this specific example, when the line N200 is executed, the acceleration time of the control axis when the control axis is controlled based on the first control information is compared with the acceleration time of the control axis when the control axis is controlled based on the second control information. However, this comparison may also be performed when the line N100 and the line N300 are executed.
[0092] In this embodiment, the first control information and the second control information include the acceleration / deceleration time constant. However, for example, as in the cutting feed command G01, in linear interpolation, there are cases where the movement path of the control axis is uniquely determined regardless of the setting of the acceleration / deceleration time constant or the acceleration. In such cases, the control information may include the acceleration in the first control information or the second control information, and the acceleration α may be used to compare the acceleration time.
[0093] Also, in this specific example, the first control information includes an acceleration / deceleration time constant but does not include acceleration, whereas the second control information does not include an acceleration / deceleration time constant but includes acceleration. However, each piece of control information may be set such that the first control information does not include an acceleration / deceleration time constant but includes acceleration, whereas the second control information includes an acceleration / deceleration time constant but does not include acceleration.
[0094] In this specific example, the control information determination unit 215 compares a speed command specified in a machining program with a threshold value, determines control information based on the comparison result, and then changes the determined control information based on the acceleration time of the control axis. However, the control information determination unit 215 may determine control information by comparing the ratio between the speed command before switching and the speed command after switching when the speed command is switched, that is, the speed ratio, with a threshold value, and then changes the determined control information based on the acceleration time of the control axis.
[0095] In the above-described embodiment, one of the plurality of pieces of control information stored in the control information storage unit 214 is determined based on a speed command that specifies the feed speed of the control axis or a movement command derived from the speed command. However, the numerical control device 2 may have a mode in which the control information determination unit 215 determines the first control information as the control information when a positioning command G00 is specified, and determines the second control information as the control information when a cutting feed command G01 is specified, as in the conventional case. That is, the numerical control device 2 may have a plurality of control modes, and in the first mode, the control information determination unit 215 may determine one of the plurality of pieces of control information stored in the control information storage unit 214 based on a speed command that specifies the feed speed of the control axis or a movement command derived from the speed command. In addition, in the second mode, the numerical control device 2 may determine one control command corresponding to the positioning command or one control command corresponding to the cutting feed command based on the positioning command G00 or the cutting feed command G01 specified in the machining program.
[0096] In addition, the present disclosure is not limited to the above-described embodiment, and can be appropriately modified without departing from the spirit and scope of the present disclosure. In the present disclosure, any of the components of the embodiment can be modified or omitted. [Explanation of symbols]
[0097] 1 Machine tools 2. Numerical control device 201 CPU 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 storage unit 212 Program Analysis Unit 213 Threshold memory unit 214 Control information storage unit 215 Control Information Determination Unit 216 Control information setting section 217 Control Unit 3 Input / Output Devices 4 Servo Amplifier 5. Servo motor 6 Spindle Amplifier 61 Ammeter 7 Spindle motor 8 Auxiliary equipment
Claims
1. a control information storage unit that stores a plurality of pieces of control information for controlling a control axis of the machine tool; a control information determination unit that determines one of the plurality of pieces of control information stored in the control information storage unit based on a speed command that is written in a machining program and that specifies a feed speed of the control axis or a movement command derived from the speed command; a control unit that controls the control axis based on the one control information determined by the control information determination unit; A numerical control device comprising:
2. The derived movement command includes a positioning command and a cutting feed command, When the derived movement command is the positioning command, the control information determination unit determines the one piece of control information corresponding to the positioning command; The numerical control device according to claim 1 , wherein, when the derived movement command is the cutting feed command, the control information determination unit determines the one piece of control information corresponding to the cutting feed command.
3. the derived movement command includes a first cutting feed command and a second cutting feed command different from the first cutting feed command; When the derived movement command is the first cutting feed command, the control information determination unit determines the one piece of control information corresponding to the first cutting feed command; The numerical control device according to claim 1 , wherein, when the derived movement command is the second cutting feed command, the control information determination unit determines the one piece of control information corresponding to the second cutting feed command.
4. the derived movement commands include a first positioning command and a second positioning command different from the first positioning command; When the derived movement command is the first positioning command, the control information determination unit determines the one piece of control information corresponding to the first positioning command; The numerical control device according to claim 1 , wherein, when the derived movement command is the second positioning command, the control information determination unit determines the one piece of control information corresponding to the second positioning command.
5. 5. The numerical control device according to claim 1, wherein each of the plurality of control information includes at least one of a position gain, a feedforward coefficient, an acceleration / deceleration time constant, and information indicating on / off of a function.
6. 6. The numerical control device according to claim 1, wherein the speed command is specified by any one of a machining program, a parameter, an external signal, and an external medium.
7. The numerical control device according to any one of claims 1 to 6, wherein the control information determination unit changes the determined one piece of control information to another piece of control information based on an acceleration time of the control axis derived from the speed command.
8. determining one of a plurality of pieces of control information for controlling a control axis of the machine tool based on a speed command which is written in a machining program and which specifies a feed speed of the control axis of the machine tool, or a movement command derived from said speed command; Controlling the control axis based on the determined one of the control information; A computer-readable storage medium that stores instructions for causing a computer to execute the above.
Citation Information
Patent Citations
Rotary retort furnace
JP1977040412A
Drive control method for servomotor and control device
JP2001309678A
Electric generator for power tool
JP2019037081A
Machine learning device, servo control device, servo control system and machine learning method
JP2021039648A
JPP6740483B