Control device and computer-readable recording medium

By employing multiple correction points with varying correction spaces in the control device, the problem of improving machining accuracy under limited storage resources is solved, achieving high-precision error correction while saving storage resources.

CN121889738APending Publication Date: 2026-04-17FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
FANUC LTD
Filing Date
2023-09-27
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In the prior art, reducing the interval between correction points in the error correction table to improve machining accuracy requires a large amount of storage resources. However, it is not practical to prepare an error correction table with refined correction point intervals within a control device with limited storage resources.

Method used

By preparing multiple calibration points with different intervals in the control device, including dense and sparse calibration spaces, and calculating and correcting the amount of correction based on the minimum interval of the calibration space according to the movement command, high-precision error correction is achieved.

Benefits of technology

Higher accuracy error correction was achieved within limited storage resources, saving storage space and reducing the cost of the control device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121889738A_ABST
    Figure CN121889738A_ABST
Patent Text Reader

Abstract

This control device is provided with: a movement command calculation unit that calculates a movement command relating to each axis of an industrial machine to be controlled; a correction space determination unit that refers to a plurality of correction scales that define a correction space in a predetermined region within a movable range of each axis of the industrial machine, and determines a correction space to which the interval between lattice points in the correction space to which the machine coordinate value obtained by the movement command belongs is the smallest; a correction amount calculation unit that, on the basis of the determination result, selects and reads out a correction amount table defining a correction space in which the interval between the lattice points is minimum, and calculates a correction amount at the machine coordinate value; and a movement command correction unit that corrects the movement command on the basis of the calculated correction amount, the plurality of correction scale tables including a correction scale table defining at least two correction spaces in which the intervals of lattice points are different.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to control devices and computer-readable recording media. Background Technology

[0002] The feed axes of industrial machinery such as machine tools installed on the production site generate errors between their target position and actual movement position. The amount of this error varies depending on the movement position; therefore, methods known in the past include preparing and storing an error correction table corresponding to the position and the error, and correcting the error corresponding to the position. For example, Patent Documents 1 and 2.

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 63-140308

[0006] Patent Document 2: Japanese Patent Application Publication No. 04-169907 Summary of the Invention

[0007] The problem that the invention aims to solve

[0008] If the intervals between correction points in the error correction table are reduced to improve machining accuracy, a large storage area is required. However, there is a problem: preparing an error correction table with refined correction point intervals within a control device with limited storage resources is impractical.

[0009] In the production environment, there is a desire for technologies that can perform higher-precision error correction within a suitable storage capacity.

[0010] Methods for solving problems

[0011] The control device for industrial machinery disclosed herein solves the aforementioned problem by preparing a correction space with multiple correction points spaced at different intervals. Within the range requiring high-precision error correction, a correction space with narrow intervals between correction points is prepared; in other ranges, a correction space with wide intervals between correction points compensates for the error.

[0012] Furthermore, one aspect of this disclosure is a control device comprising: a movement command calculation unit that calculates movement commands related to each axis of an industrial machine that is the object of control; a correction space determination unit that, with reference to a plurality of correction tables, determines the correction space with the smallest interval between grid points in the correction space to which the machine coordinate value obtained by the movement command belongs, wherein the plurality of correction tables each define a correction space, which is a predetermined area within the movable range of each axis in the machine coordinates of the industrial machine, and sets a correction amount associated with a plurality of grid points arranged in a grid pattern within the area; a correction amount calculation unit that, based on the determination result, selects and reads the correction table defining the correction space with the smallest interval between grid points, and calculates the correction amount at the machine coordinate value; and a movement command correction unit that corrects the movement command based on the correction amount calculated by the correction amount calculation unit, wherein the plurality of correction tables include correction tables defining at least two correction spaces with different intervals between grid points. Attached Figure Description

[0013] Figure 1 This is a schematic hardware structure diagram of the control device according to the first embodiment.

[0014] Figure 2 This is a block diagram illustrating the general functions of the control device in the first embodiment.

[0015] Figure 3 This is a schematic diagram illustrating an example of a correction space.

[0016] Figure 4 This is a schematic diagram illustrating another example of a correction space.

[0017] Figure 5 This is a chart representing an example of a calibration scale.

[0018] Figure 6 It is a schematic diagram representing the basic region of a grid surrounded by adjacent grid points in the correction space.

[0019] Figure 7 This is a block diagram illustrating the general functions of the control device in the second embodiment.

[0020] Figure 8 This is a schematic diagram illustrating the boundary region between the first correction space and the second correction space.

[0021] Figure 9 This is a schematic diagram illustrating the basic region of a grid in the first correction space containing the mechanical coordinate position of the moving destination and the basic region of a grid in the second correction space closest to that mechanical coordinate position.

[0022] Figure 10This is a block diagram illustrating the general functions of the control device in the third embodiment.

[0023] Figure 11 This is a block diagram illustrating the general functions of the control device in the fourth embodiment.

[0024] Figure 12 This is a schematic diagram illustrating the operation of the machining space determination unit.

[0025] Figure 13 This is a block diagram illustrating the general functions of the control device in the fifth embodiment.

[0026] Figure 14 This is a schematic diagram illustrating the space for correcting the processing path. Detailed Implementation

[0027] The following is related to the appendix. Figure 1 The embodiments of this disclosure will be described below. Furthermore, in the following description, structures having the same or similar functions will be labeled with the same reference numerals. Also, repeated descriptions of these structures will sometimes be omitted.

[0028] In this application, "based on XX" means "at least based on XX," but also includes cases based on other elements besides XX. Furthermore, "based on XX" is not limited to directly using XX, but also includes cases based on operations or processing performed on XX. "XX" can be any element (e.g., any information).

[0029] The term "drive axis" as used in this application refers to a virtual axis set in a machining center. Drive axes include, for example, the X-axis, Y-axis, Z-axis, A-axis, B-axis, and C-axis.

[0030] [First Implementation Method]

[0031] Figure 1 This is a schematic hardware structure diagram showing the main parts of a control device according to an embodiment of the present disclosure. The control device 1 of the present disclosure can be installed as a control device to control industrial machinery such as machine tools and robots that have a moving object that moves via an electric motor. Hereinafter, the control device 1 for a machine tool that controls the machining of a workpiece by controlling the relative position of the tool and the workpiece will be described as an example.

[0032] The CPU 11 of the control device 1 disclosed herein is a processor that controls the entire control device 1. The CPU 11 reads the system / program stored in the ROM 12 via the bus 22 and controls the control device 1 as a whole according to the system / program. Temporary calculation data, display data, and various data input from external sources are temporarily stored in the RAM 13.

[0033] The non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown), an SSD (Solid State Drive), etc., and maintains its storage state even when the power supply to the control device 1 is disconnected. The non-volatile memory 14 stores control programs and data read from the external device 72 via the interface 15, data and control programs input via the input device 71, and various data obtained from the industrial machinery 3. The control programs and data stored in the non-volatile memory 14 can also be expanded in the RAM 13 during execution / use. Furthermore, various systems / programs, such as known parsing programs, are pre-written into the ROM 12.

[0034] Interface 15 is used to connect the CPU 11 of the control device 1 to external devices 72 such as USB memory, CompactFlash (registered trademark), and SD card. It can read control programs and various data used for controlling industrial machinery 3 from the external device 72. Furthermore, control programs and various data edited within the control device 1 can be stored on the external device 72. The PLC (Programmable Logic Controller) 16 outputs signals and performs control via I / O unit 17 to industrial machinery 3 and its peripheral devices (e.g., tool changers, robot actuators, sensors installed on industrial machinery 3) through a sequence program built into the control device 1. Additionally, the PLC 16 receives signals from various switches and peripheral devices on the control panel of the main body of industrial machinery 3, performs necessary signal processing, and then transmits them to the CPU 11.

[0035] In the display device 70, various data read into the memory, data obtained as a result of executing control programs, systems / programs, etc., are output and displayed via the interface 18. In addition, the input device 71, which consists of a keyboard, indicator devices, etc., transmits instructions and data based on the operator's operation to the CPU 11 via the interface 19.

[0036] Interface 20 is used to connect the CPU 11 of control device 1 to a wired or wireless network 5. Network 5 can communicate using technologies such as RS-485 serial communication, Ethernet communication, optical communication, wireless LAN, Wi-Fi, and Bluetooth. Network 5 connects to other control devices 4, fog computers 6, cloud servers 7, etc., and exchanges data with control device 1.

[0037] The axis control circuit 30, used to control the control axes of the industrial machinery 3, receives position commands for the control axes from the CPU 11 and outputs the commands for those control axes to the servo amplifier 40. The servo amplifier 40 receives these commands to drive the servo motors 50 of the control axes, causing each component of the industrial machinery 3 to move along its respective control axis. Each servo motor 50 has a built-in position detector, which feeds back position feedback signals to the axis control circuit 30. The axis control circuit 30 performs feedback control of the servo motors 50 based on these position feedback signals. Furthermore, in... Figure 1 In the hardware structure diagram, one axis control circuit 30, one servo amplifier 40, and one servo motor 50 are shown, but in reality, the number of control axes of the industrial machine 3 that is to be controlled is much larger. For example, in the case of controlling a typical machine tool with three linear axes and two rotary axes, five sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 are prepared to move the spindle on which the tool is mounted and the workpiece relative to each other in the directions of the three linear axes and the two rotary axes (X-axis, Y-axis, Z-axis, A-axis, and C-axis).

[0038] The spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives this spindle speed signal and causes the spindle motor 62 of the industrial machine 3 to rotate at the indicated speed, driving the spindle. The spindle motor 62 is coupled to a position encoder 63. The position encoder 63 outputs feedback pulses synchronously with the spindle rotation, and these feedback pulses are read by the CPU 11.

[0039] Figure 2 This diagram is a schematic block diagram showing the functions of the control device 1 according to the first embodiment of this disclosure. The functions of the control device 1 according to this embodiment are described in detail below. Figure 1 The control device 1 shown is implemented by having a CPU 11 that executes the system / program and controls the operation of each part of the control device 1.

[0040] The control device 1 of this embodiment includes a program parsing unit 100, a movement command calculation unit 110, a correction space determination unit 120, a correction amount calculation unit 130, a movement command correction unit 140, and a control unit 150. Furthermore, a control program 200 for controlling the industrial machinery 3 is stored in the RAM 13 or non-volatile memory 14 of the control device 1. Moreover, a correction table storage unit 210 is pre-prepared in the RAM 13 or non-volatile memory 14 of the control device 1, which stores multiple correction tables that each define a correction space.

[0041] The program parsing unit 100 sequentially reads and parses the instruction blocks contained in the control program 200. Then, if the parsed instruction block is an instruction block that instructs the movement of a predetermined control axis, the instruction movement calculation unit 110 generates movement commands for controlling the movement of each control axis based on the parsing result. In addition, if the parsed instruction block is an instruction block that instructs the rotation of the spindle motor 62 or contains other known instructions, the program parsing unit 100 performs the parsing of the instruction and instructs the control unit 150 to control each part of the industrial machine 3.

[0042] The movement command calculation unit 110 calculates movement commands for controlling the movement of each control axis of the industrial machine 3 based on the parsing results of the movement-related command blocks by the program parsing unit 100. The calculated movement commands can be, for example, coordinate values ​​in the machine coordinate system of the industrial machine 3 at a predetermined destination. Alternatively, they can indicate the amount of movement for each control axis. The movement command calculation unit 110 outputs the generated movement commands to the movement command correction unit 140. Furthermore, the movement command calculation unit 110 outputs the coordinate values ​​in the machine coordinate system of the destination of the calculated movement commands to the correction space determination unit 120.

[0043] The correction space determination unit 120 determines the correction space with the smallest interval between grid points in the correction space to which the coordinate values ​​in the machine coordinate system of the movement destination are located, based on the coordinate values ​​in the machine coordinate system to which the coordinate values ​​in the machine coordinate system obtained by the movement command are located, and multiple correction tables stored in the correction table storage unit 210, according to the coordinate values ​​in the machine coordinate system to which the coordinate values ​​in the machine coordinate system obtained by the movement command belong.

[0044] The following uses Figures 3-5 The correction space and correction scale of this embodiment will be explained.

[0045] Figure 3 This is a schematic diagram representing the coordinate space in the mechanical coordinate system of industrial machinery 3. Figure 3 In the attached drawing, reference numeral 310 denotes the correction space. The correction space is a hypothetical virtual area assumed within the movable range of each control axis in the machine coordinate system of the industrial machine 3. For example, as... Figure 3 As illustrated, imagine multiple grid points arranged in a grid pattern within the movable range of each control axis in the mechanical coordinate system of industrial machine 3. The correction space can be defined as the region enclosed by this group of grid points. Each grid point is associated with the correction amount of each control axis of industrial machine 3 at its coordinate position. For example, in the case of industrial machine 3 with three linear axes, the correction amount corresponding to the translational error of each control axis at the coordinate position of the grid point is associated with that grid point. Furthermore, in the case of industrial machine 3 with two rotary axes, the correction amount corresponding to the rotational error of each control axis at the coordinate position of the grid point is also associated with that grid point. Additionally, in... Figure 3 The diagram shows multiple grid points arranged in a simple cubic grid pattern parallel to the X, Y, and Z axes with the grid points spaced at equal intervals. However, this is not a limitation; the intervals between grid points along the X, Y, and Z axes can also be different. Furthermore, other types of grid patterns, such as rhombic or hexagonal grids, can also be envisioned.

[0046] Figure 4 This is a schematic diagram illustrating a correction space with a small grid spacing. In the control device 1 of this embodiment, corrections are performed using multiple correction spaces. It is preferable that the grid spacing in each correction space is different; particularly preferable are correction spaces with larger grid spacing and correction spaces with smaller grid spacing. The region of one of the multiple correction spaces may partially or completely overlap with the regions of other correction spaces. For example, Figure 4 The illustrated correction space 312 is contained in Figure 3 The illustrated correction space 310. Multiple correction spaces preferably have grid points arranged in the same type of grid pattern so that the intervals between the individual grid points can be compared.

[0047] Figure 5 This is a chart representing an example of a calibration scale. Figure 5 The illustrated calibration scale defines the calibration space in an industrial machine 3 with three linear axes and two rotational axes. For example... Figure 5 As illustrated, the calibration scale defines the calibration space using multiple grid points and the calibration values ​​of each control axis associated with those grid points. These calibration values ​​are used to correct the error of each control axis at its position relative to the mechanical coordinate values ​​of each grid point, and are determined through prior experiments. The calibration scale can be a simple list of grid points, but it can also store auxiliary information to determine the adjacency relationships of grid points within the same calibration space. For example, in... Figure 5 In the calibration scale shown, the arrangement order in the X-axis, Y-axis, and Z-axis directions is added as auxiliary information to the symbol P of the grid point. A Following this, the grid points adjacent to a given grid point can be identified. Additionally, as other auxiliary information, the range of the calibration space (range in the X-axis, Y-axis, and Z-axis directions) and the intervals between grid points in each direction (in the case of a simple rhombic grid along the axes, the intervals between grid points in the X-axis, Y-axis, and Z-axis directions) can also be stored. This auxiliary information enables high-speed calculations using the calibration scale.

[0048] The correction space determination unit 120 compares the mechanical coordinate position of the destination of the movement based on the movement command input from the movement command calculation unit 110 with the range of the correction space defined by each correction table stored in the correction table storage unit 210. Then, the correction space containing the mechanical coordinate position of the destination is determined as the correction space for calculating the correction amount. Regarding the range of the correction space, the grid point with the smallest coordinate value and the grid point with the largest coordinate value can be calculated according to each control axis, and the range surrounded by these grid points is defined as the range of the correction space. When multiple correction spaces contain the mechanical coordinate position of the destination, the correction space determination unit 120 further determines the correction space with the smallest interval between grid points as the correction space for calculating the correction amount. The interval between grid points can be calculated as the distance between adjacent grid points. The correction space determination unit 120 instructs the correction amount calculation unit 130 to calculate the correction amount using the determined correction space.

[0049] The correction amount calculation unit 130 reads from the correction amount table storage unit 210 a correction amount table that defines the correction space determined by the correction space determination unit 120 for the calculation of correction amounts. Then, based on the read correction amount table, it calculates the correction amount at the mechanical coordinate position of the movement destination based on the movement command. The correction amount at the mechanical coordinate position of the movement destination based on the movement command can be calculated based on the correction amounts associated with the grid points surrounding the mechanical coordinate position within the correction space. The correction amount calculation unit 130 outputs the calculated correction amount to the movement command correction unit 140.

[0050] Figure 6 It is a schematic diagram representing the basic region of a grid surrounded by adjacent grid points in the correction space. Figure 6 The region illustrated is a collection of points P within a cubic lattice arrangement in the correction space. A(i,j,k) = (x A(i,j,k) y A(i,j,k) , z A(i,j,k) ) ~ Point P A(i+1,j+1,k+1) = (x A(i+1,j+1,k+1) y A(i+1,j+1,k+1) , z A(i+1,j+1,k+1) The smallest cube region enclosed by these 8 adjacent grid points. For each grid point P A(i,j,k) ~point P A(i+1,j+1,k+1) The associated correction vector C A(i,j,k) = (c XA(i,j,k) c YA(i,j,k) c ZA(i,j,k) c AA(i,j,k) c CA(i,j,k) ) ~C A(i+1,j+1,k+1) = (c XA(i+1,j+1,k+1) c YA(i+1,j+1,k+1) c ZA(i+1,j+1,k+1)c AA(i+1,j+1,k+1) c CA(i+1,j+1,k+1) Additionally, the grid points in the X-axis direction are spaced L. x The grid spacing along the Y-axis is L. y The interval between grid points in the Z-axis direction is L. z At this point, the destination P based on the movement command is (x P y P , z P The correction vector C can be calculated using the following mathematical formula 1. Furthermore, in mathematical formula 1, r... x r y r z These are the internal division ratios within the basic cell of the movement destination P based on the movement command, with the cell closest to the origin being cell point P. A(i,j,k) Based on the above, it can be obtained by mathematical formulas 2, 3, and 4 as shown below.

[0051] [Mathematical Expression 1]

[0052] [Mathematical Expression 2]

[0053] [Mathematical Expression 3]

[0054] [Mathematical Expression 4]

[0055] The movement command correction unit 140 corrects the mechanical coordinate values ​​of each control axis of the movement destination calculated by the movement command calculation unit 110 based on the correction amount calculated by the correction amount calculation unit 130.

[0056] The control unit 150 controls each part of the industrial machine 3 based on the parsing results of the instruction block by the program parsing unit 100. The control unit 150 includes a servo control unit 152. The servo control unit 152 drives the servo motors 50 of each control axis of the industrial machine 3 based on the corrected mechanical coordinate values ​​of each axis input from the movement command correction unit 140.

[0057] The control device 1 of this embodiment, equipped with the above-described structure, envisions a virtual region, namely a correction space, within the movable range of each control axis in the machine coordinate system of the industrial machine 3. The movement within this correction space is corrected based on correction amounts associated with grid points. In the control device 1 of this embodiment, a coarse correction space with larger grid point intervals and a dense correction space with smaller grid point intervals are defined. Furthermore, higher precision correction of the control axes is performed within the dense correction space, while high precision correction is not considered in the sparse correction space outside the dense correction space. Regarding the dense correction space, the number of grid points increases, thus requiring a larger storage capacity for its definition. Therefore, if the movable range of each control axis in the machine coordinate system is set to a dense correction space to achieve the required correction precision, a large amount of memory is needed, increasing the cost of the control device 1. However, by defining a coarse correction space for the overall movable range of each control axis in the machine coordinate system, and defining a dense correction space only for a minimal area containing the workpiece being processed, higher precision correction can be performed where necessary, and the storage capacity related to the correction scale can be saved.

[0058] [Second Implementation]

[0059] The control device of the second embodiment of this disclosure will be described below.

[0060] Figure 7 This diagram is a schematic block diagram showing the functions of the control device 1 according to the second embodiment of this disclosure. The functions of the control device 1 in this embodiment are the same as those in the control device 1 of the first embodiment, and are achieved through… Figure 1 The control device 1 shown is implemented by having a CPU 11 that executes the system / program and controls the operation of each part of the control device 1.

[0061] The difference between the control device 1 in this embodiment and the control device 1 in the first embodiment is that it calculates the correction amount in the boundary region between multiple correction spaces.

[0062] In addition to the program parsing unit 100, movement command calculation unit 110, correction space determination unit 120, correction amount calculation unit 130, movement command correction unit 140, and control unit 150, the control device 1 of this embodiment also includes a boundary correction amount calculation unit 160. Furthermore, a control program 200 for controlling the industrial machinery 3 is stored in the RAM 13 or non-volatile memory 14 of the control device 1. Moreover, a correction amount storage unit 210 is pre-prepared in the RAM 13 or non-volatile memory 14 of the control device 1, which stores multiple correction amounts that define correction spaces.

[0063] The program parsing unit 100, movement command calculation unit 110, correction amount calculation unit 130, and control unit 150 of this embodiment have the same functions as those in the first embodiment.

[0064] The correction space determination unit 120 of this embodiment, similar to that of the correction space determination unit 120 of the first embodiment, determines the correction space for calculating the correction amount based on the mechanical coordinate position of the destination of the movement command input from the movement command calculation unit 110 and multiple correction tables stored in the correction table storage unit 210. The correction space with the smallest interval between grid points in the correction space to which the mechanical coordinate position of the destination of the movement command belongs is then determined. Furthermore, it is determined whether the mechanical coordinate position of the destination is located in the boundary region between the first correction space and a second correction space where the interval between grid points is smaller than that of the first correction space. Then, if the mechanical coordinate position of the destination is located in the boundary region between the first and second correction spaces, the boundary correction amount calculation unit 160 is instructed to calculate the correction amount at the boundary region between the first and second correction spaces. Otherwise, the correction space determination unit 120 notifies the correction amount calculation unit 130 to calculate the correction amount using the first correction space.

[0065] Figure 8 This is a schematic diagram illustrating the boundary region between the first and second correction spaces. Figure 8 The diagram shows a basic region 311 of the first correction space, including the outer edge of the second correction space, and a portion of a second correction space 312 with smaller grid point spacing. Additionally, in Figure 8 For ease of observation, a portion of the grid points in the second correction space 312 has been omitted. In this specification, the boundary region is the region within the predetermined correction space but outside the other correction spaces, located within a basic region encompassing the outer edges of other correction spaces. Figure 8 In the example, the machine coordinate position P is located within the basic region 311 of the first correction space, which includes the outer edge of the second correction region, and outside the second correction space. That is, the machine coordinate position P is located in the boundary region between the first and second correction spaces. Whether a predetermined machine coordinate position is in the boundary region is determined simply by whether the basic region of the first correction space to which the machine coordinate position belongs includes the outer edge of the second correction space. The correction space determination unit 120 refers to the correction scale defining the first correction space and the correction scale defining the second correction space to determine whether the machine coordinate position of the destination is in such a boundary region.

[0066] When the mechanical coordinate position of the moving destination is located in the boundary region between the first correction space and the second correction space, the boundary correction calculation unit 160 calculates the correction amount after interpolating the correction table of the first correction space using the correction table of the second correction space. The boundary correction calculation unit 160 outputs the calculated correction amount to the movement command correction unit 140.

[0067] Figure 9 This is a schematic diagram illustrating the basic region of a grid in the first correction space containing the mechanical coordinate position of the moving destination, and the basic region of a grid in the second correction space closest to that mechanical coordinate position. For example... Figure 9 As illustrated, the basic region 311 of the first correction space grid contains the mechanical coordinate position P of the moving destination. Furthermore, the basic region 313 of the second correction space grid is located within the plurality of basic regions of the second correction space grid at the position closest to the mechanical coordinate position P of the moving destination. Figure 9 In the first correction space, the basic region 311 of the lattice is defined by point P. A(i,j,k) = (x A(i,j,k) y A(i,j,k) , z A(i,j,k) ~point P A(i+1,j+1,k+1) = (x A(i+1,j+1,k+1) y A(i+1,j+1,k+1) , z A(i+1,j+1,k+1) These 8 adjacent grid points enclose the area. Furthermore, the basic region 313 of the second correction space grid is surrounded by point P. B(s,t,u) = (x B(s,t,u) y B(s,t,u) , z B(s,t,u) ~point P B(s+1,t+1,u+1) = (x B(s+1,t+1,u+1) y B(s+1,t+1,u+1) , z B(s+1,t+1,u+1) These 8 adjacent grid points enclose the area. For each grid point P... A(i,j,k) ~point P A(i+1,j+1,k+1) The associated correction vector C A(i,j,k) = (c XA(i,j,k) c YA(i,j,k) c ZA(i,j,k) c AA(i,j,k) c CA(i,j,k) ~C A(i+1,j+1,k+1) = (c XA(i+1,j+1,k+1) c YA(i+1,j+1,k+1) c ZA(i+1,j+1,k+1) c AA(i+1,j+1,k+1) c CA(i+1,j+1,k+1) Additionally, for each grid point P... B(s,t,u) ~point P B(s+1,t+1,u+1) The associated correction vector C B(s,t,u) = (c XB(s,t,u) c YB(s,t,u) c ZB(s,t,u) cAB(s,t,u) c CB(s,t,u) ~C B(s+1,t+1,u+1) = (c XB(s+1,t+1,u+1) c YB(s+1,t+1,u+1) c ZB(s+1,t+1,u+1) c AB(s+1,t+1,u+1) c CB(s+1,t+1,u+1) In this case, the boundary correction calculation unit 160 calculates the interpolation point of the grid points in the first correction space. This interpolation point P... I(i,j,k) P I(i,j+1,k) P I(i,j,k+1) P I(i,j+1,k+1) like Figure 9 As illustrated, the intersection point with the lattice surface of the first correction space can be calculated by extending the edge of the basic region 313 of the lattice in the second correction space in the direction of the machine coordinate position P. By finding such an interpolation point, the intersection point with the lattice point P is determined. B(s,t,u) P B(s,t+1,u) P B(s,t,u+1) P B(s,t+1,u+1) interpolation point P I(i,j,k) P I(i,j+1,k) P I(i,j,k+1) P I(i,j+1,k+1) The enclosed area contains the mechanical coordinate position P of the moving destination. The interpolation point P... I(i,j,k) P I(i,j+1,k) P I(i,j,k+1) P I(i,j+1,k+1) The correction amount at the point can be calculated using the inner ratio based on the correction amount associated with each grid point. This method is known, for example, in Japanese Patent Application Publication No. 08-152909, and therefore its description in this specification is omitted. Then, based on the correction amount associated with the grid point and the calculated correction amount at the interpolation point, mathematical formulas 1 to 4 are used to calculate the correction amount for each control axis at the mechanical coordinate position of the moving destination.

[0068] Furthermore, when there are more than three correction spaces, there are also cases where the outer edge of a basic region contains more than two correction spaces. In such cases, within the correction space surrounding the machine coordinate position, the correction space with smaller grid point intervals is preferentially used for the same calculation to calculate the correction amount for that machine coordinate position.

[0069] Then, the movement command correction unit 140 of this embodiment corrects the mechanical coordinate values ​​of each control axis of the movement destination based on the movement command calculated by the movement command calculation unit 110, according to the correction amount calculated by the correction amount calculation unit 130 or the correction amount calculated by the boundary correction amount calculation unit 160.

[0070] The control device 1 of this embodiment, which has the above structure, can perform higher precision correction even in the boundary region between the coarse correction space and the dense correction space, compared to the case where only the coarse correction space is used.

[0071] [Third Implementation Method]

[0072] The control device of the third embodiment of this disclosure will now be described.

[0073] Figure 10 This diagram is a schematic block diagram showing the functions of the control device 1 according to the third embodiment of this disclosure. The functions of the control device 1 in this embodiment are the same as those in the control device 1 of the first embodiment, and are achieved through… Figure 1 The control device 1 shown is implemented by having a CPU 11 that executes the system / program and controls the operation of each part of the control device 1.

[0074] In addition to the program parsing unit 100, movement command calculation unit 110, correction space determination unit 120, correction amount calculation unit 130, movement command correction unit 140, and control unit 150, the control device 1 of this embodiment also includes a correction scale generation unit 170. Furthermore, a control program 200 for controlling the industrial machinery 3 is stored in the RAM 13 or non-volatile memory 14 of the control device 1. Moreover, a correction scale storage unit 210 is pre-prepared in the RAM 13 or non-volatile memory 14 of the control device 1, which stores multiple correction scales that each define a correction space.

[0075] The program parsing unit 100, movement command calculation unit 110, correction space determination unit 120, correction amount calculation unit 130, movement command correction unit 140, and control unit 150 of this embodiment have the same functions as those in the first embodiment.

[0076] The calibration table generation unit 170 of this embodiment generates a calibration table that defines a calibration space corresponding to predetermined area information, based on an overall calibration value storage table stored in an external device 72 or other computer such as a fog computer 6 or a cloud server 7. In this overall calibration space, calibration values ​​are associated with multiple grid points arranged in a grid pattern within the overall range of the movable range of each axis in the machine coordinate system of the industrial machine 3. The overall calibration value storage table envisions multiple grid points arranged at predetermined intervals within the overall range of the movable range of each axis in the machine coordinate system of the industrial machine 3, and associates the calibration value of each control axis at each machine coordinate position with these grid points. The interval between grid points in the overall calibration value storage table is preferably smaller than the interval between grid points envisioned in the calibration table used in the control device 1. The calibration table generation unit 170 receives, for example, calibration space specification information from a user, including the location and range of the calibration space, and settings related to the grid points (interval and number of grid points in each control axis direction, number of grid points on each control axis side, etc.). Then, a calibration table is generated based on the accepted calibration space specification information. The calibration amount for each control axis at each grid point is calculated using the internal ratio based on the calibration amount set in association with each grid point in the overall calibration amount storage table. The calibration table generation unit 170 stores the generated calibration table in the calibration table storage unit 210.

[0077] Furthermore, appropriate values ​​can be preset for setting information related to grid points, such as the interval between grid points in the calibration space generated by the calibration scale generation unit 170. In this case, it is preferable to set the setting information for grid points in the processing range and the setting information for grid points in the non-processing range separately. The setting information for grid points in the processing range can be set to a finer grid point interval. Conversely, the information for grid points in the non-processing range can be set to a coarser grid point interval. Additionally, the calibration scale generation unit 170 can automatically set a calibration space with a coarse grid point interval for the entire movable range of each axis in the machine coordinate system of the industrial machine 3, regardless of whether there is input from the user or other sources.

[0078] The control device 1 of this embodiment, equipped with the above-described structure, can appropriately generate a desired calibration table based on an overall calibration value storage table. The overall calibration value storage table is stored in an external device 72 or a computer equipped with a large-scale storage device. It can generate appropriate calibration tables according to the application, and can flexibly handle various processes.

[0079] [Fourth Implementation Method]

[0080] The control device of the fourth embodiment of this disclosure will now be described.

[0081] Figure 11 This diagram is a schematic block diagram showing the functions of the control device 1 according to the fourth embodiment of this disclosure. The functions of the control device 1 in this embodiment are the same as those in the control device 1 of the first embodiment, and are achieved through… Figure 1 The control device 1 shown is implemented by having a CPU 11 that executes the system / program and controls the operation of each part of the control device 1.

[0082] In addition to the program parsing unit 100, movement command calculation unit 110, correction space determination unit 120, correction amount calculation unit 130, movement command correction unit 140, and control unit 150, the control device 1 of this embodiment also includes a correction scale generation unit 170 and a machining space determination unit 180. Furthermore, a control program 200 for controlling the industrial machinery 3 is stored in the RAM 13 or non-volatile memory 14 of the control device 1. Moreover, a correction scale storage unit 210 is pre-prepared in the RAM 13 or non-volatile memory 14 of the control device 1, which stores multiple correction scales that each define a correction space.

[0083] The program parsing unit 100, movement command calculation unit 110, correction space determination unit 120, correction amount calculation unit 130, movement command correction unit 140, and control unit 150 of this embodiment have the same functions as those in the first embodiment.

[0084] In this embodiment, the processing space determination unit 180 analyzes the control program 200 and determines the area where the workpiece is processed by the control program 200, i.e., the processing space.

[0085] Figure 12 This is a schematic diagram illustrating the determination of the machining space by the machining space determination unit 180. Figure 12 In the control program 200, it is envisioned that machining will be performed by controlling the X, Y, and Z axes. The machining space determination unit 180 reads the control program and obtains the range of movement of each control axis during the execution of the cutting feed command. For example, in Figure 12 In the illustrated control program 200, the X-axis moves within the range of machine coordinate values ​​0 to 200 via the cutting feed, the Y-axis moves within the range of machine coordinate values ​​0 to 50 via the cutting feed, and the Z-axis moves within the range of machine coordinate values ​​0 to 100 via the cutting feed. Therefore, the machining space determination unit 180 determines the machining space as the range of machine coordinate values ​​0 to 200 for the X-axis, 0 to 50 for the Y-axis, and 0 to 100 for the Z-axis.

[0086] In this embodiment, the calibration gauge generation unit 170 generates a first calibration space with smaller grid point intervals for the area determined as a machining space by the machining space determination unit 180, based on an overall calibration gauge storage table. Furthermore, for the entire movable range of each axis in the machine coordinate system of the industrial machine 3 outside the machining space, a second calibration space with larger grid point intervals is generated. Appropriate values ​​can be preset and stored for setting information related to grid points in the first calibration space and setting information related to grid points in the second calibration space. Other operations are the same as those of the calibration gauge generation unit 170 included in the control device 1 of the third embodiment.

[0087] The control device 1 of this embodiment, which has the above-described structure, automatically determines the processing space according to the control program 200 and generates multiple correction spaces with different grid point intervals. Therefore, it is expected to reduce the user's labor.

[0088] [Fifth Implementation Method]

[0089] The control device of the fifth embodiment of this disclosure will now be described.

[0090] Figure 13 This diagram is a schematic block diagram showing the functions of the control device 1 according to the fifth embodiment of this disclosure. The functions of the control device 1 in this embodiment are the same as those in the control device 1 of the first embodiment, and are achieved through… Figure 1 The control device 1 shown is implemented by having a CPU 11 that executes the system / program and controls the operation of each part of the control device 1.

[0091] In addition to the program parsing unit 100, movement command calculation unit 110, correction space determination unit 120, correction amount calculation unit 130, movement command correction unit 140, and control unit 150, the control device 1 of this embodiment also includes a path correction table generation unit 175 and a processing path parsing unit 190. Furthermore, a control program 200 for controlling the industrial machinery 3 is stored in the RAM 13 or non-volatile memory 14 of the control device 1. Moreover, a correction table storage unit 210 is pre-prepared in the RAM 13 or non-volatile memory 14 of the control device 1, which stores multiple correction tables that each define a correction space.

[0092] The program parsing unit 100, movement command calculation unit 110, correction space determination unit 120, movement command correction unit 140, and control unit 150 of this embodiment have the same functions as those in the first embodiment.

[0093] In this embodiment, the machining path analysis unit 190 analyzes the control program 200 and analyzes the machining path when the workpiece is machined by the control program 200. The machining path analysis unit 190 outputs the analyzed machining path to the path correction table generation unit 175.

[0094] The path correction scale generation unit 175 calculates the machining path correction space around the machining path, taking into account predetermined tolerances, based on the machining path information parsed by the machining path analysis unit 190. Figure 14 This is a diagram illustrating an example of a machining path correction space. The machining path correction space is constructed by arranging multiple grid points in a basic region that surrounds the machining path. Furthermore, in... Figure 14 For ease of observation, only a portion of the machining path correction space is shown, but in reality, the machining path correction space is calculated along all machining paths. The machining path correction space includes at least the position where the machining path deviates from a predetermined tolerance. This predetermined tolerance can be preset or input by the user. The path correction table generation unit 175 generates a path correction table with correction amounts set associated with each grid point of the thus calculated machining path correction space. In generating the path correction table, the correction amount for each grid point is generated based on the overall correction amount storage table, similar to the correction table generation unit 170 in the third embodiment. The path correction table generation unit 175 stores the generated path correction table in the correction table storage unit 210.

[0095] Then, the correction amount calculation unit 130 of this embodiment calculates the correction amount in the movement command on the processing path by replacing the correction amount table with the path correction amount table generated by the path correction amount table generation unit 175.

[0096] The control device 1 of this embodiment, having the above-described structure, calculates a machining path correction space around the machining path according to the control program 200, and generates a path correction table defining the correction amounts in the machining path correction space. Then, it performs correction on each control axis using the path correction table. Therefore, it is possible to further reduce the storage space required to store the correction table.

[0097] The embodiments of this disclosure have been described in detail above, but this disclosure is not limited to the various embodiments described above. Various additions, substitutions, modifications, and partial deletions can be made to these embodiments without departing from the spirit of the invention, or without departing from the idea and spirit of this disclosure derived from the content described in the claimed scope and its equivalents. For example, in the embodiments described above, the order of each action and the order of each process are shown as an example and are not limited thereto. The same applies to the use of numerical values ​​or mathematical formulas in the description of the embodiments described above.

[0098] The following are notes regarding embodiments of this disclosure.

[0099] (Note 1)

[0100] One aspect of the control device (1) disclosed herein includes: a movement command calculation unit (110) that calculates movement commands related to each axis of an industrial machine (3) that is the object of control; a correction space determination unit (120) that, with reference to a plurality of correction tables, determines the correction space with the smallest interval between grid points in the correction space to which the machine coordinate value obtained by the movement command belongs, wherein the plurality of correction tables define correction spaces, which are predetermined areas within the movable range of each axis in the machine coordinate of the industrial machine (3), and set correction amounts associated with a plurality of grid points arranged in a grid pattern within the area; a correction amount calculation unit (130) that, based on the determination result, selects and reads the correction table defining the correction space with the smallest interval between grid points, and calculates the correction amount at the machine coordinate value; and a movement command correction unit (140) that corrects the movement command based on the correction amount calculated by the correction amount calculation unit (130), wherein the plurality of correction tables include correction tables defining at least two correction spaces with different intervals between grid points.

[0101] (Note 2)

[0102] The control device (1) of other embodiments of the present disclosure includes a correction space determination unit (120) that determines whether the mechanical coordinate position of the moving destination based on the moving command is located in the boundary region of the plurality of correction spaces, and further includes a boundary correction amount calculation unit (160) that calculates the correction amount obtained by interpolating the correction amount of the corresponding plurality of correction scales when it is determined that the mechanical coordinate position of the moving destination is located in the boundary region of the plurality of correction spaces.

[0103] (Note 3)

[0104] The control device (1) of another aspect of this disclosure further includes: a calibration scale generation unit (170) that generates a calibration scale that defines a calibration space corresponding to predetermined area information based on an overall calibration scale stored in an external device (72) or other computer, wherein the overall calibration scale defines an overall calibration space in which a plurality of grid points arranged in a grid pattern are respectively set in relation to the overall range of movable range of each axis in the mechanical coordinates of the industrial machine (3).

[0105] (Note 4)

[0106] The control device (1) of another aspect of this disclosure further includes: a processing space determination unit (180) that analyzes the control program (200) and determines the area where the workpiece is processed by the control program (200), i.e., the processing space; the calibration scale generation unit (170) generates a first calibration scale and a second calibration scale; the first calibration scale defines a first calibration space that associates the calibration amount with a plurality of grid points arranged in a grid pattern at a first grid interval in the processing space; and the second calibration scale defines a second calibration space that associates the calibration amount with a plurality of grid points arranged at a second grid interval greater than the first grid interval in an area outside the processing space.

[0107] (Note 5)

[0108] The control device (1) of the other embodiments of the present disclosure further includes: a machining path analysis unit (190) which analyzes the control program (200) to obtain the machining path of the workpiece; and a path correction table generation unit (175) which calculates a machining path correction space including a predetermined tolerance of the machining path based on the information of the machining path, generates a machining path correction table that defines correction amounts related to the calculated machining path correction space, the correction amount calculation unit (130) calculates the correction amount in the movement command on the machining path based on the machining path correction table instead of the correction table, and the movement command correction unit (140) corrects the movement command based on the correction amount calculated by the correction amount calculation unit (130).

[0109] (Note 6)

[0110] One aspect of the computer-readable recording medium disclosed herein includes: a program recording a computer that enables it to operate as a component; a movement command calculation unit (110) that calculates movement commands related to each axis of an industrial machine (3) that is the object of control; a correction space determination unit (120) that, with reference to a plurality of correction tables, determines the correction space with the smallest interval between grid points in the correction space to which the machine coordinate value obtained by the movement command belongs, wherein the plurality of correction tables define a correction space that is a predetermined area within the movable range of each axis in the machine coordinate of the industrial machine (3), and sets a correction amount associated with a plurality of grid points arranged in a grid pattern within the area; a correction amount calculation unit (130) that, based on the determination result, selects and reads the correction table defining the correction space with the smallest interval between grid points, and calculates the correction amount at the machine coordinate value; and a movement command correction unit (140) that corrects the movement command based on the correction amount calculated by the correction amount calculation unit (130), wherein the plurality of correction tables include correction tables defining at least two correction spaces with different intervals between grid points.

[0111] Explanation of reference numerals in the attached figures

[0112] 1 Control device

[0113] 3 Industrial Machinery

[0114] 4 Control devices

[0115] 5 Networks

[0116] 6 Fog Computer

[0117] 7 cloud servers

[0118] 11 CPU

[0119] 12ROM

[0120] 13 RAM

[0121] 14 Non-volatile memory

[0122] Interfaces 15, 18, 19, and 20

[0123] 16 PLC

[0124] 17 I / O Units

[0125] 22 bus

[0126] 30-axis control circuit

[0127] 40 servo amplifier

[0128] 50 servo motors

[0129] 60 spindle control circuit

[0130] 61 spindle amplifier

[0131] 62 spindle motor

[0132] 63-position encoder

[0133] 70 display devices

[0134] 71 Input Device

[0135] 72 External Devices

[0136] 100 Program Analysis Department

[0137] 110 Movement Command Calculation Unit

[0138] 120 Correction Space Judgment Unit

[0139] 130 Calibration Calculation Department

[0140] 140 Movement Command Correction Unit

[0141] 150 Control Department

[0142] 152 Servo Control Unit

[0143] 160 Boundary Correction Calculation Department

[0144] 170 Calibration Scale Generation Department

[0145] 175 Path Correction Scale Generation Department

[0146] 180 Machining Space Determination Department

[0147] 190 Processing Path Analysis Department

[0148] 200 control program

[0149] 210 Calibration Scale Storage Department.

Claims

1. A control device characterized by comprising: have: The movement command calculation unit calculates movement commands related to each axis of the industrial machinery that is the object of control; The correction space determination unit refers to multiple correction tables to determine the correction space with the smallest interval between grid points in the correction space to which the mechanical coordinate value obtained by the movement command belongs. The multiple correction tables define a correction space, which is a predetermined area within the movable range of each axis in the mechanical coordinate of the industrial machine, and set a correction amount associated with multiple grid points arranged in a grid pattern within the area. The correction calculation unit, based on the result of the determination, selects and reads the correction table of the correction space with the smallest interval between the defined grid points, and calculates the correction amount at the mechanical coordinate value; and The movement command correction unit corrects the movement command based on the correction amount calculated by the correction amount calculation unit. The plurality of said calibration scales include calibration scales that define at least two calibration spaces with different intervals between grid points.

2. The control device according to claim 1, characterized in that, The correction space determination unit determines whether the mechanical coordinate position of the movement destination based on the movement command is located in the boundary region of the multiple correction spaces. The control device further includes a boundary correction calculation unit that calculates the correction amount obtained by interpolating the correction amount of the corresponding multiple correction scales when the mechanical coordinate position of the determined moving destination is located in the boundary region of the multiple correction spaces.

3. The control device according to claim 1, characterized in that, The control device further includes: a calibration scale generation unit, which generates a calibration scale that defines a calibration space corresponding to predetermined area information based on an overall calibration scale stored in an external device or other computer, wherein the overall calibration scale defines an overall calibration space in which a plurality of grid points arranged in a grid pattern are respectively associated with and set within the overall range of the movable range of each axis in the machine coordinates of the industrial machinery.

4. The control device according to claim 3, characterized in that, The control device further includes a machining space determination unit, which analyzes the control program and determines the area where the workpiece is machined through the control program, i.e., the machining space. The calibration scale generation unit generates a first calibration scale and a second calibration scale. The first calibration scale defines a first calibration space, which associates the calibration value with a plurality of grid points arranged in a grid pattern at a first grid interval within the processing space. The second calibration scale defines a second calibration space, which associates the calibration value with a plurality of grid points arranged at a second grid interval greater than the first grid interval in an area outside the processing space.

5. The control device according to claim 3, characterized in that, The control device also includes: The machining path analysis unit, whose analysis and control program obtains the machining path of the workpiece; and The path correction scale generation unit calculates a path correction space for the machining path, taking into account predetermined tolerances, based on the machining path information, and generates a path correction scale that defines correction amounts related to the calculated path correction space. The correction calculation unit calculates the correction amount in the movement command on the machining path according to the machining path correction table, instead of the correction table. The movement command correction unit corrects the movement command based on the correction amount calculated by the correction amount calculation unit.

6. A computer-readable recording medium, characterized by The system contains programs that enable the computer to function as the following components: The movement command calculation unit calculates movement commands related to each axis of the industrial machinery that is the object of control; The correction space determination unit refers to multiple correction tables to determine the correction space with the smallest interval between grid points in the correction space to which the mechanical coordinate value obtained by the movement command belongs. The multiple correction tables define a correction space, which is a predetermined area within the movable range of each axis in the mechanical coordinate of the industrial machine, and set a correction amount associated with multiple grid points arranged in a grid pattern within the area. The correction calculation unit, based on the result of the determination, selects and reads the correction table of the correction space with the smallest interval between the defined grid points, and calculates the correction amount at the mechanical coordinate value; and The movement command correction unit corrects the movement command based on the correction amount calculated by the correction amount calculation unit. The plurality of said calibration scales include calibration scales that define at least two calibration spaces with different intervals between grid points.

Citation Information

Patent Citations

  • Acceleration / deceleration controller

    JP1988140308A

  • Acceleration / deceleration control system

    JP1992169907A

  • Position error correcting system

    JP1996152909A