Processing device, program, and processing method
Patent Information
- Application Number
- DE112022007343
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-08-29
- Publication Date
- 2025-03-27
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to a processing apparatus, a program, and a processing method. TECHNICAL BACKGROUND
[0002] When machining shapes such as holes or pockets in an inclined surface of a workpiece using a machine tool, it may be desirable to use a program similar to the program used for the XY plane.
[0003] Techniques for performing such machining include a technique for a numerical control device to define an inclined surface (inclined work plane indexing (G68.2)) and a technique to position the tool perpendicular to the inclined surface (tool axis direction control (G53.1)).
[0004] In the case of a machine tool with two rotary axes that can change the direction of the tool, there are two sets of angle combinations for the two rotary axes at which the tool becomes perpendicular to the inclined surface. Conventional numerical control devices select the one with the smaller amount of movement of the rotary axes from these two sets. Citation listPatent document
[0005] Patent Document 1: PCT International Publication No. WO2011 / 117915 DISCLOSURE OF THE INVENTION Problems to be solved by the invention
[0006] However, with the angle combination selected by the numerical control device, contact may occur between the tool and other objects such as the workpiece or clamping device.
[0007] An object to be achieved by embodiments of the present invention is to provide a processing apparatus, a program, and a processing method capable of preventing contact between the tool and other objects when the direction of the tool is changed with respect to the inclined surface. Means of solving the tasks
[0008] The processing device of the embodiment includes a calculation unit and a determination unit. The calculation unit calculates one or more angle combinations for the plurality of rotation axes that can change the orientation of the tool so that the tool forms a predetermined angle with a plane. The determination unit determines a direction and an angle by which each of the plurality of rotation axes is rotated so that the plurality of rotation axes achieve any one of the angle combinations calculated by the calculation unit, according to an instruction indicating a direction by which at least one of the rotation axes is rotated, thereby minimizing the amount of movement or the movement time of rotating the rotation axis. Effects of the invention
[0009] The present invention can prevent interference between the tool and other objects when the direction of the tool is changed with respect to an inclined surface. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram illustrating an example of the main configuration of a numerical control system according to the embodiment and components included in the numerical control system; Fig. 2 is a flowchart showing an example of the processing of the processor in Fig. 1 represents; Fig. 3 is a flowchart showing an example of the processing of the processor in Fig. 1 represents; Fig. 4 is a diagram showing an example of a table referred to by the second vertical command; Fig. 5 is a diagram showing a first example of the state of the tool and the spindle when the tool is placed perpendicularly on the inclined surface of the workpiece; Fig. 6 is a diagram showing a second example of the state of the tool and spindle when the tool is placed perpendicularly on the inclined surface of the workpiece; and Fig. 7 is a diagram showing an example of the state of the tool and the clamping device. PREFERRED EMBODIMENT OF THE INVENTION
[0010] A numerical control system according to an embodiment will be described below with reference to the drawings. In the drawings used in the following description of the embodiments, scales of the respective parts may be modified as appropriate. In the drawings used in the following description of the embodiments, configurations may be omitted for the sake of clarity. In the drawings and this description, the same reference numerals denote similar elements. Fig. 1 is a block diagram illustrating an example of the main configuration of the numerical control system 1 according to the embodiment and components included in the numerical control system 1. The numerical control system 1 includes, as an example, a numerical control device 100 and industrial machinery 200. The numerical control system 1 is an example of a control system.
[0011] The numerical control device 100 is a device that performs numerical control of the industrial machinery 200 or the like. The numerical control device 100 includes a function for determining a candidate with the smallest amount of movement from the candidates for the rotation methods for each rotation axis in order to place the tool perpendicular to the inclined surface. The numerical control device 100 may be a server device, PC, tablet terminal, or smartphone. The numerical control device 100 includes, for example, a processor 110, a ROM (Read Only Memory) 120, a RAM (Random Access Memory) 130, an auxiliary storage device 140, an input device 150, a display device 160, and a control interface 170. These components are connected to a bus 180 or the like. The numerical control device 100 is an example of a processing device.The perpendicularity of the tool to the inclined surface is an example of a predetermined angle in this context.
[0012] The processor 110 is the central part of the computer that performs the necessary calculations and control for the operation of the numerical control device 100, performing various calculations and processing. The processor 100 can be, for example, a CPU (central processing unit), MPU (micro-processing unit), SoC (system on a chip), DSP (digital signal processor), GPU (graphics processing unit), ASIC (application-specific integrated circuit), PLD (programmable logic device), or FPGA (field-programmable gate array). Alternatively, the processor 110 can be a combination of a plurality of these components. The processor 110 can also be combined with hardware accelerators.The processor 110 controls various functions of the numerical control device 100 based on programs such as firmware, system software, application software, and NC (numerical control) programs stored in the ROM 120 or the auxiliary storage device 140. The processor 110 executes the processing described later based on these programs. Part or all of these programs may be embedded in the circuitry of the processor 110. The NC program is a program for numerical control of the industrial machinery 200.
[0013] By executing the above program, the processor 110 functions as a program analysis unit 111, a direction position selection unit 112, a position selection unit 113, and a motion control unit 114.
[0014] The program analysis unit 111 analyzes the NC program.
[0015] The direction position selecting unit 112 determines the rotation method for each rotation axis to place the tool perpendicular to the inclined surface using the direction instructions described later.
[0016] The position selecting unit 113 determines the rotation method for each rotation axis to place the tool perpendicular to the inclined surface without using the direction instructions described later.
[0017] The motion control unit 114 controls the movement of the tool 220 of the industrial machinery 200. The motion control unit 114 controls each rotation axis of the industrial machinery 200.
[0018] ROM 120 and RAM 130 are the main storage devices of the computer, which is built around processor 110. ROM 120 is a non-volatile memory used exclusively for reading data. ROM 120 stores the above programs, such as firmware. ROM 120 also stores data used by processor 110 for various processing. RAM 130 is memory used for reading and writing data. RAM 130 is used as a work area for temporarily storing data used by processor 110 when performing various processing. RAM 130 is typically volatile memory.
[0019] The auxiliary storage device 140 is an auxiliary storage device of the computer constructed around the processor 110. The auxiliary storage device 140 can be, for example, EEPROM (Electric Erasable Programmable Read-Only Memory), HDD (Hard Disk), or flash memory. The auxiliary storage device 140 stores, for example, system software, application software, and NC programs, among the above programs. The auxiliary storage device 140 stores data used by the processor 110 when executing various processing, data generated by processing in the processor 110, and various settings.
[0020] The auxiliary storage device 140 stores an inclined surface information table 141. The inclined surface information table 141 will be described later. The auxiliary storage device 140 is an example of a storage unit.
[0021] Input device 150 receives operations from the operator of numerical control system 100. Input device 150 may be, for example, a keyboard, a keypad, a touchpad, a mouse, or a controller. Input device 150 may also be a voice input device.
[0022] The display device 160 displays screens to notify the operator of the numerical control system of various information. The display device 160 may be, for example, a liquid crystal display or an organic EL (electroluminescence) display. A touch panel may also be used as the input device 150 and the display device 160. That is, the display panel included in the touch panel may be used as the display device 160, and the pointing device for touch input included in the touch panel may be used as the input device 150.
[0023] The control interface 170 is an interface for the numerical control device 100 to communicate with industrial machinery 200 or the like. The numerical control device 100 controls the industrial machinery 200 or the like via the control interface 170 based on the NC program.
[0024] The bus 180 includes a control bus, an address bus, and a data bus, and transmits signals exchanged between the various parts of the numerical control device 100.
[0025] The industrial machinery 200 is machinery that operates under numerical control or the like. The industrial machinery 200 can be, for example, a machine tool, a manipulator, a robot arm, or a robot. As an example, the industrial machinery 200 includes an input device 210, a tool 220, and a spindle 230.
[0026] The input device 210 receives commands from the operator of the industrial machine 200. The input device 210 can be, for example, a control panel, a keyboard, a keypad, a touchpad, a touch panel, a mouse, or a controller. The input device 210 can also be a voice input device.
[0027] The tool 220 and the spindle 230 are moved with respect to Fig. 5 described. Fig. 5 is a diagram illustrating a first example of the state of the tool 220 and the spindle 230 when the tool 220 is placed perpendicularly on the inclined surface 301 of the workpiece 300.
[0028] The tool 220 is a tool such as a drill that is used to machine the workpiece 300.
[0029] The spindle 230 can mount the tool 220. The spindle 230 can rotate the tool 220, for example, about the center axis of the tool 220.
[0030] The spindle 230 includes a rotation axis 231 and a rotation axis 232. The rotation axis 231 can rotate in the B-axis direction. The spindle 230 can change the direction of the tool 220 by rotating the tool 220 in the B-axis direction about the rotation axis 231. The rotation axis 232 can rotate in the C-axis direction. The spindle 230 can change the direction of the tool 220 by rotating the tool 220 in the C-axis direction about the rotation axis 232. The rotation axes 231 and 232 can typically rotate in both positive and negative directions. The rotation axes 231 and 232 may or may not be limited in their range of rotation. The spindle 230 may include three or more rotation axes.
[0031] The operation of the numerical control system 1 according to the embodiment will be described below with reference to Fig. 2 and Fig. 3. The processing details in the following operation descriptions are examples, and various processing methods that can achieve similar results can be used appropriately. Fig. 2 and Fig. 3 are flowcharts illustrating examples of processing of the processor 110 of the numerical control device 100. The processor 110 executes the Fig. 2 and Fig. 3 based on programs stored, for example, in the ROM 120 or the auxiliary storage device 140.
[0032] The processor 110 begins the Fig. 2 and Fig. 3 when an NC program is executed. In step ST11, which is shown in Fig. 2, the processor 110 of the numerical control device 100 acquires the NC program to be executed (hereinafter referred to as the “target program”) from the auxiliary storage device 140 or the like.
[0033] In the description of Fig. 2, the following two NC programs "00001" and "00002" are used as examples. That is, an example is described in which the processor 110 detects "00001" or "00002" as the target program. The programming language used in the NC program is not limited. The NC program can contain multiple commands in one line. In the NC program, a single command can span multiple lines. O0001 N1 G54 N2 G90 G00 X0 Y200.0 Z0 B0 C0 N3 G68.2 P1 X-50.0 Y0 Z-80.0 I0 J30.0 K0 N4 G53.1 P1 N5 G43 H1 X0 Y0 Z0 O0002 N1 G54 N2 G90 G00 X0 Y200.0 Z0 B0 C0 N3 G68.5 P1 N4 G43 H1 X0 Y0 Z0
[0034] In the NC programs "O0001" and "00002," the letter N followed by a number indicates the line number. N3 indicates the third line. The NC programs "O0001" and "00002" each contain a vertical command. A vertical command places the tool 220 perpendicular to the inclined surface and sets a coordinate system based on the inclined surface. The inclined surface is defined by the vertical command. There are two types of vertical commands: the first vertical command and the second vertical command. The NC program "00001" contains a first vertical command. The NC program "O0002" contains a second vertical command.
[0035] The first line of the NC programs “00001” and “O0002” is a command to specify the initial state coordinate system, namely the X1Y1Z1 coordinate system.
[0036] The second line of the NC programs “O0001” and “00002” is a command to move the tool 220 of the industrial machinery 200.
[0037] The third line of the NC program “O0001” is a command to define the position and angle of the inclined surface 301 of the workpiece 300.
[0038] The fourth line of the NC program "O0001" is the first vertical command. In the NC program "O0001," the first vertical command in the fourth line places the tool 220 perpendicular to the inclined surface 301 defined in the third line. The first vertical command may contain instructions indicating the direction in which the rotary axis should rotate (hereinafter referred to as "direction instructions"). In the first vertical command in the fourth line of the NC program "O0001," the "P1" section is the direction instruction. The direction instruction "P1" indicates rotating the rotary axis 231 in the positive direction (B-axis in the positive direction). Direction instructions other than "P1" may include "P-1," "P2," and "P-2." The direction instruction "P-1" indicates rotating the rotary axis 231 in the negative direction. The direction instruction “P2” indicates rotating the rotation axis 232 in the positive direction (C-axis in the positive direction).The direction instruction "P-2" indicates rotating the rotation axis 232 in the negative direction. The first vertical command can contain multiple direction instructions. In this case, the number of direction instructions is at least two and not more than the number of rotation axes. For example, the direction instruction "P1P2" contains the direction instructions "P1" and "P2." In other words, the direction instruction "P1P2" indicates rotating the rotation axis 231 in the positive direction and rotating the rotation axis 232 in the positive direction.
[0039] The third line of the NC program "O0002" is the second vertical command. The second vertical command acquires the position and angle of the inclined surface 301 of the workpiece 300 and the direction instructions by referencing the outer part of the NC program "O0002." For example, the outer part is a file different from the file containing the NC program "O0002." Alternatively, the outer part can be a part other than the NC program "O0002" in the file containing the NC program "00002." The "P1" in the second vertical command in the third line of the NC program "00002" indicates the referenced information.
[0040] Fig. 4 is a diagram illustrating an example of a table T1 referenced by the second vertical command. The table T1 is an example of the inclined surface information table 141. The table T1 stores vertical information. The vertical information includes, for example, the position and angle of the inclined surface 301 and the direction instructions. The vertical information may include the candidate angle combinations and the designated turning methods. The table T1 stores, for example, one piece of vertical information per row. As an example, the table T1 includes a number, an inclined surface origin, an inclined surface orientation, a tool vertical movement, a specified turning axis and a turning direction of the specified turning axis, candidate 1, candidate 2, and the designated turning method.
[0041] The number in table T1 is unique identification information associated with each combination of the position and angle of the inclined surface 301 and the direction instructions. The inclined surface origin indicates the position of the inclined surface 301. The inclined surface orientation indicates the angle of the inclined surface 301. The tool vertical movement indicates whether the tool 220 is placed perpendicular to the inclined surface. The specified rotation axis and the rotation direction of the specified rotation axis indicate the direction instructions. The specified rotation axis indicates which rotation axis is designated for the direction instructions. The rotation direction of the specified rotation axis can be designated for the direction instructions, or each row of table T1 can contain a plurality of direction instructions. In this case, the number of direction instructions is at least two and no more than the number of rotation axes.For example, in a case where table T1 contains two direction instructions, table T1 contains the specified rotation axis 1 and the rotation direction 1 of the specified rotation axis, as well as the specified rotation axis 2 and the rotation direction 2 of the specified rotation axis. The specified rotation axis 1 and the rotation direction 1 of the specified rotation axis are one direction instruction, and the specified rotation axis 2 and the rotation direction 2 of the specified rotation axis are another direction instruction, which together constitute two direction instructions.
[0042] Candidate 1 and Candidate 2 each indicate a candidate angle combination described later. The number of candidates included in the vertical information is not limited to two. The specific rotation method indicates the rotation method determined by the processing described later.
[0043] Table 1 is created before the NC program is executed. The reference target of the second vertical command may be something other than a table. In this case, the reference target stores the position and angle of the inclined surface 301 of the workpiece 300 and the direction instructions in a format other than a table.
[0044] For example, "Pn" in the second vertical command indicates which position of table T1 is to be referenced. For example, n is an integer of 1 or more. "Pn" in the second vertical command indicates reference to the nth row of table T1. For example, if n = 1, "P1" in the second vertical command indicates reference to the first row of table T1.
[0045] In step ST12, processor 110 detects the next instruction to be executed by the target program. The last instruction detected in step ST12 is hereinafter referred to as the "detected instruction."
[0046] In step ST13, the processor determines whether the detected command is the first vertical command. If the detected command is the first vertical command, the processor 110 determines "Yes" in step ST13 and proceeds to step ST14.
[0047] In step ST14, the processor 110 determines whether the rotation method for executing the detected command has already been determined. If the rotation method has been determined, the processor 110 determines "No" in step ST14 and proceeds to step ST15. Details of the rotation method will be described later.
[0048] In step ST15, the processor 110 calculates the angle combinations based on the inclined surface defined by the first vertical command. The "angle combination" refers to "the combination of angles of each rotary axis to place the tool perpendicular to the inclined surface." For the NC program "00001," this is defined in the third line. The angle combination calculated here is a candidate for the angle combination used in controlling the industrial machinery 200. When there are two rotary axes that can change the orientation of the tool 220, there are usually two candidates. However, depending on the rotation range of each rotary axis, there may be fewer than two candidates. In cases where there are three or more rotary axes, the processor 110 can limit the calculated combinations to those that meet predetermined conditions.
[0049] By executing the processing in step ST15, the processor 110 functions as an example of a calculation unit that calculates one or more angle combinations for a plurality of rotation axes that change the orientation of the tool so that the tool forms a predetermined angle with a plane.
[0050] Fig. 5 and Fig. 6 shows examples of two angle combination candidates. Fig. 6 is a diagram showing a second example of the state of the tool 220 and the spindle 230 when the tool 220 is placed perpendicularly on the inclined surface 301 of the workpiece.
[0051] The inclined surface 301, which in Fig. 5 and Fig. 6, is inclined at -30 degrees with respect to the X1 axis. The inclined surface 301 is parallel to the Y1 axis. The X1Y1Z1 coordinate system is the initial coordinate system before the tool 220 is placed perpendicular to the inclined surface. The X2Y2Z2 coordinate system is the coordinate system after the tool 220 is placed perpendicular to the inclined surface 301. That is, in the X2Y2Z2 coordinate system, the inclined surface 301 is parallel to the X2Y2 plane. Preferably, the inclined surface 301 coincides with the X2Y2 plane.
[0052] In the first example, which is Fig. 5, the angle of the rotation axis 231 is 30 degrees, and the angle of the rotation axis 232 is 0 degrees. In the second example, which is shown in Fig. 6, the angle of the rotation axis 231 is -30 degrees, and the angle of the rotation axis 232 is 180 degrees.
[0053] In step ST16, the processor 110 displays images indicating the angle combinations calculated in step ST15 on the display device 160 or the like. For example, the processor 110 displays images having the same content as Fig. 5 and Fig. 6. Alternatively, the processor 110 displays images indicating the angle combinations calculated in step S15 in text form or the like.
[0054] By executing the processing in step ST16 in cooperation with the display device 160, the processor 110 functions as an example of a display unit that displays images representing combinations.
[0055] In step ST17, the processor 110 determines whether the detected command includes a direction instruction. If the detected command includes a direction instruction, the processor 110 determines "Yes" in step ST17 and proceeds to step ST18.
[0056] In step ST18, the processor 100 determines the rotation method for positioning the tool perpendicularly on the inclined surface according to the direction instruction in the acquired command. The rotation method includes the rotation direction and the rotation angle. The processor 110 determines the rotation method so that the amount of movement is minimized. However, if the rotation method has already been determined, the processor 110 may acquire the determined rotation method instead of determining the rotation method.
[0057] The following case is taken as an example. Angle of rotation axis 231: 0 degrees Angle of rotation axis 232: 0 degrees
[0058] Direction instruction contained in the captured command: Rotate the rotation axis 231 in the positive direction (P1).
[0059] Inclined Surface 301: Inclined by 30 degrees with respect to the X1 axis and parallel to the Y1 axis (the same as the one in Fig. 5 and Fig. 6 shown inclined surface 301).
[0060] To change this state to the state of the first example, the rotation axis 231 should be rotated 30 degrees in the positive direction. No rotation is necessary for the rotation axis 232. To change this state to the state of the second example, the rotation axis 231 should be rotated 330 degrees in the positive direction, and the rotation axis 232 should be rotated 180 degrees in either the positive or negative direction.
[0061] Rotating the rotation axis 231 by 30 degrees in the positive direction results in the smallest amount of movement. Thus, the rotation method with the smallest amount of movement is as follows: Rotation axis 231: Rotate 30 degrees in the positive direction. Rotation axis 232: Rotate by 0 degrees (do not rotate), direction of rotation does not matter.
[0062] The amount of movement is determined, for example, by the following (i) or (ii): (i) The sum of the angles of rotation of each axis of rotation. (ii) The largest angle of rotation among the angles of rotation of each axis of rotation.
[0063] The following case is considered as another example: Angle of rotation axis 231: 0 degrees Angle of rotation axis 232: 0 degrees
[0064] Direction instruction contained in the captured command: Rotate the rotation axis 231 in the negative direction (P-1).
[0065] Inclined Surface 301: Parallel to the X1 axis and inclined 20 degrees with respect to the Y1 axis.
[0066] In this case, there are two angle combinations: a combination A1 (angle of rotation axis 231 is 20 degrees, angle of rotation axis 232 is 90 degrees); and a combination A1 (angle of rotation axis 231 is -20 degrees, angle of rotation axis 232 is -90 degrees).
[0067] To achieve the state of combination A1, rotation axis 231 should be rotated 340 degrees in the negative direction, and rotation axis 232 should be rotated 90 degrees in the positive direction. Rotating rotation axis 232 270 degrees in the negative direction also results in the state of combination A1; however, this involves a larger amount of movement than rotating 90 degrees in the positive direction and is thus inappropriate. To achieve the state of combination A2, rotation axis 231 should be rotated 20 degrees in the negative direction, and rotation axis 232 should be rotated 90 degrees in the negative direction.
[0068] Rotating the rotation axis 231 by 20 degrees in the negative direction and the rotation axis 232 by 90 degrees in the negative direction results in the smallest amount of movement. Thus, the rotation method with the smallest amount of movement is as follows: Rotation axis 231: Rotate 20 degrees in the negative direction. Rotation axis 232: Rotate 90 degrees in the negative direction.
[0069] On the other hand, if the detected command does not include a direction instruction, the processor 110 determines “No” in step ST17 and proceeds to step ST19.
[0070] Processor 110 stores the specific rotation method in association with the target program and the detected instruction. The rotation method stored here is the specific rotation method.
[0071] For example, the direction position selecting unit 112 executes the processing of step ST18.
[0072] By executing the processing in step ST18, the processor 110 functions as an example of a determination unit that determines a direction and an angle by which each of the plurality of rotation axes is rotated so that the plurality of rotation axes reach any of the angle combinations calculated by the calculation unit, according to an instruction indicating a direction by which at least one of the rotation axes is rotated, so that a movement amount or movement time of rotation of the rotation axes is minimized.
[0073] In step ST19, the processor 110 determines the rotation method for positioning the tool perpendicularly to the inclined surface. The processor 110 determines the rotation method that minimizes the amount of movement. The rotation method determined in step ST19 differs from that in step ST18 and allows any direction for rotation of any of the rotation axes. For example, the position selection unit 113 executes the processing of step ST19.
[0074] If the rotation method has already been determined, the processor 110 determines “Yes” in step ST14 and proceeds to step ST20.
[0075] In step ST20, the processor 110 acquires the determined rotation method. The rotation method is the one stored in the processing of step ST18 during the execution of the target program in a previous run.
[0076] If the detected command is not the first vertical command, the processor 110 determines “No” in step ST13 and proceeds to step ST21, which is Fig. 3 is shown.
[0077] In step ST21, the processor 110 determines whether the detected command is the second vertical command. If the detected command is the second vertical command, the processor 110 determines "Yes" in step ST21 and proceeds to step ST22.
[0078] In step ST22, the processor 110 acquires the vertical information specified by the acquired command. That is, the processor 110 acquires the vertical information from the reference target based on the information indicating the reference target included in the second vertical command.
[0079] The inclined surface orientation in the vertical information is an example of the angle of the plane. By executing the processing in step ST22, the processor 110 functions as an example of an acquisition unit that acquires a predetermined angle and instructions from the table.
[0080] In step ST23, the processor 110 determines whether the rotation method for executing the acquired command has already been determined. For example, if the vertical information acquired in step ST22 includes the determined rotation method, the processor 110 determines that the rotation method has been determined. If the rotation method has not been determined, the processor 110 determines "No" in step ST23 and proceeds to step ST24.
[0081] In step ST24, processor 110 calculates candidate angle combinations based on the inclined surface origin and the inclined surface orientation in the vertical information acquired in step ST22. Processor 110 writes the calculated angle combinations to the reference target included in the second vertical command. For example, processor 110 writes the calculated angle combinations to candidates 1 and 2 in the referenced row of table T1.
[0082] Thus, by executing the processing of step ST24, the processor 110 functions as an example of a calculation unit that calculates one or more angle combinations for the plurality of rotation axes that can change the orientation of the tool to form a predetermined angle with a plane.
[0083] In step ST25, the processor 110 displays images indicating the angle combinations calculated in step ST24 on the display device 160 or the like. For example, the processor 110 displays images having the same content as Fig. 5 and Fig. 6 represent.
[0084] Alternatively, the processor 110 displays images representing the angle combinations calculated in step ST24 in text form or the like.
[0085] By executing the processing in step ST25 in cooperation with the display device 160, the processor 110 functions as an example of a display unit that displays images indicating combinations.
[0086] In step ST26, the processor 110 determines the rotation method for positioning the tool perpendicularly on the inclined surface according to the direction instructions in the vertical information acquired in step ST22. The processor 110 determines the rotation method, for example, in the same manner as in step ST18.
[0087] Processor 110 writes the specified rotation method to the reference target contained in the second vertical command. In table T1, row numbered 2 is the row with the written specified rotation method.
[0088] By executing the processing in step ST26, the processor 110 functions as an example of a determination unit that determines a direction and an angle by which each of the plurality of rotation axes is rotated so that the plurality of rotation axes reach any of the angle combinations calculated by the calculation unit, according to an instruction indicating a direction by which at least one of the rotation axes is rotated, so that a movement amount or movement time of rotation of the rotation axis is minimized.
[0089] If the rotation method has already been determined, the processor 110 determines “Yes” in step ST23 and proceeds to step ST27.
[0090] In step ST27, the processor 110 acquires the determined rotation method from the vertical information acquired in step ST22.
[0091] After processing step ST18, step ST19, step ST20 in Fig. 2, or step ST26 or step ST27 in Fig. 3, the processor 110 proceeds to step ST28.
[0092] In step ST28, the processor 110 executes the detected vertical command. If the processing in step ST18, step ST19 of Fig. 2, or steps ST26 to ST28 from Fig. 3, the processor 110 executes the vertical command by rotating each rotation axis using the rotation method described in step ST18, step ST19 of Fig. 2 or step ST26 of Fig. 3. If the processing in step ST20 of Fig. 2 or steps ST27 to ST28 from Fig. 3, the processor 110 executes the vertical command by rotating each rotation axis using the rotation method described in step ST20 of Fig. 2 or step ST27 of Fig. 3 was recorded.
[0093] If the detected command is not the second vertical command, the processor 110 determines "No" in step ST21 and proceeds to step ST29. In step ST29, the processor 110 executes the detected command.
[0094] In step ST30, the processor 110 determines whether execution of the target program is terminated. For example, if there are no more instructions to be executed following the detected instruction, the processor 110 determines to terminate execution of the target program. Alternatively, if the next instruction to be executed is an instruction indicating program termination, the processor 110 determines to terminate execution of the target program. If execution of the target program is not terminated, the processor 110 determines "No" in step ST30 and returns to step ST12, which is shown in Fig. 2. In turn, when the execution of the target program is finished, the processor 110 determines “Yes” in step ST30 and ends the Fig. 2 and Fig. 3 processing shown.
[0095] According to the numerical control system 1 of the embodiment, the numerical control device 100 rotates the rotary axes in the direction specified in the direction instruction in the vertical command, thereby positioning the tool perpendicular to the inclined surface. The NC program creator can specify the rotation direction of the rotary axes of the numerical control device 100 when positioning the tool perpendicular to the inclined surface by including a direction instruction in the NC program or the table T1. As a result, the NC program creator can prevent the tool 220 from interfering with the workpiece or the fixture.
[0096] Fig. 7 shows an example of the state of the tool 220 and the clamping device 400. In the Fig.In the state shown in Figure 7, rotating the rotary axis 231 in the positive direction (B1 direction) does not cause the tool 200 to interfere with the chuck 400. However, rotating the rotary axis 231 in the negative direction (B2 direction) causes the tool 220 to interfere with the chuck 400. Thus, the NC program creator inserts a direction instruction to rotate the rotary axis 231 in the positive direction into the NC program or the table T1. As a result, the numerical control device 100 of the embodiment can execute the vertical command without causing the tool 220 to interfere with the chuck 400.
[0097] According to the numerical control system 1 of the embodiment, the numerical control device 100 displays the calculated angle combinations on the display device 160. As a result, an operator can confirm the available angle combinations.
[0098] According to the numerical control system 1 of the embodiment, the numerical control device 100 can acquire direction instructions from the table T1 or similar sources. Thus, the numerical control device 100 of the embodiment can receive instructions regarding the rotation direction of the rotary axis from outside the NC program.
[0099] According to the numerical control system 1 of the embodiment, the numerical control device 100 acquires the position and angle of the inclined surface 301 from the table T1 or similar sources. Thus, the numerical control device 100 of the embodiment can define the position and angle of the inclined surface 301 from outside the NC program.
[0100] According to the numerical control system 1 of the embodiment, the numerical control device 100 stores the determined turning method in the auxiliary storage device 140 or similar memory. As a result, the numerical control device 100 of the embodiment can acquire and use the determined turning method in the second and subsequent executions of the same NC program, eliminating the need to repeatedly determine the turning method.
[0101] The above embodiments may be modified as follows: In the above embodiment, the numerical control device 100 places the tool 220 perpendicular to the inclined surface 301. However, the numerical control device 100 may use a different angle instead of perpendicularity. The other angle is an example of a predetermined angle.
[0102] Instead of the movement amount, movement time can be used. The movement time can be calculated, for example, using (iii) or (iv) below: (iii) The sum of ((angle of rotation) ÷ (speed of rotation)) for each axis of rotation. (iv) The longest time under ((angle of rotation) ÷ (speed of rotation)) for each axis of rotation.
[0103] The processor 110 may implement some or all of the processing implemented by the program in the above embodiments via the hardware configuration of the circuit.
[0104] The program for implementing the processing of the embodiments can be transferred to the device, for example, in a state stored on a non-volatile storage medium. However, the device can be transferred without the stored program. The program can be transferred separately and written to the device. The transfer of the program can be implemented, for example, by recording it on a removable non-volatile storage medium or by downloading it over a network such as the Internet or LAN (Local Area Network).
[0105] The embodiments of the present invention described above are presented as examples and do not limit the scope of the present invention. The embodiments of the present invention can be implemented in various ways without departing from the spirit of the present invention. EXPLANATION OF REFERENCE SYMBOLS 1 Numerical control system 100 Numerical Control Device 110 processor 111 Program Analysis Unit 112 Direction position selection unit 113 Position selection unit 114 Motion control unit 120 ROM 130 RAM 140 Additional storage device 141 Inclined Surface Information Table 150, 210 input device 160 display device 170 Control interface 180 buses 200 industrial machinery 220 tools 230 main spindle 231,233 axis of rotation QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] WO 2011 / 117915
[0005]
Claims
[1] Processing device comprising: a calculation unit that calculates one or more angle combinations for a plurality of rotation axes that can change an orientation of a tool so that the tool forms a predetermined angle with a plane; and a determination unit that determines a direction and an angle by which each of the plurality of rotation axes is rotated so that the plurality of rotation axes can achieve any of the angle combinations calculated by the calculation unit, according to an instruction indicating a direction by which at least one of the rotation axes is rotated, so that a movement amount or movement time of the rotation of the rotation axis is minimized. [2] The processing apparatus according to claim 1, further comprising a display unit that displays an image indicating the angle combinations. [3] The processing apparatus according to claim 1, further comprising a detecting unit that detects an angle of the plane and the instruction from a table, wherein the calculation unit calculates the angle combinations using the angle of the plane captured from the table, and the determining unit determines the direction and angle by which each of the plurality of rotation axes is rotated using the instruction acquired from the table. [4] The processing apparatus according to claim 1, further comprising a storage unit that stores information indicating the direction and angle by which each of the plurality of rotation axes is rotated, the information being determined by the determination unit. [5] A program that causes a processor included in a processing device to act as: a calculation unit that calculates one or more angle combinations for a plurality of rotation axes that can change an orientation of a tool so that the tool forms a predetermined angle with a plane; and a determination unit that determines a direction and an angle by which each of the plurality of rotation axes is rotated so that the plurality of rotation axes can achieve any of the angle combinations calculated by the calculation unit, according to an instruction indicating a direction by which at least one of the rotation axes is rotated, so that a movement amount or movement time of the rotation of the rotation axis is minimized. [6] Processing methods comprising: Calculating one or more angle combinations for a plurality of rotational axes that can change an orientation of a tool such that the tool forms a predetermined angle with a plane; and Determining a direction and an angle by which each of the plurality of rotation axes is rotated so that the plurality of rotation axes can achieve any of the calculated angle combinations, according to an instruction indicating a direction by which at least one of the rotation axes is rotated so that a movement amount or movement time of the rotation of the rotation axis is minimized.
Citation Information
Patent Citations
Numerical control device and numerical control method
WO2011117915A1