Machine tool controller, controller control program, source code correction device, and source code correction program

JP2025021639APending Publication Date: 2025-02-14OMRON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023125482
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-01
Publication Date
2025-02-14

AI Technical Summary

Benefits of technology

【0019】 本発明により、NC指令コードが規定する動作を、接続された工作機械が有する構成や能力に応じて適応的に実行させることができる工作機械コントローラ、およびそのような工作機械コントローラで用いられるソースコードを修正するためのソースコード修正装置等を提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025021639000001_ABST
    Figure 2025021639000001_ABST
Patent Text Reader

Abstract

To provide a machine tool controller that can adaptively execute operation specified by NC command codes in accordance with the configuration and capabilities of a connected machine tool.SOLUTION: A machine tool controller includes: a storage unit for storing source codes in which at least one of a drive command for each actuator equipped in a specific machine tool so that the specific machine tool executes machining operation specified by a specific NC command code and a motion command for a moving body that is operated by an actuator is described with an execution procedure and which are created in accordance with respective combinations of NC command codes set as an acceptance object and a machine tool set as a control object; a selection unit for selecting from the storage unit a source code corresponding to a combination of an NC command code to be executed and information regarding a machine tool that causes machining operation to be executed; and a generation unit that generates a control signal according to the description of the source code selected by the selection unit.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a machine tool controller, a controller control program, a source code correction device, and a source code correction program. [Background technology]

[0002] In metal processing lines that consist of multiple processes, multiple types of machine tools are often arranged and used according to the processing purpose, for example, a lathe is used in the cutting process and a machining center is used in the drilling process. Previously, each machine tool was controlled by a dedicated controller, but recently there has been a move toward systematization in which such multiple types of machine tools are controlled by a common controller. The common controller interprets commands given by standardized NC command codes and controls each machine tool.

[0003] When replacing a specific machine tool in such a systemized machining line, or when reconfiguring an existing machining line to create a new system, the new machine tool may not be operated with the NC command code that was used up until that point. In other words, the machine tool incorporated into the system may be of a different type or manufacturer than the previous system, and the existing NC command code may not be applicable. In addition, while a CAD / CAM system generates standard NC command codes, the machine tool that receives the control may have specifications that differ from the standard or a unique device configuration, making it impossible to execute the intended control.

[0004] Therefore, in order to appropriately control multiple machine tools with different specifications, technologies have been developed that prepare in advance a conversion table for converting standard NC command codes into NC command codes for operating specific machine tools (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Publication No. 10-320027 Summary of the Invention [Problem to be solved by the invention]

[0006] NC command codes express the operations to be executed by the machine tool to be controlled, mainly with simple arguments such as target coordinates and movement commands. When receiving an NC command code designated as the execution target and making a specific machine tool execute the operations specified by that NC command code, adaptive control according to the configuration and capabilities of the machine tool is no longer possible by converting the NC command code, even if unique codes are added or arguments are increased.

[0007] The present invention has been made to solve such problems, and provides a machine tool controller that can adaptively execute operations specified by NC command codes in accordance with the configuration and capabilities of a connected machine tool, and a source code modification device for modifying source code used in such a machine tool controller. [Means for solving the problem]

[0008] A machine tool controller in a first aspect of the present invention comprises a storage unit in which source codes created in accordance with each combination of an NC command code set as an acceptance target and a machine tool set as an object to be controlled are stored, the source codes describing, along with execution procedures, at least one of drive commands for each actuator equipped on a specific machine tool and operation commands for an operating body operated by the actuator so as to perform a machining operation specified by a specific NC command code on the specific machine tool; a selection unit which selects from the storage unit a source code corresponding to a combination of the NC command code to be executed and information regarding the machine tool to perform the machining operation; a generation unit which generates a control signal in accordance with the description of the source code selected by the selection unit; and a transmission unit which transmits the control signal generated by the generation unit to the machine tool to perform the machining operation.

[0009] With such a machine tool controller, the machine tool can be controlled using source code created according to the machine tool to perform machining operations, thereby enabling appropriate machining to be performed according to the configuration and capabilities of the machine tool.

[0010] The above-mentioned machine tool controller may include an update unit that accepts and updates the source code stored in the storage unit by a user. By including such an update unit, it is possible to realize machining operations adjusted to meet the needs of the user, not just faithfully reproducing the machining operations defined by the NC command code. In this case, the update unit may allow a modification to delete at least a part of the machining operations defined by the NC command code. Also, it may allow a modification to add a machining operation different from the machining operations defined by the NC command code. By allowing such modifications, it is possible to realize machining operations according to the characteristics of the machine tool and the circumstances of the object to be machined.

[0011] In the above machine tool controller, the source code may specify control for each control command value in the coordinate system of either the machine tool or the moving body in units smaller than the NC command code. Also, it may specify control for each control command value for each actuator in units smaller than the NC command code. If the source code is written in this way, it is possible to execute machining operations that are more in line with the operator's intentions than machining operations specified by the NC command code.

[0012] In the above-mentioned machine tool controller, the selection unit may issue a warning when the source code to be selected is not stored in the storage unit. If such a warning is issued, the operator can take measures to execute the machining operation as soon as possible.

[0013] In addition, a controller control program in a second aspect of the present invention is a controller control program for controlling a machine tool controller having a storage unit in which source codes created corresponding to each combination of NC command codes set as targets to be received and machine tools set as targets to be controlled, in which at least one of drive commands for each actuator equipped on a specific machine tool and operation commands for moving bodies operated by the actuators are described with execution procedures so that a machining operation specified by a specific NC command code is performed on the specific machine tool, and causes a computer to execute a reception step of receiving the NC command code to be executed from an external device, an acquisition step of acquiring information about the machine tool to perform the machining operation, a selection step of selecting from the storage unit a source code corresponding to the combination of the NC command code received in the reception step and the information acquired in the acquisition step, a generation step of generating a control signal in accordance with the description of the source code selected in the selection step, and a transmission step of transmitting the control signal generated in the generation step to the machine tool to perform the machining operation.

[0014] In the second aspect, like the first aspect, it is possible to perform appropriate machining according to the configuration and capabilities of the machine tool.

[0015] In addition, a source code correction device in a third aspect of the present invention includes a receiving unit that receives from a machine tool controller source code in which at least one of drive commands for each actuator equipped on a specific machine tool and operation commands for an operating body operated by the actuator, accompanied by an execution procedure, is described so that a machining operation specified by a specific NC command code is executed on a specific machine tool, a display control unit that displays the source code on a display unit, a receiving unit that accepts modifications to the source code by a user, a judgment unit that judges whether the modified source code is executable on the specific machine tool, and a transmitting unit that transmits the source code that the judgment unit judges to be executable to the machine tool controller.

[0016] Such a source code modification device allows the user to modify the source code stored in the machine tool controller, thereby enabling machining operations to be realized according to the characteristics of the machine tool and the circumstances of the object to be machined.

[0017] In addition, a source code correction program in a fourth aspect of the present invention causes a computer to execute a receiving step of receiving from a machine tool controller source code described with an execution procedure for at least one of drive commands for each actuator equipped on a specific machine tool and operation commands for an operating body operated by the actuator so as to execute a machining operation specified by a specific NC command code on a specific machine tool, a display step of displaying the source code on a display unit, an acceptance step of accepting modifications to the source code by a user, a determination step of determining whether the modified source code is executable on a specific machine tool, and a transmission step of transmitting the source code determined in the determination step to be executable to the machine tool controller.

[0018] In the fourth aspect, like the third aspect, it is possible to realize a machining operation according to the characteristics of the machine tool and the circumstances of the object to be machined. Effect of the Invention

[0019] The present invention makes it possible to provide a machine tool controller that can adaptively execute operations specified by NC command codes in accordance with the configuration and capabilities of a connected machine tool, and a source code modification device for modifying source code used in such a machine tool controller. [Brief description of the drawings]

[0020] [Figure 1] FIG. 2 is a conceptual diagram showing a situation in which the controller according to the present embodiment is used. [Diagram 2] FIG. 2 is a hardware configuration diagram of a controller. [Diagram 3] 1A to 1C are diagrams showing the procedure for thread cutting on a lathe. [Figure 4] 13 is a diagram showing an example of a source code corresponding to a G code relating to thread cutting when a control object is a lathe A. FIG. [Diagram 5] 1A to 1C are diagrams illustrating a procedure for thread cutting in a machining center. [Figure 6] 13 is a diagram showing an example of a source code corresponding to a G code relating to thread cutting when a controlled object is a machining center A. FIG. [Figure 7] FIG. 4 is a flowchart showing a flow of processing executed by a calculation unit of a controller. [Figure 8] FIG. 2 is a diagram showing the hardware configuration of an editing PC. [Figure 9] FIG. 11 is a flowchart showing the flow of processing executed by a calculation unit of the editing PC. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] The present invention will be described below through embodiments of the invention, but the invention according to the claims is not limited to the following embodiments. Furthermore, not all of the configurations described in the embodiments are necessarily essential as means for solving the problems.

[0022] 1 is a conceptual diagram showing a situation in which a controller 100 according to this embodiment is used. The controller 100 according to this embodiment is a machine tool controller that controls the machining operation of a machine tool 300 by transmitting a control signal to the machine tool 300 that machines a workpiece.

[0023] The controller 100 receives an NC command code to be executed from an external device, a CAD system 200. The external device is not limited to the CAD system 200, but may be any device that issues an NC command code to be executed, such as a CAM system. The controller 100 and the CAD system 200 are connected to each other, for example, via an intranet.

[0024] The controller 100 is connected to the machine tool 300 via a control network such as EtherCAT (registered trademark). The controller 100 acquires machine tool information including, for example, a model ID from the machine tool 300. The controller 100, which will be described in detail later, identifies the machine tool 300 that is to execute a machining operation from the acquired machine tool information, and selects a source code corresponding to an NC command code received from the CAD system 200 from a source code group for the machine tool 300. Then, the controller 100 generates a control signal according to the description of the selected source code and transmits it to the machine tool 300 via the control network, thereby controlling the machining operation. The source code will be described in detail later.

[0025] The source code stored in the controller 100 can be modified by the editing PC 400. That is, the editing PC 400 functions as a source code modifying device for allowing a user to modify the source code. The controller 100 and the editing PC 400 are connected to each other, for example, via an intranet. As will be described in detail later, the user displays the target source code on a display monitor 430 and modifies the source code by operating an input device 440 such as a keyboard or a mouse. The modified source code is returned to the controller 100 and stored therein.

[0026] 2 is a hardware configuration diagram of the controller 100. The controller 100 is mainly composed of a calculation unit 110, a storage unit 120, and a transmission / reception unit 130. The calculation unit 110 is a processor (CPU: Central Processing Unit) that controls the controller 100 and executes programs. The processor may be configured to cooperate with an arithmetic processing chip such as an ASIC (Application Specific Integrated Circuit). The calculation unit 110 can read and execute a controller control program stored in a non-volatile memory (not shown).

[0027] The storage unit 120 is a non-volatile storage medium, and is configured, for example, by an HDD (Hard Disk Drive). The storage unit 120 stores source codes created according to each combination of an NC command code set as an object to be received and a machine tool set as an object to be controlled. Specifically, for a machine tool A that can be set as an object to be controlled, a source code group for controlling the machine tool A, which corresponds to each NC command code that can instruct a machining operation to the machine tool A, is prepared and stored in advance. Similarly, for machine tools B, C, etc., a source code group corresponding to each NC command code that can instruct a machining operation to each of the machine tools is prepared and stored in advance. Note that, in the figure, a data structure in which a source code group is associated with each machine tool that can be set as an object to be controlled is shown, but the data structure is not limited to this, and may be, for example, a data structure in which a source code corresponding to each machine tool is associated with each NC command code.

[0028] The transmitting / receiving unit 130 includes a communication unit, and transmits and receives control signals, information, and the like between the CAD system 200, the machine tool 300, and the editing PC 400 via an intranet or a control network. The transmitting / receiving unit 130 can also transmit and receive control signals, information, and the like between other external devices. For example, it can also be used when an update module for the controller control program is retrieved from an external server.

[0029] The calculation unit 110 also serves as a functional calculation unit that executes various calculations in response to processing instructed by the controller control program. The calculation unit 110 can function as a reception unit 111, an acquisition unit 112, a selection unit 113, a generation unit 114, and an update unit 115. The reception unit 111 receives an NC command code to be executed from the CAD system 200. The acquisition unit 112 acquires information related to the machine tool 300 that is to execute a machining operation. The selection unit 113 selects, from the storage unit 120, a source code that corresponds to a combination of the NC command code received by the reception unit 111 and the information related to the machine tool 300 acquired by the acquisition unit 112.

[0030] Generation unit 114 generates a control signal for controlling machine tool 300 in accordance with the description of the source code selected by selection unit 113. The generated control signal is transmitted to the machine tool by transmission / reception unit 130. Update unit 115 accepts and updates the source code stored in storage unit 120 by a user. The source code to be modified is transmitted back and forth between editing PC 400 and the source code to be modified via transmission / reception unit 130.

[0031] The controller 100 in this embodiment is not a dedicated controller for controlling a specific machine tool, but a controller capable of controlling a plurality of machine tools of different types and manufacturers. In other words, the controller 100 can connect to and control various machine tools as long as the machine tools satisfy certain conditions, such as being equipped with a communication unit conforming to a common communication standard.

[0032] In the past, in order to enable one controller to control various machine tools with different specifications, it was necessary to convert the received standard NC command code into individual NC command code for operating each machine tool.However, since NC command codes mainly express the operations to be executed by machine tools using simple arguments such as target coordinates and movement commands, it is becoming increasingly difficult to adaptively control a machine tool according to its configuration and capabilities by simply converting the NC command code.

[0033] Therefore, in this embodiment, the controller 100 controls the machine tool 300 based on a source code that can generate adaptive control commands according to the configuration and capabilities of the connected machine tool 300, while also using NC command codes or instead of NC command codes.

[0034] Each source code describes at least one of drive commands for each actuator included in machine tool 300 and motion commands for moving bodies operated by the actuators, along with an execution procedure, so that machine tool 300 executes a machining operation defined by a specific NC command code. The drive commands for each actuator may include commands for the amount of rotation, the rotation speed, and the timing of rotation if the actuator is a rotational actuator. If the actuator is a translational actuator, they may include commands for the amount of displacement, the displacement speed, and the timing of displacement. The moving bodies may include a workpiece to be machined, a jig that holds the workpiece, and a tool driven by the actuator. The motion commands may include commands for the amount of movement, the movement speed, the target position, and the timing of movement.

[0035] The source code may specify control for each control command value in the coordinate system of either the machine tool 300 or the operating body in a unit smaller than the specific NC command code. For example, the source code may be written to specify axis control mode conversion between speed control and position control in the coordinate system of the machine tool, switching between enabled and disabled axis synchronization, and the like. The source code may specify control for each control command value for each actuator provided in the machine tool 300 in a unit smaller than the specific NC command code. For example, the source code may be written to add a correction amount for each actuator to correct static deviation of the controlled object of the actuator (specifically, deviation or curvature due to the meshing of physical structures on the device, etc.).

[0036] The following describes, as an example, thread cutting, in which instructions can be given by the same NC command code, in two cases: when the machine tool 300 is a lathe, and when it is a machining center.

[0037] Fig. 3 is a diagram showing the procedure of thread cutting on a lathe. Fig. 3 shows three states in which the thread cutting process progresses from the left, and each state is shown by a cutting tool 301 (specifically, for example, a cutting tool) of a machine tool 300 serving as a lathe and a workpiece 910 that is an object to be machined. Note that a coordinate system is set for the machine tool 300 as shown in the figure, and the machine tool 300 forms a thread on the outer peripheral surface of a rod-shaped workpiece 910 extending in the z-axis direction.

[0038] In lathe processing, the workpiece 910 is rotated around the z-axis. The cutting tool 301 is first moved to the position of the first thread to be formed (left diagram in FIG. 3). Then, the cutting tool 301 is displaced in the z-axis direction to form the thread (middle diagram in FIG. 3). After the thread is formed to the end of the workpiece 910, the cutting tool 301 is moved in the x-direction to separate it from the workpiece 910 (right diagram in FIG. 3).

[0039] 4 is a diagram showing an example of source code corresponding to a G-code relating to thread cutting when machine tool 300 controlled by controller 100 is lathe A. Here, the G-code is an example of an NC command code.

[0040] In thread cutting of the workpiece 910, the G code to be executed is expressed as "G33: T1, T2, T3, T4, F, Q." T1, T2, and T3 represent the end points of the thread, T4 represents the end point of the thread rotation, F represents the lead in the long axis direction, i.e., the interval between the threads, and Q represents the thread cutting start shift angle, and in reality, specific numerical values ​​are given to these.

[0041] In order to make the lathe A, which is the machine tool 300, perform an appropriate thread cutting operation when such a G-code is received, a dedicated source code for the lathe A as the machine tool 300 to be controlled is prepared in the storage unit 120. That is, the G-code to be received (G33 in the illustrated example) and information on the machine tool to be controlled (lathe A in the illustrated example) are associated with the source code as, for example, tag information and stored in the storage unit 120.

[0042] The illustrated example of source code will now be specifically described. abs linear sync...Enables synchronization of the z-axis and spindle. X=T1, Y=T2, Z=Z0, S=S0+Q, Vel=F*UnitScale...This command sets the initial position of the cutting tool 301 and realizes the state shown in the left diagram in Figure 3. Here, X, Y, and Z represent the position coordinates of the tool. Additionally, S is a parameter indicating the rotation angle of the workpiece 910 on the spindle. Vel represents the speed at which the cutting tool 301 moves in the z-axis direction. UnitScale is a coefficient for converting the thread spacing F into speed in the z-axis direction. This command issues control commands to the three actuators that control the x-axis, y-axis, and z-axis of the cutting tool 301 and the actuator that controls the rotation of the workpiece 910. X=T1, Y=T2, Z=T3, S=S0+T4, Vel=F*UnitScale...This command executes thread cutting to the end point of the thread cutting to achieve the state shown in the middle of Figure 3. The cutting tool 301 does not move on the x-axis or y-axis, but moves on the z-axis, and the spindle (the rotation axis of the workpiece 910) moves in sync with this. This command issues a control command to the actuators that control the x-axis and y-axis of the cutting tool 301 so that they do not move, and issues a synchronous control command to the actuator that controls the z-axis and the actuator that controls the rotation of the workpiece 910. abs linear...Desynchronizes the z-axis and spindle. Sv=CON...The spindle maintains its speed. IF(OPT==1)...OPT assumes a setting parameter. Even with one G code, the operation can be switched by setting the parameter. X=X0+OFFSET, Vel=MAX...This command realizes the state shown on the right side of Fig. 3. When OPT is set to 1, the cutting tool 301 exits at the maximum speed in the x-axis direction. ELSE X=X0+OFFSET, Vel=F...This command realizes the state shown on the right side of Figure 3. If OPT is set to a value other than 1, the cutting tool 301 exits while maintaining its speed in the x-axis direction.

[0043] Fig. 5 is a diagram showing the procedure of thread cutting in a machining center. Fig. 5 shows three states in which the thread cutting process progresses from the left, and each state is shown by cutting tool 302 of machine tool 300 as a machining center and workpiece 920, which is the object to be machined. Note that a coordinate system is set for machine tool 300 as shown in the figure, and machine tool 300 forms a thread on the inner peripheral surface of a pilot hole provided in workpiece 920, which is a plate material having a thickness in the z-axis direction.

[0044] In machining at a machining center, a cutting tool 302 (specifically, for example, a tap) is rotated around the z-axis. The cutting tool 302 is first moved to the position of the first thread to be formed (left diagram in FIG. 5). Then, the cutting tool 302 is rotated around the z-axis while being displaced in the negative direction of the z-axis to form the thread (middle diagram in FIG. 5). The workpiece 920 is fixed to the stage of the machine tool 300. After the thread is formed up to the open end of the pilot hole, the cutting tool 302 is moved along the surface of the formed thread by displacing it in the positive direction of the z-axis while rotating it in the reverse direction around the z-axis (right diagram in FIG. 5), returning it to the position of the first thread, and then separated from the workpiece 920.

[0045] FIG. 6 is a diagram showing an example of source code corresponding to a G-code relating to thread cutting when machine tool 300, which is the control target of controller 100, is machining center A.

[0046] In thread cutting of workpiece 920, the G code to be executed is expressed as "G33: T1, T2, T3, T4, F, Q." In other words, it is the same as when thread cutting is performed on workpiece 910 by lathe A. T1, T2, and T3 represent the end points of the thread, T4 represents the end point of the thread rotation, F represents the lead in the long axis direction, i.e., the interval between the threads, and Q represents the thread cutting start shift angle, and in reality, specific numerical values ​​are given.

[0047] In order to make the machine tool 300, which is the machining center A, perform an appropriate thread cutting operation when such a G-code is received, a dedicated source code for the machining center A as the machine tool 300 to be controlled is prepared in the storage unit 120. That is, the G-code to be received (G33 in the illustrated example) and information on the machine tool to be controlled (machining center A in the illustrated example) are associated with the source code as, for example, tag information and stored in the storage unit 120.

[0048] The illustrated example of source code will now be specifically described. abs linear sync...Enables synchronization of the z-axis and spindle. X=T1, Y=T2, Z=Z0, S=S0+Q, Vel=F*UnitScale...This command sets the initial position of the cutting tool 302, and realizes the state shown in the left diagram of FIG. 5. Here, X, Y, and Z represent the position coordinates of the tool. Also, unlike a lathe that rotates the workpiece 910, in a machining center that rotates the cutting tool 302 with a spindle, S is a parameter that indicates the rotation angle of the cutting tool 302. Vel represents the speed at which the cutting tool 302 moves in the z-axis direction. UnitScale is a coefficient that converts the thread interval F into a speed in the z-axis direction. That is, with this description, the cutting tool 302 is moved to (X, Y, Z)=(T1, T2, Z0), and the actuator that controls the position (X, Y, Z) of the cutting tool 302 and the actuator of the spindle that controls the rotation angle are driven so that the angle S becomes S0+Q, and they are moved at a speed F. X=T1, Y=T2, Z=T3, S=S0+T4, Vel=F*UnitScale...This command executes thread cutting to the end point of the thread cutting. The center diagram in Figure 5 shows the intermediate state. The cutting tool 302 is moved in the z-axis direction to (X, Y, Z)=(X0, Y0, T3), and the actuator controlling the z-axis of the cutting tool 302 and the actuator of the spindle controlling the rotation angle are driven to move it in the z-axis direction at a speed F so that the angle S becomes S0+T4. Z=Z0, S=S0+Q, Vel=F...The cutting tool 302 is rotated in the reverse direction while being returned to the initial position so as to trace the surface of the formed thread (right diagram in FIG. 5). Specifically, the actuator controlling the position (X, Y, Z) of the cutting tool 302 and the actuator of the spindle controlling the rotation angle are driven so that the z coordinate of the cutting tool 302 changes from T3 to Z0 and the angle S changes from S0+T4 to S0+Q. Note that the z axis and the spindle are not released from synchronization in order to smoothly return along the thread.

[0049] As described above, when the machine tool 300 connected to the controller 100 is the lathe A and receives the G-code of G33 to be executed from the CAD system 200, the controller 100 selects a source code corresponding to the G-code of G33, which is to be controlled by the lathe A, from among the source codes stored in the storage unit 120, and causes the lathe A to execute a machining operation according to the description. Similarly, when the machine tool 300 connected to the controller 100 is the machining center A and receives the G-code of G33 to be executed from the CAD system 200, the controller 100 selects a source code corresponding to the G-code of G33, which is to be controlled by the machining center A, from among the source codes stored in the storage unit 120, and causes the machining center A to execute a machining operation according to the description.

[0050] Such a process flow will be described with a focus on the processing procedure executed by the calculation unit 110 of the controller 100. Fig. 7 is a flow diagram showing the process flow executed by the calculation unit 110 of the controller 100. Specifically, it shows a series of processes in which the controller 100 causes the machine tool 300 to execute a machining operation corresponding to one G-code, and the flow starts from the point in time when the G-code is acquired.

[0051] In step S101, the reception unit 111 receives a G-code to be executed from the CAD system 200. In step S102, the acquisition unit 112 acquires information on the machine tool 300 that is to execute the machining operation. Note that steps S101 and S102 may be performed in reverse order. The reception unit 111 may acquire a series of G-codes related to the machining operations to be executed by the machine tool 300 collectively, instead of acquiring the G-codes to be executed one by one from the CAD system 200. In addition, the external device that acquires the G-codes as described above is not limited to the CAD system 200, and may be a CAM system or a data server that manages machining information. In addition, the acquisition unit 112 is not limited to acquiring information on the machine tool 300 in conjunction with the acquisition of one G-code, and may acquire the information only once at the start of a series of machining operations to be executed by the machine tool 300. In addition, the information may be acquired at the time when the machine tool 300 is connected to the controller 100. Furthermore, acquisition unit 112 is not limited to acquiring the information from machine tool 300, and may acquire the information from, for example, a management server that performs integrated management of the entire system.

[0052] In step S103, the selection unit 113 selects from the storage unit 120 a source code corresponding to the combination of the G-code acquired in step S101 and the information acquired in step S102. In step S104, if the selection unit 113 determines that no corresponding source code exists in the storage unit 120, the selection unit 113 proceeds to step S105. If the selection unit 113 determines that the corresponding source code exists and the source code has been selected, the selection unit 113 proceeds to step S106.

[0053] When the process proceeds to step S105, the selection unit 113 issues a warning indicating that no corresponding source code was found. The warning may be, for example, an alarm sound from a speaker or a blinking LED. Thereafter, the process ends without causing the machine tool 300 to perform a machining operation. At this time, the warning may be continued and the machine may enter a standby state to accept instructions from the user.

[0054] When the process proceeds to step S106, generation unit 114 receives the source code from selection unit 113, and generates control signals in sequence according to the descriptions in the source code. Transmitting / receiving unit 130 transmits the control signals to machine tool 300. As a result, machine tool 300 performs a machining operation on a workpiece according to the control signals.

[0055] In step S108, generation unit 114 judges whether or not all control signals for the machining operation described in the source code have been transmitted to machine tool 300. If it is determined that there are control signals that have not been transmitted, the process returns to step S106. If it is determined that all control signals have been transmitted, the process ends.

[0056] In this way, controller 100 does not generate a control signal for a machining operation corresponding to a G-code specified by an external device as the G-code itself to control machine tool 300, but replaces the G-code with a corresponding source code and controls machine tool 300 based on the source code. Therefore, machine tool 300 can be controlled using a source code prepared for machine tool 300, so that appropriate machining can be performed according to the configuration and capabilities of the machine tool 300.

[0057] Next, source code modification will be described. A user can modify source code stored in the storage unit 120 of the controller 100 by using an editing PC 400. Fig. 8 is a hardware configuration diagram of the editing PC 400. The editing PC 400 is mainly composed of a calculation unit 410 and a transmission / reception unit 420. As described above, the display monitor 430 and the input device 440 are connected to the editing PC 400.

[0058] The calculation unit 410 is a processor (CPU: Central Processing Unit) that controls the editing PC 400 and executes programs. The processor may be configured to cooperate with a calculation processing chip such as an ASIC (Application Specific Integrated Circuit). The calculation unit 410 can read and execute a source code correction program stored in a non-volatile memory (not shown). The transmission / reception unit 420 includes a communication unit, and transmits and receives control signals, information, and the like to and from the controller 100 via, for example, an intranet.

[0059] The calculation unit 410 also plays a role as a functional calculation unit that executes various calculations according to the processing instructed by the source code correction program. The calculation unit 410 can function as a display control unit 411, a receiving unit 412, and a determination unit 413. The display control unit 411 causes the source code to be visibly displayed on the display monitor 430. The source code to be edited sent from the controller 100 is received by the transmitting / receiving unit 420 and taken into the calculation unit 410. The source code to be edited may be specified by the user via the input device 440, for example.

[0060] The reception unit 412 receives a correction to the source code by the user inputted via the input device 440. The determination unit 413 determines whether the source code corrected by the user is executable on a machine tool associated with the source code, i.e., a specific machine tool that executes a machining operation by the source code. For example, the editing PC 400 includes a simulator that traces the operation of each machine tool that can be set as a control target of the controller 100. The determination unit 413 executes the corrected source code on a simulator corresponding to the machine tool associated with the source code, and determines whether the source code is executable on the machine tool depending on whether an error occurs.

[0061] The flow of the source code correction process executed by the edit PC 400 will be described with reference to the processing procedure executed by the calculation unit 410 of the edit PC 400. Fig. 9 is a flow diagram showing the flow of the process executed by the calculation unit 410 of the edit PC 400. The flow starts when a specific source code designated by the user is acquired.

[0062] In step S201, the calculation unit 410 receives the source code from the controller 100 via the transmission / reception unit 420. The source code to be modified does not have to be one already stored in the storage unit 120 of the controller 100. For example, the source code may be received from a management server that performs integrated management of the entire system.

[0063] In step S202, the display control unit 411 causes the display monitor 430 to display the received source code in a visibly viewable manner. In step S203, the reception unit 412 receives the source code correction by the user via the input device 440. Then, for example, when an instruction to complete the correction is received from the user, the process proceeds to step S204, where the determination unit 413 determines whether the corrected source code is executable on the machine tool that is to execute the machining operation based on the description. If it is determined that the source code is not executable, for example, the description part where the error occurred is highlighted on the display monitor 430, and the process returns to step S203. If it is determined that the source code is executable, the process proceeds to step S205.

[0064] In step S205, the calculation unit 410 transmits the modified source code to the controller 100 via the transmission / reception unit 420. When the transmission of the source code is completed, the series of processes ends. When the update unit 115 of the controller 100 receives the modified source code from the editing PC 400, it updates the unmodified source code stored in the storage unit 120 to the modified source code.

[0065] Since the source code executes machining operations according to the configuration and capabilities of the target machine tool as described above, the description does not need to strictly reproduce the machining operations defined by the NC command code. That is, the user may make a correction to delete at least a part of the machining operations defined by the NC command code, or to add a machining operation different from the machining operation defined by the NC command code. Therefore, the determination unit 413 of the editing PC 400 does not determine an error even if such a correction is made, as long as the machining operation related to the correction can be executed by the target machine tool. Furthermore, the update unit 115 of the controller 100 allows the source code before correction stored in the storage unit 120 to be updated to the corrected source code, even if such a correction is made to the source code.

[0066] Here, the main configurations of the above-described machine tool controller, controller control program, source code modifying device, and source code modifying program will be summarized. [Appendix 1] a storage unit (120) in which source codes are stored that are created in accordance with each combination of an NC command code set as an acceptance target and a machine tool set as a control target, the source codes describing at least one of drive commands for each actuator of a specific machine tool and operation commands for an operating body operated by the actuator, accompanied by an execution procedure, so that the specific machine tool executes a machining operation defined by a specific NC command code; a selection unit (113) that selects from the storage unit the source code corresponding to a combination of the NC command code to be executed and information on a machine tool (300) that executes a machining operation; a generation unit (114) that generates a control signal in accordance with the description of the source code selected by the selection unit; a transmission unit (130) for transmitting the control signal generated by the generation unit to the machine tool that executes a machining operation; A machine tool controller (100) comprising: [Appendix 2] 2. The machine tool controller according to claim 1, further comprising an update unit (115) that accepts and updates a modification made by a user to the source code stored in the storage unit. [Appendix 3] 3. The machine tool controller according to claim 2, wherein the update unit allows a correction to be made by deleting at least a part of the machining operation defined by the NC command code. [Appendix 4] 3. The machine tool controller according to claim 2, wherein the update unit allows a correction to be made by adding a machining operation different from a machining operation defined by the NC command code. [Appendix 5] 2. The machine tool controller according to claim 1, wherein the source code specifies control for each control command value in a coordinate system of either the machine tool or the moving body in a unit smaller than that of the NC command code. [Appendix 6] 2. The machine tool controller according to claim 1, wherein the source code specifies control for each control command value for each actuator in units smaller than that of the NC command code. [Appendix 7] 2. The machine tool controller according to claim 1, wherein the selection unit issues a warning when the source code to be selected is not stored in the storage unit. [Appendix 8] A controller control program for controlling a machine tool controller (100) including a storage unit (120) storing source codes created in accordance with each combination of an NC command code set as an acceptance target and a machine tool set as a control target, the source codes describing at least one of drive commands for each actuator of a specific machine tool and operation commands for an operating body operated by the actuator, with execution procedures, so that the specific machine tool executes a machining operation defined by a specific NC command code, A receiving step of receiving an NC command code to be executed from an external device (200); An acquisition step of acquiring information about a machine tool (300) that executes a machining operation; a selection step of selecting, from the storage unit, the source code corresponding to a combination of the NC command code received in the receiving step and the information acquired in the acquiring step; a generating step of generating a control signal according to the description of the source code selected in the selecting step; a transmission step of transmitting the control signal generated in the generation step to the machine tool that executes a machining operation; A controller control program that causes a computer to execute the above. [Appendix 9] a receiving unit (420) for receiving from a machine tool controller (100) a source code in which at least one of drive commands for each actuator included in a specific machine tool and operation commands for an operating body operated by the actuators is described with an execution procedure so that the specific machine tool executes a machining operation defined by a specific NC command code; A display control unit (411) that displays the source code on a display unit (430); a reception unit (412) for receiving a modification of the source code by a user; a determination unit (413) for determining whether the modified source code is executable on the specific machine tool; a transmission unit (420) that transmits the source code that the determination unit has determined to be executable to the machine tool controller; A source code modifying device (400) comprising: [Appendix 10] a receiving step of receiving from a machine tool controller (100) a source code in which at least one of drive commands for each actuator of a specific machine tool and operation commands for an operating body operated by the actuators is described with an execution procedure so that the specific machine tool executes a machining operation defined by a specific NC command code; A display step of displaying the source code on a display unit (430); a receiving step of receiving a modification of the source code by a user; a determining step of determining whether the modified source code is executable on the particular machine tool; a transmitting step of transmitting the source code determined to be executable in the determining step to the machine tool controller; A source code modification program that causes a computer to execute the [Explanation of symbols]

[0067] 100...controller, 110...calculation unit, 111...reception unit, 112...acquisition unit, 113...selection unit, 114...generation unit, 115...update unit, 120...storage unit, 130...transmission / reception unit, 200...CAD system, 300...machine tool, 301, 302...cutting tool, 400...editing PC, 410...calculation unit, 411...display control unit, 412...reception unit, 413...determination unit, 420...transmission / reception unit, 430...display monitor, 440...input device, 910, 920...work

Claims

1. a storage section in which source codes are stored that are created in accordance with each combination of an NC command code set as an acceptance target and a machine tool set as a control target, the source codes describing at least one of drive commands for each actuator of a specific machine tool and operation commands for an operating body operated by the actuator, accompanied by an execution procedure, so that the specific machine tool executes a machining operation defined by a specific NC command code; a selection unit that selects from the storage unit the source code corresponding to a combination of the NC command code to be executed and information on a machine tool that is to execute a machining operation; a generation unit that generates a control signal in accordance with a description of the source code selected by the selection unit; a transmission unit that transmits the control signal generated by the generation unit to the machine tool that executes a machining operation; A machine tool controller comprising:

2. 2. The machine tool controller according to claim 1, further comprising an update unit that accepts and updates the source code stored in the storage unit after a modification made by a user.

3. The machine tool controller according to claim 2 , wherein the update unit allows a correction to be made by deleting at least a part of the machining operation defined by the NC command code.

4. 3. The machine tool controller according to claim 2, wherein the update section allows a correction to be made by adding a machining operation different from a machining operation defined by the NC command code.

5. 2. The machine tool controller according to claim 1, wherein the source code specifies control for each control command value in a coordinate system of either the machine tool or the moving body in units smaller than that of the NC command code.

6. 2. The machine tool controller according to claim 1, wherein the source code specifies control for each control command value for each actuator in units smaller than that of the NC command code.

7. 2. The machine tool controller according to claim 1, wherein the selection unit issues a warning when the source code to be selected is not stored in the storage unit.

8. A controller control program for controlling a machine tool controller having a storage unit in which source codes created in accordance with each combination of an NC command code set as an acceptance target and a machine tool set as a control target are stored, the source codes describing at least one of drive commands for each actuator of a specific machine tool and operation commands for an operating body operated by the actuator, accompanied by an execution procedure, so that a machining operation defined by a specific NC command code is executed by the specific machine tool, a receiving step of receiving an NC command code to be executed from an external device; An acquisition step of acquiring information regarding a machine tool that executes a machining operation; a selection step of selecting, from the storage unit, the source code corresponding to a combination of the NC command code received in the receiving step and the information acquired in the acquiring step; a generating step of generating a control signal according to the description of the source code selected in the selecting step; a transmission step of transmitting the control signal generated in the generation step to the machine tool that executes a machining operation; A controller control program that causes a computer to execute the above.

9. a receiving unit that receives from a machine tool controller a source code in which at least one of drive commands for each actuator included in a specific machine tool and operation commands for an operating body operated by the actuators is described along with an execution procedure so that the specific machine tool executes a machining operation defined by a specific NC command code; a display control unit that displays the source code on a display unit; a receiving unit that receives a modification of the source code by a user; a determination unit for determining whether the modified source code is executable on the specific machine tool; a transmission unit that transmits the source code that the determination unit has determined to be executable to the machine tool controller; A source code modifying device comprising:

10. a receiving step of receiving from a machine tool controller a source code in which at least one of drive commands for each actuator included in a specific machine tool and operation commands for an operating body operated by the actuators is described along with an execution procedure so that a machining operation defined by a specific NC command code is executed by the specific machine tool; a display step of displaying the source code on a display unit; a receiving step of receiving a modification of the source code by a user; a determining step of determining whether the modified source code is executable on the particular machine tool; a transmitting step of transmitting the source code determined to be executable in the determining step to the machine tool controller; A source code modification program that causes a computer to execute the

Citation Information

Patent Citations

  • Numerical controller

    JP1998320027A