WO2024201557A1 - 算出装置およびコンピュータ読み取り可能な記憶媒体 - Google Patents

算出装置およびコンピュータ読み取り可能な記憶媒体 Download PDF

Info

Publication number
WO2024201557A1
WO2024201557A1 PCT/JP2023/011727 JP2023011727W WO2024201557A1 WO 2024201557 A1 WO2024201557 A1 WO 2024201557A1 JP 2023011727 W JP2023011727 W JP 2023011727W WO 2024201557 A1 WO2024201557 A1 WO 2024201557A1
Authority
WO
WIPO (PCT)
Prior art keywords
axis
value
coordinate system
deviation
position deviation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/011727
Other languages
English (en)
French (fr)
Inventor
拓磨 大倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to PCT/JP2023/011727 priority Critical patent/WO2024201557A1/ja
Priority to DE112023005575.0T priority patent/DE112023005575T5/de
Priority to JP2025509058A priority patent/JPWO2024201557A1/ja
Priority to CN202380095930.7A priority patent/CN120883158A/zh
Publication of WO2024201557A1 publication Critical patent/WO2024201557A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50216Synchronize speed and position of several axis, spindles

Definitions

  • the present disclosure relates to a computing device and a computer-readable storage medium.
  • the calculation device disclosed herein includes an acquisition unit that 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 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 the position 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 the position deviation of the slave axis in the predetermined coordinate system, 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, and an output unit that outputs the amount of deviation calculated by the calculation unit.
  • the computer-readable storage medium of the present disclosure stores instructions that cause a computer to perform at least one of the following: acquiring 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 of a predetermined angle with respect to the master axis; converting the acquired first value into a third value indicating the position deviation of the master axis in a predetermined coordinate system; and converting the acquired second value into a fourth value indicating the position deviation of the slave axis in the predetermined coordinate system; calculating 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; and outputting the calculated amount of deviation.
  • FIG. 1 is a diagram illustrating an example of a system including a calculation device.
  • FIG. 2 is a block diagram illustrating an example of a hardware configuration of a calculation device.
  • FIG. 2 is a block diagram illustrating an example of the functions of the calculation device.
  • FIG. 13 is a diagram for explaining the inclination of a control axis.
  • FIG. 11 is a diagram for explaining a position deviation.
  • FIG. 11 is a diagram for explaining a position deviation.
  • 11A and 11B are diagrams for explaining a position deviation of a tilt axis.
  • 11A and 11B are diagrams for explaining a position deviation of a tilt axis.
  • FIG. 2 is a diagram for explaining an example of a processing machine.
  • FIG. 2 is a diagram for explaining an example of a processing machine.
  • FIG. 2 is a diagram for explaining an example of a processing machine.
  • FIG. 2 is a diagram for explaining an example of a processing machine.
  • 11 is a flowchart illustrating an example of a process executed in the calculation device.
  • FIG. 2 is a block diagram showing an example of a hardware configuration of a processing machine. 2 is a block diagram showing an example of functions of a calculation device implemented in a numerical control device;
  • FIG. 11 is a flowchart illustrating an example of a process executed in the calculation device.
  • 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).
  • FIG. 1 is a diagram for explaining an example of a system including a calculation device.
  • the system includes a 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.
  • the calculation device 1 is a device that calculates the amount of deviation between multiple control axes arranged at angles to each other in the processing machine 2.
  • the calculation device 1 is implemented in, for example, a PC (Personal Computer), a server, or a mobile terminal.
  • 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.
  • the processing machine 2 has 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.
  • a processing machine 2 with multiple systems is, for example, a lathe equipped with an upper tool post and a lower tool, or a multi-task machine equipped with multiple spindle heads.
  • the processing machine 2 is equipped with 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 the control axis of the processing machine 2.
  • the network N connects the calculation device 1 and the processing machine 2 by wired or wireless connection.
  • the network N is, for example, an Internet line or a LAN (Local Area Network).
  • FIG. 2 is a block diagram showing an example of the hardware configuration of the calculation device 1.
  • the calculation device 1 includes, for example, a hardware processor 101, a bus 102, a ROM (Read Only Memory) 103, a RAM (Random Access Memory) 104, a non-volatile memory 105, an interface 106, an input/output device 107, and a communication device 108.
  • a hardware processor 101 for example, a hardware processor 101, a bus 102, a ROM (Read Only Memory) 103, a RAM (Random Access Memory) 104, a non-volatile memory 105, an interface 106, an input/output device 107, and a communication device 108.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the hardware processor 101 is a processor that controls the entire computing device 1 using a system program.
  • the hardware processor 101 reads out 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.
  • the bus 102 is a communication path that connects each piece of hardware in the computing device 1 to each other. Each piece of hardware in the computing device 1 exchanges data via the bus 102.
  • ROM 103 is a storage device that stores system programs and the like. ROM 103 is a computer-readable storage medium.
  • RAM 104 is a storage device that temporarily stores various data. RAM 104 functions as a working area for the hardware processor 101 to process various data.
  • the non-volatile memory 105 is a storage device that retains data even when the power to the calculation device 1 is turned off.
  • the non-volatile memory 105 stores, for example, a program for calculating the deviation amount.
  • the non-volatile memory 105 is a computer-readable storage medium.
  • the non-volatile memory 105 is, for example, a battery-backed memory or an SSD (Solid State Drive).
  • the interface 106 connects the bus 102 and the input/output device 107.
  • the interface 106 sends, for example, various data processed by the hardware processor 101 to the input/output device 107.
  • 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 data via the interface 106 to, for example, the hardware processor 101.
  • 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.
  • 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.
  • 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.
  • FIG. 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 calculation processing using a system program stored in the ROM 103 and a deviation amount calculation program stored in the non-volatile memory 105.
  • 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 the slave axis that is arranged at a predetermined angle with respect to the master axis.
  • the master axis is a control axis that operates according to commands based on a machining program.
  • the master axis is, for example, a control axis included in the first system.
  • the slave axis is a control axis that operates based on the commands of the duplicated master axis.
  • the slave axis operates, for example, based on a pulse signal that is generated by duplicating the pulse signal for the master axis.
  • the master axis and the slave axis are controlled synchronously.
  • the slave axis is a control axis that operates by following the master axis.
  • the slave axis is, for example, a control axis included in a second system that is different from the first system.
  • 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 incline with respect to the orthogonal axis.
  • the orthogonal axes are three axes that are mutually orthogonal.
  • the orthogonal axes include, for example, two axes that are mutually orthogonal and arranged horizontally, and one axis that is orthogonal to the two axes.
  • the X-axis and the Yi-axis are orthogonal axes.
  • the Yi-axis is a virtual axis.
  • the Y axis is tilted relative to the horizontally positioned X axis.
  • An axis that is tilted relative to an orthogonal axis is called an inclined axis.
  • the Y axis is the inclined axis.
  • a coordinate system that includes an inclined axis is called an inclined coordinate system.
  • the machining program specifies a movement command using coordinate values on orthogonal axes.
  • a movement command is specified using coordinate values on the Yi axis, which is orthogonal to the X axis.
  • 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.
  • the numerical control device 3 controls the control axis by converting coordinate values in the orthogonal coordinate system into coordinate values in the tilted coordinate system.
  • a orthogonal coordinate system is a coordinate system having three axes that are orthogonal to each other.
  • FIGS. 5A and 5B are diagrams for explaining position deviations. Here, position deviations of orthogonal axes are explained. Note that the Xm-axis and Ym-axis in FIG. 5A are the X-axis and Y-axis, respectively, 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, respectively, 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.
  • Position deviation is the difference between the command value and the actual movement of a structure, such as a spindle head, when the structure is moving along the control axis.
  • 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.
  • the first spindle head can only reach position 60 in that control cycle. In other words, there are cases where movement by an amount corresponding to a pulse signal output in a certain control cycle is not executed. In this case, the position deviation of the Ym axis is 40. In other words, the first value indicating the position deviation of the master axis is 40.
  • a similar movement command is also 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.
  • the second spindle head may only reach position 50, for example.
  • the position deviation of the Ys axis is 50.
  • the second value indicating the position deviation of the slave axis is 50.
  • the deviation amount is an amount that indicates the difference between the position deviation of the master axis and the position deviation of the slave axis.
  • the deviation amount is an amount that indicates the difference between the first value and the second value.
  • the deviation amount is 10.
  • the deviation amount is an amount that indicates the magnitude of the synchronization error.
  • FIGS. 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 the Ym axis are respectively the X axis and the Y axis of the master axis belonging to the first system.
  • the Ym axis is arranged at an angle of 30° with respect to the Yi axis. In other words, the angle between the Xm axis and the Ym axis is 60°.
  • the Yi axis in FIG. 6B is a virtual axis perpendicular to the Xs axis.
  • the Xs axis and the Ys axis are the X axis and the Y axis, respectively, of the slave axis belonging to the second system.
  • 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°.
  • the command value for the Yi axis is converted to a command value for the Ym axis.
  • the command value in the Cartesian coordinate system is converted to 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.
  • the command value of 100 for the first spindle head is converted to a command value of 115.5 on the Ym axis.
  • the first spindle head moves, for example, to position 69.3 on the Ym axis.
  • the movement amount of the first spindle head is 69.3.
  • the position deviation of the Ym axis of the first spindle head in this case is 46.2.
  • the second spindle head moves in synchronization with the first spindle head.
  • the command value for the Ym axis is converted to a command value for the Yi axis
  • the command value for the Yi axis is further converted to a command value for the Ys axis.
  • the command value in the tilted coordinate system of the first spindle head is converted to a command value in a Cartesian coordinate system
  • the command value in the Cartesian coordinate system is further converted to a command value in the tilted coordinate system of the second spindle head.
  • the command value of 100 for the Yi axis is converted to a command value of 141.4 on the Ys axis.
  • the second spindle head moves, for example, to position 70.7 on the Ys axis.
  • the amount of movement of the second spindle head is 70.7.
  • the position deviation of the second spindle head on the Ys axis in this case is 70.7.
  • the conversion unit 112 performs at least one of converting 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 converting 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.
  • the conversion unit 112 converts the position deviation of the master axis and the position deviation of the slave axis into a position deviation in a common coordinate system for the master axis and the slave axis.
  • the predetermined coordinate system is an inclined coordinate system or a Cartesian coordinate system.
  • the conversion unit 112 converts the position deviation of the master axis into the position deviation of the orthogonal axis. That is, the position deviation of the master axis in the converted orthogonal coordinate system is the third value.
  • the conversion unit 112 converts the position deviation of 46.2 of the Ym axis into the position deviation of 40 of the Yi axis.
  • the conversion unit 112 converts the position deviation of the slave axis into the position deviation of the orthogonal axis. That is, the position deviation 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 deviation of 70.7 on the Ys axis into the position deviation of 50 on the Yi axis.
  • the conversion unit 112 does not convert the position deviation of the master axis. Also, if 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.
  • the conversion unit 112 may convert either the position deviation of the master axis or the position deviation of the slave axis into a position deviation 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 conversion unit 112 may convert the position deviation of the master axis into a position deviation 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 conversion unit 112 may convert the position deviation of the slave axis into a position deviation in the tilted coordinate system.
  • the master axis may be included in a first inclined coordinate system
  • the slave axis may be included in a second inclined coordinate system different from the first inclined coordinate system.
  • the conversion unit 112 may convert the position deviation of the master axis in the first inclined coordinate system into the position deviation of the slave axis in the second inclined coordinate system.
  • the conversion unit 112 may convert the position deviation of the slave axis in the second inclined coordinate system into the position deviation of the master axis in the first inclined coordinate system.
  • the conversion unit 112 may convert the position deviation of the master axis and the position deviation of the slave axis into the position deviation of a third coordinate system different from the first coordinate system and the second coordinate system.
  • 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 specified 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the output unit 114 outputs the deviation amount calculated by the calculation unit 113.
  • the output unit 114 outputs the deviation amount to, for example, a monitor of the input/output device 107.
  • the determination unit 115 compares the deviation amount 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 each control period, for example.
  • the threshold value may be set, for example, in a parameter.
  • the parameter is stored, for example, in a specified area of the non-volatile memory 105.
  • the determination unit 115 determines that a synchronization error has occurred. For example, if the deviation amount calculated by the calculation unit 113 is equal to or less than a predetermined threshold value, the determination unit 115 determines that a synchronization error has not occurred.
  • the output unit 114 outputs information that a synchronization error has occurred.
  • the output unit 114 for example, displays information that a synchronization error has occurred on the monitor of the input/output device 107.
  • FIGS. 7A and 7B are diagrams for explaining 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 positioned in the same direction when viewed from the workpiece W.
  • the first spindle head H1 and the second spindle head H2 are positioned, for example, above the workpiece W.
  • the coordinate system of the first system 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 perpendicular to the Xm axis. ⁇ 1° is an angle that indicates, for example, an installation error that occurs when installing a machine.
  • the coordinate system of the second system is also an inclined coordinate system.
  • the Ys axis is inclined by ⁇ 2° with respect 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.
  • the Xm-axis and Xs-axis are arranged parallel to each other.
  • the Z-axis is a common axis to the tilted coordinate system of the first system and the tilted coordinate system of the second system.
  • FIGS. 8A and 8B are diagrams for explaining an example of a 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 each positioned in different directions as viewed from the workpiece W.
  • the first spindle head H1 is positioned, for example, above the workpiece W.
  • the second spindle head H2 is positioned, for example, below the workpiece W.
  • the coordinate system of the first system 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 perpendicular to the Xm axis. ⁇ 1° is an angle that indicates, for example, an installation error that occurs when installing a machine.
  • the coordinate system of the second system is also an inclined coordinate system.
  • the Ys axis is inclined by ⁇ 2° with respect to the Ysi axis, which is different from ⁇ 1°.
  • the absolute value of ⁇ 1 is equal to the absolute value of ⁇ 2.
  • ⁇ 1 - ⁇ 2 holds.
  • the Ysi axis is a virtual axis that is perpendicular to the Xs axis.
  • ⁇ 2° is an angle that indicates, for example, an installation error that occurs when installing a machine.
  • 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 tilted coordinate system of the first system and the tilted coordinate system of the second system.
  • FIG. 9 is a flowchart showing an example of a process executed in the calculation device 1.
  • the acquisition unit 111 acquires the first value and the second value (step SA1).
  • the conversion unit 112 converts the first value to a third value and/or converts the second value to a fourth value (step SA2).
  • step SA3 calculates the deviation amount
  • step SA4 outputs the deviation amount
  • step SA5 judges whether or not a synchronization error has occurred.
  • step SA6 the judgment result
  • calculation device 1 executes control of the processing machine 2.
  • FIG. 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 an auxiliary device 9.
  • 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 ROM (Read Only Memory) 303, a RAM (Random Access Memory) 304, and a non-volatile memory 305.
  • the hardware processor 301 is a processor that controls the entire numerical control device 3 using a system program.
  • 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.
  • the bus 302 is a communication path that connects each piece of hardware in the numerical control device 3 to each other. Each piece of hardware in the numerical control device 3 exchanges data via the bus 302.
  • ROM 303 is a storage device that stores system programs and the like. ROM 303 is a computer-readable storage medium.
  • RAM 304 is a storage device that temporarily stores various data. RAM 304 functions as a working area for hardware processor 301 to process various data.
  • the non-volatile memory 305 is a storage device that retains data even when the power to the numerical control device 3 is turned off.
  • the non-volatile memory 305 stores, for example, a deviation calculation program.
  • the non-volatile memory 305 is a computer-readable storage medium.
  • the non-volatile memory 305 is, for example, a battery-backed memory or an SSD.
  • 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.
  • an interface 306 an axis control circuit 307
  • a spindle control circuit 308 a PLC (Programmable Logic Controller) 309
  • an I/O unit 310 an I/O unit 310.
  • the interface 306 connects the bus 302 and the input/output device 4. For example, the interface 306 sends various data processed by the hardware processor 301 to the input/output device 4.
  • 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 via the interface 306 to, for example, the hardware processor 301.
  • the input/output device 4 is, for example, 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 stored.
  • 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.
  • the servo amplifier 5 receives commands from the axis control circuit 307 and supplies current to the servo motor 6.
  • 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.
  • the servo motor 6 is connected to, for example, a ball screw that moves the structure of the processing machine 2.
  • the structure of the processing machine 2 such as the spindle head, moves along a specified control axis.
  • Servomotor 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 of the control axis and the feed speed of the control axis detected by the encoder, respectively, are fed back to axis control circuit 307. In this way, axis control circuit 307 performs feedback control of each control axis.
  • 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.
  • the spindle amplifier 7 receives commands from the spindle control circuit 308 and supplies current to the spindle motor 8.
  • the spindle motor 8 is driven by a current supplied from the spindle amplifier 7.
  • the spindle motor 8 is connected to the main shaft and rotates the main shaft.
  • FIG. 10 only illustrates 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 equipped with a servo motor 6 and a spindle motor 8 corresponding to each of the multiple systems.
  • 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 the I/O unit 310.
  • the I/O unit 310 is an interface that connects the PLC 309 and the auxiliary device 9.
  • the I/O unit 310 sends commands received from the PLC 309 to the auxiliary device 9.
  • 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.
  • 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 the processing program.
  • 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.
  • control unit 116 copies the Ym-axis movement amount 115.5 to generate the Ys-axis movement amount 141.4.
  • the control unit 116 controls the Ys-axis, which is the slave axis, based on the generated movement amount 141.4.
  • the control unit 116 corrects the amount of movement of the slave axis using the deviation calculated by the calculation unit 113. That is, the control unit 116 performs control to match the amount of movement of the slave axis to the amount of movement of the master axis. For example, the control unit 116 increases the torque of the slave axis to match the amount of movement of the slave axis to the amount of movement of the master axis.
  • the deviation amount in the Cartesian coordinate system is 10.
  • the control unit 116 converts the deviation amount of 10 to 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 of 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.
  • FIG. 12 is a flowchart showing an example of processing executed by the calculation device 1 implemented in the numerical control device 3.
  • control unit 116 controls the control axis based on the machining program (step SB1).
  • acquisition unit 111 acquires the first value and the second value (step SB2).
  • the conversion unit 112 converts the first value to a third value and/or converts the second value to a fourth value (step SB3).
  • the calculation unit 113 calculates the deviation amount (step SB4).
  • the output unit 114 outputs the deviation amount (step SB5).
  • step SB6 judges whether or not a synchronization error has occurred.
  • step SB7 judges whether or not a synchronization error has occurred.
  • step SB8 outputs the judgment result (step SB7).
  • step SB8 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 the processing ends when the execution of the machining program ends.
  • the calculation device 1 includes an acquisition unit 111 that acquires a first value indicating the position deviation of the master axis and a second value indicating the position 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 indicating the position 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 indicating the position deviation of the slave axis in the predetermined coordinate system, a calculation unit 113 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, and an output unit 114 that outputs the amount of deviation calculated by the calculation unit 113.
  • the computer-readable storage medium also stores instructions that cause the computer to perform at least one of the following: acquiring 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 of a predetermined angle with respect to the master axis; converting the acquired first value into a third value indicating the position deviation of the master axis in a predetermined coordinate system; and converting the acquired second value into a fourth value indicating the position deviation of the slave axis in the predetermined coordinate system; calculating 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; and outputting the calculated amount of deviation.
  • 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 arranged at an angle 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.
  • the specified 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.
  • the calculation device 1 further includes a determination unit 115 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. Therefore, the calculation device 1 does not need to perform error correction when the synchronization error is tolerable. As a result, the calculation device 1 can reduce the control load of the numerical control device 3.
  • the calculation device 1 also includes a control unit 116 that replicates the amount of movement of the master axis to control the slave axis. Therefore, the calculation device 1 can synchronously control the master axis and the slave axis.
  • the control unit 116 also corrects the amount of movement of the slave axis using the deviation calculated by the calculation unit 113.
  • the calculation device 1 can correct the synchronization error between the master axis and the slave axis. Therefore, the calculation device 1 can control the processing machine 2 with high precision.
  • Appendix [1] 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; a calculation unit that calculates 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; and an output unit that outputs the amount of deviation calculated by the calculation unit.
  • Appendix [2] The calculation device according to claim 1, wherein the predetermined coordinate system is an inclined coordinate system or an orthogonal coordinate system.
  • Appendix [3] The calculation device according to claim 1 or 2, 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.
  • Appendix [4] The calculation device according to any one of appendices [1] to [3], further comprising a control unit that replicates the amount of movement of the master axis to control the slave axis.
  • Appendix [5] The calculation device according to claim [4], wherein the control unit corrects the movement amount of the slave axis by using the deviation amount calculated by the calculation unit.
  • Appendix [6] a first value indicating a position deviation of a master axis and a second value indicating a position deviation of a slave axis arranged to be inclined at a predetermined angle with respect to the master axis; converting the acquired first value into a third value indicating a position deviation of the master axis in a predetermined coordinate system and/or converting the acquired second value into a fourth value indicating a position 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; and outputting the calculated amount of deviation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

マスタ軸と、マスタ軸に対して傾斜して配置されたスレーブ軸との間の偏差量を正確に算出するために、算出装置を、マスタ軸の位置偏差を示す第1の値と、前記マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得することと、取得された前記第1の値を所定の座標系における前記マスタ軸の位置偏差を示す第3の値に変換すること、および、取得された前記第2の値を前記所定の座標系における前記スレーブ軸の位置偏差を示す第4の値に変換することのいずれかを実行することと、前記第1の値および前記第4の値、前記第2の値および前記第3の値、または前記第3の値および前記第4の値に基づいて、前記所定の座標系における、前記マスタ軸の前記位置偏差と前記スレーブ軸の前記位置偏差との間の偏差量を算出することと、算出された前記偏差量を出力することと、を実行可能に構成する。

Description

算出装置およびコンピュータ読み取り可能な記憶媒体
 本開示は、算出装置およびコンピュータ読み取り可能な記憶媒体に関する。
 従来、多軸工作機械において、マスタ軸とスレーブ軸とを同期制御する技術が知られている(例えば、特許文献1)。マスタ軸とスレーブ軸とがある座標系の1つの軸に沿って移動する場合、マスタ軸とスレーブ軸との偏差量は、マスタ軸およびスレーブ軸の一方の位置偏差から他方の位置偏差を引くことにより算出される。
特開2003-131712号公報
 しかし、マスタ軸に対してスレーブ軸が傾斜して配置されている場合、単純にマスタ軸およびスレーブ軸の一方の位置偏差から他方の位置偏差を引いても正しい偏差量を算出することができない。そのため、マスタ軸と、マスタ軸に対して傾斜して配置されたスレーブ軸との間の偏差量を正確に算出することが可能な技術が求められている。
 本開示の算出装置は、マスタ軸の位置偏差を示す第1の値と、マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得する取得部と、取得部によって取得された第1の値を所定の座標系におけるマスタ軸の位置偏差を示す第3の値に変換すること、および、取得部によって取得された第2の値を所定の座標系におけるスレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行する変換部と、第1の値および第4の値、第2の値および第3の値、または第3の値および第4の値に基づいて、所定の座標系における、マスタ軸の位置偏差とスレーブ軸の位置偏差との間の偏差量を算出する算出部と、算出部によって算出された偏差量を出力する出力部と、を備える。
 本開示のコンピュータ読み取り可能な記憶媒体は、マスタ軸の位置偏差を示す第1の値と、マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得することと、取得された第1の値を所定の座標系におけるマスタ軸の位置偏差を示す第3の値に変換すること、および、取得された第2の値を所定の座標系におけるスレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行することと、第1の値および第4の値、第2の値および第3の値、または第3の値および第4の値に基づいて、所定の座標系における、マスタ軸の位置偏差とスレーブ軸の位置偏差との間の偏差量を算出することと、算出された偏差量を出力することと、をコンピュータに実行させる命令を記憶する。
算出装置を含むシステムの一例を説明するための図である。 算出装置のハードウェア構成の一例を示すブロック図である。 算出装置の機能の一例を示すブロック図である。 制御軸の傾斜について説明するための図である。 位置偏差について説明するための図である。 位置偏差について説明するための図である。 傾斜軸の位置偏差について説明するための図である。 傾斜軸の位置偏差について説明するための図である。 加工機の一例を説明するための図である。 加工機の一例を説明するための図である。 加工機の一例を説明するための図である。 加工機の一例を説明するための図である。 算出装置において実行される処理の一例を示すフローチャートである。 加工機のハードウェア構成の一例を示すブロック図である。 数値制御装置に実装される算出装置の機能の一例を示すブロック図である。 算出装置において実行される処理の一例を示すフローチャートである。
 以下、本開示の実施形態に係る算出装置およびコンピュータ読み取り可能な記憶媒体について図面を参照して説明する。なお、以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は、省略する場合がある。
 本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
 図1は、算出装置を含むシステムの一例を説明するための図である。システムは、算出装置1と、加工機2とを含む。算出装置1と加工機2とは、互いにネットワークNによって接続される。
 算出装置1は、加工機2において互いに角度をなして配置される複数の制御軸の間の偏差量を算出する装置である。算出装置1は、例えば、PC(Personal Computer)、サーバ、または携帯端末に実装される。
 加工機2は、工作機械、レーザ加工機、3次元プリンタである。工作機械は、例えば、マシニングセンタ、旋盤、および複合加工機である。制御軸は、例えば、X軸、Y軸、およびZ軸を含む。偏差量については、後に詳しく説明する。
 加工機2は、複数の系統を備えている。各系統では、加工プログラムに基づいて、制御軸が動作する。各系統における制御軸は、例えば、互いに異なる複数の座標系において動作する。ただし、各系統における制御軸は、1つの共通の座標系において動作してもよい。複数の系統を備えた加工機2は、例えば、上刃物台と下刃物を備えた旋盤、複数の主軸頭を備えた複合加工機である。
 加工機2は、数値制御装置3を備える。数値制御装置3は、加工機2を制御する装置である。数値制御装置3は、例えば、加工機2の制御軸の動作を制御する。
 ネットワークNは、算出装置1と加工機2とを有線接続、または、無線接続する。ネットワークNは、例えば、インターネット回線、または、LAN(Local Area Network)である。
 図2は、算出装置1のハードウェア構成の一例を示すブロック図である。算出装置1は、例えば、ハードウェアプロセッサ101と、バス102と、ROM(Read Only Memory)103と、RAM(Random Access Memory)104と、不揮発性メモリ105と、インタフェース106と、入出力装置107と、通信装置108とを備える。
 ハードウェアプロセッサ101は、システムプログラムを用いて算出装置1全体を制御するプロセッサである。ハードウェアプロセッサ101は、バス102を介してROM103に格納されたシステムプログラムなどを読み出す。ハードウェアプロセッサ101は、例えば、CPU(Central Processing Unit)、または電子回路である。
 バス102は、算出装置1の各ハードウェアを互いに接続する通信路である。算出装置1の各ハードウェアはバス102を介してデータをやり取りする。
 ROM103は、システムプログラムなどを記憶する記憶装置である。ROM103は、コンピュータ読み取り可能な記憶媒体である。
 RAM104は、各種データを一時的に格納する記憶装置である。RAM104は、ハードウェアプロセッサ101が各種データを処理するための作業領域として機能する。
 不揮発性メモリ105は、算出装置1の電源が切られた状態でもデータを保持する記憶装置である。不揮発性メモリ105は、例えば、偏差量算出用プログラムを記憶する。不揮発性メモリ105は、コンピュータ読み取り可能な記憶媒体である。不揮発性メモリ105は、例えば、バッテリでバックアップされたメモリ、または、SSD(Solid State Drive)で構成される。
 インタフェース106は、バス102と入出力装置107とを接続する。インタフェース106は、例えば、ハードウェアプロセッサ101によって処理された各種データを入出力装置107に送る。
 入出力装置107は、インタフェース106を介して各種データを受け、各種データをモニタに表示させる。また、入出力装置107は、各種データの入力を受けて、各種データをインタフェース106を介して、例えば、ハードウェアプロセッサ101に送る。
 入出力装置107は、例えば、モニタ、キーボード、マウスを含む。入出力装置107は、タッチパネルであってもよい。入出力装置107がタッチパネルである場合、入出力装置107は、例えば、静電容量方式のタッチパネルである。タッチパネルは、静電容量方式に限らず、他の方式のタッチパネルであってもよい。
 通信装置108は、ネットワークNを介して加工機2と通信するための装置である。通信装置108は、加工機2を制御する数値制御装置3との間で、データの送受信を行う。
 図3は、算出装置1の機能の一例を示すブロック図である。算出装置1は、例えば、取得部111と、変換部112と、算出部113と、出力部114と、判定部115とを備える。取得部111、変換部112、算出部113、出力部114、および判定部115は、例えば、ハードウェアプロセッサ101が、ROM103に記憶されたシステムプログラム、および不揮発性メモリ105に記憶された偏差量算出用プログラムなどを用いて演算処理をすることにより実現される。
 取得部111は、マスタ軸の位置偏差を示す第1の値と、マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得する。
 マスタ軸は、加工プログラムに基づく指令によって動作する制御軸である。マスタ軸は、例えば、第1の系統に含まれる制御軸である。
 スレーブ軸は、複製されたマスタ軸の指令に基づいて動作する制御軸である。スレーブ軸は、例えば、マスタ軸に対するパルス信号が複製されることによって生成されたパルス信号に基づいて動作する。つまり、マスタ軸とスレーブ軸とは同期制御される。言い換えれば、スレーブ軸はマスタ軸に追従して動作する制御軸である。スレーブ軸は、例えば、第1の系統とは異なる第2の系統に含まれる制御軸である。
 図4は、制御軸の傾斜について説明するための図である。スレーブ軸およびマスタ軸の少なくともいずれかは、直交軸に対して傾斜して配置される。直交軸は、互いに直交する3つの軸である。直交軸は、例えば、互いに直交し、かつ、水平に配置される2つの軸と、当該2つの軸に直交する1つの軸を含む。図4に示す例において、X軸およびYi軸は直交軸である。ただし、Yi軸は、仮想軸である。
 例えば、Y軸は、水平に配置されたX軸に対して傾斜して配置される。直交軸に対して傾斜して配置される軸を傾斜軸と称する。図4に示す例では、Y軸が傾斜軸である。また、傾斜軸を含む座標系を傾斜座標系と称する。
 制御軸が傾斜している場合であっても、加工プログラムでは、直交軸における座標値を用いて移動指令が指定される。例えば、加工機2の構造物をY軸に沿って移動させる場合、X軸に直交するYi軸の座標値を用いて移動指令が指定される。この場合、数値制御装置3は、加工プログラムで指定されたYi軸の座標値をY軸の座標値に変換して構造物を移動させる。すなわち、数値制御装置3は、直交座標系における座標値を傾斜座標系における座標値に変換して制御軸を制御する。なお、直交座標系とは、互いに直交する3つの軸を有する座標系である。
 図5Aおよび図5Bは、位置偏差について説明するための図である。ここでは、直交軸の位置偏差について説明する。なお、図5A中のXm軸およびYm軸はそれぞれ、第1の系統に属するマスタ軸のX軸およびY軸である。図5B中のXs軸およびYs軸はそれぞれ、第2の系統に属するスレーブ軸のX軸およびY軸である。第1の系統は、例えば、第1の主軸頭を備える。第2の系統は、例えば、第2の主軸頭を備える。
 位置偏差は、制御軸に沿って主軸頭などの構造物が移動しているときの指令値と構造物の実際の移動量との差である。
 例えば、加工プログラムの実行中のある制御周期において、第1の主軸頭をYm軸に沿って位置0から位置100までの移動させる移動指令が出力される。移動指令は、例えば、パルス信号である。
 しかし、当該制御周期において、第1の主軸頭が位置60までしか到達できない場合がある。つまり、ある制御周期において出力されたパルス信号に相当する移動量分の移動が実行されない場合がある。この場合のYm軸の位置偏差は40である。言い換えれば、マスタ軸の位置偏差を示す第1の値は40である。
 第1の主軸頭をYm軸に沿って、位置0から位置100まで移動させる移動指令が出力される場合、Ys軸に対しても同様の移動指令が出力される。すなわち、第2の主軸頭をYs軸に沿って、位置0から位置100まで移動させる移動指令が出力される。第1の主軸頭が位置60まで到達する制御周期において、第2の主軸頭は、例えば、位置50までしか到達しない場合がある。この場合のYs軸の位置偏差は50である。言い換えれば、スレーブ軸の位置偏差を示す第2の値は50である。
 次に、偏差量について説明する。偏差量は、マスタ軸の位置偏差とスレーブ軸の位置偏差との間の差分を示す量である。マスタ軸、およびスレーブ軸が直交軸である場合、偏差量は、第1の値と第2の値の差分を示す量である。図5Aおよび図5Bに示す例では、偏差量は10である。偏差量は、同期誤差の大きさを示す量である。
 図6Aおよび図6Bは、傾斜軸の位置偏差について説明するための図である。図6A中のYi軸はXm軸に直交する仮想軸である。Xm軸およびYm軸はそれぞれ、第1の系統に属するマスタ軸のX軸およびY軸である。Ym軸は、Yi軸に対して30°だけ傾斜して配置される。言い換えれば、Xm軸とYm軸とがなす角度は、60°である。
 図6B中のYi軸はXs軸に直交する仮想軸である。Xs軸およびYs軸はそれぞれ、第2の系統に属するスレーブ軸のX軸およびY軸である。Ys軸は、Yi軸に対して45°だけ傾斜して配置される。言い換えれば、Xs軸とYs軸とがなす角度は、45°である。
 第1の系統の加工プログラムに基づいて、第1の主軸頭をYm軸に沿って移動させる場合、Yi軸の指令値が、Ym軸の指令値に変換される。すなわち、直交座標系における指令値が、傾斜座標系における指令値に変換される。なお、以下に示す傾斜座標系における指令値は、小数第二位を四捨五入したものである。
 例えば、第1の主軸頭をYi軸の位置0から位置100まで移動させる場合、第1の主軸頭に対する指令値100は、Ym軸の指令値115.5に変換される。第1の主軸頭をYm軸の位置115.5まで移動させる移動指令が実行された場合、第1の主軸頭は、例えば、Ym軸の69.3の位置まで移動する。すなわち、第1の主軸頭の移動量は、69.3である。この場合の第1の主軸頭のYm軸の位置偏差は、46.2である。
 第1の主軸頭がYm軸に沿って移動する場合、第2の主軸頭は、第1の主軸頭に同期して移動する。この場合、Ym軸の指令値が、Yi軸の指令値に変換され、さらに、Yi軸の指令値がYs軸の指令値に変換される。すなわち、第1の主軸頭の傾斜座標系における指令値が直交座標系における指令値に変換され、さらに、直交座標系における指令値が第2の主軸頭の傾斜座標系における指令値に変換される。
 例えば、直交座標系において第2の主軸頭をYi軸の位置0から位置100まで移動させる場合、Yi軸に対する指令値100は、Ys軸の指令値141.4に変換される。第2の主軸頭をYs軸の位置141.4まで移動させる移動指令が実行された場合、第2の主軸頭は、例えば、Ys軸の位置70.7まで移動する。すなわち、第2の主軸頭の移動量は、70.7である。この場合の第2の主軸頭のYs軸の位置偏差は、70.7である。ここで、図3の説明に戻る。
 変換部112は、取得部111によって取得された第1の値を所定の座標系におけるマスタ軸の位置偏差を示す第3の値に変換すること、および、取得部111によって取得された第2の値を所定の座標系におけるスレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行する。すなわち、変換部112は、マスタ軸の位置偏差およびスレーブ軸の位置偏差をマスタ軸およびスレーブ軸の共通の座標系における位置偏差に変換する。所定の座標系は、傾斜座標系、または直交座標系である。
 例えば、マスタ軸が傾斜座標系に含まれる場合、変換部112は、マスタ軸の位置偏差を直交軸の位置偏差に変換する。すなわち、変換された直交座標系におけるマスタ軸の位置偏差が第3の値である。図6Aに示す例において、変換部112は、Ym軸の位置偏差46.2をYi軸の位置偏差40に変換する。
 また、スレーブ軸が傾斜座標系に含まれる場合、変換部112は、スレーブ軸の位置偏差を直交軸の位置偏差に変換する。すなわち、変換された直交座標系におけるスレーブ軸の位置偏差が第4の値である。図6Bに示す例において、変換部112は、Ys軸の位置偏差70.7をYi軸の位置偏差50に変換する。
 なお、マスタ軸が直交座標系に含まれ、かつ、スレーブ軸が傾斜座標系に含まれる場合、変換部112は、マスタ軸の位置偏差の変換を行わない。また、マスタ軸が傾斜座標系に含まれ、かつ、スレーブ軸が直交座標系に含まれる場合、変換部112は、スレーブ軸の位置偏差の変換を行わない。
 変換部112は、マスタ軸の位置偏差およびスレーブ軸の位置偏差のいずれか一方を他方の座標系における位置偏差に変換してもよい。例えば、マスタ軸が直交座標系に含まれ、かつ、スレーブ軸が傾斜座標系に含まれる場合、変換部112は、マスタ軸の位置偏差を傾斜座標系の位置偏差に変換してもよい。あるいは、マスタ軸が傾斜座標系に含まれ、かつ、スレーブ軸が直交座標系に含まれる場合、変換部112は、スレーブ軸の位置偏差を傾斜座標系の位置偏差に変換してもよい。
 あるいは、マスタ軸が第1の傾斜座標系に含まれ、かつ、スレーブ軸が第1の傾斜座標系とは異なる第2の傾斜座標系に含まれる場合がある。この場合、変換部112は、マスタ軸の第1の傾斜座標系における位置偏差をスレーブ軸の第2の傾斜座標系の位置偏差に変換してもよい。あるいは、変換部112は、スレーブ軸の第2の傾斜座標系の位置偏差をマスタ軸の第1の傾斜座標系における位置偏差に変換してもよい。あるいは、変換部112は、マスタ軸の位置偏差およびスレーブ軸の位置偏差を、第1の座標系および第2の座標系とは異なる第3の座標系の位置偏差に変換してもよい。
 算出部113は、第1の値および第4の値、第2の値および第3の値、または第3の値および第4の値に基づいて、所定の座標系における、マスタ軸の位置偏差とスレーブ軸の位置偏差との間の偏差量を算出する。
 マスタ軸が直交座標系に含まれ、かつ、スレーブ軸が傾斜座標系に含まれる場合、算出部113は、第1の値および第4の値に基づいて、偏差量を算出する。算出部113は、第1の値と第4の値との差分、または第1の値と第4の値との差分の絶対値を求めることよって、偏差量を算出する。
 マスタ軸が傾斜座標系に含まれ、かつ、スレーブ軸が直交座標系に含まれる場合、算出部113は、第2の値および第3の値に基づいて、偏差量を算出する。算出部113は、第2の値と第3の値との差分、または第2の値と第3の値との差分の絶対値を求めることよって、偏差量を算出する。
 マスタ軸が第1の傾斜座標系に含まれ、かつ、スレーブ軸が第1の座標系とは異なる第2の傾斜座標系に含まれる場合、算出部113は、第2の値および第4の値に基づいて、偏差量を算出する。算出部113は、第2の値と第4の値との差分、または第2の値と第4の値との差分の絶対値を求めることよって、偏差量を算出する。
 図6Aおよび図6Bに示す例において、算出部113は、第2の値と第4の値に基づいて偏差量を算出する。算出部113が算出する偏差量の値は、10である。
 出力部114は、算出部113によって算出された偏差量を出力する。出力部114は、例えば、入出力装置107のモニタに偏差量を出力する。
 判定部115は、算出部113によって算出された偏差量とあらかじめ定められたしきい値とを比較してマスタ軸とスレーブ軸との間に同期誤差が発生しているか否かを判定する。判定部115は、例えば、制御周期毎に同期誤差が発生しているか否かを判定する。
 しきい値は、例えば、パラメータに設定されればよい。パラメータは、例えば、不揮発性メモリ105の所定の領域に記憶される。
 判定部115は、例えば、算出部113によって算出された偏差量があらかじめ定められたしきい値を超えた場合、同期誤差が発生したと判定する。判定部115は、例えば、算出部113によって算出された偏差量があらかじめ定められたしきい値以下である場合、同期誤差が発生していないと判定する。
 判定部115によって同期誤差が発生したと判定された場合、出力部114は、同期誤差が発生した旨の情報を出力する。出力部114は、例えば、入出力装置107のモニタに同期誤差が発生した旨の情報を表示させる。
 図7Aおよび図7Bは、加工機2の一例を説明するための図である。加工機2は、例えば、第1の系統と第2の系統とを有する。第1の系統には、第1の主軸頭H1が含まれる。第2の系統には第2の主軸頭H2が含まれる。第1の主軸頭H1および第2の主軸頭H2はともに、ワークWから見て同じ方向に配置される。第1の主軸頭H1および第2の主軸頭H2は、例えば、ワークWの上方に配置される。
 第1の系統の座標系は、傾斜座標系である。具体的には、Ym軸がYmi軸に対してθ1°だけ傾斜して配置される。Ymi軸は、Xm軸に直交する仮想軸である。θ1°は、例えば、機械の据え付け時に生じる据え付け誤差を示す角度である。
 第2の系統の座標系も、傾斜座標系である。具体的には、Ys軸がYsi軸に対してθ1°とは異なるθ2°だけ傾斜して配置される。Ysi軸は、Xs軸に直交する仮想軸である。θ2°は、例えば、機械の据え付け時に生じる据え付け誤差を示す角度である。
 なお、Xm軸およびXs軸は、互いに平行に配置される。また、Z軸は第1の系統の傾斜座標系および第2の系統の傾斜座標系に共通の軸である。
 図8Aおよび図8Bは、加工機2の一例を説明するための図である。加工機2は、例えば、第1の系統と第2の系統とを有する。第1の系統には、第1の主軸頭H1が含まれる。第2の系統には第2の主軸頭H2が含まれる。第1の主軸頭H1および第2の主軸頭H2はそれぞれ、ワークWから見て互いに異なる方向に配置される。第1の主軸頭H1は、例えば、ワークWの上方に配置される。第2の主軸頭H2は、例えば、ワークWの下方に配置される。
 第1の系統の座標系は、傾斜座標系である。具体的には、Ym軸がYmi軸に対してθ1°だけ傾斜して配置される。Ymi軸は、Xm軸に直交する仮想軸である。θ1°は、例えば、機械の据え付け時に生じる据え付け誤差を示す角度である。
 第2の系統の座標系も、傾斜座標系である。具体的には、Ys軸がYsi軸に対してθ1°とは異なるθ2°だけ傾斜して配置される。ただし、θ1の絶対値とθ2の絶対値とは等しい。すなわち、θ1=-θ2が成り立つ。Ysi軸は、Xs軸に直交する仮想軸である。θ2°は、例えば、機械の据え付け時に生じる据え付け誤差を示す角度である。
 なお、Xm軸およびXs軸は、互いに平行に配置される。ただし、Xm軸およびXs軸の正負の向きは互いに逆向きである。また、Zm軸はおよびZs軸は、互いに平行に配置される。Zm軸およびZs軸は、第1の系統の傾斜座標系および第2の系統の傾斜座標系に共通のZ軸で構成されてもよい。
 図9は、算出装置1において実行される処理の一例を示すフローチャートである。算出装置1では、まず、取得部111が、第1の値、および第2の値を取得する(ステップSA1)。
 次に、変換部112が、第1の値を第3の値に変換すること、および第2の値を第4の値に変換することの少なくともいずれかを実行する(ステップSA2)。
 次に、算出部113が偏差量を算出する(ステップSA3)。次に、出力部114が偏差量を出力する(ステップSA4)。
 次に、判定部115が、同期誤差が発生しているか否かを判定する(ステップSA5)。次に、出力部114が判定結果を出力する(ステップSA6)。なお、ステップSA1からステップSA6までの処理は、制御周期毎に繰り返し実行され、加工プログラムの実行が終了すると、当該処理が終了する。
 次に、算出装置1が数値制御装置3に実装される例について説明する。この場合、算出装置1は、加工機2の制御を実行する。
 図10は、加工機2のハードウェア構成の一例を示すブロック図である。加工機2は、数値制御装置3と、入出力装置4と、サーボアンプ5と、サーボモータ6と、スピンドルアンプ7と、スピンドルモータ8と、補助機器9とを備える。
 数値制御装置3は、加工機2を制御するための装置である。数値制御装置3は、例えば、ハードウェアプロセッサ301と、バス302と、ROM(Read Only Memory)303と、RAM(Random Access Memory)304と、不揮発性メモリ305とを備える。
 ハードウェアプロセッサ301は、システムプログラムを用いて数値制御装置3全体を制御するプロセッサである。ハードウェアプロセッサ301は、バス302を介してROM303に格納されたシステムプログラムなどを読み出す。ハードウェアプロセッサ301は、例えば、CPU、または電子回路である。
 バス302は、数値制御装置3の各ハードウェアを互いに接続する通信路である。数値制御装置3の各ハードウェアはバス302を介してデータをやり取りする。
 ROM303は、システムプログラムなどを記憶する記憶装置である。ROM303は、コンピュータ読み取り可能な記憶媒体である。
 RAM304は、各種データを一時的に格納する記憶装置である。RAM304は、ハードウェアプロセッサ301が各種データを処理するための作業領域として機能する。
 不揮発性メモリ305は、数値制御装置3の電源が切られた状態でもデータを保持する記憶装置である。不揮発性メモリ305は、例えば、偏差量算出用プログラムを記憶する。不揮発性メモリ305は、コンピュータ読み取り可能な記憶媒体である。不揮発性メモリ305は、例えば、バッテリでバックアップされたメモリ、または、SSDで構成される。
 数値制御装置3は、さらに、インタフェース306と、軸制御回路307と、スピンドル制御回路308と、PLC(Programmable Logic Controller)309と、I/Oユニット310とを備える。
 インタフェース306は、バス302と入出力装置4とを接続する。インタフェース306は、例えば、ハードウェアプロセッサ301によって処理された各種データを入出力装置4に送る。
 入出力装置4は、インタフェース306を介して各種データを受け、各種データをディスプレイに表示させる。また、入出力装置4は、各種データの入力を受けて、各種データをインタフェース306を介して、例えば、ハードウェアプロセッサ301に送る。
 入出力装置4は、例えば、タッチパネルである。入出力装置4がタッチパネルである場合、入出力装置4は、例えば、静電容量方式のタッチパネルである。タッチパネルは、静電容量方式に限らず、他の方式のタッチパネルであってもよい。入出力装置4は、数値制御装置3が格納される操作盤(不図示)に設置される。
 軸制御回路307は、サーボモータ6を制御するための回路である。軸制御回路307は、ハードウェアプロセッサ301からの制御指令を受けてサーボモータ6を駆動させるための各種指令をサーボアンプ5に送る。軸制御回路307は、例えば、サーボモータ6のトルクを制御するトルクコマンドをサーボアンプ5に送る。
 サーボアンプ5は、軸制御回路307からの指令を受けて、サーボモータ6に電流を供給する。
 サーボモータ6は、サーボアンプ5から電流の供給を受けて駆動する。サーボモータ6は、加工機2の各制御軸に対応して設けられる。加工機2が5軸を有する工作機械である場合、サーボモータ6は、例えば、X軸用サーボモータ、Y軸用サーボモータ、Z軸用サーボモータ、A軸用サーボモータ、およびC軸用サーボモータを含む。この場合、軸制御回路307、およびサーボアンプ5は、各サーボモータ6に対してそれぞれ設けられる。
 サーボモータ6は、例えば、加工機2の構造物を移動させるボールねじに連結される。サーボモータ6が駆動することにより、主軸頭などの加工機2の構造物が所定の制御軸に沿って移動する。
 サーボモータ6は、制御軸の位置および送り速度を検出するエンコーダ(不図示)を内蔵する。エンコーダによって検出される制御軸の位置、および制御軸の送り速度をそれぞれ示す位置フィードバック情報、および速度フィードバック情報は、軸制御回路307にフィードバックされる。これにより、軸制御回路307は、各制御軸のフィードバック制御を行う。
 スピンドル制御回路308は、スピンドルモータ8を制御するための回路である。スピンドル制御回路308は、ハードウェアプロセッサ301からの制御指令を受けてスピンドルモータ8を駆動させるための指令をスピンドルアンプ7に送る。スピンドル制御回路308は、例えば、スピンドルモータ8の回転速度を制御するスピンドル速度コマンドをスピンドルアンプ7に送る。
 スピンドルアンプ7は、スピンドル制御回路308からの指令を受けて、スピンドルモータ8に電流を供給する。
 スピンドルモータ8は、スピンドルアンプ7から電流の供給を受けて駆動する。スピンドルモータ8は、主軸に連結され、主軸を回転させる。
 なお、図10には、1つの系統を動作させるサーボモータ6およびスピンドルモータ8のみを図示している。しかし、加工機2が複数の系統を有する場合、加工機2は、複数の系統のそれぞれに対応してサーボモータ6およびスピンドルモータ8を備える。
 PLC309は、ラダープログラムを実行して補助機器9を制御する装置である。PLC309は、I/Oユニット310を介して補助機器9に対して指令を送る。
 I/Oユニット310は、PLC309と補助機器9とを接続するインタフェースである。I/Oユニット310は、PLC309から受けた指令を補助機器9に送る。
 補助機器9は、加工機2に設置され、加工機2において補助的な動作を行う機器である。補助機器9は、I/Oユニット310から受けた指令に基づいて動作する。補助機器9は、加工機2の周辺に設置される機器であってもよい。補助機器9は、例えば、工具交換装置、切削液噴射装置、または開閉ドア駆動装置である。
 図11は、数値制御装置3に実装される算出装置1の機能の一例を示すブロック図である。算出装置1は、図3に示す機能に加えて制御部116を備える。制御部116は、加工プログラムに基づいて、加工機2の各制御軸を制御する。
 制御部116は、マスタ軸の移動量を複製してスレーブ軸を制御する。制御部116は、マスタ軸に対するパルス信号を複製し、複製されたパルス信号に基づいてスレーブ軸を制御する。
 例えば、図6Aおよび図6Bに示す例において、制御部116は、Ym軸の移動量115.5を複製してYs軸の移動量141.4を生成する。制御部116は、生成された移動量141.4に基づいてスレーブ軸であるYs軸を制御する。
 制御部116は、算出部113によって算出された偏差量を用いてスレーブ軸の移動量を補正する。すなわち、制御部116は、スレーブ軸の移動量をマスタ軸の移動量に合わせる制御を行う。制御部116は、例えば、スレーブ軸のトルクを上げて、スレーブ軸の移動量をマスタ軸の移動量に合わせる。
 図6Aおよび図6Bに示す例では、直交座標系における偏差量が10である。制御部116は、当該偏差量10をYs軸の偏差量14.1に変換する。制御部116は、変換された偏差量14.1を用いてスレーブ軸の移動量を補正する。制御部116は、例えば、偏差量が算出された制御周期の次の制御周期において、スレーブ軸の移動量の補正を行う。
 図12は、数値制御装置3に実装された算出装置1において実行される処理の一例を示すフローチャートである。
 まず、制御部116が加工プログラムに基づいて制御軸を制御する(ステップSB1)。次に、取得部111が、第1の値、および第2の値を取得する(ステップSB2)。
 次に、変換部112が第1の値を第3の値に変換すること、および第2の値を第4の値に変換することの少なくともいずれかを実行する(ステップSB3)。
 次に、算出部113が偏差量を算出する(ステップSB4)。次に、出力部114が偏差量を出力する(ステップSB5)。
 次に、判定部115が、同期誤差が発生しているか否かを判定する(ステップSB6)。次に、出力部114が判定結果を出力する(ステップSB7)。次に、制御部116が、スレーブ軸の移動量を補正する(ステップSB8)。なお、ステップSB1からステップSB8までの処理は、制御周期毎に繰り返し実行され、加工プログラムの実行が終了すると、当該処理が終了する。
 以上説明したように、算出装置1は、マスタ軸の位置偏差を示す第1の値と、マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得する取得部111と、取得部111によって取得された第1の値を所定の座標系におけるマスタ軸の位置偏差を示す第3の値に変換すること、および、取得部111によって取得された第2の値を所定の座標系におけるスレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行する変換部112と、第1の値および第4の値、第2の値および第3の値、または第3の値および第4の値に基づいて、所定の座標系における、マスタ軸の位置偏差とスレーブ軸の位置偏差との間の偏差量を算出する算出部113と、算出部113によって算出された偏差量を出力する出力部114と、を備える。
 また、コンピュータ読み取り可能な記憶媒体は、マスタ軸の位置偏差を示す第1の値と、マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得することと、取得された第1の値を所定の座標系におけるマスタ軸の位置偏差を示す第3の値に変換すること、および、取得された第2の値を所定の座標系におけるスレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行することと、第1の値および第4の値、第2の値および第3の値、または第3の値および第4の値に基づいて、所定の座標系における、マスタ軸の位置偏差とスレーブ軸の位置偏差との間の偏差量を算出することと、算出された偏差量を出力することと、をコンピュータに実行させる命令を記憶する。
 そのため、算出装置1、またはコンピュータは、マスタ軸の位置偏差と、マスタ軸に対して傾斜して配置されたスレーブ軸の位置偏差との間の偏差量を算出することができる。すなわち、マスタ軸とスレーブ軸との傾斜角度が異なっていても、マスタ軸とスレーブ軸との間の偏差量を算出することができる。
 また、所定の座標系は、傾斜座標系、または直交座標系である。したがって、算出装置1は、様々な座標系において偏差量を算出することができる。そのため、算出装置1は、マスタ軸とスレーブ軸との間の誤差補正を容易に行うことができる。
 また、算出装置1は、偏差量とあらかじめ定められたしきい値とを比較してマスタ軸とスレーブ軸との間に同期誤差が発生しているか否かを判定する判定部115をさらに備える。そのため、算出装置1は、同期誤差が許容可能である場合には誤差補正をする必要がない。その結果、算出装置1は、数値制御装置3の制御負荷を低減することができる。
 また、算出装置1は、マスタ軸の移動量を複製してスレーブ軸を制御する制御部116をさらに備える。そのため、算出装置1は、マスタ軸とスレーブ軸とを同期制御することができる。
 また、制御部116は、算出部113によって算出された偏差量を用いてスレーブ軸の移動量を補正する。すなわち、算出装置1は、マスタ軸とスレーブ軸との同期誤差を補正することができる。そのため、算出装置1は、加工機2を精度よく制御することができる。
 本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、または、請求の範囲に記載された内容とその均等物から導き出される本開示の要旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。
 以下に、本開示の実施形態に係る付記を示す。
付記[1]
 マスタ軸の位置偏差を示す第1の値と、前記マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得する取得部と、前記取得部によって取得された前記第1の値を所定の座標系における前記マスタ軸の位置偏差を示す第3の値に変換すること、および、前記取得部によって取得された前記第2の値を前記所定の座標系における前記スレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行する変換部と、前記第1の値および前記第4の値、前記第2の値および前記第3の値、または前記第3の値および前記第4の値に基づいて、前記所定の座標系における、前記マスタ軸の前記位置偏差と前記スレーブ軸の前記位置偏差との間の偏差量を算出する算出部と、前記算出部によって算出された前記偏差量を出力する出力部と、を備える算出装置。
付記[2]
 前記所定の座標系は、傾斜座標系、または直交座標系である付記[1]に記載の算出装置。
付記[3]
 前記偏差量とあらかじめ定められたしきい値とを比較して前記マスタ軸と前記スレーブ軸との間に同期誤差が発生しているか否かを判定する判定部をさらに備える付記[1]または[2]に記載の算出装置。
付記[4]
 前記マスタ軸の移動量を複製して前記スレーブ軸を制御する制御部をさらに備える付記[1]~[3]のいずれかに記載の算出装置。
付記[5]
 前記制御部は、前記算出部によって算出された前記偏差量を用いて前記スレーブ軸の前記移動量を補正する付記[4]に記載の算出装置。
付記[6]
 マスタ軸の位置偏差を示す第1の値と、前記マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得することと、取得された前記第1の値を所定の座標系における前記マスタ軸の位置偏差を示す第3の値に変換すること、および、取得された前記第2の値を前記所定の座標系における前記スレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行することと、前記第1の値および前記第4の値、前記第2の値および前記第3の値、または前記第3の値および前記第4の値に基づいて、前記所定の座標系における、前記マスタ軸の前記位置偏差と前記スレーブ軸の前記位置偏差との間の偏差量を算出することと、算出された前記偏差量を出力することと、をコンピュータに実行させる命令を記憶するコンピュータ読み取り可能な記憶媒体。
  1       算出装置
  101     ハードウェアプロセッサ
  102     バス
  103     ROM
  104     RAM
  105     不揮発性メモリ
  106     インタフェース
  107     入出力装置
  108     通信装置
  111     取得部
  112     変換部
  113     算出部
  114     出力部
  115     判定部
  116     制御部
  2       加工機
  3       数値制御装置
  301     ハードウェアプロセッサ
  302     バス
  303     ROM
  304     RAM
  305     不揮発性メモリ
  306     インタフェース
  307     軸制御回路
  308     スピンドル制御回路
  309     PLC
  310     I/Oユニット
  4       入出力装置
  5       サーボアンプ
  6       サーボモータ
  7       スピンドルアンプ
  8       スピンドルモータ
  9       補助機器

Claims (6)

  1.  マスタ軸の位置偏差を示す第1の値と、前記マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得する取得部と、
     前記取得部によって取得された前記第1の値を所定の座標系における前記マスタ軸の位置偏差を示す第3の値に変換すること、および、前記取得部によって取得された前記第2の値を前記所定の座標系における前記スレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行する変換部と、
     前記第1の値および前記第4の値、前記第2の値および前記第3の値、または前記第3の値および前記第4の値に基づいて、前記所定の座標系における、前記マスタ軸の前記位置偏差と前記スレーブ軸の前記位置偏差との間の偏差量を算出する算出部と、
     前記算出部によって算出された前記偏差量を出力する出力部と、
    を備える算出装置。
  2.  前記所定の座標系は、傾斜座標系、または直交座標系である請求項1に記載の算出装置。
  3.  前記偏差量とあらかじめ定められたしきい値とを比較して前記マスタ軸と前記スレーブ軸との間に同期誤差が発生しているか否かを判定する判定部をさらに備える請求項1または2に記載の算出装置。
  4.  前記マスタ軸の移動量を複製して前記スレーブ軸を制御する制御部をさらに備える請求項1~3のいずれか1項に記載の算出装置。
  5.  前記制御部は、前記算出部によって算出された前記偏差量を用いて前記スレーブ軸の前記移動量を補正する請求項4に記載の算出装置。
  6.  マスタ軸の位置偏差を示す第1の値と、前記マスタ軸に対して所定の角度だけ傾斜して配置されるスレーブ軸の位置偏差を示す第2の値とを取得することと、
     取得された前記第1の値を所定の座標系における前記マスタ軸の位置偏差を示す第3の値に変換すること、および、取得された前記第2の値を前記所定の座標系における前記スレーブ軸の位置偏差を示す第4の値に変換することの少なくともいずれかを実行することと、
     前記第1の値および前記第4の値、前記第2の値および前記第3の値、または前記第3の値および前記第4の値に基づいて、前記所定の座標系における、前記マスタ軸の前記位置偏差と前記スレーブ軸の前記位置偏差との間の偏差量を算出することと、
     算出された前記偏差量を出力することと、
    をコンピュータに実行させる命令を記憶するコンピュータ読み取り可能な記憶媒体。
PCT/JP2023/011727 2023-03-24 2023-03-24 算出装置およびコンピュータ読み取り可能な記憶媒体 Ceased WO2024201557A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2023/011727 WO2024201557A1 (ja) 2023-03-24 2023-03-24 算出装置およびコンピュータ読み取り可能な記憶媒体
DE112023005575.0T DE112023005575T5 (de) 2023-03-24 2023-03-24 Berechnungsvorrichtung und computerlesbares speichermedium
JP2025509058A JPWO2024201557A1 (ja) 2023-03-24 2023-03-24
CN202380095930.7A CN120883158A (zh) 2023-03-24 2023-03-24 计算装置以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/011727 WO2024201557A1 (ja) 2023-03-24 2023-03-24 算出装置およびコンピュータ読み取り可能な記憶媒体

Publications (1)

Publication Number Publication Date
WO2024201557A1 true WO2024201557A1 (ja) 2024-10-03

Family

ID=92904053

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/011727 Ceased WO2024201557A1 (ja) 2023-03-24 2023-03-24 算出装置およびコンピュータ読み取り可能な記憶媒体

Country Status (4)

Country Link
JP (1) JPWO2024201557A1 (ja)
CN (1) CN120883158A (ja)
DE (1) DE112023005575T5 (ja)
WO (1) WO2024201557A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131712A (ja) * 2001-10-22 2003-05-09 Nissan Motor Co Ltd 多軸同期制御装置
JP2008225533A (ja) * 2007-03-08 2008-09-25 Fanuc Ltd サーボ制御装置
JP2015191306A (ja) * 2014-03-27 2015-11-02 オークマ株式会社 工作機械の制御方法及び制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131712A (ja) * 2001-10-22 2003-05-09 Nissan Motor Co Ltd 多軸同期制御装置
JP2008225533A (ja) * 2007-03-08 2008-09-25 Fanuc Ltd サーボ制御装置
JP2015191306A (ja) * 2014-03-27 2015-11-02 オークマ株式会社 工作機械の制御方法及び制御装置

Also Published As

Publication number Publication date
DE112023005575T5 (de) 2025-12-18
JPWO2024201557A1 (ja) 2024-10-03
CN120883158A (zh) 2025-10-31

Similar Documents

Publication Publication Date Title
JP4291386B2 (ja) ワーク設置誤差補正手段を有する数値制御装置
CN100442180C (zh) 数值控制装置
Zhou et al. Adaptive feedrate interpolation with multiconstraints for five-axis parametric toolpath
US11300943B2 (en) Simulation device, numerical control device, and simulation method
JP2009009274A (ja) 数値制御装置
CN106886197B (zh) 控制机器实施加工的方法及其装置和应用
JP2009538744A (ja) 旋削加工を制御する方法、および旋削加工に適したnc機械
CN104635624A (zh) 用于控制四轴加工设备的数控系统控制方法及其控制系统
WO2024201557A1 (ja) 算出装置およびコンピュータ読み取り可能な記憶媒体
CN106886195B (zh) 机加工控制方法及其装置和应用
WO2017101700A1 (zh) 与数控系统直接通讯的计算机辅助制造方法及装置和系统
CN202362643U (zh) 一种组合机床控制系统
CN117506547A (zh) 数控机床的轮廓误差的检测方法、系统及装置
JP2016038674A (ja) 工作機械の補正値演算方法及び補正値演算プログラム
JP4734439B2 (ja) 4軸加工機用数値制御装置
JPH0772913A (ja) 工作機械の誤差補正方式
US20250181050A1 (en) Machining surface estimation device and computer-readable storage medium
CN109884982B (zh) 数值控制装置
WO2025062584A9 (ja) 数値制御装置およびコンピュータ読み取り可能な記憶媒体
WO2022264338A1 (ja) 制御装置、干渉チェック装置、及び制御システム
JP2010271898A (ja) 4軸加工機用数値制御装置
WO2025022535A1 (ja) 出力装置およびコンピュータ読み取り可能な記憶媒体
US12449786B2 (en) Program analyzer and control system
US12481269B2 (en) Numerical control device and computer-readable storage medium
JP7804154B1 (ja) 制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23930199

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2025509058

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 112023005575

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 202380095930.7

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 202380095930.7

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 112023005575

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23930199

Country of ref document: EP

Kind code of ref document: A1