This disclosure relates to a technology for controlling display in a machine tool.
WO 2013/118179 (PTL 1) discloses a device for assisting a task of validating a processing program. This device assists the task of validating a processing program by displaying a tool path as superimposed on a three-dimensional model of a workpiece after processing.
Various types of tools are used to process a workpiece. When tools are worn or tools are chipped, workpiece processing accuracy decreases. In this case, a worker needs to determine a tool that is a cause of the decrease in workpiece processing accuracy. The device disclosed in PTL 1 merely displays a tool path as superimposed on a three-dimensional model of a workpiece after processing. Therefore, the worker cannot determine the tool that is the cause of the decrease in workpiece processing accuracy.
This disclosure has been made to solve the problem as described above, and an object in one aspect is to provide a technology for assisting the task of determining the tool that is the cause of a decrease in workpiece processing accuracy.
In one example of this disclosure, a machine tool capable of processing a workpiece using a plurality of tools is provided. The machine tool includes a display and a control unit for controlling the machine tool. The machine tool executes: a process of acquiring processing information that specifies a tool used in processing the workpiece and a processing route of the tool; a process of displaying, on the display, a three-dimensional model of the workpiece created based on the processing information; a process of receiving designation of a site corresponding to a portion of the processed workpiece in the three-dimensional model displayed on the display; a process of determining, based on the processing information, an employed tool that has been involved in processing the designated site; and a process of displaying information on the employed tool on the display.
In one example of this disclosure, the control unit further executes: a process of acquiring a database in which pieces of size information on tools are associated on a tool-by-tool basis; and a process of acquiring size information associated with the employed tool among the pieces of size information specified in the database. The information displayed on the display in the process of displaying includes the size information acquired in the process of acquiring.
In one example of this disclosure, the machine tool further includes a camera provided inside the machine tool. The control unit further executes a process of acquiring a tool image representing the employed tool from the camera. The information displayed on the display in the process of displaying includes the tool image.
In one example of this disclosure, the machine tool further includes: a magazine capable of holding a plurality of tools; and a driving device for driving the magazine. The control unit further executes: a process of receiving designation of one employed tool among the employed tools displayed on the display; and a process of controlling the driving device so as to drive the designated one employed tool among the plurality of tools housed in the magazine to a predefined position.
In one example of this disclosure, the control unit executes a process of further displaying a processing route of the employed tool as superimposed on the three-dimensional model.
In another example of this disclosure, a control method of a machine tool capable of processing a workpiece using a plurality of tools is provided. The control method executes: acquiring processing information that specifies a tool used in processing the workpiece and a processing route of the tool; displaying, on a display of the machine tool, a three-dimensional model of the workpiece created based on the processing information; receiving designation of a site corresponding to a portion of a processed workpiece in the three-dimensional model displayed on the display; determining, based on the processing information, an employed tool that has been involved in processing the designated site; and displaying information on the employed tool on the display.
In another example of this disclosure, a control program of a machine tool capable of processing a workpiece using a plurality of tools is provided. The control program causes the machine tool to execute: acquiring processing information that specifies a tool used in processing the workpiece and a processing route of the tool; displaying, on a display of the machine tool, a three-dimensional model of the workpiece created based on the processing information; receiving designation of a site corresponding to a portion of a processed workpiece in the three-dimensional model displayed on the display; determining, based on the processing information, an employed tool that has been involved in processing the designated site; and displaying information on the employed tool on the display.
The above-described and other objects, characteristics, aspects, and advantages of the present invention will be apparent by the following detailed description about the present invention that is understood in connection with the accompanying drawings.
Each embodiment according to the present invention will be described below with reference to the drawings. In the following description, the same parts and configurations are denoted by the same reference sign. Their names and functions are also the same. Therefore, their detailed description will not be repeated. The embodiments and modified examples to be described below may be selectively combined as appropriate.
<A. Overview of Machine Tool 10>
First, with reference to
In
In the following, machine tool 10 as a machining center will be described, but machine tool 10 is not limited to a machining center. For example, machine tool 10 may be a lathe or may be an additive processing machine or may be other cutting machine or grinding machine.
Machine tool 10 is provided with a console 20. Console 20 includes a display 205 for displaying various pieces of information relating to processing, and operation keys 206 that receive various operations on machine tool 10.
Machine tool 10 has a processing area AR1 and a tool area AR2. Each of processing area AR1 and tool area AR2 is demarcated by a cover. In processing area AR1, a spindle head 130 is provided. In tool area AR2, an ATC 160 and a magazine 170 are provided. Magazine 170 is configured to be able to hold a plurality of tools. ATC 160 mounts a designated tool among the tools held by magazine 170 onto spindle head 130 through a door D provided in a partition between processing area AR1 and tool area AR2. Door D is a door of a sliding type and is opened or closed by a driving source, such as a motor.
<B. Overview>
Next, with reference to
It is assumed that, as a result of processing by machine tool 10, for example, a workpiece W with a flaw has been obtained. In this case, a worker needs to determine a cause of the occurrence of the flaw. Flaws in workpieces W occur, for example, due to wearing of a tool or chipping of a tool. Therefore, to assist the worker in finding the cause, machine tool 10 presents tools that have been involved in processing a flawed portion P0 to the worker.
As a more specific procedure, in step S1, the worker checks whether workpiece W after processing has been processed as intended. It is assumed that, as a result, the worker has detected flawed portion P0 in workpiece W.
Next, in step S2, the worker displays a check screen 230 on display 205 of console 20. Check screen 230 includes display regions 233, 235.
In display region 233, a three-dimensional model MD of the workpiece is displayed. Three-dimensional model MD is three-dimensional data showing a shape of workpiece W after processing or in the middle of processing. The data form of three-dimensional model MD is freely selected. As one example, three-dimensional model MD may be a wire frame model that specifies a three-dimensional shape by a combination of points and lines, or may be a surface model that specifies a three-dimensional shape by a combination of surfaces, or may be a space lattice model that associates information showing the presence or absence or the type of an object with each coordinate value in three dimensions.
Further, for example, three-dimensional model MD may be downloaded from an external device, or may be defined by a user, or may be created based on processing information 223 (see
Console 20 creates a two-dimensional projected image representing three-dimensional model MD from a certain viewpoint by projection transformation and displays this projected image in display region 233. Typically, machine tool 10 changes the direction of display (the direction of projection) of three-dimensional model MD in conjunction with a user's operation in display region 233. As one example, the user can change the direction of display of three-dimensional model MD by sliding his or her finger in a state of touching display region 233.
Three-dimensional model MD displayed in display region 233 is configured to receive designation of a site. The “site” here means a portion of a surface of three-dimensional model MD. As one example, the “site” may be one surface among surfaces composing three-dimensional model MD, or may be one region in three-dimensional model MD, or may be one point in three-dimensional model MD.
In the example of
Next, in step S3, machine tool 10 displays tool information on “tool B” and “tool D” having been determined in display region 235. As one example, the tool information includes at least one of a tool type, a tool name, a tool thickness, a tool length, and a tool image. The tool thickness represents a radius or a diameter of the tool in a direction orthogonal to an axial direction of a spindle 132 (see
Thus, the worker can learn information on tools that have processed flawed portion P0 of workpiece W. By checking the states of these tools, the worker can look into the cause of the flaw in workpiece W.
<C. Driving Mechanisms of Machine Tool 10>
Next, with reference to
As shown in
“Control unit 50” in this Description means a device that controls machine tool 10. The device configuration of control unit 50 is freely selected. Control unit 50 may be composed of a single control unit or may be composed of a plurality of control units. In the example of
Console 20 communicates with CNC unit 30, for example, through a communication path NW1 (e.g., a wireless LAN, a wired LAN, or a field network). Further, console 20 communicates with camera 140 through a communication path NW2 (e.g., a wireless LAN, a wired LAN, or a field network). Console 20 has an image processing program installed therein and executes various types of image processing on images acquired from camera 140.
CNC unit 30 starts execution of a pre-designed processing program based on receiving a processing start command. The processing program is written, for example, as a numerical control (NC) program. CNC unit 30 drives spindle head 130 by controlling rotation driving unit 110A and position driving unit 110B in accordance with the processing program.
Spindle head 130 includes a spindle sleeve 131 and spindle 132. Spindle 132 is rotatably supported by spindle sleeve 131. One tool 134 selected from magazine 170 (see
Rotation driving unit 110A is a driving mechanism for changing the angle of spindle 132. As one example, rotation driving unit 110A adjusts the angle in at least one of a rotation direction (A-axis) around an X-axis direction as a rotational axis, a rotation direction (B-axis) around a Y-axis direction as a rotational axis, and a rotation direction (C-axis) around a Z-axis direction as a rotational axis. The device configuration of rotation driving unit 110A is freely selected. Rotation driving unit 110A may be composed of a single driving unit or may be composed of a plurality of driving units. In the example of
Position driving unit 110B is a driving mechanism for changing the position of spindle 132. As one example, position driving unit 110B adjusts the position in at least one of the X-axis direction, the Y-axis direction, and the Z-axis direction. The device configuration of position driving unit 110B is freely selected. Position driving unit 110B may be composed of a single driving unit or may be composed of a plurality of driving units. In the example of
Servo driver 111B successively receives input of a target rotation speed from CNC unit 30, and controls a servo motor (not shown) for driving the rotation of spindle head 130 in the B-axis direction.
More specifically, servo driver 111B calculates an actual rotation speed of the servo motor from a feedback signal of an encoder (not shown) for detecting a rotational angle of the servo motor, and increases the rotation speed of the servo motor when the actual rotation speed is lower than a target rotation speed, and reduces the rotation speed of the servo motor when the actual rotation speed is higher than the target rotation speed. In this way, servo driver 111B brings the rotation speed of the servo motor close to the target rotation speed while successively receiving feedback on the rotation speed of the servo motor. Thus, servo driver 111B adjusts the rotation speed of spindle head 130 in the B-axis direction.
Servo driver 111C successively receives input of a target rotation speed from CNC unit 30, and controls a servo motor (not shown) for driving the rotation of spindle 132 in a rotation direction with the axial direction of spindle 132 as the center of rotation.
More specifically, servo driver 111C calculates an actual rotation speed of the servo motor from a feedback signal of an encoder (not shown) for detecting a rotational angle of the servo motor, and increases the rotation speed of the servo motor when the actual rotation speed is lower than a target rotation speed, and reduces the rotation speed of the servo motor when the actual rotation speed is higher than the target rotation speed. In this way, servo driver 111C brings the rotation speed of the servo motor close to the target rotation speed while successively receiving feedback on the rotation speed of the servo motor. Thus, servo driver 111C adjusts the rotation speed of spindle 132 in the rotation direction with the axial direction of spindle 132 as the center of rotation.
Servo driver 111X successively receives input of a target position from CNC unit 30 and controls a servo motor (not shown). The servo motor drives, through a ball screw (not shown), feeding of a movable body on which spindle head 130 is mounted to thereby move spindle head 130 to any position in the X-axis direction. A method of controlling the servo motor by servo driver 111X is the same as that by servo drivers 111B, 111C and therefore description thereof will not be repeated.
Servo driver 111Y successively receives input of a target position from CNC unit 30 and controls a servo motor (not shown). The servo motor drives, through a ball screw (not shown), feeding of a movable body on which spindle head 130 is mounted to thereby move spindle 132 to any position in the Y-axis direction. A method of controlling the servo motor by servo driver 111Y is the same as that by servo drivers 111B, 111C and therefore description thereof will not be repeated.
Servo driver 111Z successively receives input of a target position from CNC unit 30 and controls a servo motor (not shown). The servo motor drives, through a ball screw (not shown), feeding of a movable body on which spindle head 130 is mounted to thereby move spindle 132 to any position in the Z-axis direction. A method of controlling the servo motor by servo driver 111Z is the same as that by servo drivers 111B, 111C and therefore description thereof will not be repeated.
While the example in which rotation driving unit 110A is composed of servo drivers has been described above, rotation driving unit 110A may be composed of other motor drivers. As one example, rotation driving unit 110A may be composed of one or more motor drivers for a stepping motor. Similarly, position driving unit 110B may be composed of one or more motor drivers for a stepping motor.
Magazine driving unit 110M is a driving mechanism for driving the rotation of above-described magazine 170 (see
While the example in which magazine driving unit 110M is composed of a servo driver has been described above, magazine driving unit 110M may be composed of another motor driver. As one example, magazine driving unit 110M may be composed of one or more motor drivers for a stepping motor.
Camera 140 is configured to photograph tool 134 attached to spindle 132. Camera 140 may be a charge coupled device (CCD) camera or an infrared camera (thermography) or may be another type of camera.
<D. Functional Mechanisms of Machine Tool 10>
Next, with reference to
Control unit 50 includes, as examples of functional configurations, an input reception unit 52, an employed tool determination unit 54, a tool information determination unit 56, a display control unit 60, and a driving control unit 62. In the following, these functional configurations will be sequentially described.
All of the functional configurations shown in
(D1. Input Reception Unit 52)
First, the function of input reception unit 52 shown in
Input reception unit 52 is a functional module that receives input of the user's operation from various input devices in machine tool 10. The input devices include, for example, above-described console 20.
As one example, input reception unit 52 receives designation of a site with respect to above-described three-dimensional model MD (see
(D2. Employed Tool Determination Unit 54)
Next, with reference to
Based on processing information 223 shown in
Processing information 223 is created by various methods. As one example, some machine tools 10 have a function of automatically creating a processing program as a user answers questions in an interactive form. Processing information 223 is created, for example, by this function.
Icons 21 to 27 shown in
The data form of processing information 223 is not limited to the form shown in
While the function in which a processing program is created by an automatic creation function of an interactive form has been described above, the processing program may be designed by a worker writing a program code.
Employed tool determination unit 54 determines, as a route candidate, a processing route corresponding to the site designated on three-dimensional model MD among processing routes specified in processing information 223. More specifically, for each processing route specified in processing information 223, employed tool determination unit 54 calculates a distance between the processing route and the site designated on three-dimensional model MD.
In one aspect, employed tool determination unit 54 determines, as a route candidate, a processing route of which the calculated distance is equal to or shorter than a predetermined value. In another aspect, employed tool determination unit 54 determines, as route candidates, a predetermined number of processing routes of which the calculated distances are shortest. The predetermined number is an integer of 1 or more.
Next, employed tool determination unit 54 determines the tool type associated with the determined route candidate with reference to processing information 223. The determined tool is regarded as the employed tool that has been involved in processing the site designated on three-dimensional model MD. In the example of
(D3. Tool Information Determination Unit 56)
Next, with reference to
Tool information determination unit 56 determines tool information relating to the employed tool determined by employed tool determination unit 54.
More specifically, first, tool information determination unit 56 acquires a tool database 224. Tool database 224 may be stored in machine tool 10 in advance or may be acquired from an external server. Tool database 224 specifies tool information on a tool-by-tool basis. The tool information includes a tool number for uniquely identifying the tool, a tool type showing a type of tool, the tool name, tool size information, such as the tool thickness and the tool length, and a tool image representing the tool.
Each tool image included in tool database 224 is, for example, an image obtained from above-described camera 140. Camera 140 photographs a tool at various timings, such as before the start of processing of a workpiece and after the end of processing of a workpiece.
Tool information determination unit 56 determines the tool type corresponding to the employed tool determined by employed tool determination unit 54 among the tool types specified in tool database 224. Thereafter, tool information determination unit 56 acquires tool information associated with the determined tool type. In the example of
While the example in which the tool size information, such as the tool thickness and the tool length, is specified in tool database 224 in advance has been described above, the size of the tool may be determined by another method.
In one aspect, tool information determination unit 56 may determine the size of the tool based on a tool image obtained from camera 140. More specifically, tool information determination unit 56 drives the employed tool determined by employed tool determination unit 54 to a front side of camera 140 and causes camera 140 to photograph the employed tool. Next, tool information determination unit 56 executes predetermined image processing on the tool image obtained from camera 140 to thereby search for the tool part in the tool image. For the process of searching for the tool part, various types of existing image processing are used. Tool information determination unit 56 determines size information on the employed tool based on the tool part searched out from the tool image.
In another aspect, tool information determination unit 56 may measure the size of the employed tool using a distance sensor, such as a laser sensor, or another measurement instrument.
(D4. Display Control Unit 60)
Next, with reference to
Check screen 230 shown in
Display control unit 60 not only displays the employed tool determined by employed tool determination unit 54 in display region 235 but also displays the tool information determined by tool information determination unit 56 in display region 240. Thus, display control unit 60 displays, in display region 240, information on the employed tool that has processed site P1 designated in three-dimensional model MD.
Typically, employed tools displayed in display region 235 are configured to be selectable, and tool information relating to a selected employed tool is displayed in display region 240. In the example of
As one example, the tool information displayed in display region 240 includes size information on the employed tool. The size information includes at least one of the tool thickness of the employed tool and the tool length of the employed tool. By checking the size information, the worker can learn the size information on the tool having been involved in processing site P1.
As another example, the tool information displayed in display region 240 includes a tool image showing the employed tool. By checking the size information, the worker can check in the image the state of the tool having been involved in processing site P1 and detect wearing or chipping of the tool.
The tool image displayed in display region 240 may be a tool image representing a past employed tool or a tool image representing a state of a present employed tool. A tool image representing a past employed tool is acquired, for example, from above-described tool database 224.
A tool image representing a present employed tool is acquired, for example, as the employed tool designated in display region 235 is driven to the front side of camera 140. More specifically, based on a specific, employed tool having been designated in display region 235, machine tool 10 determines the employed tool among the tools housed in magazine 170 (see
The employed tool need not be necessarily photographed in a state of being attached to spindle 132. As one example, the employed tool may be photographed by camera 140 at a predetermined position inside magazine 170. Thus, a tool image representing the employed tool inside magazine 170 is acquired from camera 140 and displayed in display region 240.
Further, the employed tool need not necessarily be photographed as the whole tool. Camera 140 may photograph a part of the employed tool, such as a cutting edge portion. In this case, a tool image representing a part of the present employed tool is acquired from camera 140 and displayed in display region 240.
As a more specific process, based on one employed tool having been selected from among the employed tools displayed in display region 235, display control unit 60 determines a processing route associated with the one employed tool with reference to above-described processing information 223 (see
(D5. Driving Control Unit 62)
Next, with reference to
As described above, employed tools displayed in display region 235 are configured to be selectable. Based on one employed tool having been selected from among the employed tools displayed in display region 235, driving control unit 62 controls magazine driving unit 110M (see
Thus, the worker can visually check a state of the employed tool having been involved in processing the flawed portion of the workpiece, and can detect wearing or chipping of the tool.
<E. Hardware Configuration of Console 20>
Next, with reference to
Console 20 includes a control circuit 201, a read only memory (ROM) 202, a random access memory (RAM) 203, a communication interface 204, display 205, operation keys 206, and an auxiliary storage device 220. These configurations are connected to an internal bus B1.
Control circuit 201 is composed of, for example, at least one integrated circuit. The integrated circuit can be composed of, for example, at least one central processing unit (CPU), at least one graphics processing unit (GPU), at least one application specific integrated circuit (ASIC), at least one field programmable gate array (FPGA), or a combination of them.
Control circuit 201 controls the operation of console 20 by executing various programs, such as a control program 222. Control program 222 is a program for realizing the various functional configurations shown in
Communication interface 204 is a communication unit for realizing communication using a local area network (LAN) cable, a WLAN, Bluetooth®, or the like. As one example, console 20 realizes communication with external devices, such as CNC unit 30 (see
Display 205 is, for example, a liquid crystal display, an organic EL display, or another display device. Display 205 sends an image signal for displaying an image for display 205 in accordance with a command from control circuit 201, or the like. For example, display 205 is formed by a touch panel and receives various operations on machine tool 10 through a touch operation.
Operation keys 206 are composed of a plurality of hardware keys and receive various user operations on console 20. A signal corresponding to a pressed key is output to control circuit 201.
Auxiliary storage device 220 is, for example, a storage medium, such as a hard disc or a flash memory. Auxiliary storage device 220 stores control program 222, above-described processing information 223, above-described tool database 224, above-described three-dimensional model MD, and others. A place to store these is not limited to auxiliary storage device 220, and these may be stored in a storage area (e.g., a cache memory) of control circuit 201, ROM 202, RAM 203, an external device (e.g., a server), or the like.
Control program 222 may be provided not as a standalone program but by being incorporated as a part of any program. In this case, various processes according to this embodiment are realized in cooperation with any program. Such a program that does not include some of the modules does not depart from the intent and purpose of control program 222 according to this embodiment. Further, some or all of the functions provided by control program 222 may be realized by dedicated hardware. Moreover, console 20 may be configured in a form such as a so-called cloud service in which at least one server executes some of the processes of control program 222.
<F. Hardware Configuration of CNC Unit 30>
Next, with reference to
CNC unit 30 includes a control circuit 301, an ROM 302, an RAM 303, communication interfaces 304, 305, a fieldbus controller 306, and an auxiliary storage device 320. These configurations are connected to an internal bus B3.
Control circuit 301 is composed of, for example, at least one integrated circuit. The integrated circuit can be composed of, for example, at least one CPU, at least one GPU, at least one ASIC, at least one FPGA, or a combination of these.
Control circuit 301 controls the operation of CNC unit 30 by executing various programs including a control program 322 and a processing program 323. Control circuit 301 retrieves control program 322 from ROM 302 to RAM 303 based on receiving an order to execute control program 322. RAM 303 functions as a working memory and temporarily stores various pieces of data necessary for the execution of control program 322.
Communication interfaces 304, 305 are communication units for realizing communication using an LAN, a WLAN, Bluetooth, or the like. CNC unit 30 exchanges data with an external device (e.g., console 20) through communication interface 304. Further, CNC unit 30 exchanges data with external devices (e.g., a server) through communication interface 305.
Fieldbus controller 306 is a communication unit for realizing communication with various units connected to a fieldbus. As one example of units connected to the fieldbus, above-described rotation driving unit 110A (see
Auxiliary storage device 320 is, for example, a storage medium such as a hard disc or a flash memory. Auxiliary storage device 320 stores control program 322, processing program 323, and others. A place to store these is not limited to auxiliary storage device 320, and these may be stored in a storage area (e.g., a cache memory) of control circuit 301, ROM 302, RAM 303, an external device (e.g., a server), or the like.
<G. Flowchart>
Next, with reference to
The process shown in
In step S110, control unit 50 determines whether an operation for calling up above-described check screen 230 has been received. The user can call up check screen 230 by, for example, a touch operation on display 205 of console 20 or key input on operation keys 206 of console 20. When control unit 50 determines that an operation for calling up check screen 230 has been received (YES in step S110), control unit 50 switches the control to step S112. Otherwise (NO in step S110), control unit 50 executes the process of step S110 again.
In step S112, control unit 50 functions as display control unit 60 (see
In step S120, control unit 50 functions as input reception unit 52 (see
In step S122, control unit 50 functions as employed tool determination unit 54 (see
In step S124, control unit 50 functions as tool information determination unit 56 (see
In step S126, control unit 50 functions as display control unit 60 (see
In step S130, control unit 50 functions as input reception unit 52 (see
In step S132, control unit 50 functions as driving control unit 62 (see
In step S140, control unit 50 determines whether an operation for closing above-described check screen 230 (see
The embodiment disclosed this time should be construed as being in every respect illustrative and not restrictive. The scope of the present invention is shown not by the description given above but by the claims, and is intended to include all changes that are equivalent in meaning and scope to the claims.
10 Machine tool, 20 Console, 21 to 27 Icon, 30 CNC unit, 50 Control unit, 52 Input reception unit, 54 Employed tool determination unit, 56 Tool information determination unit, 60 Display control unit, 62 Driving control unit, 110A Rotation driving unit, 110B Position driving unit, 110M Magazine driving unit, 111B, 111C, 111X, 111Y, 111Z Servo driver, 130 Spindle head, 131 Spindle sleeve, 132 Spindle, 134 Tool, 140 Camera, 160 ATC, 170 Magazine, 201, 301 Control circuit, 202, 302 ROM, 203, 303 RAM, 204, 304, 305 Communication interface, 205 Display, 206 Operation key, 220, 320 Auxiliary storage device, 222, 322 Control program, 223 Processing information, 224 Tool database, 230 Check screen, 233, 235, 240 Display region, 250 Creation screen, 306 Fieldbus controller, 323 Processing program
Number | Date | Country | Kind |
---|---|---|---|
2021-023434 | Feb 2021 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/033293 | 9/10/2021 | WO |