Machining program display device and control device
The machining program display device enhances machining accuracy by visually identifying and adjusting overlap conditions in machine tools, addressing inefficiencies in conventional systems.
Patent Information
- Application Number
- PCT/JP2024/026637
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional machining programs in machine tools face challenges in distinguishing which blocks perform overlap control and managing overlap conditions efficiently, leading to potential accuracy issues and interference due to large overlap amounts.
A machining program display device that includes an overlap condition determination unit to identify overlapping blocks and a display unit to differentiate them visually, along with an overlap condition change unit to modify these conditions based on operator input.
Facilitates easy identification of overlap control blocks and allows for efficient adjustment of overlap conditions, reducing operational errors and improving machining accuracy by visually distinguishing blocks that perform overlap control.
Smart Images

Figure JP2024026637_29012026_PF_FP_ABST
Abstract
Description
Machining program display device and control device
[0001] The present disclosure relates to a machining program display device and a control device.
[0002] Conventionally, there is a technique for overlapping movements between blocks of a machining program in a machine tool control device. In overlapping between blocks, the operation of the next block starts before the currently executed block reaches its end point. Techniques relating to this type of overlap are described in Patent Document 1 and Patent Document 2.
[0003] Japanese Patent No. 6548830 Japanese Patent Laid-Open No. 2003-271215
[0004] Cycle time can be reduced by overlapping within the set overlap amount. However, if the overlap amount is large, the amount of inner rotation between overlapping blocks will increase, which may result in a deterioration in machining accuracy or interference between the tool and the workpiece.
[0005] Even when a machining program is displayed on a display device, it is difficult to distinguish at a glance which blocks perform overlap control. In order to confirm whether a block performs overlap control or the amount of inner rotation when overlap control is performed, it is necessary to display an adjustment screen separate from the screen displaying the machining program. Therefore, it is difficult to associate the blocks in the machining program that perform overlap control or the blocks for which the amount of inner rotation is to be changed with the overlap-related conditions on the adjustment screen. In terms of making it more efficient to confirm which blocks perform overlap control from the machining program, there is room for improvement in the conventional technology.
[0006] The present disclosure has been made in consideration of the above-mentioned problems, and aims to provide a technology that makes it possible to easily understand blocks for which overlap control is executed from a machining program displayed on a screen.
[0007] The present disclosure relates to a machining program display device that displays a machining program including multiple blocks that specify the operation of a machine tool, and includes an overlap condition determination unit that identifies whether or not the blocks in the machining program overlap based on predetermined overlap conditions, and a machining program display unit that displays the blocks identified by the overlap condition determination unit as overlapping in a display manner different from that of the other blocks in the machining program.
[0008] The present disclosure also provides a control device that includes the machining program display device and an overlap condition change unit that receives overlap condition change information that specifies a change in overlap control conditions for a block that the machining program display unit displays in a manner different from the other blocks of the machining program, and changes the overlap conditions or the machining program based on the overlap condition change information.
[0009] FIG. 1 is a functional block diagram of a control device equipped with a machining program display device according to a first embodiment. FIG. 2 is a graph showing changes in feed rate in the X-axis direction and the Y-axis direction when overlap control is executed. FIG. 3 is a graph showing a tool path when overlap control is executed. FIG. 4 is a table showing a first condition of the overlap condition. FIG. 5 is a table showing a second condition of the overlap condition. FIG. 6 is a table showing the judgment results for the machining program by the overlap condition judgment unit based on the first condition and the second condition. FIG. 7 is a diagram showing an example display of the machining program display unit reflecting the judgment results of the overlap condition judgment unit based on the first condition and the second condition. FIG. 8 is a diagram showing an example of the machining program display unit and an operation unit when condition change information is accepted by the overlap condition change unit. FIG. 9 is a functional block diagram of a machining program display device according to a second embodiment. FIG. 10 is a table showing a third condition of the overlap condition. FIG. 11 is a table showing the judgment results for the machining program by the overlap condition judgment unit based on the first condition, the second condition, and the third condition. FIG. 10 is a diagram showing an example of a display on the machining program display unit that reflects the judgment result of the overlap condition judgment unit based on the first condition, the second condition, and the third condition. FIG. 11 is a functional block diagram of a machining program display device according to a third embodiment. FIG. 12 is a table showing a fourth condition of the overlap condition. FIG. 13 is a table showing the judgment result for the machining program by the overlap condition judgment unit based on the first condition, the second condition, and the fourth condition. FIG. 14 is a diagram showing an example of a display on the machining program display unit that reflects the judgment result of the overlap condition judgment unit based on the first condition, the second condition, and the fourth condition. FIG. 15 is a graph explaining an example of overlap control based on a speed reduction ratio. FIG. 16 is a graph explaining an example of overlap control based on time. FIG. 17 is a graph explaining an example of overlap control based on the distance to the block end point. FIG. 18 is a graph explaining an example of overlap control based on the amount of inner turning.
[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second and subsequent embodiments, the same reference numerals will be used to designate components common to the first and second embodiments, and the description thereof will be omitted as appropriate.
[0011] [First embodiment] Fig. 1 is a functional block diagram of a control device 1 of a machine tool equipped with a machining program display device 10 according to a first embodiment. The control device 1 shown in Fig. 1 is a numerical control device that controls the operation of a tool of the machine tool and a workpiece to be machined. The control device 1 is composed of a computer equipped with a processor such as a CPU (Central Processing Unit), memories such as ROM (Read Only Memory) and RAM (Random Access Memory), a storage device composed of a hard disk drive or the like, and a communication control device.
[0012] A control program for operating the tools and workpieces of the machine tool based on the machining program is installed in the control device 1. The control program works in cooperation with hardware such as the processor, memory, storage device, and communication control device of the control device 1 to perform machining operations based on commands from the machining program.
[0013] Furthermore, the control device 1 can also install an application such as an interference check simulation that checks whether or not interference will occur between the tool and the workpiece before machining begins.
[0014] The control device 1 of this embodiment controls the drive of axes by overlapping movement between blocks based on a machining program containing multiple blocks that specify the operation of the machine tool. A machining program block is a range defined by a ";" attached to the end of a code that commands cutting feed, rapid feed, etc., and is a unit from ";" to ";". In overlap control, execution of the next block begins before the currently executing block reaches its end point.
[0015] An example of overlap control will be described with reference to Figures 2 and 3. Figure 2 is a graph showing changes in feedrate in the X-axis and Y-axis directions when overlap control is being executed. In the graph of Figure 2, the horizontal axis represents time, the vertical axis represents feedrate, the solid line represents the change over time in feedrate in the X-axis direction based on the commands of the current block of the machining program, and the dashed line represents the change over time in feedrate in the Y-axis direction based on the commands of the next block. As shown in Figure 2, acceleration of the feedrate in the Y-axis direction begins before the feedrate in the X-axis direction of the current block reaches 0.
[0016] FIG. 3 is a graph showing the tool path when overlap control is performed. In the graph of FIG. 3, the horizontal axis indicates the position on the X axis, and the vertical axis indicates the position on the Y axis. The solid line in the graph shows the tool path when overlapping occurs, and the dotted line shows the tool path when there is no overlap. When there is no overlap, the tool path moves in the X axis direction and then in the Y axis direction, resulting in a right-angled trajectory. In contrast, when overlapping occurs, the tool path traces an arc-like trajectory that moves more inward than the tool path when there is no overlap. In this way, overlap control causes an inward turn at the corner between blocks. This enables smooth machining operations. Note that in this example, an arc-like trajectory is depicted, but overlap control may also be used to move the tool path diagonally along the inner side.
[0017] The control device 1 of this embodiment is also an overlap control device having a function of changing overlap conditions, and is equipped with a machining program display device 10 and an overlap condition changing unit 11. The overlap control device equipped with the machining program display device 10 and the overlap condition changing unit 11 may be disposed within the numerical control device as in this embodiment, or may be disposed outside the numerical control device and function in conjunction with the numerical control device.
[0018] First, the configuration of the machining program display device 10 that displays a machining program including multiple blocks that specify the operation of the machine tool will be described. The machining program display device 10 of this embodiment includes an overlap condition determination unit 21 and a machining program display unit 22.
[0019] A machining program and overlap conditions are input to the overlap condition determination unit 21. The overlap condition determination unit 21 determines whether or not operations between blocks of a machining program that specifies the operation content of a machine tool are to overlap based on a predetermined overlap condition. The overlap condition determination unit 21 is realized, for example, by cooperation between the processor and memory of the control device 1 and the control program stored in the memory.
[0020] The predetermined overlap condition will be described. The predetermined overlap condition may be a single condition or a combination of multiple conditions. With reference to Figures 4 and 5, an example will be described in which two conditions, a first condition and a second condition, are set as the predetermined overlap condition.
[0021] Fig. 4 is a table showing the first condition of the overlap condition. Fig. 4 shows the first condition for determining whether or not to overlap depending on the type of command described in the machining program. In this example, A, which indicates overlap, is set for the positioning command G00, the cutting command G01, etc. On the other hand, B, which indicates no overlap, is set for the deceleration command G09, the program stop command M00, the optional stop command M01, etc.
[0022] Figure 5 is a table showing the second condition of the overlap condition. Figure 5 shows the second condition for determining whether or not overlap occurs depending on the combination of consecutive blocks in the machining program. In this example, whether or not overlap occurs is set for combinations of a rapid-feed block, a cutting feed block, and a no-movement block. When the block following the cutting feed block is a no-movement block, "b" is set, indicating no overlap, and for other combinations, "a" is set, indicating overlap.
[0023] The overlap condition determination unit 21 ultimately determines whether or not to perform overlap control based on the determination results of the first and second conditions. Fig. 6 is a table showing the determination results for the machining program by the overlap condition determination unit based on the first and second conditions. Fig. 6 shows, for each block, the determination results for the first condition, the determination results for the second condition, the determination results for a combination of the first and second conditions, and the final determination result for the machining program shown in Fig. 1.
[0024] In the case of the machining program shown in Figure 1, the judgment result for the first condition is A, A, B, A, B in the order of block numbers. The judgment result for the second condition is a for the blocks 1-2, 2-3, and 3-4. On the other hand, b for the block 4-5.
[0025] Next, the overlap condition determination unit 21 performs a combined determination of the first and second conditions. In the combined determination of the first and second conditions, a block containing B or b is determined to be B, and all other blocks are determined to be A. The combined determination result is that block numbers 1, 2, and 4 are A, and block numbers 3 and 5 are B.
[0026] The overlap condition determination unit 21 performs a final determination based on the combination determination result to decide whether or not to execute overlap control. In the final determination, a block in which two or more consecutive blocks of A are included in the combination determination is determined to be final A, and a block in which two or less consecutive blocks of A are included is determined to be B. In the final determination, A indicates that overlap control is to be executed, and B indicates that overlap control is not to be executed. Therefore, in the machining program of FIG. 1, overlap control is to be executed between block N10 corresponding to block number 1 and block N11 corresponding to block number 2.
[0027] Next, the machining program display unit 22 will be described. The machining program display unit 22 displays the machining program and information related to the machining program on a screen. The machining program display unit 22 is configured, for example, by a liquid crystal display or an organic EL display. The machining program display unit 22 can display each block of the machining program in different ways depending on the judgment result of the overlap condition judgment unit 21. Note that the machining program display unit 22 is not limited to being configured integrally with the machining program display device 10, and may be configured to be arranged externally.
[0028] 7 is a diagram showing an example of a display on the machining program display unit 22 that reflects the determination result of the overlap condition determination unit 21 based on the first condition and the second condition. The display example in Fig. 7 reflects the final determination result of the overlap condition determination unit 21 for the machining program shown in Fig. 1.
[0029] The machining program display unit 22 displays the two blocks N10 and N11, in which overlap control is executed, in a manner different from the other blocks so that they can be visually distinguished. For example, the machining program display unit 22 displays the numbers and letters in the ranges of each of the blocks N10 and N11 in bold, and displays the numbers and letters in the ranges of each of the blocks N12 to N14 in thin type.
[0030] The change in the display mode by the machining program display unit 22 is not limited to changing the thickness of numbers and characters. The change in the display mode may be a change in the color or font of the numbers and characters to be displayed, or the addition of symbols or figures such as underlining or encircling. In addition, the change in the display mode may be such that text such as "standard" is added to blocks that do not execute overlap control, and a text annotation such as "overlap" is added to blocks that execute overlap control.
[0031] The above has described the configuration of the machining program display device 10 according to the first embodiment. Next, returning to Fig. 1, the overlap condition changing unit 11 that changes the overlap condition will be described.
[0032] The overlap condition change unit 11 receives condition change information through an operator's operation, an application running on the control device 1, or an external input from an external computer, etc. The external input may be a ladder diagram (ladder program) or an M-code. The condition change information may be, for example, information specifying whether or not to execute overlap control, the amount of inner loop when executing overlap control, and the block for which the overlap condition is to be changed.
[0033] Fig. 8 is a diagram showing an example of the machining program display unit 22 and the operation unit 25 when the overlap condition change unit 11 accepts condition change information. The operation unit 25 shown in Fig. 8 is an input device for the operator to change the overlap conditions. The operation unit 25 may be configured as a touch panel on the machining program display unit 22, or may be configured as physical buttons.
[0034] An example of a method for inputting overlap condition change information will be described below. By moving the cursor, which serves as a selection means, to a block for which the overlap is to be disabled and operating the operation unit 25 in this state, change condition information according to the operation of the operation unit 25 is input to the overlap condition change unit 11. The operation unit 25 includes an enable button 251 for enabling the overlap and an disable button 252 for disabling the overlap.
[0035] As described above, blocks for which overlap control is to be performed are displayed in a different manner from other blocks for which overlap control is not to be performed. In the example of Fig. 8, the block number N11 is selected with the cursor. With the cursor moved to the block number for which overlapping is to be disabled, the disable button 252 of the operation unit 25 is pressed. This generates a command to disable overlapping of block N11 and inputs it to the overlap condition change unit 11.
[0036] When the overlap condition change unit 11 receives the condition change information, it changes the machining program or the overlap conditions based on the condition change information. In the case of the condition change information described in Fig. 8, the overlap condition change unit 11 performs processing to change the machining program in order to invalidate the overlap of the specified block N11.
[0037] 9 is a diagram showing an example of the display on the machining program display unit 22 that reflects the changes made by the overlap condition change unit 11. Fig. 9 displays the machining program converted by the condition change information explained in Fig. 8. In this example, G09, which is a non-overlapping command, has been added to block N11. As a result, overlap control is not executed in block N11.
[0038] In this embodiment, the machining program display unit 22 performs processing to display the changed block N11 in a display mode different from that of blocks that perform overlap control and blocks that do not perform overlap control. For example, the block N11 is displayed in an even bolder font or in a different color. A block displayed in an even bolder font or a different color can be changed back to a block that performs overlap control by selecting it with the cursor and pressing the enable button 251. In this case, the added G09 is deleted, and the block N11 returns to its original display.
[0039] 8, the operation unit 25 has two buttons, a valid button 251 and a invalid button 252, but is not limited to this configuration. The operation unit 25 may further include, for example, an inner loop amount change button for changing the inner loop amount when overlap control is executed. In this case, a setting screen for changing the inner loop amount may be displayed by moving the cursor to the block number for which the inner loop amount is to be changed and operating the inner loop amount change button.
[0040] As described above, the machining program display device 10 of the first embodiment includes an overlap condition determination unit 21 that determines whether blocks in a machining program overlap based on predetermined overlap conditions, and a machining program display unit 22 that displays blocks that are determined to overlap by the overlap condition determination unit 21 in a display mode that is different from that of other blocks in the machining program.
[0041] As a result, blocks identified as overlapping are displayed in a different manner from the other blocks, so that it is possible to easily determine whether overlap control is being performed between blocks simply by checking the display of the machining program without having to display a separate adjustment screen.
[0042] Also, in this embodiment, the blocks identified as overlapping are the current block, the next block, or both of two consecutive overlapping blocks.
[0043] This allows a single block, the current block, the next block, two consecutive blocks, etc. to be specified as a portion for which overlap control is to be performed, and to be displayed in a different display mode.
[0044] Also, in this embodiment, the overlap condition includes at least one of an overlapping block command, a combination of overlapping block commands, and a start condition that starts the next block before reaching the end of the current block.
[0045] This makes it possible to determine whether or not overlap control is to be performed based on information that determines the machining content, such as commands, command combinations, and starting conditions.
[0046] The control device 1 also includes a machining program display device 10 and an overlap condition change unit 11 that receives overlap condition change information that specifies changes to overlap control conditions for blocks displayed by the machining program display unit 22 in a manner different from other blocks of the machining program, and changes the overlap conditions or machining program based on the overlap condition change information.
[0047] This allows you to specify the block for which overlap control is to be performed and change the overlap conditions for that block. It also makes it easy to associate the block for which overlap control is to be performed in the machining program or the block for which you want to change the amount of inner rotation with the overlap conditions on the adjustment screen.
[0048] In addition, in this embodiment, the overlap condition change information includes at least one of the following: the block for which the overlap condition is to be changed (the block selected by the cursor), whether or not to overlap (enable button 251, disable button 252), and the amount of inner rotation when overlap control is executed (inner rotation amount change button).
[0049] This allows you to set whether or not to perform overlap control for each block, change the overlap conditions, and set the amount of inner loop. For example, you can specify a block that overlaps or a block with a large amount of inner loop, and change the overlap conditions for that block.
[0050] In this embodiment, the overlap condition change information is specified by an operator's operation, an application running on the control device, or an external input.
[0051] This allows the overlap conditions to be changed not only by an operator's operation, but also by using an application running on the control device or an external input.
[0052] In addition, in this embodiment, the blocks for which the overlap conditions are changed are one or more of the following: one or more specific blocks included in blocks displayed in a manner different from other blocks in the machining program; one or more blocks containing specific instructions (blocks corresponding to the first condition); and one or more combinations of blocks containing a combination of specific instructions (blocks corresponding to the second condition).
[0053] This makes it possible to avoid operational errors such as enabling overlap control or changing conditions for blocks that are determined not to be subjected to overlap control, since blocks that are determined to be subjected to overlap control are subject to change.
[0054] [Second embodiment] Next, a machining program display device 10a according to a second embodiment, which is different from the first embodiment, will be described with reference to Fig. 10. Fig. 10 is a functional block diagram of the machining program display device 10a according to the second embodiment. Note that the machining program display device 10a according to the second embodiment can also be applied to the control device 1 in the same way as the first embodiment.
[0055] In the second embodiment, in addition to the first and second conditions, a third condition is input to the overlap condition determination unit 21. Fig. 11 is a table showing the third overlap condition. Fig. 11 also shows the third condition, which indicates a speed reduction ratio that is set according to a combination of consecutive blocks in the machining program. The third condition is a condition that determines the timing to start overlap control based on the speed reduction ratio.
[0056] In the example shown in Figure 11, if the current block is a block that commands fast-forward and the next block is also a block that commands fast-forward, when the speed of the current block drops to 30% set by the speed reduction ratio from the state before deceleration, operation based on the fast-forward command for the next block is started. Also, if the current block is a block that commands fast-forward and the next block is a block that commands a cutting feed block, operation based on the cutting feed command for the next block is started when the speed of the current block drops to 20% set by the speed reduction ratio from the state before deceleration. Also, if the current block is a block that commands fast-forward and the next block is a block that commands a no-movement block, operation based on the cutting feed command for the next block is started when the speed of the current block drops to 40% set by the speed reduction ratio from the state before deceleration.
[0057] Fig. 12 is a table showing the judgment results for the machining program by the overlap condition judgment unit based on the first, second, and third conditions. Fig. 12 shows, for each block, the final judgment results based on the first and second conditions for the machining program shown in Fig. 10, the judgment results for the third condition, and the amount of inward rotation calculated based on the judgment results for the third condition.
[0058] The final determination result based on the first and second conditions in the table of Fig. 12 indicates whether or not overlap control is to be performed using the same method as in the first embodiment. In the example of Fig. 12, overlap control is to be performed at two locations: between block N10 corresponding to block number 1 and block N11 corresponding to block number 2, and between block N11 corresponding to block number 2 and block N12 corresponding to block number 3.
[0059] Since the block N10 is a fast-forward command and the block N11 is also a fast-forward command, the trigger for starting overlap control between the block N10 and the block N11 based on the third condition is determined to be a speed reduction ratio of 30% (a).Since the block N11 is a fast-forward command and the block N12 is a cutting feed command, the trigger for starting overlap control between the block N11 and the block N12 based on the third condition is determined to be a speed reduction ratio of 20% (b).
[0060] The overlap condition determination unit 21 of this embodiment calculates the amount of inner turning when overlap control is executed based on the determination result of the third condition. A method for calculating the amount of inner turning will be described with reference to Fig. 13. Fig. 13 is a graph showing the relationship between time and feed speed, which explains the method for calculating the amount of inner turning.
[0061] The graph in Figure 13 shows how the feed rate in the X-axis direction is gradually decelerated from 6000 (mm / min) based on the command of the current block being executed. The amount of inward rotation can be calculated using the following formula 1. In formula 1, T represents the time (ms) from the start of deceleration to the end of deceleration, and F represents the feed rate (mm / min).
[0062] [Equation 1] Inner turn amount = (time T × speed F) / 2 Equation 1
[0063] Substituting T = 60 (ms) and F = 6000 (mm / min) into Equation 1, we get = (60 msec × 6000.0 mm / min) / 2 = (60 msec * 6000.0 / (1000 × 60) mm / msec) / 2 = 3.0 mm, and the inward turning amount is calculated to be 3.00 mm.
[0064] In the overlap control between blocks N10 and N11, the speed reduction ratio is set to 30%. Therefore, the feed rate drops from 6000 before deceleration begins to 1800 (30% of the feed rate before deceleration begins), and overlap control based on the command N11 is executed when the remaining time until the end of deceleration is 18 ms (30% of the total deceleration time). Substituting this value into Equation 1, the inward rotation amount in the overlap control between blocks N10 and N11 is 0.270 mm.
[0065] In the overlap control between blocks N11 and N12, the speed reduction ratio is set to 20%. Therefore, the feed rate drops from 6000 before deceleration begins to 1200 (20% of the feed rate before deceleration begins), and overlap control based on the command N12 is executed when the remaining time until the end of deceleration is 12 ms (20% of the total deceleration time). Substituting this value into Equation 1, the inward rotation amount in the overlap control between blocks N11 and N12 is 0.120 mm.
[0066] The machining program display unit 22 of the second embodiment displays the blocks for which overlap control is executed in a manner different from other blocks so as to be visually distinguishable. The machining program display unit 22 also performs processing to display the blocks for which overlap control is executed in a manner according to the amount of inner rotation of the blocks for which overlap control is executed so as to be visually distinguishable.
[0067] The display control of the second embodiment will be described with reference to Fig. 14. Fig. 14 is a diagram showing a display example of the machining program display unit that reflects the judgment result of the overlap condition judgment unit based on the first condition, the second condition, and the third condition. The display example of Fig. 14 reflects the final judgment result of the overlap condition judgment unit 21 and the calculation result of the inner turn amount for the machining program shown in Fig. 10.
[0068] The machining program display unit 22 displays blocks for which overlap control is performed and blocks for which overlap control is not performed in different ways so as to be visually distinguishable. In the second embodiment, the machining program display unit 22 further has a display condition set for changing the display mode depending on the amount of inward rotation. The display condition in this example is that, for two consecutive blocks for which overlap control is performed, the numbers and letters in the range of blocks for which an inward rotation amount of 0.201 mm or more is set are displayed in bold, and the numbers and letters in the range of blocks for which an inward rotation amount of 0.200 mm or less is set are displayed in thicker bold.
[0069] In the example of Figure 14, the machining program display unit 22 displays in bold the numbers and letters in the range of block N10, where the inward rotation amount during overlap control is 0.201 mm or more due to the display conditions. The machining program display unit 22 also displays in thicker bold the numbers and letters in the range of block N11, where the inward rotation amount during overlap control is 0.200 mm or less. The machining program display unit 22 also displays in even thicker bold the numbers and letters in the range of block N12, where the next block N13 is not judged as A in the final judgment based on the first and second conditions, and displays the numbers and letters in the ranges of each of blocks N13 to N15 in thin type. However, the present invention is not limited to this. The numbers and letters may be displayed in different colors, such as red, blue, yellow, and white, or the font may be changed. Symbols or graphics, such as underlines or circles, may also be added to distinguish them.
[0070] As described above, in the second embodiment, the machining program display unit 22 changes the display mode of the overlapping blocks depending on the amount of inward rotation.
[0071] This allows the user to check whether overlap control is being performed before executing the machining program, and also allows the user to grasp the degree of inward turning amount from the display mode, thereby preventing deterioration of machining accuracy due to overlap and interference between the tool and the workpiece. Also, by applying this to a control device 1 equipped with the overlap condition changing unit 11 as in the first embodiment, the inward turning amount can be easily changed.
[0072] Furthermore, in the second embodiment, when an overlapping block is identified, the overlap condition determining unit 21 calculates the amount of inner loop of the identified overlapping block based on the overlap condition.
[0073] A block displayed in a different display mode (such as an overlapping block or a block with a large inner loop amount) is designated, and the overlap conditions for that block are changed.
[0074] [Third Embodiment] Next, a machining program display device 10b according to a third embodiment, which differs from the first and second embodiments, will be described with reference to Fig. 15. Fig. 15 is a functional block diagram of the machining program display device 10b according to the third embodiment. Note that the machining program display device 10b according to the third embodiment can also be applied to the control device 1 in the same way as the first embodiment.
[0075] In the third embodiment, in addition to the first and second conditions, a fourth condition is input to the overlap condition determination unit 21. Fig. 16 is a table showing the fourth overlap condition. Fig. 16 shows the fourth condition, which indicates the priority set according to the combination of consecutive blocks in the machining program. In this example, priorities indicated by a to i are set for combinations of fast-forward blocks, cutting-feed blocks, and no-movement blocks. The priorities are set in alphabetical order, with a being the lowest and i being the highest, so that the later the blocks are, the higher the priority.
[0076] Fig. 17 is a table showing the judgment results for the machining program by the overlap condition judgment unit 21 based on the first condition, the second condition, and the fourth condition. Fig. 17 shows the final judgment results based on the first condition and the second condition for the machining program shown in Fig. 15, the judgment results for the fourth condition, and the final judgment results for each block.
[0077] The final determination results based on the first and second conditions in the table of Fig. 17 indicate whether or not overlap control is to be performed using the same method as in the first embodiment. In the example of Fig. 17, the blocks with block numbers 1 to 7 (N10 to N16) are determined to be A in the final determination based on the first and second conditions, and the blocks with block numbers 8 and 9 (N17 to N18) are determined to be B.
[0078] In the judgment based on the fourth condition, priorities are set corresponding to combinations of fast-forward blocks, cutting-forward blocks, and no-movement blocks according to the table in Fig. 16. In this example, block numbers 1-2 are judged as a, 2-3 as b, 3-4, 4-5, and 5-6 as e, and 6-7 as d.
[0079] The final judgment is made according to the priority. For example, in the case of block number 1, the final judgment result based on the first and second conditions is A, and the judgment result of the fourth condition is a, so the final judgment is a. In the case of block number 2, the final judgment result based on the first and second conditions is A, and the judgment results of the fourth condition are a and b, but because the priority of b is higher than a, the final judgment is b. Similarly, for blocks whose final judgment result based on the first and second conditions is A, the overlap condition judgment unit 21 makes a final judgment for each block based on the priority of the fourth condition. The final judgments of block numbers 3 to 6 are e, and the final judgment of block number 7 is d.
[0080] The machining program display unit 22 of the third embodiment displays the blocks for which overlap control is executed in a manner different from that of the other blocks so as to be visually distinguishable. The machining program display unit 22 also performs processing for displaying the blocks for which overlap control is executed in a manner according to the priority set for the blocks for which overlap control is executed so as to be visually distinguishable.
[0081] The display control of the third embodiment will be described with reference to Fig. 18. Fig. 18 is a diagram showing a display example of the machining program display unit 22 reflecting the judgment result of the overlap condition judgment unit based on the first condition, the second condition, and the fourth condition. The display example of Fig. 18 reflects the final judgment result of the overlap condition judgment unit 21 performed on the machining program shown in Fig. 15.
[0082] The machining program display unit 22 displays the numbers and letters of the range of blocks determined as a to d in the final judgment in bold, and displays the numbers and letters of the range of blocks determined as e in thicker bold. Furthermore, the machining program display unit 22 displays the numbers and letters of the range of blocks for which no priority was set in the final judgment in thin type. However, without being limited to this, the numbers and letters may be displayed in different colors, such as yellow, green, and white, or the font may be changed, or symbols or figures such as underlines or circles may be added to distinguish them.
[0083] In the example of Figure 18, blocks N10, N11, and N16 are displayed in bold because their final judgment results correspond to a to d, and blocks N12 to N15 are displayed in thicker bold because their final judgment result corresponds to e. Blocks N17 and N18, for which no priority was set in the final judgment, are displayed in thin type.
[0084] As described above, in the third embodiment, the machining program display unit 22 changes the display mode of overlapping blocks based on the overlap condition.
[0085] By setting a priority such as the fourth condition as the overlap condition, it is possible to display blocks in different display modes depending on the priority. Depending on the setting of the overlap condition, it is possible to increase the amount of information that can be grasped from the display screen of the machining program display unit 22.
[0086] [Start Condition of Overlap Control] Next, with reference to FIGS. 19 to 22, a start condition of overlap control applied to the machining program display devices 10, 10a, 10b and the control device 1 of the first to third embodiments will be described.
[0087] In the overlap control of the above embodiment, after deceleration of the current block has started, operation based on a command for the next block is started based on any one of the speed reduction ratio, the predetermined time, the distance to the block end point, and the amount of inner rotation.
[0088] Figure 19 is a graph illustrating an example of overlap control based on a speed reduction ratio. In the graph of Figure 19, the horizontal axis represents time, the vertical axis represents feedrate, the solid line represents the change over time in the feedrate in the X-axis direction based on the commands of the current block of the machining program, and the dashed line represents the change over time in the feedrate in the Y-axis direction based on the commands of the next block. In the example of the graph of Figure 19, deceleration of the feedrate F in the X-axis direction is started based on the commands of the current block, and when it falls below a set feedrate Fo set based on the speed reduction ratio, acceleration of the feedrate in the Y-axis direction is started based on the commands of the next block. The set feedrate Fo can be calculated, for example, by multiplying the speed at the start of deceleration by a preset speed reduction ratio.
[0089] Figure 20 is a graph illustrating an example of time-based overlap control. In the graph of Figure 20, the horizontal axis also represents time, the vertical axis represents feedrate, the solid line represents the time change in feedrate in the X-axis direction based on the commands of the current block of the machining program, and the dashed line represents the time change in feedrate in the Y-axis direction based on the commands of the next block. In the example of the graph of Figure 20, when the time required for the deceleration of feedrate F in the X-axis direction based on the commands of the current block to be completed becomes equal to or less than To, acceleration of feedrate in the Y-axis direction based on the commands of the next block begins.
[0090] Fig. 21 is a graph illustrating an example of overlap control based on the distance to the block end point. In the graph of Fig. 21, the horizontal axis represents position on the X axis, the vertical axis represents position on the Y axis, the solid line represents the tool path when overlapping is performed, and the dashed line represents the tool path when there is no overlap. In the example of the graph of Fig. 21, after the feed rate in the X axis direction starts to decelerate based on the command of the current block, acceleration of the rate in the Y axis direction starts based on the command of the next block when the distance to the current block end point becomes D or less.
[0091] Figure 22 is a graph illustrating an example of overlap control based on the amount of inward turning. In the graph of Figure 22, the horizontal axis also represents position on the X axis, the vertical axis represents position on the Y axis, the solid line represents the tool path when overlapping is performed, and the dashed line represents the tool path when there is no overlap. In the example of the graph of Figure 22, after the feed rate in the X axis direction based on the command of the current block starts to be decelerated, acceleration of the speed in the Y axis direction based on the command of the next block starts when the amount of inward turning becomes equal to or less than a preset threshold value R. The amount of inward turning can be calculated using the above-mentioned Equation 1.
[0092] In this embodiment, the start condition is at least one of the following: after the current block of two consecutive overlapping blocks starts deceleration, the speed decelerates to a predetermined ratio (speed deceleration ratio) from the start of deceleration; the remaining time from when the current block of two consecutive overlapping blocks starts deceleration until it stops is a predetermined time; the remaining distance from when the current block of two consecutive overlapping blocks starts deceleration until it stops is a predetermined distance; and the remaining distance is less than or equal to a predetermined or calculated inner turn amount between the blocks.
[0093] This allows the start conditions for the next block to be set according to the operator's intentions, the purpose of the machining, etc.
[0094] The present disclosure is not limited to the above-described embodiments, and includes modifications and improvements within the scope of achieving the object of the present disclosure.
[0095] The following supplementary notes are further disclosed regarding the above-described embodiment and modified examples: (Supplementary Note 1) A machining program display device (10, 10a, 10b) that displays a machining program including a plurality of blocks that specify the operation of a machine tool, comprising: an overlap condition determination unit (21) that identifies whether or not the blocks in the machining program overlap based on a predetermined overlap condition; and a machining program display unit (22) that displays the blocks identified by the overlap condition determination unit as overlapping in a display mode different from that of the other blocks in the machining program.
[0096] (Supplementary Note 2) In the machining program display device (10a) according to Supplementary Note 1, the machining program display unit (22) changes the display mode of the overlapping blocks according to the amount of inner rotation when overlap control is executed.
[0097] (Supplementary Note 3) In the machining program display device (10a) described in Supplementary Note 1 or Supplementary Note 2, when the overlapping blocks are identified, the overlap condition determination unit (21) calculates the amount of inner rotation of the blocks identified as overlapping based on the overlap conditions.
[0098] (Supplementary Note 4) In the machining program display device (10b) according to any one of Supplementary Notes 1 to 3, the machining program display unit (22) changes the display mode of the overlapping blocks based on the overlap condition.
[0099] (Supplementary Note 5) In the machining program display device (10, 10a, 10b) described in any one of Supplementary Notes 1 to 4, the block identified as overlapping is a current block, a next block, or both of the two consecutive overlapping blocks.
[0100] (Supplementary Note 6) In the machining program display device (10, 10a, 10b) described in any one of Supplementary Notes 1 to 5, the overlap condition includes at least one of commands of the overlapping blocks, a combination of commands of the overlapping blocks, and a start condition for starting the next block before reaching the end point of the current block.
[0101] (Appendix 7) In the machining program display device (10, 10a, 10b) described in Appendix 6, the start condition is at least one of: after a current block in the two consecutive overlapping blocks starts deceleration, the speed decelerates to a predetermined ratio from the start of the deceleration; the remaining time from when the current block in the two consecutive overlapping blocks starts deceleration until it stops is a predetermined time; the remaining distance from when the current block in the two consecutive overlapping blocks starts deceleration until it stops is a predetermined distance; and the remaining distance is less than or equal to a pre-specified or calculated inner turn amount between the blocks.
[0102] (Supplementary Note 8) A control device (1) comprising: a machining program display device (10, 10a, 10b) according to any one of Supplementary Notes 1 to 7 above; and an overlap condition change unit (11) that receives overlap condition change information that specifies a change in overlap control conditions for a block that the machining program display unit (22) displays in a manner different from other blocks of the machining program, and changes the overlap conditions or the machining program based on the overlap condition change information.
[0103] (Supplementary Note 9) In the control device (1) described in Supplementary Note 8 above, the overlap condition change information includes at least one of the block for which the overlap condition is changed, whether or not to overlap, and the amount of inner rotation when overlap control is performed.
[0104] (Supplementary Note 10) In the control device (1) according to Supplementary Note 8 or 9, the overlap condition change information is designated by an operation by an operator, an application running on the control device, or an external input.
[0105] (Appendix 11) In the control device (1) described in Appendices 8 to 10 above, the block for changing the overlap condition is one or more of the following: one or more specific blocks included in the block displayed in a manner different from the other blocks of the machining program; one or more blocks including specific commands; and one or more combinations of the blocks including a combination of specific commands.
[0106] REFERENCE SIGNS LIST 1 control device 10 machining program display device 10a machining program display device 10b machining program display device 11 overlap condition change unit 21 overlap condition determination unit 22 machining program display unit
Claims
1. A machining program display device that displays a machining program including multiple blocks that specify the operation of a machine tool, comprising: an overlap condition determination unit that determines whether or not the blocks in the machining program overlap based on predetermined overlap conditions; and a machining program display unit that displays the blocks that are determined to overlap by the overlap condition determination unit in a display mode that is different from that of the other blocks in the machining program.
2. The machining program display device according to claim 1, wherein the machining program display unit changes the display mode of the overlapping blocks according to the amount of inner rotation when overlap control is executed.
3. A machining program display device as described in claim 2, wherein when the overlap condition determination unit identifies an overlapping block, it calculates the amount of inner rotation of the block identified as overlapping based on the overlap condition.
4. A machining program display device according to any one of claims 1 to 3, wherein the machining program display unit changes the display mode of the overlapping blocks based on the overlap conditions.
5. A machining program display device according to any one of claims 1 to 4, wherein the block identified as overlapping is a current block, a next block, or both of the two consecutive overlapping blocks.
6. A machining program display device according to any one of claims 1 to 5, wherein the overlap conditions include at least one of commands of the overlapping blocks, a combination of commands of the overlapping blocks, and a start condition for starting the next block before reaching the end point of the current block.
7. A machining program display device according to claim 6, wherein the start condition is at least one of: after a current block in the two consecutive overlapping blocks starts deceleration, the speed decelerates to a predetermined ratio from the start of the deceleration; the remaining time from when the current block in the two consecutive overlapping blocks starts deceleration until it stops is a predetermined time; the remaining distance from when the current block in the two consecutive overlapping blocks starts deceleration until it stops is a predetermined distance; and the remaining distance is less than or equal to a pre-specified or calculated inner turn amount between the blocks.
8. A control device comprising: a machining program display device according to any one of claims 1 to 7; and an overlap condition change unit that receives overlap condition change information that specifies a change in overlap control conditions for a block that the machining program display unit displays in a manner different from other blocks of the machining program, and changes the overlap conditions or the machining program based on the overlap condition change information.
9. The control device according to claim 8, wherein the overlap condition change information includes at least one of the block for which the overlap condition is to be changed, whether or not to overlap, and the amount of inner rotation when overlap control is executed.
10. The control device according to claim 8 or 9, wherein the overlap condition change information is designated by an operator's operation, an application running on the control device, or an external input.
11. A control device as described in any one of claims 8 to 10, wherein the block for which the overlap conditions are changed is one or more of the following: one or more specific blocks included in a block displayed in a manner different from the other blocks of the machining program; one or more blocks including specific commands; and one or more combinations of the blocks including a combination of specific commands.
Citation Information
Patent Citations
Numerical controller operating based on tabular data
JP2016206883A
Numerical controller for controlling shafts of multiple systems according to program for single system, and simulation device therefor
JP2017134618A
Numerical controller
JP2018084901A
Numerical control system for machine tool
JP2020144667A
Numerical control programming method, numerical control programming device, program, and numerical control device
WO2012001746A1