Calculation device and computer-readable storage medium

JPWO2024201557A5Pending Publication Date: 2025-12-11
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025509058
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2025-07-02
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

Existing techniques fail to accurately calculate the deviation between a master axis and a slave axis arranged at an angle in multi-axis machine tools, as simple subtraction of positional deviations does not account for angular differences.

Method used

A calculation device and storage medium that acquire positional deviations of both axes, convert them into a common coordinate system, and calculate the deviation based on these values, allowing for accurate determination of synchronization errors and correction.

Benefits of technology

Enables precise calculation and correction of synchronization errors between master and slave axes, even when they are inclined, improving the accuracy and precision of multi-axis machine operations.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

In order to accurately calculate a deviation amount between a master shaft and a slave shaft disposed at an incline relative to the master shaft, this calculation device is configured so as to be able to execute: executing any one among acquiring a first value that indicates a positional deviation of the master shaft and a second value that indicates a positional deviation of the slave shaft disposed at an incline of a prescribed angle relative to the master shaft, converting the acquired first value into a third value that indicates the positional deviation of the master shaft in a prescribed coordinate system, and converting the acquired second value into a fourth value that indicates a positional deviation of the slave shaft in the prescribed coordinate system; calculating a deviation amount in the prescribed coordinate system between the positional deviation of the master shaft and the positional deviation of the slave shaft on the basis of the first value and the fourth value, the second value and the third value, or the third value and the fourth value; and outputting the calculated deviation amount.
Need to check novelty before this filing date? Find Prior Art

Description

Computing Device and Computer-Readable Storage Medium

[0001] The present disclosure relates to computing devices and computer-readable storage media.

[0002] Conventionally, a technique for synchronously controlling a master axis and a slave axis in a multi-axis machine tool has been known (for example, see Patent Document 1). When the master axis and the slave axis move along one axis of a coordinate system, the deviation between the master axis and the slave axis is calculated by subtracting the position deviation of one of the master axis and the slave axis from the position deviation of the other.

[0003] Japanese Patent Application Laid-Open No. 2003-131712

[0004] However, when a slave axis is disposed at an angle with respect to a master axis, it is not possible to calculate the correct amount of deviation simply by subtracting the positional deviation of one of the master axis and the slave axis from the positional deviation of the other. Therefore, there is a need for a technology that can accurately calculate the amount of deviation between a master axis and a slave axis that is disposed at an angle with respect to the master axis.

[0005] The calculation device disclosed herein includes: an acquisition unit that acquires a first value that indicates a positional deviation of the master axis and a second value that indicates a positional deviation of a slave axis that is arranged at an angle relative to the master axis by a predetermined angle; a conversion unit that performs at least one of converting the first value acquired by the acquisition unit into a third value that indicates a positional deviation of the master axis in a predetermined coordinate system and converting the second value acquired by the acquisition unit into a fourth value that indicates a positional deviation of the slave axis in the predetermined coordinate system; a calculation unit that calculates an amount of deviation between the positional deviation of the master axis and the positional deviation of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value; and an output unit that outputs the amount of deviation calculated by the calculation unit.

[0006] A computer-readable storage medium of the present disclosure stores instructions that cause a computer to execute the following: acquire a first value that indicates a position error of a master axis and a second value that indicates a position error of a slave axis that is disposed at an inclination of a predetermined angle with respect to the master axis; convert the acquired first value into a third value that indicates a position error of the master axis in a predetermined coordinate system; or convert the acquired second value into a fourth value that indicates a position error of the slave axis in the predetermined coordinate system; calculate an amount of deviation between the position error of the master axis and the position error of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value; and output the calculated amount of deviation.

[0007] FIG. 1 is a diagram for explaining an example of a system including a calculation device; FIG. 2 is a block diagram showing an example of a hardware configuration of the calculation device; FIG. 3 is a block diagram showing an example of a function of the calculation device; FIG. 4 is a diagram for explaining tilt of a control axis; FIG. 5 is a diagram for explaining a position deviation; FIG. 6 is a diagram for explaining a position deviation; FIG. 7 is a diagram for explaining a position deviation of a tilt axis; FIG. 8 is a diagram for explaining a position deviation of a tilt axis; FIG. 9 is a diagram for explaining an example of a processing machine; FIG. 10 is a diagram for explaining an example of a processing machine; FIG. 11 is a diagram for explaining an example of a processing machine; FIG. 12 is a flowchart showing an example of processing executed in the calculation device; FIG. 13 is a block diagram showing an example of a hardware configuration of a processing machine; FIG. 14 is a block diagram showing an example of a function of the calculation device implemented in a numerical control device; FIG. 15 is a flowchart showing an example of processing executed in the calculation device.

[0008] A computing device and a computer-readable storage medium according to an embodiment of the present disclosure will be described below with reference to the drawings. In the following description, components having the same or similar functions will be denoted by the same reference numerals. Duplicate descriptions of those components may be omitted.

[0009] In this application, "based on XX" means "based on at least XX," and includes cases where it is based on other elements in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX" is any element (for example, any information).

[0010] 1 is a diagram illustrating an example of a system including a calculation device. The system includes the calculation device 1 and a processing machine 2. The calculation device 1 and the processing machine 2 are connected to each other via a network N.

[0011] The calculation device 1 is a device that calculates the amount of deviation between a plurality of control axes that are arranged at angles to one another in a processing machine 2. The calculation device 1 is implemented in, for example, a PC (Personal Computer), a server, or a mobile terminal.

[0012] The processing machine 2 is a machine tool, a laser processing machine, or a three-dimensional printer. The machine tool is, for example, a machining center, a lathe, or a multi-tasking machine. The control axes include, for example, the X-axis, the Y-axis, and the Z-axis. The deviation amount will be explained in detail later.

[0013] The processing machine 2 is equipped with multiple systems. In each system, the control axes operate based on a processing program. The control axes in each system operate, for example, in multiple coordinate systems that are different from each other. However, the control axes in each system may also operate in one common coordinate system. The processing machine 2 equipped with multiple systems is, for example, a lathe equipped with an upper tool post and a lower tool post, or a multi-task machine equipped with multiple spindle heads.

[0014] The processing machine 2 includes a numerical control device 3. The numerical control device 3 is a device that controls the processing machine 2. The numerical control device 3 controls, for example, the operation of a control axis of the processing machine 2.

[0015] The network N connects the calculation device 1 and the processing machine 2 by wire or wirelessly. The network N is, for example, an internet line or a LAN (Local Area Network).

[0016] 2 is a block diagram showing an example of the hardware configuration of the computing device 1. The computing device 1 includes, for example, a hardware processor 101, a bus 102, a read-only memory (ROM) 103, a random access memory (RAM) 104, a non-volatile memory 105, an interface 106, an input / output device 107, and a communication device 108.

[0017] The hardware processor 101 is a processor that uses a system program to control the entire computing device 1. The hardware processor 101 reads the system program stored in the ROM 103 via the bus 102. The hardware processor 101 is, for example, a CPU (Central Processing Unit) or an electronic circuit.

[0018] The bus 102 is a communication path that connects the various pieces of hardware in the computing device 1. The various pieces of hardware in the computing device 1 exchange data via the bus 102.

[0019] The ROM 103 is a storage device that stores system programs, etc. The ROM 103 is a computer-readable storage medium.

[0020] The RAM 104 is a storage device that temporarily stores various data and functions as a work area for the hardware processor 101 to process various data.

[0021] The nonvolatile memory 105 is a storage device that retains data even when the power to the calculation device 1 is turned off. The nonvolatile memory 105 stores, for example, a deviation calculation program. The nonvolatile memory 105 is a computer-readable storage medium. The nonvolatile memory 105 is, for example, a battery-backed memory or a solid-state drive (SSD).

[0022] The interface 106 connects the bus 102 and the input / output device 107. The interface 106 sends various data processed by the hardware processor 101 to the input / output device 107, for example.

[0023] The input / output device 107 receives various data via the interface 106 and displays the various data on a monitor. The input / output device 107 also receives input of various data and sends the various data to, for example, the hardware processor 101 via the interface 106.

[0024] The input / output device 107 includes, for example, a monitor, a keyboard, and a mouse. The input / output device 107 may be a touch panel. When the input / output device 107 is a touch panel, the input / output device 107 is, for example, a capacitive touch panel. The touch panel is not limited to a capacitive touch panel, and may be a touch panel of another type.

[0025] The communication device 108 is a device for communicating with the processing machine 2 via the network N. The communication device 108 transmits and receives data to and from the numerical control device 3 that controls the processing machine 2.

[0026] 3 is a block diagram showing an example of the functions of the calculation device 1. The calculation device 1 includes, for example, an acquisition unit 111, a conversion unit 112, a calculation unit 113, an output unit 114, and a determination unit 115. The acquisition unit 111, the conversion unit 112, the calculation unit 113, the output unit 114, and the determination unit 115 are realized, for example, by the hardware processor 101 performing arithmetic processing using a system program stored in the ROM 103, a deviation amount calculation program stored in the non-volatile memory 105, and the like.

[0027] The acquisition unit 111 acquires a first value indicating the position deviation of the master axis and a second value indicating the position deviation of a slave axis that is disposed at an inclination by a predetermined angle with respect to the master axis.

[0028] The master axis is a control axis that operates in response to commands based on a machining program, and is, for example, a control axis included in the first system.

[0029] A slave axis is a control axis that operates based on a command from a replicated master axis. For example, the slave axis operates based on a pulse signal generated by replicating a pulse signal for the master axis. In other words, the master axis and the slave axis are controlled synchronously. In other words, the slave axis is a control axis that operates by following the master axis. For example, the slave axis is a control axis included in a second system that is different from the first system.

[0030] FIG. 4 is a diagram for explaining the tilt of the control axes. At least one of the slave axis and the master axis is arranged at an inclination with respect to the orthogonal axes. The orthogonal axes are three axes that are orthogonal to one another. The orthogonal axes include, for example, two axes that are orthogonal to one another and arranged horizontally, and one axis that is orthogonal to the two axes. In the example shown in FIG. 4, the X-axis and the Yi-axis are orthogonal axes. However, the Yi-axis is a virtual axis.

[0031] For example, the Y-axis is tilted relative to the horizontally positioned X-axis. An axis tilted relative to an orthogonal axis is called an inclined axis. In the example shown in Figure 4, the Y-axis is the inclined axis. A coordinate system including an inclined axis is called an inclined coordinate system.

[0032] Even when the control axes are tilted, the machining program specifies movement commands using coordinate values ​​on orthogonal axes. For example, when moving a structure of the machining machine 2 along the Y axis, a movement command is specified using coordinate values ​​on the Yi axis, which is orthogonal to the X axis. In this case, the numerical control device 3 converts the coordinate values ​​on the Yi axis specified in the machining program into coordinate values ​​on the Y axis and moves the structure. In other words, the numerical control device 3 controls the control axes by converting coordinate values ​​in the orthogonal coordinate system into coordinate values ​​in the tilted coordinate system. Note that an orthogonal coordinate system is a coordinate system having three axes that are orthogonal to each other.

[0033] 5A and 5B are diagrams for explaining position deviations. Here, the position deviations of orthogonal axes will be explained. Note that the Xm-axis and Ym-axis in FIG. 5A are the X-axis and Y-axis of the master axis belonging to the first system. The Xs-axis and Ys-axis in FIG. 5B are the X-axis and Y-axis of the slave axis belonging to the second system. The first system includes, for example, a first spindle head. The second system includes, for example, a second spindle head.

[0034] The position deviation is the difference between the command value when a structure such as a spindle head moves along a control axis and the actual movement amount of the structure.

[0035] For example, in a certain control cycle during execution of a machining program, a movement command is output to move the first spindle head along the Ym axis from position 0 to position 100. The movement command is, for example, a pulse signal.

[0036] However, there are cases in which the first spindle head can only reach position 60 in that control cycle. In other words, there are cases in which movement by the amount corresponding to the pulse signal output in a certain control cycle is not executed. In this case, the position error of the Ym axis is 40. In other words, the first value indicating the position error of the master axis is 40.

[0037] When a movement command is output to move the first spindle head from position 0 to position 100 along the Ym axis, a similar movement command is output for the Ys axis. That is, a movement command is output to move the second spindle head from position 0 to position 100 along the Ys axis. In a control cycle in which the first spindle head reaches position 60, the second spindle head may only reach position 50, for example. In this case, the position error of the Ys axis is 50. In other words, the second value indicating the position error of the slave axis is 50.

[0038] Next, the deviation amount will be described. The deviation amount is an amount indicating the difference between the position deviation of the master axis and the position deviation of the slave axis. When the master axis and the slave axis are orthogonal axes, the deviation amount is an amount indicating the difference between the first value and the second value. In the example shown in Figures 5A and 5B, the deviation amount is 10. The deviation amount is an amount indicating the magnitude of the synchronization error.

[0039] 6A and 6B are diagrams for explaining the position deviation of the tilt axis. The Yi axis in FIG. 6A is a virtual axis perpendicular to the Xm axis. The Xm axis and Ym axis are the X axis and Y axis of the master axis belonging to the first system, respectively. The Ym axis is disposed at an angle of 30° with respect to the Yi axis. In other words, the angle formed by the Xm axis and the Ym axis is 60°.

[0040] The Yi axis in Figure 6B is a virtual axis perpendicular to the Xs axis. The Xs axis and Ys axis are the X axis and Y axis of the slave axis belonging to the second system, respectively. The Ys axis is inclined at 45° with respect to the Yi axis. In other words, the angle between the Xs axis and the Ys axis is 45°.

[0041] When the first spindle head is moved along the Ym-axis based on the machining program of the first system, the command value for the Yi-axis is converted into a command value for the Ym-axis. That is, the command value in the Cartesian coordinate system is converted into a command value in the tilted coordinate system. Note that the command values ​​in the tilted coordinate system shown below are rounded to one decimal place.

[0042] For example, when the first spindle head is to be moved from position 0 to position 100 on the Yi axis, the command value of 100 for the first spindle head is converted into a command value of 115.5 on the Ym axis. When a movement command to move the first spindle head to position 115.5 on the Ym axis is executed, the first spindle head moves, for example, to position 69.3 on the Ym axis. In other words, the movement amount of the first spindle head is 69.3. The positional deviation of the first spindle head on the Ym axis in this case is 46.2.

[0043] When the first spindle head moves along the Ym-axis, the second spindle head moves in synchronization with the first spindle head. In this case, the command value for the Ym-axis is converted into a command value for the Yi-axis, and then the command value for the Yi-axis is converted into a command value for the Ys-axis. That is, the command value in the tilted coordinate system of the first spindle head is converted into a command value in a Cartesian coordinate system, and then the command value in the Cartesian coordinate system is converted into a command value in the tilted coordinate system of the second spindle head.

[0044] For example, when the second spindle head is to be moved from position 0 to position 100 on the Yi axis in a Cartesian coordinate system, the command value of 100 for the Yi axis is converted to a command value of 141.4 on the Ys axis. When a movement command to move the second spindle head to position 141.4 on the Ys axis is executed, the second spindle head moves, for example, to position 70.7 on the Ys axis. In other words, the movement amount of the second spindle head is 70.7. In this case, the positional deviation of the second spindle head on the Ys axis is 70.7. Now, let us return to the description of FIG. 3.

[0045] The conversion unit 112 converts the first value acquired by the acquisition unit 111 into a third value indicating the position deviation of the master axis in a predetermined coordinate system, and converts the second value acquired by the acquisition unit 111 into a fourth value indicating the position deviation of the slave axis in a predetermined coordinate system. In other words, the conversion unit 112 converts the position deviation of the master axis and the position deviation of the slave axis into position deviations in a coordinate system common to the master axis and the slave axis. The predetermined coordinate system is an inclined coordinate system or a Cartesian coordinate system.

[0046] For example, when the master axis is included in the tilted coordinate system, the conversion unit 112 converts the position error of the master axis into the position error of the orthogonal axes. That is, the position error of the master axis in the converted orthogonal coordinate system is the third value. In the example shown in FIG. 6A , the conversion unit 112 converts the position error 46.2 of the Ym-axis into the position error 40 of the Yi-axis.

[0047] Furthermore, when the slave axis is included in the tilted coordinate system, the conversion unit 112 converts the position error of the slave axis into a position error of the orthogonal axis. That is, the position error of the slave axis in the converted orthogonal coordinate system is the fourth value. In the example shown in FIG. 6B , the conversion unit 112 converts the position error of 70.7 on the Ys-axis into a position error of 50 on the Yi-axis.

[0048] When the master axis is included in a Cartesian coordinate system and the slave axis is included in a tilted coordinate system, the conversion unit 112 does not convert the position deviation of the master axis.Furthermore, when the master axis is included in a tilted coordinate system and the slave axis is included in a Cartesian coordinate system, the conversion unit 112 does not convert the position deviation of the slave axis.

[0049] The converter 112 may convert either the position error of the master axis or the position error of the slave axis into a position error in the other coordinate system. For example, when the master axis is included in a Cartesian coordinate system and the slave axis is included in a tilted coordinate system, the converter 112 may convert the position error of the master axis into a position error in the tilted coordinate system. Alternatively, when the master axis is included in a tilted coordinate system and the slave axis is included in a Cartesian coordinate system, the converter 112 may convert the position error of the slave axis into a position error in the tilted coordinate system.

[0050] Alternatively, the master axis may be included in a first inclined coordinate system, and the slave axis may be included in a second inclined coordinate system different from the first inclined coordinate system. In this case, the converter 112 may convert the position error of the master axis in the first inclined coordinate system into the position error of the slave axis in the second inclined coordinate system. Alternatively, the converter 112 may convert the position error of the slave axis in the second inclined coordinate system into the position error of the master axis in the first inclined coordinate system. Alternatively, the converter 112 may convert the position error of the master axis and the position error of the slave axis into position errors in a third coordinate system different from the first coordinate system and the second coordinate system.

[0051] The calculation unit 113 calculates the amount of deviation between the position deviation of the master axis and the position deviation of the slave axis in a predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value.

[0052] When the master axis is included in a Cartesian coordinate system and the slave axis is included in an inclined coordinate system, the calculation unit 113 calculates the amount of deviation based on the first value and the fourth value. The calculation unit 113 calculates the amount of deviation by finding the difference between the first value and the fourth value or the absolute value of the difference between the first value and the fourth value.

[0053] When the master axis is included in an inclined coordinate system and the slave axis is included in an orthogonal coordinate system, the calculation unit 113 calculates the amount of deviation based on the second value and the third value. The calculation unit 113 calculates the amount of deviation by finding the difference between the second value and the third value or the absolute value of the difference between the second value and the third value.

[0054] When the master axis is included in a first inclined coordinate system and the slave axis is included in a second inclined coordinate system different from the first coordinate system, the calculation unit 113 calculates the amount of deviation based on the second value and the fourth value. The calculation unit 113 calculates the amount of deviation by finding the difference between the second value and the fourth value or the absolute value of the difference between the second value and the fourth value.

[0055] 6A and 6B, the calculation unit 113 calculates the deviation amount based on the second value and the fourth value. The value of the deviation amount calculated by the calculation unit 113 is 10.

[0056] The output unit 114 outputs the deviation amount calculated by the calculation unit 113. The output unit 114 outputs the deviation amount to a monitor of the input / output device 107, for example.

[0057] The determination unit 115 compares the deviation calculated by the calculation unit 113 with a predetermined threshold value to determine whether or not a synchronization error has occurred between the master axis and the slave axis. The determination unit 115 determines whether or not a synchronization error has occurred, for example, for each control period.

[0058] The threshold value may be set in a parameter, for example, which is stored in a predetermined area of ​​the nonvolatile memory 105.

[0059] For example, the determination unit 115 determines that a synchronization error has occurred when the deviation amount calculated by the calculation unit 113 exceeds a predetermined threshold value. For example, the determination unit 115 determines that a synchronization error has not occurred when the deviation amount calculated by the calculation unit 113 is equal to or smaller than a predetermined threshold value.

[0060] When the determination unit 115 determines that a synchronization error has occurred, the output unit 114 outputs information indicating that a synchronization error has occurred. The output unit 114, for example, displays the information indicating that a synchronization error has occurred on the monitor of the input / output device 107.

[0061] 7A and 7B are diagrams illustrating an example of the processing machine 2. The processing machine 2 has, for example, a first system and a second system. The first system includes a first spindle head H1. The second system includes a second spindle head H2. The first spindle head H1 and the second spindle head H2 are both arranged in the same direction when viewed from the workpiece W. The first spindle head H1 and the second spindle head H2 are arranged, for example, above the workpiece W.

[0062] The coordinate system of the first group is an inclined coordinate system. Specifically, the Ym axis is inclined by θ1° with respect to the Ymi axis. The Ymi axis is a virtual axis that is perpendicular to the Xm axis. θ1° is an angle that indicates, for example, an installation error that occurs when installing a machine.

[0063] The coordinate system of the second system is also an inclined coordinate system. Specifically, the Ys axis is inclined by θ2° relative to the Ysi axis, which is different from θ1°. The Ysi axis is a virtual axis perpendicular to the Xs axis. θ2° is an angle that indicates, for example, an installation error that occurs when installing a machine.

[0064] The Xm-axis and Xs-axis are arranged parallel to each other, and the Z-axis is an axis common to the first tilted coordinate system and the second tilted coordinate system.

[0065] 8A and 8B are diagrams illustrating an example of the processing machine 2. The processing machine 2 has, for example, a first system and a second system. The first system includes a first spindle head H1. The second system includes a second spindle head H2. The first spindle head H1 and the second spindle head H2 are respectively arranged in different directions as viewed from the workpiece W. The first spindle head H1 is arranged, for example, above the workpiece W. The second spindle head H2 is arranged, for example, below the workpiece W.

[0066] The coordinate system of the first group is an inclined coordinate system. Specifically, the Ym axis is inclined by θ1° with respect to the Ymi axis. The Ymi axis is a virtual axis that is perpendicular to the Xm axis. θ1° is an angle that indicates, for example, an installation error that occurs when installing a machine.

[0067] The coordinate system of the second system is also an inclined coordinate system. Specifically, the Ys axis is inclined by θ2° relative to the Ysi axis, which is different from θ1°. However, the absolute value of θ1 is equal to the absolute value of θ2. In other words, θ1 = -θ2 holds. The Ysi axis is a virtual axis perpendicular to the Xs axis. θ2° is an angle that indicates, for example, an installation error that occurs when installing a machine.

[0068] The Xm-axis and Xs-axis are arranged parallel to each other. However, the positive and negative directions of the Xm-axis and Xs-axis are opposite to each other. The Zm-axis and Zs-axis are arranged parallel to each other. The Zm-axis and Zs-axis may be configured as a Z-axis common to the first tilted coordinate system and the second tilted coordinate system.

[0069] 9 is a flowchart showing an example of processing executed in the calculation device 1. In the calculation device 1, first, the acquisition unit 111 acquires a first value and a second value (step SA1).

[0070] Next, the conversion unit 112 converts the first value into a third value and / or converts the second value into a fourth value (step SA2).

[0071] Next, the calculation unit 113 calculates the deviation amount (step SA3), and the output unit 114 outputs the deviation amount (step SA4).

[0072] Next, the determination unit 115 determines whether a synchronization error has occurred (step SA5). Next, the output unit 114 outputs the determination result (step SA6). Note that the processes from step SA1 to step SA6 are repeatedly executed for each control cycle, and end when the execution of the machining program ends.

[0073] Next, an example will be described in which the calculation device 1 is implemented in a numerical control device 3. In this case, the calculation device 1 controls the processing machine 2.

[0074] 10 is a block diagram showing an example of the hardware configuration of the processing machine 2. The processing machine 2 includes a numerical control device 3, an input / output device 4, a servo amplifier 5, a servo motor 6, a spindle amplifier 7, a spindle motor 8, and auxiliary equipment 9.

[0075] The numerical control device 3 is a device for controlling the processing machine 2. The numerical control device 3 includes, for example, a hardware processor 301, a bus 302, a read-only memory (ROM) 303, a random access memory (RAM) 304, and a non-volatile memory 305.

[0076] The hardware processor 301 is a processor that uses a system program to control the entire numerical control device 3. The hardware processor 301 reads the system program and the like stored in the ROM 303 via the bus 302. The hardware processor 301 is, for example, a CPU or an electronic circuit.

[0077] The bus 302 is a communication path that connects the various hardware components of the numerical control device 3. The various hardware components of the numerical control device 3 exchange data via the bus 302.

[0078] The ROM 303 is a storage device that stores system programs, etc. The ROM 303 is a computer-readable storage medium.

[0079] The RAM 304 is a storage device that temporarily stores various data and functions as a work area for the hardware processor 301 to process various data.

[0080] The nonvolatile memory 305 is a storage device that retains data even when the power to the numerical control device 3 is turned off. The nonvolatile memory 305 stores, for example, a deviation calculation program. The nonvolatile memory 305 is a computer-readable storage medium. The nonvolatile memory 305 is, for example, a battery-backed memory or an SSD.

[0081] The numerical control device 3 further includes an interface 306 , an axis control circuit 307 , a spindle control circuit 308 , a PLC (Programmable Logic Controller) 309 , and an I / O unit 310 .

[0082] The interface 306 connects the bus 302 and the input / output device 4. The interface 306 sends various data processed by the hardware processor 301 to the input / output device 4, for example.

[0083] The input / output device 4 receives various data via the interface 306 and displays the various data on a display. The input / output device 4 also receives input of various data and sends the various data to, for example, the hardware processor 301 via the interface 306.

[0084] The input / output device 4 is, for example, a touch panel. When the input / output device 4 is a touch panel, the input / output device 4 is, for example, a capacitive touch panel. The touch panel is not limited to a capacitive touch panel and may be a touch panel of another type. The input / output device 4 is installed in an operation panel (not shown) in which the numerical control device 3 is housed.

[0085] The axis control circuit 307 is a circuit for controlling the servo motor 6. The axis control circuit 307 receives control commands from the hardware processor 301 and sends various commands to the servo amplifier 5 for driving the servo motor 6. The axis control circuit 307 sends, for example, a torque command for controlling the torque of the servo motor 6 to the servo amplifier 5.

[0086] The servo amplifier 5 receives a command from the axis control circuit 307 and supplies a current to the servo motor 6 .

[0087] The servo motors 6 are driven by receiving a current supply from the servo amplifier 5. The servo motors 6 are provided corresponding to each control axis of the processing machine 2. If the processing machine 2 is a machine tool having five axes, the servo motors 6 include, for example, an X-axis servo motor, a Y-axis servo motor, a Z-axis servo motor, an A-axis servo motor, and a C-axis servo motor. In this case, an axis control circuit 307 and a servo amplifier 5 are provided for each servo motor 6.

[0088] The servo motor 6 is connected to, for example, a ball screw that moves a structure of the processing machine 2. When the servo motor 6 is driven, a structure of the processing machine 2, such as a spindle head, moves along a predetermined control axis.

[0089] The servo motor 6 has a built-in encoder (not shown) that detects the position and feed speed of the control axis. Position feedback information and speed feedback information indicating the position and feed speed of the control axis detected by the encoder are fed back to the axis control circuit 307. In this way, the axis control circuit 307 performs feedback control of each control axis.

[0090] The spindle control circuit 308 is a circuit for controlling the spindle motor 8. The spindle control circuit 308 receives a control command from the hardware processor 301 and sends a command to the spindle amplifier 7 to drive the spindle motor 8. The spindle control circuit 308 sends, for example, a spindle speed command to the spindle amplifier 7 to control the rotation speed of the spindle motor 8.

[0091] The spindle amplifier 7 receives a command from the spindle control circuit 308 and supplies a current to the spindle motor 8 .

[0092] The spindle motor 8 is driven by receiving a current supplied from the spindle amplifier 7. The spindle motor 8 is connected to the main shaft and rotates the main shaft.

[0093] 10 shows only the servo motor 6 and spindle motor 8 that operate one system. However, if the processing machine 2 has multiple systems, the processing machine 2 is provided with a servo motor 6 and a spindle motor 8 corresponding to each of the multiple systems.

[0094] The PLC 309 is a device that executes a ladder program to control the auxiliary device 9. The PLC 309 sends commands to the auxiliary device 9 via an I / O unit 310.

[0095] The I / O unit 310 is an interface that connects the PLC 309 and the auxiliary device 9. The I / O unit 310 receives a command from the PLC 309 and sends it to the auxiliary device 9.

[0096] The auxiliary device 9 is installed in the processing machine 2 and performs auxiliary operations in the processing machine 2. The auxiliary device 9 operates based on commands received from the I / O unit 310. The auxiliary device 9 may be a device installed in the periphery of the processing machine 2. The auxiliary device 9 is, for example, a tool changer, a cutting fluid injection device, or an opening / closing door drive device.

[0097] Fig. 11 is a block diagram showing an example of the functions of the calculation device 1 implemented in the numerical control device 3. The calculation device 1 includes a control unit 116 in addition to the functions shown in Fig. 3. The control unit 116 controls each control axis of the processing machine 2 based on a processing program.

[0098] The control unit 116 duplicates the movement amount of the master axis to control the slave axis. The control unit 116 duplicates the pulse signal for the master axis and controls the slave axis based on the duplicated pulse signal.

[0099] 6A and 6B, the control unit 116 copies the Ym-axis movement amount 115.5 to generate the Ys-axis movement amount 141.4, and controls the Ys-axis, which is the slave axis, based on the generated movement amount 141.4.

[0100] The control unit 116 corrects the movement amount of the slave axis using the deviation amount calculated by the calculation unit 113. That is, the control unit 116 performs control to match the movement amount of the slave axis to the movement amount of the master axis. For example, the control unit 116 increases the torque of the slave axis to match the movement amount of the slave axis to the movement amount of the master axis.

[0101] 6A and 6B, the deviation amount in the Cartesian coordinate system is 10. The control unit 116 converts this deviation amount 10 into a deviation amount of 14.1 on the Ys axis. The control unit 116 corrects the movement amount of the slave axis using the converted deviation amount 14.1. The control unit 116 corrects the movement amount of the slave axis, for example, in the control cycle following the control cycle in which the deviation amount was calculated.

[0102] FIG. 12 is a flowchart showing an example of processing executed by the calculation device 1 implemented in the numerical control device 3.

[0103] First, the control unit 116 controls the control axes based on the machining program (step SB1), and then the acquisition unit 111 acquires the first value and the second value (step SB2).

[0104] Next, the conversion unit 112 converts the first value into a third value and / or converts the second value into a fourth value (step SB3).

[0105] Next, the calculation unit 113 calculates the deviation amount (step SB4), and the output unit 114 outputs the deviation amount (step SB5).

[0106] Next, the determination unit 115 determines whether a synchronization error has occurred (step SB6). Next, the output unit 114 outputs the determination result (step SB7). Next, the control unit 116 corrects the movement amount of the slave axis (step SB8). Note that the processing from step SB1 to step SB8 is repeatedly executed for each control cycle, and ends when the execution of the machining program ends.

[0107] As described above, the calculation device 1 includes: an acquisition unit 111 that acquires a first value that indicates the positional deviation of the master axis and a second value that indicates the positional deviation of the slave axis that is arranged at an angle relative to the master axis; a conversion unit 112 that performs at least one of converting the first value acquired by the acquisition unit 111 into a third value that indicates the positional deviation of the master axis in a predetermined coordinate system and converting the second value acquired by the acquisition unit 111 into a fourth value that indicates the positional deviation of the slave axis in the predetermined coordinate system; a calculation unit 113 that calculates the amount of deviation between the positional deviation of the master axis and the positional deviation of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value; and an output unit 114 that outputs the amount of deviation calculated by the calculation unit 113.

[0108] The computer-readable storage medium also stores instructions that cause the computer to perform at least one of acquiring a first value that indicates a positional deviation of the master axis and a second value that indicates a positional deviation of a slave axis that is disposed at an inclination of a predetermined angle with respect to the master axis, converting the acquired first value into a third value that indicates a positional deviation of the master axis in a predetermined coordinate system, and converting the acquired second value into a fourth value that indicates a positional deviation of the slave axis in the predetermined coordinate system, calculating an amount of deviation between the positional deviation of the master axis and the positional deviation of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value, and outputting the calculated amount of deviation.

[0109] Therefore, the calculation device 1 or the computer can calculate the amount of deviation between the position deviation of the master axis and the position deviation of the slave axis that is disposed at an angle with respect to the master axis. In other words, even if the inclination angles of the master axis and the slave axis are different, the amount of deviation between the master axis and the slave axis can be calculated.

[0110] The predetermined coordinate system is an inclined coordinate system or an orthogonal coordinate system. Therefore, the calculation device 1 can calculate the deviation amount in various coordinate systems. Therefore, the calculation device 1 can easily perform error correction between the master axis and the slave axis.

[0111] The calculation device 1 further includes a determination unit 115 that compares the deviation amount with a predetermined threshold value to determine whether a synchronization error occurs between the master axis and the slave axis. Therefore, the calculation device 1 does not need to perform error correction if the synchronization error is tolerable. As a result, the calculation device 1 can reduce the control load of the numerical control device 3.

[0112] The calculation device 1 further includes a control unit 116 that replicates the movement amount of the master axis to control the slave axis, thereby enabling the calculation device 1 to synchronously control the master axis and the slave axis.

[0113] Furthermore, the control unit 116 corrects the movement amount of the slave axis using the deviation amount calculated by the calculation unit 113. In other words, the calculation device 1 can correct the synchronization error between the master axis and the slave axis, and therefore can control the processing machine 2 with high precision.

[0114] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible to these embodiments without departing from the gist of the present disclosure or the gist of the present disclosure derived from the content of the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination.

[0115] Supplementary notes related to embodiments of the present disclosure are listed below. Supplementary note [1] A calculation device comprising: an acquisition unit that acquires a first value indicating a positional deviation of a master axis and a second value indicating a positional deviation of a slave axis that is disposed at an inclination of a predetermined angle with respect to the master axis; a conversion unit that performs at least one of converting the first value acquired by the acquisition unit into a third value indicating a positional deviation of the master axis in a predetermined coordinate system and converting the second value acquired by the acquisition unit into a fourth value indicating a positional deviation of the slave axis in the predetermined coordinate system; a calculation unit that calculates an amount of deviation between the positional deviation of the master axis and the positional deviation of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value; and an output unit that outputs the amount of deviation calculated by the calculation unit. Supplementary note [2] The calculation device according to Supplementary note [1], wherein the predetermined coordinate system is an inclined coordinate system or a Cartesian coordinate system. Supplementary Note [3] The calculation device according to Supplementary Note [1] or [2], further comprising a determination unit that compares the deviation amount with a predetermined threshold value to determine whether a synchronization error occurs between the master axis and the slave axis.Supplementary Note [4] The calculation device according to any of Supplementary Note [1] to [3], further comprising a control unit that replicates the movement amount of the master axis to control the slave axis.Supplementary Note [5] The calculation device according to Supplementary Note [4], wherein the control unit corrects the movement amount of the slave axis using the deviation amount calculated by the calculation unit.Supplementary Note [6] A computer-readable storage medium storing instructions that cause a computer to execute at least one of acquiring a first value that indicates a positional deviation of a master axis and a second value that indicates a positional deviation of a slave axis that is arranged at an inclination of a predetermined angle with respect to the master axis, converting the acquired first value into a third value that indicates a positional deviation of the master axis in a predetermined coordinate system, and converting the acquired second value into a fourth value that indicates a positional deviation of the slave axis in the predetermined coordinate system, calculating an amount of deviation between the positional deviation of the master axis and the positional deviation of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value, and outputting the calculated amount of deviation.

[0116] 1 Calculation device 101 Hardware processor 102 Bus 103 ROM 104 RAM 105 Non-volatile memory 106 Interface 107 Input / output device 108 Communication device 111 Acquisition unit 112 Conversion unit 113 Calculation unit 114 Output unit 115 Determination unit 116 Control unit 2 Machining machine 3 Numerical control device 301 Hardware processor 302 Bus 303 ROM 304 RAM 305 Non-volatile memory 306 Interface 307 Axis control circuit 308 Spindle control circuit 309 PLC 310 I / O unit 4 Input / output device 5 Servo amplifier 6 Servo motor 7 Spindle amplifier 8 Spindle motor 9 Auxiliary equipment

Claims

1. an acquisition unit that acquires a first value indicating a position deviation of a master axis and a second value indicating a position deviation of a slave axis that is disposed at an inclination angle with respect to the master axis; a conversion unit that converts the first value acquired by the acquisition unit into a third value that indicates a position deviation of the master axis in a predetermined coordinate system, and / or converts the second value acquired by the acquisition unit into a fourth value that indicates a position deviation of the slave axis in the predetermined coordinate system; and a calculation unit that calculates the amount of deviation between the position deviation of the master axis and the position deviation of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value; an output unit that outputs the deviation amount calculated by the calculation unit; A computing device comprising:

2. The calculation device according to claim 1 , wherein the predetermined coordinate system is an oblique coordinate system or an orthogonal coordinate system.

3. 3. The calculation device according to claim 1, further comprising a determination unit that compares the deviation amount with a predetermined threshold value to determine whether or not a synchronization error occurs between the master axis and the slave axis.

4. The calculation device according to claim 1 or 2, further comprising a control unit that replicates the amount of movement of the master axis to control the slave axis.

5. The calculation device according to claim 4 , wherein the control unit corrects the movement amount of the slave axis using the deviation amount calculated by the calculation unit.

6. Obtaining a first value indicating a positional deviation of a master axis and a second value indicating a positional deviation of a slave axis disposed at an inclination angle relative to the master axis; converting the acquired first value into a third value indicating a positional deviation of the master axis in a predetermined coordinate system, and / or converting the acquired second value into a fourth value indicating a positional deviation of the slave axis in the predetermined coordinate system; calculating an amount of deviation between the position deviation of the master axis and the position deviation of the slave axis in the predetermined coordinate system based on the first value and the fourth value, the second value and the third value, or the third value and the fourth value; outputting the calculated deviation amount; A computer-readable storage medium that stores instructions for causing a computer to execute the above.