NUMERICAL CONTROL UNIT
The numerical control unit optimizes multi-edged tool usage by minimizing tool changes based on cutting edge lifetimes, controlling cycle time and reducing waste.
Patent Information
- Application Number
- DE102020124347
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-10-18
- Filing Date
- 2020-09-18
- Publication Date
- 2026-05-28
- Estimated Expiration
- 2040-09-18
AI Technical Summary
The use of multi-edged tools necessitates replacing the entire tool when one cutting edge reaches the end of its service life, increasing cycle time and wasting the remaining usable cutting edges.
A numerical control unit that decodes tool and cutting edge selection commands from a machining program, selecting tools to minimize tool changes by utilizing the remaining lifetimes of cutting edges, allowing continuous machining operations without tool changes.
Controls machining cycle time by optimizing the use of multi-edged tools, reducing waste and costs by fully utilizing all cutting edges before replacement.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTION Area of the invention
[0001] The present invention relates to a numerical control unit. Related state of the art
[0002] There are multi-edged tools that have a multitude of cutting edges. According to a known technique, based on data indicating the service life and cumulative operating hours of each cutting edge of a multi-edged tool, the remaining service life of each cutting edge is calculated when a machining command is issued; and it is determined that the multi-edged tool reaches the end of its service life when the remaining service life of at least one of the cutting edges expires. See, for example, patent document 1.
[0003] Patent document 1: Japanese unexamined patent application, publication no. JP H07 - 314 290 A.
[0004] DE 10 2016 006 955 A1 discloses a numerical control system with a tool life control function that takes into account changes in machining conditions. The numerical control system determines a consumption factor, which represents the extent to which a tool of a machine tool consumes tool life depending on the machining conditions, and calculates a tool life (accumulated consumption time) that is consumed before each block, based on the determined consumption factor and the tool usage for each block. If an instruction from a block read from the machining program is a tool change instruction, a tool is selected based on the accumulated consumption time with a tool life that does not end before the next tool change instruction. SUMMARY OF THE INVENTION
[0005] There is now a situation where the properties of multi-edged tools are exploited, allowing a series of machining processes to be performed using different cutting edges of a multi-edged tool without tool changes. In such a situation, the end of the cutting edge's lifespan necessitates replacing the entire tool, thus increasing the cycle time.
[0006] In light of the foregoing background, it was desirable to control the cycle time of machining in which a multi-edged tool is used, even when one cutting edge of the multi-edged tool reaches the end of its service life.
[0007] The problem is solved by a numerical control unit with the features of claim 1.
[0008] One aspect of the present disclosure relates to a numerical control unit (10) for a machine tool (20) that machines a workpiece using a multi-edged tool including a plurality of cutting edges of different specifications. The numerical control unit (10) includes: a tool information memory (200) that stores cutting edge type numbers in conjunction with tool type numbers, the cutting edge type numbers identifying the cutting edge types and the tool type numbers identifying the tool types of the tool;a tool type-cutting type selection command decoding unit (111) that pre-retrieves a plurality of blocks contained in a machining program (30), decodes a tool type selection command for selecting one of the tool types from the plurality of pre-retrieved blocks and / or a cutting type selection command for selecting one of the cutting types from the plurality of pre-retrieved blocks, and generates internal information including the tool type selection command and / or the cutting type selection command that was decoded;and a tool selection unit (120) that selects a tool to minimize the number of tool changes during execution, based on at least the plurality of pre-called blocks, based on remaining lifetimes of the cutting edges stored on a cutting-edge basis in the tool information memory (200), and the internal information generated by the tool type cutting type selection command decoding unit (111).
[0009] According to this aspect, the cycle time of the machining process, in which a multi-edged tool is used, can be controlled even when one cutting edge of the multi-edged tool reaches the end of its service life. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a functional block diagram showing an example of a functional configuration of a numerical control unit according to one embodiment; Fig. Figure 2 shows an example of a tool cutting data table; Fig. 3A is a diagram showing an example of a multi-edged tool; Fig. 3B is a diagram showing an example of a multi-edged tool; Fig. 3C is a diagram showing an example of a multi-edged tool; Fig. Figure 4 shows an example of an editing program; Fig. Figure 5 is a flowchart showing a numerical control (NC) command decoding process performed by the numerical control unit; Fig. Figure 6 is a flowchart detailing the NC command decoding process in step S2, as shown in Fig. 5, represents; Fig. 7 is a flowchart that details a main decoding process in step S24, shown in Fig. 6, represents; Fig. Figure 8 is a flowchart detailing a tool type-cutting type selection command-save process in step S41, shown in Fig. 7, represents; Fig. Figure 9 is a flowchart detailing a successor block read detection process in step S43, shown in Fig. 7, represents; Fig. 10 is a flowchart showing the continuation of the successor block read determination process from Fig. 9 represents; Fig. Figure 11 is a flowchart that illustrates the NC command execution process performed by the numerical control unit; Fig. Figure 12 is a flowchart detailing a tool selection process in step S110, shown in Fig. 11, represents; Fig. Figure 13 is a flowchart that illustrates the continuation of the tool selection process from Fig. 12 represents; Fig. Figure 14 is a flowchart that illustrates the continuation of the tool selection process from Fig. 12 represents; Fig. Figure 15 is a flowchart that details a tool selection process (1) in step S208, shown in Fig. 13, represents; and Fig. Figure 16 is a flowchart that details a tool selection process (2) in step S212, shown in Fig. 14, represents. DETAILED DESCRIPTION OF THE INVENTION<Ausführungsform>
[0010] First, the outlines of the present embodiment are described. In the present embodiment, a numerical control unit (NCU) retrieves a plurality of blocks contained in a machining program and decodes a tool type selection command for choosing a tool type from the plurality of pre-called blocks and a cutter type selection command for choosing a cutter type from the plurality of pre-called blocks. The NCU generates internal information, including the decoded tool type selection command and cutter type selection command. The NCU selects a tool that minimizes the tool change frequency during the execution of at least the plurality of pre-called blocks, based on cutter remaining lifetimes stored in a tool information memory using a cutter-to-cut basis and the generated internal information.
[0011] In this way, the present embodiment can achieve the goal of "controlling the machining cycle time in which a multi-edged tool is used, even when one cutting edge of the multi-edged tool reaches the end of its service life".
[0012] The outlines of the present embodiment are as above.
[0013] Next, a configuration of the present embodiment will be described in detail with reference to the accompanying drawings.
[0014] Fig. Figure 1 is a functional block diagram showing an example of a functional configuration of a numerical control unit according to the embodiment.
[0015] The numerical control unit 10 and a machine tool 20 can be directly connected to each other via interfaces (not shown). The numerical control unit 10 and the machine tool 20 can also be connected to each other via a network (not shown), such as a local area network (LAN) or the internet. In this case, the numerical control unit 10 and the machine tool 20 include a communication unit (not shown) to communicate with each other over such a connection.
[0016] The numerical control unit 10 is a numerical control unit known to those skilled in the art and generates operating commands based on control information and sends the generated operating commands to the machine tool 20. In this way, the numerical control unit 10 controls the operation of the machine tool 20. If the machine tool 20 is a robot or the like, the numerical control unit 10 could, for example, be a robot controller.
[0017] The control objective of the numerical control 10 is not limited to the machine tool 20 and a robot. The numerical control unit 10 is applicable in a wide range of general industrial machines. These industrial machines include a variety of machines such as machine tools, industrial robots, service robots, forging presses, and injection molding machines.
[0018] As in Fig. As shown in Figure 1, the numerical control unit 10 comprises a control unit 100 and a tool information memory 200. The control unit 100 includes an NC command decoding unit 110, a tool selection unit 120, a tool replacement execution unit 130, a tool compensation unit 140, and a pulse distribution unit 150. The NC command decoding unit 110 includes a tool type cutting type selection command decoding unit 111. <werkzeuginformationsspeicher>
[0019] The tool information memory 200 consists of a solid-state drive (SSD), a hard disk drive (HDD), or the like. The tool information memory 200 stores a tool cutting edge data table 210.
[0020] The tool cutting data table 210 consists of a list of tool information, for example, about the tools selectable for machine tool 20. Additionally, if the tools are multi-edged, tool cutting data table 210 registers cutting edge numbers, each associated with the cutting edge of a multi-edged tool. This ensures a space where information can be stored on a cutting edge-to-cutting basis. Specifically, cutting edges that are identical in all cutting attributes (machining application, material, amount of tool nose radius compensation, etc.) are assigned the same cutting edge number, and tool cutting data table 210 registers the cutting edges associated with that same cutting edge number on a cutting edge-to-cutting basis.
[0021] Regarding tools other than multi-edged tools, the tool information memory 200 is equivalent in configuration to the conventional tool information memory, since no cutting number is registered.
[0022] Fig. Figure 2 shows an example of the tool cutting data table 210. As in Fig. As shown in Figure 2, the tool cutting data table 210 has a memory area for storing the tool numbers assigned in the order of registration, preset tool type numbers, each indicating a tool type, cutting numbers assigned to the respective cutting edges of each multi-edged tool, cutting type numbers, each indicating the cutting type of each cutting edge, and remaining service life (number of remaining available usage times).
[0023] The tool cutting data table 210 can have a memory area for storing, for example, a tool position offset amount for each tool (e.g., in the case of a turning tool), a tool length compensation amount (e.g., in the case of a milling tool), and an amount of tool nose radius compensation.
[0024] As previously described, the tool cutting data table 210 can store the data elements assigned to tool numbers "1" through "7" in the order of registration. Furthermore, tool cutting data table 210 stores the data elements assigned to tool type numbers such as "100", where the tool type numbers are pre-configured for the tool types.
[0025] The tools designated with tool numbers "1" to "3" are assigned to tool type number "100". This means that tools designated with the same tool number "1" to "3" are of the same type.
[0026] Furthermore, the tool cutting data table 210 stores the tools designated with tool numbers "1" to "5" along with the cutting edge numbers "1" to "3" assigned to each tool. This indicates that each of the tools designated with tool numbers "1" to "5" is a multi-edged tool with three cutting edges. On the other hand, the tools designated with tool numbers "1" to "3" are assigned tool type number "100", the tool designated with tool number "4" is assigned tool type number "101", and the tool designated with tool number "5" is assigned tool type number "110". Thus, these tools are of different tool types.This means that it is indicated that the tools designated with tool numbers “1” to “3”, the tool designated with tool number “4” and the tool designated with tool number “5” are multi-edged tools of different types.
[0027] Fig. 3A to 3C are diagrams, each showing an example of a multi-edged tool.
[0028] Fig. Figure 3A shows a multi-edged tool with tool number "1", "2", or "3" and tool type number "100". The multi-edged tool with tool type number "100" has a roughening cutting edge as cutting edge number "1", a semi-finishing cutting edge as cutting edge number "2", and a finishing cutting edge as cutting edge number "3". Thus, roughening, semi-finishing, and finishing can be performed continuously by rotating the B-axis multi-edged tool around the Y-axis. The cutting edges with cutting numbers "1" through "3" are pre-assigned to cutting type numbers "11" through "13".
[0029] Fig. Figure 3B shows a multi-edged tool with tool number "4" and tool type number "101". The multi-edged tool with tool type number "101" has the same function as the multi-edged tool shown in Fig. 3A is shown, but differs in tool size. Due to the difference in size, the multi-edged tool is made of Fig. 3B assigned the tool type number “101”, which differs from the tool type number of the multi-edged tool from Fig. 3A is.
[0030] Fig. Figure 3C shows a multi-edged tool with tool number "5" and tool type number "110". The multi-edged tool with tool type number "110" is equipped with a straight cutting tool as cutting number "1", a right-hand cutting tool as cutting number "2", and a left-hand cutting tool as cutting number "3". Thus, straight turning, right-hand turning, and left-hand turning can be performed continuously by rotating the B-axis multi-edged tool. Fig. 3C is performed around the Y-axis. The cutting edges with cutting numbers "1" to "3" are pre-assigned to cutting type numbers "15" to "17".
[0031] As can be seen in the tool cutting data table 210, the cutting type numbers “11” to “13” are stored in conjunction with cutting numbers “1” to “3” of each of the tools of tool numbers “1” to “4”, and the cutting type numbers “15” to “17” are stored in conjunction with the cutting numbers “1” to “3” of each of the tools of tool number “5”.
[0032] Tools with tool numbers "6" and "7" are not assigned a cutting number, meaning they are different from the multi-edged tool. For example, tool number "6" is a grooving tool assigned to tool type number "200", while tool number "7" is a parting tool assigned to tool type number "210". Therefore, in tool cutting data table 210, the cutting number cell and the cutting type number cell for tool numbers "6" and "7" are empty.
[0033] Furthermore, the tool cutting data table 210 stores the remaining service life (number of available usage times) of each tool or cutting edge. For example, the remaining service life (number of available usage times) in tool cutting data table 210 is set as the maximum number of available usage times of each cutting edge or tool as an initial value at the time of tool replacement or the like, and 1 is subtracted from the initial value each time the cutting edge or tool is used. Referring to the cutting edges of the multi-edged tool with tool number "3", which are stored in tool cutting data table 210 of the Fig. For items listed as number 2, the remaining service life (number of available usage times) of cutting edge number "3" is "0". This indicates that the cutting edge of cutting edge number "3" has reached the end of its service life.
[0034] Note that it is conceivable to count the life (number of uses) from 0 in increments of 1. In this case, the numerical control unit 10 can determine whether a cutting edge or tool has reached the end of its life by determining whether the life (number of uses) has reached the maximum number of available uses. Alternatively, the cumulative operating hours of a tool can be used as the life (number of uses). In this case, the numerical control unit 10 can determine whether a tool has reached the end of its life by determining whether the tool's cumulative operating hours have reached a predetermined duration that has been set in advance. <Steuereinheit 100>
[0035] The control unit 100 has a CPU, ROM, RAM, CMOS memory, and similar components capable of communicating with each other via buses. These components are familiar to experts.
[0036] The CPU is a processor for controlling the entire numerical control unit 10. The CPU reads system programs and application programs stored in ROM via the bus and controls the entire numerical control unit 10 according to these programs. Thus, as in Fig. Figure 1 shows the control unit 100 designed to implement the functions of the NC command decoding unit 110, the tool selection unit 120, the tool replacement execution unit 130, the tool compensation unit 140, and the pulse distribution unit 150. The RAM stores various data such as temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown) and is designed as non-volatile memory, which retains its memory state even when the power supply to the numerical control unit 10 is switched off.
[0037] For example, the NC command decoding unit 110 acquires a machining program 30 that was generated by an external device such as a CAD / CAM device and analyzes the acquired machining program 30.
[0038] The tool type-cutting type selection command decoding unit 111 retrieves a multitude of blocks contained in the machining program 30 and decodes a tool type selection command to choose a tool type from the multitude of pre-retrieved blocks and / or a cutting type selection command to choose a cutting type from the multitude of pre-retrieved blocks. The tool type-cutting type selection command decoding unit 111 generates internal information including the decoded tool type selection command and / or the decoded cutting type selection command.
[0039] Fig. Figure 4 shows an example of the editing program 30.
[0040] The editing program 30, which is in Fig. Figure 4 shows a program with blocks assigned sequence numbers N1 to N60. The block with sequence number N1 selects the cutting edge described above, which is assigned to cutting edge type number "11". The block with sequence number N2 replaces an existing tool with a tool selected by the tool selection unit 120, as described later, or changes an existing cutting edge to one selected by the tool selection unit 120. The block with sequence number N3 positions a cutting edge indicator axis of the selected cutting edge with cutting edge type number "11". The block with sequence number N4 applies a compensation amount that is distributed according to an angle of the selected cutting edge.
[0041] Block N10 selects the cutting edge of cutting type number "12" described above. Block N11 changes the current cutting edge to the selected cutting edge of cutting type number "12". Block N12 positions a cutting-indicating axis of the selected cutting edge of cutting type number "12". Block N20 selects the tool of tool number "200" described above. Block N21 replaces the current tool with the selected tool of tool type number "200".
[0042] Block N30 selects the tool with tool type number "100" and the cutting edge with cutting edge type number "11" as described above. Block N31 replaces the current tool with the selected tool with tool type number "100". Block N32 positions a cutting edge indicator axis of the selected cutting edge with cutting edge type number "11". Block N40 selects the cutting edge with cutting edge type number "12". Block N41 changes the current cutting edge to the selected cutting edge with cutting edge type number "12". Block N42 positions a cutting edge indicator axis of the selected cutting edge with cutting edge type number "12". Block N50 selects the cutting edge with cutting edge type number "13". Block N51 changes the current cutting edge to the selected cutting edge with cutting edge type number "13".Block N52 positions a cutting-indicating axis for the selected cutting edge of cutting edge type number "13". Block N60 selects the tool of tool number "210". Block N61 replaces the current tool with the selected tool of tool type number "210". Then, block "M30" terminates machining program 30.
[0043] The tool type cutting type selection command decoding unit 111, for example, calls from the in Fig. In the machining program 30 shown in Figure 4, a set of blocks up to the block with sequence number N20 or N60 is retrieved, which includes only the tool type selection command (i.e., the block that selects a tool other than the multi-edged tool). Specifically, the tool type-cutting type selection command decoding unit 111 first retrieves the blocks with sequence numbers N1 to N20. The tool type-cutting type selection command decoding unit 111 then extracts from the pre-retrieved blocks the blocks with sequence numbers N1, N10, and N20 that include at least one tool type selection command or one cutting type selection command. The block with sequence number N1 includes only the cutting type selection command, which indicates the cutting type number "11".Therefore, the tool type-cutting type selection command decoding unit 111 captures "0" as data for the tool type, named by the tool type selection command, indicating the absence of a tool type selection command in the first T[1] of a field table T. On the other hand, the tool type-cutting type selection command decoding unit 111 captures "11" in the first P[1] of a field table P as data for the cutting type, named by the cutting type selection command. Hereinafter, the field table T will also be referred to as "tool type T" and the field table P will also be referred to as "cutting type P".
[0044] Next, the tool type cutting type selection command decoding unit 111 detects "0" in the second tool type T[2] and "12" in the second cutting type P[2] in the block of sequence number N10. In the block of sequence number N20, which only includes the tool type selection command indicating the tool type number "200", the tool type cutting type selection command decoding unit 111 detects "200" in the third tool type T[3] and "0", which does not indicate a cutting type selection command in the third cutting type P[3].
[0045] In the blocks of sequence numbers N1 to N20, the tool type cutting type selection command decoding unit 111 generates the following internal information: T[1]=0,P[1]="11"; T[2]=0,P[2]="12"; and T[3]="200",P[3]="0".
[0046] The tool type cutting type selection command decoding unit 111 outputs the generated internal information to the tool selection unit 120, which will be described later.
[0047] Then, the tool type cutting type selection command decoding unit 111 retrieves the blocks of sequence numbers N30 to N60 of the machining program 30. At this time, the tool type cutting type selection command decoding unit 111 can initialize the field tables T and P.
[0048] As in the case of blocks with sequence numbers N1 to N20, the tool type cutting type selection command decoding unit 111 generates the following internal information in blocks with sequence numbers N30 to N60: T[1]="100',P[1]="11"; T[2]="0",P[2]="12"; T[3]="0",P[3]="13"; and T[4]="210",P[4]="0".
[0049] The tool type cutting type selection command decoding unit 111 outputs the generated internal information to the tool selection unit 120, which will be described later.
[0050] The tool selection unit 120 selects a tool that minimizes the frequency of tool changes during the execution of at least the plurality of pre-called blocks, based on the remaining lifetimes of the cutting edges stored on a cutting-edge basis in the tool information memory 200 and the internal information generated by the tool type cutting type selection command decoding unit 111.
[0051] In particular, the tool selection unit 200 selects a multi-edged tool, except when a current tool needs to be replaced with a tool other than the multi-edged tool, so that a series of machining operations can be performed with different cutting edges of the same multi-edged tool without the need for tool changes, while taking advantage of the properties of the multi-edged tool.
[0052] In other words, based on the internal information resulting from the decoding of the machining program 30, the tool selection unit 120 determines whether the multiple cutting edges of each multi-edged tool can be used continuously for machining and selects a multi-edged tool with which the desired machining operation can be performed without the need for tool changes and whose cutting edges will not reach the end of their service life during machining. In this way, the numerical control unit 10 can minimize the frequency of tool changes and thus control the cycle time.
[0053] Especially if the blocks of sequence numbers N1 to N20 are from the in Fig. The tool selection unit 120 receives the following internal information from the tool type cutting type selection command decoding unit 111, as shown in section 4 of the machining program 30: T[1]=0,P[1]="11"; T[2]=0,P[2]="12"; and T[3]="200",P[3]="0".
[0054] Based on the cutting tool data table 210, which is in Fig. As shown in Figure 2, and based on the internal information indicating the cutting edge numbers as P[1] = "11" and P[2] = "12", the tool selection unit 120 determines that selecting one of the multi-edged tools with tool numbers "1" to "4", each having cutting edges with cutting edge type numbers "11" and "12", allows the desired machining operation to be performed continuously without the need for tool changes. The tool selection unit 120 selects a tool in which the remaining service life (the number of available usage times) of each cutting edge will not become negative after the tool is used, i.e., after subtracting 1.
[0055] Referring to the in Fig. In machining program 30, shown here, the cutting edge type number "13" is not specified in the blocks of sequence numbers N1 to N20. To execute the blocks of sequence numbers N1 to N11 of machining program 30 accordingly, the tool selection unit 120 selects the multi-edged tool with tool number "3" in which the cutting edge with cutting edge type number "13" has reached the end of its service life. In this way, the numerical control unit 10 can control the cycle time of the machining operation in which the multi-edged tool is used, even though one cutting edge of the multi-edged tool has reached the end of its service life. Furthermore, the numerical control unit 10 can fully utilize each cutting edge of the multi-edged tool without wasting any of it, thus enabling cost reduction.
[0056] The tool selection unit 120 continues to select the tool with tool number "6" in block N20 of the machining program 30, based on internal information indicating the tool type as T[3] = "200". The tool selection unit 120 then transmits the selection results to the tool replacement execution unit 130 and the tool compensation unit 140.
[0057] In this way, the tool selection unit 120 implements the fewest tool changes, i.e., during the execution of blocks of sequence numbers N1 to N20 of the machining program 30, a single change from tool number “3” to tool number “6” is performed, thereby controlling the cycle time.
[0058] When the blocks of sequence numbers N30 to N60 of the machining program 30 have been pre-called, the tool selection unit 120 next receives the following as internal information from the tool type cutting type selection command decoding unit 111: T[1]="100",P[1]="11"; T[2]=“0”,P[2]=“12”; T[3]=“0”,P[3]=“13”; and T[4]=“210”,P[4]=“0”.
[0059] Based on the tool cutting data table 210 and the internal information indicating the cutting edge types as P[1] = "11", P[2] = "12", and P[3] = "13", the tool selection unit 120 determines that selecting one of the multi-edged tools with tool numbers "1" to "4", each having cutting edges with cutting edge type numbers "11" to "13", will allow the desired machining operation to be performed continuously without the need for tool replacement. In this case, the tool selection unit 120 selects the multi-edged tool with tool number "2", whose three cutting edges have the shortest remaining tool life (the fewest available usage times).
[0060] The tool selection unit 120 then selects the tool with tool number "7" in block N60 of machining program 30, based on internal information indicating the tool type as T[4] = "210". The tool selection unit 120 then transmits the selection results to the tool replacement execution unit 130 and the tool compensation unit 140.
[0061] In this way, the tool selection unit 120 implements the tool change twice as the minimized number of times, i.e., a change from tool number “6” to tool number “2” and a change from tool number “2” to tool number “7” during the execution of the blocks of the sequence numbers N30 to N60 of the machining program 30, thereby controlling the cycle time.
[0062] The tool replacement execution unit 130 calculates an axis movement amount that is necessary to replace a current tool with the tool selected by the tool selection unit 120.
[0063] The tool compensation unit 140 calculates a tool compensation amount by using a position offset amount (e.g. in the case of a turning tool) / a tool length compensation amount (e.g. in the case of a milling tool) and an amount of the tool nose radius compensation of the tool and cutting edge selected by the tool selection unit 120.
[0064] The pulse distribution unit 150 outputs a pulse of each axis movement of the calculated tool exchange / tool compensation to each servo motor (not shown) contained in the machine tool 20. <NC-Befehl-Dekodierungsprozess der numerischen Steuereinheit 10>
[0065] Next, the operation relating to an NC command decoding process of the numerical control unit 10 according to the embodiment is described.
[0066] Fig. Figure 5 is a flowchart illustrating the NC command decoding process performed by the numerical control unit 10. The flow shown provides a tool change request or a cutting tool change request based on the decoding result for an NC command execution process described later. The flow shown is executed repeatedly each time the numerical control unit 10 acquires the machining program 30.
[0067] In step S1, the NC command decoding unit 110 reads a block of the machining program 30.
[0068] In step S2, the NC command decoding unit 110 performs the NC command decoding process on the machining program 30, which was read in step S1. The detailed flow of the NC command decoding process is described later.
[0069] In step S3, the NC command decoding unit 110 determines whether the machining program 30 has been read to the end of the program. If the reading to the end of the program is complete, the process ends. Conversely, if the reading to the end of the process is not yet complete, the process returns to step S1.
[0070] Fig. Figure 6 is a flowchart detailing the NC command decoding process in step S2, which is in Fig. Figure 5 is shown. In the flowchart of the Fig. 6. If the NC command in a read block is a tool type selection command and / or a cutting type selection command, the reading of the blocks of the machining program 30 continues until all necessary information for determining a tool to be selected has been obtained. In the flowchart of the Fig. 6. Steps S21 to S29 form a process flow that is carried out by the tool type cutting type selection command decoding unit 111.
[0071] In step S21, the tool type / cutting type selection command decoding unit 111 determines whether the NC command enclosed in the block read in step S1 is a tool type selection command, a cutting type selection command, or another type of command. If the NC command is a tool type selection command and / or a cutting type selection command, the process proceeds to step S22. If the NC command is neither a tool type selection command nor a cutting type selection command, the NC command decoding process ends, and the process proceeds to step S3.
[0072] In step S22, the tool type-cutting type-selection command decoding unit 111 initializes a variable n that specifies the number of blocks containing the tool type selection command and / or the cutting type selection command.
[0073] In step S23, the tool type cutting type selection command decoding unit 111 increments the variable n by 1.
[0074] In step S24, the tool type cutting type selection command decoding unit 111 performs a main decoding process. A detailed flow of the main decoding process is described later.
[0075] In step S25, the tool type cutting type selection command decoding unit 111 determines whether the subsequent block is to be read, based on the result of the main decoding process in step S24. If it is determined that the subsequent block is to be read (i.e., retrieved), the process proceeds to step S26. Conversely, the flow of the NC command decoding process ends if it is determined that the subsequent block is not to be read, and the process continues to step S3. Fig. 5.
[0076] In step S26, the tool type cutting type selection command decoding unit 111 reads the following block of the machining program 30.
[0077] In step S27, the tool type cutting type selection command decoding unit 111 determines whether the block read in step S26 is the end of the program, a masking buffer, or a block of another type. If the block is the end of the program or a masking buffer, the process proceeds to step S29. Conversely, if the block is neither the end of the program nor a masking buffer, the process proceeds to step S28.
[0078] In step S28, the tool type / cutting type selection command decoding unit 111 determines whether the NC command contained in the block read in step S26 is a tool type selection command and / or a cutting type selection command, or another type of command. If the command is a tool type selection command and / or a cutting type selection command, the process returns to step S23. Conversely, if the command is neither a tool type selection command nor a cutting type selection command, the process proceeds to step S26.
[0079] In step S29, the tool type cutting type selection command decoding unit 111 increments the variable n by 1 and issues a tool exchange request to the tool selection unit 120. The flow of the NC command decoding process then ends, and the process proceeds to step S3. An NC command execution process, performed by the numerical control unit 10 when the tool type cutting type selection command decoding unit 111 issues a tool exchange request to the tool selection unit 120, is described later.
[0080] Fig. 7 is a flowchart that details the main decoding process of the in Fig. Step S24 is shown in step 6. In the flowchart of the Fig. 7. Steps S41 to S43 form a process flow that is carried out by the tool type cutting type selection command decoding unit 111.
[0081] In step S41, the tool type-cutting type selection command decoding unit 111 performs a tool type-cutting type selection command storage process. The tool type-cutting type selection command storage process is described later.
[0082] In step S42, the tool type cutting type selection command decoding unit 111 performs an alarm process. For example, the tool type cutting type selection command decoding unit 111 can issue an alarm and stop reading the blocks if no cutting type selection command is supplied, even though a multi-edged tool was selected according to a tool type selection command. Alternatively, the tool type cutting type selection command decoding unit 111 can issue an alarm and stop reading the blocks if a cutting type selection command is supplied, even though a tool other than the multi-edged tool was selected according to a tool type selection command.
[0083] When the tool type cutting type selection command decoding unit 111 issues an alarm, the numeric control unit 10 can display the contents of the alarm supplied to the numeric control unit 10 on a display device (not shown) such as a liquid crystal display. Such displays allow the user of the numeric control unit 10 to understand the contents of the alarm and to address the alarm.
[0084] In step S43, the tool type cutting type selection command decoding unit 111 performs a follow-up block read detection process. Then the main decoding process flow ends and the process continues to the next step. Fig. Step S25 is shown in step 6. The subsequent block read and confirmation process will be described later.
[0085] Fig. 8 is a flowchart that details the tool type-cutting type selection command-saving process of the in Fig. Step S41 is shown in step 7. In the flowchart of the Fig. 8 Steps S51 to S56 form a process flow that is carried out by the tool type cutting type selection command decoding unit 111.
[0086] In step S51, the tool type cutting type selection command decoding unit 111 determines whether the nth read block contains a cutting type selection command. If no cutting type selection command is present, the process proceeds to step S52. Conversely, if a cutting type selection command is present, the process proceeds to step S53.
[0087] In step S52, the tool type cutting type selection command decoding unit 111 stores “0” in the nth cutting type P[n].
[0088] In step S53, the tool type cutting type selection command decoding unit 111 stores the cutting number named by the cutting type selection command of the nth read block in cutting type P[n].
[0089] In step S54, the tool type cutting type selection command decoding unit 111 determines whether the nth read block contains a tool type selection command. If no tool type selection command is present, the process proceeds to step S55. Conversely, if a tool type selection command is present, the process proceeds to step S56.
[0090] In step S55, the tool type-cutting type selection command decoding unit 111 stores "0" in the nth tool type T[n]. Then the flow of the tool type-cutting type selection command storage process ends and the process continues to step S42. Fig. 7.
[0091] In step S56, the tool type-cutting type selection command decoding unit 111 stores the tool type number, named by the tool type selection command of the nth block, in tool type T[n]. Then the flow of the tool type-cutting type selection command storage process ends and the process continues to step S42. Fig. 7.
[0092] Fig. 9 and Fig. 10 are flowcharts that detail the follow-up block read detection process of the in Fig. Step 7, shown, represents S43. In the flowcharts from Fig. 9 and Fig. 10. Steps S61 to S73 form a process flow that is carried out by the tool type cutting type selection command decoding unit 111.
[0093] In step S61, the tool type cutting type selection command decoding unit 111 determines whether the nth cutting type P[n] is "0". If the nth cutting type is "0", the process proceeds to step S62. Conversely, if the cutting type P[n] is not "0", the process proceeds to step S63.
[0094] In step S62, the tool type cutting type selection command decoding unit 111 sends a tool exchange request to the tool selection unit 120 and determines that the subsequent block cannot be read. The tool type cutting type selection command decoding unit 111 then terminates the flow of the subsequent block read determination process, and the process proceeds to step S25, which is in Fig. 6 is shown.
[0095] As previously described for block N1 of machining program 30, the blocks up to sequence number N20 are pre-called, and consequently, it is determined that P[3] = "0". Accordingly, the tool type / cutting type selection command decoding unit 111 sends a tool exchange request to the tool selection unit 120. The tool type / cutting type selection command decoding unit 111 then determines that none of the blocks following the block with sequence number N30 are readable. Thus, in step S25, the tool type / cutting type selection command decoding unit 111... Fig. 6. The following block is not read. Then the flow of the NC command decoding process ends, which in Fig. 6 is shown and the process continues to step S3, which is in Fig. 5 is shown. In other words, the numerical control unit 10 starts the NC command decoding process with the block of sequence number N2 and the subsequent blocks of the machining program 30, which is shown in Fig. 4 is shown.
[0096] In the block of sequence number N30 of processing program 30, which is in Fig. As shown in Figure 4, the blocks up to sequence number N60 are pre-called, and consequently, it is determined that P[4] = "0". Accordingly, the tool type-cutting type selection command decoding unit 111 determines not to read the following block. Thus, in step S25, the tool type-cutting type selection command decoding unit 111... Fig. 6. The following block is not read. Then the flow of the NC command decoding process ends, which in Fig. 6 is shown and the process continues to step S3, which is in Fig. 5 is shown.
[0097] In step S63, the tool type cutting type selection command decoding unit 111 determines whether a tool change is unnecessary, while determining that only the cutting edge of cutting type P[n] needs to be changed. If the tool change is unnecessary, the process proceeds to step S64. On the other hand, the process proceeds to step S65, which in Fig. 10 is produced when tool exchange is necessary.
[0098] In step S64, the tool type cutting type selection command decoding unit 111 sends a cutting change request to the tool selection unit 120 and determines that it does not read the subsequent block. The tool type cutting type selection command decoding unit 111 then terminates the flow of the NC command decoding process, and the process continues to step S25, which is in Fig. 6 is shown.
[0099] In the block of sequence number N10 of processing program 30, which is in Fig. As shown in Figure 4, for example, the tool type-cutting type selection command decoding unit 111 generates internal information indicating that the cutting type P[1] = "12". In this case, the block of sequence number N10 has no other tool type selection command "than the currently used tool", and the tool of tool number "3", which was selected in the block of sequence number N1, has the named cutting edge of cutting type P[1], whose lifetime will not expire. Therefore, based on the internal information indicating that P[1] = "12", the tool type-cutting type selection command decoding unit 111 sends a cutting edge change request to the tool selection unit 120, requesting that the current cutting edge be changed to the cutting edge of cutting number "2" of the tool of tool number "3".
[0100] In the Fig. In step S65, shown in Figure 10, the tool type cutting type selection command decoding unit 111 determines whether the tool type number of the first tool type T[1] is "0". If the tool type number of the first tool type T[1] is "0", the process proceeds to step S68. Conversely, if the tool type number of the first tool type T[1] is not "0", the process proceeds to step S66.
[0101] In step S66, the tool type cutting type selection command decoding unit 111 determines whether the tool type identified by tool type T[n] differs from the tool type identified by tool type T[1]. If the tool types identified by tool type T[n] and tool type T[1] are different, the process proceeds to step S72. Conversely, if the tool types identified by tool type T[n] and tool type T[1] are the same, the process proceeds to step S67.
[0102] In step S67, the tool type cutting type selection command decoding unit 111 specifies the multi-edged tool indicated by the tool type number of tool type T[1] as the selection target.
[0103] In step S68, the tool type cutting type selection command decoding unit 111 determines whether the tool type number of the nth tool type T[n] is "0" (i.e., whether no tool type selection command is included). If the tool type number of tool type T[n] is "0", the process proceeds to step S69. Conversely, if the tool type number of tool type T[n] is not "0", the process proceeds to step S70.
[0104] In step S69, if no tool type selection command is included, the tool type cutting type selection command decoding unit 111 sets all multi-edged tools as selection targets.
[0105] In step S70, the tool type cutting type selection command decoding unit 111 specifies the multi-edged tool(s) indicated by the tool type number of tool type T[n] as the selection target(s).
[0106] In step S71, the tool type-cutting type selection command decoding unit 111 determines whether the cutting types P[1] to P[n] belong to a tool as the selection target specified in step S67, S69, or S70. If the cutting types P[1] to P[n] belong to a tool, the process proceeds to step S73. Conversely, if the cutting types P[1] to P[n] do not belong to a tool, the process proceeds to step S72.
[0107] In step S72, the tool type cutting type selection command decoding unit 111 sends a tool exchange request to the tool selection unit 120 and determines not to read the subsequent block. The flow of the subsequent block read determination process then ends, and the process continues to step S25, which is in Fig. 6 is shown.
[0108] In step S73, the tool type cutting type selection command decoding unit 111 sets T[1] = T[n] and determines to read the next block. Then the flow of the next block read determination process ends and the process continues to step S25, which is in Fig. 6 is shown.
[0109] For example, it is assumed that the internal information displays the following: T[1]=“0”,P[1]=“11”; T[2]=“0”,P[2]=“12”; T[3]=“0”,P[3]=“13”; T[4]=“100”,P[4]=“11”; T[5]=“0”,P[5]=“12”;and T[6]=“101”,P[6]=“11”.
[0110] In this case, when the tool type cutting type selection command decoding unit 111 reads the tool type T[4], it determines that the cutting types P[1] to P[4] belong to one tool in step S71, and the process proceeds to step S73. In step S73, it is determined that T[1] = T[4], and consequently, it is set to T[1] = "100".
[0111] On the other hand, when tool type cutting type selection command decoding unit 111 is read in step S66, it determines that tool types T[1] and T[6] are different from each other and the process continues to step S72. <NC-Befehl-Ausführungsprozess der numerischen Steuereinheit 10>
[0112] Next, an operation relating to an NC command execution process of the numerical control unit 10 according to the embodiment is described.
[0113] Fig. Figure 11 is a flowchart illustrating the NC command execution process performed by the numerical control unit 10. The flow shown is executed repeatedly each time a tool change request or a cutting tool change request is processed by the NC command decoding process, which is located in Fig. 5 is shown, and will be provided.
[0114] In step S100, the tool selection unit 120 determines whether a tool change request or a cutting change request has been received from the tool type / cutting type selection command decoding unit 111. If a tool change request or a cutting change request has been received, the process continues to step S110. Conversely, the flow of the NC command execution process ends if no tool change request or cutting change request has been received.
[0115] In step S110, the tool selection unit 120 performs a tool selection process. The tool selection process is described later.
[0116] In step S120, the tool replacement execution unit 130 calculates an axis movement amount required to replace a current tool with a tool selected by the tool selection unit 120 in step S110.
[0117] In step S130, the tool compensation unit 140 calculates a tool compensation amount using the position offset amount (e.g., in the case of a turning tool) / the tool length compensation amount (e.g., in the case of a milling tool) and an amount of the tool nose radius compensation of the tool and cutting edge selected in step S110.
[0118] In step S140, the pulse distribution unit 150 outputs a pulse for each axis movement of the tool exchange / tool compensation, calculated in steps S120 and S130, to each servo motor (not shown) contained in the machine tool 20.
[0119] Fig. 12, Fig. 13 to Fig. 14 are flowcharts that detail the tool selection process in step S110, which is in Fig. As shown in section 11, the flowchart of the Fig. 12, Fig. 13 to Fig. 14 Steps S201 to S212 form a process flow that is carried out by the tool selection unit 120.
[0120] In step S201, the tool selection unit 120 determines whether the request received in step S110 is a tool exchange request. If the request is a tool exchange request, the process continues to step S202. Conversely, if the request is not a tool exchange request but a cutting tool change request, the currently selected tool should be used, and the process continues to step S120, thus implementing the cutting tool change.
[0121] In step S202, the tool selection unit 120 determines whether the variable n is greater than 2 to ascertain whether three or more tool selection commands and cutting selection commands have been decoded. If the variable n is greater than 2, the process proceeds to step S209, which is in Fig. 14 is shown. On the other hand, the step continues to step S203 if the variable n is 2 or less.
[0122] In step S203, the tool selection unit 120 determines whether the cutting type P[1] is "0". If the cutting type P[1] is "0", the process continues to step S204. On the other hand, the process continues to step S205, which in Fig. 13 is shown when the cutting type P[1] is not “0”.
[0123] In step S204, the tool selection unit 120 selects a tool with the shortest remaining tool life among the tools of cutting type T[1]. Then the flow of the tool selection process of step S110 ends and the process continues to step S120, which in Fig. 11 is shown.
[0124] Note that “with the shortest remaining lifetime” excludes the case where the end of life has been reached, i.e., the remaining lifetime is “0”.
[0125] In the Fig. In step S205, shown in Figure 13, the tool selection unit 120 determines whether the tool type T[1] is "0" (i.e., whether no tool selection command is available). If the tool type T[1] is "0" (i.e., if no tool selection command is available), the process proceeds to step S206. Conversely, if the tool type T[1] is not "0" (i.e., a tool selection command is available), the process proceeds to step S207.
[0126] In step S206, the tool selection unit 120 defines all multi-edged tools as selection targets.
[0127] In step S207, the tool selection unit 120 specifies the multi-edged tool of tool type T[1] as a selection target.
[0128] In step S208, the tool selection unit 120 performs a tool selection process (1). The tool selection process (1) is described later.
[0129] In the Fig. In step S209, shown in Figure 14, the tool selection unit 120 determines whether the tool type T[1] is "0" (i.e., whether no tool selection command is provided). If the tool type T[1] is "0" (i.e., if no tool selection command is available), the process proceeds to step S210. Conversely, if the tool type T[1] is not "0" (i.e., if a tool selection command is available), the process proceeds to step S211.
[0130] In step S210, the tool selection unit defines 120 multi-edged tools as selection targets.
[0131] In step S211, the tool selection unit 120 specifies the multi-edged tool of tool type T[1] as a selection target.
[0132] In step S212, the tool selection unit 120 performs a tool selection process (2). The tool selection process (2) is described later.
[0133] Fig. Figure 15 is a flowchart that details the tool selection process (1) in step S208, shown in Fig. 13, represents. In the flowchart of the Fig. 15. Steps S301 to S306 form a process flow that is carried out by the tool selection unit 120.
[0134] In step S301, the tool selection unit 120 determines whether a multi-edged tool has a cutting edge of type P[1] with a remaining service life. If a multi-edged tool has a cutting edge of type P[1] with a remaining service life, the process continues to step S303. Conversely, if no multi-edged tool has a cutting edge of type P[1] with a remaining service life, the process continues to step S302.
[0135] In step S302, the tool selection unit 120 performs an alarm output process to inform the user of the numerical control unit 10 that no multi-edged tool has a cutting edge of type P[1] with a remaining service life. The flow of the tool selection process (1) from step S208 ends and the process continues to step S120, which in Fig. 11 is shown.
[0136] In this case, the tool dispensing unit 120 can, for example, cause the display unit (not shown) of the numerical control unit 10 to display an alarm indicating that no multi-edged tool has a cutting edge of type P[1] with a remaining service life. In response to such an alarm display, the user of the numerical control unit 10 can replace the current tool with a new multi-edged tool with a cutting edge of type P[1].
[0137] In step S303, the tool selection unit 120 determines whether a multi-edged tool has a cutting edge that is not of cutting edge type P[1] and has reached the end of its service life. If a multi-edged tool has a cutting edge that is not of cutting edge type P[1] and has reached the end of its service life, the process continues to step S305. Conversely, if no multi-edged tool has a cutting edge that is not of cutting edge type P[1] and has reached the end of its service life, the process continues to step S304.
[0138] In step S304, the tool selection unit 120 selects a tool with the shortest remaining service life of the cutting edge of cutting edge type P[1].
[0139] In step S305, the tool selection unit 120 selects a tool with the highest number of cutting edges that have reached the end of their service life.
[0140] If two or more tools have the same highest number of cutting edges that have reached the end of their service life, the tool selection unit 120 can select a tool where the remaining service life of the cutting edge of cutting edge type P[1] is the shortest.
[0141] In step S306, the tool selection unit 120 selects a tool with the smallest sum of the remaining service life of all cutting edges if two or more tools were selected in step S304 or S305. If two or more selectable tools were found in step S306, the tool selection unit 120 selects the tool with the lowest tool number. The tool selection process flow (1) from step S208 then ends, and the process continues to step S120, which is in Fig. 11 is shown.
[0142] Fig. 16 is a flowchart that details the tool selection process (2) in step S212, which is in Fig. As shown in section 14, this represents the flowchart of the... Fig. 16. Steps S401 to S407 form a process flow that is carried out by the tool selection unit 120.
[0143] In step S401, the tool selection unit 120 counts the number of cutting edges that are marked with cutting edge types P[1] to P[n-1] and the number of times each cutting edge is marked.
[0144] In step S402, the tool selection unit 120 subtracts the respective number of times the determination was counted in step S401 from the remaining life of the corresponding cutting edge for all cutting edges of type P[1] to P[n-1] to determine if any of the tools have a specific cutting edge whose remaining life does not become negative. If any of the tools have a specific cutting edge whose remaining life does not become negative, the process continues to step S404. Conversely, if none of the tools have a specific cutting edge whose remaining life does not become negative, i.e., if the remaining lives of the cutting edges of the specified cutting edge types become negative in all tools, the process continues to step S403.
[0145] In step S403, the tool selection unit 120 performs an alarm output process to inform the user of the numerical control unit 10 that the remaining service lives of the cutting edges of the specified cutting edge type in all tools are becoming negative. Then the flow of the tool selection process (2) from step S212 ends and the process continues to step S120, which in Fig. 11 is shown.
[0146] In this case, for example, the tool selection unit 120 can cause the display device (not shown) of the numerical control unit 10 to display an alarm indicating that the cutting edges of the specified cutting type are becoming negative in all tools. In response to the display of this alarm, the user of the numerical control unit 10 can replace a currently used tool with a multi-edged tool that has cutting edges of the specified cutting type.
[0147] In step S404, the tool selection unit 120 determines whether any of the multi-edged tools have a cutting edge that is not of cutting edge type P[1] to P[n-1] and has reached the end of its service life. If any of the multi-edged tools have a cutting edge that has reached the end of its service life, the process continues to step S406. Conversely, if none of the multi-edged tools have a cutting edge that has reached the end of its service life, the process continues to step S405.
[0148] In step S405, the tool selection unit 120 subtracts the respective number of times of the determination from the remaining service life of the cutting edge, which is determined by a member of the cutting edge types P[1] to P[n-1], and selects a tool with a cutting edge whose remaining service life is the shortest.
[0149] In step S406, the tool selection unit 120 selects a tool with the highest number of cutting edges that have reached the end of their service life.
[0150] If two or more tools have the same highest number of cutting edges, the tool selection unit 120 can subtract the number of times the remaining life of the cutting edge determined by cutting edge type P[1] to P[n-1] from the number of times the remaining life has been determined and can select a tool with a cutting edge whose remaining life is the shortest.
[0151] In step S407, the tool selection unit 120 selects a tool in which the sum of the remaining service lives of all cutting edges is the smallest, if two or more tools were selected in step S405 or S406. If two or more selectable tools are found in step S407, the tool selection unit 120 selects a tool identified by the lowest tool number. The flow of the tool selection process (2) from step S212 then ends, and the process continues to step S120, which is in Fig. 11 is shown.
[0152] Through the processes described above, the numerical control unit 10 of the present embodiment retrieves the plurality of blocks contained in the machining program 30 and decodes the tool type selection command to select a tool type from the plurality of pre-recalled blocks. The numerical control unit 10 generates internal information, including the preferred tool type selection command and / or the preferred cutting edge type selection command. Based on the remaining cutting edge lifetimes stored in the tool information memory on a cutting edge-to-cutting basis and the generated internal information, the numerical control unit 10 selects a tool that minimizes the tool change frequency during the execution of at least the plurality of pre-recalled blocks.
[0153] In this way, the numerical control unit 10 can control the cycle time of the machining process in which a multi-edged tool is used, even if one of the cutting edges of the multi-edged tool reaches the end of its service life.
[0154] In a case where two or more multi-edged tools of the same tool type number are available, and the available multi-edged tools have a cutting edge that is not determined during execution by the at least plurality of pre-called blocks, the numerical control unit 10 preferably uses a multi-edged tool in which the undefined cutting edge has reached the end of its service life. Thus, the numerical control unit 10 can fully utilize each cutting edge of the multi-edged tool without wasting any, thereby enabling a reduction in costs.
[0155] One embodiment has been described above. However, the numerical control unit 10 is not limited to the embodiment described above and includes modifications and improvements to such an extent that the objective of the present disclosure can be achieved.
[0156] In the embodiment described above, the NC command decoding process is shown in Fig. 5 and the NC command execution process, shown in Fig. 11 processes were carried out consecutively. However, this is a non-limiting example and these processes can also be carried out in parallel.
[0157] Each of the functions of the numerical control unit 10 according to the embodiment described above can be implemented by hardware, software, or a combination thereof. Implementation by software means that a computer reads and executes a program for the implementation.
[0158] The program can be stored on and made available to a computer on various types of non-temporary computer-readable media. Non-temporary computer-readable media include various types of content recording media (physical storage media). Examples of non-temporary computer-readable media include magnetic recording media (e.g., a flexible disk, magnetic tape, hard disk), magnetic-optical recording media (e.g., a magnetic-optical disk), read-only memory (CD-ROM), CD-R, CD-R / W, and semiconductor memory (e.g., a mask ROM, a programmable ROM (PROM), an erasable PROM (EPROM), a flash ROM, and RAM). The program can be made available to the computer via various types of temporary computer-readable media.Examples of transient computer-readable media include an electrical signal, an optical signal, and an electromagnetic wave. The transient computer-readable medium can be used to provide a program to the computer via a wired communication link, such as a wire or optical fiber, or via wireless communication.
[0159] Steps for describing the program to be recorded on a recording medium include not only processes that are executed in time sequences according to the respective order, but also processes that are executed in parallel or individually and not necessarily in time sequences.
[0160] In other words, the numerical control unit of the present disclosure comprises various embodiments with the following features: (1) The numerical control unit 10 of the present disclosure is intended for a machine tool 20 which machines a workpiece using a multi-edged tool including a plurality of cutting edges of different specifications, the numerical control unit 10 comprising: a tool information memory 200 which stores cutting edge type numbers in conjunction with tool type numbers, the cutting edge type numbers identifying cutting edge types of the cutting edges and the tool type numbers identifying the tool types of the tools;a tool type-cutting type selection command decoding unit 111 which retrieves a plurality of blocks contained in the machining program 30, decodes a tool type selection command to select one of the tool types from the plurality of pre-retrieved blocks and / or a cutting type selection command to select one of the cutting types from the plurality of pre-retrieved blocks and generates internal information including the tool type selection command and / or the cutting type selection command that was decoded;and a tool selection unit 120 that selects a tool in which the frequency of tool exchanges during the execution of at least the plurality of pre-called blocks is minimized, based on the remaining lifetimes of the cutting edges stored on a cutting-edge basis in the tool information memory 200 and the internal information generated by the tool type cutting type selection command decoding unit 111.
[0161] The numerical control unit 10 can control a machining cycle time in which the multi-edged tool is used, even when one of the cutting edges of the multi-edged tool reaches the end of its service life.
[0162] (2) In the numerical control unit 10 according to (1) the tool selection unit 120 may, when it is determined that a machining operation other than continuous machining which uses all the cutting edges of the multi-edged tool is to be carried out, preferentially select a tool with a cutting edge that has reached the end of its service life.
[0163] With this feature, the numerical control unit 10 can fully utilize each cutting edge of the multi-edged tool without wasting it, thus enabling a reduction in costs.
[0164] (3) In the numerical control unit 10 according to (1) or (2) the multi-edged tool may be a rotary tool.
[0165] With this feature, the numerical control unit 10 exerts the same effect as in (1) or (2).
[0166] (4) In the numerical control unit 10 according to (1) or (2) the multi-edged tool may be a milling tool.
[0167] With this feature, the numerical control unit 10 exerts the same effect as in (1) or (2). EXPLANATION OF REFERENCE SYMBOLS 10 Numerical control unit 111 Tool Type Cutting Type Selection Command Decoding Unit 120 Tool Selection Unit 200 tool information storage< / werkzeuginformationsspeicher>
Claims
A numerical control unit (10) for a machine tool (20) that machines a workpiece using a multi-edged tool including a plurality of cutting edges of different specifications, the numerical control unit (10) comprising: a tool information memory (200) that stores cutting edge type numbers in conjunction with tool type numbers, the cutting edge type numbers identifying cutting edge types of the cutting edges and the tool type numbers identifying the tool types of the tools;a tool type-cutting type selection command decoding unit (111) that retrieves a plurality of blocks contained in the machining program (30), decodes a tool type selection command for selecting one of the tool types from the plurality of pre-retrieved blocks and / or a cutting type selection command for selecting one of the cutting types from the plurality of pre-retrieved blocks, and generates internal information including the tool type selection command and / or the cutting type selection command that was decoded;and a tool selection unit (120) that selects a tool where the frequency of tool exchanges during the execution of at least the plurality of pre-called blocks is minimized, based on the remaining lifetimes of the cutting edges stored on a cutting-edge basis in the tool information memory (200) and the internal information generated by the tool type-cutting-type selection command decoding unit (111). The numerical control unit (10) according to claim 1, wherein the tool selection unit (120), when it is determined that a machining operation other than continuous machining which uses all cutting edges of the multi-edged tool is to be carried out, preferably selects a tool with a cutting edge that has reached the end of its service life. The numerical control unit (10) according to claim 1 or 2, wherein the multi-edged tool is a rotary tool. The numerical control unit (10) according to claim 1 or 2, wherein the multi-edged tool is a milling tool.
Citation Information
Patent Citations
Numerical control with tool life control function taking into account changes in machining conditions
DE102016006955A1
Life management device for multi-edged tool
JP1995314290A
JP000H07314290A
