WO2022097719A1 - 数値制御システム及び産業機械の制御方法 - Google Patents

数値制御システム及び産業機械の制御方法 Download PDF

Info

Publication number
WO2022097719A1
WO2022097719A1 PCT/JP2021/040773 JP2021040773W WO2022097719A1 WO 2022097719 A1 WO2022097719 A1 WO 2022097719A1 JP 2021040773 W JP2021040773 W JP 2021040773W WO 2022097719 A1 WO2022097719 A1 WO 2022097719A1
Authority
WO
WIPO (PCT)
Prior art keywords
variable
robot
value
machine tool
control module
Prior art date
Application number
PCT/JP2021/040773
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 US18/251,774 priority Critical patent/US20240004371A1/en
Priority to JP2022560825A priority patent/JPWO2022097719A1/ja
Priority to DE112021005055.9T priority patent/DE112021005055T5/de
Priority to CN202180074061.0A priority patent/CN116368440A/zh
Publication of WO2022097719A1 publication Critical patent/WO2022097719A1/ja

Links

Images

Classifications

    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39001Robot, manipulator control

Definitions

  • This disclosure relates to a numerical control system and a control method for industrial machinery.
  • This disclosure has been made in view of the above problems, and provides a numerical control system and an industrial machine control method capable of easily interlocking a machine tool and a robot.
  • One aspect of the present disclosure is a numerical control device having a first control unit that controls the operation of the machine tool based on a numerical control program in a numerical control system that controls the operation of the machine tool and the robot in conjunction with each other, and a robot.
  • a robot control device having a second control unit that controls the operation of the robot based on a control program, and a storage device that stores the values of variables that can be read and written by the first control unit and the second control unit are provided.
  • the first control unit reads the value of the variable stored in the storage device, controls the operation of the machine tool based on the value of the read variable, and the second control unit controls the operation of the machine tool.
  • a numerical control system that reads the value of a variable stored in the machine tool and controls the operation of the robot based on the value of the read variable.
  • One aspect of the present disclosure includes a first control unit that controls the operation of a machine tool based on a numerical control program, a second control unit that controls the operation of a robot based on a robot control program, the first control unit, and the first control unit.
  • a numerical control system including a storage device for storing the values of variables that can be read and written by the second control unit, the first. 1
  • the control unit reads out the value of the variable stored in the storage device and controls the operation of the machine tool based on the value of the read out variable, and the second control unit is in the storage device.
  • a control method of an industrial machine comprising a step of reading out a stored variable value and controlling the operation of the robot based on the read-out variable value.
  • the numerical control system includes a first control unit that controls the operation of a machine tool based on a numerical control program, a second control unit that controls the operation of a robot based on a robot control program, and the like.
  • a storage device for storing the values of variables that can be read and written from both the first control unit and the second control unit is provided.
  • the first control unit reads the value of the rewritable variable from the second control unit, controls the operation of the machine tool based on the read variable value, and the second control unit can be rewritten from the first control unit.
  • the value of the variable is read, and the operation of the robot is controlled based on the value of the read variable.
  • notifications and requests from the first control unit to the second control unit, notifications and requests from the second control unit to the first control unit, and the like can be transmitted from both sides via variables that can be read and written. Since this can be done, the machine tool and the robot can be easily linked without adding a new I / O signal or an external device or editing an existing ladder circuit. Further, according to one aspect of the present disclosure, it is possible to correspond to various automation forms only by storing the values of various variables in the storage device.
  • FIG. 1 is a schematic diagram of the numerical control system 1 according to the present embodiment.
  • the numerical control system 1 includes a machine tool 2 for processing a workpiece (not shown), a numerical control device (CNC) 5 for controlling the operation of the machine tool 2, a robot 3 provided in the vicinity of the machine tool 2, and a robot 3.
  • the robot control device 6 for controlling the operation of the above is provided.
  • the numerical control system 1 controls the operations of the machine tool 2 and the robot 3 in conjunction with each other by using the numerical control device 5 and the robot control device 6 which are connected to each other so as to be able to communicate with each other.
  • 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, and the like, but is not limited thereto.
  • the machine tool 2 is provided in a work machining operation (not shown), a chuck opening / closing operation for gripping the work, and a work machining area in response to various command signals transmitted from the numerical control device 5 according to a procedure described later. Performs various operations such as opening and closing the door.
  • the robot 3 operates under the control of the robot control device 6, and performs a predetermined work on a work machined by, for example, a machine tool 2.
  • the robot 3 is, for example, an articulated robot, and a tool 32 for gripping, processing, and inspecting a work is attached to the arm tip portion 31 thereof.
  • the robot 3 is a 6-axis articulated robot
  • the robot 3 is not limited to this.
  • the case where the robot 3 is a 6-axis articulated robot will be described, but the number of axes is not limited to this.
  • the numerical control device 5 and the robot control device 6 have arithmetic processing means such as a CPU (Central Processing Unit), auxiliary storage means such as an HDD (Hard Disk Drive) and SSD (Solid State Drive) storing various programs, and arithmetic processing, respectively.
  • Main storage means such as RAM (Random Access Memory) for storing data temporarily required for the means to execute a program, operation means such as a keyboard on which the operator performs various operations, and various information is displayed to the operator.
  • It is a computer composed of hardware such as display means such as a display.
  • the robot control device 6 and the numerical control device 5 can transmit and receive various signals to and from each other by, for example, Ethernet (registered trademark).
  • FIG. 2 is a functional block diagram of the numerical control device 5 and the robot control device 6.
  • the numerical control device 5 includes a machine tool control module 50 as a first control unit for controlling the operation of the machine tool 2 according to the above hardware configuration, a storage unit 51 for storing a numerical control program, and a machine tool.
  • a variable storage unit 58 for storing the values of a plurality of readable and writable variables and a data transmission / reception unit 59 are realized by the machine control module 50 and the robot control module 60 described later.
  • the storage unit 51 stores a numerical control program for controlling the operation of the machine tool 2 (for example, the movement operation of the control shaft, the rotation operation of the spindle, the opening / closing operation of the chuck, the opening / closing operation of the door, etc.). ..
  • the numerical control program stored in the storage unit 51 is created in advance by the operator in order to control the operation of the machine tool 2 in conjunction with the operation of the robot 3 under the control of the robot control device 6, and is created in advance by the operator, such as a G coat or M. It is described in a programming language that uses code and the like.
  • the machine tool control module 50 reads and writes the values of the variables stored in the variable storage unit 58 based on the numerical control program, and controls the operation of the machine tool 2. More specifically, the machine tool control module 50 includes a program input unit 52, an input analysis unit 53, an interpolation control unit 54, an I / O control unit 55, and a servo control unit 56.
  • the program input unit 52 reads a numerical control program from the storage unit 51 and inputs it to the sequential input analysis unit 53.
  • the input analysis unit 53 sequentially analyzes the command type based on the numerical control program input from the program input unit 52 for each block, and outputs the analysis result to the I / O control unit 55, the interpolation control unit 54, and the variable storage unit 58. Send.
  • the input analysis unit 53 commands, for example, the opening / closing of the chuck of the machine tool 2 or the opening / closing of the door of the machine tool 2 when the type of the command acquired based on the numerical control program is.
  • the acquired command is input to the I / O control unit 55.
  • the I / O control unit 55 inputs an I / O signal corresponding to the input command to the machine tool 2.
  • the chuck and door of the machine tool 2 are opened and closed according to the procedure specified by the numerical control program.
  • the input analysis unit 53 inputs the acquired command to the interpolation control unit 54.
  • the interpolation control unit 54 calculates the movement path of the control axis according to the command by performing interpolation processing, and inputs the calculated movement path to the servo control unit 56.
  • the servo control unit 56 feedback-controls the servomotor of the machine tool 2 so that the control axis moves along the movement path calculated by the interpolation control unit 54.
  • the operation of the machine tool 2 is controlled by the procedure defined by the numerical control program.
  • the input analysis unit 53 stores, for example, when the type of the command acquired based on the numerical control program commands the reading of the value of the variable stored in the variable storage unit 58, or stores it in the variable storage unit 58.
  • the command is to rewrite the value of the variable, the acquired command is input to the variable storage unit 58.
  • the variable storage unit 58 includes a variable memory 58m for storing the values of a plurality of variables, and is input from the robot control module 60 described later of the robot control device 6 via a command input from the input analysis unit 53 or a data transmission / reception unit 59.
  • the value of the variable stored in the variable memory 58m is read or rewritten according to the command to be issued.
  • variable memory 58m is designated by a number or a character string in the numerical control program for controlling the operation of the machine tool 2 in the machine tool control module 50 and the robot control program for controlling the operation of the robot 3 in the robot control module 60.
  • a part of macro variables for example, # 100 to # 199, # 500 to # 599
  • many numerical control devices is assigned as the variables stored by the variable memory 58m. However, it is not limited to this.
  • variable storage unit 58 When a command to read the value of the variable stored in the variable memory 58m is input from the input analysis unit 53, the variable storage unit 58 reads the value of the variable specified by the command from the variable memory 58m and reads the read value. It is transmitted to the input analysis unit 53. Further, when a command for rewriting the value of the variable stored in the variable memory 58m is input from the input analysis unit 53, the variable storage unit 58 sets the value of the variable specified by the command in the variable memory 58m according to the command. Rewrite to. As a result, the machine tool control module 50 can read and rewrite the value of the variable stored in the variable memory 58m.
  • variable storage unit 58 When a command to read the value of the variable stored in the variable memory 58m is input from the robot control module 60 via the data transmission / reception unit 59, the variable storage unit 58 is the value of the variable specified by the command from the variable memory 58m. Is read, and the read value is transmitted to the robot control module 60 via the data transmission / reception unit 59. Further, when a command for rewriting the value of the variable stored in the variable memory 58m is input from the robot control module 60 via the data transmission / reception unit 59, the variable storage unit 58 is a variable specified by the command in the variable memory 58m. Rewrite the value to the value according to the command. As a result, the robot control module 60 can read and rewrite the value of the variable stored in the variable memory 58m.
  • the variable memory 58m is a first storage area 581 that stores the values of a plurality of first variables that are supposed to be used for notifications and requests from the machine tool control module 50 to the robot control module 60, and works from the robot control module 60. It includes a second storage area 582 that stores the values of a plurality of second variables that are supposed to be used for notifications and requests to the machine control module 50.
  • a case where variables # 500 to # 599 are assigned as the first variable and variables # 100 to # 199 are assigned as the second variable will be described.
  • the first variable stored in the first storage area 581 is used for notifications and requests from the machine tool control module 50 to the robot control module 60
  • the machine tool control module 50 and the robot control module 60 It is preferable that it can be read from both sides and at least rewritable from the machine tool control module 50.
  • the second variable stored in the second storage area 582 is expected to be used for notifications and requests from the robot control module 60 to the machine tool control module 50
  • the machine tool control module 50 and the robot control module 60 It is preferable that the robot can be read from both of the above and at least rewritable from the robot control device 6.
  • the first variable # 500 is assigned, for example, from the machine tool control module 50 to the robot control module 60 to notify the stop state of the spindle of the machine tool 2.
  • the value of the first variable # 500 is 0, it means that the spindle of the machine tool 2 is in operation, and when the value of the first variable # 500 is 1, the spindle of the machine tool 2 is stopped. Show that.
  • the first variable # 501 notifies, for example, from the machine tool control module 50 to the robot control module 60 that each axis of the machine tool 2 is retracted to a position outside the interference region when the robot 3 invades. Assigned for.
  • the value of the first variable # 501 is 0, it means that each axis of the machine tool 2 exists in a predetermined interference region, and when the value of the first variable # 501 is 1, each of the machine tools 2 The axis indicates that it is outside the interference region.
  • the first variable # 502 is assigned, for example, from the machine tool control module 50 to the robot control module 60 to notify the open / closed state of the door of the machine tool 2.
  • the value of the first variable # 502 is 0, it means that the door of the machine tool 2 is not open, and when the value of the first variable # 502 is 1, the door of the machine tool 2 is opened. Indicates that it is in a state.
  • the first variable # 503 is assigned, for example, from the machine tool control module 50 to the robot control module 60 to request the exchange of the work of the machine tool 2.
  • the value of the first variable # 503 is 0, it means that the work exchange is not requested, and when the value of the first variable # 503 is 1, the work exchange is requested. Indicates that.
  • the second variable # 100 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the stop of the numerical control program being executed in the machine tool control module 50.
  • the value of the second variable # 100 is 0, it means that the stop of the numerical control program is not requested, and when the value of the second variable # 100 is 1, the stop of the numerical control program is requested. Indicates that it is in a state of being.
  • the second variable # 101 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the opening operation of the door of the machine tool 2.
  • the value of the second variable # 101 is 0, it means that the door opening operation is not requested, and when the value of the second variable # 101 is 1, the door opening operation is requested. Indicates that you are in a state of being.
  • the second variable # 102 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the closing operation of the door of the machine tool 2.
  • the value of the second variable # 102 is 0, it means that the door closing operation is not requested, and when the value of the second variable # 102 is 1, the door closing operation is requested. Indicates that you are in a state of being.
  • the second variable # 103 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the opening operation of the chuck of the machine tool 2.
  • the value of the second variable # 103 is 0, it means that the chuck opening operation is not requested, and when the value of the second variable # 103 is 1, the chuck opening operation is requested. Indicates that you are in a state of being.
  • the second variable # 104 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the closing operation of the chuck of the machine tool 2.
  • the value of the second variable # 104 is 0, it means that the chuck closing operation is not requested, and when the value of the second variable # 104 is 1, the chuck closing operation is requested. Indicates that you are in a state of being.
  • the second variable # 105 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the machine tool 2 to execute the first machining.
  • the value of the second variable # 105 is 0, it means that the execution of the first machining is not requested, and when the value of the second variable # 105 is 1, the execution of the first machining is requested. Indicates that it is in a state of being.
  • the second variable # 106 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the machine tool 2 to execute the second machining.
  • the value of the second variable # 106 is 0, it means that the execution of the second machining is not requested, and when the value of the second variable # 106 is 1, the execution of the second machining is requested. Indicates that it is in a state of being.
  • the second variable # 107 is assigned, for example, from the robot control module 60 to the machine tool control module 50 in order to request the machine tool 2 to execute the third machining.
  • the value of the second variable # 107 is 0, it means that the execution of the third machining is not requested, and when the value of the second variable # 107 is 1, the execution of the third machining is requested. Indicates that it is in a state of being.
  • the second variable # 150 is assigned, for example, from the robot control module 60 to the machine tool control module 50 to notify the operating state of the robot 3.
  • the value of the second variable # 150 is 0, it indicates that the robot 3 is in operation, and when the value of the second variable # 150 is 1, it indicates that the operation of the robot 3 is completed. ..
  • the values of the plurality of variables stored in the variable memory 58m are reset to predetermined initial values (for example, 0) in response to turning on the numerical control device 5.
  • the robot control device 6 includes a robot control module 60 as a second control unit that controls the operation of the robot 3, a storage unit 61 that stores a robot control program, and data according to the hardware configuration.
  • Various functions such as the transmission / reception unit 69 are realized.
  • the storage unit 61 stores a robot control program for controlling the operation of the robot 3.
  • the robot control program stored in the storage unit 61 is created in advance by an operator in order to control the operation of the robot 3 in conjunction with the operation of the machine tool 2 under the control of the numerical control device 5.
  • the robot control module 60 reads and writes the values of the variables stored in the variable storage unit 58 based on the robot control program, and controls the operation of the robot 3. More specifically, the robot control module 60 includes a program input unit 62, an input analysis unit 63, a locus control unit 64, an I / O control unit 65, and a servo control unit 66.
  • the program input unit 62 reads out the robot control program from the storage unit 61 and inputs it to the sequential input analysis unit 63.
  • the input analysis unit 63 sequentially analyzes the command type based on the robot control program input from the program input unit 62 for each block, and outputs the analysis result to the locus control unit 64, the I / O control unit 65, and the data transmission / reception unit 69. Send.
  • the input analysis unit 63 controls the acquired command in a trajectory. Input to unit 64.
  • the locus control unit 64 calculates the motion locus of the control point when moving the control point of the robot 3 to the position designated by the command, and responds to the calculated motion locus.
  • the angle of each joint of the robot 3 is calculated as a target angle, and these target angles are transmitted to the servo control unit 66.
  • the servo control unit 66 generates a robot control signal for the robot 3 by feedback-controlling each servomotor of the robot 3 so that the target angle of each joint transmitted from the locus control unit 64 is realized. Input to the servo motor. As a result, the operation of the robot 3 is controlled by the procedure defined in the robot control program.
  • the input analysis unit 63 receives the acquired command as I /. Input to the O control unit 65.
  • the I / O control unit 65 inputs an I / O signal corresponding to the input command to the tool 32.
  • the tool 32 of the robot 3 operates according to the procedure defined by the robot control program.
  • the input analysis unit 63 stores, for example, when the type of the command acquired based on the robot control program commands the reading of the value of the variable stored in the variable storage unit 58, or stores it in the variable storage unit 58.
  • the command is to rewrite the value of the variable, the acquired command is input to the data transmission / reception unit 69.
  • the data transmission / reception unit 69 When the data transmission / reception unit 69 receives a command for reading a variable value from the input analysis unit 63, the data transmission / reception unit 69 transmits the command to the data transmission / reception unit 59 of the numerical control device 5. As described above, when such a read command is input, the variable storage unit 58 reads the value of the variable specified by the command from the variable memory 58m, and uses the read value as the data transmission / reception unit 59 and the data transmission / reception unit 69. It is sent back to the input analysis unit 63 via.
  • the data transmission / reception unit 69 When the data transmission / reception unit 69 receives a command for rewriting the value of the variable from the input analysis unit 63, the data transmission / reception unit 69 transmits the command to the data transmission / reception unit 59 of the numerical control device 5. As described above, when such a rewrite command is input, the variable storage unit 58 rewrites the value of the variable specified by the command in the variable memory 58m to the value corresponding to the command. As a result, the robot control module 60 can read and rewrite the value of the variable stored in the variable memory 58m.
  • the first variable rewriting process, the second variable rewriting process, the first variable reading process, the second variable reading process, the machine tool control process, and the robot control described below are performed.
  • the operations of the machine tool 2 and the robot 3 are controlled in conjunction with each other.
  • the machine tool control module 50 rewrites the value of the first variable stored in the first storage area 581 of the variable memory 58m according to the numerical control program. As a result, various notifications and requests can be transmitted from the machine tool control module 50 to the robot control module 60.
  • the robot control module 60 rewrites the value of the second variable stored in the second storage area 582 of the variable memory 58m according to the robot control program. As a result, various notifications and requests can be transmitted from the robot control module 60 to the machine tool control module 50.
  • the machine tool control module 50 reads out the value of the second variable stored in the second storage area 582 of the variable memory 58m according to the numerical control program. As described above, the value of the second variable is appropriately rewritten by the robot control module 60 in the second variable rewriting step. Therefore, the machine tool control module 50 can acquire various notifications and requests from the robot control module 60 by reading the value of the second variable.
  • the robot control module 60 reads out the value of the first variable stored in the first storage area 581 of the variable memory 58m according to the robot control program. As described above, the value of the first variable is appropriately rewritten by the machine tool control module 50 in the first variable rewriting step. Therefore, the robot control module 60 can acquire various notifications and requests from the machine tool control module 50 by reading the value of the first variable.
  • the machine tool control module 50 controls the operation of the machine tool 2 based on the numerical control program and the value of the second variable read in the second variable reading process. As a result, the operation of the machine tool 2 can be controlled at a timing and mode determined based on various notifications and requests transmitted from the robot control module 60.
  • the robot control module 60 controls the operations of the robot 3 and the tool 32 based on the robot control program and the value of the first variable read in the first variable reading step. Thereby, the operation of the robot 3 can be controlled at the timing and the mode determined based on various notifications and requests transmitted from the machine tool control module 50.
  • FIG. 3 is a diagram showing a first example of a numerical control program executed in the machine tool control module 50.
  • the machine tool control module 50 has various commands “G00”, “M03”, “G83”, and “G03” for machining the work by the machine tool 2. G80 ”is input. As a result, the machine tool control module 50 controls the operation of the machine tool 2 according to the procedure defined by the numerical control program, and processes the work.
  • the command "S0" for stopping the rotation of the spindle of the machine tool 2 is input to the machine tool control module 50.
  • the machine tool control module 50 stops the rotation of the spindle of the machine tool 2.
  • the command "G00” for retracting each axis of the machine tool 2 to the outside of the predetermined interference region is input to the machine tool control module 50.
  • the machine tool control module 50 moves each axis of the machine tool 2 to the position designated by the command “G00”.
  • the command "M88" for opening the door of the machine tool 2 is input to the machine tool control module 50.
  • the machine tool control module 50 opens the door of the machine tool 2.
  • the robot control module 60 reads out the values of the first variables # 500, # 501, # 502, and # 503 in a predetermined cycle according to the robot control program. Further, the robot control module 60 is used when the values of the first variables # 500, # 501, # 502, and # 503 stored in the first storage area 581 of the variable memory 58 m are all "1", that is, the machine tool.
  • the main shaft of No. 2 is stopped, each shaft is outside the interference region, the door is open, and the machine tool control module 50 requests a work replacement operation.
  • the operation of the robot 3 and the tool 32 is controlled according to a predetermined procedure in the robot control program, and the workpieces are exchanged.
  • the robot control module 60 when the execution of the block indicated by the sequence number “N34” is completed, the robot control module 60 starts the work exchange operation using the robot 3 and the tool 32. Further, when the work exchange operation is completed, the robot control module 60 changes the value of the second variable # 150 stored in the second storage area 582 of the variable memory 58 m from the initial value "0" to "0" according to the robot control program. Rewrite to 1 ".
  • the machine tool control module 50 reads the value of the second variable # 150 and determines whether or not the read value is “0” in a predetermined cycle. Judge repeatedly. That is, the machine tool control module 50 is in a state of waiting for the completion of the work exchange operation by the robot control module 60.
  • the value of the second variable # 150 read out by the machine tool control module 50 is "1"
  • the robot control module 60 notifies that the work exchange operation is completed
  • the machine tool control module 50 withdraws the request for the work exchange operation from the robot control module 60.
  • the command "M89” for closing the door of the machine tool 2 is input to the machine tool control module 50.
  • the machine tool control module 50 closes the door of the machine tool 2.
  • the machine tool control module 50 notifies the robot control module 60 that the door of the machine tool 2 is in the closed state, and the first variable # 502 stored in the first storage area 581 of the variable memory 58 m. Rewrite the value of from "1" to "0".
  • the machine tool control module 50 receives various commands "M03" and "G00" for processing the replaced new workpiece by the machine tool 2. Entered. As a result, the machine tool control module 50 controls the operation of the machine tool 2 according to the procedure defined by the numerical control program, and processes the work.
  • FIG. 4 is a diagram showing a second example of a numerical control program executed in the machine tool control module 50.
  • the robot control module 60 controls the operation of the robot 3 according to the robot control program, and rewrites the values of the second variables # 100 to # 107 stored in the second storage area 582 of the variable memory 58 m according to the robot control program. ..
  • the numerical control program shown in FIG. 4 monitors the request from the robot control module 60 by reading the values of the second variables # 100 to # 107 in the machine tool control module 50 at a predetermined cycle, and reads out the second variable.
  • the operation of the machine tool 2 is controlled according to the values of the variables # 100 to # 107.
  • the machine tool control module 50 reads the value of the second variable # 101 stored in the second storage area 582 of the variable memory 58m, and the read value. Is determined to be "1". Further, the machine tool control module 50 calls a subprogram when the value of the second variable # 101 is "1", that is, when the robot control module 60 requests the opening operation of the door of the machine tool 2. In accordance with the command "M98", the subprogram with the program number "0001" is called, and if the value of the second variable # 101 is "0", the process moves to the next block.
  • FIG. 5 is a diagram showing an example of a subprogram of the program number “0001”.
  • the machine tool control module 50 opens the door of the machine tool 2 according to the command “M88”, and then resets the value of the second variable # 101 to “0”. , Return to the main program shown in FIG. 4 according to the command "M99".
  • the machine tool control module 50 reads the value of the second variable # 102 stored in the second storage area 582 of the variable memory 58m, and the read value. Is determined to be "1". Further, the machine tool control module 50 has a program number “0002” when the value of the second variable # 102 is “1”, that is, when the robot control module 60 requests the closing operation of the door of the machine tool 2. ”, And if the value of the second variable # 102 is“ 0 ”, the process moves to the next block. Here, the machine tool control module 50 closes the door of the machine tool 2 by executing the subprogram of the program number “0002”, resets the value of the second variable # 102 to “0”, and then shows FIG. Return to the main program shown.
  • the machine tool control module 50 reads the value of the second variable # 103 stored in the second storage area 582 of the variable memory 58m, and the read value. Is determined to be "1". Further, in the machine tool control module 50, when the value of the second variable # 103 is "1", that is, when the robot control module 60 requests the opening operation of the chuck of the machine tool 2, the program number "0003". ”, And if the value of the second variable # 103 is“ 0 ”, the process moves to the next block. Here, the machine tool control module 50 closes the chuck of the machine tool 2 by executing the subprogram of the program number “0003”, resets the value of the second variable # 103 to “0”, and then shows FIG. Return to the main program shown.
  • the machine tool control module 50 reads the value of the second variable # 103 stored in the second storage area 582 of the variable memory 58m, and the read value. Is determined to be "1". Further, in the machine tool control module 50, when the value of the second variable # 103 is "1", that is, when the robot control module 60 requests the opening operation of the chuck of the machine tool 2, the program number "0003". ”, And if the value of the second variable # 103 is“ 0 ”, the process moves to the next block. Here, the machine tool control module 50 closes the chuck of the machine tool 2 by executing the subprogram of the program number “0003”, resets the value of the second variable # 103 to “0”, and then shows FIG. Return to the main program shown.
  • the machine tool control module 50 reads out the value of the second variable # 105 stored in the second storage area 582 of the variable memory 58m, and the read-out value. Is determined to be “1". Further, the machine tool control module 50 has a program number “0005” when the value of the second variable # 105 is “1”, that is, when the robot control module 60 requests the first machining operation by the machine tool 2. ”, And if the value of the second variable # 105 is“ 0 ”, the process moves to the next block.
  • the machine tool control module 50 executes the first machining operation of the machine tool 2 by executing the subprogram of the program number "0005", and after resetting the value of the second variable # 105 to "0". , Return to the main program shown in FIG.
  • the machine tool control module 50 reads out the value of the second variable # 100 stored in the second storage area 582 of the variable memory 58m, and the read-out value. Is determined to be "0". Further, the machine tool control module 50 is indicated by the sequence number “N50” when the value of the second variable # 100 is “0”, that is, when the robot control module 60 does not request the stop of the numerical control program. Return to the block and monitor the values of the second variables # 100 to # 107 again. Further, the machine tool control module 50 is indicated by the sequence number “N110” when the value of the second variable # 100 is “1”, that is, when the robot control module 60 requests the stop of the numerical control program. Move to the block and end the numerical control program shown in FIG.
  • the machine tool control module 50 is predetermined until the value of the second variable # 100 is rewritten from "0" to "1", in other words, until the robot control module 60 requests the stop of the numerical control program.
  • the request from the robot control module 60 is monitored by reading the values of the second variables # 101 to # 107 in the cycle of, and any value of the second variables # 101 to # 107 is set to "0" by the robot control module 60.
  • the operation of the machine tool 2 is controlled at the rewritten timing in an manner corresponding to the rewritten second variable.
  • the numerical control system 1 includes a machine tool control module 50 that controls the operation of the machine tool 2 based on the numerical control program, a robot control module 60 that controls the operation of the robot 3 based on the robot control program, and control of these machine tools. It includes a variable storage unit 58 that stores the values of a plurality of variables that can be read and written from both the module 50 and the robot control module 60.
  • the machine tool control module 50 reads a value of a rewritable variable from the robot control module 60, controls the operation of the machine machine 2 based on the value of the read variable, and the robot control module 60 controls the machine machine control module 50.
  • the value of the rewritable variable is read from, and the operation of the robot 3 is controlled based on the value of the read variable.
  • the numerical control system 1 notifications and requests from the machine tool control module 50 to the robot control module 60, notifications and requests from the machine tool control module 60 to the machine tool control module 50, and the like are transmitted from both sides via variables that can be read and written. Therefore, the machine tool 2 and the robot 3 can be easily linked without adding a new I / O signal or an external device or editing an existing ladder circuit. Further, according to the numerical control system 1, it is possible to correspond to various automation forms only by storing the values of various variables in the variable storage unit 58.
  • the machine tool control module 50 reads and writes the values of the variables stored in the variable storage unit 58 based on the numerical control program
  • the robot control module 60 reads and writes the variable values stored in the variable storage unit 58 based on the robot control program. Read and write the value of the variable stored in 58. That is, in the numerical control system 1, variables defined in the numerical control program and the robot control program are used as variables used for transmitting notifications and requests between the machine tool control module 50 and the robot control module 60. As a result, the operation of the machine tool 2 and the operation of the robot 3 can be controlled in conjunction with each other without updating the software of the existing numerical control device 5 and the robot control device 6.
  • the first storage area 581 of the variable storage unit 58 stores the value of the first variable rewritten according to the numerical control program
  • the second storage area 582 of the variable storage unit 58 is rewritten according to the robot control program.
  • the value of the second variable is stored, and the machine tool control module 50 controls the operation of the machine tool 2 based on the value of the second variable, rewrites the value of the first variable according to the numerical control program, and the robot control module.
  • 60 controls the operation of the robot 3 based on the value of the first variable, and rewrites the value of the second variable according to the robot control program.
  • the machine tool control module 50 sends notifications and requests to the robot control module 60 using the first variable, and the machine tool control module 60 uses the second variable to control the machine tool. Notifications, requests, etc. can be sent to the module 50.
  • the machine machine control module 50 of the numerical control device 5 and the robot control module 60 of the robot control device 6 can communicate with each other via the data transmission / reception units 59 and 69, and the variable storage unit 58 is the numerical control device.
  • the robot control module 60 provided in No. 5 reads and writes the values of the variables stored in the variable storage unit 58 via communication using the data transmission / reception units 59 and 69.
  • the operation of the machine tool 2 and the operation of the robot 3 can be controlled in conjunction with each other without adding a new external device for storing the value of the variable.
  • variable storage unit 58 for storing the values of a plurality of variables readable and writable by both the machine tool control module 50 and the robot control module 60 is provided in the numerical control device 5 has been described. Not limited to.
  • variable storage unit may be provided in, for example, a robot control device that is communicably connected to the numerical control device.
  • the machine tool control module of the numerical control device can read and write the value of the variable stored in the variable storage unit provided in the robot control device via the above communication, and is therefore substantially the same as the above embodiment. It works.
  • variable storage unit may be provided in, for example, a server connected to the numerical control device and the robot control device so as to be able to communicate with each other.
  • the machine tool control module of the numerical control device and the robot control module of the robot control device can read and write the values of the variables stored in the variable storage unit provided in the server, respectively, via the above communication. , It has almost the same effect as the above embodiment.

Abstract

数値制御システム1は、工作機械制御モジュール50を有する数値制御装置5と、ロボット3の動作を制御するロボット制御モジュール60を有するロボット制御装置6と、両モジュール50,60によって読み書き可能な複数の変数の値を記憶する変数記憶部58と、を備える。工作機械制御モジュール50は、変数記憶部58の第2記憶領域582に記憶されている第2変数の値を読み出し、読み出した値に基づいて工作機械2の動作を制御するとともに第1記憶領域581に記憶されている第1変数の値を書き換え、ロボット制御モジュール60は、第1変数の値を読み出し、読み出した第1変数の値に基づいてロボット3の動作を制御するとともに第2変数の値を書き換える。

Description

数値制御システム及び産業機械の制御方法
 本開示は、数値制御システム及び産業機械の制御方法に関する。
 近年、加工現場の自動化を促進するため、ワークを加工する工作機械の動作とこの工作機械に対しワークを着脱するロボットの動作とを連動して制御する数値制御システムが望まれている(例えば、特許文献1参照)。一般的に、工作機械の動作は数値制御装置によって制御され、ロボットの動作はロボット制御装置によって制御される。このため工作機械の動作とロボットの動作を連動して制御するためには、数値制御装置及びロボット制御装置の両方の操作が必要となる。これに対し特許文献1に示された数値制御システムでは、数値制御装置側からのユーザによる指示に従ってロボットの動作プログラムの選択や動作プログラムの設定を可能とすることで、ユーザによる設定を容易にしている。
特開2018-195055号公報
 ところで既設の工作機械と後から設置したロボットとを連動して制御する場合、工作機械の動作を制御する数値制御装置と、ロボットの動作を制御するロボット制御装置と、を接続する必要がある。またこの際、これら数値制御装置及びロボット制御装置には、新たにI/O信号やMコード等のコマンドを追加したり、新たにPLC(プログラマブルロジックコントローラ)のような外部機器を設置したりする必要がある。またこの際、I/O信号は、数値制御装置のラダー回路を経由してロボット制御装置に送信する必要があることから、既設のラダー回路を編集する必要もある。このため実際の加工現場では、フレキシブルに対応できない場合がある。
 本開示は、上記課題に鑑みてなされたものであり、容易に工作機械とロボットとを連動させることができる数値制御システム及び産業機械の制御方法を提供する。
 本開示の一態様は、工作機械及びロボットの動作を連動して制御する数値制御システムにおいて、数値制御プログラムに基づいて前記工作機械の動作を制御する第1制御部を有する数値制御装置と、ロボット制御プログラムに基づいて前記ロボットの動作を制御する第2制御部を有するロボット制御装置と、前記第1制御部及び前記第2制御部によって読み書き可能な変数の値を記憶する記憶装置と、を備え、前記第1制御部は、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記工作機械の動作を制御し、前記第2制御部は、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記ロボットの動作を制御する、数値制御システムを提供する。
 本開示の一態様は、工作機械の動作を数値制御プログラムに基づいて制御する第1制御部と、ロボットの動作をロボット制御プログラムに基づいて制御する第2制御部と、前記第1制御部及び前記第2制御部によって読み書き可能な変数の値を記憶する記憶装置と、を備える数値制御システムを用いて前記工作機械及び前記ロボットの動作を連動して制御する産業機械の制御方法において、前記第1制御部が、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記工作機械の動作を制御する工程と、前記第2制御部は、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記ロボットの動作を制御する工程と、を備える、産業機械の制御方法を提供する。
 本開示の一態様において、数値制御システムは、数値制御プログラムに基づいて工作機械の動作を制御する第1制御部と、ロボット制御プログラムに基づいてロボットの動作を制御する第2制御部と、これら第1制御部及び第2制御部の双方から読み書き可能な変数の値を記憶する記憶装置と、を備える。第1制御部は、第2制御部から書き換え可能な変数の値を読み出し、この読み出した変数の値に基づいて工作機械の動作を制御し、第2制御部は、第1制御部から書き換え可能な変数の値を読み出し、この読み出した変数の値に基づいてロボットの動作を制御する。本開示の一態様によれば、第1制御部から第2制御部への通知及び要求や第2制御部から第1制御部への通知及び要求等を、双方から読み書き可能な変数を介して行うことができるので、新たにI/O信号や外部機器を追加したり、既設のラダー回路を編集したりすることなく容易に工作機械とロボットとを連動させることができる。また本開示の一態様によれば、記憶装置に様々な変数の値を記憶させるだけで多様な自動化形態への対応も可能になる。
本開示の一実施形態に係る数値制御システムの概略図である。 数値制御装置及びロボット制御装置の機能ブロック図である。 工作機械制御モジュールにおいて実行される数値制御プログラムの第1の例を示す図である。 工作機械制御モジュールにおいて実行される数値制御プログラムの第2の例を示す図である。 数値制御プログラムに従って呼び出されるサブプログラムの一例である。
 以下、図面を参照して、本開示の一実施形態に係る数値制御システム1について説明する。
 図1は、本実施形態に係る数値制御システム1の概略図である。
 数値制御システム1は、図示しないワークを加工する工作機械2と、この工作機械2の動作を制御する数値制御装置(CNC)5と、工作機械2の近傍に設けられたロボット3と、ロボット3の動作を制御するロボット制御装置6と、を備える。数値制御システム1は、互いに通信可能に接続された数値制御装置5及びロボット制御装置6を用いることによって、工作機械2及びロボット3の動作を連動して制御する。
 工作機械2は、例えば、旋盤、ボール盤、フライス盤、研削盤、レーザ加工機、及び射出成形機等であるが、これらに限らない。工作機械2は、後に説明する手順に従って数値制御装置5から送信される各種指令信号に応じて、図示しないワークの加工動作、このワークを把持するチャックの開閉動作、及びワークの加工エリアに設けられたドアの開閉動作等の各種動作を実行する。
 ロボット3は、ロボット制御装置6による制御下において動作し、例えば工作機械2によって加工されるワークに対し所定の作業を行う。ロボット3は、例えば多関節ロボットであり、そのアーム先端部31にはワークを把持したり、加工したり、検査したりするためのツール32が取り付けられている。以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、これに限らない。また以下では、ロボット3は、6軸の多関節ロボットとした場合について説明するが、軸数はこれに限らない。
 数値制御装置5及びロボット制御装置6は、それぞれCPU(Central Processing Unit)等の演算処理手段、各種プログラムを格納したHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶手段、演算処理手段がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶手段、オペレータが各種操作を行うキーボードといった操作手段、及びオペレータに各種情報を表示するディスプレイといった表示手段等のハードウェアによって構成されるコンピュータである。これらロボット制御装置6及び数値制御装置5は、例えばイーサネット(登録商標)によって相互に各種信号を送受信することが可能となっている。
 図2は、数値制御装置5及びロボット制御装置6の機能ブロック図である。
 先ず、数値制御装置5の詳細な構成について説明する。図2に示すように数値制御装置5には、上記ハードウェア構成によって、工作機械2の動作を制御する第1制御部としての工作機械制御モジュール50、数値制御プログラムを記憶する記憶部51、工作機械制御モジュール50及び後述のロボット制御モジュール60によって読み書き可能な複数の変数の値を記憶する変数記憶部58、及びデータ送受信部59等の各種機能が実現される。
 記憶部51には、工作機械2の動作(例えば、制御軸の移動動作、主軸の回転動作、チャックの開閉動作、及びドアの開閉動作等)を制御するための数値制御プログラムが格納されている。記憶部51に格納されている数値制御プログラムは、ロボット制御装置6の制御下にあるロボット3の動作と連動して工作機械2の動作を制御するために予めオペレータによって作成され、GコートやMコード等を用いたプログラム言語によって記述されている。
 工作機械制御モジュール50は、数値制御プログラムに基づいて変数記憶部58に記憶されている変数の値を読み書きするとともに工作機械2の動作を制御する。より具体的には、工作機械制御モジュール50は、プログラム入力部52と、入力解析部53と、補間制御部54と、I/O制御部55と、サーボ制御部56と、を備える。
 プログラム入力部52は、記憶部51から数値制御プログラムを読み出し、これを逐次入力解析部53へ入力する。
 入力解析部53は、プログラム入力部52から入力される数値制御プログラムに基づく指令種別を順次ブロック毎に解析し、解析結果をI/O制御部55、補間制御部54、及び変数記憶部58へ送信する。
 入力解析部53は、数値制御プログラムに基づいて取得した指令の種別が、例えば、工作機械2のチャックの開閉を指令するものである場合や、工作機械2のドアの開閉を指令するものである場合、取得した指令をI/O制御部55へ入力する。I/O制御部55は、入力解析部53から指令が入力されると、入力された指令に応じたI/O信号を工作機械2へ入力する。これにより工作機械2のチャックやドアは、数値制御プログラムによって定められた手順によって開閉される。
 入力解析部53は、数値制御プログラムに基づいて取得した指令の種別が、例えば、工作機械2の制御軸の移動を指令するものである場合、取得した指令を補間制御部54へ入力する。補間制御部54は、入力解析部53から指令が入力されると、補間処理を行うことによって指令に応じた制御軸の移動経路を算出し、算出した移動経路をサーボ制御部56へ入力する。サーボ制御部56は、補間制御部54によって算出された移動経路に沿って制御軸が移動するように、工作機械2のサーボモータをフィードバック制御する。これにより工作機械2の動作は、数値制御プログラムによって定められた手順によって制御される。
 入力解析部53は、数値制御プログラムに基づいて取得した指令の種別が、例えば、変数記憶部58に記憶されている変数の値の読み出しを指令するものである場合や、変数記憶部58に記憶されている変数の値の書き換えを指令するものである場合、取得した指令を変数記憶部58へ入力する。
 変数記憶部58は、複数の変数の値を記憶する変数メモリ58mを備え、入力解析部53から入力される指令やデータ送受信部59を介してロボット制御装置6の後述のロボット制御モジュール60から入力される指令に応じて変数メモリ58mに記憶されている変数の値を読み出したり書き換えたりする。
 変数メモリ58mは、工作機械制御モジュール50において工作機械2の動作を制御するための数値制御プログラム及びロボット制御モジュール60においてロボット3の動作を制御するためのロボット制御プログラムにおいて番号又は文字列によって指定される複数の変数の値を記憶する。本実施形態では、変数メモリ58mによって記憶する変数として、多くの数値制御装置で定義されるマクロ変数の一部(例えば、#100~#199,#500~#599)を割り当てた場合について説明するが、これに限らない。
 変数記憶部58は、入力解析部53から変数メモリ58mに記憶されている変数の値を読み出す指令が入力された場合、変数メモリ58mから指令によって指定される変数の値を読み出し、読み出した値を入力解析部53へ送信する。また変数記憶部58は、入力解析部53から変数メモリ58mに記憶されている変数の値を書き換える指令が入力された場合、変数メモリ58mにおいて指令によって指定される変数の値を指令に応じた値に書き換える。これにより工作機械制御モジュール50は、変数メモリ58mに記憶されている変数の値を読み出したり書き換えたりすることが可能となっている。
 変数記憶部58は、ロボット制御モジュール60からデータ送受信部59を介して変数メモリ58mに記憶されている変数の値を読み出す指令が入力された場合、変数メモリ58mから指令によって指定される変数の値を読み出し、読み出した値を、データ送受信部59を介してロボット制御モジュール60へ送信する。また変数記憶部58は、ロボット制御モジュール60からデータ送受信部59を介して変数メモリ58mに記憶されている変数の値を書き換える指令が入力された場合、変数メモリ58mにおいて指令によって指定される変数の値を指令に応じた値に書き換える。これによりロボット制御モジュール60は、変数メモリ58mに記憶されている変数の値を読み出したり書き換えたりすることが可能となっている。
 変数メモリ58mは、工作機械制御モジュール50からロボット制御モジュール60への通知や要求に利用することを想定した複数の第1変数の値を記憶する第1記憶領域581と、ロボット制御モジュール60から工作機械制御モジュール50への通知や要求に利用することを想定した複数の第2変数の値を記憶する第2記憶領域582と、を備える。以下では、第1変数として変数#500~#599を割り当て、第2変数として変数#100~#199を割り当てた場合について説明する。
 第1記憶領域581に記憶される第1変数は、工作機械制御モジュール50からロボット制御モジュール60への通知や要求に利用することが想定されるため、工作機械制御モジュール50及びロボット制御モジュール60の双方から読み出し可能であり、かつ少なくとも工作機械制御モジュール50から書き換え可能であることが好ましい。また第2記憶領域582に記憶される第2変数は、ロボット制御モジュール60から工作機械制御モジュール50への通知や要求に利用することが想定されるため、工作機械制御モジュール50及びロボット制御モジュール60の双方から読み出し可能であり、かつ少なくともロボット制御装置6から書き換え可能であることが好ましい。
 第1変数#500は、例えば、工作機械制御モジュール50からロボット制御モジュール60へ、工作機械2の主軸の停止状態を通知するために割り当てられる。第1変数#500の値が0である場合、工作機械2の主軸は動作中であることを示し、第1変数#500の値が1である場合、工作機械2の主軸は停止していることを示す。
 第1変数#501は、例えば、工作機械制御モジュール50からロボット制御モジュール60へ、工作機械2の各軸がロボット3の侵入時における干渉領域外となる位置に退避した状態であることを通知するために割り当てられる。第1変数#501の値が0である場合、工作機械2の各軸は所定の干渉領域内に存在することを示し、第1変数#501の値が1である場合、工作機械2の各軸は干渉領域外に存在することを示す。
 第1変数#502は、例えば、工作機械制御モジュール50からロボット制御モジュール60へ、工作機械2のドアの開閉状態を通知するために割り当てられる。第1変数#502の値が0である場合、工作機械2のドアは開いていない状態であることを示し、第1変数#502の値が1である場合、工作機械2のドアは開いた状態であることを示す。
 第1変数#503は、例えば、工作機械制御モジュール50からロボット制御モジュール60へ、工作機械2のワークの交換を要求するために割り当てられる。第1変数#503の値が0である場合、ワークの交換が要求されていない状態であることを示し、第1変数#503の値が1である場合、ワークの交換が要求されている状態であることを示す。
 第2変数#100は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械制御モジュール50において実行中の数値制御プログラムの停止を要求するために割り当てられる。第2変数#100の値が0である場合、数値制御プログラムの停止が要求されていない状態であることを示し、第2変数#100の値が1である場合、数値制御プログラムの停止が要求されている状態であることを示す。
 第2変数#101は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械2のドアの開き動作を要求するために割り当てられる。第2変数#101の値が0である場合、ドアの開き動作が要求されていない状態であることを示し、第2変数#101の値が1である場合、ドアの開き動作が要求されている状態であることを示す。
 第2変数#102は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械2のドアの閉じ動作を要求するために割り当てられる。第2変数#102の値が0である場合、ドアの閉じ動作が要求されていない状態であることを示し、第2変数#102の値が1である場合、ドアの閉じ動作が要求されている状態であることを示す。
 第2変数#103は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械2のチャックの開き動作を要求するために割り当てられる。第2変数#103の値が0である場合、チャックの開き動作が要求されていない状態であることを示し、第2変数#103の値が1である場合、チャックの開き動作が要求されている状態であることを示す。
 第2変数#104は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械2のチャックの閉じ動作を要求するために割り当てられる。第2変数#104の値が0である場合、チャックの閉じ動作が要求されていない状態であることを示し、第2変数#104の値が1である場合、チャックの閉じ動作が要求されている状態であることを示す。
 第2変数#105は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械2による第1加工の実行を要求するために割り当てられる。第2変数#105の値が0である場合、第1加工の実行が要求されていない状態であることを示し、第2変数#105の値が1である場合、第1加工の実行が要求されている状態であることを示す。
 第2変数#106は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械2による第2加工の実行を要求するために割り当てられる。第2変数#106の値が0である場合、第2加工の実行が要求されていない状態であることを示し、第2変数#106の値が1である場合、第2加工の実行が要求されている状態であることを示す。
 第2変数#107は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、工作機械2による第3加工の実行を要求するために割り当てられる。第2変数#107の値が0である場合、第3加工の実行が要求されていない状態であることを示し、第2変数#107の値が1である場合、第3加工の実行が要求されている状態であることを示す。
 第2変数#150は、例えば、ロボット制御モジュール60から工作機械制御モジュール50へ、ロボット3の動作状態を通知するために割り当てられる。第2変数#150の値が0である場合、ロボット3は動作中であることを示し、第2変数#150の値が1である場合、ロボット3の動作は完了した状態であることを示す。
 なお変数メモリ58mに記憶される複数の変数の値は、数値制御装置5をオンにしたことに応じて所定の初期値(例えば、0)にリセットされる。
 次に、ロボット制御装置6の構成について詳細に説明する。図2に示すように、ロボット制御装置6には、上記ハードウェア構成によって、ロボット3の動作を制御する第2制御部としてのロボット制御モジュール60、ロボット制御プログラムを記憶する記憶部61、及びデータ送受信部69等の各種機能が実現される。
 記憶部61には、ロボット3の動作を制御するためのロボット制御プログラムが格納されている。記憶部61に格納されているロボット制御プログラムは、数値制御装置5の制御下にある工作機械2の動作と連動してロボット3の動作を制御するために予めオペレータによって作成されている。
 ロボット制御モジュール60は、ロボット制御プログラムに基づいて変数記憶部58に記憶されている変数の値を読み書きするとともにロボット3の動作を制御する。より具体的には、ロボット制御モジュール60は、プログラム入力部62と、入力解析部63と、軌跡制御部64と、I/O制御部65と、サーボ制御部66と、を備える。
 プログラム入力部62は、記憶部61からロボット制御プログラムを読み出し、これを逐次入力解析部63へ入力する。
 入力解析部63は、プログラム入力部62から入力されるロボット制御プログラムに基づく指令種別を順次ブロック毎に解析し、解析結果を軌跡制御部64、I/O制御部65、及びデータ送受信部69へ送信する。
 入力解析部63は、ロボット制御プログラムに基づいて取得した指令の種別が、例えば、ロボット3の制御点(例えば、アーム先端部31)の移動を指令するものである場合、取得した指令を軌跡制御部64へ入力する。軌跡制御部64は、入力解析部63から指令が入力されると、ロボット3の制御点を指令によって指定された位置へ移動させる際における制御点の動作軌跡を算出し、算出した動作軌跡に応じたロボット3の各関節の角度を目標角度として算出し、これら目標角度をサーボ制御部66へ送信する。サーボ制御部66は、軌跡制御部64から送信される各関節の目標角度が実現するように、ロボット3の各サーボモータをフィードバック制御することによってロボット3に対するロボット制御信号を生成し、ロボット3のサーボモータへ入力する。これによりロボット3の動作は、ロボット制御プログラムに定められた手順によって制御される。
 入力解析部63は、ロボット制御プログラムに基づいて取得した指令の種別が、例えば、ロボット3のアーム先端部31に取り付けられたツール32の駆動を指令するものである場合、取得した指令をI/O制御部65へ入力する。I/O制御部65は、入力解析部63から指令が入力されると、入力された指令に応じたI/O信号をツール32へ入力する。これによりロボット3のツール32は、ロボット制御プログラムによって定められた手順によって動作する。
 入力解析部63は、ロボット制御プログラムに基づいて取得した指令の種別が、例えば、変数記憶部58に記憶されている変数の値の読み出しを指令するものである場合や、変数記憶部58に記憶されている変数の値の書き換えを指令するものである場合、取得した指令をデータ送受信部69へ入力する。
 データ送受信部69は、入力解析部63から変数の値の読み出しの指令を受信した場合、当該指令を数値制御装置5のデータ送受信部59へ送信する。上述のように変数記憶部58は、このような読み出し指令が入力された場合、変数メモリ58mから指令によって指定される変数の値を読み出し、読み出した値を、データ送受信部59及びデータ送受信部69を介して入力解析部63へ送り返す。またデータ送受信部69は、入力解析部63から変数の値の書き換えの指令を受信した場合、当該指令を数値制御装置5のデータ送受信部59へ送信する。上述のように変数記憶部58は、このような書き換え指令が入力された場合、変数メモリ58mにおいて指令によって指定される変数の値を指令に応じた値に書き換える。これによりロボット制御モジュール60は、変数メモリ58mに記憶されている変数の値を読み出したり書き換えたりすることが可能となっている。
 以上のような数値制御システム1では、以下で説明する第1変数書き換え工程と、第2変数書き換え工程と、第1変数読み出し工程と、第2変数読み出し工程と、工作機械制御工程と、ロボット制御工程とを、数値制御プログラム及びロボット制御プログラムによって定められた順序で繰り返し実行することにより、工作機械2及びロボット3の動作を連動して制御する。
 第1変数書き換え工程では、工作機械制御モジュール50は、数値制御プログラムに従って変数メモリ58mの第1記憶領域581に記憶されている第1変数の値を書き換える。これにより工作機械制御モジュール50からロボット制御モジュール60へ、各種通知や要求を送信することができる。
 第2変数書き換え工程では、ロボット制御モジュール60は、ロボット制御プログラムに従って変数メモリ58mの第2記憶領域582に記憶されている第2変数の値を書き換える。これによりロボット制御モジュール60から工作機械制御モジュール50へ、各種通知や要求を送信することができる。
 第2変数読み出し工程では、工作機械制御モジュール50は、数値制御プログラムに従って変数メモリ58mの第2記憶領域582に記憶されている第2変数の値を読み出す。上述のように第2変数の値は、第2変数書き換え工程においてロボット制御モジュール60により適宜書き換えられる。このため工作機械制御モジュール50は、第2変数の値を読み出すことにより、ロボット制御モジュール60からの各種通知や要求を取得することができる。
 第1変数読み出し工程では、ロボット制御モジュール60は、ロボット制御プログラムに従って変数メモリ58mの第1記憶領域581に記憶されている第1変数の値を読み出す。上述のように第1変数の値は、第1変数書き換え工程において工作機械制御モジュール50により適宜書き換えられる。このためロボット制御モジュール60は、第1変数の値を読み出すことにより、工作機械制御モジュール50からの各種通知や要求を取得することができる。
 工作機械制御工程では、工作機械制御モジュール50は、数値制御プログラム及び上記第2変数読み出し工程において読み出した第2変数の値に基づいて工作機械2の動作を制御する。これにより、ロボット制御モジュール60から送信される各種通知や要求に基づいて定められるタイミング及び態様で工作機械2の動作を制御することができる。
 ロボット制御工程では、ロボット制御モジュール60は、ロボット制御プログラム及び上記第1変数読み出し工程において読み出した第1変数の値に基づいてロボット3及びツール32の動作を制御する。これにより、工作機械制御モジュール50から送信される各種通知や要求に基づいて定められるタイミング及び態様でロボット3の動作を制御することができる。
 図3は、工作機械制御モジュール50において実行される数値制御プログラムの第1の例を示す図である。
 始めにシーケンス番号“N10”から“N16”に示すブロックにおいて、工作機械制御モジュール50には、工作機械2によってワークを加工するための各種コマンド“G00”、“M03”、“G83”、及び“G80”が入力される。これにより工作機械制御モジュール50は、数値制御プログラムによって定められた手順によって工作機械2の動作を制御し、ワークを加工する。
 次にシーケンス番号“N20”に示すブロックにおいて、工作機械制御モジュール50には、工作機械2の主軸の回転を停止するためのコマンド“S0”が入力される。これにより工作機械制御モジュール50は、工作機械2の主軸の回転を停止させる。
 次にシーケンス番号“N21”に示すブロックにおいて、工作機械制御モジュール50には、第1変数#500の値を初期値である“0”から“1”に書き換えるためのコマンド“#500=1”が入力される。これにより工作機械制御モジュール50は、ロボット制御モジュール60へ工作機械2の主軸は停止していることを通知するべく、変数メモリ58mの第1記憶領域581に記憶されている第1変数#500の値を“0”から“1”に書き換える。
 次にシーケンス番号“N30”に示すブロックにおいて、工作機械制御モジュール50には、工作機械2の各軸を予め定められた干渉領域外へ退避させるためのコマンド“G00”が入力される。これにより工作機械制御モジュール50は、工作機械2の各軸をコマンド“G00”によって指定される位置へ移動させる。
 次にシーケンス番号“N31”に示すブロックにおいて、工作機械制御モジュール50には、第1変数#501の値を初期値である“0”から“1”に書き換えるためのコマンド“#501=1”が入力される。これにより工作機械制御モジュール50は、ロボット制御モジュール60へ工作機械2の各軸は干渉領域外に存在することを通知するべく、変数メモリ58mの第1記憶領域581に記憶されている第1変数#501の値を“0”から“1”に書き換える。
 次にシーケンス番号“N32”に示すブロックにおいて、工作機械制御モジュール50には、工作機械2のドアを開いた状態にするためのコマンド“M88”が入力される。これにより工作機械制御モジュール50は、工作機械2のドアを開く。
 次にシーケンス番号“N33”に示すブロックにおいて、工作機械制御モジュール50には、第1変数#502の値を初期値である“0”から“1”に書き換えるためのコマンド“#502=1”が入力される。これにより工作機械制御モジュール50は、ロボット制御モジュール60へ工作機械2のドアは開いた状態であることを通知するべく、変数メモリ58mの第1記憶領域581に記憶されている第1変数#502の値を“0”から“1”に書き換える。
 次にシーケンス番号“N34”に示すブロックにおいて、工作機械制御モジュール50には、第1変数#503の値を初期値である“0”から“1”に書き換えるためのコマンド“#503=1”が入力される。これにより工作機械制御モジュール50は、ロボット制御モジュール60に対し、工作機械2の機内のワークの交換動作を要求するべく、変数メモリ58mの第1記憶領域581に記憶されている第1変数#503の値を“0”から“1”に書き換える。
 一方、ロボット制御モジュール60は、ロボット制御プログラムに従って所定の周期で第1変数#500、#501、#502、#503の値を読み出す。またロボット制御モジュール60は、変数メモリ58mの第1記憶領域581に記憶されている第1変数#500、#501、#502、#503の値が何れも“1”である場合、すなわち工作機械2の主軸が停止した状態であり、各軸が干渉領域外に存在した状態であり、ドアが開いた状態であり、さらに工作機械制御モジュール50からワークの交換動作が要求されている場合には、ロボット制御プログラムにおいて予め定められた手順に従ってロボット3及びツール32の動作を制御し、ワークを交換する。従って工作機械制御モジュール50において、シーケンス番号“N34”に示すブロックの実行が完了したことを契機として、ロボット制御モジュール60は、ロボット3及びツール32を用いたワークの交換動作を開始する。またロボット制御モジュール60は、ワークの交換動作が完了すると、ロボット制御プログラムに従って変数メモリ58mの第2記憶領域582に記憶されている第2変数#150の値を初期値である“0”から“1”に書き換える。
 次にシーケンス番号“N36”~“N37”に示すブロックにおいて、工作機械制御モジュール50は、第2変数#150の値を読み出し、読み出した値が“0”であるか否かを所定の周期で繰り返し判定する。すなわち工作機械制御モジュール50は、ロボット制御モジュール60によるワークの交換動作の完了待ちの状態となる。工作機械制御モジュール50は、読み出した第2変数#150の値が“1”である場合、すなわちロボット制御モジュール60からワークの交換動作が完了した旨の通知があった場合、次のシーケンス番号“N38”に示すブロックに移行する。
 次にシーケンス番号“N38”に示すブロックにおいて、工作機械制御モジュール50には、第1変数#503の値を“1”から“0”に書き換えるためのコマンド“#503=0”が入力される。これにより工作機械制御モジュール50は、ロボット制御モジュール60に対するワークの交換動作の要求を取り下げる。
 次にシーケンス番号“N39”に示すブロックにおいて、工作機械制御モジュール50には、工作機械2のドアを閉じた状態にするためのコマンド“M89”が入力される。これにより工作機械制御モジュール50は、工作機械2のドアを閉じる。
 次にシーケンス番号“N40”に示すブロックにおいて、工作機械制御モジュール50には、第1変数#502の値を“1”から“0”に書き換えるためのコマンド“#502=0”が入力される。これにより工作機械制御モジュール50は、ロボット制御モジュール60へ工作機械2のドアは閉じた状態であることを通知するべく、変数メモリ58mの第1記憶領域581に記憶されている第1変数#502の値を“1”から“0”に書き換える。
 次にシーケンス番号“N41”~“N43”に示すブロックにおいて、工作機械制御モジュール50には、交換された新たなワークを工作機械2によって加工するための各種コマンド“M03”、及び“G00”が入力される。これにより工作機械制御モジュール50は、数値制御プログラムによって定められた手順によって工作機械2の動作を制御し、ワークを加工する。
 図4は、工作機械制御モジュール50において実行される数値制御プログラムの第2の例を示す図である。
 なおロボット制御モジュール60は、ロボット制御プログラムに従ってロボット3の動作を制御するとともに、ロボット制御プログラムに従って変数メモリ58mの第2記憶領域582に記憶されている第2変数#100~#107の値を書き換える。
 図4に示す数値制御プログラムは、工作機械制御モジュール50において所定の周期で第2変数#100~#107の値を読み出すことにより、ロボット制御モジュール60からの要求を監視するとともに、読み出した第2変数#100~#107の値に応じて工作機械2の動作を制御する。
 始めにシーケンス番号“N60”~“N62”に示すブロックにおいて、工作機械制御モジュール50は、変数メモリ58mの第2記憶領域582に記憶されている第2変数#101の値を読み出し、読み出した値が“1”であるか否かを判定する。また工作機械制御モジュール50は、第2変数#101の値が“1”である場合、すなわちロボット制御モジュール60から工作機械2のドアの開き動作が要求されている場合には、サブプログラムを呼び出すためのコマンド“M98”に従って、プログラム番号“0001”のサブプログラムを呼び出し、第2変数#101の値が“0”である場合には次のブロックに移行する。
 図5は、プログラム番号“0001”のサブプログラムの一例を示す図である。
 図5に示すようなサブプログラムが呼び出されると、工作機械制御モジュール50は、コマンド“M88”に従って工作機械2のドアを開いた後、第2変数#101の値を“0”にリセットした後、コマンド“M99”に従って図4に示すメインプログラムに復帰する。
 次にシーケンス番号“N70”~“N72”に示すブロックにおいて、工作機械制御モジュール50は、変数メモリ58mの第2記憶領域582に記憶されている第2変数#102の値を読み出し、読み出した値が“1”であるか否かを判定する。また工作機械制御モジュール50は、第2変数#102の値が“1”である場合、すなわちロボット制御モジュール60から工作機械2のドアの閉じ動作が要求されている場合には、プログラム番号“0002”のサブプログラムを実行し、第2変数#102の値が“0”である場合には次のブロックに移行する。ここで工作機械制御モジュール50は、プログラム番号“0002”のサブプログラムを実行することにより、工作機械2のドアを閉じ、第2変数#102の値を“0”にリセットした後、図4に示すメインプログラムに戻る。
 次にシーケンス番号“N80”~“N82”に示すブロックにおいて、工作機械制御モジュール50は、変数メモリ58mの第2記憶領域582に記憶されている第2変数#103の値を読み出し、読み出した値が“1”であるか否かを判定する。また工作機械制御モジュール50は、第2変数#103の値が“1”である場合、すなわちロボット制御モジュール60から工作機械2のチャックの開き動作が要求されている場合には、プログラム番号“0003”のサブプログラムを実行し、第2変数#103の値が“0”である場合には次のブロックに移行する。ここで工作機械制御モジュール50は、プログラム番号“0003”のサブプログラムを実行することにより、工作機械2のチャックを閉じ、第2変数#103の値を“0”にリセットした後、図4に示すメインプログラムに戻る。
 次にシーケンス番号“N80”~“N82”に示すブロックにおいて、工作機械制御モジュール50は、変数メモリ58mの第2記憶領域582に記憶されている第2変数#103の値を読み出し、読み出した値が“1”であるか否かを判定する。また工作機械制御モジュール50は、第2変数#103の値が“1”である場合、すなわちロボット制御モジュール60から工作機械2のチャックの開き動作が要求されている場合には、プログラム番号“0003”のサブプログラムを実行し、第2変数#103の値が“0”である場合には次のブロックに移行する。ここで工作機械制御モジュール50は、プログラム番号“0003”のサブプログラムを実行することにより、工作機械2のチャックを閉じ、第2変数#103の値を“0”にリセットした後、図4に示すメインプログラムに戻る。
 次にシーケンス番号“N90”~“N92”に示すブロックにおいて、工作機械制御モジュール50は、変数メモリ58mの第2記憶領域582に記憶されている第2変数#105の値を読み出し、読み出した値が“1”であるか否かを判定する。また工作機械制御モジュール50は、第2変数#105の値が“1”である場合、すなわちロボット制御モジュール60から工作機械2による第1加工動作が要求されている場合には、プログラム番号“0005”のサブプログラムを実行し、第2変数#105の値が“0”である場合には次のブロックに移行する。ここで工作機械制御モジュール50は、プログラム番号“0005”のサブプログラムを実行することにより、工作機械2の第1加工動作を実行し、第2変数#105の値を“0”にリセットした後、図4に示すメインプログラムに戻る。
 次にシーケンス番号“N100”~“N101”に示すブロックにおいて、工作機械制御モジュール50は、変数メモリ58mの第2記憶領域582に記憶されている第2変数#100の値を読み出し、読み出した値が“0”であるか否かを判定する。また工作機械制御モジュール50は、第2変数#100の値が“0”である場合、すなわちロボット制御モジュール60から数値制御プログラムの停止が要求されていない場合には、シーケンス番号“N50”に示すブロックに戻り、再び第2変数#100~#107の値を監視する。また工作機械制御モジュール50は、第2変数#100の値が“1”である場合、すなわちロボット制御モジュール60から数値制御プログラムの停止が要求されている場合には、シーケンス番号“N110”に示すブロックに移り、図4に示す数値制御プログラムを終了する。
 以上より、工作機械制御モジュール50は、第2変数#100の値が“0”から“1”に書き換えられるまで、換言すればロボット制御モジュール60から数値制御プログラムの停止が要求されるまで、所定の周期で第2変数#101~#107の値を読み出すことによってロボット制御モジュール60からの要求を監視し、ロボット制御モジュール60によって第2変数#101~#107のうち何れかの値が“0”から“1”に書き換えられた場合には、書き換えられたタイミングで、書き換えられた第2変数に応じた態様で工作機械2の動作を制御する。
 本実施形態によれば、以下の効果が奏される。
 数値制御システム1は、数値制御プログラムに基づいて工作機械2の動作を制御する工作機械制御モジュール50と、ロボット制御プログラムに基づいてロボット3の動作を制御するロボット制御モジュール60と、これら工作機械制御モジュール50及びロボット制御モジュール60の双方から読み書き可能な複数の変数の値を記憶する変数記憶部58と、を備える。工作機械制御モジュール50は、ロボット制御モジュール60から書き換え可能な変数の値を読み出し、この読み出した変数の値に基づいて工作機械2の動作を制御し、ロボット制御モジュール60は、工作機械制御モジュール50から書き換え可能な変数の値を読み出し、この読み出した変数の値に基づいてロボット3の動作を制御する。数値制御システム1によれば、工作機械制御モジュール50からロボット制御モジュール60への通知及び要求やロボット制御モジュール60から工作機械制御モジュール50への通知及び要求等を、双方から読み書き可能な変数を介して行うことができるので、新たにI/O信号や外部機器を追加したり、既設のラダー回路を編集したりすることなく容易に工作機械2とロボット3とを連動させることができる。また数値制御システム1によれば、変数記憶部58に様々な変数の値を記憶させるだけで多様な自動化形態への対応も可能になる。
 数値制御システム1において、工作機械制御モジュール50は、数値制御プログラムに基づいて変数記憶部58に記憶されている変数の値を読み書きし、ロボット制御モジュール60は、ロボット制御プログラムに基づいて変数記憶部58に記憶されている変数の値を読み書きする。すなわち数値制御システム1では、工作機械制御モジュール50とロボット制御モジュール60との間で通知や要求を送信するために用いる変数として、数値制御プログラム及びロボット制御プログラムにおいて定義される変数を用いる。これにより、既設の数値制御装置5やロボット制御装置6のソフトウェアを更新せずに工作機械2の動作とロボット3の動作を連動して制御することができる。
 数値制御システム1において、変数記憶部58の第1記憶領域581は、数値制御プログラムに従って書き換えられる第1変数の値を記憶し、変数記憶部58の第2記憶領域582は、ロボット制御プログラムに従って書き換えられる第2変数の値を記憶し、工作機械制御モジュール50は、第2変数の値に基づいて工作機械2の動作を制御するとともに、数値制御プログラムに従って第1変数の値を書き換え、ロボット制御モジュール60は、第1変数の値に基づいてロボット3の動作を制御するとともに、ロボット制御プログラムに従って第2変数の値を書き換える。これにより、数値制御システム1では、第1変数を利用して工作機械制御モジュール50からロボット制御モジュール60へ通知や要求等を送信し、第2変数を利用してロボット制御モジュール60から工作機械制御モジュール50へ通知や要求等を送信することができる。
 数値制御システム1において、数値制御装置5の工作機械制御モジュール50及びロボット制御装置6のロボット制御モジュール60はデータ送受信部59,69を介して通信可能であり、変数記憶部58は、数値制御装置5に設けられ、ロボット制御モジュール60は、データ送受信部59,69を用いた通信を介して変数記憶部58に記憶されている変数の値を読み書きする。これにより、変数の値を記憶するための外部機器を新たに追加することなく、工作機械2の動作とロボット3の動作を連動して制御することができる。
 本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。
 例えば上記実施形態では、工作機械制御モジュール50及びロボット制御モジュール60の双方から読み書き可能な複数の変数の値を記憶する変数記憶部58を、数値制御装置5に設けた場合について説明したが、これに限らない。
 変数記憶部は、例えば、数値制御装置と通信可能に接続されたロボット制御装置に設けてもよい。この場合、数値制御装置の工作機械制御モジュールは、ロボット制御装置に設けられた変数記憶部に記憶された変数の値を、上記通信を介して読み書きすることができるので、上記実施形態とほぼ同じ効果を奏する。
 また変数記憶部は、例えば、数値制御装置及びロボット制御装置とそれぞれ通信可能に接続されたサーバに設けてもよい。この場合、数値制御装置の工作機械制御モジュール及びロボット制御装置のロボット制御モジュールは、サーバに設けられた変数記憶部に記憶された変数の値を、それぞれ上記通信を介して読み書きすることができるので、上記実施形態とほぼ同じ効果を奏する。
 1…数値制御システム
 2…工作機械
 3…ロボット
 31…アーム先端部
 32…ツール
 5…数値制御装置
 51…記憶部
 50…工作機械制御モジュール(第1制御部)
 58…変数記憶部(記憶装置)
 58m…変数メモリ
 581…第1記憶領域
 582…第2記憶領域
 59…データ送受信部
 6…ロボット制御装置
 61…記憶部
 60…ロボット制御モジュール
 69…データ送受信部

Claims (9)

  1.  工作機械及びロボットの動作を連動して制御する数値制御システムにおいて、
     数値制御プログラムに基づいて前記工作機械の動作を制御する第1制御部を有する数値制御装置と、
     ロボット制御プログラムに基づいて前記ロボットの動作を制御する第2制御部を有するロボット制御装置と、
     前記第1制御部及び前記第2制御部によって読み書き可能な変数の値を記憶する記憶装置と、を備え、
     前記第1制御部は、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記工作機械の動作を制御し、
     前記第2制御部は、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記ロボットの動作を制御する、数値制御システム。
  2.  前記第1制御部は、前記数値制御プログラムに基づいて前記記憶装置に記憶されている変数の値を読み書きし、
     前記第2制御部は、前記ロボット制御プログラムに基づいて前記記憶装置に記憶されている変数の値を読み書きする、請求項1に記載の数値制御プログラム。
  3.  前記変数は、前記数値制御プログラム及び前記ロボット制御プログラムにおいて番号又は文字列によって指定される、請求項1又は2に記載の数値制御システム。
  4.  前記記憶装置は、前記第1制御部により前記数値制御プログラムに従って書き換えられる第1変数の値と、前記第2制御部により前記ロボット制御プログラムに従って書き換えられる第2変数の値と、を記憶し、
     前記第1制御部は、前記第2変数の値に基づいて前記工作機械の動作を制御するとともに前記数値制御プログラムに従って前記第1変数の値を書き換え、
     前記第2制御部は、前記第1変数の値に基づいて前記ロボットの動作を制御するとともに前記ロボット制御プログラムに従って前記第2変数の値を書き換える、請求項1から3の何れかに記載の数値制御システム。
  5.  前記数値制御装置と前記ロボット制御装置は通信可能であり、
     前記記憶装置は、前記数値制御装置に設けられ、
     前記第2制御部は、前記通信を介して前記記憶装置に記憶されている変数の値を読み書きする、請求項1から4の何れかに記載の数値制御システム。
  6.  前記数値制御装置と前記ロボット制御装置は通信可能であり、
     前記記憶装置は、前記ロボット制御装置に設けられ、
     前記第1制御部は、前記通信を介して前記記憶装置に記憶されている変数の値を読み書きすることを特徴とする請求項1から4の何れかに記載の数値制御システム。
  7.  前記記憶装置は、前記数値制御装置及び前記ロボット制御装置と通信可能に接続されたサーバに設けられ、
     前記第1制御部及び前記第2制御部は、それぞれ前記通信を介して前記記憶装置に記憶されている変数の値を読み書きする、請求項1から4の何れかに記載の数値制御システム。
  8.  工作機械の動作を数値制御プログラムに基づいて制御する第1制御部と、ロボットの動作をロボット制御プログラムに基づいて制御する第2制御部と、前記第1制御部及び前記第2制御部によって読み書き可能な変数の値を記憶する記憶装置と、を備える数値制御システムを用いて前記工作機械及び前記ロボットの動作を連動して制御する産業機械の制御方法において、
     前記第1制御部が、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記工作機械の動作を制御する工程と、
     前記第2制御部は、前記記憶装置に記憶されている変数の値を読み出し、当該読み出した変数の値に基づいて前記ロボットの動作を制御する工程と、を備える、産業機械の制御方法。
  9.  前記第1制御部が、前記数値制御プログラムに従って前記記憶装置に記憶されている第1変数の値を書き換える工程と、
     前記第2制御部が、前記ロボット制御プログラムに従って前記記憶装置に記憶されている第2変数の値を書き換える工程と、
     前記第1制御部が、前記数値制御プログラムに従って前記第2変数の値を読み出し、当該第2変数の値に基づいて前記工作機械の動作を制御する工程と、
     前記第2制御部が、前記ロボット制御プログラムに従って前記第1変数の値を読み出し、当該第1変数の値に基づいて前記ロボットの動作を制御する工程と、を備える、請求項8に記載の産業機械の制御方法。
PCT/JP2021/040773 2020-11-09 2021-11-05 数値制御システム及び産業機械の制御方法 WO2022097719A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US18/251,774 US20240004371A1 (en) 2020-11-09 2021-11-05 Numerical control system, and method for controlling industrial machine
JP2022560825A JPWO2022097719A1 (ja) 2020-11-09 2021-11-05
DE112021005055.9T DE112021005055T5 (de) 2020-11-09 2021-11-05 Numerisches Steuersystem und Verfahren zum Steuern von Industriemaschinen
CN202180074061.0A CN116368440A (zh) 2020-11-09 2021-11-05 数值控制系统以及工业机械的控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-186407 2020-11-09
JP2020186407 2020-11-09

Publications (1)

Publication Number Publication Date
WO2022097719A1 true WO2022097719A1 (ja) 2022-05-12

Family

ID=81457957

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/040773 WO2022097719A1 (ja) 2020-11-09 2021-11-05 数値制御システム及び産業機械の制御方法

Country Status (5)

Country Link
US (1) US20240004371A1 (ja)
JP (1) JPWO2022097719A1 (ja)
CN (1) CN116368440A (ja)
DE (1) DE112021005055T5 (ja)
WO (1) WO2022097719A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7183488B1 (ja) * 2022-06-09 2022-12-05 三菱電機株式会社 加工プログラム作成装置および加工プログラム作成方法
JP7256931B1 (ja) * 2022-08-26 2023-04-12 ファナック株式会社 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5822412A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
JP2014241018A (ja) * 2013-06-11 2014-12-25 ファナック株式会社 工作機械とロボットを制御する制御装置
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6557282B2 (ja) 2017-05-17 2019-08-07 ファナック株式会社 工作機械制御装置及び生産システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5822412A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
JP2014241018A (ja) * 2013-06-11 2014-12-25 ファナック株式会社 工作機械とロボットを制御する制御装置
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7183488B1 (ja) * 2022-06-09 2022-12-05 三菱電機株式会社 加工プログラム作成装置および加工プログラム作成方法
WO2023238346A1 (ja) * 2022-06-09 2023-12-14 三菱電機株式会社 加工プログラム作成装置および加工プログラム作成方法
JP7256931B1 (ja) * 2022-08-26 2023-04-12 ファナック株式会社 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム
WO2024042728A1 (ja) * 2022-08-26 2024-02-29 ファナック株式会社 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム

Also Published As

Publication number Publication date
DE112021005055T5 (de) 2023-07-20
US20240004371A1 (en) 2024-01-04
CN116368440A (zh) 2023-06-30
JPWO2022097719A1 (ja) 2022-05-12

Similar Documents

Publication Publication Date Title
WO2022097719A1 (ja) 数値制御システム及び産業機械の制御方法
US9483043B2 (en) Method and system for programmable numerical control
WO2001088647A1 (en) Method and system for controlling a machine tool with direct transfer of machining data
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
JP7022260B1 (ja) 数値制御システム
CN108445831A (zh) 一种机器人钻孔方法
WO2022102578A1 (ja) 数値制御装置、及び数値制御システム
Ashley A mosaic for machine tools
WO2023026373A1 (ja) 数値制御システム
WO2023053435A1 (ja) 数値制御システム及びロボット制御装置
WO2022131173A1 (ja) 数値制御システム及び産業機械の制御方法
JP7157281B1 (ja) ロボット制御装置、数値制御システム及び数値制御方法
US20240160181A1 (en) Motion-path generation device, numerical control device, numerical control system, and non-transitory computer-readable medium storing computer program
WO2022176818A1 (ja) ロボット制御装置、ロボット制御システム、及びコンピュータプログラム
WO2022191057A1 (ja) 動作経路生成装置、数値制御装置、数値制御システム、及びコンピュータプログラム
JP7332822B1 (ja) 数値制御装置及び数値制御システム
WO2022004647A1 (ja) 数値制御システム
TWI826893B (zh) 數值控制裝置及數值控制系統
WO2024042728A1 (ja) 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム
JPH02202604A (ja) 外部拡張型プログラマブル・コントローラ
WO2022102581A1 (ja) 制御装置
Martinov et al. The Mechanism for Synchronizing CNC System with External Devices by Using a Part Program
TW202408748A (zh) 數值控制裝置及數值控制系統
JP2694638B2 (ja) 数値制御装置
TW202224878A (zh) 數值控制裝置及數值控制系統

Legal Events

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

Ref document number: 21889271

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022560825

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18251774

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 21889271

Country of ref document: EP

Kind code of ref document: A1