Movement command generation apparatus and computer-readable storage medium
The movement command generation device uses intermediate data unaffected by machining condition changes to expedite command generation, addressing the inefficiency in existing systems by reducing analysis time when conditions are adjusted.
Patent Information
- Application Number
- PCT/JP2024/024524
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-08
- Publication Date
- 2026-01-15
AI Technical Summary
Existing movement command generating devices in numerical control systems require significant time to analyze machining programs when machining conditions are repeatedly adjusted, as they need to re-analyze the program under new conditions.
A movement command generation device that includes a movement command generation unit, machining condition acquisition unit, and reuse data acquisition unit, which utilizes previously generated intermediate data that is not affected by changes in machining conditions to expedite the generation of movement commands.
This approach significantly reduces the time required to analyze machining programs by reusing intermediate data, thereby improving efficiency and reducing processing time when machining conditions are adjusted.
Smart Images

Figure JP2024024524_15012026_PF_FP_ABST
Abstract
Description
Movement command generating device and computer-readable storage medium
[0001] The present disclosure relates to a movement command generating device and a computer-readable storage medium.
[0002] A movement command generating device such as a numerical control device or a simulation device for a numerical control device reads one block of a machining program, analyzes the program contents specified in that block, and performs interpolation and acceleration / deceleration processing to generate a movement command. For example, see Patent Document 1.
[0003] Japanese Patent Application Publication No. 7-234714
[0004] In a movement command generating device such as a numerical control device or a simulation device for a numerical control device, when adjusting machining conditions, the same program may be repeatedly executed while changing the machining conditions.
[0005] When the machining conditions are changed, the movement command generating device analyzes the machining program again under the changed machining conditions and generates movement commands. When adjusting the machining conditions, the same machining program is repeatedly executed while changing the machining conditions, so analyzing the machining program can take time.
[0006] In the field of numerical control, it is desirable to reduce the time required to analyze a machining program.
[0007] A control device according to one aspect of the present disclosure includes a movement command generation unit that performs a plurality of ordered generation processes to generate a movement command for a motor, a machining condition acquisition unit that acquires machining conditions, and a reuse data acquisition unit that acquires the output of a generation process that precedes a generation process that is affected by changes in machining conditions as reusable intermediate data, and the movement command generation unit uses the reusable intermediate data to perform processing subsequent to the generation process that is affected by changes in the machining conditions, thereby generating a movement command for the motor.
[0008] 1 is a block diagram of a move command generating device. FIG. 2 is a diagram explaining a generation process of a move command. FIG. 3 is a flowchart explaining the operation of the move command generating device. FIG. 4 is a block diagram of move command generating devices of Examples 1 and 2. FIG. 5 is a diagram explaining block information, machining conditions, and intermediate data. FIG. 6 is a flowchart explaining the operation of the move command generating device of Example 1. FIG. 7 is a diagram explaining the generation process of Example 1. FIG. 8 is a diagram showing an example of data stored in an intermediate data storage unit. FIG. 9 is a diagram explaining the acquisition of reuse data corresponding to two blocks. FIG. 10 is a diagram explaining the storage of intermediate data when a machining program is executed under different machining conditions. FIG. 11 is a diagram explaining the acquisition of reuse data when the time constant of acceleration / deceleration after interpolation and the speed command are changed. FIG. 12 is a screen for accepting designation of a block for saving intermediate data. FIG. 13 is a hardware configuration diagram of a move command generating device.
[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following description, components having the same or similar functions will be denoted by the same reference numerals. Duplicate descriptions of those components may be omitted.
[0010] In this application, "based on XX" means "based on at least XX," and includes cases where it is based on other elements in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX" is any element (for example, any information).
[0011] 1 is a block diagram of a movement command generating device 100. The movement command generating device 100 includes a movement command generating unit 1, a machining condition acquiring unit 2, and a reuse data acquiring unit 3.
[0012] The movement command generator 1 analyzes the machining program and generates movement commands for the machine tool. The generation of movement commands consists of multiple processes. In each process, data on movement commands during machining (called intermediate data) is generated. The movement command generator inputs the machining program. The multiple generation processes are ordered, with the output of the previous generation process becoming the input for the next generation process, and the output of the final generation process becoming the movement command.
[0013] The process of generating a movement command for block "G01X10." is explained in Fig. 2. The generation of a movement command for this block consists of three processes: (1) block end point calculation, (2) movement command calculation (no acceleration / deceleration), and (3) acceleration / deceleration.
[0014] When calculating a movement command (without acceleration or deceleration), the line segment connecting the end points is interpolated based on the coordinates of the end points, the feed rate, the control period, etc.
[0015] In the calculation of the movement command (with acceleration / deceleration), the speed of each axis is calculated from the interpolated coordinates, and the speed of each axis is accelerated or decelerated with reference to the time constant.
[0016] The machining condition acquisition unit 2 accepts changes to machining conditions from the user. Machining conditions include cutting speed, rotation speed, feed rate, and depth of cut. Machining conditions vary depending on the material of the workpiece and cutting tool (tool) and the shape to be cut. The user repeatedly runs the same machining program while changing the conditions to set the optimal machining conditions.
[0017] The reuse data acquisition unit 3 acquires reusable data from previously generated intermediate data. Previously generated intermediate data is, for example, the output of three generation processes performed during the generation of movement commands: (1) block end point calculation, (2) movement command calculation (without acceleration / deceleration), and (3) movement command calculation (with acceleration / deceleration).
[0018] The reusable data acquisition unit 3 determines which intermediate data can be reused based on the changes in the machining conditions. Reusable intermediate data is the output of a generation process that is not affected by changes in the machining conditions among multiple generation processes. In the example of Figure 2, the intermediate data output from (2) Movement command calculation (without acceleration / deceleration) is determined to be reusable data.
[0019] If reusable intermediate data exists, the move command generator 1 uses the reusable data to execute the process that is affected by the change in machining conditions and subsequent processes. In the example of Fig. 2, the move command calculation (with acceleration / deceleration) in (3) is affected by the change in the time constant, so the move command calculation (with acceleration / deceleration) in (3) is executed using the intermediate data previously output from the move command calculation (without acceleration / deceleration) in (2).
[0020] As described above, when setting machining conditions, the same machining program is repeatedly executed. When a movement command is generated the first time, intermediate data is created. From the second time onwards, it is determined which process the changed conditions will affect, and the intermediate data output in the previous process of that process is reused.
[0021] When there are multiple pieces of reusable intermediate data, the intermediate data output from the subsequent generation process is identified as reusable intermediate data. In the case of Figure 2, when the outputs from the two generation processes of (1) block end point calculation and (2) movement command calculation (without acceleration / deceleration) are identified as reusable intermediate data, the intermediate data output from (2) movement command calculation (without acceleration / deceleration) is identified as reusable intermediate data.
[0022] 3 is a flowchart illustrating the operation of the movement command generating device 100. This operation assumes that a movement command has been generated and intermediate data has been saved. The user changes the machining conditions. The machining condition acquisition unit 2 accepts the change in machining conditions (step S1). The reuse data acquisition unit 3 determines the processes that will be affected by the change in conditions (step S2).
[0023] The reuse data acquisition unit 3 determines that intermediate data output from a previous process affected by the change in conditions is reusable data (step S3). If it is determined in step S3 that multiple intermediate data are reusable (step S4; Yes), the reuse data acquisition unit 3 identifies intermediate data output from a subsequent generation process as reusable data (step S5). If only one intermediate data is determined to be reusable (step S4; No), the process proceeds directly to step S6.
[0024] The motion command generator 1 uses the reuse data to perform the process that is affected by the change in conditions and subsequent processes, and generates a motion command (step S6).The generated motion command is output to the servo motor.
[0025] The movement command generation device 100 of this embodiment is a movement command generation device 100 that generates movement commands by executing a plurality of ordered processes, and is capable of acquiring intermediate data output from each process. When the conditions of the machining program are changed, the intermediate data output from a generation process preceding the process affected by the change is used as reuse data, thereby shortening the time required to analyze the machining program. When adjusting the machining program n times, (n times x calculation time of the movement command) is required, but this time can be shortened.
[0026] [Example 1] Next, an example of the move command generating device 100 will be described. Fig. 4 is a block diagram of the move command generating device 100. The move command generating device 100 includes a move command generating unit 1, a machining condition acquiring unit 2, a reuse data acquiring unit 3, a program analyzing unit 4, an intermediate data managing unit 5, and an intermediate data saving unit 6.
[0027] The program analysis unit 4 analyzes the machining program and extracts block information. Analysis of the machining program is the first process in generating movement commands. The program analysis unit 4 analyzes the machining program and extracts block information. The block information includes at least the G code of the block, block end points (start and end points of each axis), and speed commands. The block information is information related to axis movement commands. The axis movement commands mainly include rapid traverse, linear interpolation, and circular interpolation. The axis movement commands also include cycle commands, etc.
[0028] The G-code and speed command may be specified within a block, or may be inherited from the previous block as a modal. The program analysis unit 4 extracts the block information inherited from the previous block from the modal.
[0029] The machining condition acquisition unit 2 acquires machining conditions specified by the user. The machining conditions are numerical values specified to allow the machine tool to perform appropriate machining. The machining conditions include cutting speed, rotation speed, feed rate, depth of cut, etc.
[0030] The intermediate data storage unit 6 stores intermediate data of machining programs that have been executed in the past. The intermediate data storage unit 6 stores the intermediate data, block information, and machining conditions in association with each other. Multiple intermediate data are stored for one block. The intermediate data corresponds to the generation process. Note that the block information and the machining conditions may partially overlap. For example, if a machining speed is specified as a machining condition, a speed command is included in both the block information and the machining conditions. In this case, the speed command in the machining conditions takes priority.
[0031] The reuse data acquisition unit 3 identifies reusable intermediate data from the intermediate data stored in the intermediate data storage unit 6. Reusable intermediate data can be identified from matches in block information and differences in processing conditions.
[0032] The reuse data acquisition unit 3 first determines whether the block information of the intermediate data stored in the intermediate data storage unit 6 is the same as the block information extracted from the machining program. Then, the reuse data acquisition unit 3 identifies reusable intermediate data (reuse data) based on the difference between the machining conditions of the intermediate data with the same block information and the machining conditions acquired by the machining condition acquisition unit 2.
[0033] A method for identifying reusable data will be described with reference to FIG. 5. The block information in FIG. 5 is assumed to be extracted from block "G01X10." When the machining program is analyzed, the following block information can be extracted from block "G01X10.": G-code "01," X-start point "0," X-end point "10," and speed command "1000." The speed command for block "G01X10." is modally inherited from the previous block "G01X0F1000." In addition, the start point of the movement command is inherited from the end point of the previous block "G01X0F1000."
[0034] The machining conditions acquired by the machining condition acquisition unit 2 are t (time constant) "16" and override "100." Although not shown, other machining conditions such as feed speed, number of rotations, feed amount, and cutting depth may also be set.
[0035] The reuse data acquisition unit 3 examines the block information of the intermediate data stored in the intermediate data storage unit 6 one by one, and determines whether it is identical to the block information (G-code "01", X-start point "0", X-end point "10", speed command "1000") extracted from the block of the machining program. The reuse data acquisition unit 3 then determines differences in machining conditions (time constant, override, feed rate, type of interpolation, etc.). The reuse data acquisition unit 3 identifies reusable intermediate data (reuse data) based on the differences in machining conditions. Specifically, the reuse data acquisition unit 3 determines the differences in machining conditions, determines the generation processes affected by the differences, and identifies the intermediate data output from the generation process preceding the generation process affected by the differences as reuse data.
[0036] The intermediate data management unit 5 manages the saving / deletion of intermediate data. The intermediate data management unit 5 restricts the saving of intermediate data and deletes unnecessary intermediate data. The intermediate data management unit 5 reduces the volume of intermediate data and improves the efficiency of searching for intermediate data. The intermediate data management unit 5 will be described in Example 2.
[0037] 6 is a flowchart illustrating the operation of the movement command generating device 100 of the first embodiment. The user changes the machining conditions. The machining condition acquisition unit 2 accepts the specification of the machining conditions (step S11). The reuse data acquisition unit 3 determines whether intermediate data with the same block information exists (step S12). If intermediate data with the same block information exists (step S13; Yes), the reuse data acquisition unit 3 determines the difference in machining conditions with the intermediate data with the same block information (step S14). If intermediate data with the same block information does not exist (step S13; No), the intermediate data is not reused and the movement command generation process is executed from the beginning.
[0038] The reuse data acquisition unit 3 determines which generation processes are affected by the difference in processing conditions (step S15). The reuse data acquisition unit 3 identifies intermediate data output from a generation process preceding the generation process affected by the difference as reusable intermediate data (reuse data) (step S16).
[0039] The movement command generator 1 uses the reused data to perform the process that is affected by the difference and subsequent processes, and generates a movement command (step S17).The generated movement command is output to the servo motor.
[0040] A specific example of a procedure for identifying reusable intermediate data will be described with reference to FIGS. 7 to 11 . As a premise, consider the task of adjusting the time constant t for post-interpolation acceleration / deceleration. The user measures the cycle time of the machining program "O100" and inspects the machined surface while changing the value of the time constant t to determine optimal machining conditions. The movement command generator 1 generates movement commands for the servo motor from blocks of the machining program. As shown in FIG. 7 , the generation of movement commands in Example 1 includes five generation processes: (1) block end point calculation, (2) movement command calculation (without acceleration / deceleration), (3) movement command calculation (pre-interpolation acceleration / deceleration), (4) movement command calculation (post-interpolation acceleration / deceleration), and (5) movement command calculation (after position error correction).
[0041] First, when the machining program "O100" is executed for the first time, the intermediate data storage unit 6 is empty. Here, the process of first executing the machining program and generating intermediate data will be explained. As a premise, it is assumed that the machining program "O100" is executed with an initial time constant value of t = 16. The movement command generation unit generates intermediate data and movement commands through the generation processes (1) to (5).
[0042] Intermediate data is saved for each block of the machining program. Block information and machining conditions are linked to the intermediate data. Block information includes block end points (start and end points), interpolation type (cutting feed, rapid feed, etc.), and speed commands.
[0043] Intermediate data is generated for each movement command generation process. In this example, intermediate data output from three generation processes, (2) movement command calculation (no acceleration / deceleration), (3) movement command calculation (pre-interpolation acceleration / deceleration), and (4) movement command calculation (post-interpolation acceleration / deceleration), is saved.
[0044] Here, the time constant t for post-interpolation acceleration / deceleration is changed to "20," and the machining program "O100" is executed again. In this case, since the machining program "O100" has already been executed, it is assumed that the intermediate data has been saved. The reuse data acquisition unit 3 first searches for block information saved in the intermediate data storage unit 6 at the start of execution of each block of the machining program, and searches for intermediate data with the same block information. For example, if the block is "G01X10.F1000," in the table of FIG. 8, the block information of the intermediate data in the first row is the same as the block information of the machining program, but the block information of the intermediate data in the second row (G code "00," X start point "10," X end point "15," speed command "3000") is not the same. The reuse data acquisition unit 3 determines the difference between the intermediate data with the same block information and the changed machining conditions. Here, the post-interpolation acceleration / deceleration time constant t in the intermediate data storage unit 6 is "16", and the changed post-interpolation acceleration / deceleration time constant is "20", so the difference is the "post-interpolation acceleration / deceleration time constant".
[0045] If the difference is the time constant of post-interpolation acceleration / deceleration, and the interpolation type is cutting feed, the (4) movement command calculation (post-interpolation acceleration / deceleration) is affected by the change in the time constant, so the reuse data acquisition unit 3 identifies the output from the (3) movement command calculation (pre-interpolation acceleration / deceleration) as reuse data. Also, if the interpolation type is fast forward, the movement command calculation (after position error correction) is affected by the time constant, so the reuse data acquisition unit 3 identifies the output from the (4) movement command calculation (post-interpolation acceleration / deceleration) as reuse data.
[0046] The reuse data acquisition unit 3 inputs the identified reuse data to the movement command generation unit 1. The movement command generation unit 1 uses the reuse data to perform generation processes that are affected by changes in the time constant and subsequent processes to generate movement commands. For example, if the output of (3) Movement command calculation (with pre-interpolation acceleration / deceleration) is identified as reuse data, the reuse data is used to perform generation processes that are affected by changes in the time constant and subsequent processes to calculate (4) Movement command (with post-interpolation acceleration / deceleration).
[0047] FIG. 9 illustrates the acquisition of reusable data corresponding to two blocks. Here, we consider the execution of the machining program "O100" with a post-interpolation acceleration / deceleration time constant t of "20." The reusable data acquisition unit 3 compares the block information of each block in the machining program with the block information of each block in the machining program stored in the intermediate data storage unit 6. The block information for block "G01X10.F1000" is identical to the block information in the first row of FIG. 9. The machining conditions differ in time constant t. Because the time constant t is different and the G-code is a cutting command "01," the reusable data acquisition unit 3 identifies the output of (3) the move command (pre-interpolation acceleration / deceleration) as reusable data and inputs the reusable data to the move command generation unit 1. The move command generation unit 1 then performs the generation process from (4) move command calculation (post-interpolation acceleration / deceleration).
[0048] The block information for block "G00X25.F3000" is the same as the block information on the second line. The machining conditions differ in the time constant t. Because the time constant t is different and the G-code is fast traverse "00," the reuse data acquisition unit 3 identifies the output of (4) Movement command calculation (acceleration / deceleration after interpolation) as reuse data and inputs the reuse data to the movement command generation unit 1. The movement command generation unit 1 then performs generation processing of (5) Movement command calculation (after position error correction).
[0049] The intermediate data storage unit 6 stores intermediate data generated with the time constant t set to "20." Fig. 10 shows the intermediate data generated when the block "G10X10.F1000" is executed. In the example of Fig. 10, the data up to (3) the movement command (pre-interpolation acceleration / deceleration) is not affected by the change in the time constant, so it is copied as is (or a link is created), and the intermediate data for (4) the movement command (post-interpolation acceleration / deceleration) is newly stored.
[0050] Next, referring to FIG. 11 , we will explain how to acquire reuse data when the post-interpolation acceleration / deceleration time constant t and the speed command F (including the speed override) are changed. Here, we consider the case where the same machining program "O100" is executed after changing the post-interpolation acceleration / deceleration time constant t to "20" and the speed command F to "1000." When starting execution of each block of the machining program, the reuse data acquisition unit 3 searches for block information stored in the intermediate data storage unit 6 and searches for intermediate data with the same block information. Note that, since the speed command has been changed as a machining condition this time, the speed command is excluded from the block information. In the example of FIG. 11 , the block information on the first and second lines is the same as the block information for the current block. Comparing the current machining conditions with the machining conditions of the stored intermediate data, the machining conditions on the first line differ in both the time constant t and the speed command F, while the machining conditions on the second line differ only in the time constant t. The reuse data acquisition unit 3 identifies the intermediate data on the second line as reuse data. The reuse data acquisition unit 3 inputs the output of the movement command (acceleration / deceleration before interpolation) of the intermediate data in the second row as reuse data to the movement command generation unit 1. The movement command generation unit 1 uses the reuse data to perform processing from movement command calculation (acceleration / deceleration after interpolation) onwards.
[0051] The movement command generating device 100 of the first embodiment extracts block information from a machining program, and determines differences in machining conditions between intermediate data with the same block information. Then, based on the differences in machining conditions, it identifies which process's output data can be used as reusable data.
[0052] The content of the block information varies depending on the machining conditions. In the first embodiment, the machining conditions include a speed command. Therefore, the speed command is excluded from the block information.
[0053] [Example 2] In Example 2, the intermediate data management unit 5 will be described. Intermediate data is data that links together blocks of a machining program, block information, machining conditions when the blocks are executed, and movement commands (execution data) generated from the blocks. If intermediate data is continuously saved, the storage capacity for intermediate data will become enormous. To prevent this, the following functions are added: (1) to specify blocks to be saved in advance, and (2) to delete unnecessary intermediate data.
[0054] Figure 12 shows an example of the screen when (1) specifying a block to save intermediate data. The screen displays the machining program. The screen allows you to specify a block to save intermediate data. In the example of Figure 12, the block "G01Z0.2F764" is selected.
[0055] By specifying a block, the increase in capacity is suppressed and the efficiency of searching intermediate data is improved.
[0056] (2) The function of deleting unnecessary intermediate data deletes unnecessary intermediate data according to certain conditions. The conditions are not particularly limited. Intermediate data specified by the user may be deleted. A time may be set in advance, and intermediate data that is not used for a predetermined time may be automatically deleted. Intermediate data may also be deleted when the execution of the machining program is completed.
[0057] Furthermore, in order to improve search efficiency, the intermediate data management unit 5 may be provided with a function (3) that, when a machining program to be executed is designated, narrows the search range to the intermediate data generated from that machining program. Narrowing the search range eliminates the need to search the entire intermediate data storage unit 6, thereby improving search efficiency.
[0058] The hardware configuration of a movement command generation device 100 to which the present disclosure is applied will be described below. Fig. 13 is a hardware configuration diagram of the movement command generation device 100. As shown in Fig. 13, the movement command generation device 100 includes a CPU 111 that controls the entire movement command generation device 100, a ROM 112 that records programs and data, and a RAM 113 for temporarily expanding data, and the CPU 111 reads out a system program recorded in the ROM 112 via a bus.
[0059] The nonvolatile memory 114 is backed up by, for example, a battery (not shown), and the stored state is maintained even when the power of the motion command generation device 100 is turned off. The nonvolatile memory 114 stores various data such as programs read from the external device 120 via the interfaces 115, 118, and 119 and operation inputs input via the input device 20. The nonvolatile memory 114 may store programs and data for executing the motion command generation device 100 of this embodiment.
[0060] The interface 115 is an interface for connecting the movement command generating device 100 to an external device 120 such as an adapter. Programs, various parameters, etc. are loaded from the external device 120. The interface 118 is an interface for connecting the movement command generating device 100 to a display device 30 such as a liquid crystal display. The display device 30 displays various data loaded into memory, data obtained as a result of executing programs, etc. The interface 119 is an interface for connecting the movement command generating device 100 to an input device 20 such as a keyboard or pointing device. The input device 20 passes commands, data, etc. based on operations by an operator to the CPU 111 via the interface 119.
[0061] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the gist of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.
[0062] The following are supplementary notes related to embodiments of the present disclosure. (Supplementary Note 1) A movement command generation device (100) includes a movement command generation unit (1) that performs a plurality of ordered generation processes to generate a movement command for a motor, a machining condition acquisition unit (2) that acquires machining conditions, and a reuse data acquisition unit (3) that acquires, as reusable intermediate data, the output of a generation process that precedes a generation process that is affected by a change in the machining conditions. The movement command generation unit (1) uses the reusable intermediate data to perform processes subsequent to the generation process that is affected by the change in the machining conditions, thereby generating a movement command for the motor. (Supplementary Note 2) The movement command generation device (100) includes a program analysis unit (4) that analyzes a machining program and extracts block information that is information related to movement commands, and an intermediate data storage unit (6) that associates intermediate data output from the generation processes with the block information and machining conditions and stores the intermediate data output from the generation processes for each block. The reuse data acquisition unit (3) determines, for blocks with the same block information, a generation process that is affected by a difference in machining conditions, and identifies the output of the generation process that precedes the generation process as reusable intermediate data. (Supplementary Note 3) The block information includes at least block end points and an interpolation type. (Supplementary Note 4) The block information further includes a speed command. (Supplementary Note 5) The interpolation type includes any one of fast forward, linear interpolation, and circular interpolation. (Supplementary Note 6) When there is a plurality of reusable intermediate data, the reuse data acquisition unit (3) identifies the intermediate data output from a subsequent generation process as reusable intermediate data. (Supplementary Note 7) When a speed command is included in the machining conditions, the reuse data acquisition unit (3) determines whether the block information excluding the speed command is identical. (Supplementary Note 8) The reuse data acquisition unit (3) identifies reusable intermediate data based on differences in the interpolation type. (Supplementary Note 9) The movement command generation device (100) includes an intermediate data management unit (5) that, when a machining program to be executed is specified, narrows the search range to the intermediate data generated from the machining program and searches the intermediate data storage unit (6). (Supplementary Note 10) The movement command generating device (100) includes an intermediate data management unit (5) that deletes unnecessary intermediate data from the intermediate data storage unit (6).(Supplementary Note 11) The movement command generation device (100) includes an intermediate data management unit (5) that receives designation of a block for saving intermediate data and causes the intermediate data of the designated block to be saved in an intermediate data saving unit (6). (Supplementary Note 12) A computer-readable storage medium (112, 113, 114) stores instructions for causing one or more processors (111) to perform a plurality of ordered generation processes to generate a movement command for a motor, receive machining conditions, acquire the output of a generation process that precedes a generation process that is affected by changes in the machining conditions as reusable intermediate data, and use the reusable intermediate data to perform processing subsequent to the generation process that is affected by changes in the machining conditions to generate a movement command for a motor.
[0063] REFERENCE SIGNS LIST 100 Movement command generating device 1 Movement command generating unit 2 Machining condition acquiring unit 3 Reusable data acquiring unit 4 Program analyzing unit 5 Intermediate data managing unit 6 Intermediate data saving unit 111 CPU 112 ROM 113 RAM 114 Non-volatile memory
Claims
1. A movement command generation device comprising: a movement command generation unit that performs a plurality of ordered generation processes to generate movement commands for a motor; a machining condition acquisition unit that acquires machining conditions; and a reuse data acquisition unit that acquires the output of a generation process that precedes a generation process that is affected by changes in the machining conditions as reusable intermediate data, wherein the movement command generation unit uses the reusable intermediate data to perform processing subsequent to the generation process that is affected by changes in the machining conditions, and generates movement commands for a motor.
2. A movement command generation device as described in claim 1, comprising: a program analysis unit that analyzes a machining program and extracts block information, which is information related to movement commands; and an intermediate data storage unit that stores intermediate data output from the generation process for each block, linking it to block information and machining conditions; wherein the reusable data acquisition unit determines which generation processes are affected by differences in machining conditions for blocks with the same block information, and identifies the output of a generation process preceding the generation process as reusable intermediate data.
3. The motion command generating device according to claim 2, wherein said block information includes at least block end points and interpolation type.
4. The movement command generating device according to claim 3, wherein said block information further includes a speed command.
5. The movement command generating device according to claim 3, wherein the type of interpolation includes any one of fast forward, linear interpolation, and circular interpolation.
6. The movement command generating device according to claim 1, wherein, when there are multiple pieces of reusable intermediate data, said reusable data acquisition unit identifies intermediate data output from a subsequent generation process as the reusable intermediate data.
7. The movement command generating device according to claim 2, wherein said reuse data acquiring section determines whether block information excluding said speed command is identical when a speed command is included in the machining conditions.
8. The motion command generating device according to claim 2, wherein said reusable data acquisition unit identifies reusable intermediate data based on differences in interpolation types.
9. A movement command generating device according to claim 2, further comprising an intermediate data management unit which, when a machining program to be executed is designated, narrows the search range to intermediate data generated from said machining program and searches the intermediate data storage unit.
10. The movement command generating device according to claim 2, further comprising an intermediate data management section that deletes unnecessary intermediate data from said intermediate data storage section.
11. A movement command generating device according to claim 2, further comprising an intermediate data management section that receives a designation of a block for storing intermediate data and causes the intermediate data of the designated block to be stored in the intermediate data storage section.
12. A computer-readable storage medium storing instructions for causing one or more processors to execute the following process: perform multiple ordered generation processes to generate motor movement commands; accept processing conditions; obtain the output of a generation process that precedes a generation process that is affected by changes in processing conditions as reusable intermediate data; and use the reusable intermediate data to perform processing subsequent to the generation process that is affected by changes in processing conditions, thereby generating motor movement commands.
Citation Information
Patent Citations
Method for preparing tool locus data and computer- readable storage medium storing tool locus preparation program
JP2001147709A
Patternizing method of working specification, cutting condition / cycle time extraction method using patternized information, and its program
JP2004240966A
Numerical control device with acceleration / deceleration setting automatic switch function
JP2017004188A
Control apparatus for machine tool
WO2015097887A1