Control device, control system, and program
By designing the calculation, selection, control and decision parts in the numerical control device, calculating the angle combination of multiple rotation axes and selecting the best combination, the interference problem of the tool when changing direction under the inclined surface reference is solved, and higher machining accuracy and stability are achieved.
Patent Information
- Application Number
- CN202280098153.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-03
- Publication Date
- 2025-03-07
AI Technical Summary
In the numerical control device, when the inclined surface is used as a reference to change the direction of the tool, the tool or the like is prone to interfere with the workpiece or the fixture.
A control device is designed, including a calculation unit, a selection unit, a control unit and a decision unit. The calculation unit calculates the angle combination of the plurality of rotation axes so that the tool can be a predetermined angle with respect to the plane. The selection unit selects the best combination from the calculated combination. The control unit operates by controlling a plurality of rotation axes so as to combine the angles into a selection method of the selection unit. The decision unit decides the angle combination used in the formal action.
It effectively prevents the tools and other tools from interfering with the workpiece or fixture when changing directions, and improves machining accuracy and stability.
Smart Images

Figure CN119585683A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a control device, a control system and a program. 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 procedure as that on 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 capable of changing the direction of a tool, there are two sets of angles of the two rotation axes that make the tool 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 control device, a control system, and a program 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 control device of the embodiment comprises: a calculation unit, a selection unit, a control unit, and a determination unit. The calculation unit calculates a plurality of combinations of angles of a plurality of rotation axes that can change the orientation of a tool so that the tool becomes a predetermined angle relative to a plane. The selection unit selects one group from the plurality of combinations calculated by the calculation unit. The control unit controls the plurality of rotation axes so that the combination of angles of the plurality of rotation axes becomes the combination selected by the selection unit in order to change the orientation of the tool toward a predetermined orientation so that the tool becomes a predetermined angle relative to the plane. The determination unit determines one group to be used in the actual operation from the plurality of combinations calculated by the calculation unit.
[0013] Effects of the Invention
[0014] The present invention can prevent interference between tools and the like when the direction of the tools 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 the numerical control system according to the first embodiment and the second embodiment and components included in the numerical control system.
[0016] Figure 2 Yes means Figure 1 A flowchart of an example of the processing of the first embodiment and the second embodiment performed by the processor in.
[0017] Figure 3 Yes means Figure 1 A flowchart of an example of processing of the first embodiment performed by the processor in.
[0018] Figure 4 Yes means Figure 1 A flowchart of an example of the processing of the first embodiment and the second embodiment performed by the processor in.
[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 Yes means Figure 1 A flowchart of an example of processing of the second embodiment performed by the processor in. DETAILED DESCRIPTION
[0022] Hereinafter, numerical control systems of several embodiments are described using drawings. In addition, the scales of the various drawings used in the description of the following embodiments are sometimes appropriately changed. In addition, the various drawings used in the description of the following embodiments are sometimes represented by omitting the structure for the purpose of explanation. In addition, in the drawings and this specification, the same reference numerals represent the same elements.
[0023] [First embodiment]
[0024] Figure 1 This is a block diagram showing an example of the main configuration of the numerical control system 1 and the components included in the numerical control system 1 according to the first embodiment. 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.
[0025] 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 for selecting and determining an angle combination that is considered to be the best from among candidates for the combination of angles of each rotation axis for making a tool perpendicular to an inclined surface (hereinafter referred to as a "selection function"). In addition, the "combination of angles of each rotation axis for making a tool perpendicular to an inclined surface" is referred to as an "angle combination" hereinafter. 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.
[0026] The numerical control device 100 is an example of a control device. When the tool is made perpendicular to the inclined surface, the perpendicularity is an example of a predetermined angle.
[0027] The processor 110 is a central part of a computer that performs operations and control required for the operation of the numerical control device 100, and performs various operations and processes. The processor 110 is, for example, a CPU (central processing unit), an MPU (micro processing unit), an 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 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 programs such as firmware, system software, application software, and NC (numerical control) 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, part or all of the program may be embedded in the circuit of the processor 110. The NC program is a program for numerically controlling the industrial machine 200.
[0028] Furthermore, the processor 110 functions as a program analyzing unit 111 , a position confirming unit 112 , a selection setting unit 113 , a candidate selecting unit 114 , and a movement controlling unit 115 by executing the above-mentioned program.
[0029] The program analyzing unit 111 analyzes the NC program.
[0030] The position confirmation unit 112 selects one combination from the candidate combinations of the angles of the plurality of rotation axes. In addition, the position confirmation unit 112 causes the industrial machine 200 to perform an operation to make the tool perpendicular to the inclined surface. In addition, the position confirmation unit 112 performs reconfirmation.
[0031] The selection setting unit 113 determines a combination of angles of a plurality of rotation axes to be used in the actual operation.
[0032] The candidate selection unit 114 selects one group from a plurality of candidates.
[0033] The movement control unit 115 controls the rotation axis using the angle combination determined by the selection setting unit 113 .
[0034] The details of the processes executed by the program analyzing unit 111 , the position confirming unit 112 , the selection setting unit 113 , the candidate selecting unit 114 , and the movement controlling unit 115 will be described later.
[0035] ROM 120 and RAM 130 are main storage devices of a computer with processor 110 as a core.
[0036] 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.
[0037] 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 generally a volatile memory.
[0038] 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.
[0039] 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. The input device 150 may also be a device for voice input.
[0040] 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.
[0041] 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.
[0042] The bus 180 includes a control bus, an address bus, a data bus, and the like, and transmits signals exchanged between the various components of the numerical controller 100 .
[0043] 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 .
[0044] 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.
[0045] use Figure 5 The tool 220 and the spindle 230 will be described.
[0046] 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 .
[0047] The tool 220 is a tool such as a drill for performing processing on the workpiece 300 .
[0048] 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.
[0049] In addition, the spindle 230 has a rotating shaft 231 and a rotating shaft 232. The rotating shaft 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 rotating shaft 231. The rotating shaft 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 rotating shaft 232. The rotating shaft 231 and the rotating shaft 232 can usually rotate in either the positive or negative direction. The rotating shaft 231 and the rotating shaft 232 may have a limited range of rotation or may not have a limited range. In addition, the spindle 230 may also have more than three rotating shafts.
[0050] Below, according to Figure 2 to Figure 4The operation of the numerical control system 1 according to the first 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 to Figure 4 1 is a flowchart showing an example of processing performed by the processor 110 of the numerical control device 100. The processor 110 executes, for example, a program stored in the ROM 120 or the auxiliary storage device 140. Figure 2 to Figure 4 processing.
[0051] First, use Figure 2 as well as Figure 3 The operation of the numerical control device 100 and the like when the selection function is executed will be described.
[0052] exist Figure 2 In step ST11, the processor 110 of the numerical controller 100 determines whether to execute the selection function. For example, when there is an operation input to the input device 150 or the input device 210, etc., which indicates the execution of the selection function, the processor 110 determines that the selection function is to be executed. When the input device 210 is operated, the content of the operation input is input to the numerical controller 100 via the control interface 170. Alternatively, when a command or the like indicating the execution of the selection function is input from an external device or the like, the processor 110 determines that the selection function is to be executed. In addition, the processor 110 may determine that the selection function is to be executed according to a predetermined schedule. If the processor 110 does not determine that the selection function is to be executed, it determines that in step ST11, it determines that it is not, and repeatedly performs the processing of step ST11. On the other hand, if the processor 110 determines that the selection function is to be executed, it determines that in step ST11, it determines that it is yes, and proceeds to step ST12.
[0053] In step ST12, the processor 110 determines the NC program of the object to execute the selection function. The NC program determined here will be referred to as the "object program" hereinafter. The processor 110 determines the object program, for example, according to the operation input to the input device 150 or the input device 210. Alternatively, the processor 110 determines the object program, for example, according to an instruction from an external device. Alternatively, the processor 110 uses the NC program that meets the prescribed conditions as the object program. The prescribed condition is, for example, that it has not yet become the object of the execution of the selection function. Alternatively, the prescribed condition is, for example, that the setting of the angle combination in the selection function is not completed.
[0054] In step ST13, the processor 110 acquires the target program from the auxiliary storage device 140 or the like. The processor 110 may acquire the target program from an external storage device.
[0055] In step ST14, the processor 110 analyzes the target program. The processor 110 checks whether there is a vertical command in the target program by analyzing. The vertical command is a command to make the tool perpendicular to the inclined surface and set a coordinate system based on the inclined surface. In addition, the inclined surface is the inclined surface defined by the vertical command.
[0056] In addition, the processor 110 investigates the number of vertical commands in the target program through analysis. In addition, the processor 110 obtains other information required for subsequent processing through analysis.
[0057] For example, the program analysis unit 111 performs the process of step ST14.
[0058] In step ST15, the processor 110 determines whether there is an unselected vertical command in the object program. The selection of the vertical command is performed in step ST16. The vertical command selected once is selected, not unselected. In addition, the processor 110 also determines that there is no unselected vertical command when there is no vertical command in the object program. If the processor 110 determines that there is no unselected vertical command in the object program, it determines as no in step ST15 and returns to step ST11. On the contrary, if the processor 110 determines that there is an unselected vertical command in the object program, it determines as yes in step ST15 and enters step ST16.
[0059] In step ST16, the processor 110 cancels the selection of a vertical command (hereinafter referred to as a "selected command") when there is a selected vertical command. The processor 110 selects one of the unselected vertical commands in the target program. In addition, when there are multiple unselected vertical commands, the processor 110 preferentially selects the one that is executed first.
[0060] When the target program includes a plurality of vertical commands, any two of them are referred to as a first vertical command and a second vertical command.
[0061] In step ST17, the processor 110 determines whether the angle combination to be used has been determined for the selection command. If the angle combination has been determined, the processor 110 determines yes in step ST17 and returns to step ST15. On the other hand, if the angle combination has not been determined, the processor 110 determines no in step ST17 and proceeds to step ST18. In addition, the determination of the angle combination will be described later.
[0062] Based on the above, the processor 110 functions as an example of a control unit by performing the processing of step ST17. When a set of combinations has been determined by the determination unit, the control unit does not perform the following: operating in a manner that makes the combination of angles of multiple rotation axes become the combination selected by the selection unit.
[0063] In step ST18, the processor 110 calculates an angle combination that makes the tool perpendicular to the inclined surface. In addition, the inclined surface is an inclined surface defined by the selection command. The angle combination calculated here is a candidate for the angle combination used in the actual control of the industrial machine 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 less than two groups of candidates is also considered. In addition, when there are three or more rotation axes, the processor 110 can also limit the calculated combinations to only those that meet the specified conditions.
[0064] In addition, each candidate for combination in the first vertical command is an example of the first combination. Each candidate for combination in the second vertical command is an example of the second combination.
[0065] Figure 5 and Figure 6 An example showing two angle combination candidates.
[0066] 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 .
[0067] Figure 5 and Figure 6 The inclined surface 301 shown is inclined by -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 coincides with the X2Y2 plane.
[0068] 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.
[0069] As described above, by performing the process of step ST18 , the processor 110 functions as an example of a calculation unit that calculates a plurality of combinations of angles of a plurality of rotation axes that can change the orientation of the tool so that the tool has a predetermined angle with respect to the plane.
[0070] In step ST19, the processor 110 cancels the selection of an angle combination (hereinafter referred to as a "selected combination") when there is an angle combination being selected. And the processor 110 selects a group from the angle combinations for the selection command. The processor 110 automatically selects one group. At this time, the processor 110 selects one group at random, for example. Alternatively, the processor 110 may select a group that satisfies specified conditions. In addition, the processor 110 is not automatic, and may select the angle combination based on, for example, an operation input for a specified angle combination. The operation input is, for example, an operation input for the input device 150 of the numerical control device 100 or the input device 210 of the industrial machine 200. Alternatively, the processor 110 may select the angle combination based on an input for a specified angle combination from an external device, etc. The angle combination is calculated in step ST18. After processing step ST19, the processor 110 enters into Figure 3 The process of step ST20 is performed.
[0071] The process of step ST19 is performed by, for example, the candidate selection unit 114 .
[0072] As described above, the processor 110 functions as an example of a selection unit that selects one combination from the plurality of combinations calculated by the calculation unit by performing the process of step ST19 .
[0073] exist Figure 3 In step ST20, the processor 110 controls the industrial machine 200 so that each part of the industrial machine 200 moves to the position at the time point when the selection command is started (hereinafter referred to as the "start position".). In the case where the object program is executed before the selection command, the position of each part of the industrial machine 200 becomes the start position of the selection command. For example, in order to move the position of each part of the industrial machine 200 to the start position of the selection command, the processor 110 executes the object program before the selection command. Alternatively, the processor 110 may move the position of each part of the industrial machine 200 to the start position without executing the object program.
[0074] The processor 110 controls the physical industrial machine 200 to move, for example, so that the positions of the various parts of the industrial machine 200 are moved to the starting position. Alternatively, the processor 110 can also control the virtual industrial machine 200 to move, so that the positions of the various parts of the industrial machine 200 are moved to the starting position. Making the virtual industrial machine 200 move in and out means that the virtual industrial machine 200 moves in the virtual space through simulation. In addition, for the sake of distinction, the physical industrial machine 200 is referred to as the industrial machine 200A, and the virtual industrial machine 200 is referred to as the industrial machine 200B.
[0075] The rotation axis of the industrial machine 200A is a real rotation axis, and the rotation axis of the industrial machine 200B is a virtual rotation axis.
[0076] When the processor 110 executes the target program before the selection command, the position of each part of the industrial machine 200 becomes the start position of the selection command.
[0077] The selection of the start position of the command is explained using the following NC program "O0001" as an example.
[0078] O0001
[0079] N1 G54
[0080] N2 G90 G00 X200.0 Y200.0 Z300.0 B0 C90.0
[0081] N3 G68.2 P1 X50.0 Y0 Z100.0 I0 J30.0 K0
[0082] N4 G53.1
[0083] N5 G43 H1 X0 Y0 Z0
[0084] The N at the beginning of the NC program "O0001" and the number following the N indicate the line number. If it is N3, it is the third line. The NC program "O0001" contains a vertical command.
[0085] The first line of the NC program "O0001" is a command for determining the coordinate system of the initial state, that is, the X1Y1Z1 coordinate system.
[0086] The second line of the NC program “O0001” is a command for moving the tool 220 of the industrial machine 200 .
[0087] 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 .
[0088] The fourth line of NC program "O0001" is a vertical command.
[0089] Therefore, in the case of the NC program "O0001", the position after the tool 200 is moved by the command of the second line in the coordinate system determined by the first line is the start position of the vertical command of the fourth line.
[0090] The orientation of the tool 200 at the start position is an example of a prescribed orientation. The orientation of the tool 200 at the start position of the first vertical command is an example of a first prescribed orientation. The orientation of the tool 200 at the start position of the second vertical command is an example of a second prescribed orientation.
[0091] In step ST21, the processor 110 determines whether to set at least one of the moving speed and the moving method of the industrial machine 200. When there is an operation input to the input device 150 or the input device 210, etc. indicating the setting of at least one of the moving speed and the moving method, the processor 110 determines that at least one of the moving speed and the moving method is set. Alternatively, when a command indicating the setting of at least one of the moving speed and the moving method is input from an external device, etc., the processor 110 determines that at least one of the moving speed and the moving method is set. In addition, the processor 110 may also automatically set at least one of the moving speed and the moving method. In this case, the processor 110 determines that at least one of the moving speed and the moving method is set only once. If the processor 110 does not determine that at least one of the moving speed and the moving method is set, it is determined as no in step ST21 and enters step ST22.
[0092] In step ST22, the processor 110 determines whether to start the execution of the selection command. When there is an operation input to the input device 150 or the input device 210, etc. indicating the start of the execution of the selection command, the processor 110 determines that the execution of the selection command has started. Alternatively, when a command indicating the start of the execution of the selection command is input from an external device, etc., the processor 110 determines that the execution of the selection command has started. If the processor 110 does not determine that the execution of the selection command has started, it determines as no in step ST22 and returns to step ST21. In this way, the processor 110 becomes a standby state in which steps ST21 and ST22 are repeated until it is determined that at least one of the moving speed and the moving method of the industrial machine 200 is set, or it is determined that the execution of the selection command has started.
[0093] When the processor 110 determines that the moving speed of the industrial machine 200 is to be set in the waiting state of steps ST21 and ST22 , the processor 110 makes a YES determination in step ST21 and proceeds to step ST23 .
[0094] In step ST23, the processor 110 sets at least one of the moving speed and the moving method of the industrial machine 200. The industrial machine 200 to be set is the industrial machine 200A or the industrial machine 200B. The processor 110 sets at least one of the moving speed and the moving method, for example, according to an operation input indicating at least one of the moving speed and the moving method. The operation input is, for example, an operation input to the input device 150 of the numerical control device 100 or the input device 210 of the industrial machine 200. Alternatively, the processor 110 sets at least one of the moving speed and the moving method according to an input indicating at least one of the moving speed and the moving method from an external device or the like. Alternatively, the processor 110 automatically sets the setting of at least one of the moving speed and the moving method to a predetermined setting. The moving speed set here is preferably a speed slower than that during normal operation. This is to prevent the tool 220, etc. from colliding with a workpiece or a fixture, etc. In addition, this is to prevent a malfunction from occurring in the event of a collision.
[0095] In the moving method of the industrial machine 200, in addition to the usual moving method of moving in an automatic operation mode, there is also a moving method based on manual operation. Manual operation includes manual handle feeding, inching feeding, and incremental feeding. Regarding manual handle feeding, during the operation of manually turning the handle or the like to indicate the feeding instruction, the various parts of the industrial machine 200 move according to the speed of turning the handle or the like. Regarding inching feeding, the various parts of the industrial machine 200 move at a set moving speed only during the period when the operation indicating the feeding instruction such as a manual pressing switch is turned on. Regarding incremental feeding, each time the operation indicating the feeding instruction such as a manual pressing switch is pressed once, the various parts of the industrial machine 200 move a determined amount at the set moving speed. The handle and switch for manual operation are included in the input device 210, for example. Alternatively, the handle and switch for manual operation may also be included in the input device 150. After processing step ST23, the processor 110 returns to step ST21.
[0096] If the processor 110 determines that the selection command is started when in the waiting state of step ST21 and step ST22, it determines that it is yes in step ST22 and proceeds to step ST24. In addition, the processor 110 may also automatically start executing the selection command. In this case, the processor 110 skips the processing of step ST22 and proceeds to step ST24.
[0097] In step ST24, the processor 110 starts to execute the selection command to which the selection combination is applied. By executing the selection command, the processor 110 controls the industrial machine 200A or the industrial machine 200B to move each part so as to set the combination of the angles of each rotating axis to the selection combination. In addition, if the control object is the industrial machine 200B, the execution of the selection command will be executed as a simulation. Through the processing of step ST24, when the moving method is automatic operation, the processor 110 automatically moves each part. And, when the moving method is manual operation, it becomes a moving standby state until an operation indicating a feed instruction based on a handle and a switch is performed. In addition, the execution of the selection command started by step ST24 is performed for action confirmation. That is, it is distinguished from the formal action.
[0098] In addition, it is preferable that the processor 110 simultaneously operates the plurality of rotation axes of the industrial machine 200 rather than operating them one by one when executing the vertical command in the processing of step ST24 and the processing of the actual operation. This is because by operating the plurality of rotation axes simultaneously, the vertical command can be completed in a shorter time than operating them one by one.
[0099] When the control target is the industrial machine 200B, the processor 110 controls the display device 160 to display the operation of the industrial machine 200B. The display device 160 displays the operation of the industrial machine 200B using 2D (two-dimensional) or 3D (three-dimensional) dynamic images or the like.
[0100] The processor 110 cooperates with the display device 160 to display the operation status of the industrial machine 200B, thereby functioning as a display unit that displays the results of the simulation.
[0101] According to the above, the processor 110 functions as an example of a control unit, which controls the plurality of rotation axes so that the combination of the angles of the plurality of rotation axes becomes the combination selected by the selection unit in order to change the orientation of the tool toward the predetermined orientation and make the tool become a predetermined angle relative to the plane by performing the processing of step ST24 when the moving method of the industrial machine 200 is automatic operation. In addition, the inclined plane 301 is an example of the plane. In addition, the inclined plane 301 in the first vertical command is an example of the first plane. The inclined plane 301 in the first vertical command is an example of the second plane.
[0102] In step ST25, processor 110 determines whether to set at least one of the moving speed and the moving method of industrial machine 200, similarly to step ST21. If processor 110 does not determine to set at least one of the moving speed and the moving method, it determines NO in step ST25 and proceeds to step ST26.
[0103] In step ST26, the processor 110 determines whether there is a feed instruction. For example, when an operation indicating a feed instruction is performed, the processor 110 determines that there is a feed instruction. In addition, when the movement method of the industrial machine 200 is set to automatic operation, the processor 110 may skip the processing of step ST26 and proceed to the processing of step ST27. If the processor 110 determines that there is a feed instruction, it determines in step ST26 that it is not, and proceeds to step ST27.
[0104] In step ST27, the processor 110 determines whether the execution of the selection command is completed. For example, if the combination of the angles of each rotation axis becomes the selection combination, the processor 110 determines that the execution of the selection command is completed. If the processor 110 does not determine that the execution of the selection command is completed, it determines in step ST27 that it is no and returns to step ST25. In this way, the processor 110 is in a waiting state of repeatedly performing steps ST25 to ST27 until it is determined that at least one of the moving speed and the moving method of the industrial machine 200 is set, or it is determined that there is a feed instruction, or it is determined that the execution of the selection command is completed.
[0105] When the processor 110 determines that at least one of the moving speed and the moving method of the industrial machine 200 is to be set in the waiting state of steps ST25 to ST27 , the processor 110 determines YES in step ST25 and proceeds to step ST28 .
[0106] In step ST28, processor 110 sets at least one of the moving speed and the moving method of industrial machine 200, similarly to step ST23. After processing step ST28, processor 110 returns to step ST25.
[0107] If the processor 110 determines that there is a feed instruction in the waiting state of steps ST25 to ST27 , the processor 110 determines YES in step ST26 and proceeds to step ST29 .
[0108] In step ST29, the processor 110 executes the selection command according to the feed instruction. As a result, the industrial machine 200 moves by an amount corresponding to the feed instruction.
[0109] When the moving method of the industrial machine 200 is set to manual handle feeding, the industrial machine 200 is moved at a speed corresponding to the speed of turning the handle. In addition, the industrial machine 200 is moved for a period of time corresponding to the time of turning the handle.
[0110] When the moving method of the industrial machine 200 is the inching feed, the processor 110 moves the industrial machine 200 for a period of time corresponding to the length of time during which the operation indicating the feeding instruction continues.
[0111] When the moving method of the industrial machine 200 is incremental feeding, the processor 110 moves the industrial machine 200 by an amount corresponding to the number of times the operation indicating the feeding instruction has been performed.
[0112] After processing step ST29, processor 110 returns to step ST25.
[0113] As described above, when the moving method of the industrial machine 200 is the manual operation, the processor 110 functions as an example of a control unit by performing the processes of step ST24 , step ST26 , and step ST29 .
[0114] When the processor 110 determines that the execution of the selection command has been completed in the waiting state of steps ST25 to ST27 , the processor 110 makes a YES determination in step ST27 and proceeds to step ST30 .
[0115] In step ST30, the processor 110 determines whether to reconfirm. Reconfirmation means re-executing the selection command to which the selection combination is applied. The processor 110 determines to reconfirm when there is an operation input to the input device 150 or the input device 210, etc. indicating reconfirmation. Alternatively, the processor 110 determines to reconfirm when a command indicating reconfirmation is input from an external device, etc. If the processor 110 does not determine to reconfirm, it determines as no in step ST30 and proceeds to step ST31.
[0116] Figure 2 Step ST19~ Figure 3 The process of step ST30 is performed by, for example, the position confirmation unit 112.
[0117] In step ST31, the processor 110 determines whether to select an angle combination. For example, when there is an operation input to the input device 150 or the input device 210, the processor 110 determines that the angle combination is selected. Alternatively, when a command to select an angle combination is input from an external device, the processor 110 determines that the angle combination is selected. If the processor 110 does not determine that the angle combination is selected, it determines no in step ST31 and proceeds to step ST32.
[0118] In step ST32, the processor 110 determines whether to determine the angle combination used in the selection command. If the processor 110 determines that the angle combination is determined, it determines in step ST32 that it is not, and returns to step ST30. In this way, the processor 110 is in a waiting state of repeatedly performing steps ST30 to ST32 until it is determined that the selection command to which the selection combination is applied is reconfirmed, or that any one of the angle combination candidates is selected, or that the angle combination is determined.
[0119] If the processor 110 determines that reconfirmation is to be performed in the waiting state of steps ST30 to ST32 , the processor 110 makes a YES determination in step ST30 and returns to step ST20 .
[0120] If the processor 110 determines that any one of the angle combination candidates is selected in the waiting state of steps ST30 to ST32, it determines that it is yes in step ST31 and returns to step ST32. Figure 2 Step ST19.
[0121] Then, if the processor 110 returns to step ST19, in step ST19, for example, an angle combination different from the angle combination that has been released from selection is selected. Alternatively, the processor 110 selects the angle combination, for example, based on an operation input that specifies the angle combination. The operation input is, for example, an operation input to the input device 150 of the numerical control device 100 or the input device 210 of the industrial machine 200. Alternatively, the processor 110 selects the angle combination based on an input that specifies the angle combination from an external device or the like.
[0122] In this way, the processor 110 executes the selection command to which each candidate is applied while changing the selection of the angle combination for the selection command. The operator using the numerical control system 1 can confirm whether the tool 220 or the like interferes with the workpiece 300 or the fixture by visually confirming the action of the industrial machine 200 when each candidate selection command is executed. And the operator decides which angle combination to use in the actual action based on the result of the confirmation. The operator specifies which angle combination to decide to use to the numerical control device 200 by operating the input device 150 or the input device 210 or the like.
[0123] The processor 110 Figure 3 In step ST32, for example, when there is an operation input to the input device 150 or the input device 210 to specify which angle combination to use in the selection command, it is determined that the angle combination is determined. Alternatively, when information specifying which angle combination to use in the selection command is input from an external device, the processor 110 determines that the angle combination is determined.
[0124] When the processor 110 determines that the angle combination is to be determined in the waiting state of steps ST30 to ST32 , the processor 110 determines YES in step ST32 and proceeds to step ST33 .
[0125] In step ST33, the processor 110 determines the angle combination used in the selection command in the formal operation. The processor 110 determines the angle combination specified by the operation on the input device 150 or the input device 210 as the angle combination used in the selection command. Alternatively, the processor 110 determines the angle combination specified by an external device as the angle combination used in the selection command.
[0126] The process of step ST33 is performed by, for example, the selection setting unit 113 .
[0127] As described above, the processor 110 performs the process of step ST33 to function as an example of a determination unit that determines one combination to be used in the actual operation from among the plurality of combinations calculated by the calculation unit.
[0128] In step ST34, the processor 110 associates the determination information with the target program and the selection command and stores them in the auxiliary storage device 140 or the like. The determination information is information indicating the angle combination determined in step ST33. After processing step ST34, the processor 110 returns to Figure 2 Step ST15.
[0129] According to the above, the processor 110 repeatedly performs Figure 2 Step ST15~ Figure 3 In step ST34, for each vertical command included in the target program, a combination of angles to be actually used is determined and stored in the auxiliary storage device 140 or the like.
[0130] Next, use Figure 4 The operation of the numerical controller 100 and the like when the NC program is actually used to perform the actual operation of the industrial machine 200 will be described.
[0131] exist Figure 4In step ST41, the processor 110 of the numerical controller 100 acquires the NC program to be executed from the auxiliary storage device 140 or the like. In addition, when there is determination information associated with the NC program, the processor 110 also acquires the determination information.
[0132] In step ST42 , the processor 110 starts executing the acquired NC program.
[0133] In step ST43, the processor 110 obtains the command to be executed next (hereinafter referred to as "next command") and determines whether the obtained next command is a vertical command. If the obtained next command is not a vertical command, the processor 110 determines "no" in step ST43 and proceeds to step ST44.
[0134] In step ST44 , the processor 110 executes the next command acquired in step ST43 .
[0135] On the other hand, if the next command obtained is a vertical command, the processor 110 determines YES in step ST43 and proceeds to step ST45 .
[0136] In step ST45, the processor 110 refers to the decision information associated with the vertical command, and acquires the determined angle combination. The vertical command is the next command acquired in step ST43.
[0137] In step ST46, the processor 110 executes the vertical command to which the angle combination acquired in step ST45 is applied. This vertical command is the next command acquired in step ST43.
[0138] The process of step ST46 is executed by the movement control unit 115, for example.
[0139] After completing the process of step ST44 or step ST46 , the processor 110 proceeds to step ST47 .
[0140] In step ST47, the processor 110 determines whether to terminate the execution of the acquired NC program. For example, if there is no next command, the processor 110 determines that the execution of the NC program is terminated. If the execution of the NC program is not terminated, the processor 110 determines that it is not terminated in step ST47 and returns to step ST43. On the other hand, if the execution of the NC program is terminated, the processor 110 determines that it is not terminated in step ST47 and returns to step ST43. Figure 4 The processing ends the execution of the NC program.
[0141] According to the numerical control system 1 of the first embodiment, the numerical control device 100 selects one group from a plurality of angle combination candidates. Then, the numerical control device 100 controls and operates the industrial machine 200 by executing a vertical command to which the selected group is applied. In addition, the industrial machine 200 determines the angle combination to be officially used.
[0142] Thus, the operator can confirm the action of the industrial machine 200 for each candidate. Therefore, the operator can determine the candidate that is considered to be the best from each candidate as the angle combination to be used formally. For example, the operator can determine the candidate that does not cause interference from each candidate as the angle combination to be used formally. In addition, when there are multiple candidates that do not cause interference, the operator can, for example, determine the angle combination that has the shortest time until the action is completed from each candidate that does not cause interference as the angle combination.
[0143] According to the numerical control system 1 of the first embodiment, the numerical control device 100 may control the real industrial machine 200 in the selected function. In this case, the operator or the like can check the operation of the industrial machine 200 by observing the real object.
[0144] Furthermore, according to the numerical control system 1 of the first embodiment, the numerical control device 100 determines the angle combination to be used in accordance with the operation input. Therefore, the operator or the like can make the numerical control device 100 use a desired angle combination in use.
[0145] In addition, according to the numerical control system 1 of the first embodiment, the numerical control device 100 sometimes controls the virtual industrial machine 200 in the selection function. That is, the numerical control device 100 of the embodiment sometimes performs simulation in the selection function. In this case, the numerical control device 100 of the embodiment does not need to operate the real industrial machine 200. Therefore, the numerical control device 100 of the embodiment can execute the selection function even in the case where the industrial machine 200 cannot be used.
[0146] Furthermore, according to the numerical control system 1 of the first embodiment, the numerical control device 100 displays the simulation result, so that an operator or the like can check the operation status of the virtual industrial machine 200 .
[0147] Furthermore, according to the numerical control system 1 of the first embodiment, when the NC program includes a plurality of vertical commands, the numerical control device 100 determines the angle combination to be formally used for each vertical command. Thus, even when the NC program includes a plurality of vertical commands, the operator can make the numerical control device 100 formally use a desired set according to the vertical command.
[0148] In addition, according to the numerical control system 1 of the first embodiment, the numerical control device 100 skips the process for determining the combination for the vertical command of the angle combination that has been determined to be officially used. Therefore, the numerical control device 100 of the embodiment can prevent the operator and the like from performing unnecessary re-confirmation of the action for the vertical command of the angle combination that has been determined to be officially used.
[0149] [Second embodiment]
[0150] In the second embodiment, the numerical controller 100 automatically determines the angle combination used in the selection command.
[0151] The configuration of the numerical control system 1 of the second embodiment is the same as that of the first embodiment.
[0152] Below, according to Figure 2 , Figure 4 as well as Figure 7 The operation of the numerical control system 1 according to the second 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 , Figure 4 as well as Figure 7 1 is a flowchart showing an example of processing performed by the processor 110 of the numerical control device 100. The processor 110 executes, for example, a program stored in the ROM 120 or the auxiliary storage device 140. Figure 2 , Figure 4 as well as Figure 7 processing.
[0153] In the description of the operation of the second embodiment, description of the same parts as those of the first embodiment may be omitted.
[0154] In the second embodiment, the processor 110 executes Figure 2 and Figure 4 In the second embodiment, the processor 110 executes Figure 7 Instead of Figure 3 .
[0155] In the second embodiment, the processor 110 Figure 7 In step ST20, the industrial machine 200B is controlled so that each part of the industrial machine 200B moves to the start position.
[0156] In the second embodiment, after the processing of step ST20 , the processor 110 proceeds to step ST24 .
[0157] In the second embodiment, the processor 110 uses the industrial machine 200B as a control object in step ST24. That is, in the second embodiment, the execution of the selection command to which the selection combination is applied is limited to simulation. In addition, in the second embodiment, the moving method of the industrial machine 200B is automatic operation. In addition, in the second embodiment, it is preferred that the processor 110 simulates at a speed corresponding to the speed that the processor 110 can handle without considering the setting of the moving speed. Therefore, the processor 110 may not set the moving speed.
[0158] In the second embodiment, processor 110 proceeds to step ST27 after the process of step ST24.
[0159] In the second embodiment, if the processor 110 determines that the result is NO in step ST27, the process returns to step ST27. Then, if the processor 110 determines that the result is YES in step ST27, the process proceeds to step ST51.
[0160] In step ST51, the processor 110 determines whether there is an unselected angle combination. Figure 2 The angle combination is calculated in step ST18. The angle combination is selected in step ST19. The angle combination selected once becomes selected, not unselected. If there is an unselected angle combination, the processor 110 Figure 3 If it is determined to be yes in step ST51, the process returns to Figure 2 Step ST19.
[0161] In the second embodiment, the processor 110 selects from the unselected angle combinations in step ST19.
[0162] On the other hand, if there is no unselected angle combination, the processor 110 makes a NO determination in step ST51 and proceeds to step ST52 .
[0163] According to the above, the processor 110 repeatedly performs Figure 2 and Figure 7 Steps ST19, ST20, ST24, ST27, and ST51 are executed to which the selection command to which each angle combination calculated in step ST18 is applied is applied.
[0164] exist Figure 7In step ST52, the processor 110 selects the best angle combination from the plurality of angle combinations and determines it as the angle combination to be formally used. Here, the best angle combination refers to, for example, an angle combination that does not cause interference and has the shortest time until the action is completed. In addition, interference occurs, for example, between the tool 220 and the workpiece 300 or the fixture. After processing step ST52, the processor 110 proceeds to step ST34.
[0165] Based on the above, the processor 110 functions as an example of a determination unit by performing the process of step ST52.
[0166] The determination information in step ST34 of the second embodiment is information indicating the angle combination determined in step ST52.
[0167] According to the numerical control system 1 of the second embodiment, the numerical control device 100 automatically selects the angle combination. In addition, the numerical control device 100 of the embodiment automatically determines the angle combination to be used. Thus, the numerical control device 100 of the embodiment can reduce the labor of the operator and the like.
[0168] The above-mentioned embodiment can also be modified as follows.
[0169] 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.
[0170] The numerical control device 100 may not have the function of controlling the industrial machine 200A. In this case, the numerical control device 100 does not execute Figure 4 Processing shown.
[0171] 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.
[0172] 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 removably recording it in a non-transitory storage medium or downloading it via a network such as the Internet or a LAN (local area network).
[0173] Although the embodiments of the present invention have been described above, these are merely examples and do not limit the scope of the present invention. The embodiments of the present invention can be implemented in various forms without departing from the spirit of the present invention.
[0174] Description of Reference Numerals
[0175] 1 Numerical control system
[0176] 100 Numerical control device
[0177] 110 Processor
[0178] 111 Program Analysis Department
[0179] 112 Position confirmation department
[0180] 113 Select Settings
[0181] 114 Candidate Selection Department
[0182] 115 Mobile Control Department
[0183] 120 ROM
[0184] 130 RAM
[0185] 140 Auxiliary storage device
[0186] 150, 210 Input devices
[0187] 160 Display devices
[0188] 170 Control interface
[0189] 180 Bus
[0190] 200 Industrial Machinery
[0191] 220 Tools
[0192] 230 Spindle
[0193] 231, 232 rotation axis.
Claims
1. A control device, characterized in that: have: a calculation unit that calculates a plurality of 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; a selection unit configured to select one group from the plurality of combinations calculated by the calculation unit; a control unit configured to control the plurality of rotation axes so as to change the orientation of the tool toward a predetermined orientation so that the tool becomes a predetermined angle relative to the plane, and to operate in such a manner that a combination of angles of the plurality of rotation axes becomes the combination selected by the selection unit; and A determination unit determines one set to be used in a main operation from among the plurality of combinations calculated by the calculation unit.
2. The control device according to claim 1, characterized in that: The rotation axis is the rotation axis of the physical object.
3. The control device according to claim 1, characterized in that: The determination unit determines a group based on an operation input.
4. The control device according to claim 1, characterized in that: The rotation axis is a virtual rotation axis, The movement of the rotating shaft is based on a simulation of the control unit.
5. The control device according to claim 4, characterized in that: The control device further includes a display unit that displays a result of the simulation.
6. The control device according to claim 4, characterized in that: The selection unit performs the following operations for each of the plurality of combinations calculated by the calculation unit: selecting one group from the plurality of combinations calculated by the calculation unit; The control unit performs the following operations for each of the plurality of combinations selected by the selection unit: controlling the plurality of rotation axes so that the angle combination of the plurality of rotation axes becomes the combination selected by the selection unit; The determination unit determines the one group that does not cause interference.
7. The control device according to claim 1, characterized in that: The control unit operates the plurality of rotating shafts simultaneously.
8. The control device according to claim 1, characterized in that: The calculation unit calculates a plurality of first combinations of angles that make the tool have the predetermined angle with respect to the first plane, and a plurality of second combinations of angles that make the tool have the predetermined angle with respect to the second plane. The control unit executes the following contents respectively on the multiple first combinations calculated by the calculation unit: in order to change the orientation of the tool toward a first specified orientation so that the tool becomes the specified angle relative to the first plane, the multiple rotation axes are controlled so that the combination of the angles of the multiple rotation axes becomes the first combination calculated by the calculation unit; and executes the following contents respectively on the multiple second combinations calculated by the calculation unit: in order to change the orientation of the tool toward a second specified orientation so that the tool becomes the specified angle relative to the second plane, the multiple rotation axes are controlled so that the combination of the angles of the multiple rotation axes becomes the second combination calculated by the calculation unit. The determination unit determines one group used in the actual operation from among the plurality of the first combinations calculated by the calculation unit, and determines one group used in the actual operation from among the plurality of the second combinations calculated by the calculation unit.
9. The control device according to claim 1, characterized in that: The control unit does not operate such that the combination of the angles of the plurality of rotation axes becomes the combination selected by the selection unit, when the determination unit has determined one combination.
10. A control system, characterized in that: Include: Control devices; and Industrial machinery containing multiple rotating axes capable of changing the orientation of a tool, The control device has: a calculation unit that calculates a plurality of combinations of angles of the plurality of rotation axes that allow the tool to have a predetermined angle with respect to a plane; a selection unit configured to select one group from the plurality of combinations calculated by the calculation unit; a control unit configured to control the plurality of rotation axes so as to change the orientation of the tool toward a predetermined orientation so that the tool becomes a predetermined angle relative to the plane, and to operate in such a manner that a combination of angles of the plurality of rotation axes becomes the combination selected by the selection unit; and A determination unit determines a set to be used in a formal operation from among the plurality of combinations calculated by the calculation unit.
11. A program, characterized in that The processor of the control device is made to function as the following parts: a calculation unit that calculates a plurality of 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; a selection unit configured to select one group from the plurality of combinations calculated by the calculation unit; a control unit configured to control the plurality of rotation axes so as to change the orientation of the tool toward a predetermined orientation so that the tool becomes a predetermined angle relative to the plane, and to operate in such a manner that a combination of angles of the plurality of rotation axes becomes the combination selected by the selection unit; and A determination unit determines one set to be used in a main operation from among the plurality of combinations calculated by the calculation unit.
Citation Information
Patent Citations
Numerical control device and numerical control method
WO2011117915A1