WO2024042728A1 - 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム - Google Patents

数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム Download PDF

Info

Publication number
WO2024042728A1
WO2024042728A1 PCT/JP2022/032289 JP2022032289W WO2024042728A1 WO 2024042728 A1 WO2024042728 A1 WO 2024042728A1 JP 2022032289 W JP2022032289 W JP 2022032289W WO 2024042728 A1 WO2024042728 A1 WO 2024042728A1
Authority
WO
WIPO (PCT)
Prior art keywords
variable
robot
program
list information
control device
Prior art date
Application number
PCT/JP2022/032289
Other languages
English (en)
French (fr)
Inventor
拓実 室伏
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to JP2022568401A priority Critical patent/JP7256931B1/ja
Priority to PCT/JP2022/032289 priority patent/WO2024042728A1/ja
Priority to TW112129347A priority patent/TW202408749A/zh
Publication of WO2024042728A1 publication Critical patent/WO2024042728A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4063Monitoring general control system

Definitions

  • the present invention relates to a numerical control system, a numerical control device, an industrial device, and a computer program.
  • a robot control device that controls the robot makes the robot and machine tool work together by reading and writing custom macro variables of the machine tool. For example, the robot control device acquires the operating state by turning on an operation request via a custom macro variable of the machine tool and reading the custom macro variable of the machine tool. Then, when the operation state reaches the completion of the operation, the robot control device performs a process of turning off the operation request and proceeding to the next sequence (for example, see Patent Document 2).
  • Custom macro variables are used to calculate machining conditions, etc. of the machining program.
  • Custom macro variables can be used in conditional expressions to change the processing of the machining program and the operation of the machine tool according to the value of the variable.
  • the robot reads/writes custom macro variables to make the robot and machine tool work together, the user prepares custom macro variables for the robot to work with.
  • the robot and machine tool work together using a custom macro variable for the machine tool
  • this variable when this variable is used in a machining program, the robot will read and write the variable being used in the machining program.
  • the robot writes to a variable that is being used in a machining program, if the variable is used in a conditional expression in the machining program, the robot changes the value of the variable. Therefore, the value of the conditional expression may be different from what the user originally intended. As a result, processing of a machining program that was not intended may be executed, resulting in machining defects and damage to tools and machines.
  • the robot when the robot reads a variable that is being used in a machining program, if the variable is used in an operation in the machining program, the robot reads the value that changes in that operation.
  • the robot may make decisions that are not intended by the user, such as whether the machine tool has completed processing or the machine tool door has opened, based on the values of the read variables. As a result, for example, during machining, the robot determines that machining is complete and attempts to enter the machine tool to take out the workpiece, which may cause a collision between the machine tool and the robot.
  • One aspect of the present disclosure is a numerical control system that controls a robot from a machining program of a numerical control device via a robot control device, wherein variables are acquired from all of the machining programs in the numerical control device, and a variable list information generation unit that generates variable list information in which variables and the machining program are associated with each other; and a variable list information generating unit that generates variable list information in which variables are associated with the machining program; If the variable is used in a different correspondence relationship from the information, the variable is not used. If the variable included in the variable list information is used in the processing program that does not exist in the variable list information, the variable is not used. It is equipped with a program editing department.
  • One aspect of the present disclosure is a numerical control system that controls a robot from a machining program of a numerical control device via a robot control device, wherein variables are acquired from all of the machining programs in the numerical control device, and
  • the apparatus includes a variable list information generation section that generates variable list information in which variables and the processing program are associated with each other, and a variable list information output section that outputs the variable list information to an output device.
  • One aspect of the present disclosure is a numerical control device that controls a robot via a robot control device using a machining program, wherein variables are selected from the machining program in the numerical control device or the robot program in the robot control device.
  • a variable list information generating unit that generates variable list information in which the variables are associated with the machining program or the robot program; If the variable is used in a different correspondence relationship, the variable is not used, and if the variable included in the variable list information is used in the machining program that does not exist in the variable list information, the program does not use the variable. It is equipped with an editorial department.
  • One aspect of the present disclosure includes a receiving unit that receives a machining program or a robot program from a numerical control device or a robot control device, and a receiving unit that acquires variables from the machining program in the numerical control device or the robot program in the robot control device.
  • a receiving unit that receives a machining program or a robot program from a numerical control device or a robot control device, and a receiving unit that acquires variables from the machining program in the numerical control device or the robot program in the robot control device.
  • an industry comprising: a variable list information generation unit that generates variable list information in which the variables are associated with the machining program or the robot program; and a variable list information output unit that outputs the variable list information to an output device. It is a device for
  • One aspect of the present disclosure is to provide a computer that controls a robot via a robot control device from a machining program of a numerical control device, acquire variables from all machining programs in the numerical control device, and combine the variables and the machining program. and generating variable list information in which the variables included in the machining program in the numerical control device or the robot program in the robot control device are used in a different correspondence relationship from the variable list information.
  • the step of not using the variable, and the step of not using the variable if the variable included in the variable list information is used in the machining program that does not exist in the variable list information. It is a computer program.
  • FIG. 1 is a block diagram showing the configuration of a numerical control system according to the present embodiment. It is a figure showing an example of a processing program concerning a 1st embodiment.
  • FIG. 3 is a diagram illustrating an example of processing for searching for variables according to the first embodiment. It is a figure showing an example of variable list information concerning a 1st embodiment.
  • FIG. 3 is a diagram showing an example of outputting variable list information according to the first embodiment.
  • FIG. 7 is a diagram showing an example of displaying a warning message according to the first embodiment. It is a figure showing an example of stopping or prohibiting execution of a machining program concerning a 1st embodiment. It is a flowchart which shows the processing of the industrial device concerning a 1st embodiment.
  • FIG. 7 is a diagram showing an example of displaying a warning message according to the second embodiment. It is a figure showing an example of stopping or prohibiting execution of a machining program concerning a 2nd embodiment. 7 is a flowchart showing processing of the industrial device according to the second embodiment. It is a flowchart which shows the process when editing or creating a machining program in the numerical control device based on 2nd Embodiment. It is a flowchart which shows the processing of the numerical control device concerning a 2nd embodiment.
  • FIG. 7 is a diagram illustrating an example of processing for searching for variables according to a third embodiment. It is a figure showing an example of variable list information concerning a 3rd embodiment.
  • FIG. 7 is a diagram illustrating an example of outputting variable list information according to a third embodiment. It is a figure which shows the example which displays the warning message based on 3rd Embodiment.
  • FIG. 7 is a diagram showing an example of stopping or prohibiting execution of a robot program according to a third embodiment. It is a flowchart which shows the processing of the industrial device concerning a 3rd embodiment.
  • 12 is a flowchart showing processing when editing or creating a robot program in the robot control device according to the third embodiment.
  • 12 is a flowchart showing processing when a robot program is executed in a robot control device according to a third embodiment. It is a figure showing an example of outputting variable list information concerning a 4th embodiment. It is a figure showing an example of a machining program and a robot program concerning a 4th embodiment. It is a flowchart which shows the processing of the industrial device concerning a 4th embodiment.
  • FIG. 1 is a functional block diagram of a numerical control system 1 according to this embodiment.
  • the numerical control system 1 includes a machine tool 2 that processes a workpiece (not shown), a robot 3 installed near the machine tool 2 and the machine tool 2, and an industrial device communicably connected to the machine tool 2 and the robot 3. 4, a numerical control device (CNC) 5 that controls the operation of the machine tool 2, and a robot control device 6 that controls the operation of the robot 3.
  • the numerical control system 1 controls the operations of the machine tool 2 and the robot 3 in conjunction with each other by using an industrial device 4, a numerical control device 5, and a robot control device 6 that are communicably connected to each other.
  • the machine tool 2 processes a workpiece (not shown) in response to a machine tool control signal transmitted from the numerical control device 5.
  • the machine tool 2 is, for example, a lathe, a drilling machine, a milling machine, a grinding machine, a laser processing machine, an injection molding machine, etc., but is not limited to these.
  • the robot 3 operates under the control of the robot control device 6, and performs a predetermined work on a workpiece processed by the machine tool 2, for example.
  • the robot 3 is, for example, an articulated robot, and a tool for gripping, processing, and inspecting a workpiece is attached to the tip of its arm.
  • the robot 3 is a six-axis articulated robot, but the invention is not limited to this.
  • the robot 3 is a six-axis articulated robot, but the number of axes is not limited to this.
  • the industrial device 4 may be provided within the numerical control device 5, or may be provided in a computer device or the like external to the numerical control device 5. An example in which the industrial device 4 is provided outside a numerical control device will be described below.
  • the industrial device 4, the numerical control device 5, and the robot control device 6 each include arithmetic processing means such as a CPU (Central Processing Unit), and an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores various computer programs.
  • arithmetic processing means such as a CPU (Central Processing Unit), and an HDD (Hard Disk Drive) or SSD (Solid State Drive) that stores various computer programs.
  • main storage means such as RAM (Random Access Memory) for storing data temporarily required for the arithmetic processing means to execute a computer program
  • operation means such as a keyboard for an operator to perform various operations
  • It is a computer configured by hardware such as a display means and a display that displays various information to the operator.
  • the industrial device 4, the numerical control device 5, and the robot control device 6 are capable of transmitting and receiving various signals to each other via, for example, Ethernet (registered trademark).
  • the numerical control device 5 realizes various functions such as the function of controlling the operation of the machine tool 2, the function of generating the operation path of the control axis of the robot 3, etc., using the above hardware configuration.
  • the numerical control device 5 includes a storage section 51, a program input section 52, an analysis section 53, a control section 54, a data transmission/reception section 55, an input section 56, a program editing section 57, and a display section 58. Be prepared.
  • the storage unit 51 stores, for example, a plurality of machining programs 511 created based on operations by an operator. More specifically, the storage unit 51 includes a plurality of command blocks for the machine tool 2 for controlling the operation of the machine tool 2, a plurality of command blocks for the robot 3 for controlling the operation of the robot 3, and the like. A machining program 511 is stored. The machining program 511 stored in the storage unit 51 is written in a known programming language, such as G code or M code, for controlling the operation of the machine tool 2.
  • the storage unit 51 stores, for example, machine coordinate values indicating the positions of various axes of the machine tool 2 (that is, the positions of the tool rest, table, etc. of the machine tool 2) operating under the numerical control program. Note that these machine coordinate values are defined under a machine tool coordinate system whose origin is a reference point set at an arbitrary position on or near the machine tool 2.
  • the storage unit 51 is sequentially updated by a process not shown in the drawings so that the latest values of machine coordinate values that sequentially change under the numerical control program are stored.
  • the storage unit 51 stores, for example, robot coordinate values indicating the positions and postures of control points of the robot 3 operating under the control of the robot control device 6, in other words, the positions of each control axis of the robot 3. .
  • these robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system, as described above.
  • the storage unit 51 is sequentially updated with robot coordinate values obtained from the robot control device 6 by a process not shown in the drawings so that the latest values of the robot coordinate values that change sequentially under the numerical control program are stored.
  • the storage unit 51 stores, for example, taught positions such as the starting point and ending point of the robot 3 input by the operator. Specifically, the storage unit 51 stores the teaching position of the robot 3 inputted from a teach pendant or the like, the teaching position inputted from a keyboard or the like, and the like.
  • the taught position of the robot 3 includes robot coordinate values indicating the position of each control axis of the robot 3, and these robot coordinate values are defined under a robot coordinate system different from the machine tool coordinate system.
  • the storage unit 51 further stores custom macro variables (hereinafter also referred to as variables) 512 and variable list information 513.
  • the custom macro variable 512 is used to calculate machining conditions, etc. of the machining program 511.
  • the processing of the machining program can be changed and the operation of the machine tool 2 can be changed according to the value of the variable.
  • the machine tool 2 and robot 3 work together as the robot 3 reads and writes a custom macro variable 512.
  • the variable list information 513 stores the variables 512 and the program names of the machining programs 511 that use the variables 512 in association with each other.
  • the program input unit 52 reads out a numerical control program for the robot, which is composed of a plurality of robot command blocks, from the storage unit 51 and sequentially inputs it to the analysis unit 53.
  • the analysis unit 53 analyzes the command type based on the numerical control program input from the program input unit 52 for each command block, and outputs the analysis result to the control unit 54. More specifically, when the command type of the command block is a machine tool numerical control command for the machine tool 2, the analysis unit 53 transmits this machine tool numerical control command to the control unit 54. When the command type of the command block is a robot numerical control command for the robot 3, the analysis unit 53 outputs this robot numerical control command to the control unit 54.
  • the control unit 54 generates machine tool control signals for controlling the operation of the machine tool 2 according to the analysis results sent from the analysis unit 53, and inputs them to actuators that drive various axes of the machine tool 2.
  • the machine tool 2 operates according to a machine tool control signal input from the control unit 54 and processes a workpiece (not shown).
  • control unit 54 generates a robot command signal for each robot command block based on the analysis result for each robot command block input from the analysis unit 53, and writes the generated robot command signal to the data transmitting/receiving unit 55. Specifically, the control unit 54 generates a robot command signal for each robot command block based on the robot numerical control command as an analysis result input from the analysis unit 53, and transmits and receives data using the generated robot command signal. Write in section 55.
  • the data transmitting and receiving unit 55 transmits and receives data such as commands, custom macro variables 512, and robot coordinate values to and from the data transmitting and receiving unit 65 of the robot control device 6. Specifically, the data transmitter/receiver 55 transmits the robot command signal generated by the controller 54 to the data transmitter/receiver 65 of the robot control device 6 .
  • the input unit 56 is, for example, an input device such as a keyboard or a mouse, a touch sensor configured integrally with the display unit 58, or the like.
  • the input section 56 receives input from an operator operating the numerical control device 5 and outputs it to the program editing section 57 .
  • the program editing section 57 edits or creates the machining program 511 according to the input from the input section 56, and stores it in the storage section 51.
  • the display section 58 is a liquid crystal display or the like, and displays various information under the control of the control section 54.
  • the display unit 58 displays variable list information 513.
  • the robot control device 6 includes a storage section 61, a program input section 62, an analysis section 63, a control section 64, a data transmission/reception section 65, an input section 66, and a program editing section 67, depending on the hardware configuration described above. , and various functions such as the display section 68 are realized.
  • the robot control device 6 uses the program input section 62, the analysis section 63, the control section 64, and the data transmission/reception section 65 to control the operation of the robot 3 based on the robot program 611 or the commands sent from the numerical control device 5. Control.
  • the data transmitter/receiver 65 receives a robot command signal transmitted from the data transmitter/receiver 55 of the numerical control device 5. Further, the data transmitting/receiving section 65 sequentially outputs the received robot command signal to the analyzing section 63. Furthermore, the data transmitting and receiving unit 65 transmits and receives custom macro variables 512 of the numerical control device 5 based on the robot program 611.
  • the storage unit 61 stores a robot program 611 and variable list information 612.
  • the variable list information 612 stores the variables 512 and the program names of the machining programs 511 and/or robot programs 611 that use the variables 512 in association with each other.
  • the program input unit 62 reads the robot program 611 from the storage unit 61 and sequentially inputs it to the analysis unit 63.
  • the analysis unit 63 analyzes the command type based on the robot program 611 input from the program input unit 62 for each command block, and outputs the analysis result to the control unit 64. Furthermore, the analysis section 63 analyzes the robot command signal input from the data transmission/reception section 65. The analysis section 63 outputs the analysis result to the control section 64.
  • the control unit 64 executes functions such as a robot command generation unit, program management unit, trajectory control unit, kinematics control unit, and servo control unit as shown below.
  • the robot command generation unit Based on the analysis result of the robot command signal input from the analysis unit 63, the robot command generation unit generates a robot command according to the robot command signal. The robot command generation unit outputs the generated robot command to the program management unit.
  • the program management unit When a robot command is input from the robot command generation unit, the program management unit generates a motion plan for the robot 3 according to the robot command signal by sequentially executing the robot command, and outputs it to the trajectory control unit.
  • the program management unit adds the input block robot command to the robot program stored in the storage unit 61.
  • a robot program corresponding to the robot command signal transmitted from the numerical control device 5 is generated and stored in the storage unit 61.
  • the stored robot program is activated and reproduced when the program management section receives a robot program activation command as a robot command.
  • the trajectory control unit When the trajectory control unit receives the motion plan from the program management unit, it calculates time-series data of control points of the robot 3 and outputs it to the kinematics control unit.
  • the kinematics control unit calculates the target angle of each joint of the robot 3 from the input time series data and inputs it to the servo control unit.
  • the servo control unit generates a robot control signal for the robot 3 by feedback-controlling each servo motor of the robot 3 so that the target angle input from the kinematics control unit is realized, and inputs the signal to the servo motor of the robot 3. .
  • the input unit 66 is, for example, an input device such as a keyboard or a mouse, a touch sensor configured integrally with the display unit 68, or the like.
  • the input section 66 receives input from an operator operating the robot control device 6 and outputs it to the program editing section 67 .
  • the program editing section 67 edits or creates the robot program 611 according to the input from the input section 66 and stores it in the storage section 61.
  • the display section 68 is a liquid crystal display or the like, and displays various information under the control of the control section 64.
  • the display unit 68 displays variable list information 612.
  • variable list information generation unit 41 of the industrial device 4 notifies the data transmitting/receiving unit 43 of the industrial device 4 of a request to acquire all machining programs 511 stored in the storage unit 51 of the numerical control device 5.
  • all machining programs 511 include variables 512.
  • the data transmitting/receiving unit 43 of the industrial device 4 acquires all machining programs 511 read from the storage unit 51 of the numerical control device 5 via the data transmitting/receiving unit of the numerical control device 5, and generates the variable list information generating unit. 41.
  • the variable list information generation unit 41 creates variable list information 513 and searches for variables 512 included in the input machining program 511.
  • the searched variable 512 is associated with the machining program 511 that includes the variable 512, and added to the variable list information 513.
  • the variable list information generation unit 41 searches all the input machining programs 511 and then inputs the variable list information 513 to the variable list information output unit 42 .
  • the variable list information output unit 42 outputs to the display unit 44 of the industrial device 4, and the display unit 44 displays the variable list information 513.
  • the variable list information output unit 42 outputs the variable list information 513 to the data transmitting/receiving unit 43 of the industrial device 4, and the data transmitting/receiving unit of the industrial device 4 outputs the variable list information 513 to the data transmitting/receiving unit 55 of the numerical control device 5. Send to.
  • the numerical control device 5 stores the variable list information 513 received by the data transmitting/receiving section 55 in the storage section 51. Thereby, the numerical control device 5 can use the variable list information 513 to avoid editing, creating, and executing the machining program 511 in which the variables 512 are duplicated.
  • the input unit 56 of the numerical control device 5 notifies the program editing unit 57 of a request to create or edit the machining program 511.
  • the program editing section 57 When creating the machining program 511, the program editing section 57 generates the machining program 511 and stores it in the storage section 51. When editing the machining program 511, the program editing section 57 reads the machining program 511 from the storage section 51.
  • variable 512 is input from the input section 56 to the program editing section 57. Then, the program editing section 57 reads the variable list information 513 from the storage section 51 and determines whether the input variable 512 exists in the variable list information 513.
  • the program editing unit 57 determines the correspondence between the machining program 511 being edited and the variable 512 based on the variable list information 513. If the machining program 511 being edited and the variables 512 are not associated with each other in the variable list information 513, the program editing section 57 displays a warning message on the display section 58 and deletes the input variable 512.
  • the program editing section 57 When saving the machining program 511, the program editing section 57 reads the variable list information 513 from the storage section 51. When the variable 512 is used in the machining program 511, the program editing unit 57 determines whether the used variable 512 exists in the variable list information 513.
  • the program editing unit 57 determines the correspondence between the machining program 511 to be saved and the variable 512 based on the variable list information 513.
  • the program editing unit 57 displays a warning message on the display unit 58 and prohibits saving of the machining program 511.
  • the program editing unit 57 saves the machining program 511 if the variable does not exist in the variable list information, or if the machining program 511 and the variable 512 are associated with each other in the variable list information 513.
  • the program input section 52 When executing the machining program 511, the program input section 52 reads the machining program 511 from the storage section 51 and inputs it to the analysis section 53.
  • the analysis unit 53 analyzes the command type based on the machining program 511 for each command block.
  • the analysis unit 53 reads the variable list information 513 from the storage unit 51 and determines whether the variable 512 exists in the variable list information 513.
  • the analysis unit 53 determines the correspondence between the machining program 511 being executed and the variable 512 based on the variable list information 513. In the variable list information 513, if the variable 512 is not associated with the machining program 511 that is being executed, the analysis unit 53 stops execution of the machining program.
  • the analysis unit 53 stores the variable 512 in the storage unit 51 according to the analysis result. Read and write values. For example, when the analysis unit 53 analyzes a movement command, the control unit 54 receives the movement command and drives the control axis of the machine tool 2 based on the movement command.
  • variable list information 612 is created from machining program 511 and robot program 611.
  • the variable list information generation unit 41 requests the acquisition of all machining programs 511 including the variables 512 in the storage unit 51 of the numerical control device 5, and requests the acquisition of all the machining programs 511 including the variables 512 in the storage unit 61 of the robot control device 6.
  • the acquisition request is notified to the data transmitting/receiving unit 43 of the industrial device 4.
  • the data transmitting/receiving unit 43 of the industrial device 4 acquires all the machining programs 511 including the variables 512 read from the storage unit 51 via the data transmitting/receiving unit 55 of the numerical control device 5. Further, the data transmitting/receiving unit 43 acquires all the robot programs 611 including the variables 512 read from the storage unit 61 of the robot control device 6 via the data transmitting/receiving unit 65 of the robot control device 6 . The data transmitting/receiving unit 43 inputs all the acquired machining programs 511 and all robot programs 611 to the variable list information generating unit 41.
  • the variable list information generation unit 41 creates variable list information 612 and searches for variables 512 included in the input machining program 511 and robot program 611.
  • the variable list information generation unit 41 adds the searched variable 512 to the variable list information 612 in association with the machining program 511 or robot program 611 that includes the variable 512.
  • the variable list information generation unit 41 searches all input machining programs 511 and robot programs 611, and then inputs variable list information 612 to the variable list information output unit 42.
  • the variable list information output unit 42 displays the variable list information 612 on the display unit 44.
  • the variable list information output unit 42 outputs variable list information 612 to the data transmitting/receiving unit 55, and the data transmitting/receiving unit 43 transmits the variable list information 612 to the data transmitting/receiving unit 65 of the robot control device 6.
  • the robot control device 6 stores the variable list information 612 received by the data transmitting/receiving section 65 in the storage section 61 of the robot control device 6.
  • the input unit 66 of the robot control device 6 notifies the program editing unit 67 of a request to create or edit the robot program 611.
  • the program editing section 67 When creating the robot program 611, the program editing section 67 generates the robot program 611 and stores it in the storage section 61. When editing the robot program 611, the program editing section 67 reads the robot program 611 from the storage section 61.
  • the input unit 66 inputs the variable 512 to the program editing unit 67.
  • the program editing section 67 reads the variable list information 612 from the storage section 61 and determines whether the input variable 512 is a variable that exists in the variable list information 612. If the variable 512 exists in the variable list information 612, the program editing unit 67 determines the correspondence between the robot program 611 being edited and the variable 512 based on the variable list information 612.
  • the program editing section 67 displays a warning message on the display section 68 of the robot control device 6, and displays the input variable 512. Delete.
  • the program editing section 67 reads the variable list information 612 from the storage section 61. If a variable 512 is used in the robot program 611, it is determined whether the used variable 512 exists in the variable list information.
  • the program editing unit 67 determines the correspondence between the robot program 611 and the variable 512 based on the variable list information 612. If the robot program 611 and the variables 512 are not correlated in the variable list information 612, the program editing section 67 displays a warning message on the display section 68 and prohibits saving of the robot program 611.
  • the program editing unit 67 stores the robot program 611 in the storage unit 61. save.
  • the program input unit 62 reads the robot program 611 from the storage unit 61 and inputs it to the analysis unit 63.
  • the analysis unit 63 analyzes the command type based on the robot program 611 for each command block. When analyzing the variable 512, the analysis unit 63 reads the variable list information 612 from the storage unit 61 and determines whether the variable 512 exists in the variable list information 612.
  • the analysis unit 63 determines the correspondence between the robot program 611 being executed and the variable 512 based on the variable list information 612.
  • the analysis unit 63 stops the execution of the robot program 611. If the variable 512 does not exist in the variable list information, or if the robot program 611 and the variable 512 are associated with each other in the variable list information 612, the analysis unit 63 uses the data transmission/reception unit 55 and the data transmission/reception unit 65 according to the analysis result.
  • the variable 512 in the storage unit 51 of the numerical control device 5 is read and written through the . For example, when the analysis unit 63 analyzes a movement command, the control unit 64 causes each joint of the robot 3 to drive based on the movement command.
  • FIGS. 2 to 10 are diagrams showing examples of processing of the numerical control system 1 according to the first embodiment
  • FIGS. 8 to 10 are diagrams showing the flow of processing of the numerical control system 1 according to the first embodiment. It is a flowchart.
  • the numerical control system 1 uses and executes the variable 512 currently in use in the machining program 511 in the existing machining program 511a.
  • FIG. 8 is a flowchart showing the processing of the industrial device 4 according to the first embodiment.
  • the variable list information generation unit 41 notifies the data transmission/reception unit 43 of the industrial device 4 of a request to acquire all machining programs 511 stored in the storage unit 51 of the numerical control device 5.
  • all machining programs 511 include variables 512.
  • the data transmitting/receiving section 43 acquires all the machining programs 511 read out from the storage section 51 of the numerical control device 5 via the data transmitting/receiving section 55 of the numerical control device 5 and inputs them to the variable list information generating section 41. (See Figure 2).
  • step S2 the variable list information generation unit 41 creates variable list information 513 and searches for variables 512 included in the input machining program 511 (see FIG. 3).
  • the searched variable 512 is associated with the machining program 511 that includes the variable 512, and added to the variable list information 513 (see FIG. 4).
  • the variable list information 513 stores the variable 512 in use and the program name of the machining program 511 that uses the variable 512 in association with each other.
  • the variable list information generation unit 41 searches all the input machining programs 511 and then inputs the variable list information 513 to the variable list information output unit 42 .
  • step S3 the variable list information output section 42 outputs the variable list information 513 to the data transmitting/receiving section 43 of the industrial device 4, and the data transmitting/receiving section of the industrial device 4 outputs the variable list information 513 to the numerical control device 5.
  • the data is transmitted to the data transmitting/receiving section 55 (see FIG. 5).
  • FIG. 9 is a flowchart showing processing when editing the machining program 511 in the numerical control device 5 according to the first embodiment.
  • the input unit 56 of the numerical control device 5 notifies the program editing unit 57 of a request to edit the machining program 511a.
  • the program editing section 57 reads the machining program 511a from the storage section 51, and the input section 56 inputs the variable 512 to the program editing section 57. Furthermore, the program editing section 57 reads variable list information 513 from the storage section 51.
  • step S12 the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (YES), the process moves to step S13. On the other hand, if the variable 512 does not exist in the variable list information 513 (NO), the process moves to step S16.
  • step S13 if the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511a being edited and the variable 512 based on the variable list information 513.
  • the correspondence relationship between the machining program 511a and the variable 512 is different, that is, when the machining program 511a and the variable 512 are not correlated (YES)
  • the process moves to step S14.
  • the machining program 511a and the variable 512 are associated (NO)
  • the process moves to step S16.
  • step S14 the program editing unit 57 deletes the input variable 512 from the existing machining program 511a without using it.
  • step S15 the program editing section 57 displays a warning message on the display section 58 (see FIG. 6).
  • the display unit 58 displays a warning message indicating that "variable #121 is used in machining program name O0456 and machining program name O0123 cannot be saved.”
  • the machining program name O0123 indicates the machining program 511a.
  • step S16 the program editing unit 57 uses the variables 512 to edit the existing machining program 511a.
  • FIG. 10 is a flowchart showing the processing of the numerical control device 5 according to the first embodiment.
  • the input unit 56 of the numerical control device 5 notifies the program editing unit 57 of a request to execute the machining program 511a.
  • the program editing section 57 reads the machining program 511a from the storage section 51, and the input section 56 inputs the variable 512 to the program editing section 57. Furthermore, the program editing section 57 reads variable list information 513 from the storage section 51.
  • step S22 the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (YES), the process moves to step S23. On the other hand, if the variable 512 does not exist in the variable list information 513 (NO), the process moves to step S26.
  • step S23 if the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511a and the variable 512 based on the variable list information 513.
  • the correspondence relationship between the machining program 511a and the variable 512 is different, that is, when the machining program 511a and the variable 512 are not correlated (YES)
  • the process moves to step S24.
  • the machining program 511a and the variable 512 are associated (NO)
  • the process moves to step S26.
  • step S24 the program editing unit 57 does not use the input variable 512 in the existing machining program 511a, and stops or prohibits execution of the machining program 511a.
  • step S25 the program editing section 57 causes the display section 58 to display a warning message indicating that the existing machining program 511a cannot be executed (see FIG. 7).
  • step S26 the program editing unit 57 uses the variable 512 to execute the existing machining program 511a.
  • the numerical control system 1 notifies the numerical control device 5 of the variable list information 513 of the variables 512 associated with the machining programs 511 from all the machining programs 511. Thereby, the numerical control system 1 can avoid editing a machining program that duplicates variables associated with the machining program.
  • the numerical control system 1 suspends or prohibits execution of the machining program based on the variable list information. Thereby, the numerical control system 1 can avoid problems such as machining defects, damage to the machine tool 2, collision between the machine tool 2 and the robot 3, etc. that may occur due to duplication of variables associated with machining programs.
  • the numerical control system 1 creates variable list information 513 of variables 512 associated with the machining programs 511 from all the machining programs 511 of the numerical control device 5, and outputs and displays the variable list information 513. Thereby, the numerical control system 1 can save the effort of checking the machining program when determining variables to be used in a new application.
  • not using a variable means at least one of prohibiting saving of the variable, prohibiting reference to the variable, and prohibiting execution of a machining program that includes the variable. include.
  • the numerical control system 1 can appropriately prevent problems such as machining defects, damage to the machine tool 2, collisions between the machine tool 2 and the robot 3, etc. that may occur due to duplication of variables associated with machining programs. can be avoided.
  • the numerical control device 5 further includes a display unit 58 that displays a warning message indicating that the variable is not used when the variable is not used.
  • the numerical control system 1 can appropriately notify the user that the variable is not used.
  • 3 is a flowchart showing the flow of processing.
  • the numerical control system 1 uses and executes the variable 512 currently in use in the machining program 511 in a new machining program 511b.
  • FIG. 13 is a flowchart showing the processing of the industrial device 4 according to the second embodiment.
  • the variable list information generation unit 41 notifies the data transmission/reception unit 43 of the industrial device 4 of a request to acquire all machining programs 511 stored in the storage unit 51 of the numerical control device 5.
  • all machining programs 511 include variables 512.
  • the data transmitting/receiving section 43 acquires all the machining programs 511 read out from the storage section 51 of the numerical control device 5 via the data transmitting/receiving section 55 of the numerical control device 5 and inputs them to the variable list information generating section 41. (See Figure 2).
  • step S32 the variable list information generation unit 41 creates variable list information 513 and searches for variables 512 included in the input machining program 511 (see FIG. 3).
  • the searched variable 512 is associated with the machining program 511 that includes the variable 512, and added to the variable list information 513 (see FIG. 4).
  • the variable list information 513 stores variables 512 in use and the program name of the machining program 511 that uses the variables 512 in association with each other.
  • the variable list information generation unit 41 searches all the input machining programs 511 and then inputs the variable list information 513 to the variable list information output unit 42 .
  • step S33 the variable list information output section 42 outputs the variable list information 513 to the data transmitting/receiving section 43 of the industrial device 4, and the data transmitting/receiving section of the industrial device 4 outputs the variable list information 513 to the numerical control device 5.
  • the data is transmitted to the data transmitting/receiving section 55 (see FIG. 5).
  • FIG. 14 is a flowchart showing processing when editing or creating a machining program 511b in the numerical control device 5 according to the second embodiment.
  • the input unit 56 of the numerical control device 5 notifies the program editing unit 57 of a request to edit or create the machining program 511b.
  • the program editing section 57 reads the machining program 511b from the storage section 51, and the input section 56 inputs the variable 512 to the program editing section 57. Furthermore, the program editing section 57 reads variable list information 513 from the storage section 51.
  • step S42 the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (YES), the process moves to step S43. On the other hand, if the variable 512 does not exist in the variable list information 513 (NO), the process moves to step S46.
  • step S43 if the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511b and the variable 512 based on the variable list information 513.
  • the correspondence relationship between the machining program 511b and the variable 512 is different, that is, when the machining program 511b and the variable 512 are not correlated (YES)
  • the process moves to step S44.
  • the machining program 511 and the variable 512 are associated (NO)
  • the process moves to step S46.
  • step S44 the program editing unit 57 deletes the input variable 512 without using it in the new machining program 511b. Further, the program editing section 57 may not use the input variable 512 and may prohibit saving of the new machining program 511b.
  • step S45 the program editing section 57 causes the display section 58 to display a warning message (see FIG. 11).
  • the display unit 58 displays a warning message indicating that "variable #101 is used in machining program name O0123 and machining program name O0789 cannot be saved.”
  • the machining program name O0789 indicates the machining program 511b.
  • step S46 the program editing unit 57 uses the variables 512 to edit or create a new machining program 511b.
  • FIG. 15 is a flowchart showing the processing of the numerical control device 5 according to the second embodiment.
  • the input unit 56 of the numerical control device 5 notifies the program editing unit 57 of a request to execute the machining program 511b.
  • the program editing section 57 reads the machining program 511b from the storage section 51, and the input section 56 inputs the variable 512 to the program editing section 57. Furthermore, the program editing section 57 reads variable list information 513 from the storage section 51.
  • step S52 the program editing unit 57 determines whether the input variable 512 exists in the variable list information 513. If the input variable 512 exists in the variable list information 513 (YES), the process moves to step S53. On the other hand, if the variable 512 does not exist in the variable list information 513 (NO), the process moves to step S56.
  • step S53 if the variable 512 exists in the variable list information 513, the program editing unit 57 determines the correspondence between the machining program 511b and the variable 512 based on the variable list information 513. If the correspondence relationship between the machining program 511b and the variable 512 is different, that is, if the machining program 511b and the variable 512 are not correlated (YES), the process moves to step S54. On the other hand, if the machining program 511b and the variable 512 are associated (NO), the process moves to step S56.
  • step S54 the program editing unit 57 does not use the input variable 512 in the machining program 511b, and stops or prohibits execution of the machining program 511b.
  • step S55 the program editing section 57 causes the display section 58 to display a warning message indicating that the machining program 511b cannot be executed (see FIG. 12).
  • step S56 the program editing unit 57 uses the variable 512 to execute the new machining program 511b.
  • the numerical control system 1 notifies the numerical control device 5 of the variable list information 513 of the variables 512 associated with the machining programs 511 from all the machining programs 511. Thereby, the numerical control system 1 can avoid editing or creating a machining program that duplicates variables associated with the machining program.
  • the numerical control system 1 suspends or prohibits execution of the machining program based on the variable list information. Thereby, the numerical control system 1 can avoid problems such as machining defects, damage to the machine tool 2, collision between the machine tool 2 and the robot 3, etc. that may occur due to duplication of variables associated with machining programs.
  • FIGS. 16 to 24 are diagrams showing examples of processing of the numerical control system 1 according to the third embodiment
  • FIGS. 22 to 24 are diagrams showing the flow of processing of the numerical control system 1 according to the third embodiment. It is a flowchart.
  • the numerical control system 1 according to the third embodiment uses and executes the variable 512 currently in use in the machining program 511 in the robot program 611a.
  • FIG. 22 is a flowchart showing the processing of the industrial device 4 according to the third embodiment.
  • the variable list information generation unit 41 requests the acquisition of all machining programs 511 including the variables 512 in the storage unit 51 of the numerical control device 5, and requests the acquisition of all machining programs 511 including the variables 512 in the storage unit 61 of the robot control device 6.
  • a request to obtain the robot program 611 is notified to the data transmitting/receiving unit 43 of the industrial device 4.
  • the data transmitting/receiving unit 43 acquires all machining programs 511 including the variables 512 read from the storage unit 51 via the data transmitting/receiving unit 55 of the numerical control device 5. Further, the data transmitting/receiving unit 43 acquires all the robot programs 611 including the variables 512 read from the storage unit 61 of the robot control device 6 via the data transmitting/receiving unit 65 of the robot control device 6 . The data transmitting/receiving unit 43 inputs all the acquired machining programs 511 and all robot programs 611 to the variable list information generating unit 41. (See Figure 16).
  • step S62 the variable list information generation unit 41 creates variable list information 612 and searches for variables 512 included in the input machining program 511 and robot program 611 (see FIG. 17).
  • the variable list information generation unit 41 adds the searched variable 512 to the variable list information 612 in association with the machining program 511 or robot program 611 that includes the variable 512 (see FIG. 18).
  • variable list information 612 stores variables in use and program names of machining program 511 and/or robot program 611 in association with each other.
  • the variable list information generation unit 41 searches all input machining programs 511 and robot programs 611, and then inputs variable list information 612 to the variable list information output unit 42.
  • step S63 the variable list information output unit 42 outputs the variable list information 612 to the data transmitting/receiving unit 55, and the data transmitting/receiving unit 43 outputs the variable list information 612 to the data transmitting/receiving unit 65 of the robot control device 6.
  • FIG. 23 is a flowchart showing processing when editing or creating a robot program 611a in the robot control device 6 according to the third embodiment.
  • the input unit 66 of the robot control device 6 notifies the program editing unit 67 of a request to create or edit the robot program 611.
  • the program editing section 67 When creating the robot program 611, the program editing section 67 generates the robot program 611 and stores it in the storage section 61.
  • the program editing section 67 reads the robot program 611 from the storage section 61.
  • the input unit 66 inputs the variable 512 to the program editing unit 67.
  • step S72 the program editing unit 67 reads the variable list information 612 from the storage unit 61 and determines whether the input variable 512 exists in the variable list information 612. If the input variable 512 exists in the variable list information 612 (YES), the process moves to step S73. On the other hand, if the variable 512 does not exist in the variable list information 612 (NO), the process moves to step S76.
  • step S73 if the variable 512 exists in the variable list information 612, the program editing unit 67 determines the correspondence between the robot program 611a and the variable 512 based on the variable list information 612. If the correspondence relationship between the robot program 611a and the variable 512 is different, that is, if the robot program 611a and the variable 512 are not correlated (YES), the process moves to step S74. On the other hand, if the robot program 611a and the variable 512 are associated (NO), the process moves to step S76.
  • step S74 the program editing unit 67 does not use the input variable 512 in the robot program 611a and deletes it. Furthermore, the program editing section 67 may not use the input variable 512 and may prohibit saving of the robot program 611a.
  • step S75 the program editing section 57 displays a warning message on the display section 68 (see FIG. 20).
  • the display unit 68 displays a warning message indicating that "variable #101 is used in machining program name O0123 and robot program name TEST1, and robot program name TEST2 cannot be saved.”
  • the robot program name TEST2 indicates the robot program 611a.
  • step S76 the program editing unit 67 uses the variables 512 to edit or create the robot program 611a.
  • FIG. 24 is a flowchart showing processing when the robot program 611a is executed in the robot control device 6 according to the third embodiment.
  • the program input unit 62 reads the robot program 611 from the storage unit 61 and inputs it to the analysis unit 63.
  • step S82 the analysis unit 63 analyzes the command type based on the robot program 611a for each command block.
  • the analysis unit 63 reads the variable list information 612 from the storage unit 61 and determines whether the variable 512 exists in the variable list information 612. If the variable 512 exists in the variable list information 612 (YES), the process moves to step S83. On the other hand, if the variable 512 does not exist in the variable list information 612 (NO), the process moves to step S86.
  • step S83 the analysis unit 63 determines the correspondence between the robot program 611a being executed and the variables 512 based on the variable list information 612. If the correspondence relationship between the robot program 611a and the variable 512 is different, that is, if the variable 512 is not associated with the robot program 611a being executed (YES), the process moves to step S84. On the other hand, if the variable 512 does not exist in the variable list information, or if the robot program 611 and the variable 512 are associated with each other in the variable list information 612 (NO), the process moves to step S86.
  • step S84 the analysis unit 63 does not use the variable 512 in the robot program 611a, and stops or prohibits execution of the robot program 611a.
  • step S85 the analysis unit 63 causes the display unit 68 to display a warning message indicating that the robot program 611a cannot be executed (see FIG. 21).
  • step S86 the analysis unit 63 uses the variables 512 to execute the robot program 611a. Specifically, the control unit 64 reads and writes the variable 512 in the storage unit 51 of the numerical control device 5 via the data transmitting/receiving unit 55 and the data transmitting/receiving unit 65 according to the analysis result. For example, when the analysis unit 63 analyzes a movement command, the control unit 64 causes each joint of the robot 3 to drive based on the movement command.
  • the numerical control system 1 notifies the robot control device 6 of the variable list information 612.
  • the numerical control system 1 for example, prohibits saving of a robot program using variables associated with a machining program based on variable list information when editing a robot program, and notifies a warning message.
  • the numerical control system 1 can avoid creating a robot program that uses duplicate variables associated with the machining program.
  • the numerical control system 1 when a robot program that uses duplicate variables associated with a machining program is executed, the numerical control system 1 is configured to Prohibit program execution. As a result, the numerical control system 1 can prevent machining defects caused by the robot 3 writing the values of variables in the machining program, damage to the machine tool 2, and damage to the machine tool 2 that may occur when the robot 3 reads the values of variables in the machining program. Problems such as a collision between robot 2 and robot 3 can be avoided.
  • variable list information generation unit 41 acquires the variables 512 from all the robot programs 611 in the robot control device 6, and adds the correspondence between the variables 512 and the robot programs 611 to the variable list information 612. If the variable 512 included in the variable list information 612 is used in a robot program 611 that does not exist in the variable list information 612, the program editing unit 67 does not use the variable 512.
  • the numerical control system 1 can prevent machining defects caused by the robot 3 writing the value of the variable 512 in the machining program 511, damage to the machine tool 2, and damage caused by the robot 3 reading the value of the variable 512 in the machining program 511. Problems such as a collision between the machine tool 2 and the robot 3 that may occur can be avoided.
  • not using variables means at least one of prohibiting saving of variables, prohibiting reference to variables, and prohibiting execution of robot programs that include variables. include.
  • the numerical control system 1 can prevent machining defects, damage to the machine tool 2, collisions between the machine tool 2 and the robot 3, etc. that may occur due to duplication of variables associated with the machining program or robot program. Problems can be appropriately avoided.
  • the robot control device 6 further includes a display unit 68 that displays a warning message indicating that the variable is not used when the variable is not used.
  • the numerical control system 1 can appropriately notify the user that the variable is not used.
  • FIGS. 16 to 19 and FIGS. 25 to 27. 16 to 19, FIG. 25, and FIG. 26 are diagrams showing examples of processing of the numerical control system 1 according to the fourth embodiment, and FIG. 27 is a diagram showing processing examples of the numerical control system 1 according to the fourth embodiment. It is a flowchart showing a flow.
  • the numerical control system 1 displays variable list information on the industrial device 4.
  • FIG. 27 is a flowchart showing the processing of the industrial device 4 according to the third embodiment.
  • the variable list information generation unit 41 requests the acquisition of all machining programs 511 including the variables 512 in the storage unit 51 of the numerical control device 5, and all the processing programs 511 including the variables 512 in the storage unit 61 of the robot control device 6.
  • a request to obtain the robot program 611 is notified to the data transmitting/receiving unit 43 of the industrial device 4.
  • the data transmitting/receiving unit 43 acquires all machining programs 511 including the variables 512 read from the storage unit 51 via the data transmitting/receiving unit 55 of the numerical control device 5. Further, the data transmitting/receiving unit 43 acquires all the robot programs 611 including the variables 512 read from the storage unit 61 of the robot control device 6 via the data transmitting/receiving unit 65 of the robot control device 6 . The data transmitting/receiving unit 43 inputs all the acquired machining programs 511 and all robot programs 611 to the variable list information generating unit 41. (See Figure 16).
  • step S92 the variable list information generation unit 41 creates variable list information 612 and searches for variables 512 included in the input machining program 511 and robot program 611 (see FIG. 17).
  • the variable list information generation unit 41 adds the searched variable 512 to the variable list information 612 in association with the machining program 511 or robot program 611 that includes the variable 512 (see FIG. 18).
  • variable list information 612 stores variables in use and program names of machining program 511 and/or robot program 611 in association with each other.
  • the variable list information generation unit 41 searches all input machining programs 511 and robot programs 611, and then inputs variable list information 612 to the variable list information output unit 42.
  • step S93 the variable list information output unit 42 displays the variable list information 612 on the display unit 44 (see FIG. 25). Further, the variable list information output unit 42 outputs variable list information 612 to the data transmitting/receiving unit 55, and the data transmitting/receiving unit 43 transmits the variable list information 612 to the data transmitting/receiving unit 65 of the robot control device 6. Further, the data transmitting/receiving section 43 transmits the variable list information 612 to the data transmitting/receiving section 55 of the numerical control device 5.
  • step S94 the numerical control device 5 stores the variable list information 612 in the storage section 51, and the robot control device 6 stores the variable list information 612 in the storage section 61.
  • the numerical control device 5 creates a new machining program 511c using variables that are not included in the machining program 511 or the robot program 611 in the variable list information 612, and creates a new robot program.
  • a program 611c is created (see FIG. 26).
  • the numerical control system 1 can avoid creating a machining program that duplicates the variables 512 associated with the machining program 511. Further, the numerical control system 1 creates variable list information 612 of variables 512 associated with the machining programs 511 from all the machining programs 511 of the numerical control device, and outputs the variable list information 612. Thereby, the numerical control system 1 can save the effort of checking the machining program 511 when determining variables to be used in a new application.
  • variable list information generation unit 41 acquires the variables 512 from all the robot programs 611 in the robot control device 6, and adds the correspondence between the variables 512 and the robot programs 611 to the variable list information 612.
  • the numerical control system 1 can prevent machining defects caused by the robot 3 writing the value of the variable 512 in the machining program 511, damage to the machine tool 2, and damage caused by the robot 3 reading the value of the variable 512 in the machining program 511. Problems such as a collision between the machine tool 2 and the robot 3 that may occur can be avoided.
  • the industrial device 4 further includes a display unit 44 that displays the correspondence between the variables 512 and the machining program 511 or the robot program 611 based on the variable list information 612.
  • the numerical control system can appropriately notify the user that the variable 512 is not used.
  • the numerical control system 1 described above can be realized by hardware, software, or a combination thereof. Further, the control method performed by the numerical control system 1 described above can also be realized by hardware, software, or a combination thereof.
  • being realized by software means being realized by a computer reading and executing a program.
  • 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/ W, semiconductor memory (for example, mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory)).
  • a numerical control system that controls a robot from a machining program of a numerical control device via a robot control device, wherein variables are acquired from all of the machining programs in the numerical control device, and the variables and the machining programs are A variable list information generation unit that generates correlated variable list information and the variables included in the machining program in the numerical control device or the robot program in the robot control device are used in a different correspondence relationship from the variable list information.
  • a program editing unit that does not use the variable when the variable is included in the variable list information and does not use the variable when the variable included in the variable list information is used in the processing program that does not exist in the variable list information.
  • variable list information generation unit acquires the variables from all the robot programs in the robot control device, adds the correspondence between the variables and the robot programs to the variable list information, and the program editing unit , the numerical control system according to appendix 1, wherein if the variable included in the variable list information is used in the robot program that does not exist in the variable list information, the variable is not used.
  • Not using the variable means at least one of prohibiting storage of the variable, prohibiting reference to the variable, and prohibiting execution of the machining program or robot program that includes the variable.
  • the numerical control system comprising: (Additional note 4) The numerical control system according to appendix 1 or 2, further comprising a display unit that displays a warning message indicating that the variable is not used when the variable is not used. (Appendix 5) A numerical control system that controls a robot from a machining program of a numerical control device via a robot control device, wherein variables are acquired from all of the machining programs in the numerical control device, and the variables and the machining programs are A numerical control system comprising: a variable list information generation section that generates associated variable list information; and a variable list information output section that outputs the variable list information to an output device.
  • variable list information generation unit acquires the variables from all robot programs in the robot control device, and adds a correspondence between the variables and the robot programs to the variable list information.
  • Numerical control system (Appendix 7) The numerical control system according to appendix 6, further comprising a display unit that displays the correspondence between the variable and the machining program or the robot program based on the variable list information.
  • a numerical control device that controls a robot via a robot control device using a machining program, wherein a variable is acquired from the machining program in the numerical control device or a robot program in the robot control device, and the variable and the a variable list information generation unit that generates variable list information associated with a machining program or the robot program; and a variable list information generation unit that generates variable list information in which the machining program or the robot program is associated with each other, and the variables included in the machining program or the robot program are used in a different correspondence relationship from the variable list information. If the variable is not used, and the variable included in the variable list information is used in the machining program that does not exist in the variable list information, the program editing unit does not use the variable. Control device.
  • (Appendix 9) Not using the variable means at least one of prohibiting storage of the variable, prohibiting reference to the variable, and prohibiting execution of the machining program or robot program that includes the variable.
  • the numerical control device according to appendix 8 comprising: (Appendix 10)
  • Appendix 11 a receiving unit that receives a machining program or a robot program from a numerical control device or a robot control device; a receiving unit that acquires variables from the machining program in the numerical control device or the robot program in the robot control device;
  • an industrial device comprising: a variable list information generation unit that generates variable list information associated with the robot program; and a variable list information output unit that outputs the variable list information to an output device.
  • a computer that controls a robot via a robot control device acquires variables from among all machining programs in the numerical control device from a machining program of the numerical control device, and a variable in which the variables and the machining programs are associated with each other. the step of generating list information; and if the variables included in the machining program in the numerical control device or the robot program in the robot control device are used in a different correspondence relationship from the variable list information, the variables are not used; and a step of not using the variable when the variable included in the variable list information is used in the machining program that does not exist in the variable list information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

ロボットと工作機械とが連動するシステムにおいて、加工プログラムにカスタムマクロ変数を使用した場合に生じ得る不具合を防止する。数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御する数値制御システムは、前記数値制御装置における全ての前記加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応づけられた変数リスト情報を生成する変数リスト情報生成部と、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置おけるロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用せず、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないプログラム編集部と、を備える。

Description

数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム
 本発明は、数値制御システム、数値制御装置、産業用装置及びコンピュータプログラムに関する。
 加工現場の自動化促進のため、ワークを加工する工作機械とワークの着脱を行うロボットを連動させる自動化システムが望まれている。例えば、工作機械の数値制御装置からのユーザによる指示に従って、ロボットの動作プログラムの選択や動作プログラムの設定を可能とする技術が知られている(例えば、特許文献1参照)。
 このようなロボットと工作機械とが連動するシステムにおいて、ロボットを制御するロボット制御装置は、工作機械のカスタムマクロ変数を読み書きすることにより、ロボットと工作機械とを連動させる。例えば、ロボット制御装置は、工作機械のカスタムマクロ変数経由で動作要求をONし、工作機械のカスタムマクロ変数を読み出すことにより、動作状態を取得する。そして、ロボット制御装置は、動作状態が動作完了となった場合、動作要求をOFFして次のシーケンスへ進む処理を行う(例えば、特許文献2参照)。
特開2018-195055号公報 国際公開第2022/097719号
 カスタムマクロ変数は、加工プログラムの加工条件等の演算に用いられる。カスタムマクロ変数は、条件式で使用すると変数の値に従って、加工プログラムの処理を変更し、工作機械の動作を変更することができる。ロボットと工作機械が連動するシステムにおいて、ロボットがカスタムマクロ変数を読み/書きすることでロボットと工作機械を連動させるとき、ユーザはロボットと連動させるためのカスタムマクロ変数を用意する。
 工作機械のカスタムマクロ変数を使用してロボットと工作機械が連動する場合、この変数が加工プログラムで使用されると、ロボットは、加工プログラムで使用中の変数を読み書きする。ロボットが加工プログラムで使用中の変数に書き込む場合、加工プログラム中の条件式において変数が使用されていると、ロボットは、変数の値を変更する。このため、ユーザが本来意図していた条件式とは異なる値となる可能性がある。その結果、意図していなかった加工プログラムの処理が実行され、加工不良、工具、機械の破損等を生じる可能性がある。
 一方、ロボットが加工プログラムで使用中の変数を読み込む場合、加工プログラム中の演算において変数が使用されていると、ロボットは、その演算で変化する値を読み取る。ロボットは、読み取った変数の値から、工作機械の加工完了や、工作機械のドアが開いた等のようなユーザが意図しない判断を行う可能性がある。その結果、例えば、ロボットは、加工中に加工が完了したと判断して、ワークを取出すために工作機械内へ進入を試み、工作機械とロボットとが衝突する可能性がある。
 このように、加工プログラムで使用中の変数を異なる用途で重複して使用すると、様々な不具合を引き起こす可能性がある。よって、ロボットと工作機械とが連動するシステムにおいて、加工プログラムにカスタムマクロ変数を使用した場合に生じ得る不具合を防止する数値制御システム、数値制御装置、産業用装置及びコンピュータプログラムが望まれている。
 本開示の一態様は、数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置における全ての前記加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応づけられた変数リスト情報を生成する変数リスト情報生成部と、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置おけるロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用せず、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないプログラム編集部と、を備える。
 本開示の一態様は、数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置における全ての前記加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、前記変数リスト情報を出力装置へ出力する変数リスト情報出力部と、を備える。
 本開示の一態様は、加工プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置におけるロボットプログラムの中から変数を取得し、前記変数と前記加工プログラム又は前記ロボットプログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、前記加工プログラム又は前記ロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用せず、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないプログラム編集部と、を備える。
 本開示の一態様は、数値制御装置又はロボット制御装置から加工プログラム又はロボットプログラムを受信する受信部と、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置におけるロボットプログラムの中から変数を取得し、前記変数と前記加工プログラム又は前記ロボットプログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、前記変数リスト情報を出力装置へ出力する変数リスト情報出力部と、を備える産業用装置である。
 本開示の一態様は、数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御するコンピュータに、前記数値制御装置における全ての加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応付けられた変数リスト情報を生成するステップと、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置おけるロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用しないステップと、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないステップと、を実行させるためのコンピュータプログラムである。
本実施形態に係る数値制御システムの構成を示すブロック図である。 第1実施形態に係る加工プログラムの例を示す図である。 第1実施形態に係る変数を検索する処理の例を示す図である。 第1実施形態に係る変数リスト情報の例を示す図である。 第1実施形態に係る変数リスト情報を出力する例を示す図である。 第1実施形態に係る警告メッセージを表示する例を示す図である。 第1実施形態に係る加工プログラムの実行を中止又は禁止する例を示す図である。 第1実施形態に係る産業用装置の処理を示すフローチャートである。 第1実施形態に係る数値制御装置において加工プログラムの編集を行う場合の処理を示すフローチャートである。 第1実施形態に係る数値制御装置の処理を示すフローチャートである。 第2実施形態に係る警告メッセージを表示する例を示す図である。 第2実施形態に係る加工プログラムの実行を中止又は禁止する例を示す図である。 第2実施形態に係る産業用装置の処理を示すフローチャートである。 第2実施形態に係る数値制御装置において加工プログラムの編集又は作成を行う場合の処理を示すフローチャートである。 第2実施形態に係る数値制御装置の処理を示すフローチャートである。 第3実施形態に係る加工プログラム及びロボットプログラムの例を示す図である。 第3実施形態に係る変数を検索する処理の例を示す図である。 第3実施形態に係る変数リスト情報の例を示す図である。 第3実施形態に係る変数リスト情報を出力する例を示す図である。 第3実施形態に係る警告メッセージを表示する例を示す図である。 第3実施形態に係るロボットプログラムの実行を中止又は禁止する例を示す図である。 第3実施形態に係る産業用装置の処理を示すフローチャートである。 第3実施形態に係るロボット制御装置においてロボットプログラムの編集又は作成を行う場合の処理を示すフローチャートである。 第3実施形態に係るロボット制御装置においてロボットプログラムを実行する場合の処理を示すフローチャートである。 第4実施形態に係る変数リスト情報を出力する例を示す図である。 第4実施形態に係る加工プログラム及びロボットプログラムの例を示す図である。 第4実施形態に係る産業用装置の処理を示すフローチャートである。
 以下、本開示の実施形態の一例について説明する。図1は、本実施形態に係る数値制御システム1の機能ブロック図である。
 数値制御システム1は、図示しないワークを加工する工作機械2と、工作機械2及び工作機械2の近傍に設けられたロボット3と、工作機械2及びロボット3と通信可能に接続された産業用装置4と、工作機械2の動作を制御する数値制御装置(CNC)5と、ロボット3の動作を制御するロボット制御装置6と、を備える。数値制御システム1は、互いに通信可能に接続された産業用装置4、数値制御装置5及びロボット制御装置6を用いることによって、工作機械2及びロボット3の動作を連動して制御する。
 工作機械2は、数値制御装置5から送信される工作機械制御信号に応じて図示しないワークを加工する。ここで工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これらに限らない。
 ロボット3は、ロボット制御装置6による制御下において動作し、例えば工作機械2によって加工されるワークに対し所定の作業を行う。ロボット3は、例えば多関節ロボットであり、そのアーム先端部にはワークを把持したり、加工したり、検査したりするためのツールが取り付けられている。以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
 産業用装置4は、数値制御装置5内に設けられてもよく、又は数値制御装置5の外部のコンピュータ装置等に設けられてもよい。以下では、産業用装置4を数値制御装置の外部に設けた例について説明する。
 産業用装置4、数値制御装置5及びロボット制御装置6は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種コンピュータプログラムを記憶したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がコンピュータプログラムを実行する上で一時的に必要とされるデータを記憶するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これら産業用装置4、数値制御装置5及びロボット制御装置6は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
 図1に示すように数値制御装置5は、上記ハードウェア構成によって、工作機械2の動作を制御する機能、ロボット3の制御軸の動作経路を生成する機能等のような各種機能を実現する。
 数値制御装置5は、記憶部51と、プログラム入力部52と、解析部53と、制御部54と、データ送受信部55と、入力部56と、プログラム編集部57と、表示部58と、を備える。
 記憶部51は、例えば、オペレータによる操作に基づいて作成された複数の加工プログラム511を記憶する。より具体的には、記憶部51は、工作機械2の動作を制御するための工作機械2に対する複数の指令ブロックやロボット3の動作を制御するためのロボット3に対する複数の指令ブロック等によって構成される加工プログラム511を記憶する。記憶部51に記憶されている加工プログラム511は、GコードやMコード等、工作機械2の動作を制御するため既知のプログラム言語で記述されている。
 また、記憶部51は、例えば、上記数値制御プログラムの下で作動する工作機械2の各種軸の位置(すなわち、工作機械2の刃物台やテーブル等の位置)を示す機械座標値を記憶する。なお、これら機械座標値は、工作機械2上又は工作機械2の近傍の任意の位置に定められた基準点を原点とする工作機械座標系の下で定義される。記憶部51には、数値制御プログラムの下で逐次変化する機械座標値の最新値が記憶されるよう、図示しない処理によって逐次更新される。
 また、記憶部51は、例えば、ロボット制御装置6の制御下で作動するロボット3の制御点の位置及び姿勢、換言すればロボット3の各制御軸の位置を示すロボット座標値が記憶されている。なお、これらロボット座標値は、上述したように工作機械座標系とは異なるロボット座標系の下で定義される。記憶部51には、数値制御プログラムの下で逐次変化するロボット座標値の最新値が記憶されるよう、図示しない処理によりロボット制御装置6から取得されたロボット座標値によって逐次更新される。
 また、記憶部51は、例えば、オペレータにより入力されたロボット3の始点及び終点といった教示位置を記憶する。具体的には、記憶部51は、ティーチペンダント等から入力されたロボット3の教示位置、キーボード等から入力された教示位置等を記憶する。ロボット3の教示位置には、ロボット3の各制御軸の位置を示すロボット座標値が含まれ、これらロボット座標値は、工作機械座標系とは異なるロボット座標系の下で定義される。
 記憶部51は、更に、カスタムマクロ変数(以下、変数ともいう)512、及び変数リスト情報513を記憶する。
 カスタムマクロ変数512は、加工プログラム511の加工条件等の演算に用いられる。カスタムマクロ変数512は、条件式で使用すると変数の値に従って、加工プログラムの処理を変更し、工作機械2の動作を変更することができる。工作機械2とロボット3とが連動する数値制御システム1において、ロボット3がカスタムマクロ変数512を読み書きすることによって、工作機械2とロボット3とは連動する。
 変数リスト情報513は、変数512と、変数512を使用する加工プログラム511のプログラム名とを対応付けて記憶する。
 プログラム入力部52は、複数のロボット指令ブロックによって構成されるロボット用の数値制御プログラムを記憶部51から読み出し、これを逐次解析部53へ入力する。
 解析部53は、プログラム入力部52から入力される数値制御プログラムに基づく指令種別を指令ブロックごとに解析し、その解析結果を制御部54へ出力する。より具体的には、解析部53は、指令ブロックの指令種別が工作機械2に対する工作機械用数値制御指令である場合、この工作機械用数値制御指令を制御部54へ送信する。解析部53は、指令ブロックの指令種別がロボット3に対するロボット用数値制御指令である場合、このロボット用数値制御指令を制御部54へ出力する。
 制御部54は、解析部53から送信される解析結果に応じて工作機械2の動作を制御するための工作機械制御信号を生成し、工作機械2の各種軸を駆動するアクチュエータへ入力する。工作機械2は、制御部54から入力される工作機械制御信号に応じて動作し、図示しないワークを加工する。
 また、制御部54は、解析部53から入力されるロボット指令ブロック毎の解析結果に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部55に書き込む。具体的には、制御部54は、解析部53から入力される解析結果としてのロボット用数値制御指令に基づいて、ロボット指令ブロック毎にロボット指令信号を生成し、生成したロボット指令信号をデータ送受信部55に書き込む。
 データ送受信部55は、ロボット制御装置6のデータ送受信部65との間で指令、カスタムマクロ変数512及びロボット座標値等のデータを送受信する。具体的には、データ送受信部55は、制御部54によって生成されたロボット指令信号をロボット制御装置6のデータ送受信部65へ送信する。
 入力部56は、例えば、キーボードやマウス等の入力装置や、表示部58と一体に構成されるタッチセンサ等である。入力部56は、数値制御装置5を操作するオペレータによる入力を受け付け、プログラム編集部57へ出力する。
 プログラム編集部57は、入力部56からの入力に応じて加工プログラム511を編集又は作成し、記憶部51に保存する。
 表示部58は、液晶ディスプレイ等であり、制御部54による制御に従って各種情報を表示する。例えば、表示部58は、変数リスト情報513を表示する。
 次に、ロボット制御装置6の構成について詳細に説明する。図1に示すように、ロボット制御装置6には、上記ハードウェア構成によって、記憶部61、プログラム入力部62、解析部63、制御部64、データ送受信部65、入力部66、プログラム編集部67、及び表示部68等の各種機能が実現される。ロボット制御装置6は、これらプログラム入力部62、解析部63、制御部64及びデータ送受信部65を用いることによって、ロボットプログラム611又は数値制御装置5から送信される指令に基づいてロボット3の動作を制御する。
 データ送受信部65は、数値制御装置5のデータ送受信部55から送信されるロボット指令信号を受信する。また、データ送受信部65は、受信したロボット指令信号を逐次、解析部63へ出力する。また、データ送受信部65は、ロボットプログラム611に基づいて、数値制御装置5のカスタムマクロ変数512を送受信する。
 記憶部61は、ロボットプログラム611と、変数リスト情報612と、を記憶する。変数リスト情報612は、変数512と、変数512を使用する加工プログラム511及び/又はロボットプログラム611のプログラム名とを対応付けて記憶される。
 プログラム入力部62は、ロボットプログラム611を記憶部61から読み出し、これを逐次解析部63へ入力する。
 解析部63は、プログラム入力部62から入力されるロボットプログラム611に基づく指令種別を指令ブロックごとに解析し、その解析結果を制御部64へ出力する。また、解析部63は、データ送受信部65から入力されるロボット指令信号を解析する。解析部63は、その解析結果を制御部64へ出力する。
 制御部64は、以下に示すようなロボット命令生成部、プログラム管理部、軌跡制御部、キネマティクス制御部、サーボ制御部等の機能を実行する。
 ロボット命令生成部は、解析部63から入力されるロボット指令信号の解析結果に基づいて、ロボット指令信号に応じたロボット命令を生成する。ロボット命令生成部は、生成したロボット命令をプログラム管理部へ出力する。
 プログラム管理部は、ロボット命令生成部からロボット命令が入力されると、ロボット命令を逐次実行することにより、上記ロボット指令信号に応じたロボット3の動作計画を生成し、軌跡制御部へ出力する。
 また、プログラム管理部は、ロボット命令生成部から入力されるロボット命令がブロックロボット命令である場合には、記憶部61に記憶されているロボットプログラムに、入力されたブロックロボット命令を追加する。これにより記憶部61には、数値制御装置5から送信されるロボット指令信号に応じたロボットプログラムが生成されて記憶される。記憶されたロボットプログラムは、プログラム管理部がロボット命令としてロボットプログラム起動指令を受けることにより、起動及び再生される。
 軌跡制御部は、プログラム管理部から動作計画が入力されると、ロボット3の制御点の時系列データを算出し、キネマティクス制御部へ出力する。
 キネマティクス制御部は、入力された時系列データからロボット3の各関節の目標角度を算出し、サーボ制御部へ入力する。
 サーボ制御部は、キネマティクス制御部から入力される目標角度が実現するようにロボット3の各サーボモータをフィードバック制御することによってロボット3に対するロボット制御信号を生成し、ロボット3のサーボモータへ入力する。
 入力部66は、例えば、キーボードやマウス等の入力装置や、表示部68と一体に構成されるタッチセンサ等である。入力部66は、ロボット制御装置6を操作するオペレータによる入力を受け付け、プログラム編集部67へ出力する。
 プログラム編集部67は、入力部66からの入力に応じてロボットプログラム611を編集又は作成し、記憶部61に保存する。
 表示部68は、液晶ディスプレイ等であり、制御部64による制御に従って各種情報を表示する。例えば、表示部68は、変数リスト情報612を表示する。
 次に、本実施形態に係る数値制御システム1において、加工プログラム511にカスタムマクロ変数512を使用した場合に生じ得る不具合を防止するための処理について説明する。
 産業用装置4の変数リスト情報生成部41は、数値制御装置5の記憶部51に記憶された全ての加工プログラム511の取得要求を、産業用装置4のデータ送受信部43に通知する。ここで、全ての加工プログラム511は、変数512を含む。
 産業用装置4のデータ送受信部43は、数値制御装置5のデータ送受信部を介して、数値制御装置5の記憶部51から読み出された全ての加工プログラム511を取得し、変数リスト情報生成部41へ入力する。
 変数リスト情報生成部41は、変数リスト情報513を作成し、入力された加工プログラム511中に含まれる変数512を検索する。検索した変数512は、当該変数512を含む加工プログラム511と対応付けられ、変数リスト情報513に追加される。変数リスト情報生成部41は、入力された加工プログラム511を全て検索した後、変数リスト情報513を変数リスト情報出力部42に入力する。
 変数リスト情報出力部42は、産業用装置4の表示部44へ出力し、表示部44は、変数リスト情報513を表示する。変数リスト情報出力部42は、産業用装置4のデータ送受信部43へ変数リスト情報513を出力し、産業用装置4のデータ送受信部は、変数リスト情報513を数値制御装置5のデータ送受信部55へ送信する。
 数値制御装置5は、データ送受信部55で受信した変数リスト情報513を記憶部51に保存する。これにより、数値制御装置5は、変数リスト情報513を用いて、変数512を重複した加工プログラム511の編集、作成及び実行を回避できる。
 次に、加工プログラム511を作成又は編集する場合、数値制御装置5の入力部56は、プログラム編集部57へ加工プログラム511の作成又は編集の要求を通知する。
 加工プログラム511を作成する場合、プログラム編集部57は、加工プログラム511を生成し、記憶部51に記憶する。加工プログラム511を編集する場合、プログラム編集部57は、記憶部51から加工プログラム511を読み出す。
 加工プログラム511を編集する際に、変数512は、入力部56からプログラム編集部57に入力される。そして、プログラム編集部57は、記憶部51から変数リスト情報513を読み出し、入力された変数512が変数リスト情報513に存在するかを判定する。
 プログラム編集部57は、変数512が変数リスト情報513に存在する場合、編集中の加工プログラム511と変数512との対応関係を変数リスト情報513に基づいて判定する。変数リスト情報513において編集中の加工プログラム511と変数512とが対応付けられていない場合、プログラム編集部57は、警告メッセージを表示部58に表示させ、入力された変数512を削除する。
 加工プログラム511を保存する際に、プログラム編集部57は、記憶部51から変数リスト情報513を読み出す。プログラム編集部57は、加工プログラム511中に変数512を使用している場合、使用された変数512が変数リスト情報513に存在するかを判定する。
 変数リスト情報513に変数512が存在する場合、プログラム編集部57は、変数リスト情報513に基づいて、保存する加工プログラム511と変数512との対応関係を判定する。
 プログラム編集部57は、変数リスト情報513において加工プログラム511と変数512とが対応付けられていない場合、表示部58に警告メッセージを表示させ、加工プログラム511の保存を禁止する。プログラム編集部57は、変数リスト情報に存在しない変数の場合、又は加工プログラム511と変数512との対応関係が変数リスト情報513で対応付けられた変数512の場合、加工プログラム511を保存する。
 加工プログラム511を実行する際、プログラム入力部52は、記憶部51から加工プログラム511を読み出し、解析部53に入力する。
 解析部53は、加工プログラム511に基づく指令種別を指令ブロックごとに解析する。解析部53は、変数512を解析する際に、記憶部51から変数リスト情報513を読み出し、変数512が変数リスト情報513に存在するかを判定する。
 解析部53は、変数512が変数リスト情報513に存在する場合、変数リスト情報513に基づいて、実行中の加工プログラム511と変数512との対応関係を判定する。
変数リスト情報513において、変数512が、実行中の加工プログラム511と対応付けられていない場合、解析部53は、加工プログラムの実行を中止する。
 変数512が変数リスト情報に存在しない場合、又は変数512が、加工プログラム511と変数512とが変数リスト情報513において対応付けられている場合、解析部53は、解析結果に従って記憶部51の変数512の値を読み書きする。例えば、解析部53が移動指令を解析した際、制御部54は、移動指令を受け付け、移動指令に基づいて工作機械2の制御軸を駆動させる。
 次に、加工プログラム511及びロボットプログラム611から変数リスト情報612を作成する場合について説明する。変数リスト情報生成部41は、数値制御装置5の記憶部51における変数512を含む全ての加工プログラム511の取得要求と、ロボット制御装置6の記憶部61における変数512を含む全てのロボットプログラム611の取得要求と、を産業用装置4のデータ送受信部43に通知する。
 産業用装置4のデータ送受信部43は、数値制御装置5のデータ送受信部55を介して、記憶部51から読み出された変数512を含む全ての加工プログラム511を取得する。また、データ送受信部43は、ロボット制御装置6のデータ送受信部65を介して、ロボット制御装置6の記憶部61から読み出された変数512を含む全てのロボットプログラム611を取得する。データ送受信部43は、取得した全ての加工プログラム511及び全てのロボットプログラム611を変数リスト情報生成部41へ入力する。
 変数リスト情報生成部41は、変数リスト情報612を作成し、入力された加工プログラム511及びロボットプログラム611中に含まれる変数512を検索する。変数リスト情報生成部41は、検索した変数512を、当該変数512を含む加工プログラム511又はロボットプログラム611と対応付けて変数リスト情報612に追加する。変数リスト情報生成部41は、入力された加工プログラム511及びロボットプログラム611を全て検索したのち、変数リスト情報612を変数リスト情報出力部42に入力する。
 変数リスト情報出力部42は、変数リスト情報612を表示部44に表示させる。変数リスト情報出力部42は、データ送受信部55へ変数リスト情報612を出力し、データ送受信部43は、変数リスト情報612をロボット制御装置6のデータ送受信部65へ送信する。
 ロボット制御装置6は、データ送受信部65で受信した変数リスト情報612をロボット制御装置6の記憶部61に保存する。
 次に、ロボットプログラム611を作成又は編集する場合について説明する。ロボット制御装置6の入力部66は、プログラム編集部67へロボットプログラム611の作成又は編集の要求を通知する。
 ロボットプログラム611を作成する場合、プログラム編集部67は、ロボットプログラム611を生成し、記憶部61に記憶する。ロボットプログラム611を編集する場合、プログラム編集部67は、記憶部61からロボットプログラム611を読み出す。
 ロボットプログラムを編集する際、入力部66は、プログラム編集部67に変数512を入力する。プログラム編集部67は、記憶部61から変数リスト情報612を読み出し、入力された変数512が変数リスト情報612に存在する変数であるかを判定する。変数512が変数リスト情報612に存在する場合、プログラム編集部67は、変数リスト情報612に基づいて、編集中のロボットプログラム611と変数512との対応関係を判定する。
 プログラム編集部67は、変数リスト情報612において加工プログラム511又はロボットプログラム611と変数512とが対応付けられていない場合、ロボット制御装置6の表示部68に警告メッセージを表示させ、入力された変数512を削除する。
 ロボットプログラム611を保存する際、プログラム編集部67は、記憶部61から変数リスト情報612を読み出す。ロボットプログラム611中に変数512を使用している場合、使用された変数512が変数リスト情報に存在するかを判定する。
 変数512が変数リスト情報612に存在する場合、プログラム編集部67は、変数リスト情報612に基づいてロボットプログラム611と変数512との対応関係を判定する。変数リスト情報612においてロボットプログラム611と変数512とが対応付けられていない場合、プログラム編集部67は、表示部68に警告メッセージを表示させ、ロボットプログラム611の保存を禁止する。
 変数512が変数リスト情報612に存在しない場合、又はロボットプログラム611と変数512との対応関係が変数リスト情報612で対応付けられている場合、プログラム編集部67は、ロボットプログラム611を記憶部61に保存する。
 ロボットプログラム611を実行した場合、プログラム入力部62は、ロボットプログラム611を記憶部61から読み出し、解析部63に入力する。
 解析部63は、ロボットプログラム611に基づく指令種別を指令ブロックごとに解析する。変数512を解析する際に、解析部63は、記憶部61から変数リスト情報612を読み出し、変数512が変数リスト情報612に存在するかを判定する。
 変数512が変数リスト情報612に存在する場合、解析部63は、変数リスト情報612に基づいて、実行中のロボットプログラム611と変数512との対応関係を判定する。
 変数リスト情報612において、変数512が、実行中のロボットプログラム611と対応付けられてない場合、解析部63は、ロボットプログラム611の実行を中止する。変数512が変数リスト情報に存在しない場合、又はロボットプログラム611と変数512とが変数リスト情報612で対応付けられている場合、解析部63は、解析結果に従い、データ送受信部55及びデータ送受信部65を介して、数値制御装置5の記憶部51の変数512を読み書きする。例えば、解析部63が移動指令を解析した際、制御部64は、移動指令に基づいてロボット3の各関節が駆動させる。
[第1実施形態]
 第1実施形態に係る数値制御システム1の処理について、図2~図10を参照しながら説明する。図2~図7は、第1実施形態に係る数値制御システム1の処理の例を示す図であり、図8~図10は、第1実施形態に係る数値制御システム1の処理の流れを示すフローチャートである。
 第1実施形態に係る数値制御システム1は、加工プログラム511において使用中の変数512を、既存の加工プログラム511aにおいて使用及び実行する。
 図8は、第1実施形態に係る産業用装置4の処理を示すフローチャートである。ステップS1において、変数リスト情報生成部41は、数値制御装置5の記憶部51に記憶された全ての加工プログラム511の取得要求を、産業用装置4のデータ送受信部43に通知する。ここで、全ての加工プログラム511は、変数512を含む。データ送受信部43は、数値制御装置5のデータ送受信部55を介して、数値制御装置5の記憶部51から読み出された全ての加工プログラム511を取得し、変数リスト情報生成部41へ入力する(図2参照)。
 ステップS2において、変数リスト情報生成部41は、変数リスト情報513を作成し、入力された加工プログラム511中に含まれる変数512を検索する(図3参照)。検索した変数512は、当該変数512を含む加工プログラム511と対応付けられ、変数リスト情報513に追加される(図4参照)。ここで、図4に示すように、変数リスト情報513は、使用中の変数512と、変数512を使用する加工プログラム511のプログラム名とを対応付けて記憶する。変数リスト情報生成部41は、入力された加工プログラム511を全て検索した後、変数リスト情報513を変数リスト情報出力部42に入力する。
 ステップS3において、変数リスト情報出力部42は、産業用装置4のデータ送受信部43へ変数リスト情報513を出力し、産業用装置4のデータ送受信部は、変数リスト情報513を数値制御装置5のデータ送受信部55へ送信する(図5参照)。
 図9は、第1実施形態に係る数値制御装置5において加工プログラム511の編集を行う場合の処理を示すフローチャートである。ステップS11において、数値制御装置5の入力部56は、プログラム編集部57へ加工プログラム511aの編集の要求を通知する。プログラム編集部57は、記憶部51から加工プログラム511aを読み出し、入力部56は、変数512をプログラム編集部57に入力する。また、プログラム編集部57は、記憶部51から変数リスト情報513を読み出す。
 ステップS12において、プログラム編集部57は、入力された変数512が変数リスト情報513に存在するかを判定する。入力された変数512が変数リスト情報513に存在する場合(YES)、処理は、ステップS13へ移る。一方、変数512が変数リスト情報513に存在しない場合(NO)、処理は、ステップS16へ移る。
 ステップS13において、プログラム編集部57は、変数512が変数リスト情報513に存在する場合、変数リスト情報513に基づいて、編集中の加工プログラム511aと変数512との対応関係を判定する。加工プログラム511aと変数512との対応関係が異なる場合、すなわち加工プログラム511aと変数512とが対応付けられていない場合、(YES)、処理は、ステップS14へ移る。一方、加工プログラム511aと変数512とが対応付けられている場合(NO)、処理は、ステップS16へ移る。
 ステップS14において、プログラム編集部57は、既存の加工プログラム511aにおいて、入力された変数512を使用せず、削除する。
 ステップS15において、プログラム編集部57は、警告メッセージを表示部58に表示させる(図6参照)。図6の例では、表示部58は、「変数#121は加工プログラム名O0456で使用されていること及び加工プログラム名O0123を保存できない」ことを示す警告メッセージを表示する。ここで加工プログラム名O0123は、加工プログラム511aを示す。
 ステップS16において、プログラム編集部57は、変数512を使用して、既存の加工プログラム511aの編集を行う。
 図10は、第1実施形態に係る数値制御装置5の処理を示すフローチャートである。ステップS21において、数値制御装置5の入力部56は、プログラム編集部57へ加工プログラム511aの実行の要求を通知する。プログラム編集部57は、記憶部51から加工プログラム511aを読み出し、入力部56は、変数512をプログラム編集部57に入力する。また、プログラム編集部57は、記憶部51から変数リスト情報513を読み出す。
 ステップS22において、プログラム編集部57は、入力された変数512が変数リスト情報513に存在するかを判定する。入力された変数512が変数リスト情報513に存在する場合(YES)、処理は、ステップS23へ移る。一方、変数512が変数リスト情報513に存在しない場合(NO)、処理は、ステップS26へ移る。
 ステップS23において、プログラム編集部57は、変数512が変数リスト情報513に存在する場合、変数リスト情報513に基づいて、加工プログラム511aと変数512との対応関係を判定する。加工プログラム511aと変数512との対応関係が異なる場合、すなわち加工プログラム511aと変数512とが対応付けられていない場合、(YES)、処理は、ステップS24へ移る。一方、加工プログラム511aと変数512とが対応付けられている場合(NO)、処理は、ステップS26へ移る。
 ステップS24において、プログラム編集部57は、既存の加工プログラム511aにおいて、入力された変数512を使用せず、加工プログラム511aの実行を中止又は禁止する。
 ステップS25において、プログラム編集部57は、既存の加工プログラム511aを実行できないことを示す警告メッセージを表示部58に表示させる(図7参照)。
 ステップS26において、プログラム編集部57は、変数512を使用して、既存の加工プログラム511aを実行する。
 このような構成により、第1実施形態に係る数値制御システム1は、全ての加工プログラム511から、加工プログラム511と対応付けられた変数512の変数リスト情報513を数値制御装置5に通知する。これにより、数値制御システム1は、加工プログラムと対応付けられた変数を重複した加工プログラムの編集を回避できる。
 また、数値制御システム1は、加工プログラムと対応付けられた変数を重複した加工プログラムが実行された場合、変数リスト情報に基づいて加工プログラムの実行を中止又は禁止する。これにより、数値制御システム1は、加工プログラムと対応付けられた変数の重複によって生じ得る加工不良、工作機械2の破損、工作機械2とロボット3との衝突等のような不具合を回避できる。
 更に、数値制御システム1は、数値制御装置5の全ての加工プログラム511から、加工プログラム511と対応付けられた変数512の変数リスト情報513を作成し、変数リスト情報513を出力及び表示する。これにより、数値制御システム1は、新たな用途で使用する変数を決定するときに、加工プログラムを確認する手間を省くことができる。
 また、数値制御システム1において、変数を使用しないことは、変数の保存を禁止すること、変数の参照を禁止すること、及び変数を含む加工プログラムの実行を禁止することのうちの少なくとも1つを含む。このような構成により、数値制御システム1は、加工プログラムと対応付けられた変数の重複によって生じ得る加工不良、工作機械2の破損、工作機械2とロボット3との衝突等のような不具合を適切に回避できる。
 また、数値制御装置5は、変数を使用しない場合、変数を使用しないことを示す警告メッセージを表示する表示部58を更に備える。このような構成により、数値制御システム1は、変数を使用しないことをユーザに対して適切に報知することができる。
[第2実施形態]
 第2実施形態に係る数値制御システム1の処理について、図2~図5及び図11~図15を参照しながら説明する。図2~図5、図11及び図12は、第2実施形態に係る数値制御システム1の処理の例を示す図であり、図13~図15は、第2実施形態に係る数値制御システム1の処理の流れを示すフローチャートである。
 第2実施形態に係る数値制御システム1は、加工プログラム511において使用中の変数512を、新規の加工プログラム511bにおいて使用及び実行する。
 図13は、第2実施形態に係る産業用装置4の処理を示すフローチャートである。ステップS31において、変数リスト情報生成部41は、数値制御装置5の記憶部51に記憶された全ての加工プログラム511の取得要求を、産業用装置4のデータ送受信部43に通知する。ここで、全ての加工プログラム511は、変数512を含む。データ送受信部43は、数値制御装置5のデータ送受信部55を介して、数値制御装置5の記憶部51から読み出された全ての加工プログラム511を取得し、変数リスト情報生成部41へ入力する(図2参照)。
 ステップS32において、変数リスト情報生成部41は、変数リスト情報513を作成し、入力された加工プログラム511中に含まれる変数512を検索する(図3参照)。検索した変数512は、当該変数512を含む加工プログラム511と対応付けられ、変数リスト情報513に追加される(図4参照)。ここで、図4に示すように、変数リスト情報513は、使用中の変数512と、変数512を使用する加工プログラム511のプログラム名とを対応付けて記憶される。変数リスト情報生成部41は、入力された加工プログラム511を全て検索した後、変数リスト情報513を変数リスト情報出力部42に入力する。
 ステップS33において、変数リスト情報出力部42は、産業用装置4のデータ送受信部43へ変数リスト情報513を出力し、産業用装置4のデータ送受信部は、変数リスト情報513を数値制御装置5のデータ送受信部55へ送信する(図5参照)。
 図14は、第2実施形態に係る数値制御装置5において加工プログラム511bの編集又は作成を行う場合の処理を示すフローチャートである。ステップS41において、数値制御装置5の入力部56は、プログラム編集部57へ加工プログラム511bの編集又は作成の要求を通知する。プログラム編集部57は、記憶部51から加工プログラム511bを読み出し、入力部56は、変数512をプログラム編集部57に入力する。また、プログラム編集部57は、記憶部51から変数リスト情報513を読み出す。
 ステップS42において、プログラム編集部57は、入力された変数512が変数リスト情報513に存在するかを判定する。入力された変数512が変数リスト情報513に存在する場合(YES)、処理は、ステップS43へ移る。一方、変数512が変数リスト情報513に存在しない場合(NO)、処理は、ステップS46へ移る。
 ステップS43において、プログラム編集部57は、変数512が変数リスト情報513に存在する場合、変数リスト情報513に基づいて、加工プログラム511bと変数512との対応関係を判定する。加工プログラム511bと変数512との対応関係が異なる場合、すなわち加工プログラム511bと変数512とが対応付けられていない場合、(YES)、処理は、ステップS44へ移る。一方、加工プログラム511と変数512とが対応付けられている場合(NO)、処理は、ステップS46へ移る。
 ステップS44において、プログラム編集部57は、新規の加工プログラム511bにおいて、入力された変数512を使用せず、削除する。また、プログラム編集部57は、入力された変数512を使用せず、新規の加工プログラム511bの保存を禁止してもよい。
 ステップS45において、プログラム編集部57は、警告メッセージを表示部58に表示させる(図11参照)。図11の例では、表示部58は、「変数#101は加工プログラム名O0123で使用されていること及び加工プログラム名O0789を保存できない」ことを示す警告メッセージを表示する。ここで加工プログラム名O0789は、加工プログラム511bを示す。
 ステップS46において、プログラム編集部57は、変数512を使用して、新規の加工プログラム511bの編集又は作成を行う。
 図15は、第2実施形態に係る数値制御装置5の処理を示すフローチャートである。ステップS51において、数値制御装置5の入力部56は、プログラム編集部57へ加工プログラム511bの実行の要求を通知する。プログラム編集部57は、記憶部51から加工プログラム511bを読み出し、入力部56は、変数512をプログラム編集部57に入力する。また、プログラム編集部57は、記憶部51から変数リスト情報513を読み出す。
 ステップS52において、プログラム編集部57は、入力された変数512が変数リスト情報513に存在するかを判定する。入力された変数512が変数リスト情報513に存在する場合(YES)、処理は、ステップS53へ移る。一方、変数512が変数リスト情報513に存在しない場合(NO)、処理は、ステップS56へ移る。
 ステップS53において、プログラム編集部57は、変数512が変数リスト情報513に存在する場合、変数リスト情報513に基づいて、加工プログラム511bと変数512との対応関係を判定する。加工プログラム511bと変数512との対応関係が異なる場合、すなわち加工プログラム511bと変数512とが対応付けられていない場合、(YES)、処理は、ステップS54へ移る。一方、加工プログラム511bと変数512とが対応付けられている場合(NO)、処理は、ステップS56へ移る。
 ステップS54において、プログラム編集部57は、加工プログラム511bにおいて、入力された変数512を使用せず、加工プログラム511bの実行を中止又は禁止する。
 ステップS55において、プログラム編集部57は、加工プログラム511bを実行できないことを示す警告メッセージを表示部58に表示させる(図12参照)。
 ステップS56において、プログラム編集部57は、変数512を使用して、新規の加工プログラム511bを実行する。
 このような構成により、第2実施形態に係る数値制御システム1は、全ての加工プログラム511から、加工プログラム511と対応付けられた変数512の変数リスト情報513を数値制御装置5に通知する。これにより、数値制御システム1は、加工プログラムと対応付けられた変数を重複した加工プログラムの編集又は作成を回避できる。
 また、数値制御システム1は、加工プログラムと対応付けられた変数を重複した加工プログラムが実行された場合、変数リスト情報に基づいて加工プログラムの実行を中止又は禁止する。これにより、数値制御システム1は、加工プログラムと対応付けられた変数の重複によって生じ得る加工不良、工作機械2の破損、工作機械2とロボット3との衝突等のような不具合を回避できる。
[第3実施形態]
 第3実施形態に係る数値制御システム1の処理について、図16~図24を参照しながら説明する。図16~図21は、第3実施形態に係る数値制御システム1の処理の例を示す図であり、図22~図24は、第3実施形態に係る数値制御システム1の処理の流れを示すフローチャートである。第3実施形態に係る数値制御システム1は、加工プログラム511において使用中の変数512を、ロボットプログラム611aにおいて使用及び実行する。
 図22は、第3実施形態に係る産業用装置4の処理を示すフローチャートである。ステップS61において、変数リスト情報生成部41は、数値制御装置5の記憶部51における変数512を含む全ての加工プログラム511の取得要求と、ロボット制御装置6の記憶部61における変数512を含む全てのロボットプログラム611の取得要求と、を産業用装置4のデータ送受信部43に通知する。
 データ送受信部43は、数値制御装置5のデータ送受信部55を介して、記憶部51から読み出された変数512を含む全ての加工プログラム511を取得する。また、データ送受信部43は、ロボット制御装置6のデータ送受信部65を介して、ロボット制御装置6の記憶部61から読み出された変数512を含む全てのロボットプログラム611を取得する。データ送受信部43は、取得した全ての加工プログラム511及び全てのロボットプログラム611を変数リスト情報生成部41へ入力する。(図16参照)。
 ステップS62において、変数リスト情報生成部41は、変数リスト情報612を作成し、入力された加工プログラム511及びロボットプログラム611中に含まれる変数512を検索する(図17参照)。変数リスト情報生成部41は、検索した変数512を、当該変数512を含む加工プログラム511又はロボットプログラム611と対応付けて変数リスト情報612に追加する(図18参照)。ここで、図18に示すように、変数リスト情報612は、使用中の変数と、加工プログラム511及び/又はロボットプログラム611のプログラム名とが対応付けて記憶される。変数リスト情報生成部41は、入力された加工プログラム511及びロボットプログラム611を全て検索したのち、変数リスト情報612を変数リスト情報出力部42に入力する。
 ステップS63において、変数リスト情報出力部42は、データ送受信部55へ変数リスト情報612を出力し、データ送受信部43は、変数リスト情報612をロボット制御装置6のデータ送受信部65へ出力する。
 図23は、第3実施形態に係るロボット制御装置6においてロボットプログラム611aの編集又は作成を行う場合の処理を示すフローチャートである。
 ステップS71において、ロボット制御装置6の入力部66は、プログラム編集部67へロボットプログラム611の作成又は編集の要求を通知する。ロボットプログラム611を作成する場合、プログラム編集部67は、ロボットプログラム611を生成し、記憶部61に記憶する。ロボットプログラム611を編集する場合、プログラム編集部67は、記憶部61からロボットプログラム611を読み出す。ロボットプログラムを編集する際、入力部66は、プログラム編集部67に変数512を入力する。
 ステップS72において、プログラム編集部67は、記憶部61から変数リスト情報612を読み出し、入力された変数512が変数リスト情報612に存在するかを判定する。入力された変数512が変数リスト情報612に存在する場合(YES)、処理は、ステップS73へ移る。一方、変数512が変数リスト情報612に存在しない場合(NO)、処理は、ステップS76へ移る。
 ステップS73において、プログラム編集部67は、変数512が変数リスト情報612に存在する場合、変数リスト情報612に基づいて、ロボットプログラム611aと変数512との対応関係を判定する。ロボットプログラム611aと変数512との対応関係が異なる場合、すなわちロボットプログラム611aと変数512とが対応付けられていない場合、(YES)、処理は、ステップS74へ移る。一方、ロボットプログラム611aと変数512とが対応付けられている場合(NO)、処理は、ステップS76へ移る。
 ステップS74において、プログラム編集部67は、ロボットプログラム611aにおいて、入力された変数512を使用せず、削除する。また、プログラム編集部67は、入力された変数512を使用せず、ロボットプログラム611aの保存を禁止してもよい。
 ステップS75において、プログラム編集部57は、警告メッセージを表示部68に表示させる(図20参照)。図20の例では、表示部68は、「変数#101は加工プログラム名O0123とロボットプログラム名TEST1で使用されていること及びロボットプログラム名TEST2を保存できない」ことを示す警告メッセージを表示する。ここでロボットプログラム名TEST2は、ロボットプログラム611aを示す。
 ステップS76において、プログラム編集部67は、変数512を使用して、ロボットプログラム611aの編集又は作成を行う。
 図24は、第3実施形態に係るロボット制御装置6においてロボットプログラム611aを実行する場合の処理を示すフローチャートである。ステップS81において、ロボットプログラム611を実行した場合、プログラム入力部62は、ロボットプログラム611を記憶部61から読み出し、解析部63に入力する。
 ステップS82において、解析部63は、ロボットプログラム611aに基づく指令種別を指令ブロックごとに解析する。変数512を解析する際に、解析部63は、記憶部61から変数リスト情報612を読み出し、変数512が変数リスト情報612に存在するかを判定する。変数512が変数リスト情報612に存在する場合(YES)、処理は、ステップS83へ移る。一方、変数512が変数リスト情報612に存在しない場合(NO)、処理は、ステップS86へ移る。
 ステップS83において、解析部63は、変数リスト情報612に基づいて、実行中のロボットプログラム611aと変数512との対応関係を判定する。ロボットプログラム611aと変数512との対応関係が異なる場合、すなわち変数512が、実行中のロボットプログラム611aと対応付けられてない場合(YES)、処理は、ステップS84へ移る。一方、変数512が変数リスト情報に存在しない場合、又はロボットプログラム611と変数512とが変数リスト情報612で対応付けられている場合(NO)、処理は、ステップS86へ移る。
 ステップS84において、解析部63は、ロボットプログラム611aにおいて変数512を使用せず、ロボットプログラム611aの実行を中止又は禁止する。
 ステップS85において、解析部63は、ロボットプログラム611aを実行できないことを示す警告メッセージを表示部68に表示させる(図21参照)。
 ステップS86において、解析部63は、変数512を使用してロボットプログラム611aを実行する。具体的には、制御部64は、解析結果に従い、データ送受信部55及びデータ送受信部65を介して、数値制御装置5の記憶部51の変数512を読み書きする。例えば、解析部63が移動指令を解析した際、制御部64は、移動指令に基づいてロボット3の各関節が駆動させる。
 このような構成により、第3実施形態に係る数値制御システム1は、変数リスト情報612をロボット制御装置6に通知する。これにより、数値制御システム1は、例えば、ロボットプログラム編集時に変数リスト情報に基づいて加工プログラムと対応付けられた変数を使用したロボットプログラムの保存を禁止し、警告メッセージを通知する。これにより、数値制御システム1は、加工プログラムと対応付けられた変数を重複して使用したロボットプログラムの作成を回避できる。
 また、数値制御システム1は、加工プログラムと対応付けられた変数を重複して使用したロボットプログラムが実行された場合、変数リスト情報に基づいて加工プログラムと対応付けられた変数を読み書きする前にロボットプログラムの実行を禁止する。これにより、数値制御システム1は、ロボット3が加工プログラム中の変数の値を書き込んで引き起こされる加工不良、工作機械2の破損、ロボット3が加工プログラム中の変数の値を読み込んで生じ得る工作機械2とロボット3との衝突等のような不具合を回避できる。
 また、変数リスト情報生成部41は、ロボット制御装置6における全てのロボットプログラム611の中から変数512を取得し、変数512とロボットプログラム611との対応付けを変数リスト情報612に追加する。プログラム編集部67は、変数リスト情報612に含まれる変数512が、変数リスト情報612に存在しないロボットプログラム611で使用された場合、変数512を使用しない。
 これにより、数値制御システム1は、ロボット3が加工プログラム511中の変数512の値を書き込んで引き起こされる加工不良、工作機械2の破損、ロボット3が加工プログラム511中の変数512の値を読み込んで生じ得る工作機械2とロボット3との衝突等のような不具合を回避できる。
 また、数値制御システム1において、変数を使用しないことは、変数の保存を禁止すること、変数の参照を禁止すること、及び変数を含むロボットプログラムの実行を禁止することのうちの少なくとも1つを含む。このような構成により、数値制御システム1は、加工プログラム又はロボットプログラムと対応付けられた変数の重複によって生じ得る加工不良、工作機械2の破損、工作機械2とロボット3との衝突等のような不具合を適切に回避できる。
 また、ロボット制御装置6は、変数を使用しない場合、変数を使用しないことを示す警告メッセージを表示する表示部68を更に備える。このような構成により、数値制御システム1は、変数を使用しないことをユーザに対して適切に報知することができる。
[第4実施形態]
 第4実施形態に係る数値制御システム1の処理について、図16~図19及び図25~図27を参照しながら説明する。図16~図19、図25及び図26は、第4実施形態に係る数値制御システム1の処理の例を示す図であり、図27は、第4実施形態に係る数値制御システム1の処理の流れを示すフローチャートである。
 第4実施形態に係る数値制御システム1は、産業用装置4において変数リスト情報を表示する。
 図27は、第3実施形態に係る産業用装置4の処理を示すフローチャートである。ステップS91において、変数リスト情報生成部41は、数値制御装置5の記憶部51における変数512を含む全ての加工プログラム511の取得要求と、ロボット制御装置6の記憶部61における変数512を含む全てのロボットプログラム611の取得要求と、を産業用装置4のデータ送受信部43に通知する。
 データ送受信部43は、数値制御装置5のデータ送受信部55を介して、記憶部51から読み出された変数512を含む全ての加工プログラム511を取得する。また、データ送受信部43は、ロボット制御装置6のデータ送受信部65を介して、ロボット制御装置6の記憶部61から読み出された変数512を含む全てのロボットプログラム611を取得する。データ送受信部43は、取得した全ての加工プログラム511及び全てのロボットプログラム611を変数リスト情報生成部41へ入力する。(図16参照)。
 ステップS92において、変数リスト情報生成部41は、変数リスト情報612を作成し、入力された加工プログラム511及びロボットプログラム611中に含まれる変数512を検索する(図17参照)。変数リスト情報生成部41は、検索した変数512を、当該変数512を含む加工プログラム511又はロボットプログラム611と対応付けて変数リスト情報612に追加する(図18参照)。ここで、図18に示すように、変数リスト情報612は、使用中の変数と、加工プログラム511及び/又はロボットプログラム611のプログラム名とが対応付けて記憶される。変数リスト情報生成部41は、入力された加工プログラム511及びロボットプログラム611を全て検索したのち、変数リスト情報612を変数リスト情報出力部42に入力する。
 ステップS93において、変数リスト情報出力部42は、変数リスト情報612を表示部44に表示させる(図25参照)。また、変数リスト情報出力部42は、データ送受信部55へ変数リスト情報612を出力し、データ送受信部43は、変数リスト情報612をロボット制御装置6のデータ送受信部65へ送信する。また、データ送受信部43は、変数リスト情報612を数値制御装置5のデータ送受信部55へ送信する。
 ステップS94において、数値制御装置5は、変数リスト情報612を記憶部51に保存し、ロボット制御装置6は、変数リスト情報612を記憶部61に保存する。加工プログラム511を作成する際に、数値制御装置5は、変数リスト情報612の加工プログラム511又はロボットプログラム611中に含まれない変数を使用して、新たな加工プログラム511cを作成し、新たなロボットプログラム611cを作成する(図26参照)。
 このような構成により、第4実施形態に係る数値制御システム1は、加工プログラム511と対応付けられた変数512を重複して使用した加工プログラムの作成を回避できる。また、数値制御システム1は、数値制御装置の全ての加工プログラム511から、加工プログラム511と対応付けられた変数512の変数リスト情報612を作成し、変数リスト情報612を出力する。これにより、数値制御システム1は、新たな用途で使用する変数を決定するときに、加工プログラム511を確認する手間を省くことができる。
 また、変数リスト情報生成部41は、ロボット制御装置6における全てのロボットプログラム611の中から変数512を取得し、変数512とロボットプログラム611との対応付けを変数リスト情報612に追加する。これにより、数値制御システム1は、ロボット3が加工プログラム511中の変数512の値を書き込んで引き起こされる加工不良、工作機械2の破損、ロボット3が加工プログラム511中の変数512の値を読み込んで生じ得る工作機械2とロボット3との衝突等のような不具合を回避できる。
 また、産業用装置4は、変数リスト情報612に基づいて変数512と加工プログラム511又はロボットプログラム611との対応付けを表示する表示部44を更に備える。このような構成により、数値制御システムは、変数512を使用しないことをユーザに対して適切に報知することができる。
 以上、本発明の実施形態について説明したが、上記の数値制御システム1は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の数値制御システム1により行なわれる制御方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて記憶され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。
 本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、または、特許請求の範囲に記載された内容とその均等物から導き出される本開示の趣旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。また、上述した実施形態の説明に数値又は数式が用いられている場合も同様である。
 上記実施形態及び変形例に関し、更に以下の付記を開示する。
(付記1)
 数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置における全ての前記加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応づけられた変数リスト情報を生成する変数リスト情報生成部と、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置おけるロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用せず、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないプログラム編集部と、を備える数値制御システム。
(付記2)
 変数リスト情報生成部は、前記ロボット制御装置における全ての前記ロボットプログラムの中から前記変数を取得し、前記変数と前記ロボットプログラムとの対応付けを前記変数リスト情報に追加し、前記プログラム編集部は、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記ロボットプログラムで使用された場合、前記変数を使用しない、付記1に記載の数値制御システム。
(付記3)
 前記変数を使用しないことは、前記変数の保存を禁止すること、前記変数の参照を禁止すること、及び前記変数を含む前記加工プログラム又は前記ロボットプログラムの実行を禁止することのうちの少なくとも1つを含む、付記1又は2に記載の数値制御システム。
(付記4)
 前記変数を使用しない場合、前記変数を使用しないことを示す警告メッセージを表示する表示部を更に備える、付記1又は2に記載の数値制御システム。
(付記5)
 数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御する数値制御システムであって、前記数値制御装置における全ての前記加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、前記変数リスト情報を出力装置へ出力する変数リスト情報出力部と、を備える数値制御システム。
(付記6)
 前記変数リスト情報生成部は、前記ロボット制御装置における全てのロボットプログラムの中から前記変数を取得し、前記変数と前記ロボットプログラムとの対応付けを前記変数リスト情報に追加する、付記5に記載の数値制御システム。
(付記7)
 前記変数リスト情報に基づいて前記変数と前記加工プログラム又は前記ロボットプログラムとの対応付けを表示する表示部を更に備える、付記6に記載の数値制御システム。
(付記8)
 加工プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置におけるロボットプログラムの中から変数を取得し、前記変数と前記加工プログラム又は前記ロボットプログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、前記加工プログラム又は前記ロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用せず、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないプログラム編集部と、を備える数値制御装置。
(付記9)
 前記変数を使用しないことは、前記変数の保存を禁止すること、前記変数の参照を禁止すること、及び前記変数を含む前記加工プログラム又は前記ロボットプログラムの実行を禁止することのうちの少なくとも1つを含む、付記8に記載の数値制御装置。
(付記10)
 前記変数を使用しない場合、前記変数を使用しないことを示す警告メッセージを表示する表示部を更に備える、付記9に記載の数値制御システム。
(付記11)
 数値制御装置又はロボット制御装置から加工プログラム又はロボットプログラムを受信する受信部と、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置におけるロボットプログラムの中から変数を取得し、前記変数と前記加工プログラム又は前記ロボットプログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、前記変数リスト情報を出力装置へ出力する変数リスト情報出力部と、を備える産業用装置。
(付記12)
 前記変数リスト情報に基づいて前記変数と前記加工プログラム又は前記ロボットプログラムとの対応付けを表示する表示部を更に備える、付記11に記載の産業用装置。
(付記13)
 数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御するコンピュータに、前記数値制御装置における全ての加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応付けられた変数リスト情報を生成するステップと、前記数値制御装置における前記加工プログラム又は前記ロボット制御装置おけるロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用しないステップと、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないステップと、を実行させるためのコンピュータプログラム。
 1 数値制御システム
 2 工作機械
 3 ロボット
 4 産業用装置
 5 数値制御装置
 6 ロボット制御装置
 41 変数リスト情報生成部
 42 変数リスト情報出力部
 43 データ送受信部
 51 記憶部
 52 プログラム入力部
 53 解析部
 54 制御部
 55 データ送受信部
 56 入力部
 57 プログラム編集部
 58 表示部
 61 記憶部
 62 プログラム入力部
 63 解析部
 64 制御部
 65 データ送受信部
 66 入力部
 67 プログラム編集部
 68 表示部

Claims (13)

  1.  数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御する数値制御システムであって、
     前記数値制御装置における全ての前記加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応づけられた変数リスト情報を生成する変数リスト情報生成部と、
     前記数値制御装置における前記加工プログラム又は前記ロボット制御装置おけるロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用せず、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないプログラム編集部と、
    を備える数値制御システム。
  2.  変数リスト情報生成部は、前記ロボット制御装置における全ての前記ロボットプログラムの中から前記変数を取得し、前記変数と前記ロボットプログラムとの対応付けを前記変数リスト情報に追加し、
     前記プログラム編集部は、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記ロボットプログラムで使用された場合、前記変数を使用しない、
    請求項1に記載の数値制御システム。
  3.  前記変数を使用しないことは、前記変数の保存を禁止すること、前記変数の参照を禁止すること、及び前記変数を含む前記加工プログラム又は前記ロボットプログラムの実行を禁止することのうちの少なくとも1つを含む、請求項1又は2に記載の数値制御システム。
  4.  前記変数を使用しない場合、前記変数を使用しないことを示す警告メッセージを表示する表示部を更に備える、請求項1又は2に記載の数値制御システム。
  5.  数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御する数値制御システムであって、
     前記数値制御装置における全ての前記加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、
     前記変数リスト情報を出力装置へ出力する変数リスト情報出力部と、
    を備える数値制御システム。
  6.  前記変数リスト情報生成部は、前記ロボット制御装置における全てのロボットプログラムの中から前記変数を取得し、前記変数と前記ロボットプログラムとの対応付けを前記変数リスト情報に追加する、請求項5に記載の数値制御システム。
  7.  前記変数リスト情報に基づいて前記変数と前記加工プログラム又は前記ロボットプログラムとの対応付けを表示する表示部を更に備える、請求項6に記載の数値制御システム。
  8.  加工プログラムを用いてロボット制御装置を介してロボットを制御する数値制御装置であって、
     前記数値制御装置における前記加工プログラム又は前記ロボット制御装置におけるロボットプログラムの中から変数を取得し、前記変数と前記加工プログラム又は前記ロボットプログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、
     前記加工プログラム又は前記ロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用せず、前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないプログラム編集部と、
    を備える数値制御装置。
  9.  前記変数を使用しないことは、前記変数の保存を禁止すること、前記変数の参照を禁止すること、及び前記変数を含む前記加工プログラム又は前記ロボットプログラムの実行を禁止することのうちの少なくとも1つを含む、請求項8に記載の数値制御装置。
  10.  前記変数を使用しない場合、前記変数を使用しないことを示す警告メッセージを表示する表示部を更に備える、請求項9に記載の数値制御システム。
  11.  数値制御装置又はロボット制御装置から加工プログラム又はロボットプログラムを受信する受信部と、
     前記数値制御装置における前記加工プログラム又は前記ロボット制御装置におけるロボットプログラムの中から変数を取得し、前記変数と前記加工プログラム又は前記ロボットプログラムとが対応付けられた変数リスト情報を生成する変数リスト情報生成部と、
     前記変数リスト情報を出力装置へ出力する変数リスト情報出力部と、
    を備える産業用装置。
  12.  前記変数リスト情報に基づいて前記変数と前記加工プログラム又は前記ロボットプログラムとの対応付けを表示する表示部を更に備える、請求項11に記載の産業用装置。
  13.  数値制御装置の加工プログラムからロボット制御装置を介してロボットを制御するコンピュータに、
     前記数値制御装置における全ての加工プログラムの中から変数を取得し、前記変数と前記加工プログラムとが対応付けられた変数リスト情報を生成するステップと、
     前記数値制御装置における前記加工プログラム又は前記ロボット制御装置おけるロボットプログラムに含まれる前記変数が、前記変数リスト情報と異なる対応関係で使用された場合、前記変数を使用しないステップと、
     前記変数リスト情報に含まれる前記変数が、前記変数リスト情報に存在しない前記加工プログラムで使用された場合、前記変数を使用しないステップと、
    を実行させるためのコンピュータプログラム。
PCT/JP2022/032289 2022-08-26 2022-08-26 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム WO2024042728A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022568401A JP7256931B1 (ja) 2022-08-26 2022-08-26 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム
PCT/JP2022/032289 WO2024042728A1 (ja) 2022-08-26 2022-08-26 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム
TW112129347A TW202408749A (zh) 2022-08-26 2023-08-04 數值控制系統、數值控制裝置、產業用裝置及電腦程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/032289 WO2024042728A1 (ja) 2022-08-26 2022-08-26 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
WO2024042728A1 true WO2024042728A1 (ja) 2024-02-29

Family

ID=85936726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/032289 WO2024042728A1 (ja) 2022-08-26 2022-08-26 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム

Country Status (3)

Country Link
JP (1) JP7256931B1 (ja)
TW (1) TW202408749A (ja)
WO (1) WO2024042728A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62276605A (ja) * 1986-05-26 1987-12-01 Fanuc Ltd ロボツト制御プログラムの変数入力方法
JPH04155406A (ja) * 1990-10-19 1992-05-28 Fanuc Ltd 制御方法
JPH06149329A (ja) * 1992-11-11 1994-05-27 Brother Ind Ltd ロボット制御装置
JP2001154717A (ja) * 1999-09-13 2001-06-08 Fanuc Ltd ロボットと機械の結合システム
WO2014190483A1 (en) * 2013-05-28 2014-12-04 Abb Technology Ltd Method and apparatus for managing laser process parameters in a robotic laser cell
JP2018195055A (ja) * 2017-05-17 2018-12-06 ファナック株式会社 工作機械制御装置及び生産システム
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
WO2022097719A1 (ja) * 2020-11-09 2022-05-12 ファナック株式会社 数値制御システム及び産業機械の制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62276605A (ja) * 1986-05-26 1987-12-01 Fanuc Ltd ロボツト制御プログラムの変数入力方法
JPH04155406A (ja) * 1990-10-19 1992-05-28 Fanuc Ltd 制御方法
JPH06149329A (ja) * 1992-11-11 1994-05-27 Brother Ind Ltd ロボット制御装置
JP2001154717A (ja) * 1999-09-13 2001-06-08 Fanuc Ltd ロボットと機械の結合システム
WO2014190483A1 (en) * 2013-05-28 2014-12-04 Abb Technology Ltd Method and apparatus for managing laser process parameters in a robotic laser cell
JP2018195055A (ja) * 2017-05-17 2018-12-06 ファナック株式会社 工作機械制御装置及び生産システム
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
WO2022097719A1 (ja) * 2020-11-09 2022-05-12 ファナック株式会社 数値制御システム及び産業機械の制御方法

Also Published As

Publication number Publication date
JPWO2024042728A1 (ja) 2024-02-29
JP7256931B1 (ja) 2023-04-12
TW202408749A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
JP2006517472A (ja) 工作機械の制御方法、および、それに対する装置
WO2022097719A1 (ja) 数値制御システム及び産業機械の制御方法
US20230286169A1 (en) Numerical control system and robot control method
JP7022260B1 (ja) 数値制御システム
WO2024042728A1 (ja) 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム
US20230415341A1 (en) Numerical control device and numerical control system
US20210124331A1 (en) Optimization device
JP7355965B1 (ja) 数値制御装置及び数値制御システム
JP2000089813A (ja) 加工プログラム編集方法および工作機械の制御装置
JP7260728B1 (ja) 数値制御装置及び数値制御システム
CN113260933B (zh) 数控装置及机器学习装置
JP7332822B1 (ja) 数値制御装置及び数値制御システム
JP7260727B1 (ja) 数値制御装置及び数値制御システム
JP2003165079A (ja) 産業用ロボット
WO2022030496A1 (ja) 制御装置
WO2024116221A1 (ja) 数値制御装置及び数値制御システム
JP7448736B1 (ja) 数値制御装置及び数値制御システム
US20190294152A1 (en) Machining program editing device
WO2023203617A1 (ja) ロボット制御装置、数値制御システム及び数値制御方法
WO2024116223A1 (ja) ロボット制御装置
WO2022176818A1 (ja) ロボット制御装置、ロボット制御システム、及びコンピュータプログラム
JP7288157B1 (ja) 数値制御装置及び数値制御システム
JP7288158B1 (ja) 数値制御装置
JP7121221B1 (ja) 数値制御装置及び数値制御システム
EP3871833A1 (en) Automated drilling optimization method

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022568401

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22956554

Country of ref document: EP

Kind code of ref document: A1