Numerical control device and numerical control system

WO2025062629A1PCT designated stage expired Publication Date: 2025-03-27FANUC LTD

Patent Information

Application Number
PCT/JP2023/034509
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-22
Publication Date
2025-03-27

Smart Images

  • Figure JP2023034509_27032025_PF_FP_ABST
    Figure JP2023034509_27032025_PF_FP_ABST
Patent Text Reader

Abstract

Provided are a numerical control device and a numerical control system that are capable of monitoring the motion of a robot control device while a robot is being made to move by means of the commands of a numerical control program from the numerical control device. The numerical control device is for controlling a robot via a robot control device using a numerical control program. The robot comprises a main shaft for processing a workpiece. The numerical control device comprises: a program analysis unit that analyzes the numerical control program; a main shaft setting unit that generates main shaft setting information; a main shaft control determination unit that communicates main shaft control commands to a main shaft control device or a data transmission / reception unit on the basis of the main shaft setting information; and the data transmission / reception unit which, if the robot control device is to control the main shaft, communicates the main shaft control commands to the robot control device. The main shaft control device controls the main shaft on the basis of the main shaft control commands communicated by the main shaft control determination unit or the robot control device.
Need to check novelty before this filing date? Find Prior Art

Description

Numerical control device and numerical control system

[0001] The present disclosure relates to a numerical control device and a numerical control system.

[0002] In recent years, in order to promote automation in machining sites, a numerical control system has become known that controls the operation of a machine tool that processes a workpiece in conjunction with the operation of a robot installed in the vicinity of the machine tool (see, for example, Patent Document 1).

[0003] There is also known a technique of attaching a spindle to a robot to perform machining. For example, in a numerical control system in which a spindle is attached to a robot to perform machining, the robot and a numerical control device are connected and a numerical control device is used to issue movement commands to the robot.

[0004] Patent No. 5752179

[0005] In such a numerical control system, the robot can be controlled by commands from the numerical control device. Furthermore, although the spindle is usually controlled by the numerical control device, it is also possible to control the spindle from the robot control device by connecting the robot and the spindle motor via I / O.

[0006] However, in order to control the spindle from the robot control device, it is necessary to create a ladder for the numerical control device to send signals to the robot and to connect the robot and the spindle motor via I / O, which is a difficult task for machine tool users.

[0007] Therefore, there is a demand for a numerical control device and a numerical control system that allows the numerical control device to easily control the spindle of a robot without connecting the numerical control device to the robot via an I / O.

[0008] One aspect of the present disclosure is a numerical control device that controls a robot via a robot control device using a numerical control program, the robot having a spindle for machining a workpiece, the numerical control device comprising: a program analysis unit that analyzes a robot control command and a spindle control command in the numerical control program; a spindle setting unit that generates spindle setting information indicating whether the spindle is to be controlled by the numerical control device or the robot control device; a spindle control determination unit that, based on the spindle setting information, notifies a spindle control device that controls the spindle of the spindle, and notifies a data transmission / reception unit of the spindle control command, when the numerical control device controls the spindle, and the data transmission / reception unit that notifies the robot control device of the spindle control command, when the robot control device controls the spindle; and the spindle control device controls the spindle based on the spindle control command notified from the spindle control determination unit or the robot control device.

[0009] One aspect of the present disclosure is a numerical control system that controls a robot via a robot control device using a numerical control program of a numerical control device, the robot having a spindle for machining a workpiece, and comprising: a program analysis unit that analyzes robot control commands and spindle control commands in the numerical control program; a spindle setting unit that generates spindle setting information indicating whether the spindle will be controlled by the numerical control device or the robot control device; a spindle control determination unit that, when the numerical control device controls the spindle, notifies the spindle control command to a spindle control device that controls the spindle based on the spindle setting information, and when the robot control device controls the spindle, notifies the spindle control command to a data transmission / reception unit; and the data transmission / reception unit that notifies the robot control device of the spindle control command when the robot control device controls the spindle, and the spindle control device controls the spindle based on the spindle control command notified from the spindle control determination unit or the robot control device.

[0010] It is a functional block diagram of a numerical control system according to the present embodiment. It is a functional block diagram of a numerical control device and a robot control device according to the present embodiment. It is a diagram showing an example of a numerical control program for a robot. It is a sequence diagram showing the flow of signals and information between the numerical control device, the robot, and the spindle amplifier when the numerical control program shown in FIG.

[0011] 1 is a functional block diagram of a numerical control system 1 according to an embodiment of the present disclosure.

[0012] The numerical control system 1 includes a computer numerical control (CNC) 3 that controls the operation of the spindle of the robot 2, the robot 2 having the spindle, and a robot control device 4 that controls the operation of the robot 2. The numerical control system 1 controls the operation of the robot 2 and the operation of the spindle of the robot 2 in a linked manner by using the numerical control device 3 and the robot control device 4 that are communicably connected to each other.

[0013] The robot 2 operates under the control of a robot control device 4, and performs a predetermined task on, for example, a workpiece to be machined by the robot 2. The robot 2 is, for example, an articulated robot, and a tool 22 for gripping, machining, and inspecting the workpiece is attached to the tip of the arm of its movable part 21. In the following, the robot 2 will be described as a six-axis articulated robot, but the number of axes is not limited to this. In the following, the robot 2 will be described as a six-axis articulated robot, but the number of axes is not limited to this.

[0014] The numerical control device 3 and the robot control device 4 are each computers configured with hardware such as a processing means such as a CPU (Central Processing Unit), auxiliary storage means such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores various computer programs, main storage means such as a RAM (Random Access Memory) for storing data temporarily required for the processing means to execute the computer programs, operation means such as a keyboard through which an operator performs various operations, and display means such as a display that displays various information to the operator. The numerical control device 3 and the robot control device 4 are capable of sending and receiving various signals to each other via, for example, Ethernet (registered trademark).

[0015] 2 is a functional block diagram of the robot 2, the numerical control device 3, and the robot control device 4 according to this embodiment. First, a detailed configuration of the robot 2 will be described. As shown in FIG. 2, the robot 2 includes a movable part 21, a tool 22, a spindle 23, a spindle motor 24, and a spindle amplifier 25 (spindle control unit).

[0016] The movable part 21 is configured by, for example, an arm and a hand of the robot 2, and operates based on a robot control command described later. The tool 22 is, for example, a cutting tool, and may be attached to the tip of the arm of the movable part 21.

[0017] The spindle 23 may be attached to the movable part 21, or may be attached to a main body part (non-movable part) of the robot 2. The movable part 21 and the spindle 23 work together to machine a workpiece (i.e., a workpiece). The spindle 23 may rotate the tool 22 to machine the workpiece with the tool 22, or may rotate the workpiece to machine the workpiece with the tool 22. The spindle motor 24 is a motor for driving the spindle 23, and is controlled by a spindle amplifier 25.

[0018] The spindle amplifier 25 is configured by a servo amplifier that applies a drive current to the spindle motor 24. As will be described later, the spindle amplifier 25 applies a drive current to the spindle motor 24 based on a spindle control command notified from the spindle control determination unit 36 ​​or the robot control device 4, thereby controlling the operation of the spindle 23.

[0019] Next, we will explain the detailed configuration of the numerical control device 3. As shown in Figure 2, the numerical control device 3 realizes various functions such as the function of controlling the operation of the spindle 23 of the robot 2 by using the above hardware configuration.

[0020] The numerical control device 3 controls the robot 2 via the robot control device 4 using a numerical control program. That is, the numerical control device 3 generates various commands for controlling the operations of the robot 2 and the spindle 23 in accordance with the numerical control program for the robot, and transmits them to the robot control device 4 and the robot 2. More specifically, the numerical control device 3 includes a program input unit 31, a program analysis unit 32, a memory unit 33, an operation unit 34, a spindle setting unit 35, a spindle control determination unit 36, a data transmission / reception unit 37, a display unit 38, a display control unit 39, and an information acquisition unit 40.

[0021] The program input unit 31 reads out a numerical control program for a robot, which is composed of a plurality of robot command blocks, from the storage unit 33 and inputs it sequentially to the program analysis unit 32 .

[0022] The program analysis unit 32 analyzes the command type based on the numerical control program input from the program input unit 31 for each command block, and outputs the analysis result to the spindle control determination unit 36 ​​and the data transmission / reception unit 37. More specifically, the program analysis unit 32 analyzes the robot control commands and spindle control commands in the numerical control program, and outputs the analysis result to the spindle control determination unit 36 ​​and the data transmission / reception unit 37.

[0023] The storage unit 33 stores, for example, a plurality of numerical control programs created based on operations by an operator. More specifically, the storage unit 33 stores numerical control programs configured by a plurality of command blocks for the spindle 23 to control the operation of the spindle 23, a plurality of command blocks for the robot 2 to control the operation of the movable part 21 of the robot 2, etc. The numerical control programs stored in the storage unit 33 are written in a known programming language for controlling the operation of the spindle 23 and the robot 2, such as G-code or M-code.

[0024] The storage unit 33 also stores, for example, robot coordinate values ​​indicating the position and posture of a control point (for example, the tip of the arm of the robot 2) of the robot 2 operating under the control of the robot control device 4, in other words, the position of each control axis of the robot 2. The storage unit 33 is successively updated with the robot coordinate values ​​acquired from the robot control device 4 by processing not shown, so that the latest values ​​of the robot coordinate values ​​that change successively under the numerical control program are stored.

[0025] The storage unit 33 also stores teaching positions such as the start point and end point of the robot 2 input by the operator. Specifically, the storage unit 33 stores teaching positions of the robot 2 input from a teach pendant or the like, teaching positions input from a keyboard or the like, etc. The teaching positions of the robot 2 include robot coordinate values ​​that indicate the positions of each control axis of the robot 2.

[0026] The operation unit 34 is a device for operating the numerical control device 3. The operation unit 34 may be configured with a touch panel display in addition to soft keys and a display. For example, a user of the numerical control device 3 uses the operation unit 34 to select whether the spindle 23 is to be controlled by the numerical control device 3 or the robot control device 4.

[0027] The spindle setting unit 35 generates spindle setting information indicating whether the spindle 23 is to be controlled by the numerical control device 3 or the robot control device 4, and notifies the spindle setting information to the spindle control determination unit 36. In addition, the spindle setting unit 35 receives a selection by the user of the numerical control device 3 from the operation unit 34, and generates spindle setting information in accordance with the selection by the user.

[0028] The spindle control determination unit 36 ​​receives the spindle setting information from the spindle setting unit 35, and determines whether the numerical control device 3 or the robot control device 4 will control the spindle 23 based on the spindle setting information.

[0029] When the numerical control device 3 controls the spindle, the spindle control determination unit 36 ​​notifies the spindle control command to the spindle amplifier 25 (spindle control device) that controls the spindle 23. On the other hand, when the robot control device 4 controls the spindle 23, the spindle control determination unit 36 ​​notifies the data transmission / reception unit 37 of the spindle control command. Here, the spindle control command includes at least one of start and stop of rotation of the spindle 23, the rotation direction of the spindle 23, and the rotation speed of the spindle 23.

[0030] The data transmitter / receiver 37 transmits and receives various data such as commands and robot coordinate values ​​to and from a data transmitter / receiver 41 of the robot controller 4. Specifically, when the robot controller 4 controls the spindle, the data transmitter / receiver 37 transmits (notifies) a spindle control command to the data transmitter / receiver 41 of the robot controller 4.

[0031] The display unit 38 is a display device such as a liquid crystal display, an organic EL display, a touch panel display, etc., and outputs various information. In the example shown in Fig. 2, the display unit 38 is built into the numerical control device 3, but it may also be an output device external to the numerical control device 3 and the robot control device 4. Furthermore, the display unit 38 may also be a device integrated with the operation unit 34.

[0032] When the numerical control device 3 controls the spindle 23, the display control unit 39 acquires information about the spindle 23 from the information acquisition unit 40 and outputs the information about the spindle 23 to the display unit 38 or an external device.

[0033] When the numerical control device 3 controls the spindle 23, the information acquisition unit 40 acquires information about the spindle 23 from the spindle amplifier 25 and notifies the display control unit 39 of the information about the spindle 23. Here, the information about the spindle 23 includes at least one of the speed, load, and power consumption of the spindle 23. This allows the user of the numerical control device 3 to check the spindle speed and load of the robot 2 on, for example, a smart load meter screen.

[0034] Next, the configuration of the robot control device 4 will be described in detail. As shown in Fig. 2, the above hardware configuration of the robot control device 4 realizes various functions, such as a data transmission / reception unit 41, an analysis unit 42, a storage unit 43, a robot command generation unit 44, a program management unit 45, a trajectory control unit 46, a kinematics control unit 47, a servo control unit 48, a spindle command transmission unit 49, and an information acquisition unit 50. By using these functional units, the robot control device 4 controls the operation of the robot 2 and the spindle 23 based on commands transmitted from the numerical control device 3.

[0035] The data transmitter / receiver 41 receives robot command signals (corresponding to robot control commands) transmitted from the data transmitter / receiver 37 of the numerical control device 3. The data transmitter / receiver 41 also outputs the received robot command signals to the analyzer 42 one by one.

[0036] The analysis unit 42 analyzes the robot command signal input from the data transmission / reception unit 41. The analysis unit 42 also outputs the analysis result to the robot command generation unit 44.

[0037] The storage unit 43 stores a robot program and various information for controlling the robot 2. The storage unit 43 also stores a load setting for the robot 2. In this embodiment, the storage unit 43 is provided in the robot control device 4, but the storage unit 43 may be provided in the numerical control device 3, or in an electronic device or an external server external to the numerical control device 3 and the robot control device 4.

[0038] The robot command generation unit 44 generates a robot command corresponding to the robot command signal based on the analysis result of the robot command signal input from the analysis unit 42. The robot command generation unit 44 outputs the generated robot command to the program management unit 45.

[0039] When the program management unit 45 receives a robot command from the robot command generation unit 44, it executes the robot command sequentially to generate an operation plan for the robot 2 in accordance with the robot command signal, and outputs the operation plan to the trajectory control unit 46.

[0040] Furthermore, when the robot command input from the robot command generation unit 44 is a block robot command, the program management unit 45 adds the input block robot command to the robot program stored in the storage unit 43. As a result, a robot program corresponding to the robot command signal transmitted from the numerical control device 3 is generated and stored in the storage unit 43. The stored robot program is started and played back when the program management unit 45 receives a robot program start command as a robot command.

[0041] When the motion plan is input from the program management unit 45 , the trajectory control unit 46 calculates time-series data of the control points of the robot 2 and outputs it to the kinematics control unit 47 .

[0042] The kinematics control unit 47 calculates the target angle of each joint of the robot 2 from the input time series data and inputs it to the servo control unit 48 .

[0043] The servo control unit 48 generates robot control signals for the robot 2 by feedback controlling each servo motor of the robot 2 so that the target angle input from the kinematics control unit 47 is realized, and inputs the signals to the servo motors of the robot 2 .

[0044] When the robot control device 4 controls the spindle 23, the information acquisition unit 50 acquires information about the spindle 23 from the spindle amplifier 25. When the numerical control device 3 controls the spindle 23, the display control unit 39 of the numerical control device 3 acquires information about the spindle 23 from the information acquisition unit 50 and outputs the information about the spindle 23 to the display unit 38 or an external device. This allows the user of the numerical control device 3 to check the power consumption of the spindle 23 of the robot 2, for example, on a power consumption monitor screen.

[0045] Next, a specific process of controlling the robot 2 by the numerical control system 1 according to this embodiment will be described. Fig. 3 is a diagram showing an example of a numerical control program for the robot. Fig. 4 is a sequence diagram showing the flow of signals and information between the numerical control device 3, the robot 2, and the spindle amplifier 25 when the numerical control program shown in Fig. 3 is executed.

[0046] 3, the machining system program example is a program example in which only the numerical control device 3 controls the spindle 23, and the robot control device 4 does not control the spindle 23. On the other hand, the robot program example in the robot numerical control program corresponds to the above-mentioned spindle control command. Note that the robot program example is applicable to both the case where the numerical control device 3 controls the spindle and the case where the robot control device 4 controls the spindle 23.

[0047] In the machining system program of the numerical control program, first, the code "G00 G90 X100 Y0 Z0" is commanded, and the numerical control device 3 positions the spindle 23 at the initial position.

[0048] Next, the code “M03 S3000” is commanded, and the numerical control device 3 commands the rotation of the spindle 23 .

[0049] Next, the codes "G01 G90 X110.0", "G01 G90 X120.0" and "G01 G90 Y1.0 Z1.0" are commanded, and the numerical control device 3 commands cutting feed at each position.

[0050] Next, the code "M05" is commanded, and the numerical control device 3 commands the spindle 23 to stop rotating.

[0051] Next, the code "G00 G90 X100 Y0 Z0" is commanded, and the numerical controller 3 positions the spindle 23 to the initial position, and then the code "M30" is commanded, and the numerical controller 3 ends the program.

[0052] The robot program of the numerical control program also commands the spindle amplifier 25 to perform the same control as the above-mentioned machining system program. In the robot program of the numerical control program, first, the code "G68.8;" is commanded, and the numerical control device 3 commands the robot 2 to select each axis coordinate system, and the robot 2 operates on each axis coordinate system.

[0053] Next, the code "G7.3 J1=_J2=_J3=_ J4=_J5=_J6=_;" is commanded, and the numerical control device 3 commands the robot 2 to operate each axis and position the robot 2 to its initial position, and the robot 2 operates each axis of the robot 2 and moves to its initial position.

[0054] Next, the code "M03 S3000" is commanded, and the numerical control device 3 commands the spindle amplifier 25 to rotate the spindle 23 forward, and the spindle amplifier 25 rotates the spindle 23 forward at the speed of the S command (50 rotations / s (3000 rpm)).

[0055] Next, the code "G68.9" is commanded, the numerical control device 3 commands the robot 2 to select an orthogonal coordinate system, and the robot 2 operates on the orthogonal coordinate system.

[0056] Next, the code "G01 X_Y_Z_A_B_C_P_;" is commanded, the numerical control device 3 commands positioning to the workpiece position, and the robot 2 moves to the workpiece position by linear motion.

[0057] Next, the code “M05” is commanded, and the numerical control device 3 commands the spindle amplifier 25 to stop the rotation of the spindle 23 , and the spindle amplifier 25 stops the rotation of the spindle 23 .

[0058] Next, the code "G7.3 J1=_J2=_J3=_ J4=_J5=_J6=_;" is commanded, and the numerical control device 3 commands the robot 2 to operate each axis and position the robot 2 to its initial position, and the robot 2 operates each axis of the robot 2 and moves to its initial position.

[0059] Next, the code "M04 S1800" is commanded, and the numerical control device 3 commands the spindle amplifier 25 to reverse the spindle 23, and the spindle amplifier 25 reverses the spindle 23 at the speed of the S command (30 revolutions / s (1800 rpm)).

[0060] Next, the code "G68.9" is commanded, the numerical control device 3 commands the robot 2 to select an orthogonal coordinate system, and the robot 2 operates on the orthogonal coordinate system.

[0061] Next, the code "G01 X_Y_Z_A_B_C_P_;" is commanded, the numerical control device 3 commands positioning to the workpiece position, and the robot 2 moves to the workpiece position by linear motion.

[0062] In this way, the numerical control device 3 can control the spindle 23 by using commands such as the above-mentioned codes "M03 S3000", "M05", and "M04 S1800".

[0063] Furthermore, the program analysis unit 32 analyzes the numerical control program and calculates the spindle speed so that the relative speed between the tool 22 and the workpiece is constant, based on the workpiece information, tool information related to the tool 22, and the speed of the robot 2. Here, the workpiece information is information related to the workpiece to be machined by the tool 22 attached to the robot 2. In this case, the spindle control command includes at least the speed of the spindle 23.

[0064] More specifically, when a tool 22 is attached to the movable part 21 (e.g., a hand) of the robot 2 and a workpiece is machined while being rotated by the spindle 23, the radius of the workpiece changes during machining, causing the peripheral speed of the workpiece to change. Therefore, if the rotation speed of the spindle 23 is constant, the relative speed between the tool 22 and the workpiece changes, and the cutting speed does not become constant. Therefore, when the program analysis unit 32 analyzes the numerical control program, it calculates the spindle speed at which the relative peripheral speed becomes constant based on the diameter R of the workpiece, the tool information, and the feed speed of the robot 2 in the Z-axis direction.

[0065] For example, in milling, if you want to process a workpiece with a tool of 100 mm diameter at a cutting speed of 80 m / min, the spindle speed N is approximately 250 min according to the relational expression N = 1000 v / πD. -1 Therefore, in the spindle control command, S250 is commanded as the speed of the spindle 23. Here, v is the cutting speed [m / min], and D is the tool diameter [m].

[0066] In addition, in turning, if you want to machine a workpiece with a diameter of 200 mm at a cutting speed of 200 m / min, the spindle speed N is approximately 478 min according to the relational expression N = 1000 v / πD. -1 Therefore, in the spindle control command, S478 is commanded as the speed of the spindle 23.

[0067] By performing such processing, the numerical control device 3 can control the spindle speed so that the cutting speed is constant.

[0068] As described above, according to this embodiment, the numerical control device 3 is provided with: a program analysis unit 32 that analyzes the robot control commands and the spindle control commands in the numerical control program; a spindle setting unit that generates spindle setting information indicating whether the spindle 23 of the robot 2 will be controlled by the numerical control device 3 or the robot control device 4; a spindle control determination unit 36 ​​that, based on the spindle setting information, notifies the spindle amplifier 25 of the spindle control command when the numerical control device 3 controls the spindle 23, and notifies the data transmission / reception unit 37 of the spindle control command when the robot control device 4 controls the spindle 23; and the data transmission / reception unit 37 that notifies the robot control device 4 of the spindle control command when the robot control device 4 controls the spindle 23. The spindle amplifier 25 controls the spindle 23 based on the spindle control command notified from the spindle control determination unit 36 ​​or the robot control device 4.

[0069] With this configuration, the numerical controller 3 uses a numerical control program including a robot control command and a spindle control command to send the robot control command to the robot controller 4, and sends the spindle control command to the spindle amplifier 25 or the robot controller 4. Therefore, the numerical controller 3 makes it easy for the user to control the spindle 23 of the robot 2 from the numerical controller 3 without an I / O connection between the numerical controller 3 and the robot 2.

[0070] Furthermore, when the numerical control device 3 controls the spindle 23, the numerical control device 3 further includes a display control unit 39 that acquires information about the spindle 23 from the spindle amplifier 25 and outputs the information about the spindle 23 to a display unit 38 or an external device. Here, the information about the spindle 23 includes at least one of the speed, load, and power consumption of the spindle 23.

[0071] With this configuration, when the numerical control device 3 controls the spindle 23, it outputs information such as the speed, load, and power consumption of the spindle 23, allowing the user to process the workpiece while checking information such as the speed, load, and power consumption of the spindle 23.

[0072] Furthermore, when the robot control device 4 controls the spindle 23, the robot control device 4 includes an information acquisition unit 50 that acquires information about the spindle 23 from the spindle amplifier 25. When the robot control device 4 controls the spindle 23, the numerical control device 3 further includes a display control unit 39 that acquires information about the spindle 23 from the information acquisition unit 50 and outputs the information about the spindle 23 to the display unit 38 or an external device.

[0073] With this configuration, when the robot control device 4 controls the spindle 23, the numerical control device 3 outputs information such as the speed, load, and power consumption of the spindle 23, allowing the user to process the workpiece while checking information such as the speed, load, and power consumption of the spindle 23.

[0074] Furthermore, the program analysis unit 32 analyzes the numerical control program and calculates the spindle speed based on the workpiece information, tool information related to the tool 22, and the speed of the robot 2 so that the relative speed between the tool 22 and the workpiece is constant. Here, the workpiece information is information related to the workpiece to be machined by the tool 22 attached to the robot 2. In this case, the spindle control command includes at least the speed of the spindle 23. This allows the numerical control device 3 to control the robot 2 and the spindle 23 so that the relative speed between the tool 22 and the workpiece is constant.

[0075] The spindle control command also includes the start and stop of rotation of the spindle 23, the rotation direction of the spindle 23, and the rotation speed of the spindle 23. This allows the numerical control device 3 to suitably control each operation of the spindle 23.

[0076] Furthermore, the spindle setting unit 35 generates spindle setting information in accordance with the selection made by the user of the numerical control device 3. This allows the numerical control device 3 to set whether the spindle 23 is to be controlled by the numerical control device 3 or the robot control device 4 in accordance with the user's selection.

[0077] The robot 2 also has a movable part 21 that operates based on a robot control command, and the main shaft 23 is attached to the movable part 21, and the movable part 21 and the main shaft 23 work together to machine the workpiece. This allows the movable part 21 and the main shaft 23 of the robot 2 to work together in an appropriate manner to machine the workpiece, for example, improving the accuracy of synchronization between the robot 2 and the main shaft 23.

[0078] Furthermore, the numerical control system 1 also has the configuration of the numerical control device 3 described above, and can achieve the same effects as the numerical control device 3.

[0079] The above has described an embodiment of the present invention, but the above-described numerical control system 1 can be realized by hardware, software, or a combination of these. Furthermore, the control method performed by the above-described numerical control system 1 can also be realized by hardware, software, or a combination of these. Here, "realized by software" means that it is realized by a computer reading and executing a program.

[0080] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)).

[0081] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0082] The following supplementary notes are further disclosed regarding the above-described embodiments and modified examples: (Supplementary Note 1) A numerical control device that controls a robot via a robot control device using a numerical control program, wherein the robot has a spindle for machining a workpiece, the numerical control device comprising: a program analysis unit that analyzes a robot control command and a spindle control command in the numerical control program, a spindle setting unit that generates spindle setting information indicating whether the spindle is to be controlled by the numerical control device or the robot control device, a spindle control determination unit that, based on the spindle setting information, notifies a spindle control device that controls the spindle of the spindle, and notifies a data transmission / reception unit of the spindle control command, when the numerical control device controls the spindle, and the data transmission / reception unit that notifies the robot control device of the spindle control command, when the robot control device controls the spindle, and the spindle control device controls the spindle based on the spindle control command notified from the spindle control determination unit or the robot control device. (Supplementary Note 2) The numerical control device according to Supplementary Note 1, wherein, when the numerical control device controls the spindle, the numerical control device further comprises a display control unit that acquires information about the spindle from the spindle control device and outputs the information about the spindle to a display device or an external device, and the information about the spindle includes at least one of a speed, a load, and a power consumption of the spindle. (Supplementary Note 3) The numerical control device according to Supplementary Note 1, wherein, when the robot control device controls the spindle, the robot control device further comprises an information acquisition unit that acquires information about the spindle from the spindle control device, and when the robot control device controls the spindle, the numerical control device further comprises a display control unit that acquires information about the spindle from the information acquisition unit and outputs the information about the spindle to a display device or an external device, and the information about the spindle includes at least one of a speed, a load, and a power consumption of the spindle.(Supplementary Note 4) The numerical controller according to Supplementary Note 1 or 2, wherein the program analysis unit analyzes the numerical control program and calculates a spindle speed based on workpiece information on a workpiece to be machined by a tool attached to the robot, tool information on the tool, and the speed of the robot so that the relative speed between the tool and the workpiece is constant, and the spindle control command includes the spindle speed. (Supplementary Note 5) The numerical controller according to Supplementary Note 1 or 2, wherein the spindle control command includes start and stop of rotation of the spindle, the rotation direction of the spindle, and the rotation speed of the spindle. (Supplementary Note 6) The numerical controller according to claim 1 or 2, wherein the spindle setting unit generates the spindle setting information in accordance with a selection by a user of the numerical controller. (Supplementary Note 7) The numerical controller according to Supplementary Note 1 or 2, wherein the robot has a movable part that operates based on the robot control command, and the spindle is attached to the movable part, and the movable part and the spindle work together to machine a workpiece. (Supplementary Note 8) A numerical control system that controls a robot via a robot controller using a numerical control program of a numerical controller, wherein the robot has a spindle for machining a workpiece, the numerical control system comprising: a program analysis unit that analyzes robot control commands and spindle control commands in the numerical control program; a spindle setting unit that generates spindle setting information indicating whether the spindle is to be controlled by the numerical controller or the robot controller; a spindle control determination unit that, based on the spindle setting information, notifies a spindle controller that controls the spindle of the spindle control command, and notifies a data transmission / reception unit of the spindle control command, when the numerical controller controls the spindle, and when the robot controller controls the spindle; and the data transmission / reception unit that notifies the robot controller of the spindle control command, when the robot controller controls the spindle; and the spindle controller controls the spindle based on the spindle control command notified from the spindle control determination unit or the robot controller.(Supplementary Note 9) The numerical control system according to Supplementary Note 8, wherein, when the numerical control device controls the spindle, the numerical control device further comprises a display control unit that acquires information about the spindle from the spindle control device and outputs the information about the spindle to a display device or an external device, and the information about the spindle includes at least one of a speed, a load, and a power consumption of the spindle. (Supplementary Note 10) When the robot control device controls the spindle, the robot control device comprises an information acquisition unit that acquires information about the spindle from the spindle control device, and when the robot control device controls the spindle, the numerical control device further comprises a display control unit that acquires information about the spindle from the information acquisition unit and outputs the information about the spindle to a display device or an external device, and the information about the spindle includes at least one of a speed, a load, and a power consumption of the spindle. (Supplementary Note 11) The numerical control system according to Supplementary Note 8 or 9, wherein the program analysis unit analyzes the numerical control program and calculates a spindle speed based on workpiece information on a workpiece to be machined by a tool attached to the robot, tool information on the tool, and the speed of the robot so that the relative speed between the tool and the workpiece is constant, and the spindle control command includes the spindle speed. (Supplementary Note 12) The numerical control system according to Supplementary Note 8 or 9, wherein the spindle control command includes start and stop of rotation of the spindle, the rotation direction of the spindle, and the rotation speed of the spindle. (Supplementary Note 13) The numerical control system according to Supplementary Note 8 or 9, wherein the spindle setting unit generates the spindle setting information in accordance with a selection by a user of the numerical control device. (Supplementary Note 14) The numerical control system according to Supplementary Note 8 or 9, wherein the robot has a movable part that operates based on the robot control command, and the spindle is attached to the movable part, and the movable part and the spindle work together to machine a workpiece.

[0083] REFERENCE SIGNS LIST 1 Numerical control system 2 Robot 21 Movable part 22 Tool 23 Spindle 24 Spindle motor 25 Spindle amplifier 3 Numerical control device 4 Robot control device 31 Program input unit 32 Program analysis unit 33 Memory unit 34 Operation unit 35 Spindle setting unit 36 ​​Spindle control determination unit 37 Data transmission / reception unit 38 Display unit 39 Display control unit 40 Information acquisition unit 41 Data transmission / reception unit 42 Analysis unit 43 Memory unit 44 Robot command generation unit 45 Program management unit 46 Trajectory control unit 47 Kinematics control unit 48 Servo control unit 49 Spindle command transmission unit 50 Information acquisition unit

Claims

1. A numerical control device that uses a numerical control program to control a robot via a robot control device, wherein the robot has a spindle for machining a workpiece, the numerical control device comprising: a program analysis unit that analyzes robot control commands and spindle control commands in the numerical control program; a spindle setting unit that generates spindle setting information indicating whether the spindle is to be controlled by the numerical control device or the robot control device; a spindle control decision unit that, based on the spindle setting information, notifies a spindle control device that controls the spindle of the spindle control command and notifies a data transmission / reception unit of the spindle control command when the numerical control device controls the spindle and when the robot control device controls the spindle; and the data transmission / reception unit that notifies the robot control device of the spindle control command when the robot control device controls the spindle, and the spindle control device controls the spindle based on the spindle control command notified from the spindle control decision unit or the robot control device.

2. The numerical control device according to claim 1, wherein, when the numerical control device controls the spindle, the numerical control device further comprises a display control unit which acquires information relating to the spindle from the spindle control device and outputs the information relating to the spindle to a display device or an external device, and the information relating to the spindle includes at least one of the speed, load and power consumption of the spindle.

3. The numerical control device according to claim 1, wherein, when the robot control device controls the spindle, the robot control device is provided with an information acquisition unit that acquires information regarding the spindle from the spindle control device, and when the robot control device controls the spindle, the numerical control device further comprises a display control unit that acquires information regarding the spindle from the information acquisition unit and outputs the information regarding the spindle to a display device or an external device, and the information regarding the spindle includes at least one of the speed, load, and power consumption of the spindle.

4. A numerical control device as described in claim 1 or 2, wherein the program analysis unit analyzes the numerical control program and calculates a spindle speed based on work information on a workpiece to be machined by a tool attached to the robot, tool information on the tool, and the speed of the robot, so that the relative speed between the tool and the workpiece is constant, and the spindle control command includes the spindle speed.

5. A numerical control device according to claim 1 or 2, wherein the spindle control commands include starting and stopping rotation of the spindle, a rotation direction of the spindle, and a rotation speed of the spindle.

6. The numerical control device according to claim 1 or 2, wherein the spindle setting unit generates the spindle setting information in response to a selection by a user of the numerical control device.

7. A numerical control device according to claim 1 or 2, wherein the robot has a movable part that operates based on the robot control command, the main spindle is attached to the movable part, and the movable part and the main spindle work in conjunction to machine a workpiece.

8. A numerical control system that controls a robot via a robot controller using a numerical control program of a numerical control device, wherein the robot has a spindle for machining a workpiece, the numerical control system comprising: a program analysis unit that analyzes robot control commands and spindle control commands in the numerical control program; a spindle setting unit that generates spindle setting information indicating whether the spindle is controlled by the numerical control device or the robot controller; a spindle control decision unit that, based on the spindle setting information, notifies a spindle control device that controls the spindle of the spindle control command and notifies a data transmission / reception unit of the spindle control command when the numerical control device controls the spindle and when the robot controller controls the spindle; and the data transmission / reception unit that notifies the robot controller of the spindle control command when the robot controller controls the spindle, wherein the spindle control device controls the spindle based on the spindle control command notified from the spindle control decision unit or the robot controller.

9. The numerical control system according to claim 8, wherein, when the numerical control device controls the spindle, the numerical control device further comprises a display control unit which acquires information relating to the spindle from the spindle control device and outputs the information relating to the spindle to a display device or an external device, and the information relating to the spindle includes at least one of the speed, load and power consumption of the spindle.

10. The numerical control system according to claim 8, wherein, when the robot control device controls the spindle, the robot control device comprises an information acquisition unit that acquires information regarding the spindle from the spindle control device, and when the robot control device controls the spindle, the numerical control device further comprises a display control unit that acquires information regarding the spindle from the information acquisition unit and outputs the information regarding the spindle to a display device or an external device, and the information regarding the spindle includes at least one of the speed, load, and power consumption of the spindle.

11. The numerical control system according to claim 8 or 9, wherein the program analysis unit analyzes the numerical control program, and calculates a spindle speed based on work information on a workpiece to be machined by a tool attached to the robot, tool information on the tool, and the speed of the robot, so that the relative speed between the tool and the workpiece is constant, and the spindle control command includes the spindle speed.

12. A numerical control system according to claim 8 or 9, wherein the spindle control commands include starting and stopping rotation of the spindle, a rotation direction of the spindle, and a rotation speed of the spindle.

13. The numerical control system according to claim 8 or 9, wherein the spindle setting unit generates the spindle setting information in response to a selection by a user of the numerical control device.

14. The numerical control system according to claim 8 or 9, wherein the robot has a movable part that operates based on the robot control command, the main spindle is attached to the movable part, and the movable part and the main spindle work in conjunction to machine a workpiece.

Citation Information

Patent Citations

  • Numerical control system

    JP1981011510A

  • Control unit and programming method

    JP1998083211A

  • Numerical control device

    JP2014211721A

  • Machine tool and control device for controlling robot

    JP2014241018A

  • Machining control system and machining system

    JP2020170356A

Cited By

  • Workpiece processing system, workpiece processing method, and workpiece processing program

    JP7897404B1