System for determining the machining load
The machining load determination system addresses inaccuracies in virtual-actual machining comparisons by using load detection units to compare and adjust operations, ensuring precise and timely detection of differences, thus enhancing simulation accuracy and preventing collisions.
Patent Information
- Application Number
- DE112022007774
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-11-21
- Publication Date
- 2025-07-17
AI Technical Summary
Existing machining simulation technologies face challenges in accurately detecting differences between virtual and actual machining results due to limitations in precision and processing time, particularly when factors like tool wear and environmental differences are not accounted for, leading to potential collisions and inaccuracies.
A machining load determination system that includes an actual machining unit, a simulation unit, an actual load detection unit, a virtual load detection unit, and a load information determination unit, which compares virtual and actual load information using position identification comparison data to detect differences and adjust operations accordingly.
Enables accurate detection of differences between virtual and actual machining loads in real-time, preventing collisions and improving simulation accuracy without extending processing time, allowing for precise operation control and correction of simulation settings.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to a system for determining the machining load. TECHNICAL BACKGROUND
[0002] There are industrial machines, each of which has a movable unit equipped with a tool or a machining target, and which machines the machining target through relative movement of the tool and the machining target (for example, a machine tool and an electric discharge machine). For such industrial machines, a technology is known in which machining simulation is performed in a virtual space as a three-dimensional model obtained by simulating an environment similar to that in which actual machining is to be performed, and whether or not there is a problem in the operating data (for example, a machining program) is checked.
[0003] With such technology, there may be cases where, due to various factors, an unintentional discrepancy arises between the three-dimensional model of the virtual space defined for simulation and the actual environment. These various factors may include, for example, the machining target object being lifted during machining in the actual environment, and the failure to consider tool wear compensation in the three-dimensional model of the virtual space. In this case, a discrepancy may occur between the result obtained by simulation and the result obtained in actual machining.
[0004] In this regard, Patent Document 1 discloses a method in which an actual machine unit and a simulation unit are arranged in parallel, the same command is input to both the actual machine unit and the simulation unit, a comparison is performed between internal state quantities of the actual machine unit and the simulation unit, and a comparison value of the internal state quantity is compared with a preset detection threshold, thereby detecting contact / collision of a movable unit with another object. This technique is intended to make it possible to detect whether or not there is a difference between a result obtained by simulation and a result obtained in actual processing. Furthermore, Patent Document 1 discloses that arithmetic expressions of a model of the simulation unit are simple and the processing time is short. List of referencesPatent document
[0005] Patent Document 1: Unexamined Japanese Patent Application, Publication No. 2004-364396 DISCLOSURE OF THE INVENTION Problems to be solved by the invention
[0006] According to the technique disclosed in Patent Document 1, it is necessary to have the simulation unit perform simulation in real time in accordance with the operation of the actual machine unit. The processing time of the simulation using a three-dimensional model as the virtual space is relatively long. For this reason, in the technique disclosed in Patent Document 1, the arithmetic expressions of the model of the simulation unit are simplified to shorten the processing time in accordance with the operation time of the actual machine unit.
[0007] Therefore, in real-time simulation of actual machining, the accuracy of the simulation is limited. As a result, there may be cases where it is not possible to correctly detect a difference between the simulation and the actual machining. Therefore, it is desirable to improve the accuracy of detecting a difference between the simulation and the actual machining without limiting the accuracy of the simulation. Means to solve the problems
[0008] A machining load determination system according to the present disclosure includes: an actual machining unit that has a movable unit provided with a tool or a machining target, and machines the machining target by relatively moving the tool and the machining target based on operation data; a simulation unit that, in a virtual space including a virtual tool, a virtual machining target, and virtual movable units corresponding to the tool, the machining target, and the movable unit, performs machining simulation of machining the virtual machining target by relatively moving the virtual tool and the virtual machining target based on the operation data;a virtual load acquisition unit that acquires virtual load information, which is information about the virtual load occurring on the virtual movable unit, the virtual load information obtained through machining simulation by the simulation unit; an actual load acquisition unit that acquires information about the actual load occurring on the movable unit, the actual load information obtained through machining by the actual machining unit;and a load information determination unit that determines whether or not there is a difference between the virtual load information and the actual load information by comparing the virtual load information with the actual load information. The simulation unit calculates the virtual load information and the position identification comparison data that identify a comparison position between the virtual load information and the actual load information; the virtual load acquisition unit acquires the virtual load information linked to the position identification comparison data; the actual load acquisition unit acquires the actual load information linked to the position identification comparison data;and the load information determination unit compares the virtual load information with the actual load information based on the position identification comparison data.; BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing an overview of an industrial machine system according to a present embodiment; Fig. 2 is a diagram showing a configuration of a machining load determination system according to the present embodiment; Fig. 3A is a diagram showing an example of virtual load information and position identification comparison data; Fig. 3B is a diagram showing an example of actual load information and position identification comparison data; Fig. 4A is a diagram showing Example 1 of machining load determination processing by the machining load determination system according to the present embodiment (in a case where there is no difference between an actual machining unit and a simulation unit); Fig. 4B is a diagram showing Example 1 of the machining load determination process by the machining load determination system according to the present embodiment (in a case where there is a difference between the actual machining unit and the simulation unit: a pattern in which contact is detected only by the simulation unit); Fig. 4C is a diagram showing Example 1 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is a difference between the actual machining unit and the simulation unit: a pattern in which contact is detected only by the actual machining unit); Fig. 4D is a diagram showing Example 1 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is a difference between the actual machining unit and the simulation unit: a pattern in which lifting of a workpiece occurs); Fig. 5A is a diagram showing Example 2 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is no difference between the actual machining unit and the simulation unit); Fig. 5B is a diagram showing Example 2 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is a difference between the actual machining unit and the simulation unit: the pattern in which the contact is detected only by the simulation unit); Fig. 5C is a diagram showing Example 2 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is a difference between the actual machining unit and the simulation unit: the pattern in which the contact is detected only by the actual machining unit); Fig. 6A is a diagram showing Example 3 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is no difference between the actual machining unit and the simulation unit); Fig. 6B is a diagram showing Example 3 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is a difference between the actual machining unit and the simulation unit: the pattern in which the contact is detected only by the simulation unit); Fig. 6C is a diagram showing Example 3 of the machining load determination process by the machining load determination system according to the present embodiment (in the case where there is a difference between the actual machining unit and the simulation unit: the pattern in which the contact is detected only by the actual machining unit); Fig. 7 is a diagram showing Example 4 of the machining load determination process by the machining load determination system according to the present embodiment; and Fig. 8 is a diagram showing Example 5 of the machining load determination process by the machining load determination system according to the present embodiment. PREFERRED EMBODIMENT FOR CARRYING OUT THE INVENTION
[0009] An example of the present embodiment will be described below with reference to the accompanying drawings. Note that the same or corresponding portions in the drawings are denoted by the same reference numerals. [Overview of the industrial machinery system]
[0010] First, an overview of an industrial machine system according to the present embodiment will be given. Fig. 1 is a diagram showing an overview of the industrial machine system according to the present embodiment. As shown in Fig. 1, an industrial machine system 100 includes a numerical control device 110, a drive unit 120, and a machine tool (an industrial machine) 130.
[0011] The machine tool 130 is an actual machining unit described later, and performs a machining process on a workpiece (machining target) W by moving a tool T and the workpiece W relative to each other based on operation data. Although an M series (machining center series) is illustrated below as the machine tool, the present embodiment is not limited thereto. The present embodiment is also applicable to a T series (lathe series) machine tool. Although the machine tool is illustrated as an industrial machine, the present embodiment is not limited thereto. The present embodiment is also applicable to various industrial machines in which machining of the workpiece W is performed by the tool T and the workpiece W comes into contact with the tool T, for example, an electric discharge machine.
[0012] The machine tool 130 includes a motor 132, a tool mounting unit 134, and a table 136. The mounting unit 134 or table 136 is a movable unit. The tool T is mounted on the mounting unit 134, and the workpiece W is provided on the table 136.
[0013] The motor 132 is a motor for advancing the movable unit, such as the assembly unit 134 or the table 136, that is, the tool T or the workpiece W, and may include a plurality of motors, for example, for movement along the X-axis, the Y-axis, and the Z-axis. The motor 132 is driven by the drive unit 120.
[0014] The numerical control device 110 generates a position command along a relative movement route of the tool T concerning the workpiece W in the machine tool 130 based on a machining program.
[0015] The drive unit 120 drives the motor 132 in the machine tool 130 based on the position command from the numerical control device 110. The drive unit 120 may include a plurality of drive units for the motors (for example, the X-axis motor, the Y-axis motor, and the Z-axis motor) of the machine tool 130. The drive unit 120 is, for example, a servo control unit and performs drive control of the motor 132 based on the position command and the position feedback detected by an encoder provided in the motor 132. [System for determining the machining load]
[0016] Fig. 2 is a diagram showing a configuration of a machining load determination system according to the present embodiment. As shown in Fig. 2, a machining load determination system 10 includes an actual machining unit 12, a simulation unit 14, an actual load detection unit 16, a virtual load detection unit 18, a storage unit 20, a load information determination unit 22, an operation control unit 24, a correction unit 26, and a display unit 28.
[0017] The actual machining unit 12 is the machine tool 130 described above. As described above, the actual machining unit 12 machines the workpiece W by a relative movement of the tool T and the workpiece W based on the operation data, wherein the mounting unit 134 provided with the tool T or the table 136 provided with the workpiece W is provided as the movable unit.
[0018] The simulation unit 14 may be provided in the numerical control device 110 described above or configured with a computer different from the numerical control device 110. For example, as described later, Fig. 4A, the simulation unit 14 has a virtual space VS including a virtual tool Ts, a virtual workpiece Ws, a virtual assembly unit (virtual movable unit) 134s, and a table (virtual movable unit) 136s, which accommodate the tool T, the workpiece W, the assembly unit (movable unit) 134, and the table (movable unit) 136 of the actual machining unit 12. The simulation unit 14 performs a simulation of machining of the virtual workpiece Ws by relatively moving the virtual tool Ts and the virtual workpiece Ws based on operation data in the virtual space VS. As shown in Fig. As shown in Figure 3A, the simulation unit 14 calculates information about the virtual load occurring on the virtual movable unit 134s or 136s and position identification comparison data that identifies a position of comparison between the virtual load information and the actual load information. Details of the virtual load information and the position identification comparison data will be described later.
[0019] The actual load detection unit 16 is provided in the drive unit (control unit) 120 described above. As shown in Fig. As shown in Fig. 3B, the actual load acquisition unit 16 acquires information about an actual load occurring on the movable unit 134 or 136 obtained through machining by the actual machining unit 12. Specifically, the actual load acquisition unit 16 acquires the virtual load information linked to the position identification comparison data. Details of the actual load information and the position identification comparison data will be described later.
[0020] The virtual load acquisition unit 18 may be provided in the above-described numerical control device 110, may be provided in a computer constituting the simulation unit 14, or may be configured with a computer different from the numerical control device 110 and the simulation unit 14. As shown in Fig. 3A, the virtual load acquisition unit 18 acquires the information about the virtual load occurring on the virtual movable units 134s or 136s obtained through the machining simulation by the simulation unit 14. Specifically, the virtual load acquisition unit 18 acquires the information about the virtual load linked to the position identification comparison data.
[0021] The load information determination unit 22 may be provided in the above-described numerical control device 110, may be provided in the drive unit (servo control unit) 120, or may be configured with a computer different from the numerical control device 110 and the drive unit 120. The load information determination unit 22 compares the virtual load information with the actual load information based on the position identification comparison data to determine whether or not there is a difference between the pieces of information.That is, the load information determining unit 22 determines whether there is a difference between the load information about the movable unit 134 or 136 of the actual machining unit 12 and the load information about the virtual movable unit 134s or 136s of the simulation unit 14.
[0022] The operation control unit 24 is provided in the above-described drive unit (servo control unit) 130. In a case where the load information determination unit 22 determines that there is a difference between the virtual load information and the actual load information, the operation control unit 24 executes: limiting the output power to cause the operation of the movable unit 134 or 136 (for example, torque limitation), and / or the operation of retracting the movable unit 134 or 136 preset in the machining program, and / or immediately decelerating and stopping the operation of the movable unit 134 or 136 in the actual machining unit 12.
[0023] The correction unit 26 may be provided in the above-described numerical control device 110 or configured with a computer different from the numerical control device 110. In a case where the load information determination unit 22 determines that there is a difference between the virtual load information and the actual load information, the correction unit 26 changes (corrects) the conditions for machining simulation, for example, the conditions regarding the virtual tool Ts, the virtual workpiece Ws, and the virtual movable unit 134s or 136s in the operation data in the simulation unit 14.
[0024] The simulation unit 14, the actual load acquisition unit 16, the virtual load acquisition unit 18, the load information determination unit 22, the operation control unit 24, and the correction unit 26 are configured with an arithmetic processor such as a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an FPGA (Field-Programmable Gate Array), or the like. Various functions of the simulation unit 14, the actual load acquisition unit 16, the virtual load acquisition unit 18, the load information determination unit 22, the operation control unit 24, and the correction unit 26 are realized, for example, by executing predetermined software (program) stored in the storage unit 20.The various functions of the simulation unit 14, the actual load acquisition unit 16, the virtual load acquisition unit 18, the load information determination unit 22, the operation control unit 24, and the correction unit 26 can be realized by cooperation between hardware and software or only by hardware (electronic circuits).
[0025] The storage unit 20 is configured with a memory, for example, a ROM (Read Only Memory), an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like. The storage unit 20 stores the predetermined software (program) that implements the various functions of the simulation unit 14, the actual load acquisition unit 16, the virtual load acquisition unit 18, the load information determination unit 22, the operation control unit 24, and the correction unit 26. Furthermore, the storage unit 20 stores the virtual load information and the position identification comparison data acquired by the actual load acquisition unit 16, which are stored in Fig. 3A, and the information about the actual load and the position identification comparison data acquired by the virtual load acquisition unit 18 shown in Fig. 3B are shown.
[0026] The display unit 28 is configured with, for example, a liquid crystal display or an organic EL display. The display unit 28 displays position identification comparison data for which it has been determined by the load information determination unit 22 that there is a difference between the virtual load information and the actual load information, in a manner that varies according to the difference. For example, in the program (operation data), the display unit 28 highlights blocks corresponding to pieces of position identification comparison data for which it is determined that there is a difference between the virtual load information and the actual load information, in a display manner (for example, color and flashing) that is different from that of blocks without a difference.
[0027] Next, some examples of the machining load determination process by the machining load determination system 10 described above will be described with reference to Fig. 4A to 8. The Fig. 4A to 4D are diagrams showing Example 1 of the machining load determination process by the machining load determination system according to the present embodiment; Fig. 5A to 5D are diagrams showing Example 2 of the machining load determination process by the machining load determination system according to the present embodiment; and Fig. 6A to 6C are diagrams showing Example 3 of the machining load determination process by the machining load determination system according to the present embodiment. Fig. 7 is a diagram showing Example 4 of the machining load determination process by the machining load determination system according to the present embodiment; and Fig. 8 is a diagram showing Example 5 of the machining load determination process by the machining load determination system according to the present embodiment. [Example 1]
[0028] In Example 1, the elapsed operating time of the program (time information) is used as position identification comparison data. Fig. 4A is a diagram showing a case where there is no difference between the information about the actual load with respect to the movable unit of the actual machining unit and the information about the virtual load with respect to the virtual movable unit of the simulation unit; and Fig. 4B is a diagram showing a case where there is a difference between the information about the actual load of the movable unit of the actual machining unit and the information about the virtual load via the virtual movable unit of the simulation unit (a pattern in which contact is detected only by the simulation unit). Fig. 4C is a diagram showing a case where there is a difference between the information about the actual load of the movable unit of the actual machining unit and the information about the virtual load of the virtual movable unit of the simulation unit (a pattern in which contact is detected only by the actual machining unit); and Fig. 4D is a diagram showing a case where there is a difference between the actual load information on the movable unit of the actual machining unit and the virtual load information on the virtual movable unit of the simulation unit (a pattern in which a lifting of the workpiece occurs). (Case where there is no difference between the actual processing unit and the simulation unit)<1-1>
[0029] As in Fig. 4A, for example, the numerical control device 110 analyzes the machining program, prepares time series data Xs(0), Xs(1), ..., Xs(n) of machine coordinates Xs(i) of the virtual movable unit 134s or 136s after the time point Ts(i) seconds from the start time point Ts(0) as operation data for the simulation unit 14, and outputs the time series data Xs(0), Xs(1), ..., Xs(n) to the simulation unit 14. Further, for example, the numerical control device 110 analyzes the machining program, prepares time series data Xr(0), Xr(1), ..., Xr(n) of machine coordinates Xr(j) of the movable unit 134 or 136 after the time Tr(j) seconds from the start time Tr(0) as the operation data for the actual machining unit 12, and outputs the time series data Xr(0), Xr(1), ..., Xr(n) to the drive unit 120. Here, i and j are arbitrary integers between 1 and n. n is an integer equal to or greater than 1.Xs(i) and Xr(j) are q-dimensional arrays, and the machine coordinates of the p-th axis of the virtual movable unit and the machine coordinates of the p-th axis of the movable unit can be represented by Xsp(i) and Xrp(j), respectively. Here, q is an integer equal to or greater than 1 and represents the number of axes of the machine. p is any integer between 1 and q.
[0030] In the present embodiment, the form of the numerical control device 110 is illustrated, which analyzes the machining program and creates the time series data of the machine coordinates (operation data). However, the present embodiment is not limited to this, and the computer constituting the simulation unit 14 or another computer may analyze the machining program and create the time series data of the machine coordinates (operation data). <1-2>
[0031] The simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws by moving the virtual tool Ts and the virtual workpiece Ws relative to each other based on the machine coordinates Xs(0), ..., Xs(n) (operation data) output from the numerical control device 110.
[0032] The simulation unit 14 calculates contact information indicating whether or not the virtual tool Ts and the virtual workpiece Ws are in contact with each other as information about the virtual load occurring on the virtual movable unit 134s or 136s at specific machine coordinates Xs(i) at a specific time Ts(i). For example, the simulation unit 14 sets a contact flag to 0 when the virtual tool Ts is outside the virtual workpiece Ws, and sets the contact flag to 1 when the virtual tool Ts moves from outside to inside the virtual workpiece Ws.
[0033] Further, the simulation unit 14 calculates the specific time Ts(i) as position identification comparison data that identifies a position of comparison between the virtual load information and the actual load information. Specifically, the pieces of position identification comparison data are data that link time series or machining positions between the virtual load information and the actual load information. Specifically, the pieces of position identification comparison data are data that cause the time Ts(i) at which the virtual tool Ts and the virtual workpiece Ws come into contact with each other in the simulation unit 14 and the time Tr(j) at which the tool T and the workpiece W come into contact with each other in the actual machining unit 12 to correspond one-to-one to each other.That is, the pieces of position identification comparison data are data that identify the time point Ts(i) and the time point Tr(j) as the comparison positions between the virtual load information and the actual load information. This allows the load information determination unit 22 to appropriately compare the virtual load information at time point Ts(i) with the actual load information at time point Tr(j) based on the pieces of position identification comparison data. As described above, the simulation unit 14 may be provided in the numerical control device 110 or configured with a computer different from the numerical control device 110.
[0034] As in Fig. 4A, the numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) associated with the time Ts(i) (position identification comparison data).
[0035] The simulation unit 14 performs the above-described machining simulation before the actual machining unit 12 is operated based on the operation data, and calculates the virtual load information and the comparison position data in advance. Furthermore, the virtual load acquisition unit 18 may acquire the virtual load information linked to the position identification comparison data in advance before the actual machining unit 12 is operated based on the operation data, and temporarily store the virtual load information and the position identification comparison data in the storage unit 20. <1-3>
[0036] The drive unit 120 drives the motor 132 and the movable unit 134 or 136 of the actual machining unit 12 based on the machine coordinates Xr(0), ..., Xr(n) (operation data) output from the numerical control device 110. Thus, the actual machining unit 12 machines the workpiece W through relative movement of the tool T and the workpiece W.
[0037] The drive unit 120 (the actual load detection unit 16) detects contact information indicating whether or not the tool T and the workpiece W are in contact with each other as information about a load occurring on the movable unit 134 or 136 at specific machine coordinates Xr(j) at a specific time Tr(j). For example, the drive unit 120 (the actual load detection unit 16) monitors the power of the motor 132 (commands or feedback information), determines that the tool T and the workpiece W have come into contact with each other when the power of the motor 132 exceeds a certain threshold, and outputs a contact signal to the numerical control device 110.
[0038] The drive unit 120 (the actual load detection unit 16) detects the contact signal (actual load information) associated with the time Tr(j) (position identification comparison data). <1-4>
[0039] The numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the timings Tr(j) and Ts(i) (position identification comparison data) and determines whether or not there is a difference between the information. For example, in Fig. 4A, the numerical control device 110 (the load information determining unit 22) compares the contact signal (actual load information) between the time Ts(i-1) and Ts(i) based on the time Tr(j) and Ts(i) (position identification comparison data), and determines that there is no difference between the pieces of information because the contact flag (virtual load information) is then 1.
[0040] The load information determination unit 22 performs the above-described determination in real time while the actual machining unit 12 is operating, based on the virtual load information obtained in advance from the simulation unit 14 and the actual load information obtained in real time from the actual machining unit 12. The load information determination unit 22 can extract only virtual load information and actual load information in a certain particular section in the pieces of position identification comparison data, and compare the virtual load information with the actual load information.
[0041] When there is no difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) does not restrict the operation.
[0042] As described above, the load information determining unit 22 may be provided in the numerical control device 110, may be provided in the drive unit 120 (a servo control unit or an amplifier), or may be configured with a computer different from the numerical control device 110 and the drive unit 120.
[0043] When the load information determination unit 22 is provided in the drive unit 120 (a servo control unit or an amplifier), the load information determination unit 22 can calculate the time Tr(j) when the contact signal is detected in the actual processing unit 12 on the drive unit 120 side, and determine that there is no difference between the actual load information and the virtual load information when the time Tr(j) and the time Ts(i-1) and Ts(i) when the contact flag in the simulation unit 14 changes from 0 to 1 satisfy the following equation: Ts(i-1) ≤ Tr(j) ≤ Ts(i)
[0044] Since the cycle of detecting the position of the movable unit in the actual machining unit is generally shorter than a simulation cycle, an error (delay time) at the time Tr(j) when the contact signal is detected in the actual machining unit 12 can be ignored. However, if the error (delay time) of the actual machining unit is smaller than an error of the simulation unit 14, the load information determining unit 22 can determine that there is no difference between the actual load information and the virtual load information if the time Ts(i) at which the contact flag in the simulation unit 14 becomes 1 is between the time Tr(j-1) and Tr(j) in the actual machining unit 12.
[0045] In addition to the determination by the contact time described above, the load information determination unit 22 may further determine that there is no difference between the actual load information and the virtual load information based on a determination by a contact position as described below. For example, the load information determination unit 22 may further determine that there is no difference between the actual load information and the virtual load information when the machine coordinates Xr(j) when the contact signal was detected in the actual machining unit 12 and the machine coordinates Xs(i-1) and Xs(i) when the contact flag in the simulation unit 14 changes from 0 to 1 for all axes p located between i-1 and i.|Xrp(j) - Xsp(i)| ≤ |Xsp(i) - Xsp(i - 1)| This makes it possible to exclude a case where contact times (collision times) coincide by chance as a result of a series of errors. (Case where there is a difference between actual processing unit and simulation unit) (Pattern where contact is only detected by simulation unit)<1-1>
[0046] For example in Fig. 4B, the numerical control device 110 creates the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after time Ts(i) seconds from the start time Ts(0) as operation data for the simulation unit 14, similarly to the above embodiments. Further, for example, the numerical control device 110 creates the time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, similarly to the above embodiments. <1-2>
[0047] Similar to the above, the simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws, and as shown in Fig. 4B, the numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) associated with the time Ts(i) (position identification comparison data). <1-3>
[0048] Similar to the above, the drive unit 120 and the actual machining unit 12 machine the workpiece W, and the drive unit 120 (the actual load detection unit 16) detects a contact signal (information about the actual load) associated with the time Tr(j) (position identification comparison data). For example, in Fig. 4B, the tool T and the workpiece W do not contact each other due to damage or improper mounting of the tool, and the drive unit 120 (the actual load detecting unit 16) does not detect a contact signal and does not output a contact signal to the numerical control device 110. <1-4>
[0049] Similar to the above, the numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the timings Tr(j) and Ts(i) (position identification comparison data) and determines whether or not there is a difference between the pieces of information. For example, the numerical control device 110 (the load information determination unit 22) detects Fig. 4B between the times Ts(i - 1) and Ts(i) there is no contact signal (information about the actual load) and determines that there is a difference between the pieces of information because the contact flag (information about the virtual load) is then 1.
[0050] If there is a difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) decelerates and stops the machine tool 130. The numerical control device 110 (the operation control unit 24) may immediately stop the motor power or execute a predetermined emergency stop function. That is, the numerical control device 110 (the operation control unit 24) performs output restriction to cause the movable unit 134 or 136 to perform a preset retraction operation of the movable unit 134 or 136, or to immediately decelerate and stop the operation of the movable unit 134 or 136 in the actual machining unit 12.
[0051] At this time, a machine tool operator can detect incorrect mounting or damage of the tool T by comparing machine coordinates where no contact (no interference) was detected in actual machining, corresponding to machine coordinates where contact (interference) was detected in machining simulation, and machine coordinates where contact (interference) was detected in actual machining. (Case where there is a difference between actual processing unit and simulation unit) (Pattern where contact is detected only by actual processing unit)<1-1>
[0052] As in Fig. 4C, for example, the numerical control device 110 creates the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after time Ts(i) seconds from the start time Ts(0) as operation data for the simulation unit 14, similar to the above. Further, for example, the numerical control device 110 creates the time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134s or 136s after time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, similar to the above. <1-2>
[0053] Similar to the above, the simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws, and as shown in Fig. As shown in Figure 4A, the numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) associated with the time Ts(i) (position identification comparison data). For example, in Fig. 4C, the virtual tool Ts does not move from outside to inside the virtual workpiece Ws at certain machine coordinates Xs(i) at a certain time Ts(i), and the simulation unit 14 sets the contact flag to 0. <1-3>
[0054] Similar to the above, the drive unit 120 and the actual machining unit 12 machine the workpiece W, and the drive unit 120 (the actual load detecting unit 16) detects a contact signal (actual load information) associated with the time Tr(j) (position identification comparison data). <1-4>
[0055] Similar to the above, the numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the timings Tr(j) and Ts(i) (position identification comparison data), and determines whether or not there is a difference between the pieces of information. For example, in Fig. 4B, the numerical control device 110 (the load information determining unit 22) detects a contact signal (actual load information) detected by the contact flag (virtual load information) that is not set between time Ts(i-1) and Ts(i), and determines that there is a difference between the pieces of information.
[0056] Similar to the above, when there is a difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) decelerates and stops the machine tool 130. (Case where there is a difference between the actual machining unit and the simulation unit) (Pattern in which the workpiece is lifted)<1-1>
[0057] For example in Fig. 4C, the numerical control device 110 creates the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after time Ts(i) seconds from the start time Ts(0) as operation data for the simulation unit 14, similar to the above. Further, for example, the numerical control device 110 creates the time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134s or 136s after time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, similar to the above. <1-2>
[0058] Similar to the above, the simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws, and as shown in Fig. As shown in Figure 4A, the numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) associated with the time Ts(i) (position identification comparison data). For example, in Fig. 4D, the virtual tool Ts does not move from outside to inside the virtual workpiece Ws at certain machine coordinates Xs(i) at a certain time Ts(i), and the simulation unit 14 sets the contact flag to 0. <1-3>
[0059] Similar to the above, the drive unit 120 and the actual machining unit 12 machine the workpiece W, and the drive unit 120 (the actual load detection unit 16) detects a contact signal (actual load information) associated with the time Tr(j) (position identification comparison data). For example, in Fig. 4D, when the workpiece W is lifted from the table 136 due to cutting chips and the like, or when the movable unit 134 or 136 or the tool T is lifted, the tool T and the workpiece W come into contact with each other earlier than in the simulation, and the drive unit 120 (the actual load detection unit 16) outputs a contact signal to the numerical control device 110 earlier than in the simulation. Alternatively, the tool T and the workpiece W come into contact with each other later than in the simulation, and the drive unit 120 (the actual load detection unit 16) outputs a contact signal to the numerical control device 110 later than in the simulation. <1-4>
[0060] Similar to the above, the numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the timings Tr(j) and Ts(i) (position identification comparison data) and determines whether or not there is a difference between the pieces of information. For example, in Fig. 4D, when the tool T and the workpiece W come into contact with each other earlier than in the simulation, the numerical control device 110 (the load information determination unit 22) detects a contact signal (actual load information) acquired even though the contact flag (virtual load information) is not set between Ts(i-1) and Ts(i), and determines that there is a difference between the pieces of information. Alternatively, when the tool T and the workpiece W come into contact with each other later than in the simulation, the numerical control device 110 (the load information determination unit 22) does not detect a contact signal (actual load information) between time Ts(i-1) and Ts(i), and determines that there is a difference between the pieces of information because the contact flag (virtual load information) is 1.
[0061] Similar to the above, the numerical control device 110 (the operation control unit 24) decelerates and stops the machine tool 130 when there is a difference between the actual load information and the virtual load information. [Example 2]
[0062] In Example 2, machine coordinates (position information of the movable units) are used as the pieces of position identification comparison data. This makes it possible to accurately determine whether there is a difference between the actual load information and the virtual load information, even if there is a significant time difference (delay) between the simulation and the actual machining due to external factors of the machine tool. Fig. 5A is a diagram showing a case where there is no difference between the information about the actual load of the movable unit of the actual machining unit and the information about the virtual load of the virtual movable unit of the simulation unit; and Fig. 5B is a diagram showing a case where there is a difference between the actual load information about the movable unit of the actual machining unit and the virtual load information about the virtual movable unit of the simulation unit (a pattern in which contact is detected only by the simulation unit). Fig. 5C is a diagram showing a case where there is a difference between the actual load information regarding the movable unit of the actual machining unit and the virtual load information regarding the virtual movable unit of the simulation unit (a pattern in which contact is detected only by the actual machining unit). (Case where there is no difference between actual processing unit and simulation unit)<2-1>
[0063] As in Fig. 5A, for example, the numerical control device 110 analyzes the machining program, prepares time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after the time point Ts(i) seconds from the start time point Ts(0) as the operation data for the simulation unit 14, and outputs the time series data Xs(0), Xs(1), ..., Xs(n) to the simulation unit 14. Further, for example, the numerical control device 110 analyzes the machining program, prepares time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after the time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, and outputs the time series data Xr(0), Xr(1), ..., Xr(n) to the drive unit 120. Here, i and j are arbitrary integers between 1 and n, and n is an integer equal to or greater than 1.
[0064] In the present embodiment, the form of the numerical control device 110 is illustrated, which analyzes the machining program and creates the time series data of the machine coordinates (operation data). However, the present embodiment is not limited to this, and the computer constituting the simulation unit 14 or another computer may analyze the machining program and create the time series data of the machine coordinates (operation data). <2-2>
[0065] The simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws by moving the virtual tool Ts and the virtual workpiece Ws relative to each other based on the machine coordinates Xs(0), ..., Xs(n) (operation data) output from the numerical control device 110.
[0066] The simulation unit 14 calculates contact information indicating whether or not the virtual tool Ts and the virtual workpiece Ws are in contact with each other as information about the virtual load occurring on the virtual movable unit 134s or 136s at specific machine coordinates Xs(i) at a specific time Ts(i). For example, the simulation unit 14 sets the contact flag to 0 when the virtual tool Ts is outside the virtual workpiece Ws, and sets the contact flag to 1 when the virtual tool Ts moves from outside to inside the virtual workpiece Ws.
[0067] Further, the simulation unit 14 calculates the determined machine coordinates Xs(i) at a certain time Ts(i) as position identification comparison data that identifies a comparison position between the virtual load information and the actual load information. Specifically, the pieces of position identification comparison data are data that link time series or machining positions between the virtual load information and the actual load information.Specifically, the pieces of position identification comparison data are data that cause the machine coordinates Xs(i) at which the virtual tool Ts and the virtual workpiece Ws come into contact with each other in the simulation unit 14 and the machine coordinates Xr(j) at which the tool T and the workpiece W come into contact with each other in the actual machining unit 12 to correspond to each other one-to-one. That is, the pieces of position identification comparison data are data that identify the machine coordinates Xs(i) and the machine coordinates Xr(j) as positions of comparison between the virtual load information and the actual load information.This allows the load information determination unit 22 to appropriately compare the information about the virtual load at the machine coordinates Xs(i) with the information about the actual load at the machine coordinates Xr(j) based on the pieces of position identification comparison data. As described above, the simulation unit 14 may be provided in the numerical control device 110 or configured with a computer different from the numerical control device 110.
[0068] As in Fig. 5A, the numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) associated with the machine coordinates Xs(i) (position identification comparison data).
[0069] The simulation unit 14 performs the above-described machining simulation before the actual machining unit 12 is operated based on the operation data, and calculates the virtual load information and the comparison position data in advance. Furthermore, the virtual load acquisition unit 18 may acquire the virtual load information linked to the position identification comparison data in advance before the actual machining unit 12 is operated based on the operation data, and temporarily store the virtual load information and the position identification comparison data in the storage unit 20. <2-3>
[0070] The drive unit 120 drives the motor 132 and the movable unit 134 or 136 of the actual machining unit 12 based on the machine coordinates Xr(0), ..., Xr(n) (operation data) output from the numerical control device 110. Thus, the actual machining unit 12 machines the workpiece W through relative movement of the tool T and the workpiece W.
[0071] The drive unit 120 (the actual load detection unit 16) detects contact information indicating whether or not the tool T and the workpiece W are in contact with each other as information about a load occurring on the movable unit 134 or 136 at specific machine coordinates Xr(j) at a specific time Tr(j). For example, the drive unit 120 (the actual load detection unit 16) monitors the power of the motor 132 (commands or feedback information), determines that the tool T and the workpiece W have come into contact with each other when the power of the motor 132 exceeds a certain threshold, and outputs a contact signal to the numerical control device 110.
[0072] The drive unit 120 (the actual load detection unit 16) detects the contact signal (actual load information) linked to the machine coordinates Xr(j) (position identification comparison data). <2-4>
[0073] The numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data) and determines whether or not there is a difference between the pieces of information. For example, the numerical control device 110 (the load information determination unit 22) determines Fig. 5A, based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data), there is no difference between the actual load information and the virtual load information because the machine coordinates Xr(j) (position identification comparison data) at which the contact signal (actual load information) was detected in the actual machining unit 12 and the machine coordinates Xs(i-1) and Xs(i) (position identification comparison data) at which the contact flag (virtual load information) in the simulation unit 14 changes from 0 to 1 satisfy the inequality below for all axes p operating between i-1 to i. |Xrp(j)−Xsp(i)|≤|Xsp(i)−Xsp(i−1)|
[0074] When there are a plurality of pairs of machine coordinates Xr(j) (position identification comparison data) at which a contact signal (information about the actual load) has been detected in the actual machining unit 12 and a plurality of pairs of machine coordinates Xs(i) (position identification comparison data) at which the contact flag (information about the virtual load) changes from 0 to 1 in the simulation unit 14, the above determination can be performed in the order of contact.
[0075] The load information determination unit 22 performs the above-described determination in real time while the actual machining unit 12 is operating, based on the virtual load information obtained in advance from the simulation unit 14 and the actual load information obtained in real time from the actual machining unit 12. The load information determination unit 22 can extract only virtual load information and actual load information in a certain particular section in the pieces of position identification comparison data, and compare the virtual load information with the actual load information.
[0076] When there is no difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) does not restrict the operation.
[0077] As described above, the load information determining unit 22 may be provided in the numerical control device 110, may be provided in the drive unit 120 (a servo control unit or an amplifier), or may be configured by a computer different from the numerical control device 110 and the drive unit 120. (Case where there is a difference between the actual processing unit and the simulation unit) (Pattern where contact is only detected by the simulation unit)<2-1>
[0078] For example in Fig. 5B, the numerical control device 110 creates the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after time Ts(i) seconds from the start time Ts(0) as the operation data for the simulation unit 14, similarly to the above. Further, for example, the numerical control device 110 creates the time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after time Tr(j) seconds from the start time Tr(0) as the operation data for the actual machining unit 12, similarly to the above. <2-2>
[0079] Similar to the above, the simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws, and as shown in Fig. 5B, the numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) associated with the machine coordinates Xs(i) (position identification comparison data). <2-3>
[0080] Similar to the above, the drive unit 120 and the actual machining unit 12 machine the workpiece W, and the drive unit 120 (the actual load detection unit 16) detects a contact signal (information about the actual load) linked to the machine coordinates Xr(j) (position identification comparison data). For example, in Fig. 5B, the tool T and the workpiece W do not contact each other due to damage or improper mounting of the tool, and the drive unit 120 (the actual load detection unit 16) does not detect a contact signal and does not output a contact signal to the numerical control device 110.
[0081] When contact is detected at another position after a certain machining progress, the drive unit 120 (the actual load detection unit 16) can output a contact signal (actual load information) and machine coordinates Xr(k) (position identification comparison data) to the numerical control device 110. <2-4>
[0082] Similar to the above, the numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data), and determines whether or not there is a difference between the pieces of information. For example, in Fig. 5B, although the numerical control device 110 (the load information determination unit 22) does not detect a contact signal (actual load information) in the actual machining unit 12, the contact flag (virtual load information) 1 in the simulation unit 14. Therefore, the numerical control device 110 (the load information determination unit 22) determines that there is a difference between the pieces of information.Alternatively, the numerical control device 110 (the load information determining unit 22) determines that there is a difference between the actual load information and the virtual load information because neither the machine coordinates Xr(k) (position identification comparison data) at which the contact signal (actual load information) was detected in the actual machining unit 12, nor the machine coordinates Xs(i-1) and Xs(i) (position identification comparison data) at which the contact flag (virtual load information) changes from 0 to 1 in the simulation unit 14 satisfy the following inequality for any of the axes p operating between i-1 and i. |Xrp(k)−Xsp(i)|≤|Xsp(i)−Xsp(i−1)|
[0083] If there is a difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) decelerates and stops the machine tool 130. The numerical control device 110 (the operation control unit 24) may immediately stop the motor power or execute a predetermined emergency stop operation. That is, the numerical control device 110 (the operation control unit 24) performs power limitation to cause the movable unit 134 or 136 to perform a preset retraction operation of the movable unit 134 or 136, or to immediately decelerate and stop the operation of the movable unit 134 or 136 in the actual machining unit 12.
[0084] At this time, a machine tool operator can detect incorrect mounting or damage of the tool T by comparing machine coordinates where no contact (no interference) was detected in actual machining, corresponding to machine coordinates where contact (interference) was detected in machining simulation, and machine coordinates where contact (interference) was detected in actual machining. (Case where there is a difference between the actual machining unit and the simulation unit) (Pattern where contact is detected only by the actual machining unit)<2-1>
[0085] For example in Fig. 5C, the numerical control device 110 creates the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after time Ts(i) seconds from the start time Ts(0) as operation data for the simulation unit 14, similar to the above embodiments. Further, for example, the numerical control device 110 creates the time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134s or 136s after time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, similar to the above embodiments. <2-2>
[0086] Similar to the above, the simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws, and as shown in Fig. 5B, the numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) linked to the machine coordinates Xs(i) (position identification comparison data). In Fig. 5C, the virtual tool Ts does not move from outside to inside the virtual workpiece Ws at certain machine coordinates Xs(i) at a certain time Ts(i) and the simulation unit 14 sets the contact flag to 0.
[0087] When contact is detected at another position after a certain machining progress, the numerical control device 110 (the virtual load detection unit 18) can detect the contact flag 1 (virtual load information) linked to machine coordinates Xs(k) (position identification comparison data) at which the contact was detected. <2-3>
[0088] Similar to the above, the drive unit 120 and the actual machining unit 12 machine the workpiece W, and the drive unit 120 (the actual load detecting unit 16) detects a contact signal (actual load information) linked to the machine coordinates Xr(j) (position identification comparison data). <2-4>
[0089] Similar to the above, the numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data) and determines whether or not there is a difference between the pieces of information. For example, in Fig. 5C, because the contact flag (virtual load information) at the machine coordinates Xs(i) (position identification comparison data) in the simulation unit 14 corresponding to the machine coordinates Xr(j) (position identification comparison data) at which the contact signal (actual load information) was detected in the actual machining unit 12 is 0, the numerical control device 110 (the load information determination unit 22) determines that there is a difference between the pieces of information.Alternatively, the numerical control device 110 (the load information determining unit 22) determines that there is a difference between the actual load information and the virtual load information because neither the machine coordinates Xr(j) (position identification comparison data) at which the contact signal (actual load information) was detected in the actual machining unit 12, nor the machine coordinates Xs(k-1) and Xs(k) (position identification comparison data) at which the contact flag (virtual load information) changes from 0 to 1 in the simulation unit 14 satisfy the following inequality for any of the axes p operating between i-1 and i. |Xrp(j)−Xsp(k)|≤|Xsp(k)−Xsp(k−1)|
[0090] Similar to the above, the numerical control device 110 (the operation control unit 24) decelerates and stops the machine tool 130 when there is a difference between the actual load information and the virtual load information. [Example 3]
[0091] In Example 3, the operation data is used as the piece of position identification comparison data. By writing machine coordinates into the operation data, it becomes easy to identify a position of a problem in machining data. Fig. 6A is a diagram showing a case where there is no difference between the actual load information regarding the movable unit of the actual machining unit and the virtual load information regarding the virtual movable unit of the simulation unit; and Fig. 6B is a diagram showing a case where there is a difference between the information about the actual load of the movable unit of the actual machining unit and the information about the virtual load of the virtual movable unit of the simulation unit (a pattern in which contact is detected only by the simulation unit). Fig. 6C is a diagram showing a case where there is a difference between the actual load information regarding the movable unit of the actual machining unit and the virtual load information regarding the virtual movable unit of the simulation unit (a pattern in which contact is detected only by the actual machining unit). (Case where there is no difference between actual processing unit and simulation unit)<3-1>
[0092] As in Fig. 6A, for example, the simulation unit 14 analyzes the machining program and prepares the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after the time Ts(i) seconds from the start time Ts(0) as operation data for the simulation unit 14. Meanwhile, for example, the numerical control device 110 analyzes the machining program, prepares time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after the time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, and outputs the time series data Xr(0), Xr(1), ..., Xr(n) to the drive unit 120. Here, i and j are any integers between 1 and n. n is an integer equal to or greater than 1. <3-2>
[0093] The simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws by moving the virtual tool Ts and the virtual workpiece Ws relative to each other based on the machine coordinates Xs(0), ..., Xs(n) (operation data).
[0094] The simulation unit 14 calculates contact information indicating whether or not the virtual tool Ts and the virtual workpiece Ws are in contact with each other as information about the virtual load occurring on the virtual movable unit 134s or 136s at specific machine coordinates Xs(i) at a specific time Ts(i). Further, the simulation unit 14 calculates the specific machine coordinates Xs(i) at a specific time Ts(i) as position identification comparison data identifying a position of comparison between the virtual load information and the actual load information.For example, when the virtual tool Ts moves from outside the virtual workpiece Ws to inside between the machine coordinates Xs(j-1) and Xs(j), the simulation unit 14 adds the coordinates of the machine coordinates Xs(j) in the format "Ln X_Y_Z_" linked to a command block in the operation data (virtual load information and position identification comparison data). Here, n is an integer equal to or greater than 1, and n is incremented and written multiple times if multiple contact occurs during a block.
[0095] When the operation data is micro-line segments, the machine coordinates Xs(j) may be added not for each command block, but for each block (virtual load information and position identification comparison data). Although the case with three feed axes was cited as an example, the present embodiment is also applicable to a case where there are four or more feed axes.
[0096] The pieces of position identification comparison data are data that associate time series or machining positions between the virtual load information and the actual load information. Specifically, the pieces of position identification comparison data are data that cause the machine coordinates Xs(i) at which the virtual tool Ts and the virtual workpiece Ws come into contact with each other in the simulation unit 14 and the machine coordinates Xr(j) at which the tool T and the workpiece W come into contact with each other in the actual machining unit 12 to correspond one-to-one. That is, the pieces of position identification comparison data are data that identify the machine coordinates Xs(i) and the machine coordinates Xr(j) as the positions of comparison of the virtual load information and the actual load information.Thereby, the load information determining unit 22 can appropriately compare the information about the virtual load at the machine coordinates Xs(i) with the information about the actual load at the machine coordinates Xr(j) based on the pieces of position identification comparison data.
[0097] As in Fig. 6A, the numerical control device 110 (the virtual load acquisition unit 18) acquires “Ln X_Y_Z_” (virtual load information and position identification comparison data), which is added to the operation data.
[0098] The simulation unit 14 performs the above-described machining simulation based on the operation data before the actual machining unit 12 is operated, and calculates the virtual load information and the comparison position data in advance. Furthermore, the virtual load acquisition unit 18 may acquire the virtual load information linked to the position identification comparison data in advance before the actual machining unit 12 is operated based on the operation data, and temporarily store the virtual load information and the position identification comparison data in the storage unit 20. <3-3>
[0099] The drive unit 120 drives the motor 132 and the movable unit 134 or 136 of the actual machining unit 12 based on the machine coordinates Xr(0), ..., Xr(n) (operation data) output from the numerical control device 110. Thus, the actual machining unit 12 machines the workpiece W through relative movement of the tool T and the workpiece W.
[0100] The drive unit 120 (the actual load detection unit 16) detects contact information indicating whether or not the tool T and the workpiece W are in contact with each other as information about a load occurring on the movable unit 134 or 136 at specific machine coordinates Xr(j) at a specific time Tr(j). For example, the drive unit 120 (the actual load detection unit 16) monitors the power of the motor 132 (commands or feedback information), determines that the tool T and the workpiece W have come into contact with each other when the power of the motor 132 exceeds a certain threshold, and outputs a contact signal to the numerical control device 110.
[0101] The drive unit 120 (the actual load detection unit 16) detects the contact signal (actual load information) linked to the machine coordinates Xr(j) (position identification comparison data). <3-4>
[0102] The numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the information about whether contact has been made or not (information about the virtual load) based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data), and determines whether there is a difference between the pieces of information. For example, because in Fig. 6A, the machine coordinates Xr(j) (position identification comparison data) at which the contact signal (actual load information) was detected in the actual machining unit 12 and the machine coordinates Xs(i) indicated by “Ln X_Y_Z_” added to the operation data in the simulation unit 14 (position identification comparison data) for all axes p operating between i - 1 and i do not satisfy the following inequality, the numerical control device 110 (the load information determining unit 22) determines that there is no difference between the actual load information and the virtual load information. |Xrp(j)−Xsp(i)|≤|Xsp(i)−Xsp(k−1)| When “Ln X_Y_Z_” (virtual load information and position identification comparison data) is written at a plurality of positions in the operation data, the above determination can be performed in ascending order of the values of n.
[0103] The load information determination unit 22 performs the above-described determination in real time while the actual machining unit 12 is operating, based on the virtual load information obtained in advance from the simulation unit 14 and the actual load information obtained in real time from the actual machining unit 12. The load information determination unit 22 can extract only virtual load information and actual load information in a certain particular section in the pieces of position identification comparison data, and compare the virtual load information with the actual load information.
[0104] When there is no difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) does not restrict the operation.
[0105] Since the cycle for detecting the position of the movable unit in the actual machining unit is generally shorter than a simulation cycle, an error of the machine coordinates Xr(j) at which the contact signal was detected in the actual machining unit 12 can be ignored. However, if the error of the simulation unit 14 is smaller than an error of the actual machining unit, the load information determination unit 22 can determine that there is no difference between the actual load information and the virtual load information if such machine coordinates Xs(i) that come into contact in the simulation unit 14 exist between the machine coordinates Xr(j-1) and Xr(j) in the actual machining unit 12. This means that it can be confirmed that the following equation holds for all axes p operating between i-1 and i. |Xrp(j)−Xsp(i)|≤|Xrp(j)−Xrp(j−1)| (Case where there is a difference between the actual processing unit and the simulation unit) (Pattern where contact is only detected by the simulation unit)<3-1>
[0106] As in Fig. 6B, for example, the simulation unit 14 creates the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after time Ts(i) seconds from the start time Ts(0) as operation data for the simulation unit 14, similarly to the above embodiments. Meanwhile, for example, the numerical control device 110 creates the time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, similarly to the above embodiments. <3-2>
[0107] Similar to the above, the simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws, and the numerical control device 110 (the virtual load acquisition unit 18) acquires “Ln X_Y_Z_” (virtual load information and position identification comparison data), which is added to the operation data as shown in Fig. 6B. <3-3>
[0108] Similar to the above, the drive unit 120 and the actual machining unit 12 machine the workpiece W, and the drive unit 120 (the actual load detection unit 16) detects a contact signal (information about the actual load) linked to the machine coordinates Xr(j) (position identification comparison data). For example, in Fig. 6B, the tool T and the workpiece W do not contact each other due to damage or incorrect mounting of the tool, and the drive unit 120 (the actual load detection unit 16) does not detect a contact signal and does not output a contact signal to the numerical control device 110. <3-4>
[0109] Similar to the above, the numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the information about whether contact has been made or not (information about the virtual load) based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data), and determines whether there is a difference between the pieces of information or not. For example, in Fig. 6B, the numerical control device 110 (the load information determination unit 22) detects that there is a difference between the pieces of information because the drive unit 120 (the actual load detection unit 16) does not detect a contact signal even though a block (position identification comparison data) corresponding to a block in which "Ln X_Y_Z_" (virtual load information and position identification comparison data) is written in the operation data of the simulation unit 14 has passed.
[0110] When there is a difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) decelerates and stops the machine tool 130. The numerical control device 110 (the operation control unit 24) may immediately stop the motor power or execute a predetermined emergency stop operation. That is, the numerical control device 110 (the operation control unit 24) performs output restriction to cause the movable unit 134 or 136 to perform a preset retraction operation of the movable unit 134 or 136, or to immediately decelerate and stop the operation of the movable unit 134 or 136 in the actual machining unit 12.
[0111] Furthermore, the display unit 28 may display the machine coordinates Xs(i) of the operation data where contact (interference) between the virtual tool Ts and the virtual workpiece Ws was detected in the simulation unit 14 in a color different from the color of other operation data, or flash the machine coordinates Xs(i). This allows the machine tool operator to easily recognize the machine coordinates Xs(i) of the operation data where contact (interference) between the virtual tool Ts and the virtual workpiece Ws was detected in the simulation unit 14. (Case where there is a difference between the actual processing unit and the simulation unit) (Pattern where contact is detected only by the actual processing unit)<3-1>
[0112] As in Fig. 6C, for example, the simulation unit 14 creates the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after time Ts(i) seconds from the start time Ts(0) as operation data for the simulation unit 14, similarly to the above embodiments. Meanwhile, for example, the numerical control device 110 creates the time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, similarly to the above embodiments. <3-2>
[0113] Similar to the above, the simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws, and the numerical control device 110 (the virtual load acquisition unit 18) acquires ",Ln X_Y_Z_" (virtual load information and position identification comparison data), which are added to the operation data as shown in Fig. 6C. For example, in Fig. 6C, the virtual tool Ts does not enter the virtual workpiece Ws from outside and “,Ln X_Y_Z_" (virtual load information and position identification comparison data) is not written into the operation data, the numerical control device 110 (the virtual load acquisition unit 18) does not add “,Ln X_Y_Z_" (virtual load information and position identification comparison data) to the operation data. <3-3>
[0114] Similar to the above, the drive unit 120 and the actual machining unit 12 machine the workpiece W, and the drive unit 120 (the actual load detecting unit 16) detects a contact signal (actual load information) linked to the machine coordinates Xr(j) (position identification comparison data). <3-4>
[0115] Similar to the above, the numerical control device 110 (the load information determination unit 22) compares the contact signal (information about the actual load) with the information about whether contact has been made or not (information about the virtual load) based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data), and determines whether there is a difference between the pieces of information. For example, the numerical control device 110 (the load information determination unit 22) determines Fig. 6C that there is a difference between the pieces of information because “Ln X_Y_Z_” (information about the virtual load and position identification comparison data) is not written in a block of the operation data of the simulation unit 14 corresponding to the machine coordinates Xr(j) (position identification comparison data) at which the contact signal (information about the actual load) was detected in the actual machining unit 12.
[0116] Similar to the above, the numerical control device 110 (the operation control unit 24) decelerates and stops the machine tool 130 when there is a difference between the actual load information and the virtual load information.
[0117] Furthermore, similar to the above embodiments, the display unit 28 may display the machine coordinates Xr(j) at which contact (interference) between the tool T and the workpiece W was detected in the actual machining unit 12 in a color different from the color of other operation data, or flash the machine coordinates Xr(j). This allows the machine tool operator to easily recognize the machine coordinates Xr(j) at which contact (interference) between the tool T and the workpiece W was detected in the actual machining unit 12. [Example 4]
[0118] In Example 4, the magnitude of a load (energy) occurring on the movable unit at the time of machining the workpiece is used as information about the actual load, and the magnitude of a load (energy) occurring on the virtual movable unit at the time of machining the virtual workpiece is used as information about the virtual load. By detecting the magnitude of the load (energy) instead of detecting whether contact has been made, it becomes possible to more accurately determine the contact between the tool and the workpiece, for example, at the time of performing step-cutting or milling. <4-1>
[0119] As in Fig. 7, for example, the numerical control device 110 analyzes the machining program and prepares the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after the time point Ts(i) seconds from the start time point Ts(0) as the operation data for the simulation unit 14, and outputs the time series data Xs(0), Xs(1), ..., Xs(n) to the simulation unit 14. Further, for example, the numerical control device 110 analyzes the machining program, prepares time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after the time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, and outputs the time series data Xr(0), Xr(1), ..., Xr(n) to the drive unit 120. Here, i and j are arbitrary integers between 1 and n, and n is an integer equal to or greater than 1.
[0120] In the present embodiment, the form of the numerical control device 110 that analyzes the machining program and creates the time series data of the machine coordinates (operation data) is illustrated. However, the present embodiment is not limited to this, and the computer constituting the simulation unit 14 or another computer may analyze the machining program and create the time series data of the machine coordinates (operation data). <4-2>
[0121] The simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws by moving the virtual tool Ts and the virtual workpiece Ws relative to each other based on the machine coordinates Xs(0), ..., Xs(n) (operation data) output from the numerical control device 110.
[0122] The simulation unit 14 calculates a total amount of virtual load Ws(i) [J / s] (energy Ws × t) as information about a virtual load occurring on the virtual movable unit 134s or 136s at certain machine coordinates Xs(i) at a certain time Ts(i).
[0123] An example of calculating the total amount of virtual load Ws(i) [J / s] (energy Ws × t) is shown below. Consider a case where the virtual movable unit 134s or 136s moves from the machine coordinates Xs(i - 1) at time Ts(i - 1) to the machine coordinates Xs(i) at time Ts(i). Assuming that the energy required to perform removal processing of the virtual workpiece Ws is proportional to the volume to be removed (a proportionality constant k) and the total friction coefficient remains constant when causing the movable unit to operate with a mass of m (n), the total amount of virtual load Ws(i) per hour from time T(i - 1) to T(i) can be expressed by the following formula: Ws(i)=Es(i)ΔTs Es(i)=kVs(i)+(12mvs(i)2−12mvs(i−1)2)+φ(Xs(i))−φ(Xs(i−1))+nmg|Xs(i)−Xs(i−1)|
[0124] As for the numerator on the right side of the above formula, the first term represents the energy required to complete the machining of the virtual workpiece Ws; the second term represents a change amount of kinetic energy; the third term represents a change amount of potential energy; and the fourth term represents the energy consumed by the movement of the virtual movable unit.
[0125] Here, Vs(i) represents the volume of an area to be removed and represents an area through which the virtual tool Ts has passed and in which the area of the virtual workpiece Ws has overlapped between Ts(i - 1) and Ts(i). Furthermore, Vs(i) represents the velocity of i and can be expressed by the following formula: vs(i)=|Xs(i)−Xs(i−1)|ΔTs
[0126] Furthermore, the simulation unit 14 calculates the determined machine coordinates Xs(i) at a specific time Ts(i) as position identification comparison data that identifies a comparison position between the virtual load information and the actual load information. Specifically, the pieces of position identification comparison data are data that link time series or machining positions between the virtual load information and the actual load information.Specifically, the pieces of position identification comparison data are data that cause the time point Ts(i) at which the virtual tool Ts and the virtual workpiece Ws come into contact with each other in the simulation unit 14 and the time point Tr(j) at which the tool T and the workpiece W come into contact with each other in the actual machining unit 12 to correspond one-to-one. That is, the pieces of position identification comparison data are data that identify the time point Ts(i) and the time point Tr(j) as the positions of comparison of the virtual load information and the actual load information.This allows the load information determination unit 22 to appropriately compare the virtual load information at time Ts(i) with the actual load information at time Tr(j) based on the pieces of position identification comparison data. As described above, the simulation unit 14 may be provided in the numerical control device 110 or configured with a computer different from the numerical control device 110.
[0127] As in Fig. 7, the numerical control device 110 (the virtual load detection unit 18) detects the load Ws(i) [J / s] (energy Ws × t) (virtual load information) linked to the time Ts(i) (position identification comparison data).
[0128] The simulation unit 14 performs the above-described machining simulation before the actual machining unit 12 is operated based on the operation data, and calculates the virtual load information and the comparison position data in advance. Furthermore, the virtual load acquisition unit 18 may acquire the virtual load information linked to the position identification comparison data in advance before the actual machining unit 12 is operated based on the operation data, and temporarily store the virtual load information and the position identification comparison data in the storage unit 20. <4-3>
[0129] The drive unit 120 drives the motor 132 and the movable unit 134 or 136 of the actual machining unit 12 based on the machine coordinates Xr(0), ..., Xr(n) (operation data) output from the numerical control device 110. At this time, the actual machining unit 12 machines the workpiece W through relative movement of the tool T and the workpiece W.
[0130] The drive unit 120 (the actual load detection unit 16) calculates a total amount of motor load Wr(j) [J / s] (energy Wr × t) as information about an actual load occurring on the movable unit 134 or 136 at specific machine coordinates Xr(j) at a specific time Tr(j). The calculation of the load Wr(j) [J / s] (energy Wr × t) can be performed similarly to the above-described example for calculating the load Ws(i) [J / s] (energy Ws × t).
[0131] If the machine tool is an electric spark erosion machine, the current flowing through the tool can be added to the total motor load.
[0132] As in Fig. 7, the drive unit 120 (the actual load detection unit 16) detects the load Wr(j)[J / s] (energy Wr × t) (actual load information) linked to the time Tr(j) (position identification comparison data). <4-4>
[0133] The numerical controller 110 (the load information determination unit 22) compares the load Wr(j) [J / s] (energy Wr × t) (actual load information) with the load Ws(i) [J / s] (energy Ws × t) (virtual load information) based on the time points Tr(j) and Ts(i) (position identification comparison data), and determines whether or not there is a difference between the pieces of information. For example, in Fig. 7, the numerical control device 110 (the load information determining unit 22) determines the minimum j (jmin) and the maximum j (jmax) that satisfy the following formula at the time of Ts(i): Ts(i−1)≤Tr(j) <Ts(i)
[0134] The numerical control device 110 (the load information determination unit 22) determines whether the following formula is satisfied in the case of i. If the following formula is satisfied, the numerical control device 110 (the load information determination unit 22) determines that there is no difference between the actual load information and the virtual load information. |Ws(i)ΔTs−∑k=jminjmax−jmin+1(Wr(k)ΔTr)|≤ΔW
[0135] Here, jmin and jmax represent the minimum and maximum j that satisfy Ts(i - 1) ≤ Tr(j) < Ts(i); ΔTs represents a simulation cycle; ΔTr represents a cycle of motor power acquisition in the actual machining unit; and ΔW[J] represents a certain threshold value indicating a motor load. The above formula assumes ΔTs > ΔTr.
[0136] If the motor power is smaller than the threshold, the comparison may not be possible under the assumption that the workpiece and the tool are not in contact with each other in the actual machining unit.
[0137] The load information determination unit 22 performs the above-described determination in real time while the actual machining unit 12 is operating, based on the virtual load information obtained in advance from the simulation unit 14 and the actual load information obtained in real time from the actual machining unit 12. The load information determination unit 22 can extract only virtual load information and actual load information in a certain particular section in the pieces of position identification comparison data, and compare the virtual load information with the actual load information.
[0138] When there is no difference between the actual load information and the virtual load information, the numerical control device 110 (the operation control unit 24) does not restrict the operation.
[0139] As described above, the load information determining unit 22 may be provided in the numerical control device 110, may be provided in the drive unit 120 (a servo control unit or an amplifier), or may be configured by means of a computer different from the numerical control device 110 and the drive unit 120. [Example 5]
[0140] In Examples 1 to 4 described above, the form of restricting the operation of actual machining was illustrated under the assumption that something is wrong with the actual machining. In Example 5, the machining simulation settings are changed (corrected) when something is wrong with the machining simulation settings. By reflecting the difference between the actual load information and the virtual load information in the machining simulation, the accuracy of the simulation can be improved. <5-1>
[0141] As in Fig. 8, the numerical control device 110 analyzes, for example, the machining program and prepares the time series data Xs(0), Xs(1), ..., Xs(n) of the machine coordinates Xs(i) of the virtual movable unit 134s or 136s after the time point Ts(i) seconds from the start time point Ts(0) as the operation data for the simulation unit 14, and outputs the time series data Xs(0), Xs(1), ..., Xs(n) to the simulation unit 14. Further, for example, the numerical control device 110 analyzes the machining program, prepares time series data Xr(0), Xr(1), ..., Xr(n) of the machine coordinates Xr(j) of the movable unit 134 or 136 after the time Tr(j) seconds from the start time Tr(0) as operation data for the actual machining unit 12, and outputs the time series data Xr(0), Xr(1), ..., Xr(n) to the drive unit 120. Here, i and j are arbitrary integers between 1 and n, and n is an integer equal to or greater than 1.
[0142] In the present embodiment, the form of the numerical control device 110 that analyzes the machining program and creates the time series data of the machine coordinates (operation data) is illustrated. However, the present embodiment is not limited to this, and the computer constituting the simulation unit 14 or another computer may analyze the machining program and create the time series data of the machine coordinates (operation data). <5-2>
[0143] The drive unit 120 drives the motor 132 and the movable unit 134 or 136 of the actual machining unit 12 based on the machine coordinates Xr(0), ..., Xr(n) (operation data) output from the numerical control device 110. Thus, the actual machining unit 12 machines the workpiece W through relative movement of the tool T and the workpiece W.
[0144] The drive unit 120 (the actual load detection unit 16) detects contact information indicating whether or not the tool T and the workpiece W are in contact with each other as information about a load occurring on the movable unit 134 or 136 at specific machine coordinates Xr(j) at a specific time Tr(j). For example, the drive unit 120 (the actual load detection unit 16) monitors the power of the motor 132 (commands or feedback information), sets the contact signal to 0 when the power of the motor 132 does not exceed a specific threshold, and sets the contact signal to 1 when the power of the motor 132 exceeds the specific threshold, thereby determining that the tool T and the workpiece W have come into contact with each other.
[0145] The drive unit 120 (the actual load detection unit 16) detects the contact signal (actual load information) linked to the machine coordinates Xr(j) (position identification comparison data).
[0146] The pieces of position identification comparison data are data that link time series or machining positions between the virtual load information and the actual load information. Specifically, the pieces of position identification comparison data are data that cause the machine coordinates Xs(i) at which the virtual tool Ts and the virtual workpiece Ws come into contact with each other in the simulation unit 14 and the machine coordinates Xr(j) at which the tool T and the workpiece W come into contact with each other in the actual machining unit 12 to correspond one-to-one. That is, the pieces of position identification comparison data are data that identify the machine coordinates Xs(i) and the machine coordinates Xr(j) as the positions of comparison of the virtual load information and the actual load information.Thereby, the load information determining unit 22 can appropriately compare the information about the virtual load at the machine coordinates Xs(i) with the information about the actual load at the machine coordinates Xr(j) based on the pieces of position identification comparison data. <5-3>
[0147] The simulation unit 14 performs a simulation of the machining of the virtual workpiece Ws by moving the virtual tool Ts and the virtual workpiece Ws relative to each other based on the machine coordinates Xs(0), ..., Xs(n) (operation data) output from the numerical control device 110.
[0148] The simulation unit 14 calculates contact information indicating whether or not the virtual tool Ts and the virtual workpiece Ws are in contact with each other as information about a virtual load that occurs on the virtual movable unit 134s or 136s at specific machine coordinates Xs(i) at a specific time Ts(i). For example, the simulation unit 14 sets the contact flag to 0 when the virtual tool Ts is outside the virtual workpiece Ws, and sets the contact flag to 1 when the virtual tool Ts moves into the virtual workpiece Ws from the outside.
[0149] Further, the simulation unit 14 calculates the determined machine coordinates Xs(i) at a certain time Ts(i) as position identification comparison data that identifies a comparison position between the virtual load information and the actual load information. As described above, the simulation unit 14 may be provided in the numerical control device 110 or configured with a computer different from the numerical control device 110.
[0150] The numerical control device 110 (the virtual load detection unit 18) detects the contact flag 0 / 1 (virtual load information) linked to the machine coordinates Xs(i) (position identification comparison data). <5-4>
[0151] The simulation unit 14 (the load information determination unit 22) compares the contact signal (information about the actual load) with the contact flag (information about the virtual load) based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data) and determines whether or not there is a difference between the pieces of information. For example, if Fig. 8, the machine coordinates Xr(j) (position identification comparison data) at which the contact signal (actual load information) was detected in the actual machining unit 12 and the machine coordinates Xs(i) (position identification comparison data) at which the contact flag (virtual load information) changes from 0 to 1 in the simulation unit 14 are different, the numerical control device 110 (load information determination unit 22) determines that there is a difference between the actual load information and the virtual load information based on the machine coordinates Xr(j) and Xs(i) (position identification comparison data).
[0152] The load information determining unit 22 can extract only virtual load information and actual load information in a certain particular section in the pieces of position identification comparison data and compare the virtual load information with the actual load information.
[0153] When there is a difference between the information about the actual load and the information about the virtual load, the simulation unit 14 (the correction unit 26) changes (corrects) the prerequisites for the simulation unit 14. Prerequisites for the simulation unit 14 include, for example, items written in the operation data, which are prerequisites about a virtual tool, a virtual workpiece, and a virtual movable unit.
[0154] For example, calculated in Fig.8 the simulation unit 14 (the correction unit 26) reflects a difference between machine coordinates in the simulation unit 14 corresponding to the machine coordinates Xr(j) at which the contact signal (information on the actual load) was detected in the actual machining unit 12 and machine coordinates of a boundary of the virtual workpiece Ws, and the difference of the conditions for the simulation unit to make a change, the difference serving as a target value of a radius R of the virtual tool Ts.
[0155] Alternatively, the simulation unit 14 (the correction unit 26) may calculate a difference between the machine coordinates Xr(j) at which the contact signal (information about the actual load) was detected in the actual machining unit 12 and the machine coordinates Xs(i) at which the contact flag (information about the virtual load) was detected in the simulation unit 14, set the difference as a correction amount of the virtual tool Ts, and transfer the difference to the prerequisites for the simulation unit to change (correct) the set value for the virtual tool Ts by the correction amount.
[0156] Alternatively, based on the machine coordinates Xr(j) (position identification comparison data) at which the contact signal (information about the actual load) was detected in the actual machining unit 12 and the machine coordinates Xs(i) (position identification comparison data) at which the contact flag (information about the virtual load) in the simulation unit 14 changes from 0 to 1, the simulation unit 14 (the correction unit 26) may identify such a process that there is a difference between the pieces of information in the operation data and change (correct) the conditions for the machining simulation.
[0157] As described above, according to the machining load determination system 10 of the present embodiment, information about the virtual load is acquired through machining simulation linked to position identification comparison data, and information about the actual load is acquired through actual machining linked to position identification comparison data. Therefore, it is possible to appropriately compare the pieces of load information based on the pieces of position identification comparison data without performing machining simulation for actual machining in real time. Therefore, it is possible to pre-perform machining simulation before actual machining; it is not necessary to shorten the machining simulation time according to the operation time of actual machining; and the accuracy of the machining simulation is not limited.This means that the accuracy of machining simulation can be improved. Therefore, it is possible to improve the accuracy of detecting a difference between the machining simulation and the actual machining, and to correctly detect malfunctions that could not previously be prevented using the current technology.
[0158] In the technique disclosed in Patent Document 1, it is necessary to repeatedly perform the same simulation when repeating the same operation with the same operating data, and therefore, resources are required. Regarding this point, in the present embodiment, it is not necessary to perform machining simulation every time the actual machining is performed, and resources can be reduced compared to the technique disclosed in Patent Document 1.
[0159] The present disclosure has been described in detail, but is not limited to the individual embodiments described above. For the above-mentioned embodiments, various additions, replacements, changes, partial deletions, and the like are possible within a scope that does not deviate from the gist of the present disclosure, or within a scope that does not deviate from the gist of the present disclosure, which is clear from the content described in the claims and equivalents of the content. Furthermore, the above-mentioned embodiments can be implemented in reasonable combinations. For example, in the above-described embodiments, the order of operations and the order of processes are presented as examples, and the present disclosure is not limited thereto.The same applies to cases where numerical values or formulas are used in the description of the embodiments described above.
[0160] For the above-mentioned embodiments and modifications, the following additional notes are further disclosed. (Additional Note 1)
[0161] A system for determining the machining load (10) comprises: an actual machining unit (12) having a movable unit (134 or 136) provided with a tool (T) or a machining target object (W) and machining the machining target object (W) by relative movement of the tool (T) and the machining target object (W) based on operation data; a simulation unit (14) that performs, in a virtual space (VS) having a virtual tool (Ts), a virtual machining target object (Ws), and a virtual movable unit (134s or 136s) corresponding respectively to the tool (T), the machining target object (W), and the movable unit (134 or 136), a machining simulation of machining the virtual machining target object (Ws) by relatively moving the virtual tool (Ts) and the virtual machining target object (Ws) based on the operation data; a virtual load acquisition unit (18) that acquires virtual load information about a virtual load occurring on the virtual movable unit (134s or 136s), the virtual load information being obtained through the machining simulation by the simulation unit (14); an actual load detecting unit (16) that detects information about the actual load occurring on the movable unit (134 or 136), the actual load information being obtained by the actual processing unit (12); and a load information determining unit (22) that determines whether or not there is a difference between the virtual load information and the actual load information by comparing the virtual load information with the actual load information.
[0162] The simulation unit (14) calculates the virtual load information and the position identification comparison data that identify a position of comparison between the virtual load information and the actual load information, the virtual load acquisition unit (18) acquires the virtual load information linked to the position identification comparison data, the actual load detection unit (16) detects the actual load information linked to the position identification comparison data, and the load information determining unit (22) compares the virtual load information with the actual load information based on the position identification comparison data. (Additional Note 2)
[0163] In the machining load determination system (10), the position identification comparison data for the actual load information includes position information about the movable unit (134 or 136) and / or time information; and the position identification comparison data for the virtual load information includes position information of the virtual movable unit (134s or 136s) and / or time information and / or the operation data. (Additional Note 3)
[0164] In the system for determining the machining load (10) include the information about the actual load energy occurring in the movable unit (134 or 136) at a time of machining the machining target object (W), and contain the information about the virtual load energy that occurs in the virtual movable unit (134s or 136s) at a time of machining the virtual machining target object (Ws). (Additional Note 4)
[0165] In the system for determining the machining load (10) the information about the actual load is contact information indicating whether the tool (T) and the machining target object (W) are in contact with each other or not, and The information about the virtual load is contact information, which indicates whether the virtual tool (Ts) and the virtual machining target object (Ws) are in contact with each other or not. (Additional Note 5)
[0166] In the machining load determination system (10), the load information determination unit (22) performs the determination in real time while the actual machining unit (12) is in operation. (Additional Note 6)
[0167] In the machining load determination system (10), in a case where the load information determination unit (22) determines that there is a difference between the virtual load information and the actual load information, the actual machining unit (12) performs a power restriction to cause the movable unit (134 or 136) to operate, and / or a preset operation of retracting the movable unit (134 or 136), and / or immediately decelerating and stopping the operation of the movable unit (134 or 136). (Additional Note 7)
[0168] In the machining load determination system (10), the simulation unit (14) performs the machining simulation based on the operating data, wherein the operating data has prerequisites regarding the virtual tool (Ts), the virtual machining target object (Ws) and the virtual movable unit (134s or 136s), and in a case where the load information determining unit (22) determines that there is a difference between the virtual load information and the actual load information, the simulation unit (14) identifies, in the operation data, a process in which the difference between the virtual load information and the actual load information exists, based on the position identification comparison data and changes the conditions for the machining simulation. (Additional Note 8)
[0169] In the machining load determining system (10), the actual load information is contact information indicating whether the tool (T) and the machining target object (W) are in contact with each other or not, the information about the virtual load is contact information that indicates whether the virtual tool (Ts) and the virtual machining target object (Ws) are in contact with each other or not, the position identification comparison data for the information on the actual load includes position information on the movable unit (134 or 136), the position identification comparison data for the information about the virtual load includes position information about the virtual movable unit (134s or 136s), the simulation unit (14) carries out the machining simulation based on the operating data, which includes prerequisites about the virtual tool (Ts), the virtual machining target object (Ws) and the virtual movable unit (134s or 136s), and in a case where the load information determining unit (22) determines that there is a difference between the virtual load information and the actual load information, the simulation unit (14) calculates a difference between machine coordinates at which the tool (t) and the machining target object (W) in the actual machining unit (12) have come into contact with each other and machine coordinates at which the virtual tool (Ts) and the virtual machining target object (Ws) in the simulation unit (14) have come into contact with each other, and the simulation unit (14) changes the requirements for the virtual tool (Ts), whereby the difference serves as a correction amount for the virtual tool (Ts). (Additional Note 9)
[0170] In the system for determining the machining load (10) the simulation unit (14) performs the machining simulation before the actual machining unit (12) executes the operation based on the operation data, and calculates the comparison position data and the virtual load information. (Additional Note 10)
[0171] In the machining load determination system (10), the virtual load acquisition unit (18) writes at least one of the position identification comparison data and the virtual load information into the operation data. (Additional Note 11)
[0172] The system for determining the machining load (10) has a display unit (28) that displays position identification comparison data for which the load information determining unit (22) has determined that there is a difference between the virtual load information and the actual load information, in a display manner that changes according to the difference. (Additional Note 12)
[0173] In the machining load determining system (10), the load information determining unit (22) extracts and compares only a part of the virtual load information with only a part of the actual load information corresponding to a certain particular portion in the position identification comparison data. LIST OF REFERENCE SYMBOLS 10 System for determining the machining load 12 actual processing unit 14 Simulation unit 16 Unit for recording the actual load 18 Virtual load detection unit 20 storage units 22 Unit for determining load information 24 Operation control unit 26 Correction unit 28 display unit 100 industrial machine systems 110 numerical control device 120 drive unit 130 Machine tool (industrial machine) 132 engine 134 Assembly unit (movable unit) 134s virtual assembly unit (virtual movable unit) 136 Table (movable unit) 136s virtual table (virtual movable unit) T tool Ts virtual tool VS virtual space W Workpiece (machining target object) Ws virtual workpiece (virtual machining target object) QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 2004-364396
[0005]
Claims
[1] System for determining the machining load, comprising: an actual machining unit having a movable unit provided with a tool or a machining target object, and machining the machining target object by relatively moving the tool and the machining target object based on operation data; a simulation unit that performs, in a virtual space having a virtual tool, a virtual machining target object, and a virtual movable unit, each corresponding to the tool, the machining target object, and the movable unit, a machining simulation of machining the virtual machining target object by moving the virtual tool and the virtual machining target object relative to each other based on the operation data; a virtual load acquisition unit that acquires virtual load information about a virtual load occurring on the virtual movable unit, the virtual load information obtained through machining simulation by the simulation unit; an actual load detecting unit that detects information about an actual load occurring on the movable unit, the actual load information being obtained by machining by the actual machining unit; and a load information determination unit that determines whether there is a difference between the virtual load information and the actual load information by comparing the virtual load information with the actual load information, where the simulation unit calculates the virtual load information and position identification comparison data that identify a comparison position between the virtual load information and the actual load information, the virtual load acquisition unit acquires the information about the virtual load linked to the position identification comparison data, the actual load acquisition unit acquires the actual load information linked to the position identification comparison data, and the load information determination unit compares the virtual load information with the actual load information based on the position identification comparison data. [2] A machining load determination system according to claim 1, wherein the position identification comparison data for the actual load information includes position information about the movable unit and / or time information, and the position identification comparison data for the information about the virtual load includes position information about the virtual movable unit and / or time information and / or the operation data. [3] A machining load determination system according to claim 1 or 2, wherein the information about the actual load energy that occurs in the movable unit at the time of machining the machining target object, and the information about the virtual load energy that occurs in the virtual movable unit at the time of machining the virtual machining target object. [4] A machining load determination system according to claim 1 or 2, wherein the information about the actual load is contact information indicating whether the tool and the machining target object are in contact with each other or not, and the information about the virtual load is contact information that indicates whether the virtual tool and the virtual machining target object are in contact with each other or not. [5] The machining load determination system according to any one of claims 1 to 4, wherein the load information determination unit makes the determination in real time while the actual machining unit is in operation. [6] The machining load determining system according to any one of claims 1 to 5, wherein, in a case where the load information determining unit determines that there is a difference between the virtual load information and the actual load information, the actual machining unit performs a limitation of the power causing the movable unit to operate, and / or a preset retraction operation of the movable unit, and / or immediate deceleration and stopping of the operation of the movable unit. [7] A system for determining the machining load according to any one of claims 1 to 4, wherein the simulation unit performs the machining simulation based on the operating data, wherein the operating data includes prerequisites regarding the virtual tool, the virtual machining target object and the virtual movable unit, and In a case where the load information determination unit determines that there is a difference between the virtual load information and the actual load information, the simulation unit identifies a process in the operation data in which the difference between the virtual load information and the actual load information exists based on the position identification comparison data and changes the conditions for the machining simulation. [8] A system for determining the machining load according to any one of claims 1 to 4, wherein the information about the actual load is contact information, which indicates whether the tool and the machining target object are in contact with each other or not, the information about the virtual load is contact information that indicates whether the virtual tool and the virtual machining target object are in contact with each other or not, the position identification comparison data for the information on the actual load includes position information on the movable unit, the position identification comparison data for the information about the virtual load includes position information about the virtual movable unit, the simulation unit performs the machining simulation based on the operating data that has prerequisites about the virtual tool, the virtual machining target object and the virtual movable unit, and in a case where the load information determination unit determines that there is a difference between the virtual load information and the actual load information, the simulation unit calculates a difference between machine coordinates at which the tool and the machining target object have come into contact with each other in the actual machining unit and machine coordinates at which the virtual tool and the virtual machining target object have come into contact with each other in the simulation unit, and the simulation unit changes the requirements for the virtual tool, whereby the difference serves as a correction amount for the virtual tool. [9] The machining load determining system according to any one of claims 1 to 5, wherein the simulation unit performs the machining simulation before the actual machining unit performs the operation based on the operation data, and calculates the position identification comparison data and the virtual load information. [10] The machining load determining system according to claim 2, wherein the virtual load detecting unit writes the position identification comparison data and / or the virtual load information into the operation data. [11] A machining load determination system according to any one of claims 1 to 10, comprising a display unit that displays position identification comparison data for which the load information determination unit has determined that there is a difference between the virtual load information and the actual load information, in a display manner that changes according to the difference. [12] The machining load determining system according to any one of claims 1 to 10, wherein the load information determining unit extracts and compares only a part of the virtual load information with only a part of the actual load information corresponding to a certain particular portion in the position identification comparison data.
Citation Information
Patent Citations
2004-364396