Numerical Control System

The numerical control system addresses the issue of increased communication load and decreased accuracy by incorporating a read/write execution/prohibition determination unit in the robot control device, which manages variable access to reduce interruptions during machine tool operations.

JP7648774B2Active Publication Date: 2025-03-18FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023543532
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-24
Publication Date
2025-03-18
Estimated Expiration
2041-08-24

AI Technical Summary

Technical Problem

Existing numerical control systems face increased communication load and decreased machining accuracy when robot control devices interrupt communication during machine tool operations, leading to longer cycle times.

Method used

A numerical control system that includes a read/write execution/prohibition determination unit in the robot control device, which determines whether to read or write variables based on permission/prohibition requests, reducing communication load by prohibiting reading/writing during machine tool operations.

Benefits of technology

The proposed solution effectively reduces communication load and maintains machining accuracy by prohibiting variable reading/writing during machine tool operations, thereby reducing cycle times and improving overall system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007648774000001
    Figure 0007648774000001
  • Figure 0007648774000002
    Figure 0007648774000002
  • Figure 0007648774000003
    Figure 0007648774000003
Patent Text Reader

Abstract

Provided is a technology that enables reduction in communication load in a numeral control system for controlling operation of a machine tool and a robot in a cooperative manner. This numeral control system comprises: a numerical control device; a robot control device; and a variable storage device that stores a value of a variable which can be read and written by the numerical control device and the robot control device. The robot control device has a reading-writing execution / prohibition determination unit that determines whether to prohibit or allow execution of reading and writing of a variable by the robot control device. If execution determination has been made by the reading-writing execution / prohibition determination unit, the robot control device reads the value of the variable stored in the variable storage device, and controls the operation of the robot on the basis of the value of the read variable. If prohibition determination has been made, the robot control device prohibits reading of the value of the variable stored in the variable storage device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to numerical control systems. [Background technology]

[0002] In recent years, in order to promote automation in machining sites, there is a demand for numerical control systems that can coordinate and control the operation of machine tools that process workpieces with the operation of robots, such as the attachment and detachment of workpieces from the machine tools and the opening and closing of doors (see, for example, Patent Document 1).

[0003] In general, the operation of a machine tool is controlled by a numerical control device, and the operation of a robot is controlled by a robot control device. In order to control the operation of the machine tool and the operation of the robot in a coordinated manner, it is necessary to operate both the numerical control device and the robot control device. In contrast, for example, in the numerical control system shown in Patent Document 1, it is possible to select an operation program for the robot and set the operation program according to an instruction from a user on the numerical control device side. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2018-195055 A Summary of the Invention [Problem to be solved by the invention]

[0005] Incidentally, for example, when controlling the operation of an existing machine tool and the operation of a robot installed on the machine tool in conjunction with each other, it is necessary to connect a numerical control device that controls the operation of the machine tool and a robot control device that controls the operation of the robot. Also, it is necessary to read and write variables of the numerical control device from the robot control device connected to the numerical control device.

[0006] Specifically, the robot controller sends an operation request to the numerical controller via a macro variable, and the robot controller periodically reads the macro variable of the numerical controller to monitor the status. If the status indicates that the operation is complete, the robot controller sends an operation request to the numerical controller and proceeds to the next sequence.

[0007] However, for example, when communication from a robot control device interrupts while a workpiece is being machined, i.e., while a numerical control device is operating, the communication load increases. In this case, there are problems such as an increase in cycle time and a decrease in machining accuracy. Therefore, a technology that can reduce the communication load in a numerical control system that controls the operation of a machine tool and a robot in conjunction with each other is desired.

[0008] The present disclosure aims to provide a technique capable of reducing the communication load in a numerical control system that controls the operations of a machine tool and a robot in a coordinated manner. [Means for solving the problem]

[0009] One aspect of the present disclosure provides a numerical control system that controls the operation of a machine tool and a robot in conjunction with each other, the numerical control system comprising: a numerical control device that controls the operation of the machine tool based on a numerical control program; a robot control device that controls the operation of the robot based on a robot control program; and a variable storage device that stores values ​​of variables that can be read and written by the numerical control device and the robot control device, the robot control device having a read / write execution / prohibition determination unit that determines whether to execute or prohibit reading and writing of the variable in response to a read / write permission / prohibition request that requests permission or prohibition of reading and writing of the variable of the numerical control device, the robot control device providing a numerical control system in which, when the read / write execution / prohibition determination unit determines that reading and writing of the variable should be executed, the robot control device reads the value of the variable stored in the variable storage device and controls the operation of the robot based on the value of the variable that has been read, and when it is determined that reading and writing of the variable should be prohibited, the robot control device prohibits reading of the value of the variable stored in the variable storage device. Effect of the Invention

[0010] According to the present disclosure, it is possible to reduce the communication load in a numerical control system that controls the operations of a machine tool and a robot in conjunction with each other. [Brief description of the drawings]

[0011] [Figure 1] 1 is a schematic diagram of a numerical control system according to a first embodiment. [Diagram 2] FIG. 1 is a functional block diagram of a numerical control system according to a first embodiment. [Diagram 3] FIG. 4 is a diagram showing an example of a numerical control program according to the first embodiment. [Figure 4A] 4 is a flowchart showing a flow of processing related to the robot control device according to the first embodiment. [Figure 4B] 4 is a flowchart showing a flow of processing related to the numerical control device according to the first embodiment. [Diagram 5] FIG. 11 is a functional block diagram of a numerical control system according to a second embodiment. [Figure 6A] 10 is a flowchart showing a flow of processing related to a robot control device according to a second embodiment. [Figure 6B] 10 is a flowchart showing a flow of processing related to a numerical control device according to a second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.

[0013] [First embodiment] Fig. 1 is a schematic diagram of a numerical control system 1 according to a first embodiment. As shown in Fig. 1, the numerical control system 1 includes a machine tool 20 that processes a workpiece (not shown), a numerical control device (CNC) 2 that controls the operation of the machine tool 20, a robot 30 provided in the vicinity of the machine tool 20, and a robot control device 3 that controls the operation of the robot 30. The numerical control system 1 controls the operations of the machine tool 20 and the robot 30 in a coordinated manner by using the numerical control device 2 and the robot control device 3 that are communicatively connected to each other.

[0014] Machine tool 20 is, for example, but not limited to, a lathe, a drill press, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, etc. Machine tool 20 performs various operations such as machining an unillustrated workpiece, opening and closing an operation of a chuck that holds the workpiece, and opening and closing an operation of a door provided in a workpiece machining area, in response to various command signals transmitted from numerical control device 2 according to a procedure to be described later.

[0015] The robot 30 operates under the control of the robot control device 3, and performs a predetermined task on a workpiece being machined by, for example, the machine tool 20. The robot 30 is, for example, an articulated robot, and a tool 30b for gripping, machining, and inspecting the workpiece is attached to an arm tip 30a of the robot 30. In the following, a case will be described in which the robot 30 is a six-axis articulated robot, but the present invention is not limited to this.

[0016] The numerical control device 2 and the robot control device 3 are computers each composed of hardware such as a calculation processing means such as a CPU (Central Processing Unit), auxiliary storage means such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) storing various programs, main storage means such as a RAM (Random Access Memory) for storing data temporarily required for the calculation processing means to execute the programs, operation means such as a keyboard for an operator to perform various operations, and display means such as a display for displaying various information to the operator. The numerical control device 2 and the robot control device 3 are capable of transmitting and receiving various signals to each other, for example, via Ethernet (registered trademark).

[0017] The numerical control system 1 according to the present embodiment may be, for example, but is not limited to, a system in which a robot 30 is retrofitted to an existing machine tool 20. For example, the numerical control system 1 according to the present embodiment is configured such that the robot control device 3 issues an operation request to the numerical control device 2 and the robot control device 3 can read and write variables of the numerical control device 2 in order to control the operation of the machine tool 20 and the operation of the robot 30 in a coordinated manner.

[0018] FIG. 2 is a functional block diagram of the numerical control system 1 according to the first embodiment.

[0019] First, a detailed configuration of the numerical control device 2 will be described. As shown in Fig. 2, the numerical control device 2 has the above-mentioned hardware configuration to realize various functions such as a machine tool control module 200 that controls the operation of the machine tool 20, a variable storage unit 24 that stores values ​​of a plurality of variables that can be read and written by the machine tool control module 200 and a robot control module 300 (described later), and a data transmission / reception unit 25.

[0020] The machine tool control module 200 reads and writes the values ​​of variables stored in the variable memory unit 24 based on the numerical control program, and controls the operation of the machine tool 20. More specifically, the machine tool control module 200 includes a memory unit 21, a program input unit 22, an analysis unit 23, an I / O control unit 26, an interpolation control unit 27, and a servo control unit 28.

[0021] Numerical control programs for controlling the operation of machine tool 20 (for example, movement of a control axis, rotation of a spindle, opening and closing of a chuck, opening and closing of a door, etc.) are stored in memory unit 21. The numerical control programs stored in memory unit 21 are created in advance by an operator in order to control the operation of machine tool 20 in conjunction with the operation of robot 30 under the control of robot controller 3, and are written in a programming language using G-code, M-code, etc.

[0022] The program input unit 22 reads out the numerical control program from the storage unit 21, and inputs it to the analysis unit 23 one by one.

[0023] The analysis unit 23 sequentially analyzes the command types based on the numerical control program input from the program input unit 22 for each block, and transmits the analysis results to the I / O control unit 26, the interpolation control unit 27, and the variable storage unit 24.

[0024] When the type of command acquired based on the numerical control program is, for example, a command to open / close the chuck of machine tool 20 or a command to open / close the door of machine tool 20, analysis unit 23 inputs the acquired command to I / O control unit 26. When a command is input from analysis unit 23, I / O control unit 26 inputs an I / O signal corresponding to the input command to machine tool 20. As a result, the chuck or door of machine tool 20 is opened / closed according to the procedure determined by the numerical control program.

[0025] When the type of command acquired based on the numerical control program is, for example, a command to move a control axis of machine tool 20, analysis unit 23 inputs the acquired command to interpolation control unit 27. When a command is input from analysis unit 23, interpolation control unit 27 calculates a movement path of the control axis according to the command by performing an interpolation process, and inputs the calculated movement path to servo control unit 28. Servo control unit 28 feedback controls the servo motor of machine tool 20 so that the control axis moves along the movement path calculated by interpolation control unit 27. In this way, the operation of machine tool 20 is controlled according to a procedure determined by the numerical control program.

[0026] If the type of command acquired based on the numerical control program is, for example, a command to read the value of a variable stored in the variable memory unit 24 or a command to rewrite the value of a variable stored in the variable memory unit 24, the analysis unit 23 inputs the acquired command to the variable memory unit 24.

[0027] The variable storage unit 24 has a variable memory (not shown) that stores the values ​​of multiple variables, and reads out or rewrites the values ​​of variables stored in the variable memory in response to commands input from the analysis unit 23 or commands input from a robot control module 300 (described below) of the robot control device 3 via the data transmission / reception unit 25.

[0028] In this embodiment, when the value of a variable assigned to an operation request from the robot control device 3 to the machine tool 20 is set, the machine tool control module 200 and the variable memory unit 24 write the operation completion time to the corresponding variable, and the corresponding operation (e.g., door opening / closing, chuck opening / closing, processing 1 to 3 described below, etc.) is executed.

[0029] The variable memory of variable storage unit 24 stores the values ​​of a plurality of variables designated by numbers or character strings in a numerical control program for controlling the operation of machine tool 20 in machine tool control module 200 and in a robot control program for controlling the operation of robot 30 in robot control module 300. In this embodiment, a case will be described in which some (e.g., #100 to #108, #200 to #207) of macro variables (hereinafter also simply referred to as variables) defined in many numerical control devices are assigned as variables to be stored in the variable memory, but the present invention is not limited to this.

[0030] When a command to read the values ​​of variables stored in the variable memory is input from the analysis unit 23, the variable storage unit 24 reads the values ​​of the variables specified by the command from the variable memory and transmits the read values ​​to the analysis unit 23. When a command to rewrite the values ​​of variables stored in the variable memory is input from the analysis unit 23, the variable storage unit 24 rewrites the values ​​of the variables specified by the command in the variable memory to values ​​according to the command. This enables the machine tool control module 200 to read and rewrite the values ​​of variables stored in the variable memory.

[0031] When a command to read the values ​​of variables stored in the variable memory is input from the robot control module 300 via the data transmission / reception unit 25, the variable storage unit 24 reads the values ​​of the variables specified by the command from the variable memory and transmits the read values ​​to the robot control module 300 via the data transmission / reception unit 25. When a command to rewrite the values ​​of variables stored in the variable memory is input from the robot control module 300 via the data transmission / reception unit 25, the variable storage unit 24 rewrites the values ​​of the variables specified by the command in the variable memory to values ​​according to the command. This enables the robot control module 300 to read and rewrite the values ​​of variables stored in the variable memory.

[0032] The variable memory of the variable storage unit 24 stores the values ​​of a plurality of variables assumed to be used for notifications and requests from the robot control module 300 to the machine tool control module 200, but is not limited to this. It may also store the values ​​of a plurality of variables assumed to be used for notifications from the machine tool control module 200 to the robot control module 300. It is preferable that the variables are readable from both the machine tool control module 200 and the robot control module 300 and rewritable from both.

[0033] Variable #100 is assigned, for example, from robot control module 300 to machine tool control module 200 to request the stopping of a numerical control program being executed in machine tool control module 200. When the value of variable #100 is 0, it indicates that the stopping of the numerical control program is not requested (request OFF), and when the value of variable #100 is 1, it indicates that the stopping of the numerical control program is requested (request ON).

[0034] Variable #101 is assigned, for example, from robot control module 300 to machine tool control module 200 in order to request the operation of opening the door of machine tool 20. When the value of variable #101 is 0, it indicates that the operation of opening the door is not requested (request OFF), and when the value of variable #101 is 1, it indicates that the operation of opening the door is requested (request ON).

[0035] Variable #102 is assigned, for example, from robot control module 300 to machine tool control module 200 in order to request the closing operation of the door of machine tool 20. When the value of variable #102 is 0, it indicates that the door closing operation is not requested (request OFF), and when the value of variable #102 is 1, it indicates that the door closing operation is requested (request ON).

[0036] Variable #103 is assigned, for example, from robot control module 300 to machine tool control module 200 to request an operation to open the chuck of machine tool 20. When the value of variable #103 is 0, it indicates that a chuck opening operation is not being requested (request OFF), and when the value of variable #103 is 1, it indicates that a chuck opening operation is being requested (request ON).

[0037] Variable #104 is assigned, for example, from robot control module 300 to machine tool control module 200 to request a closing operation of the chuck of machine tool 20. When the value of variable #104 is 0, it indicates that a closing operation of the chuck is not requested (request OFF), and when the value of variable #104 is 1, it indicates that a closing operation of the chuck is requested (request ON).

[0038] The variable #105 is assigned, for example, from the robot control module 300 to the machine tool control module 200 to request the execution of machining 1 by the machine tool 20. When the value of the variable #105 is 0, it indicates that the execution of machining 1 is not requested (request OFF), and when the value of the variable #105 is 1, it indicates that the execution of machining 1 is requested (request ON).

[0039] The variable #106 is assigned, for example, from the robot control module 300 to the machine tool control module 200 to request the execution of Machining 2 by the machine tool 20. When the value of the variable #106 is 0, this indicates that the execution of Machining 2 is not requested (request OFF), and when the value of the variable #106 is 1, this indicates that the execution of Machining 2 is requested (request ON).

[0040] The variable #107 is assigned, for example, from the robot control module 300 to the machine tool control module 200 to request the execution of Machining 3 by the machine tool 20. When the value of the variable #107 is 0, it indicates that the execution of Machining 3 is not requested (request OFF), and when the value of the variable #107 is 1, it indicates that the execution of Machining 3 is requested (request ON).

[0041] Variable #108 is assigned, for example, to request a workpiece change from robot control module 300 to machine tool control module 200. When the value of variable #108 is 0, it indicates that a workpiece change is not being requested (request OFF), and when the value of variable #108 is 1, it indicates that a workpiece change is being requested.

[0042] The variable #200 is assigned, for example, to a program stop operation completion time in a program stop request from the robot control module 300 to the machine tool control module 200. The variable #201 is assigned, for example, to a door open completion time in a door open request from the robot control module 300 to the machine tool control module 200. The variable #202 is assigned to a door close completion time in a door close request from the robot control module 300 to the machine tool control module 200. The variable #203 is assigned to a chuck open completion time in a chuck open request from the robot control module 300 to the machine tool control module 200. The variable #204 is assigned to a chuck close completion time in a chuck close request from the robot control module 300 to the machine tool control module 200. The variable #205 is assigned to a machining 1 completion time in a machining 1 request from the robot control module 300 to the machine tool control module 200. The variable #206 is assigned to the machining 2 completion time in the machining 2 request from the robot control module 300 to the machine tool control module 200. The variable #207 is assigned to the machining 3 completion time in the machining 3 request from the robot control module 300 to the machine tool control module 200.

[0043] The values ​​of the multiple variables stored in the variable memory are reset to a predetermined initial value (for example, 0) when the numerical control device 2 is turned on.

[0044] Next, a detailed description will be given of the configuration of the robot control device 3. As shown in Fig. 2, the robot control device 3 has various functions realized by the above hardware configuration, such as a robot control module 300 that controls the operation of the robot 30, a data transmission / reception unit 35, and a read / write execution / prohibition determination unit 36.

[0045] The robot control module 300 reads and writes the values ​​of variables stored in the variable storage unit 24 based on the robot control program, and controls the operation of the robot 30. More specifically, the robot control module 300 includes a storage unit 31, a program input unit 32, an analysis unit 33, a trajectory control unit 37, and a servo control unit 38.

[0046] The storage unit 31 stores a robot control program for controlling the operation of the robot 30. The robot control program stored in the storage unit 31 is created in advance by an operator in order to control the operation of the robot 30 in conjunction with the operation of the machine tool 20 under the control of the numerical control device 2.

[0047] The program input unit 32 reads out the robot control program from the storage unit 31, and inputs it to the analysis unit 33 one by one.

[0048] The analysis unit 33 sequentially analyzes the command types based on the robot control program input from the program input unit 32 for each block, and transmits the analysis results to the trajectory control unit 37, the data transmission / reception unit 35, and the read / write execution / prohibition determination unit .

[0049] When the type of command acquired based on the robot control program is, for example, a command to move a control point of the robot 30 (for example, the arm tip 30a), the analysis unit 33 inputs the acquired command to the trajectory control unit 37. When the command is input from the analysis unit 33, the trajectory control unit 37 calculates a movement trajectory of the control point when the control point of the robot 30 is moved to a position specified by the command, calculates angles of each joint of the robot 30 according to the calculated movement trajectory as target angles, and transmits these target angles to the servo control unit 38. The servo control unit 38 generates a robot control signal for the robot 30 by feedback-controlling each servo motor of the robot 30 so that the target angles of each joint transmitted from the trajectory control unit 37 are realized, and inputs the generated robot control signal to the servo motor of the robot 30. In this way, the operation of the robot 30 is controlled according to a procedure defined in the robot control program.

[0050] If the type of command acquired based on the robot control program is, for example, a command to read the value of a variable stored in the variable memory unit 24 or a command to rewrite the value of a variable stored in the variable memory unit 24, the analysis unit 33 inputs the acquired command to the data transmission / reception unit 35.

[0051] When the data transmission / reception unit 35 receives a command to read the value of a variable from the analysis unit 33, it transmits the command to the data transmission / reception unit 25 of the numerical control device 2. When such a read command is input, the variable storage unit 24 reads the value of the variable designated by the command from the variable memory and sends the read value back to the analysis unit 33 via the data transmission / reception unit 25 and the data transmission / reception unit 35 as described above. When the data transmission / reception unit 35 receives a command to rewrite the value of the variable from the analysis unit 33, it transmits the command to the data transmission / reception unit 25 of the numerical control device 2. When such a rewrite command is input, the variable storage unit 24 rewrites the value of the variable designated by the command in the variable memory to a value according to the command as described above. This enables the robot control module 300 to read and rewrite the value of the variable stored in the variable memory.

[0052] The read / write execution / prohibition determination unit 36 ​​determines whether to execute or prohibit the reading and writing of variables by the robot control device 3 in response to a read / write permission / prohibition request that requests permission or prohibition of the reading and writing of variables by the robot control device 3. Conventionally, for example, when communication from the robot control device 3 interrupts during machining of a workpiece, that is, while the numerical control device 2 is in operation, the communication load increases. In this case, there is a problem that the cycle time increases and the machining accuracy decreases. In response to this, the numerical control system 1 according to this embodiment is provided with the read / write execution / prohibition determination unit 36, and therefore, for example, while the numerical control device 2 is in operation, reading and writing of variables from the robot control device 3 to the variable storage unit 24 can be prohibited, thereby reducing the communication load.

[0053] Specifically, the read / write execution / prohibition determination unit 36 ​​first acquires the operation completion time of the numerical control device 2 or the operation completion time of the robot control device 3. The acquisition of these operation times is performed via variables in the numerical control program or the robot control program. In the above example, the operation completion time of the numerical control device 2 is acquired via variables #201-207, and the operation completion time of the robot control device 3 is acquired via variable #200. Then, a read / write permission / prohibition request is determined based on whether the acquired operation completion time of the numerical control device 2 or the robot control device 3 has passed, and in response to this read / write permission / prohibition request, the read / write execution / prohibition determination unit 36 ​​determines whether to execute or prohibit the robot control device 3 from reading or writing the variable.

[0054] Thereby, the read / write execution / prohibition determination unit 36 ​​determines whether to execute reading and writing of variables by the robot controller 3 after the operation completion time of the numerical controller 2 or the operation completion time of the robot controller 3 has elapsed. Moreover, the read / write execution / prohibition determination unit 36 ​​determines whether to prohibit reading and writing of variables by the robot controller 3 before the operation completion time of the numerical controller 2 or the operation completion time of the robot controller 3 has elapsed.

[0055] That is, when the read / write execution / prohibition determination unit 36 ​​determines that the robot controller 3 is to read or write a variable, the robot controller 3 reads the value of the variable stored in the variable storage unit 24 and controls the operation of the robot 30 based on the read value of the variable. Also, when the read / write execution / prohibition determination unit 36 ​​determines that the robot controller 3 is to prohibit reading or writing a variable, the robot controller 3 prohibits reading the value of the variable stored in the variable storage unit 24.

[0056] Fig. 3 is a diagram showing an example of a numerical control program according to the first embodiment. Fig. 3 shows an example of a numerical control program with program number 0123, and the first block is assigned sequence number N10. Fig. 3 also shows an example of the allocation of the above-mentioned custom macro variables.

[0057] 3, the machine tool control module 200 reads out values ​​of variables #100-#108 etc. at a predetermined cycle to monitor requests from the robot control module 300, and controls the operation of the machine tool 20 by the machine tool control module 200 in accordance with the read values ​​of variables #100-#108. Also, in accordance with operation requests from the robot control module 300, the machine tool control module 200 rewrites the values ​​of each operation completion time of variables #200-#207 corresponding to each operation request.

[0058] The robot control module 300 controls the operation of the robot 30 in accordance with the robot control program, and rewrites the values ​​of variables #100 to #108 stored in the variable memory of the variable storage unit 24 in accordance with the robot control program. The robot control module 300 also reads out the values ​​of the operation completion times of the variables #200 to #207 rewritten in the machine tool control module 200, and provides these values ​​to the read / write execution / prohibition determination unit 36 ​​to determine whether to execute or prohibit reading or writing of the variables by the robot control device 3.

[0059] More specifically, in the first block, the machine tool control module 200 reads the value of variable #101 stored in the variable memory and judges whether the read value is "1". When the value of variable #101 is "1", that is, when the robot control module 300 requests the door opening operation of the machine tool 20, the machine tool control module 200 calls the subprogram with program number "0001" according to the command "M98" for calling the subprogram, and when the value of variable #101 is "0", the process proceeds to the next block. The machine tool control module 200 executes the subprogram with program number "0001" to open the door of the machine tool 20 and resets the value of variable #101 to "0", and then returns to the main program shown in FIG. 3.

[0060] In the next block, the machine tool control module 200 reads the value of variable #102 stored in the variable memory, and judges whether the read value is "1". When the value of variable #102 is "1", that is, when the robot control module 300 requests the closing operation of the door of the machine tool 20, the machine tool control module 200 executes the subprogram of program number "0002", and when the value of variable #102 is "0", the machine tool control module 200 moves to the next block. By executing the subprogram of program number "0002", the machine tool control module 200 closes the door of the machine tool 20 and resets the value of variable #102 to "0", and then returns to the main program shown in FIG. 3.

[0061] In the next block, the machine tool control module 200 reads the value of variable #103 stored in the variable memory, and judges whether the read value is "1". When the value of variable #103 is "1", that is, when the robot control module 300 requests the opening operation of the chuck of the machine tool 20, the machine tool control module 200 executes the subprogram of program number "0003", and when the value of variable #103 is "0", the machine tool control module 200 moves to the next block. By executing the subprogram of program number "0003", the machine tool control module 200 opens the chuck of the machine tool 20 and resets the value of variable #103 to "0", and then returns to the main program shown in FIG. 3.

[0062] Although not shown in the figure, the machine tool control module 200 similarly reads out the value of variable #104 stored in the variable memory and judges whether the read out value is "1" or not. When the value of variable #104 is "1", that is, when the robot control module 300 requests the closing operation of the chuck of the machine tool 20, the machine tool control module 200 executes the subprogram of program number "0004", and when the value of variable #104 is "0", it proceeds to the next block. By executing the subprogram of program number "0004", the machine tool control module 200 closes the chuck of the machine tool 20 and resets the value of variable #104 to "0", and then returns to the main program shown in FIG. 3.

[0063] In the next block, the machine tool control module 200 reads the value of variable #105 stored in the variable memory, and determines whether the read value is "1." If the value of variable #105 is "1," i.e., if the robot control module 300 is requesting the machine tool 20 to perform machining 1, the machine tool control module 20 executes the subprogram with program number "0005," and if the value of variable #105 is "0," the machine tool control module 200 proceeds to the next block.

[0064] 3 shows an example of a subprogram with program number "0005". When the subprogram with program number "0005" is called, the machine tool control module 200 rewrites the value of the machining 1 completion time of the variable #205 corresponding to the operation request for machining 1 to, for example, 600 seconds in response to the operation request for machining 1 from the robot control module 300. At this time, the robot control module 300 acquires the operation completion time for machining 1 by reading out the rewritten value of the variable #205, and determines whether to execute or prohibit the robot control device 3 from reading and writing the variable in the read / write execution / prohibition determination unit 36 ​​in response to a read / write permission / prohibition request based on the lapse of the acquired operation completion time for machining 1.

[0065] Furthermore, various commands such as "G00" and "G01" for machining a workpiece by the machine tool 20 are input to the machine tool control module 200, and the machine tool control module 200 controls the positioning operation, linear interpolation operation, etc. of the machine tool 20 in accordance with the procedure determined by the numerical control program to machine the workpiece. When the operation of Machining 1 is completed, the machine tool control module 200 rewrites the value of the Machining 1 completion time of variable #205 corresponding to the operation request of Machining 1 to 0 seconds, then rewrites the value of variable #105 stored in the variable memory to "0", and returns to the main program shown in Fig. 3 in accordance with the command "M99".

[0066] Although not shown in the figure, an operation request for machining 2 or machining 3 from the robot control module 300 to the machine tool 20 is also executed by the same numerical control program as the operation request for machining 1 described above. Note that, although not shown in the figure, rewriting of the machining 1 completion time of variable #205 in the subprogram with program number "0005" is similarly performed in each of the subprograms with program numbers "0000" to "0007". Similarly, each rewritten operation completion time is used in the read / write execution / prohibition determination unit 36 ​​to determine whether to execute or prohibit reading and writing of the variable by the robot control device 3.

[0067] In the next block, the machine tool control module 200 reads out the value of variable #100 stored in the variable memory, and judges whether the read out value is "0" or not. If the value of variable #100 is "0", i.e., if the robot control module 300 has not requested that the numerical control program be stopped, the machine tool control module 200 returns to sequence number "N10" and monitors the values ​​of variables #100 to #107 again. If the value of variable #100 is "1", i.e., if the robot control module 300 has requested that the numerical control program be stopped, the machine tool control module 200 ends the numerical control program shown in Fig. 3 in accordance with the command "M30".

[0068] Next, the flow of processing of the numerical control system 1 according to the first embodiment will be described in detail with reference to FIGS. 4A and 4B.

[0069] Fig. 4A is a flowchart showing a process flow related to the robot control device 3 according to the first embodiment. Fig. 4B is a flowchart showing a process flow related to the numerical control device 2 according to the first embodiment. These processes are repeatedly executed in response to the start of the operation of the robot 30, and are executed in parallel in an interlocking manner.

[0070] First, as shown in step S11 of Fig. 4A, a machining program number is selected in the robot control device 3. Specifically, in the robot control module 300, the machining program number to be called as a subprogram is written into a corresponding macro variable, for example, variable #105. The machining program number written into variable #105 is stored in the variable storage unit 24.

[0071] At this time, as shown in step S21 of Fig. 4B, the machining program is switched in the numerical control device 2. Specifically, in the machine tool control module 200, the machining program number written in the above-mentioned step S11 and stored in the variable storage unit 24 is read out, and switching is performed to the read machining program number.

[0072] Next, as shown in step S22 of Fig. 4B, a machining program is selected in the numerical control device 2. Specifically, in the machine tool control module 200, a machining program corresponding to the machining program number switched in the above-mentioned step S21 is selected from the storage unit 21. In addition, the machining time, i.e., the operation completion time, is written into a macro variable corresponding to the machining operation in the selected machining program, for example, variable #205. The machining time (operation completion time) written into variable #205 is stored in the variable storage unit 24.

[0073] At this time, as shown in step S12 of Fig. 4A, the robot control device 3 acquires the processing time (operation completion time). Specifically, the robot control module 300 reads and acquires the processing time (operation completion time) written in the above-mentioned step S22 and stored in the variable storage unit 24.

[0074] 4A, the robot control device 3 requests the numerical control device 2 to start machining. Specifically, the robot control module 300 rewrites the value of a macro variable assigned to the machining start request, for example, variable #105, to "1." The variable #105 rewritten to "1" is stored in the variable storage unit 24.

[0075] As a result, as shown in step S23 of Fig. 4B, the numerical control device 2 starts machining according to the selected machining program. Specifically, the machine tool control module 200 starts machining by reading out the value of variable #105 of the machining start request that was rewritten to "1" in the above-mentioned step S13 and stored in the variable storage unit 24.

[0076] 4A, the robot control device 3 waits until the processing time (operation completion time) has elapsed. That is, the read / write execution / prohibition determination unit 36 ​​prohibits reading and writing of variables from the robot control module 300 until the processing time (operation completion time) has elapsed. This reduces the communication load until the processing time (operation completion time) has elapsed.

[0077] Next, the robot control device 3 waits until the machining time (operation completion time) has elapsed, and then determines whether machining has been completed as shown in step S15 of Fig. 4A. Specifically, the robot control module 300 reads out the value of the macro variable for the machining start request stored in the variable storage unit 24, for example, the variable #105, and determines whether the read value is "0." If this determination is YES, the process proceeds to step S16, and if NO, the determination in step S15 is repeated.

[0078] At this time, as shown in step S24 in Fig. 4B, when machining is completed in the numerical control device 2, the value of the macro variable assigned to the machining start request, for example, variable #105, is rewritten to "0." Variable #105 rewritten to "0" is stored in the variable storage unit 24. As a result, the determination in step S15 in Fig. 4A becomes YES.

[0079] Next, a workpiece replacement request is made in the robot control device 3 as shown in step S16 of Fig. 4A. Specifically, in the robot control module 300, the value of a macro variable assigned to the workpiece replacement request, for example, variable #108, is rewritten to "1". Variable #108 rewritten to "1" is stored in the variable storage unit 24. With the above, the processing of the robot control device 3 is terminated.

[0080] At this time, as shown in step S25 of Fig. 4B, the numerical controller 2 requests the numerical controller 2 to move the axes to the workpiece exchange position. Specifically, the machine tool control module 200 reads out the value of the workpiece exchange request variable #108, which was rewritten to "1" in the above-mentioned step S16 and stored in the variable storage unit 24, to move the axes of the machine tool 20 to the workpiece exchange position and exchange the workpiece. This ends the processing of the numerical controller 2.

[0081] According to this embodiment, the following effects are achieved.

[0082] The numerical control system 1 includes a numerical control device 2 that controls the operation of a machine tool 20 based on a numerical control program, a robot control device 3 that controls the operation of a robot 30 based on a robot control program, and a variable storage unit 24 that stores values ​​of variables that can be read and written by the numerical control device 2 and the robot control device 3. The robot control device 3 has a read / write execution / prohibition determination unit 36 ​​that determines whether to execute or prohibit reading and writing of variables in response to a read / write permission / prohibition request that requests permission or prohibition of reading and writing of variables of the numerical control device 2. When the read / write execution / prohibition determination unit 36 ​​determines that reading and writing of variables should be executed, the robot control device 3 reads out the values ​​of the variables stored in the variable storage unit 24 and controls the operation of the robot 30 based on the read values ​​of the variables, and when it determines that reading and writing of variables should be prohibited, it prohibits reading of the values ​​of the variables stored in the variable storage unit 24.

[0083] Conventionally, it was necessary to turn on an operation request from the robot control device to the numerical control device via a macro variable, periodically read the macro variable of the numerical control device from the robot control device to monitor the state, and turn off the operation request when the state is operation completion, which resulted in a large communication load. In contrast, according to this embodiment, by providing the read / write execution / prohibition determination unit 36, it is possible to determine whether to execute or prohibit the robot control device 3 from reading and writing variables in response to a read / write permission / prohibition request that requests permission or prohibition of the robot control device 3 from reading and writing variables, thereby reducing the communication load. In particular, since it is possible to prohibit the robot control device 3 from reading and writing variables during machining of a workpiece, i.e., during the operation of the numerical control device 2, it is possible to avoid an increase in communication load caused by interruption of communication from the robot control device 3, which leads to an increase in cycle time and a decrease in machining accuracy.

[0084] Furthermore, in the numerical control system 1, the read / write execution / prohibition determination unit 36 ​​acquires the operation completion time of the numerical control device 2 or the operation completion time of the robot control device 3, and determines whether to execute or prohibit reading and writing of variables by the robot control device 3 in response to a read / write permission / prohibition request based on the lapse of these operation completion times. Furthermore, the read / write execution / prohibition determination unit 36 ​​determines whether to execute reading and writing of variables by the robot control device 3 after the operation completion time of the numerical control device 2 or the operation completion time of the robot control device 3 has passed. This makes it possible to more reliably prohibit reading and writing of variables by the robot control device 3 until the operation completion time of the numerical control device 2 or the operation completion time of the robot control device 3 has passed, thereby more reliably reducing the communication load.

[0085] Furthermore, in the numerical control system 1, the read / write execution / prohibition determination unit 36 ​​acquires the operation completion time of the numerical control device 2 or the operation completion time of the robot control device 3 via a variable in the numerical control program or the robot control program. This makes it possible to achieve the above-mentioned effects by reading out the operation completion time of the numerical control device 2 or the operation completion time of the robot control device 3 written in the variable in the numerical control program or the robot control program.

[0086] In the numerical control system 1, the numerical control device 2 reads and writes the values ​​of variables stored in the variable storage unit 24 based on the numerical control program, and the robot control device 3 reads and writes the values ​​of variables stored in the variable storage unit 24 based on the robot control program. That is, variables defined in the numerical control program and the robot control program are used as variables used to transmit notifications and requests between the numerical control device 2 and the robot control device 3. This makes it possible to control the operation of the machine tool 20 and the operation of the robot 30 in a linked manner without updating the software of the existing numerical control device 2 and robot control device 3.

[0087] Furthermore, in the numerical control system 1, variables are specified by numbers or character strings in the numerical control program and the robot control program, which has the effect of making it easier to identify the variable into which the operation completion time is written.

[0088] Furthermore, according to the numerical control system 1, notifications from the machine tool control module 200 to the robot control module 300, and notifications and requests from the robot control module 300 to the machine tool control module 200, can be made via variables that can be read and written from both sides, so that the machine tool 20 and the robot 30 can be easily linked without adding new I / O signals or external devices, or editing existing ladder circuits. Furthermore, according to the numerical control system 1, it becomes possible to support a variety of automation forms simply by storing the values ​​of various variables in the variable memory unit 24.

[0089] [Second embodiment] 5 is a functional block diagram of a numerical control system 1A according to the second embodiment. The numerical control system 1A according to the second embodiment differs from the numerical control system 1 according to the first embodiment in that it further includes a read / write enable / disable signal output unit 29 and a read / write enable / disable signal input unit 39, and in that the configuration of a read / write execution / prohibition determination unit 36A is different from that of the read / write execution / prohibition determination unit 36, but the other configurations are the same as those of the first embodiment. Below, the differences from the first embodiment will be described in detail, and a description of the configurations in common with the first embodiment will be omitted.

[0090] 5, the numerical control device 2A has a read / write permission / prohibition signal output unit 29. The read / write permission / prohibition signal output unit 29 outputs a read / write prohibition signal, which is an I / O signal that prohibits the robot control device 3A from reading and writing variables while the numerical control device 2A is operating or while the robot control device 3A is operating. The read / write permission / prohibition signal output unit 29 also outputs a read / write permission signal, which is an I / O signal that permits the robot control device 3A to read and write variables after the numerical control device 2A or the robot control device 3A has completed operating.

[0091] The read / write enable / disable I / O signal output from read / write enable / disable signal output unit 29 is based on an I / O signal input from outside the numerical control program, such as the control panel of machine tool 20 or a ladder program.

[0092] The robot control device 3A has a read / write permission / prohibition signal input unit 39. The read / write permission / prohibition signal output from the read / write permission / prohibition signal output unit 29 described above is input to the read / write permission / prohibition signal input unit 39.

[0093] The read / write execution / prohibition determination unit 36A determines whether to execute or prohibit the reading and writing of variables by the robot control device 3A in response to a read / write permission / prohibition request based on the above-mentioned read / write permission / prohibition signal. That is, unlike the first embodiment, in which the read / write execution or prohibition of variables by the robot control device 3A is determined in response to a read / write permission / prohibition request based on the lapse of the operation completion time of the numerical control device 2A or the operation completion time of the robot control device 3A acquired via variables in the numerical control program and the robot control program, in this embodiment, the read / write execution or prohibition of variables by the robot control device 3A is determined in response to a read / write permission / prohibition request that is an I / O signal.

[0094] Fig. 6A is a flowchart showing the process flow of the robot control device 3A according to the second embodiment. Fig. 6B is a flowchart showing the process flow of the numerical control device 2A according to the second embodiment. These processes are repeatedly executed in response to the start of the operation of the robot 30, and are executed in parallel in conjunction with each other. In the explanation of Figs. 6A and 6B, the read / write permission / prohibition signal will be explained as a read / write permission signal that is OFF (permitted) and a read / write permission signal that is ON (prohibited).

[0095] First, as shown in step S41 of Fig. 6B, in the numerical control device 2A, the read / write permission signal is initialized. Specifically, for example, DO

[0100] is defined as the read / write permission signal to be output, and this read / write permission signal DO

[0100] is rewritten to OFF (permitted). The read / write permission signal DO

[0100] rewritten to OFF (permitted) is output from the read / write permission / prohibition signal output unit 29 to the read / write permission / prohibition signal input unit 39.

[0096] Next, as shown in step S42 of Fig. 6B, the numerical controller 2A judges whether or not there is a request for a communication operation for reading and writing variables in the numerical controller 2A. If the judgment is YES, the process proceeds to step S43, where the read / write permission signal DO

[0100] is rewritten to ON (prohibited), and output from the read / write permission / prohibition signal output unit 29 to the read / write permission / prohibition signal input unit 39, and then the process proceeds to step S44, where the communication operation for reading and writing variables is executed. After execution, the process proceeds to step S45, where the read / write permission signal DO

[0100] is rewritten to OFF (permitted), and output from the read / write permission / prohibition signal output unit 29 to the read / write permission / prohibition signal input unit 39, thereby terminating the processing of the numerical controller 2A.

[0097] Note that this variable read / write communication operation request is, for example, assigned to a predetermined variable, requested from the robot control module 300 to the machine tool control module 200, stored in the variable storage unit 24, and acquired by the machine tool control module 200 reading it out. Also, if the determination in step S42 is NO, the determination in step S42 is repeated.

[0098] On the other hand, as shown in step S31 of Fig. 6A, in the robot control device 3A, it is determined whether or not the read / write permission signal DI

[0100] input to the read / write permission / prohibition signal input unit 39 is ON (prohibited). If this determination is YES, the read / write is prohibited, so the process proceeds to step S32 and waits for a predetermined specified time, and then returns to the determination of step S31. If this determination is NO, the read / write is permitted, so the process proceeds to step S33 and starts communication for reading and writing variables.

[0099] Next, as shown in step S34 of Fig. 6A, the robot control device 3A reads variables in the numerical control device 2A. Specifically, the robot control module 300 reads variables in the numerical control device 2A stored in the variable storage unit 24.

[0100] Next, as shown in step S35 of Fig. 6A, the robot control device 3A rewrites the variables in the numerical control device 2A. Specifically, in the robot control module 300, the variables in the numerical control device 2A stored in the variable storage unit 24 are rewritten.

[0101] Next, the robot controller 3A executes commands in the robot program according to the values ​​of the variables as shown in step S36 of Fig. 6A. This completes the processing of the robot controller 3A.

[0102] According to the present embodiment, in addition to the same effects as those of the first embodiment, the following effects are achieved.

[0103] The numerical controller 2A has a read / write permission / prohibition signal output unit 29 that outputs a read / write prohibition signal, which is an I / O signal that prohibits the robot controller 3A from reading and writing variables while the numerical controller 2A is operating or while the robot controller 3A is operating, and outputs a read / write permission signal, which is an I / O signal that permits the robot controller 3A to read and write variables after the numerical controller 2A has completed its operation or after the robot controller 3A has completed its operation. The robot controller 3A has a read / write permission / prohibition signal input unit 39 to which the read / write permission / prohibition signal output from the read / write permission / prohibition signal output unit 29 is input. In addition, the read / write execution / prohibition determination unit 36A determines whether to execute or prohibit the robot controller 3A from reading and writing variables in response to a read / write permission / prohibition request based on the read / write permission / prohibition signal. This allows not only operation from the numerical control program using variables, but also a read / write prohibition request from outside the numerical control program, such as the operation panel of the machine tool 20 or a ladder program, by using an I / O signal.

[0104] The present disclosure is not limited to the above-described embodiment, and various modifications and variations are possible.

[0105] For example, in the above embodiment, a variable memory unit 24 that stores the values ​​of multiple variables that can be read and written from both the machine tool control module 200 and the robot control module 300 is provided in the numerical control device 2, but this is not limited to the above.

[0106] The variable storage unit may be provided in, for example, a robot control device that is communicatively connected to the numerical control device. In this case, the machine tool control module of the numerical control device can read and write the values ​​of the variables stored in the variable storage unit provided in the robot control device via the communication, thereby achieving the same effects as those of the above embodiment.

[0107] The variable storage unit may be provided in a server communicably connected to the numerical control device and the robot control device, for example. In this case, the machine tool control module of the numerical control device and the robot control module of the robot control device can read and write the values ​​of the variables stored in the variable storage unit provided in the server via the communication, thereby achieving the same effects as the above embodiment. [Explanation of symbols]

[0108] 1,1A Numerical Control System 2,2A Numerical Control Device 3,3A Robot control device 20 Machine tools 21 Memory section 22 Program Input Section 23 Analysis Department 24 Variable storage section 25 Data transmission and reception unit 26 I / O control section 27 Interpolation control section 28 Servo control unit 29 Read / write enable / disable signal output section 30. Robot 30a Arm tip 30b Tools 31 Storage section 32 Program Input Section 33 Analysis Department 35 Data transmission and reception unit 36,36A Read / write execution / prohibition determination section 37 Trajectory control section 38 Servo control unit 39 Read / write enable / disable signal input section 200 Machine Tool Control Module 300 Robot Control Module

Claims

1. A numerical control system that controls the operation of a machine tool and a robot in cooperation with each other, a numerical control device that controls an operation of the machine tool based on a numerical control program; A robot control device that controls the operation of the robot based on a robot control program; a variable storage device that stores values ​​of variables that can be read and written by the numerical control device and the robot control device, the robot control device has a read / write execution / prohibition determination unit that determines whether to execute or prohibit the reading and writing of the variable in response to a read / write permission / prohibition request that requests permission or prohibition of reading and writing of the variable of the numerical control device, When the read / write execution / prohibition determination unit determines that the variable should be read or written, the robot control device reads the value of the variable stored in the variable storage device and controls the operation of the robot based on the read value of the variable, and when the read / write prohibition determination unit determines that the variable should be read or written, the robot control device prohibits the reading of the value of the variable stored in the variable storage device; the read / write execution / prohibition determination unit acquires an operation completion time of the numerical control device or an operation completion time of the robot control device, and determines whether to execute or prohibit the read / write of the variable by the robot control device in response to the read / write permission / prohibition request based on the lapse of the operation completion time; A numerical control system, wherein the read / write execution / prohibition determination unit determines whether the robot control device has executed read / write of the variable after an operation completion time of the numerical control device or an operation completion time of the robot control device has elapsed.

2. The numerical control system described in Claim 1, wherein the read / write execution / prohibition determination unit obtains the operation completion time of the numerical control device or the operation completion time of the robot control device via a variable in the numerical control program or the robot control program.

3. The numerical control device has a read / write permission / prohibition signal output unit which outputs a read / write prohibition signal, which is an I / O signal that prohibits the robot control device from reading and writing the variable while the numerical control device or the robot control device is operating, and which outputs a read / write permission signal, which is an I / O signal that permits the robot control device to read and write the variable after the numerical control device or the robot control device has completed its operation; the robot control device has a read / write permission / prohibition signal input unit to which the read / write permission / prohibition signal output from the read / write permission / prohibition signal output unit is input, 2. The numerical control system according to claim 1, wherein the read / write execution / prohibition determination unit determines whether to execute or prohibit the reading and writing of the variable by the robot control device in response to the read / write permission / prohibition request based on the read / write permission / prohibition signal.

4. The numerical control device reads and writes values ​​of variables stored in the variable storage device based on the numerical control program, 4. The numerical control system according to claim 1, wherein the robot control device reads and writes values ​​of variables stored in the variable storage device based on the robot control program.

5. A numerical control system described in any one of claims 1 to 4, wherein the variables are specified by numbers or character strings in the numerical control program and the robot control program.

Citation Information

Patent Citations

  • Virtual debugging system for intelligent manufacture

    CN110597162A

  • Method and device for calling robot program for numerically controlled machine tool

    JP1994028019A

  • Machine tool control device and production system

    JP2018195055A

  • Control apparatus and control method

    JP2019053459A

  • Control unit

    JP2019067045A