program

The program addresses the challenge of generating NC programs for diverse control devices by receiving a signal specifying the control device and converting CL data into compatible NC codes, ensuring tailored and flexible machining operations.

JP2025094874APending Publication Date: 2025-06-25DMG MORI CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024065534
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-15
Publication Date
2025-06-25

AI Technical Summary

Technical Problem

Existing information processing apparatuses for generating NC programs for machine tools struggle to accommodate the varying NC codes required by different control device manufacturers, necessitating a solution to generate programs compatible with specific control devices.

Method used

A program that functions to receive a signal specifying the selection of a control device and generates an NC program from CL data based on the correspondence between the selected control device, CL data, and NC codes, accommodating different control devices.

Benefits of technology

Enables the generation of NC programs tailored to specific control devices of machine tools, enhancing compatibility and flexibility in machining operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025094874000001_ABST
    Figure 2025094874000001_ABST
Patent Text Reader

Abstract

To provide a program which can generate an NC program corresponding to a control unit of a machine tool.SOLUTION: A program generates an NC program used for a machine tool. The program makes a computer function as means for: receiving a signal for identifying selection of a control unit of the machine tool; and, on the basis of (a) a selected control unit 155 received in the means for receiving the signal which identifies the selection of the control unit of the machine tool and (b) a correspondence between the selected control unit 155 (b-1), CL data (b-2), and an NC code, generating the NC program from the CL data.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a program.

Background Art

[0002] For example, Japanese Patent No. 7301486 (Patent Document 1) discloses an information processing apparatus including a first conversion unit that converts a second NC program into CL data, an interpretation unit that interprets the CL data, a reception unit that receives an input of executable code for a machine tool, and a second conversion unit that converts the CL data into a first NC program including the executable code received by the reception unit based on the interpretation of the CL data.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] As disclosed in the above Patent Document 1, an information processing apparatus for generating an NC program used in a machine tool from CL data is known. In such an information processing apparatus, since the NC code to be replaced from the CL data differs depending on the type (manufacturer) of the control device, it is required to be able to generate an NC program corresponding to the control device provided in the machine tool.

[0005] An object of this invention is to provide a program capable of generating an NC program corresponding to the control device of a machine tool.

Means for Solving the Problems

[0006] The program according to the present invention is a program for generating an NC program used in a machine tool. The program causes a computer to function as means for receiving a signal specifying selection of a control device of the machine tool, and means for generating an NC program from CL data based on (a) the selected control device received by the means for receiving a signal specifying selection of a control device of the machine tool, (b) the correspondence between the selected control device and (b-1) CL data and (b-2) NC codes.

Advantages of the Invention

[0007] According to the present invention, it is possible to provide a program capable of generating an NC program corresponding to a control device of a machine tool.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Embodiments for Carrying Out the Invention

[0009] Embodiments of this invention will be described with reference to the drawings. In the drawings referred to below, the same or corresponding members are denoted by the same reference numerals.

[0010] FIG. 1 is a block diagram showing an information processing apparatus according to an embodiment of this invention. Referring to FIG. 1, the information processing apparatus 100 is an apparatus for generating an NC (Numerical Control) program used in a machine tool.

[0011] The information processing apparatus 100 receives CL (Cutter Location) data created by a CAD (Computer Aided Design) / CAM (Computer Aided Manufacturing) apparatus and generates an NC program from the CL data. The information processing apparatus 100 outputs the generated NC program to the machine tool.

[0012] The CL data includes information on the position of the tool (three-dimensional position and orientation of the tool), the spindle rotation speed, and cutting conditions such as the feed rate. The CL data may further include information regarding coolant discharge. In the machining step of the workpiece, the workpiece is machined by relatively moving the tool and the workpiece. The CL data further includes information regarding the coordinate system for relatively moving the tool and the workpiece in each machining step.

[0013] CL data is described, for example, in APT (Automatically Programmed Tools). APT is a programming language developed for numerical control of machine tools, and based on the shape of the machine parts to be manufactured, it can automatically determine the tool path and machining procedures. As a programming language for describing CL data, EXAPT (Extended subset of APT), in which the tool path determination function of APT is more precisely improved, may be used.

[0014] The NC programs used in machine tools vary depending on the type of control device (typically, the manufacturer of the control device) provided in the machine tool. The information processing device 100 is configured to be able to generate NC programs used in machine tools equipped with various control devices from the CL data.

[0015] The machine tool that uses the NC program generated by the information processing device 100 is not particularly limited. Such machine tools include machines for additive manufacturing (Additive Manufacturing) that process workpieces by adding materials, machines for subtractive manufacturing (Subtractive Manufacturing) that process workpieces by removing materials, or machines that process workpieces by irradiating light such as lasers. More specifically, lathes, ball mills, boring machines, milling machines, gear hobbing machines, grinding machines, multi-axis machining centers, laser processing machines, or additive manufacturing machines, etc., are numerically controlled based on the NC program and perform various processes such as turning, cutting, drilling, grinding, polishing, rolling, forging, bending, forming, microfabrication, or additive manufacturing on workpieces made of metal, wood, stone, or resin, etc. Furthermore, some machine tools have a measurement function and are configured to be able to measure the dimensions of workpieces using measuring instruments such as touch probes or cameras.

[0016] FIG. 2 is a front view showing an example of a machine tool. In FIG. 2, the internal structure of the machine tool is shown by seeing through the cover body (splash guard) that forms the appearance of the machine tool.

[0017] Referring to FIG. 2, the machine tool 200 is a composite machining machine equipped with a turning function for machining a workpiece by bringing a tool into contact with a rotating workpiece and a milling function for machining a workpiece by bringing a rotating tool into contact with the workpiece. The machine tool 200 is an NC (Numerically Controlled) machine tool in which various operations for workpiece machining are automated by numerical control by a computer and operates according to an NC program.

[0018] In this specification, an axis parallel to the left - right direction (width direction) of the machine tool 200 and extending in the horizontal direction is referred to as the "Z - axis", an axis parallel to the front - rear direction (depth direction) of the machine tool 200 and extending in the horizontal direction is referred to as the "Y - axis", and an axis extending in the vertical direction is referred to as the "X - axis". The right direction in FIG. 2 is referred to as the "+Z - axis direction", and the left direction is referred to as the "-Z - axis direction". The front direction of the paper surface in FIG. 2 is referred to as the "+Y - axis direction", and the back direction is referred to as the "-Y - axis direction". The +Y - axis direction corresponds to the front of the machine, and the -Y - axis direction corresponds to the rear of the machine. The upward direction is referred to as the "+X - axis direction", and the downward direction is referred to as the "-X - axis direction".

[0019] The machine tool 200 has a bed 236, a workpiece spindle 211, an opposed workpiece spindle 216, a tool spindle (upper tool rest) 221, and a tool rest (lower tool rest) 231.

[0020] The bed 236 is a base member for supporting the workpiece spindle 211, the opposed workpiece spindle 216, the tool spindle 221, the tool rest 231, etc., and is installed on the floor surface of a factory or the like. The bed 236 is formed of a metal such as cast iron.

[0021] The work spindle 211 and the opposed work spindle 216 are configured to hold a work. The work spindle 211 and the opposed work spindle 216 are provided opposite to each other in the Z-axis direction. The work spindle 211 is provided by a servo motor so as to be rotatable about a central axis 301 parallel to the Z-axis. The opposed work spindle 216 is provided by a servo motor so as to be rotatable about a central axis 302 parallel to the Z-axis. The work spindle 211 and the opposed work spindle 216 are respectively provided with a first chuck mechanism 213 and a second chuck mechanism 218 for detachably gripping the work.

[0022] The work spindle 211 is fixed on the bed 236. The opposed work spindle 216 is provided so as to be movable in the Z-axis direction by various feed mechanisms, guide mechanisms, servo motors, and the like.

[0023] The tool spindle 221 and the tool turret 231 are configured to hold a tool. The tool spindle 221 is provided above the tool turret 231. The tool spindle 221 is provided so as to be rotatable about a central axis 303 parallel to the X-axis in a reference posture described later. The tool spindle 221 is provided with a clamp mechanism (not shown) for detachably holding the tool.

[0024] The tool spindle 221 is further provided so as to be pivotable about a central axis 304 parallel to the Y-axis. The pivoting range of the tool spindle 221 is, for example, in the range of ±120° with reference to a reference posture (the posture shown in FIG. 2) in which the spindle end face 223 of the tool spindle 221 faces downward.

[0025] The tool spindle 221 is supported on the bed 236 by a column or the like (not shown). The tool spindle 221 is provided so as to be movable in the X-axis direction, Y-axis direction, and Z-axis direction by various feed mechanisms, guide mechanisms, servo motors, and the like provided on the column or the like.

[0026] The tool turret 231 is of a so-called turret type, and a plurality of tools are radially attached and perform indexing rotation.

[0027] More specifically, the tool rest 231 has a swivel part 232. The swivel part 232 is provided so as to be rotatable about a central axis 306 parallel to the Z-axis. Tool holders for holding tools are attached at positions spaced apart in the circumferential direction about the central axis 306. When the swivel part 232 rotates about the central axis 306, the tool held by the tool holder moves in the circumferential direction, and the tool used for workpiece machining is indexed.

[0028] The tool rest 231 is supported on the bed 236 by a saddle or the like (not shown). The tool rest 231 is provided so as to be movable in the Z-axis direction and the X-axis direction by various feed mechanisms, guide mechanisms, servo motors, etc. provided on the saddle or the like.

[0029] A rotary tool or a fixed tool may be held on each of the tool spindle 221 and the tool rest 231. The rotary tool is a tool for machining a workpiece while rotating, such as a drill, an end mill, or a reamer. The fixed tool is various cutting tools for machining a rotating workpiece. When a rotary tool is held on the tool rest 231, the tool rest 231 incorporates a motor that outputs rotation and a power transmission mechanism that transmits the rotation output from the motor to the rotary tool.

[0030] For each of the operating bodies of the workpiece spindle 211, the opposed workpiece spindle 216, the tool spindle 221, and the tool rest 231, there are coordinate axes that serve as references during various operations such as movement, rotation, or swiveling. For example, the coordinate axes that can serve as references during the movement of the tool spindle 221 are the X-axis, the Y-axis, and the Z-axis, the coordinate axis that can serve as a reference during the movement of the opposed workpiece spindle 216 is the Z-axis, and the coordinate axes that can serve as references during the movement of the tool rest 231 are the X-axis and the Z-axis. Also, the central axis 301 is the coordinate axis that serves as a reference during the rotation of the workpiece spindle 211, and is referred to as the "C-axis" in this specification. The central axis 304 is the coordinate axis that serves as a reference during the swiveling of the tool spindle 221, and is referred to as the "B-axis" in this specification.

[0031] The machine tool 200 further has a cover body (splash guard) 310. The cover body 310 forms the appearance of the machine tool 200 and partitions the working area 300. The working area 300 is a space where the workpiece is processed, and is sealed by the cover body 310 so that foreign matters such as chips or cutting oil accompanying the workpiece processing do not leak from the working area 300.

[0032] Although not shown in FIG. 2, around the workpiece spindle 211, there are provided an automatic tool changer (ATC: Automatic Tool Changer) for automatically exchanging the tool held by the tool spindle 221, and a tool magazine for storing the replacement tool held by the tool spindle 221.

[0033] Next, the information processing apparatus 100 in the present embodiment will be described. Referring to FIG. 1, each component of the information processing apparatus 100 is realized by hardware including an arithmetic unit such as a CPU (Central Processing Unit) and various computer processors, a storage device such as a memory or a storage, and a wired or wireless communication line connecting them, and software stored in the storage device and supplying processing instructions to the arithmetic unit. The computer program may be composed of a device driver, an operating system, various application programs located in upper layers thereof, or a library providing common functions to these programs. Each block described below indicates a block of a functional unit.

[0034] The information processing apparatus 100 has a CL data acquisition unit 111 and a program generation unit 112.

[0035] The CL data acquisition unit 111 acquires CL data from the outside. The CL data acquisition unit 111 outputs the acquired CL data to a storage unit 136 described later. The program generation unit 112 generates an NC program from the CL data. The program generation unit 112 outputs the generated NC program to the storage unit 136 described later.

[0036] The information processing apparatus 100 further includes a storage unit 136. The storage unit 136 stores various program modules. The functions of each unit are realized by the processor of the information processing apparatus 100 executing the various program modules.

[0037] The storage unit 136 further stores machine tool information 151, correspondence relationship information 152, acquired CL data 153, selected machine tool 154, selected control device 155, and generated NC program 156.

[0038] The machine tool information 151 relates to the machine specifications of the machine tool and includes the machine origin, machine model stroke length, axis configuration of the machine, and information on the numerical control device. The machine tool information 151 may further include information on the model number of the machine tool, option information (number of turrets, spindle diameter, servo, presence and type of chip conveyor, or presence and type of measuring device), available tool types (e.g., drill, end mill), and the number of pots and pot numbers in the tool magazine. The machine tool information 151 is created for each model of the machine tool.

[0039] In the present embodiment, as the machine tool information 151, machine tool information 151A, machine tool information 151B, machine tool information 151C, machine tool information 151D, and machine tool information 151E are stored in the storage unit 136. The machine tool information 151A, machine tool information 151B, machine tool information 151C, machine tool information 151D, and machine tool information 151E relate to the machine specifications of the machine tools of models A, B, C, D, and E, respectively.

[0040] The correspondence relationship information 152 relates to the correspondence relationship among the CL data, the control device, and the NC code. Since the NC code differs depending on the type (manufacturer) of the control device provided in the machine tool, in the correspondence relationship information 152, the correspondence between the CL data and the NC code is created for each type of the control device.

[0041] In the present embodiment, as the correspondence relationship information 152, correspondence relationship information 152a, correspondence relationship information 152b, and correspondence relationship information 152c are stored in the storage unit 136. The correspondence relationship information 152a relates to the correspondence relationship between the CL data and the NC code used in the control device of type Fa, the correspondence relationship information 152b relates to the correspondence relationship between the CL data and the NC code used in the control device of type Fb, and the correspondence relationship information 152c relates to the correspondence relationship between the CL data and the NC code used in the control device of type Fc.

[0042] The control device of type Fa, the control device of type Fb, and the control device of type Fc are manufactured by different control device manufacturers. For example, the control device of type Fa is manufactured by Fanuc Corporation, the control device of type Fb is manufactured by Siemens AG, and the control device of type Fc is manufactured by HEIDENHAIN Corporation.

[0043] The NC code may further vary depending on the category to which the machine tool belongs (e.g., lathe, machining center, multi-tasking machine). In this case, the correspondence relationship information 152 may relate to the correspondence relationship between the CL data, the control device, the category of the machine tool, and the NC code. In the correspondence relationship information 152, the correspondence between the CL data and the NC code is created for each combination of the type of the control device and the category of the machine tool. Also, the NC code may vary depending on the version of the control device even if the control devices are manufactured by the same manufacturer. In this case, in the correspondence relationship information 152, the correspondence between the CL data and the NC code is created for each version of the control device.

[0044] The acquired CL data 153 corresponds to the CL data input from the CL data acquisition unit 111. The selected machine tool 154 corresponds to the machine tool selected by the user through the model selection screen 142 described later. The selected control device 155 corresponds to the control device selected by the user through the model selection screen 142 described later. The generated NC program 156 corresponds to the NC program input from the program generation unit 112.

[0045] The information processing apparatus 100 further includes a user interface processing unit 131. The user interface processing unit 131 processes information input by the user via a user interface such as a display, a keyboard, a mouse, a touch sensor, or a touch panel integrating a display and a touch sensor.

[0046] FIG. 3 is a diagram showing a machine type selection screen. Referring to FIGS. 1 and 3, the information processing apparatus 100 has a GUI (Graphical User Interface) 141 as a user interface. A machine type selection screen 142 for a machine tool is displayed on the GUI 141.

[0047] Machine types A to E of machine tools are displayed on the machine type selection screen 142. Further, on the machine type selection screen 142, the names Sa to Se of the series of each machine type, the types Oa to Oe of the options provided in each machine type of the machine tool, and the types Fa to Fe of the control devices provided in each machine type of the machine tool are displayed. Machine tools of machine types A and B are equipped with a control device of type Fa, machine tools of machine types C and D are equipped with a control device of type Fb, and machine tools of machine type E are equipped with a control device of type Fc. The user operates the machine type selection screen 142 to select a machine tool that uses the NC program generated by the information processing apparatus 100 from among machine types A to E, and along with this selection, selects the control device provided in that machine tool.

[0048] When the user selects a machine tool and a control device via the GUI 141, the user interface processing unit 131 accepts the selection. The user interface processing unit 131 outputs the accepted selected machine tool 154 and selected control device 155 to the storage unit 136.

[0049] In the present embodiment, it is assumed that on the machine type selection screen 142, a machine tool of machine type A and a control device of type Fa are selected. The machine tool of machine type A corresponds to the machine tool 200 in FIG. 2.

[0050] Referring to FIG. 1, the user can further input various additional conditions in workpiece machining via the GUI 141.

[0051] As an example of the additional conditions in workpiece machining, there is a machining mode of the workpiece for optimizing machining accuracy and machining time. The user can select a predetermined machining mode from the following four machining modes via the GUI 141. (a) Time - priority mode: A mode that gives top priority to shortening the machining time. It is used when the required accuracy is low, such as in rough machining. (b) Intermediate mode: A mode that is in between the time - priority mode and the accuracy - priority mode. It is used for semi - finishing machining etc. where high accuracy and short time are required. (c) Accuracy - priority mode: A mode that gives priority to improving machining accuracy. It is used when machining accuracy and finish surface are required. (d) Ultra - accuracy - priority mode: A mode that gives even higher priority to machining accuracy than the accuracy - priority mode.

[0052] As another example of the additional conditions, there is the selection of the workpiece spindle. The user can select either the workpiece spindle 211 or the opposing workpiece spindle 216 in FIG. 2 as the workpiece spindle to be used in a predetermined machining step via the GUI 141.

[0053] Note that as an initial condition, the workpiece spindle 211 is set, and it may be possible for the user to set the opposing workpiece spindle 216 instead of the workpiece spindle 211 by operating the GUI 141.

[0054] When the user inputs additional conditions in workpiece machining via the GUI 141, the user interface processing unit 131 outputs the additional conditions to the program generation unit 112.

[0055] FIG. 4 is a table showing the correspondence between CL data and NC codes used in various control devices in a drill cycle (spot drilling). FIG. 5 is a table showing the correspondence between CL data and NC codes used in various control devices in a drill cycle (deep hole drilling).

[0056] Referring to FIGS. 1, 4, and 5, the program generation unit 112 generates an NC program from the acquired CL data 153 based on the selected control device 155 received by the user interface processing unit 131 and the correspondence information 152 showing the correspondence between the selected control device 155, CL data, and NC codes.

[0057] More specifically, the program generation unit 112 includes a conversion unit 117. The conversion unit 117 reads the selected control device 155 from the storage unit 136. The conversion unit 117 identifies a control device of type Fa as the control device selected by the user from the selected control device 155. The conversion unit 117 specifies the correspondence information 152a showing the correspondence between the CL data and the NC codes used in the control device of type Fa as the correspondence information 152 and reads this from the storage unit 136. The conversion unit 117 reads the acquired CL data 153 from the storage unit 136. The conversion unit 117 converts the acquired CL data 153 into an NC program according to the correspondence between the CL data and the NC codes used in the control device of type Fa shown in the correspondence information 152a.

[0058] As shown in FIGS. 4 and 5, the program generation unit 112 can generate an NC program used in a control device of type Fa manufactured by FANUC from the CL data described in APT.

[0059] Also, in the machine type selection screen 142 in FIG. 3, when a machine tool of machine type C or D is selected by the user and a control device of type Fb is selected, the conversion unit 117 converts the acquired CL data 153 into an NC program according to the correspondence between the CL data shown in the correspondence information 152b and the NC code used in the control device of type Fb. As shown in FIGS. 4 and 5, the program generation unit 112 can generate an NC program used in a control device of type Fb manufactured by Siemens from the CL data described in APT. Also, in the machine type selection screen 142 in FIG. 3, when a machine tool of machine type E is selected by the user and a control device of type Fc is selected, the conversion unit 117 converts the acquired CL data 153 into an NC program according to the correspondence between the CL data shown in the correspondence information 152c and the NC code used in the control device of type Fc. As shown in FIGS. 4 and 5, the program generation unit 112 can generate an NC program used in a control device of type Fc manufactured by Heidenhain from the CL data described in APT.

[0060] The information processing apparatus 100 in the present embodiment includes a user interface processing unit 131 that receives a selection of a control device of a machine tool, a storage unit 136 that stores the correspondence between CL data, a control device, and an NC code, and a program generation unit 112 that generates an NC program from the acquired CL data 153 based on (a) the selected control device 155 received by the user interface processing unit 131 and (b) the correspondence between the selected control device 155, (b-1) the CL data, and (b-2) the NC code.

[0061] With such a configuration, it becomes possible to generate an NC program corresponding to the control device of the machine tool.

[0062] Note that the model name of a machine tool may include a symbol indicating the type of control device provided in the machine tool. For example, on the model selection screen 142, model Aa, model Ab, and model Ac of the machine tool are displayed. Among the names of model Aa, the symbol "a" represents a control device manufactured by FANUC Corporation. Among the names of model Ab, the symbol "b" represents a control device manufactured by Siemens AG. Among the names of model Ac, the symbol "c" represents a control device manufactured by HEIDENHAIN. In this case, the type of the control device is not displayed on the model selection screen 142, and the user selects only the model of the machine tool.

[0063] When the model name of the machine tool includes a symbol indicating the type of the control device, the correspondence information 152 in FIG. 1 relates to the correspondence among the CL data, the machine tool, and the NC code. In the correspondence information 152 in FIG. 1, the correspondence between the CL data and the NC code is created for each model of the machine tool.

[0064] The information processing apparatus in this modification includes a user interface processing unit 131 that receives a selection of a machine tool, a storage unit 136 that stores the correspondence among the CL data, the machine tool, and the NC code, and a program generation unit 112 that generates an NC program from the CL data based on (a) the selected machine tool 154 received by the user interface processing unit 131 and (b) the correspondence among the selected machine tool 154, (b-1) the CL data, and (b-2) the NC code.

[0065] When the model name of the machine tool includes a symbol indicating the type of the control device, in this modification as well, it is possible to generate an NC program corresponding to the control device of the machine tool.

[0066] Referring to FIG. 1, the program generation unit 112 further generates an NC program from the CL data based on the machine tool information 151A.

[0067] More specifically, the conversion unit 117 reads out the selected machine tool 154 from the storage unit 136. The conversion unit 117 identifies, as the machine tool selected by the user, a machine tool of model A from the selected machine tool 154. The conversion unit 117 specifies the machine tool information 151A indicating the machine specifications of the machine tool of model A as the machine tool information 151, and reads this out from the storage unit 136.

[0068] Although the CL data includes information on the movement path of the tool in each machining step, it may not include information on the movement path of the tool during the transition from one machining step to another, and the movement path of the tool during ATC. On the other hand, depending on the type of machine tool, the axis configuration of moving bodies such as the work spindle and the tool spindle, the position of the machine origin, the automatic tool change position by ATC, or the types of tools that can be used are different. By referring to the machine tool information 151A, the conversion unit 117 recognizes the machine specifications peculiar to the machine tool of model A and generates an NC program according to the machine specifications.

[0069] In the case where the CL data includes information on the movement path of the tool during the transition from one machining step to another and the movement path of the tool during ATC, the conversion unit 117 generates an NC program that reflects the information on the movement path included in the CL data.

[0070] The program generation unit 112 further includes an additional condition reception unit 116. The additional condition reception unit 116 receives various additional conditions in workpiece machining input from the user interface processing unit 131. The conversion unit 117 converts the CL data into NC code that reflects the additional conditions received by the additional condition reception unit 116.

[0071] For example, in the control device of type Fa, "G332" is an NC code that is inserted into the NC program when the machining modes (a) to (d) described above are selected. When the user selects (a) the time priority mode via the GUI141, the conversion unit 117 inserts "G332R1" immediately before the cutting start code G01. When the user selects (b) the intermediate mode via the GUI141, the conversion unit 117 inserts "G332R2" immediately before the cutting start code G01. When the user selects (c) the accuracy priority mode via the GUI141, the conversion unit 117 inserts "G332R3" immediately before the cutting start code G01. When the user selects (d) the highest accuracy priority mode via the GUI141, the conversion unit 117 inserts "G332R4" immediately before the cutting start code G01.

[0072] Figure 6 is a diagram showing the machining steps of the workpiece in the simulation of the NC program. Figures 7 and 8 are diagrams showing the simulation screens of the NC program.

[0073] Referring to FIG. 1 and FIGS. 6 to 8, the information processing apparatus 100 further includes a simulation execution unit 113. The simulation execution unit 113 executes the simulation of the NC program generated by the program generation unit 112.

[0074] More specifically, the simulation execution unit 113 reads the generated NC program 156 from the storage unit 136. The simulation execution unit 113 executes the simulation of the generated NC program 156. As shown in FIGS. 7 and 8, a simulation screen 143 is displayed on the GUI141. The simulation execution unit 113 displays the simulation of the generated NC program 156 on the simulation screen 143.

[0075] As shown in FIG. 6, the NC program for which simulation is executed by the simulation execution unit 113 includes a machining step in which the tool T and the workpiece W relatively move with reference to the first coordinate system 401. The first coordinate system 401 is information included in the acquired CL data 153. The first coordinate system 401 is selected by the user when creating the CL data by the CAD / CAM device. The program generation unit 112 generates an NC program including a machining step in which the tool T and the workpiece W relatively move with reference to the first coordinate system 401 based on the acquired CL data 153.

[0076] More specifically, a cylindrical workpiece W is held by the workpiece spindle 211. In order to obtain the workpiece W having a regular hexagonal outer peripheral surface from the workpiece W, while fixing the workpiece spindle 211 around the C axis, the tool T is moved in the X - Y axis plane while being brought into contact with the outer peripheral surface of the workpiece W. At this time, the workpiece W and the tool T relatively move with reference to the first coordinate system 401 composed of the X - axis and Y - axis coordinate axes.

[0077] The simulation execution unit 113 determines whether or not a problem occurs in the simulation of the NC program.

[0078] The problem is various events that prevent the progress of workpiece machining, for example, interference of moving bodies, overtravel, or axis configuration mismatch described later. The moving body is an object that moves in the machining area with workpiece machining, for example, a tool spindle, a workpiece spindle, a tool post, or a table.

[0079] The simulation execution unit 113 includes an interference determination unit 121, an overtravel determination unit 122, and an axis configuration determination unit 124.

[0080] The interference determination unit 121 determines whether or not interference of a moving body occurs in the simulation of the NC program. When the interference determination unit 121 determines that interference of a moving body has occurred, it issues an alert for notifying the user of the interference of the moving body.

[0081] In the machining steps shown in FIGS. 6 to 8, the interference determination unit 121 determines that interference occurs between the tool spindle 221 that holds the tool T and the tool holder held by the tool rest 231 when the tool spindle 221 moves in the -X axis direction. As shown in FIG. 8, the interference determination unit 121 issues an alert to the user, such as by displaying the tool spindle 221 and the tool rest 231 in a specific color such as red.

[0082] The overtravel determination unit 122 determines whether an overtravel occurs in which the moving body moves beyond the movable region in the simulation of the NC program. When the overtravel determination unit 122 determines that an overtravel of the moving body has occurred, it issues an alert to notify the user of the overtravel of the moving body.

[0083] In the machining steps shown in FIGS. 6 to 8, the overtravel determination unit 122 determines that an overtravel occurs in which the tool spindle 221 that holds the tool T moves beyond the movable region St in the X axis direction by Δx when the tool spindle 221 moves in the -X axis direction. The interference determination unit 121 issues an alert to the user, such as by displaying the tool spindle 221 in a specific color such as red.

[0084] The axis configuration determination unit 124 determines whether a coordinate axis that does not constitute an axis configuration in which the moving body can operate is included in the first coordinate system 401 in the simulation of the NC program. When the axis configuration determination unit 124 determines that a coordinate axis that does not constitute an axis configuration in which the moving body can operate is included in the first coordinate system 401, it issues an alert to notify the user of the axis configuration mismatch of the moving body.

[0085] For example, the machine tool 200 in FIG. 2 has a tool rest 231 that can move in the Z-axis direction and the X-axis direction as an operating body. When the first coordinate system 401 used as a reference in the machining step by the tool held by the tool rest 231 includes the Y-axis that does not constitute the axis configuration in which the tool rest 231 can operate, the axis configuration determination unit 124 determines that an axis configuration mismatch has occurred. The interference determination unit 121 issues an alert to the user, such as by displaying the tool rest 231 in a specific color such as red.

[0086] Note that the means for alerting the user is not particularly limited. For example, it may be a display of a text notifying the interference of the tool spindle 221, the overtravel of the tool spindle 221, or the axis configuration mismatch of the operating body such as the tool rest 231 on the simulation screen 143.

[0087] FIG. 9 is a diagram showing a coordinate system selection screen. FIG. 10 is a diagram showing the machining steps of the workpiece in the resimulation of the NC program.

[0088] Referring to FIGS. 1, 9, and 10, when the simulation execution unit 113 determines that a problem has occurred in the machining step in which the tool T and the workpiece W move relative to each other based on the first coordinate system 401 by executing the simulation of the NC program, as an alternative to the first coordinate system 401, a second coordinate system 402 different from the combination of coordinate axes constituting the coordinate system is presented to the user.

[0089] More specifically, when the interference determination unit 121 determines that interference of the tool spindle 221 has occurred, when the overtravel determination unit 122 determines that overtravel of the tool spindle 221 has occurred, and / or when the axis configuration determination unit 124 determines that an axis configuration mismatch of the operating body has occurred, the simulation execution unit 113 causes the coordinate system selection screen 144 to be displayed on the GUI 141.

[0090] The simulation execution unit 113 further includes an alternative coordinate system presentation unit 123. The alternative coordinate system presentation unit 123 reads the machine tool information 151A from the storage unit 136. By referring to the machine tool information 151A, the alternative coordinate system presentation unit 123 identifies the second coordinate system 402 as a candidate for a coordinate system that replaces the first coordinate system 401 of the machining step shown in FIG. 6, and displays this on the coordinate system selection screen 144. The user can select the second coordinate system 402 by operating the coordinate system selection screen 144.

[0091] The first coordinate system 401 consists of a combination of the coordinate axes of the X-axis and the Y-axis, and the second coordinate system 402 consists of a combination of the C-axis and the X-axis. The combination of the coordinate axes constituting the first coordinate system 401 and the combination of the coordinate systems constituting the second coordinate system 402 are different from each other.

[0092] Note that the number of candidates for a coordinate system that replaces the first coordinate system 401 is not limited to one, and may be plural. The number of coordinate axes constituting a coordinate system is not limited to two, and may be three or more.

[0093] When the second coordinate system 402 is selected by the user via the GUI 141, the simulation execution unit 113 outputs the second coordinate system 402 to the program generation unit 112 as an additional condition for workpiece machining. The additional condition reception unit 116 receives the additional condition input from the simulation execution unit 113.

[0094] The program generation unit 112 regenerates the NC program from the acquired CL data 153. At this time, the conversion unit 117 converts the acquired CL data 153 into an NC program that reflects the additional condition received by the additional condition reception unit 116. The program generation unit 112 generates an NC program in which the coordinate system used as a reference in the machining step where a defect is found is replaced from the first coordinate system 401 to the second coordinate system 402.

[0095] The simulation execution unit 113 executes a resimulation of the NC program generated by the program generation unit 112. The simulation execution unit 113 determines whether a defect has been resolved in the resimulation of the NC program. When the defect is resolved by the resimulation, the simulation execution unit 113 outputs the NC program to the machine tool 200.

[0096] As shown in FIG. 10, in the resimulation of the NC program, when the second coordinate system 402 composed of the combination of the C-axis and the X-axis is applied, while moving the tool T in the X-axis direction (vertical direction) while contacting the outer peripheral surface of the workpiece W, the workpiece W is rotated about the C-axis (central axis 301). In this case, by reciprocating the tool spindle 221 in the +X-axis direction (upward direction) and the -X-axis direction (downward direction), one side of a regular hexagon is formed on the outer peripheral surface of the workpiece W, and by repeating the reciprocating movement of the tool spindle 221 in this X-axis direction, a regular hexagon is formed on the outer peripheral surface of the workpiece W. Thereby, since the movement width of the tool spindle 221 in the X-axis direction is within a limited range, interference and overtravel of the tool spindle 221 can be avoided.

[0097] Also, when the first coordinate system 401 that is a reference in the machining step by the tool held by the tool post 231 includes the Y-axis that does not constitute the axis configuration in which the tool post 231 can operate, and the axis configuration determination unit 124 determines that an axis configuration mismatch has occurred, the alternative coordinate system presentation unit 123 may present the user with a second coordinate system 402 including the C-axis and the X-axis and / or the Z-axis instead of the Y-axis.

[0098] The information processing apparatus 100 in the present embodiment includes a program generation unit 112 that generates an NC program from CL data, and a simulation execution unit 113 that executes a simulation of the NC program. When the first coordinate system 401 is selected, the program generation unit 112 generates an NC program that becomes a machining step of relative movement based on the first coordinate system 401. When the second coordinate system 402 is selected, the program generation unit 112 generates an NC program that becomes a machining step of relative movement based on the second coordinate system 402.

[0099] According to such a configuration, when the first coordinate system 401 is selected, an NC program that becomes a machining step of relative movement based on the first coordinate system 401 is generated. When the second coordinate system 402 is selected, an NC program that becomes a machining step of relative movement based on the second coordinate system 402 is generated. Therefore, it is possible to generate an NC program according to the result of the simulation.

[0100] Further, when it is determined by the simulation of the NC program that a problem occurs in the machining step in which the tool and the workpiece move relative to each other based on the first coordinate system 401, the second coordinate system 402 that replaces the first coordinate system 401 is presented to the user. Thereby, the user can attempt to eliminate the problem in the identified machining step by a simple procedure of only selecting the second coordinate system 402.

[0101] The machine tool includes an operating body that holds either the tool or the workpiece and operates in the machining area. The above problem may be an interference of the operating body in the machining area, an overtravel in which the operating body operates beyond the movable area, or an axis configuration mismatch in which a coordinate axis that does not form an axis configuration in which the operating body can operate is included in the first coordinate system.

[0102] Note that the axis configuration determination unit 124 in FIG. 1 can also be incorporated into the program generation unit 112 instead of the simulation execution unit 113.

[0103] FIG. 11 is a flowchart showing steps of generating an NC program in the information processing apparatus in FIG. 1.

[0104] Referring to FIGS. 1 and 11, the CL data acquisition unit 111 acquires CL data created by a CAD / CAM apparatus (S101). In this step, the CL data acquisition unit 111 outputs the acquired CL data to the storage unit 136 as acquired CL data 153.

[0105] The information processing apparatus 100 receives a machine tool and a control device to be used for the NC program to be generated (S102). In this step, the user causes the GUI 141 to display the model selection screen 142 in FIG. 3, and selects a machine tool and a control device on the model selection screen 142. The user interface processing unit 131 receives the selection of the machine tool and the control device, and outputs them to the storage unit 136 as a selected machine tool 154 and a selected control device 155, respectively.

[0106] Next, the program generation unit 112 identifies machine tool information 151 and correspondence information 152 (S103).

[0107] In this step, the program generation unit 112 reads the selected machine tool 154 and the selected control device 155 from the storage unit 136. Based on the selected machine tool 154, the program generation unit 112 identifies, as machine tool information 151, machine tool information 151A indicating the machine specifications of a machine tool of model A, and reads this from the storage unit 136. Based on the selected control device 155, the program generation unit 112 identifies, as correspondence information 152, correspondence information 152a indicating the correspondence between CL data and NC codes used in a control device of type Fa, and reads this from the storage unit 136.

[0108] Next, the NC program generation unit 112 generates an NC program (S104). In this step, the NC program generation unit 112 reads out the CL data 153 acquired from the storage unit 136. The NC program generation unit 112 generates an NC program from the CL data based on the machine tool information 151A and the correspondence information 152a. When additional conditions in workpiece machining are input via the GUI 141, the NC program generation unit 112 generates an NC program that reflects those additional conditions. The NC program generation unit 112 outputs the generated NC program to the storage unit 136 as the generated NC program 156.

[0109] Next, the simulation execution unit 113 executes a simulation of the NC program (S105).

[0110] In this step, the user causes the simulation screen 143 in FIG. 3 to be displayed on the GUI 141 and performs an operation to start the simulation on the simulation screen 143. The simulation execution unit 113 executes the simulation of the generated NC program 156 and displays the simulation on the simulation screen 143.

[0111] Next, the simulation execution unit 113 determines whether interference, overtravel, and / or axis configuration mismatch of the moving body occur (S106). In this step, the interference determination unit 121 determines whether interference of the moving body occurs, the overtravel determination unit 122 determines whether overtravel of the moving body occurs, and the axis configuration determination unit 124 determines whether an axis configuration mismatch of the moving body occurs.

[0112] Next, in step S106, if it is determined that interference, overtravel, and axis configuration mismatch of the moving body do not occur, the simulation execution unit 113 outputs the NC program to the machine tool.

[0113] Also, in step S106, if it is determined that interference, overtravel, and / or axis configuration mismatch of the moving body has occurred, the simulation execution unit 113 issues an alert to notify the user of the problem (S108). The simulation execution unit 113 presents an alternative coordinate system to the user (S109). In this step, the alternative coordinate system presentation unit 123 displays the alternative coordinate system on the coordinate system selection screen 144. The user selects the alternative coordinate system displayed on the coordinate system selection screen 144.

[0114] Next, the program generation unit 112 accepts the alternative coordinate system selected by the user as an additional condition (S110).

[0115] Next, returning to step S104, the program generation unit 112 regenerates the NC program (S104). At this time, the program generation unit 112 generates an NC program that reflects the alternative coordinate system selected by the user. Next, in step S105, the simulation execution unit 113 executes a re-simulation of the NC program, and in step S106, when it is determined that interference, overtravel, and axis configuration mismatch of the moving body do not occur, the NC program is output to the machine tool.

[0116] If, in step S106, it is determined that interference, overtravel, and / or axis configuration mismatch of the moving body occurs again, steps S108, S109, and S110 may be executed again. In this case, in step S109, an alternative coordinate system that further replaces the second coordinate system may be presented to the user.

[0117] The method for generating an NC program in this embodiment includes a step of accepting a selection of a control device of a machine tool (S102), and a step of generating an NC program from the acquired CL data 153 based on (a) the selected control device 155 accepted in the step of accepting a selection of a control device of a machine tool (S102), and (b) the correspondence between the selected control device 155, (b-1) CL data, and (b-2) NC code (S104).

[0118] Further, the control program in the present embodiment causes the information processing apparatus 100 to execute a step (S102) of receiving a signal specifying the selection of the control device of the machine tool, and a step (S104) of generating an NC program from the acquired CL data 153 based on (a) the selected control device 155 received in the step (S102) of receiving the selection of the control device of the machine tool, and (b) the correspondence between the selected control device 155, (b-1) CL data, and (b-2) NC code. When the selection of the control device of the machine tool is received by a device different from the information processing apparatus 100, the control program may cause the information processing apparatus to execute a step of receiving a signal for specifying the selection of the control device from the other device.

[0119] The program in the present embodiment is a program for generating an NC program used in a machine tool. The program causes a computer to function as means (131) for receiving a signal specifying the selection of the control device of the machine tool, and means (112) for generating an NC program from the CL data based on (a) the selected control device 155 received by the means (131) for receiving a signal specifying the selection of the control device of the machine tool, and (b) the correspondence between the selected control device 155, (b-1) CL data, and (b-2) NC code.

[0120] According to such a configuration, it is possible to generate an NC program corresponding to the control device of the machine tool.

[0121] The method for generating an NC program in the present embodiment includes a step (S105) of executing a simulation of an NC program that is a machining step of relative movement based on the first coordinate system 401, and a step (S104) of generating an NC program that is a machining step of relative movement based on the second coordinate system 402 when the second coordinate system 402 is selected after the step (S105) of executing the simulation.

[0122] Further, the control program in the present embodiment causes at least one information processing apparatus 100 to execute a step (S105) of simulating an NC program that becomes a machining step of relative movement based on the first coordinate system 401, and after the step (S105) of executing the simulation, when the second coordinate system 402 is selected, a step (S104) of generating an NC program that becomes a machining step of relative movement based on the second coordinate system 402. The information processing apparatus that the control program causes to execute the step of simulating the NC program and the information processing apparatus that the control program causes to execute the step of generating the NC program may be separate information processing apparatuses.

[0123] More specifically, the method for generating an NC program in the present embodiment includes a step (S104) of generating an NC program that becomes a machining step of relative movement based on the first coordinate system 401 from CL data including the selection of the first coordinate system 401, a step (S105) of executing a simulation of the NC program, and after the step (S105) of executing the simulation of the NC program, when the second coordinate system 402 is selected, a step (S104) of generating an NC program that becomes a machining step of relative movement based on the second coordinate system 402.

[0124] Further, the control program in the present embodiment causes at least one information processing apparatus 100 to generate an NC program that becomes a machining step of relative movement based on the first coordinate system 401 from CL data including the selection of the first coordinate system 401, execute a step (S105) of simulating the NC program, and after the step (S105) of executing the simulation of the NC program, when the second coordinate system 402 is selected, generate an NC program that becomes a machining step of relative movement based on the second coordinate system 402 in a step (S104).

[0125] According to such a configuration, it is possible to generate an NC program according to the result of the simulation.

[0126] FIG. 12 is a flowchart showing steps of generating an NC program in a modification of the information processing apparatus in FIG. 1. The same numbers are assigned to corresponding steps in the flowchart in FIG. 11 and the flowchart in FIG. 12.

[0127] Referring to FIG. 12, as described in this modification, the simulation execution unit 113 in FIG. 1 may execute a simulation of CL data.

[0128] In this case, first, the CL data acquisition unit 111 acquires CL data created by a CAD / CAM apparatus (S101).

[0129] Next, the simulation execution unit 113 executes a simulation of the CL data (S105). In this step, the simulation execution unit 113 reads the acquired CL data 153 from the storage unit 136. The simulation execution unit 113 executes a simulation of the acquired CL data 153 and displays the simulation on the simulation screen 143.

[0130] Next, the simulation execution unit 113 determines whether or not interference, overtravel, and / or axis configuration mismatch of the moving body occur (S106).

[0131] Next, if it is determined in step S106 that interference, overtravel, and axis configuration mismatch of the moving body do not occur, the process proceeds to steps S102 to S104 for generating an NC program from the CL data. Note that steps S102 and S103 may be executed at a stage prior to the execution of the simulation of the CL data. In step S104, the program generation unit 112 generates an NC program for a machining step of relative movement based on the first coordinate system 401. After step S104, the program generation unit 112 outputs the NC program to the machine tool.

[0132] Also, in step S106, when it is determined that interference, overtravel, and / or axis configuration mismatch of the moving body has occurred, the simulation execution unit 113 issues an alert for notifying the user of the problem (S108). The simulation execution unit 113 presents an alternative coordinate system to the user (S109). The user selects the second coordinate system 402 as the alternative coordinate system displayed on the coordinate system selection screen 144. The information processing apparatus 100 accepts the alternative coordinate system selected by the user (S110). The information processing apparatus 100 rewrites the CL data so that the alternative coordinate system selected by the user is reflected, and outputs the rewritten CL data to the simulation execution unit 113.

[0133] Next, returning to step S105, the simulation execution unit 113 executes a resimulation of the CL data. In step S106, when it is determined that interference, overtravel, and axis configuration mismatch of the moving body do not occur, the process proceeds to step S102. In step S104, the program generation unit 112 generates an NC program that becomes a machining step of relative movement based on the second coordinate system 402.

[0134] The information processing apparatus in this modification includes a program generation unit 112 that generates an NC program from CL data, and a simulation execution unit 113 that executes a simulation of the CL data. When the first coordinate system 401 is selected, the program generation unit 112 generates an NC program that becomes a machining step of relative movement based on the first coordinate system 401. When the second coordinate system 402 is selected, the program generation unit 112 generates an NC program that becomes a machining step of relative movement based on the second coordinate system 402.

[0135] Further, the method for generating an NC program in this modified example includes a step (S105) of executing a simulation of CL data that becomes a machining step of relative movement based on the first coordinate system 401, and a step (S104) of generating an NC program that becomes a machining step of relative movement based on the second coordinate system 402 when the second coordinate system 402 is selected after the step (S105) of executing the simulation.

[0136] Further, the control program in this modified example causes at least one information processing device to execute a step (S105) of executing a simulation of CL data that becomes a machining step of relative movement based on the first coordinate system 401, and a step (S104) of generating an NC program that becomes a machining step of relative movement based on the second coordinate system 402 when the second coordinate system 402 is selected after the step (S105) of executing the simulation.

[0137] The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is shown not by the above description but by the claims, and it is intended that all modifications within the meaning and scope equivalent to the claims be included.

Explanation of Reference Numerals

[0138] 100 Information processing apparatus, 111 Data acquisition unit, 112 Program generation unit, 113 Simulation execution unit, 116 Additional condition reception unit, 117 Conversion unit, 121 Interference determination unit, 122 Over-travel determination unit, 123 Alternative coordinate system presentation unit, 124 Axis configuration determination unit, 131 User interface processing unit, 136 Memory unit, 142 Machine type selection screen, 143 Simulation screen, 144 Coordinate system selection screen, 151, 151A, 151B, 151C, 151D Machine tool information, 152, 152a, 152b, 152c Corresponding relationship information, 200 Machine tool, 211 Work spindle, 213 First chuck mechanism, 216 Opposing work spindle, 218 Second chuck mechanism, 221 Tool spindle, 223 Spindle end face, 231 Tool rest, 232 Swivel unit, 236 Bed, 300 Working area, 301, 302, 303, 304, 306 Central axis, 310 Cover body, 401 First coordinate system, 402 Second coordinate system.

Claims

[Claim 1] A program for generating an NC program for use in a machine tool, comprising: means for receiving a signal specifying a selection of the machine tool controller; A program that functions as a means for generating an NC program from CL data based on (a) a selection control device received by a means for receiving a signal specifying the selection of a control device of the machine tool, and (b) a correspondence between the selection control device, (b-1) CL data, and (b-2) NC code.

Citation Information

Patent Citations

  • Information processing device and program

    JP7301486B1