Numerical controller and program

By introducing a compression unit, a calculation unit and a holding unit into the numerical control device, the accuracy reduction problem caused by command point column compression is solved, and the processing accuracy of industrial machinery is ensured.

CN119256279APending Publication Date: 2025-01-03FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280096431.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-06-07
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

In numerical control, command point column compression leads to a decrease in the accuracy of industrial machining operations.

Method used

A numerical control device is designed, including a compression unit, a calculation unit and a holding unit. The compression unit compresses the first command point column to generate the second command point column, and calculates the operation execution position in the second command point column, and ensures that the output command remains unchanged through the holding unit to ensure that the industrial machinery is executed at a designated position. action.

Benefits of technology

It effectively prevents the reduction in machining operation accuracy caused by command point column compression, ensures that the number of timings of output commands does not decrease, thereby improving machining accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119256279A_ABST
    Figure CN119256279A_ABST
Patent Text Reader

Abstract

Provided are a numerical controller and a program which are capable of preventing a decrease in accuracy of an operation such as machining when a command point sequence is compressed. A numerical controller according to an embodiment includes a compression unit, a calculation unit, and a holding unit. The compression unit compresses the first command point sequence to create a second command point sequence. The calculation unit calculates an execution position of an operation in the second command point sequence with respect to a first output command which is held in the first command point sequence and instructs an industrial machine to execute the operation. The holding unit holds, at the second command point sequence, a second output command instructing the industrial machine to execute the operation at the execution position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a numerical control device and a program. Background Art

[0002] A numerical control device that performs numerical control (NC (numerical control)) has a function called command point sequence compression. The command point sequence compression function is a function of compressing a command point sequence (hereinafter, sometimes referred to as a "point sequence"). That is, the command point sequence compression function is a function of interpolating a command path based on multiple point sequences using fewer straight lines or curves. By using the command point sequence compression function, the load on the numerical control device can be reduced. As a result, the command point sequence compression function can suppress the speed reduction caused by insufficient performance of the numerical control device.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Publication No. 2015-153097 Summary of the invention

[0006] Problems to be solved by the invention

[0007] In conventional numerical control, the timing of executing output instructions is for each point sequence. Therefore, when the point sequence is compressed, the number of timings at which output instructions can be executed decreases. As a result, the accuracy of the processing of industrial machinery and the like may be reduced.

[0008] An object of the embodiments of the present invention is to provide a numerical control device and a program that can prevent a decrease in the accuracy of operations such as machining when a command point sequence is compressed.

[0009] Means for solving problems

[0010] The numerical control device of the embodiment comprises: a compression unit, a calculation unit and a holding unit. The compression unit compresses a first instruction point sequence to produce a second instruction point sequence. The calculation unit calculates the execution position of the action in the second instruction point sequence for a first output instruction instructing an industrial machine to perform an action held in the first instruction point sequence. The holding unit holds a second output instruction in the second instruction point sequence, the second output instruction instructing the industrial machine to perform the action at the execution position.

[0011] Effects of the Invention

[0012] The present invention can prevent a decrease in the accuracy of operations such as machining when a command point sequence is compressed. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1This is a block diagram showing an example of a main configuration of a numerical control system according to an embodiment and components included in the numerical control system.

[0014] Figure 2 Yes means Figure 1 A flowchart of an example of processing by a processor in .

[0015] Figure 3 This is a diagram showing an example of a point sequence before compression.

[0016] Figure 4 This is a diagram showing an example of a compressed point sequence.

[0017] Figure 5 This is a diagram showing an example of a section in which an action instructed by an output command is executed in an example of a compressed point sequence. DETAILED DESCRIPTION

[0018] Hereinafter, the numerical control system of the embodiment will be described using the accompanying drawings. In addition, the scales of the various parts of the drawings used in the following description of the embodiment are sometimes appropriately changed. In addition, the various drawings used in the following description of the embodiment are sometimes represented by omitting the structure for the purpose of explanation. In addition, in the drawings and this specification, the same reference numerals represent the same elements. In addition, in the drawings, this specification and claims, a curve includes a straight line.

[0019] Figure 1 1 is a block diagram showing an example of a main configuration of a numerical control system 1 according to an embodiment and components included in the numerical control system 1. As an example, the numerical control system 1 includes a numerical control device 100 and an industrial machine 200.

[0020] The numerical control device 100 is a device for numerically controlling industrial machinery, etc. As an example, the numerical control device 100 includes a processor 110, a ROM (read-only memory) 120, a RAM (random-access memory) 130, an auxiliary storage device 140, and a control interface 150. In addition, a bus 160 or the like connects these components.

[0021] The processor 110 is a central part of a computer that performs operations and control required for the operation of the numerical control device 100, and performs various operations and processes. The processor 110 is, for example, a CPU (central processing unit), an MPU (micro processing unit), an SoC (system on a chip), a DSP (digital signal processor), a GPU (graphics processing unit), an ASIC (application specific integrated circuit), a PLD (programmable logic device), or an FPGA (field-programmable gate array). Alternatively, the processor 110 is a combination of a plurality of them. In addition, the processor 110 may also be a combination of a hardware accelerator and the like. The processor 110 controls each part to realize various functions of the numerical control device 100 according to programs such as firmware, system software, and application software stored in the ROM 120 or the auxiliary storage device 140. In addition, the processor 110 performs the processing described below according to the program. In addition, part or all of the program may also be incorporated into the circuit of the processor 110. The processor 110 functions as a program analyzing unit 111 , a point sequence compressing unit 112 , an interpolation processing unit 113 , a drive axis control unit 114 , and an output control unit 115 , for example, according to the program.

[0022] The program analyzing unit 111 analyzes the contents of the NC program. Thus, the program analyzing unit 111 identifies what kind of operation and control the NC program causes the numerical controller 100 to execute.

[0023] The point sequence compression unit 112 compresses the point sequence. As an example, the point sequence compression unit 112 includes a command holding unit 116 and an index calculation unit 117 .

[0024] The command holding unit 116 causes the compressed point sequence to include the same output command as that before compression.

[0025] The index calculation unit 117 calculates an index I described later.

[0026] The interpolation processing unit 113 calculates an interpolation curve M to be described later.

[0027] The drive axis control unit 114 performs control according to the NC program so that the industrial machine 200 moves along the point array.

[0028] The output control unit 115 performs control based on an output command of the NC program so that the industrial machine 200 executes the operation indicated by the output command.

[0029] ROM 120 and RAM 130 are main storage devices of a computer with processor 110 as a core.

[0030] The ROM 120 is a nonvolatile memory dedicated to reading data. The ROM 120 stores, for example, firmware and the like among the above-mentioned programs. In addition, the ROM 120 also stores data and the like used when the processor 110 performs various processes.

[0031] The RAM 130 is a memory for reading and writing data. The RAM 130 is used as a work area for storing data temporarily used when the processor 110 performs various processes, etc. The RAM 130 is typically a volatile memory.

[0032] The auxiliary storage device 140 is an auxiliary storage device of a computer with the processor 110 as the core. The auxiliary storage device 140 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), or a flash memory. The auxiliary storage device 140 stores the above-mentioned programs, such as system software and application software. In addition, the auxiliary storage device 140 stores data used when the processor 110 performs various processes, data generated by the processes in the processor 110, and various setting values.

[0033] In addition, the auxiliary storage device 140 stores an NC program for controlling the industrial machine 200. A part of an example of the NC program before compression is shown below.

[0034] N1 G01 X1.S0;

[0035] N2 G01 X1.S1000;

[0036] N3 G01 X1.S0;

[0037] N4 G01 X1.S1000;

[0038] In this NC program, 1 line represents 1 action. N1~N4 represent serial numbers. G01 represents cutting feed. Xx (x is an arbitrary value) represents movement of x millimeters in the X direction. In addition, x is a value used to indicate the movement amount of the tool. If it is X1, it means moving 1 millimeter in the X direction. Ss (s is an integer greater than 0) represents the processing output instruction of the laser. In addition, s is a value used to indicate the power output value of the laser. If it is S1000, it means outputting 1000 watts of power. If it is S0, it means outputting 0 watts of power, that is, no laser output.

[0039] The processing output command is an output command to instruct the industrial machine 200 to perform processing. The output command is a command to instruct a certain operation to the industrial machine 200. Each output command included in the NC program is an output command held by the NC program.

[0040] Therefore, the first line (line N1) of the NC program indicates that the industrial machine 200 is instructed to move 1 millimeter in the X direction while performing laser processing. In the NC program, a movement of one line indicates movement from an end point included in the commanded path to the next end point.

[0041] In this way, in the NC program, a command can be output for each movement.

[0042] The processing output commands include commands for instructing gas cutting processing, electric discharge processing, and the like in addition to laser processing.

[0043] The control interface 150 is an interface for the numerical control device 100 to communicate with the industrial machine 200 and the like. The numerical control device 100 controls the industrial machine 200 and the like via the control interface 150 .

[0044] The bus 160 includes a control bus, an address bus, a data bus, and the like, and transmits signals exchanged between the various components of the numerical controller 100 .

[0045] The industrial machine 200 is a machine that operates by numerical control. The industrial machine 200 is, for example, a manipulator, a robot arm, a robot, or a machine tool. The machine tool is, for example, an NC lathe, an NC milling machine, a laser processing machine, a gas cutting processing machine, or an electric discharge processing machine.

[0046] Below, according to Figure 2 The operation of the numerical control system 1 according to the embodiment will be described in detail below. The contents of the processing in the following operation description are just examples, and various processing that can obtain the same result can be used as appropriate. Figure 2 1 is a flowchart showing an example of processing by the processor 110 of the numerical controller 100. The processor 110 executes, for example, a program stored in the ROM 120 or the auxiliary storage device 140. Figure 2 processing.

[0047] exist Figure 2 In step ST11, the processor 110 of the numerical controller 100 determines whether to compress the point series. For example, when the processor 110 receives an input indicating the compression of the point series, it determines to compress the point series. The input is input to the numerical controller 100 via an input device, for example. Alternatively, the instruction is input to the numerical controller 100 from another device. In addition, when there is an uncompressed NC program in the auxiliary storage device 140, for example, the processor 110 determines to compress the point series of the NC program at a specified timing. In addition, when the NC program is input to the numerical controller 100, for example, the processor 110 determines to compress the point series of the NC program. If the processor 110 does not determine to compress the point series, it determines as No in step ST11 and proceeds to step ST12.

[0048] In step ST12, the processor 110 determines whether to start numerical control for the industrial machine 200. The processor 110 determines to start numerical control, for example, when receiving an input instructing to start numerical control for the industrial machine 200. The input is input to the numerical control device 100 via an input device, for example. Alternatively, the instruction is input to the numerical control device 100 from another device. In addition, the processor 110 determines to start numerical control for the industrial machine 200 at a predetermined timing, for example. If the processor 110 does not determine to start numerical control, it determines in step ST12 as no and returns to step ST11. In this way, the processor 110 is in a waiting state of repeatedly performing steps ST11 and ST12 until it is determined to perform compression of the point array or to start numerical control.

[0049] If the processor 110 determines that the point sequence is to be compressed while in the waiting state of step ST11 and step ST12 , the processor 110 makes a YES determination in step ST11 and proceeds to step ST13 .

[0050] In step ST13, the processor 110 obtains the NC program of the object for point line compression. The processor 110 obtains the NC program from the auxiliary storage device 140, for example. Alternatively, the processor 110 may obtain the NC program from another device. In addition, the NC program obtained in the most recent step ST13 processing is referred to as the "acquired program" below.

[0051] In step ST14, the processor 110 compresses the point sequence of the NC program acquired in step ST13. The processor 110 can use a known method for compressing the point sequence. As an example, the processor 110 can use the compression method described in Patent Document 1.

[0052] use Figure 3 as well as Figure 4 The point sequence before compression and the point sequence after compression are described.

[0053] Figure 3 is a diagram showing an example of a point sequence S1 before compression. Point sequence S1 is a command point sequence consisting of (n+1) endpoints P0 to Pn. Here, n is a positive integer. Figure 3 Only the endpoints P0 to P6 of the endpoints P of the point sequence S1 are shown. In addition, the coordinates of the endpoints Pi and the components of the vector Pi are displayed as (Xi, Yi).

[0054] Figure 3 The curve Li between each endpoint in is a straight line connecting point P(i-1) and point Pi. Here, i is an integer greater than 0 and less than n. In addition, the curve between the endpoints can also be a non-linear curve.

[0055] When the curve Li between the end points of a straight line is represented by a vector, it can be represented by the following formula (1).

[0056] [Mathematical formula 1]

[0057] L i =P i -P i-1

[0058] =((X i -X i-1 ), (Y i -Y i-1 )) (1)

[0059] In addition, words in bold indicate vectors.

[0060] also, Figure 3 The thick line in the end point curve L shown represents the movement including the output command. The thin line in the end point curve L represents the movement not including the output command.

[0061] Figure 4 is a diagram showing an example of a compressed point sequence S2. Point sequence S2 is a point sequence obtained by compressing point sequence S1. Point sequence S2 is a command point sequence consisting of (m+1) endpoints Q0 to Qm. Here, m is an integer greater than 1 and less than n. Figure 4 Only the endpoints Q0 to Q2 of the endpoints Q of the point array S2 are shown. Figure 4 Also illustrated in FIG. 1 is the endpoint P before compression.

[0062] Point sequence S2 is compressed, and the number of point sequences is reduced from (n+1) to (m+1). Figure 3 and Figure 4 It can be seen that the three endpoints P, endpoints P0 to endpoint P2, are compressed into two endpoints Q, endpoint Q0 and endpoint Q1. That is, the two curves L, curves L1 and curve L2, are compressed into one curve M1. In addition, the four endpoints P, endpoints P2 to endpoint P5, are compressed into two endpoints Q, endpoint Q1 and endpoint Q2. That is, the three curves L, curves L3 to curve L5, are compressed into one curve M2.

[0063] Figure 4 Each interpolation curve Mj in is a straight line connecting the end point Q(j-1) and the end point Qj. Here, j is an integer greater than or equal to 0 and less than or equal to m. In addition, the interpolation curve M may also be a non-linear curve.

[0064] When the straight line interpolation curve Mj is represented by a vector, it can be represented by the following equation (2).

[0065] [Mathematical formula 2]

[0066] M j =Q j -Q j-1

[0067] =P k2 -P k1

[0068] =((X k2 -X k1 ), (Y k2 -Y k1 )) (2)

[0069] Here, the interpolation curve Mj is the interpolation curve M after compressing the endpoints Pk1 to Pk2. That is, the endpoint Pk1 is the endpoint that coincides with the endpoint Q(j-1). In addition, the endpoint Pk2 is the endpoint that coincides with the endpoint Qj. And (k2-k1) is the number of the endpoint-to-endpoint curves L before the compression of the interpolation curve Mj. In other words, (k2-k1) is (the number of endpoints before the compression of the interpolation curve Mj-1).

[0070] The point sequence before compression is an example of the first command point sequence. The point sequence S1 is an example of the first command point sequence. The point sequence after compression is an example of the second command point sequence. The point sequence S2 is an example of the second command point sequence.

[0071] As described above, the processor 110 functions as an example of a compression unit that compresses the first instruction point sequence to create the second instruction point sequence by performing the process of step ST14.

[0072] In step ST15, the processor 110 calculates the compression ratio R of each interpolation curve M. The compression ratio R is the ratio of the length of the interpolation curve M to the sum of the lengths of the end point curves L before compression of the interpolation curve M. Therefore, the compression ratio Rj of the interpolation curve Mj can be obtained, for example, by the following formula (3).

[0073] [Mathematical formula 3]

[0074]

[0075] Furthermore, in the formula (3), the length of the end point curve L and the length of the interpolation curve M are expressed by the norm of the vector.

[0076] The processor 110 calculates compression ratios R1 to Rm.

[0077] As an example, if we find Figure 4 The compression rate R1 of the interpolation curve M1 in becomes the following formula (4).

[0078] [Formula 4]

[0079]

[0080] In step ST16, the processor 110 calculates an index I of each end-point curve L. The index I represents the length (distance) of the section in which the action instructed by the output command is performed. The index Ii of the end-point curve Li can be obtained by, for example, the following equation (5).

[0081] [Formula 5]

[0082] I i =R×||L i || (5)

[0083] R in the formula (5) is the compression ratio R of the interpolation curve M after compression of one or more inter-endpoint curves including the inter-endpoint curve Li.

[0084] The processor 110 calculates index I1 -index In.

[0085] As an example, if we find Figure 4 The index I1 of the endpoint curve L1 in becomes the following formula (6).

[0086] [Mathematical formula 6]

[0087]

[0088] In step ST17, the processor 110 adds an output instruction to the compressed point sequence. The output instruction added here is an output instruction that instructs the same action as the action indicated by the output instruction included in the acquired program. However, as described later, the output instruction added here has an execution position different from the output instruction included in the acquired program. By adding the output instruction, the NC program retains the output instruction.

[0089] The output instruction for instructing the action to be performed according to the end point curve Li is set as the output instruction Ci. In addition, the interpolation curve M after compression of the end point curve Li is set as the interpolation curve Mj. In addition, the starting position of the action instructed by the output instruction is set as the position V(i-1), and the ending position is set as the position Vi.

[0090] The processor 110 adds, for each output command C, an instruction to start the operation at position V(i-1) and end at position Vi to the compressed point sequence.

[0091] In the case of i=k1+1, the position V(i-1) is the position of the point Q(j-1).

[0092] When i>k1+1, the position V(i-1) is the position that is advanced from the position of point Q(j-1) along the interpolation curve Mj by a distance D(a-1). The distance D(a-1) is

[0093] [Formula 7]

[0094]

[0095] In the case of i≠k2, the position Vi is the position that advances the distance Da from the position of point Q(j-1) along the interpolation curve Mj. The distance Da is

[0096] [Mathematical formula 8]

[0097]

[0098] Alternatively, the distance Da is Da=D(a-1)+Ii.

[0099] In the case of i=k2, the position Vi is the position of the point Qj.

[0100] Figure 5 1 is a diagram showing an example of a section in which an action indicated by an output command is performed on an example of a compressed point sequence S2. Figure 5In FIG. 1 , the intervals for executing the actions indicated by the output instructions C1, C3, and C5 are shown. From position V0 to position V1 is the interval for executing the action indicated by the output instruction C1. From position V2 to position V3 is the interval for executing the action indicated by the output instruction C3. From position V4 to position V5 is the interval for executing the action indicated by the output instruction C5. Figure 5 In the example, output instruction C2 and output instruction C4 do not exist in the acquisition program.

[0101] In addition, Figure 3 The interval in which the action indicated by the output instruction is executed is also illustrated in FIG. Figure 3 In the example, point P0 to point P1, i.e., on the curve L1 between the endpoints, is the interval for executing the action indicated by the output instruction C1. Point P2 to point P3, i.e., on the curve L3 between the endpoints, is the interval for executing the action indicated by the output instruction C3. Point P4 to point P5, i.e., on the curve L5 between the endpoints, is the interval for executing the action indicated by the output instruction C5.

[0102] As described above, the processor 110 converts the acquired program into an NC program representing the compressed point sequence through the processes of step ST14 to step ST17 .

[0103] As described above, by performing the processes of step ST16 and step ST17, the processor 110 functions as an example of a calculation unit that calculates the execution position of the action in the second instruction point sequence for the first output instruction instructing the industrial machine to execute the action held in the first instruction point sequence.

[0104] Furthermore, by performing the process of step ST17 , the processor 110 functions as an example of a holding unit that holds, in the second command point sequence, the second output command that instructs the industrial machine to execute the operation at the execution position.

[0105] In step ST18, the processor 110 stores the NC program converted by the processing of steps ST14 to ST17 in the auxiliary storage device 140. In addition, the processor 110 may delete or move the acquired program to avoid erroneous execution. After the processing of step ST18, the processor 110 returns to step ST11.

[0106] On the other hand, if the processor 110 determines to start the numerical control in the waiting state of step ST11 and step ST12 , the processor 110 makes a YES determination in step ST12 and proceeds to step ST19 .

[0107] In step ST19, processor 110 acquires the executed NC program. Which NC program is acquired is included in, for example, the input instructing to start numerical control of industrial machine 200. The NC program acquired here is, for example, the NC program stored in step ST18.

[0108] In step ST20, processor 110 executes the NC program acquired in step ST19 to numerically control industrial machine 200. After processing step ST20, processor 110 returns to step ST11.

[0109] According to the numerical control system 1 of the embodiment, the numerical control device 100 compresses the point sequence. Thus, the numerical control device 100 of the embodiment can reduce the load.

[0110] In addition, according to the numerical control system 1 of the embodiment, the numerical control device 100 compresses the point sequence. In addition, the numerical control device 100 of the embodiment calculates the position V as the position at which the action is performed in the compressed point sequence. The action is the action indicated by the output instruction maintained by the instruction point sequence before compression. In addition, the numerical control device 100 of the embodiment causes the compressed instruction point sequence to maintain the instruction point sequence indicating that the action is performed at the position based on the position V. As a result, in the compressed point sequence, the timing at which the output instruction can be executed becomes the same number as that of the point sequence before compression. Therefore, the numerical control device 100 of the embodiment can prevent the reduction in the accuracy of the action such as processing when the point sequence is compressed.

[0111] Furthermore, according to the numerical control system 1 of the embodiment, the numerical control device 100 uses the length to define the position V at which the action is performed. Thus, the numerical control device 100 of the embodiment can set the position V to a position between the end points, not limited to the end points.

[0112] In addition, according to the numerical control system 1 of the embodiment, examples of the operation indicated by the output command include laser processing, gas cutting processing, or electric discharge processing, etc. Therefore, the numerical control device 100 of the embodiment can cause the industrial machine 200 to perform laser processing, gas cutting processing, or electric discharge processing, etc.

[0113] The above-mentioned embodiment can also be modified as follows.

[0114] In the above-mentioned embodiment, the index Ii is the distance moved from the position V(i-1) to the position Vi along the interpolation curve M. However, the numerical control device 100 may use the index Ii representing the distance moved from another position to the position Vi instead. The other position is, for example, the point Q(j-1) or the point Q0.

[0115] In the above-mentioned embodiment, the position V is defined by the length. In the above-mentioned embodiment, the index I represents the length. However, the position V may be defined by a value other than the length, such as time, coordinates, or ratio. In addition, the index I may represent a value other than the length, such as time, coordinates, or ratio. As an example of the case where the position V is defined by a value other than the length, (α1) to (α4) are shown below. However, the description of the same parts as those in the above-mentioned embodiment is basically omitted.

[0116] (α1) One of the cases where the position V is defined based on time is that:

[0117] The time taken to move from point P(i-1) to point Pi is Ti.

[0118] The time taken to move from point Q(j-1) to point Qj is Uj.

[0119] The processor 110 uses the time Ti instead of the length of the end-point curve Li in equations (3) and (4). In addition, the processor 110 uses the time Uj instead of the length of the interpolation curve Mj in equation (3).

[0120] In (α1), the index I represents the length of time taken to advance in the interval in which the action indicated by the output instruction is executed.

[0121] The processor 110 uses time E(a-1) and time Ea in (α1) instead of distance D(a-1) and distance Da. Therefore, in the case of i>k1+1, position V(i-1) is the position from the position of point Q(j-1) along the interpolation curve Mj to the position after time E(a-1). In the case of i≠k2, position Vi is the position from the position of point Q(j-1) along the interpolation curve Mj to the position after time Ea.

[0122] (α2) The second case where the position V is defined according to time is that

[0123] The processor 110 is different from (α1) and obtains the compression ratio R in the same manner as in the above-mentioned embodiment. Other points are the same as (α1).

[0124] (α3) When the position V is defined by the ratio

[0125] When i>k1+1, position V(i-1) is a position that is advanced from the position of point Q(j-1) along the interpolation curve Mj by (ratio F(a-1) of the length of the interpolation curve Mj) (=Mj×F(a-1)). Ratio F(a-1) is (total length of the interpolation curve L before compression of the interpolation curve Mj) divided by (total length from the interpolation curve L(k1+1) to the interpolation curve L(i-1)). That is,

[0126] [Mathematical formula 9]

[0127]

[0128] When i≠k2, the position Vi is the position from the position of point Q(j-1) along the interpolation curve Mj by (the ratio Fa of the length of the interpolation curve Mj) (=Mj×Fa). The ratio Fa is (the total length of the interpolation curve L before compression of the interpolation curve Mj) divided by (the total length from the interpolation curve L(k1+1) to the interpolation curve Li). That is,

[0129] [Formula 10]

[0130]

[0131] In addition, the ratio F is a type of index I, and is an index I indicating a ratio.

[0132] (α4) When the position V is defined by coordinates

[0133] The position closest to point P(i-1) on the interpolation curve Mj is set as position V(i-1). The position closest to point Pi on the interpolation curve Mj is set as position Vi.

[0134] The coordinates of position V(i-1) are set to (XV(i-1), YV(i-1)), and the coordinates of position Vi are set to (XVi, YVi). Coordinates (XV(i-1), YV(i-1)) and coordinates (XVi, YVi) are a type of index I, which is an index I representing coordinates.

[0135] As described above, according to the numerical control system 1 of the embodiment, the numerical control device 100 defines the position V where the action is performed using time, coordinates, or ratios in addition to length. Thus, the numerical control device 100 of the embodiment can set the position V to a position between endpoints, not limited to the endpoints.

[0136] The processor 110 may implement part or all of the processing implemented by the program in the above-mentioned embodiments through a hardware configuration of a circuit.

[0137] The program for implementing the processing of the embodiment is transferred, for example, in a state where it is stored in a device. However, the device may be transferred without storing the program. Furthermore, the program may be transferred separately and written to the device. In this case, the transfer of the program can be achieved, for example, by recording it in a removable storage medium or downloading it via a network such as the Internet or a LAN (local area network).

[0138] Although the embodiments of the present invention have been described above, these are merely examples and do not limit the scope of the present invention. The embodiments of the present invention can be implemented in various forms without departing from the spirit of the present invention.

[0139] Description of Reference Numerals

[0140] 1 Numerical control system

[0141] 100 Numerical control device

[0142] 110 Processor

[0143] 111 Program Analysis Department

[0144] 112 Point column compression unit

[0145] 113 Interpolation processing unit

[0146] 114 Drive shaft control unit

[0147] 115 Output control unit

[0148] 116 Command holding unit

[0149] 117 Index Calculation Department

[0150] 120ROM

[0151] 130 RAM

[0152] 140 Auxiliary storage device

[0153] 150 Control interface

[0154] 160 Bus

[0155] 200 Industrial machinery.

Claims

1. A numerical control device, characterized in that: have: A compression unit compresses the first instruction point sequence to produce a second instruction point sequence; a calculation unit that calculates an execution position of the action in the second instruction point sequence for a first output instruction instructing the industrial machine to execute an action held in the first instruction point sequence; and A holding unit holds a second output instruction in the second instruction point sequence, wherein the second output instruction instructs the industrial machine to execute the action at the execution position.

2. The numerical control device according to claim 1, characterized in that: The calculation section defines the execution position using length, coordinates, ratio, or time.

3. The numerical control device according to claim 2, characterized in that: The calculation unit defines the execution position using the length of a section in which the action is executed.

4. The numerical control device according to any one of claims 1 to 3, characterized in that: The operation includes at least one of laser processing, gas cutting processing, and electrical discharge processing.

5. A program, characterized in that The program causes the processor included in the numerical controller to function as: A compression unit compresses the first instruction point sequence to produce a second instruction point sequence; a calculation unit that calculates an execution position of the action in the second instruction point sequence for a first output instruction instructing the industrial machine to execute an action held in the first instruction point sequence; and A holding unit holds a second output instruction in the second instruction point sequence, wherein the second output instruction instructs the industrial machine to execute the action at the execution position.