Processing device, program, and processing method
By calculating and determining the angle combination of the rotation axis, the problem of interference between tools and workpieces or fixtures in the numerical control device is solved, and higher machining accuracy and stability are achieved.
Patent Information
- Application Number
- CN202280099371.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-29
- Publication Date
- 2025-04-01
AI Technical Summary
In the numerical control device, when selecting the angle of the rotation axis, tools or the like are likely to interfere with the workpiece or fixture, affecting the processing accuracy.
By calculating the angle combination of multiple rotation axes, the tool is made to a predetermined angle with respect to the plane, and the rotation direction of the rotation axis is determined in a manner that the amount of movement or the time of movement is minimal, so as to avoid tool interference.
Effectively prevent the tool from interfering with the workpiece or fixture when changing directions under the inclined surface reference, and improve processing accuracy and stability.
Smart Images

Figure CN119744371A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a processing device, a program, and a processing method. Background Art
[0002] When machining a shape such as a hole or a groove on an inclined surface of a workpiece using a machine tool or the like, it may be desirable to perform machining using the same program as that for the XY plane.
[0003] As technologies for performing such machining, there are a technology for defining an inclined surface in a numerical control device (inclined surface indexing command (G68.2)) and a technology for making a tool perpendicular to the inclined surface (tool axial control (G53.1)).
[0004] In the case of a machine tool having two rotation axes that can change the direction of a tool, there are two sets of angles of the two rotation axes at which the tool is perpendicular to the inclined surface. Conventional numerical control devices select the one with the smaller amount of movement of the rotation axis from the two sets.
[0005] Prior art literature
[0006] Patent Literature
[0007] Patent Document 1: International Publication No. 2011 / 117915 Summary of the invention
[0008] Problems to be solved by the invention
[0009] However, in the angle group selected by the numerical control device, interference between the tool and the workpiece, the jig, and the like may occur.
[0010] An object of the embodiments of the present invention is to provide a processing device, a program, and a processing method that can prevent interference between a tool and the like when the direction of the tool is changed based on an inclined surface.
[0011] Means for solving problems
[0012] The processing device of the embodiment includes a calculation unit and a determination unit. The calculation unit calculates one or more combinations of angles of a plurality of rotation axes capable of changing the orientation of a tool so that the tool becomes a predetermined angle relative to a plane. The determination unit determines how many degrees to rotate the plurality of rotation axes in which direction in order to set the plurality of rotation axes to any of the combinations calculated by the calculation unit in a manner that minimizes the movement amount or movement time of the rotation of the rotation axis according to an instruction indicating in which direction at least one of the rotation axes is to be rotated.
[0013] Effects of the Invention
[0014] The present invention can prevent interference of a tool or the like when the direction of the tool is changed based on an inclined surface. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a block diagram showing an example of a main configuration of a numerical control system according to an embodiment and components included in the numerical control system.
[0016] Figure 2 Yes means Figure 1 A flowchart of an example of processing by a processor in .
[0017] Figure 3 Yes means Figure 1 A flowchart of an example of processing by a processor in .
[0018] Figure 4 This is a diagram showing an example of a reference destination table of the second vertical command.
[0019] Figure 5 This is a diagram showing a first example of the state of the tool and the spindle when the tool is perpendicular to the inclined surface of the workpiece.
[0020] Figure 6 This is a diagram showing a second example of the state of the tool and the spindle when the tool is perpendicular to the inclined surface of the workpiece.
[0021] Figure 7 This is a diagram showing an example of the state of tools, jigs, etc. DETAILED DESCRIPTION
[0022] The numerical control system of the embodiment is described below using the drawings. In addition, the scales of the various drawings used in the following description of the embodiment are sometimes appropriately changed. In addition, the various drawings used in the following description of the embodiment are sometimes omitted for the purpose of explanation. In addition, in the drawings and this specification, the same symbols represent the same elements.
[0023] Figure 1 This is a block diagram showing an example of a numerical control system 1 according to an embodiment and a main configuration of components included in the numerical control system 1. As an example, the numerical control system 1 includes a numerical control device 100 and an industrial machine 200. The numerical control system 1 is an example of a control system.
[0024] The numerical control device 100 is a device for numerically controlling an industrial machine 200 or the like. In addition, the numerical control device 100 has a function of determining a candidate with a small amount of movement from among candidates for the rotation method of each rotation axis for making a tool perpendicular to an inclined surface. The numerical control device 100 may also be a server device, a PC, a tablet terminal, or a smart phone. As an example, the numerical control device 100 includes: 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. In addition, a bus 180 or the like connects these components.
[0025] The numerical control device 100 is an example of a processing device. When the tool is made perpendicular to the inclined surface, the perpendicularity is an example of a predetermined angle.
[0026] The processor 110 is the core part of the computer that performs the calculation and control required for the operation of the numerical control device 100, and performs various calculations and processes. The processor 110 is, for example, a CPU (central processing unit), an MPU (micro processing unit), a SoC (system on a chip), a DSP (digital signal processor), a GPU (graphics processing unit), an ASIC (application specific integrated circuit), a PLD (programmable logic device) or an FPGA (field-programmable gate array). Alternatively, the processor 110 is a combination of a plurality of them. In addition, the processor 110 may also be a combination of a hardware accelerator and the like. The processor 110 controls each part to realize various functions of the numerical control device 100 according to the firmware, system software, application software, NC (numerical control) program and other programs stored in the ROM 120 or the auxiliary storage device 140. In addition, the processor 110 performs the processing described later according to the program. In addition, a part or all of the program may also be loaded into the circuit of the processor 110. The NC program is a program for numerically controlling the industrial machine 200.
[0027] Furthermore, the processor 110 functions as a program analyzing unit 111 , a direction and position selecting unit 112 , a position selecting unit 113 , and a movement controlling unit 114 by executing the above-mentioned program.
[0028] The program analyzing unit 111 analyzes the NC program.
[0029] The direction position selection unit 112 determines a rotation method of each rotation axis for making the tool perpendicular to the inclined surface using a direction instruction described later.
[0030] The position selection unit 113 determines the rotation method of each rotation axis for making the tool perpendicular to the inclined surface without using a direction instruction described later.
[0031] The movement control unit 114 controls the movement of the tool 220 of the industrial machine 200. The movement control unit 114 controls each rotation axis of the industrial machine 200.
[0032] ROM 120 and RAM 130 are main storage devices of a computer with processor 110 as a core.
[0033] The ROM 120 is a nonvolatile memory dedicated to reading data. The ROM 120 stores, for example, firmware and the like among the above-mentioned programs. In addition, the ROM 120 also stores data and the like used when the processor 110 performs various processes.
[0034] The RAM 130 is a memory for reading and writing data. The RAM 130 is used as a work area for storing data temporarily used when the processor 110 performs various processes, etc. The RAM 130 is typically a volatile memory.
[0035] The auxiliary storage device 140 is an auxiliary storage device of a computer with the processor 110 as the core. The auxiliary storage device 140 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), or a flash memory. The auxiliary storage device 140 stores the above-mentioned programs, such as system software, application software, and NC programs. In addition, the auxiliary storage device 140 stores data used when the processor 110 performs various processes, data generated by the processes in the processor 110, and various setting values.
[0036] Furthermore, the auxiliary storage device 140 stores an inclined surface information table 141. The inclined surface information table 141 will be described later.
[0037] The auxiliary storage device 140 is an example of a storage unit.
[0038] The input device 150 receives an operation from an operator of the numerical controller 100. The input device 150 is, for example, a keyboard, a keypad, a touch panel, a mouse, or a controller. Alternatively, the input device 150 may be a device for voice input.
[0039] The display device 160 displays a screen for notifying the operator of the numerical controller 100 of various information. The display device 160 is, for example, a display such as a liquid crystal display or an organic EL (electro-luminescence) display. In addition, a touch panel can also be used as the input device 150 and the display device 160. That is, the display panel of the touch panel can be used as the display device 160, and the pointing device based on touch input of the touch panel can be used as the input device 150.
[0040] The control interface 170 is an interface for communication between the numerical control device 100 and the industrial machine 200 and the like. The numerical control device 100 controls the industrial machine 200 and the like via the control interface 170 according to the NC program.
[0041] The bus 180 includes a control bus, an address bus, a data bus, and the like, and transmits signals sent and received by each unit of the numerical controller 100 .
[0042] The industrial machine 200 is a machine that operates by numerical control, etc. The industrial machine 200 is, for example, a machine tool, a manipulator, a robot arm, or a robot, etc. As an example, the industrial machine 200 includes an input device 210 , a tool 220 , and a spindle 230 .
[0043] The input device 210 receives an operation from an operator of the industrial machine 200. The input device 210 is, for example, an operation panel, a keyboard, a keypad, a touch pad, a touch panel, a mouse, or a controller. The input device 210 may also be a device for voice input.
[0044] use Figure 5 The tool 220 and the spindle 230 will be described.
[0045] Figure 5 This is a diagram showing a first example of the state of the tool 220 and the spindle 230 when the tool 220 is perpendicular to the inclined surface 301 of the workpiece 300 .
[0046] The tool 220 is a tool such as a drill for performing processing on the workpiece 300 .
[0047] The tool 220 can be mounted on the spindle 230. The spindle 230 can rotate the tool 220 about the central axis of the tool 220, for example.
[0048] In addition, the spindle 230 has 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 orientation of the tool 220 by rotating the tool 220 in the B-axis direction using the rotation axis 231. The rotation axis 232 can rotate in the C-axis direction. The spindle 230 can change the orientation of the tool 220 by rotating the tool 220 in the C-axis direction using the rotation axis 232. The rotation axis 231 and the rotation axis 232 are typically rotatable in either positive or negative directions. The range of rotation of the rotation axis 231 and the rotation axis 232 may be limited or not. In addition, the spindle 230 may also have more than three rotation axes.
[0049] Below, according to Figure 2 as well as Figure 3 The operation of the numerical control system 1 according to the embodiment will be described in detail below. The contents of the processing in the following operation description are just examples, and various processing that can obtain the same result can be used as appropriate. Figure 2 as well as Figure 3 1 is a flowchart showing an example of processing by the processor 110 of the numerical controller 100. The processor 110 executes, for example, a program stored in the ROM 120 or the auxiliary storage device 140. Figure 2 and Figure 3 processing.
[0050] The processor 110 starts to execute the NC program. Figure 2 and Figure 3 processing.
[0051] exist Figure 2 In step ST11 , the processor 110 of the numerical controller 100 acquires an NC program to be executed (hereinafter referred to as “target program”) from the auxiliary storage device 140 or the like.
[0052] exist Figure 2 In the description, the following two NC programs "O0001" and "O0002" are used as examples. That is, the case where the processor 110 obtains "O0001" or "O0002" as the object program is used as an example. In addition, the programming language used in the NC program is not limited. In addition, the NC program can also include multiple commands in one line. In addition, the NC program can also be a single command that spans multiple lines.
[0053] O0001
[0054] N1 G54
[0055] N2 G90 G00 X0 Y200.0 Z0 B0 C0
[0056] N3 G68.2 P1 X-50.0Y0 Z-80.0I0 J30.0 K0
[0057] N4 G53.1 P1
[0058] N5 G43 H1 X0 Y0 Z0
[0059] O0002
[0060] N1 G54
[0061] N2 G90 G00 X0 Y200.0 Z0 B0 C0
[0062] N3 G68.5 P1
[0063] N4 G43 H1 X0 Y0 Z0
[0064] The N at the beginning of the NC programs "O0001" and "O0002" and the number following the N indicate which line it is. If it is N3, it is the third line. The NC programs "O0001" and "O0002" each contain a vertical command. The vertical command is a command to make the tool 220 perpendicular to the inclined surface and set a coordinate system based on the inclined surface. In addition, the inclined surface is an inclined surface defined by the vertical command, etc. In addition, there are two types of vertical commands: a first vertical command and a second vertical command. The NC program "O0001" contains a first vertical command. The NC program "O0002" contains a second vertical command.
[0065] The first line of NC programs "O0001" and "O0002" is a command to determine the coordinate system of the initial state, that is, the X1Y1Z1 coordinate system.
[0066] The second lines of the NC programs “O0001” and “O0002” are commands for moving the tool 220 of the industrial machine 200 .
[0067] The third line of the NC program “O0001” is a command for defining the position and angle of the inclined surface 301 of the workpiece 300 .
[0068] The fourth line of the NC program "O0001" is the first vertical command. In the NC program "O0001", the first vertical command of the fourth line makes the tool 220 perpendicular to the inclined surface 301 defined by the third line. In addition, the first vertical command may also include an instruction indicating in which direction the rotation axis is to be rotated (hereinafter referred to as the "direction instruction"). In the first vertical command of the fourth line of the NC program "O0001", the "P1" part is the direction instruction. The direction instruction "P1" indicates that the rotation axis 231 is rotated in the positive direction (making the B axis the positive direction). In addition to "P1", the direction instruction can also be set to "P-1", "P2" and "P-2". The direction instruction "P-1" indicates that the rotation axis 231 is rotated in the negative direction. The direction instruction "P2" indicates that the rotation axis 232 is rotated in the positive direction (making the C axis the positive direction). The direction instruction "P-2" indicates that the rotation axis 232 is rotated in the negative direction. In addition, the first vertical command may also include multiple direction instructions. In this case, the number of direction indications is 2 or more and the number of rotation axes is less than or equal to 2. For example, the direction indication "P1P2" includes the direction indication "P1" and the direction indication "P2". That is, the direction indication "P1P2" indicates that the rotation axis 231 is rotated in the positive direction and the rotation axis 232 is rotated in the positive direction.
[0069] The third line of the NC program "O0002" is the second vertical command. The second vertical command obtains the position and angle of the inclined surface 301 of the workpiece 300, as well as the direction indication, by referring to the outside of the NC program "O0002". The outside is, for example, a file different from the file containing the NC program "O0002". Alternatively, the outside may be a portion other than the NC program "O0002" of the file containing the NC program "O0002". "P1" in the second vertical command of the third line of the NC program "O0002" is information indicating the reference destination.
[0070] Figure 4 1 is a diagram showing an example of table T1 as a reference destination of the second vertical command. Table T1 is an example of the inclined surface information table 141. Table T1 stores vertical information. The vertical information includes, for example, the position and angle of the inclined surface 301 and a direction indication. In addition, the vertical information may also include candidates for angle combinations and a determined rotation method. Table T1 stores one vertical information in one row, for example. As an example, Table T1 includes a number, an inclined surface solution origin, an inclined surface orientation, a tool vertical motion, a designated rotation axis and a designated rotation direction of the rotation axis, candidate 1, candidate 2, and a determined rotation method.
[0071] The number of table T1 is identification information uniquely assigned to a group of the position and angle of the inclined surface 301 and the direction indication. 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 action indicates whether the tool 220 is made perpendicular to the inclined surface. The designation of the rotation axis and the rotation direction of the designated rotation axis indicate the direction indication. The designation of the rotation axis indicates which rotation axis is the object of the direction indication. The rotation direction of the designated rotation axis is the object of the direction indication. In addition, each row of table T1 may also include multiple direction indications. In this case, the number of direction indications is more than two and less than the number of rotation axes. In the case where table T1 includes two direction indications, table T1 includes, for example, the designation 1 of the rotation axis and the rotation direction 1 of the designated rotation axis, and the designation 2 of the rotation axis and the rotation direction 2 of the designated rotation axis. The designation 1 of the rotation axis and the rotation direction 1 of the designated rotation axis are one direction indication, and the designation 2 of the rotation axis and the rotation direction 2 of the designated rotation axis are one direction indication, and the total is two direction indications.
[0072] Candidate 1 and Candidate 2 each represent a candidate for an angle combination described later. In addition, the number of candidates included in the vertical information is not limited to two.
[0073] The determined rotation method indicates a rotation method determined by a process described later.
[0074] The table T1 is created before the NC program is executed. The reference destination of the second vertical command may be outside the table. In this case, the reference destination stores the position and angle of the inclined surface 301 of the workpiece 300 and the direction indication in a form other than the table.
[0075] "Pn" in the second vertical command indicates, for example, a position in the reference table T1. In addition, n is, for example, an integer greater than 1. "Pn" in the second vertical command indicates, for example, the nth row in the reference table T1. For example, when n=1, that is, "P1" in the second vertical command indicates the first row in the reference table T1.
[0076] In step ST12, processor 110 acquires a command to be executed next from the target program. Hereinafter, the command finally acquired in step ST12 is referred to as an "acquired command".
[0077] In step ST13, the processor 110 determines whether the acquisition command is the first vertical command. If the acquisition command is the first vertical command, the processor 110 determines yes in step ST13 and proceeds to step ST14.
[0078] In step ST14, the processor 110 determines whether the rotation method for executing the acquisition command has been determined. If the rotation method has been determined, the processor 110 determines "no" in step ST14 and proceeds to step ST15. The details of the rotation method will be described later.
[0079] In step ST15, the processor 110 calculates an angle combination based on the inclined surface defined by the first vertical command. In addition, "angle combination" means "a combination of angles of each rotation axis for making the tool perpendicular to the inclined surface". If it is an NC program "O0001", it is defined by the third line. The angle combination calculated here is a candidate for the angle combination used in the control of the industrial machinery 200. In the case where there are two rotation axes that can change the orientation of the tool 220, there are usually two groups of candidates. However, depending on the range of rotation of each rotation axis, the case where there are fewer than two groups of candidates is also considered. In addition, in the case where there are more than three rotation axes, the processor 110 can also limit the calculated combinations to only those that meet predetermined conditions.
[0080] By performing the process of step ST15 , the processor 110 functions as an example of a calculation unit that calculates one or more combinations of angles of a plurality of rotation axes capable of changing the orientation of the tool so that the tool has a predetermined angle with respect to the plane.
[0081] Figure 5 and Figure 6 This shows an example of two angle combination candidates.
[0082] Figure 6 This is a diagram showing a second example of the state of the tool 220 and the spindle 230 when the tool 220 is perpendicular to the inclined surface 301 of the workpiece 300 .
[0083] Figure 5 and Figure 6 The inclined surface 301 shown is inclined 30 degrees relative to the X1 axis. In addition, the inclined surface 301 is parallel to the Y1 axis. In addition, the X1Y1Z1 coordinate system is a coordinate system of an initial state before the tool 220 is made perpendicular to the inclined surface. In addition, the X2Y2Z2 coordinate system is a coordinate system after the tool 220 is made 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 is consistent with the X2Y2 plane.
[0084] exist Figure 5 In the first example shown, the angle of the rotation axis 231 is 30 degrees, and the angle of the rotation axis 232 is 0 degrees. Figure 6 In the second example shown, the angle of the rotation axis 231 is -30 degrees, and the angle of the rotation axis 232 is 180 degrees.
[0085] In step ST16, the processor 110 displays an image representing each angle combination calculated in step ST15 on the display device 160 or the like. For example, the processor 110 displays an image representing the angle combination calculated in step ST15. Figure 5 and Figure 6 Alternatively, the processor 110 displays an image representing each angle combination calculated in step ST15 using characters or the like.
[0086] The processor 110 performs the process of step ST16 in cooperation with the display device 160 , thereby functioning as an example of a display unit that displays an image representing the combination.
[0087] In step ST17, processor 110 determines whether the acquisition command includes a direction instruction. If the acquisition command includes a direction instruction, processor 110 determines YES in step ST17 and proceeds to step ST18.
[0088] In step ST18, the processor 110 determines the rotation method of each rotation axis for making the tool perpendicular to the inclined surface according to the direction instruction in the acquisition command. The rotation method includes the rotation direction and the rotation angle. The processor 110 determines the rotation method that minimizes the amount of movement.
[0089] However, when the rotation method has already been determined, the processor 110 may obtain the determined rotation method instead of determining the rotation method.
[0090] As an example, consider the following situation.
[0091] Angle of rotation axis 231: 0 degrees
[0092] Angle of rotation axis 232: 0 degrees
[0093] The direction instruction included in the acquisition command is to rotate the rotation shaft 231 in the positive direction (P1).
[0094] Inclined surface 301: inclined 30 degrees relative to the X1 axis and parallel to the Y1 axis (with Figure 5 and Figure 6 The inclined surface 301 shown is the same).
[0095] In order to change from this state to the state of the first example, the rotation axis 231 may be rotated 30 degrees in the positive direction. There is no need to rotate the rotation axis 232. In addition, in order to change from this state to the state of the second example, the rotation axis 231 may be rotated 330 degrees in the positive direction and the rotation axis 232 may be rotated 180 degrees in the positive or negative direction.
[0096] When the rotation axis 231 is rotated 30 degrees in the positive direction, the amount of movement is small. Therefore, the rotation method with the least amount of movement is as follows.
[0097] Rotation axis 231: rotate 30 degrees in the positive direction.
[0098] Rotation axis 232: The rotation direction can be any direction, and 0 degrees (no rotation) can be selected.
[0099] In addition, the movement amount can be obtained by, for example, the following (i) or (ii).
[0100] (i) Angle obtained by adding the rotation angles of each rotation axis.
[0101] (ii) The maximum angle among the rotation angles of each rotation axis.
[0102] Furthermore, as another example, the following case is considered.
[0103] Angle of rotation axis 231: 0 degrees
[0104] Angle of rotation axis 232: 0 degrees
[0105] The direction instruction included in the acquisition command is to rotate the rotation shaft 231 in the negative direction (P-1).
[0106] Inclined surface 301: parallel to the X1 axis and inclined at 20 degrees with respect to the Y1 axis.
[0107] The angle combinations in this case are two: combination A1 (angle of rotation axis 231 is 20 degrees, angle of rotation axis 232 is 90 degrees) and combination A2 (angle of rotation axis 231 is -20 degrees, angle of rotation axis 232 is -90 degrees).
[0108] To set the state of combination A1, the rotation axis 231 is rotated 340 degrees in the negative direction and the rotation axis 232 is rotated 90 degrees in the positive direction. In addition, the state of combination A1 is also set when the rotation axis 232 is rotated 270 degrees in the negative direction, but the movement amount is larger than the case of rotating 90 degrees in the positive direction, so it is not suitable. To set the state of combination A2, the rotation axis 231 is rotated 20 degrees in the negative direction and the rotation axis 232 is rotated 90 degrees in the negative direction.
[0109] When the rotation axis 231 is rotated 20 degrees in the negative direction and the rotation axis 232 is rotated 90 degrees in the negative direction, the movement amount is small. Therefore, the rotation method with the least movement amount is as follows.
[0110] Rotation axis 231: rotates 20 degrees in the negative direction.
[0111] Rotation axis 232: rotate 90 degrees in the negative direction.
[0112] On the other hand, if the acquisition command does not include a direction instruction, processor 110 makes a NO determination in step ST17 and proceeds to step ST19 .
[0113] The processor 110 associates the determined rotation method with the target program and the acquisition command and stores the determined rotation method. The rotation method stored here is the determined rotation method.
[0114] For example, the direction position selection unit 112 performs the process of step ST18.
[0115] The processor 110 functions as an example of a determination unit by performing the processing of step ST18, and the determination unit determines in which direction and how many degrees the multiple rotation axes are to be rotated in order to set the multiple rotation axes to any combination calculated by the calculation unit in accordance with an instruction indicating in which direction at least one rotation axis is to be rotated and in a manner that minimizes the movement amount or movement time of the rotation of the rotation axis.
[0116] In step ST19, the processor 110 determines the rotation method of each rotation axis for making the tool perpendicular to the inclined surface. The processor 110 determines the rotation method that minimizes the amount of movement. The rotation method determined in step ST19 is different from that in step ST18, and any rotation axis can be rotated in any direction.
[0117] For example, the position selection unit 113 performs the process of step ST19.
[0118] If the rotation method has been determined, the processor 110 determines YES in step ST14 and proceeds to step ST20 .
[0119] In step ST20 , processor 110 acquires the determined rotation method that was stored in the process of step ST18 during the execution of the target program before the previous one.
[0120] If the acquired command is not the first vertical command, the processor 110 determines in step ST13 that it is no and proceeds to step ST23. Figure 3 Step ST21.
[0121] In step ST21, the processor 110 determines whether the acquisition command is the second vertical command. If the acquisition command is the second vertical command, the processor 110 determines yes in step ST21 and proceeds to step ST22.
[0122] In step ST22, the processor 110 acquires the vertical information designated by the acquisition command. That is, the processor 110 acquires the vertical information from the reference destination based on the information indicating the reference destination included in the second vertical command.
[0123] The inclined surface orientation in the vertical information is an example of the angle of the plane.
[0124] The processor 110 functions as an example of an acquisition unit that acquires a predetermined angle and an instruction from a table by performing the process of step ST22 .
[0125] In step ST23, the processor 110 determines whether the rotation method for executing the acquired command has been determined. For example, when 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.
[0126] In step ST24, the processor 110 calculates the candidate angle combination according to the inclined surface origin and the inclined surface orientation in the vertical information obtained in step ST22. In addition, the processor 110 writes the calculated angle combination to the reference destination included in the second vertical command. For example, the processor 110 writes the calculated angle combination to candidate 1 and candidate 2 in the row of the reference destination in table T1.
[0127] By performing the process of step ST24 , the processor 110 functions as an example of a calculation unit that calculates one or more combinations of angles of a plurality of rotation axes capable of changing the orientation of the tool so that the tool has a predetermined angle with respect to the plane.
[0128] In step ST25, the processor 110 displays an image representing each angle combination calculated in step ST24 on the display device 160 or the like. For example, the processor 110 displays an image representing Figure 5 and Figure 6 Alternatively, processor 110 displays an image representing each angle combination calculated in step ST24 using characters or the like.
[0129] The processor 110 performs the process of step ST25 in cooperation with the display device 160 , thereby functioning as an example of a display unit that displays an image representing the combination.
[0130] In step ST26, the processor 110 determines a rotation method of each rotation axis for making the tool perpendicular to the inclined surface according to the direction instruction in the perpendicularity information acquired in step ST22. The processor 110 determines the rotation method in the same manner as in step ST18, for example.
[0131] In addition, the processor 110 writes the determined rotation method into the reference destination included in the second vertical command. The row numbered 2 in the table T1 is the row into which the determined rotation method is written.
[0132] The processor 110 functions as an example of a determination unit by performing the processing of step ST26, and the determination unit determines in which direction and how many degrees the multiple rotation axes are to be rotated in order to set the multiple rotation axes to any combination calculated by the calculation unit, according to an indication indicating in which direction at least one rotation axis is to be rotated, and in a manner that minimizes the movement amount or movement time of the rotation of the rotation axis.
[0133] If the rotation method has been determined, the processor 110 determines YES in step ST23 and proceeds to step ST27 .
[0134] In step ST27 , the processor 110 obtains the determined rotation method from the vertical information obtained in step ST22 .
[0135] The processor 110 Figure 2 Step ST18, step ST19, step ST20, Figure 3 After processing step ST26 or step ST27, proceed to step ST28.
[0136] In step ST28, the processor 110 executes the vertical command as the acquisition command. Figure 2 Step ST18, step ST19 or Figure 3 In the case where step ST26 proceeds to step ST28, by Figure 2 Step ST18, step ST19 or Figure 3 The processor 110 executes the vertical command by rotating each rotation axis according to the rotation method determined in step ST26. Figure 2 Step ST20 or Figure 3 In the case where step ST27 proceeds to step ST28, by Figure 2 Step ST20 or Figure 3 The rotation method obtained in step ST27 causes each rotation axis to rotate to execute the vertical command.
[0137] If the acquisition command is not the second vertical command, the processor 110 determines NO in step ST21 and proceeds to step ST29 .
[0138] In step ST29 , the processor 110 executes the acquisition command.
[0139] In step ST30, the processor 110 determines whether to terminate the execution of the target program. For example, if there is no command to be executed next, the processor 110 determines that the execution of the target program is terminated. Alternatively, if the command to be executed next is a command to terminate the program, the processor 110 determines that the execution of the target program is terminated. If the execution of the target program is not to be terminated, the processor 110 determines that it is not in step ST30 and returns to the process. Figure 2 On the other hand, if the processor 110 terminates the execution of the target program, it determines in step ST30 that yes, and terminates the execution. Figure 2 and Figure 3 Processing shown.
[0140] According to the numerical control system 1 of the embodiment, the numerical control device 100 rotates the rotation axis in the direction indicated by the direction instruction in the vertical command, thereby making the tool vertical with respect to the inclined surface.
[0141] By including the direction indication in the NC program or table T1, the NC program creator can indicate the rotation direction of the rotation axis when making the tool perpendicular to the inclined surface to the numerical controller 100. Thus, the NC program creator can prevent the tool 220 from interfering with the workpiece or fixture.
[0142] Figure 7 2 is a diagram showing an example of the state of the tool 220 and the fixture 400. Figure 7 In the state shown in FIG. 1 , when the rotation axis 231 is rotated in the positive direction (B1 direction), the tool 220 does not interfere with the fixture 400. However, when the rotation axis 231 is rotated in the negative direction (B2 direction), the tool 220 interferes with the fixture 400. Therefore, the creator of the NC program or the like includes an instruction to rotate the rotation axis 231 in the positive direction as a direction instruction in the NC program or the table T1 or the like. Thus, the numerical control device 100 of the embodiment can execute the vertical command without the tool 220 interfering with the fixture 400.
[0143] Furthermore, according to the numerical control system 1 of the embodiment, the numerical control apparatus 100 causes the display device 160 to display the calculated angle combination. This allows an operator or the like to confirm what angle combinations exist.
[0144] Furthermore, according to the numerical control system 1 of the embodiment, the numerical control device 100 can obtain a direction instruction from the table T1 etc. Therefore, the numerical control device 100 of the embodiment can instruct in which direction to rotate the rotation axis from outside the NC program.
[0145] Furthermore, 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 etc. Therefore, the numerical control device 100 of the embodiment can define the position and angle of the inclined surface 301 outside the NC program.
[0146] In addition, according to the numerical control system 1 of the embodiment, the numerical control device 100 stores the determined rotation method in the auxiliary storage device 140, etc. Therefore, the numerical control device 100 of the embodiment does not need to determine the rotation method when executing the same NC program for the second time or later, and can obtain and use the determined rotation method.
[0147] The above-mentioned embodiment can be modified as follows.
[0148] In the above-mentioned embodiment, the numerical control device 100 makes the tool 220 perpendicular to the inclined surface 301. However, the numerical control device 100 may use another angle instead of perpendicular. The other angle is an example of a predetermined angle.
[0149] The moving time may be used instead of the moving amount. The moving time can be obtained by, for example, the following (iii) or (iv).
[0150] (iii) The time obtained by adding ((rotation angle) ÷ (rotation speed)) of each rotation axis.
[0151] (iv) The longest time among ((rotation angle)÷(rotation speed)) of each rotation axis.
[0152] The processor 110 may implement part or all of the processing implemented by the program in the above-mentioned embodiments through a hardware structure of a circuit.
[0153] The program for implementing the processing of the embodiment is transferred, for example, in a state of being stored in a non-transitory recording medium in the device. However, the device may be transferred without storing the program. Furthermore, the program may be transferred separately and written to the device. In this case, the transfer of the program can be achieved, for example, by recording it in a removable and non-transitory storage medium, or by downloading it via a network such as the Internet or a LAN (local area network).
[0154] Although the embodiments of the present invention have been described above, these are embodiments shown as examples and do not limit the scope of the present invention. The embodiments of the present invention can be implemented in various forms within the scope not departing from the gist of the present invention.
[0155] Explanation of symbols
[0156] 1 Numerical control system;
[0157] 100 numerical control device;
[0158] 110 processors;
[0159] 111 Program Analysis Department;
[0160] 112 direction position selection unit;
[0161] 113 Position Selection Department;
[0162] 114 Mobile Control Unit;
[0163] 120 ROM;
[0164] 130 RAM;
[0165] 140 auxiliary storage device;
[0166] 141 inclined surface information table;
[0167] 150, 210 input devices;
[0168] 160 display device;
[0169] 170 control interface;
[0170] 180 bus;
[0171] 200 Industrial machinery;
[0172] 220 Tools;
[0173] 230 spindle;
[0174] 231, 232 rotation axis.
Claims
1. A processing device, characterized in that: have: a calculation unit that calculates one or more combinations of angles of a plurality of rotation axes capable of changing the orientation of the tool so that the tool has a predetermined angle with respect to the plane; and A determination unit determines in which direction and how many degrees the multiple rotation axes are to be rotated in order to set the multiple rotation axes to any of the combinations calculated by the calculation unit, in accordance with an instruction indicating in which direction at least one of the rotation axes is to be rotated and in such a manner that the movement amount or movement time of the rotation of the rotation axis is minimized.
2. The processing device according to claim 1, characterized in that The processing device further includes a display unit that displays an image representing the combination.
3. The processing device according to claim 1, characterized in that The processing device further includes: an acquisition unit that acquires the angle of the plane and the instruction from a table, The calculation unit calculates the combination using the angle of the plane obtained from the table, The determination unit determines in which direction and by how many degrees each of the plurality of rotation axes is to be rotated, using the instruction acquired from the table.
4. The processing device according to claim 1, characterized in that The processing device further includes a storage unit that stores information indicating in which direction and by how many degrees each of the plurality of rotation axes is to be rotated, determined by the determination unit.
5. A program, characterized in that The processor of the processing device is caused to function as the following: a calculation unit that calculates one or more combinations of angles of a plurality of rotation axes capable of changing the orientation of the tool so that the tool has a predetermined angle with respect to the plane; and A determination unit determines in which direction and how many degrees the multiple rotation axes are to be rotated in order to set the multiple rotation axes to any of the combinations calculated by the calculation unit, in accordance with an instruction indicating in which direction at least one of the rotation axes is to be rotated and in such a manner that the movement amount or movement time of the rotation of the rotation axis is minimized.
6. A processing method, characterized in that: calculating one or more combinations of angles of a plurality of rotation axes capable of changing the orientation of the tool so that the tool has a predetermined angle with respect to the plane, According to an instruction indicating in which direction at least one of the rotation axes is to be rotated, it is determined how many degrees each of the plurality of rotation axes is to be rotated in order to set the plurality of rotation axes to any of the calculated combinations so as to minimize a movement amount or movement time of the rotation of the rotation axis.
Citation Information
Patent Citations
Numerical control device and numerical control method
WO2011117915A1