Numerical control device and program
The numerical control device addresses accuracy loss by compressing point sequences while maintaining execution positions and commands, ensuring precise industrial processes like laser processing and machining.
Patent Information
- Application Number
- DE112022006894
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-06-07
- Publication Date
- 2025-01-23
AI Technical Summary
Numerical control devices face accuracy issues when point sequences are compressed, leading to reduced process precision in industrial machines.
A numerical control device with a compression unit, calculation unit, and holding unit that compresses command sequences, calculates execution positions, and maintains output commands to ensure accurate processing despite sequence compression.
Prevents a decrease in processing accuracy by maintaining the number of output command executions, allowing precise operations such as laser processing and machining.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL AREA
[0001] The present invention relates to a numerical control device and a program. TECHNICAL BACKGROUND
[0002] Some numerical control (NC) devices have a function called command point sequence compression. The command point sequence compression function is a function for compressing a sequence of command points (sometimes referred to simply as the "point sequence"). This means that the command point sequence compression function interpolates a command path containing a large number of point sequences, resulting in a smaller number of straight lines or curves. By using the command point sequence compression function, the load on the NC device can be reduced. In this way, the command point sequence compression function can prevent a reduction in speed caused by insufficient NC performance. List of references Patent document
[0003] Patent document 1: Unexamined Japanese patent application, publication no. 2015-153097 DISCLOSURE OF THE INVENTION Problems to be solved by the invention
[0004] In prior art numerical control systems, the time required to execute an output command varies depending on the specific sequence of points. If the sequence of points is compressed, the number of times at which the output command can be executed decreases accordingly. This can result in a reduction in the accuracy of an operation, such as machining by an industrial machine, in some cases.
[0005] One problem that is to be solved by an embodiment of the present invention is to provide a numerical control device and a program that can prevent the accuracy of an operation, such as machining, from decreasing when a sequence of command points is compressed. Means of solving the problems
[0006] A numerical control device of one embodiment comprises a compression unit, a computation unit, and a hold unit. The compression unit compresses a first instruction sequence to generate a second instruction sequence. The computation unit calculates an execution position of the operation in the second instruction sequence for a first output instruction held by the first instruction sequence and instructs an industrial machine to execute the operation. The hold unit causes the second instruction sequence to hold a second output instruction to instruct the industrial machine to execute the operation at the execution position. Effects of the invention
[0007] The present invention can prevent the accuracy of the process, for example machining, from decreasing when the command point sequence is compressed. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a block diagram showing an example of a numerical control system according to one embodiment and the main features of components included in the numerical control system; Fig. 2 is a flowchart that provides an example of the actions performed by a processor in Fig. 1 processing operation performed shows; Fig. Figure 3 is a diagram showing an example of a point sequence before compression; Fig. Figure 4 is a diagram showing an example of a point sequence after compression; and Fig. Figure 5 is a diagram showing an example of a section in which an operation instructed by an output command is performed, in an example of the dot sequence after compression. PREFERRED FORM OF EXECUTION OF THE INVENTION
[0008] A numerical control system according to one embodiment is described below with reference to the drawings. It should be noted that in some cases, the scales of each section are adjusted accordingly in each drawing used to describe the embodiment below. Furthermore, in some cases, each drawing used to describe the embodiment below is shown with a configuration that has been omitted for descriptive purposes. In the drawings and in the description, the same symbols denote equivalent elements. In the drawings, in the description, and in the claims, a curve encloses a straight line. Fig. Figure 1 is a block diagram showing an example of a numerical control system 1 according to the embodiment and the main features of the components included in the numerical control system 1. The numerical control system 1 includes, by way of example, a numerical control device 100 and an industrial machine 200.
[0009] The numerical control device 100 is a device that performs numerical control of an industrial machine or similar device. The numerical control device 100 includes, for example, a processor 110, a ROM (read-only memory) 120, a RAM (random access memory) 130, an additional storage device 140, and a control interface 150. Furthermore, a bus 160 or similar connects these units.
[0010] The processor 110 is a core component of a computer, performing the calculations and controls required for the operation of the numerical control device 100 and carrying out various types of calculations and processing. Examples of processor 110 include a CPU (Central Processing Unit), an MPU (Microprocessing Unit), a 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), and an FPGA (Field-Programmable Gate Array). In another example, the processor 110 is a combination of several of these units. Furthermore, the processor 110 can be a combination of these units with a hardware accelerator or similar device.The processor 110 controls the units to implement various functions of the numerical control device 100 based on programs such as firmware, system software, and application software stored in the ROM 120 or in the additional memory device 140. Furthermore, the processor 110 performs processing based on the program, which will be described later. It should be noted that part or all of the program may be integrated into a circuit of the processor 110. Based on the program, the processor 110 functions, for example, as a program analysis unit 111, a point sequence compression unit 112, an interpolation processing unit 113, a drive axis control unit 114, and an output control unit 115.
[0011] The program analysis unit 111 analyzes the content of an NC program. In this way, the program analysis unit 111 identifies what type of operation and control the NC program causes the numerical control device 100 to execute.
[0012] The point sequence compression unit 112 compresses the point sequence. The point sequence compression unit 112 includes, for example, a command holding unit 116 and an indicator calculation unit 117.
[0013] The command hold unit 116 causes a dot sequence after compression to contain an output command that corresponds to the one before compression.
[0014] The indicator calculation unit 117 calculates an indicator I, which will be described later.
[0015] The interpolation processing unit 113 calculates an interpolation curve M, which will be described later.
[0016] The drive axis control unit 114 controls the industrial machine 200 based on the NC program so that it moves along the sequence of points.
[0017] The output control unit 115 controls the industrial machine 200 based on the output command of the NC program in order to execute an operation instructed by the output command.
[0018] The ROM 120 and RAM 130 are the main memory devices of the computer, which contains the processor 110 as its core. The ROM 120 is non-volatile memory used exclusively for reading data. For example, the ROM 120 stores firmware or similar data from the programs mentioned above. In addition, the ROM 120 also stores data or similar data used when the processor 110 performs various types of processing. The RAM 130 is memory used for reading and writing data. The RAM 130 acts as a temporary storage area, temporarily holding data used when the processor 110 performs various types of processing. The RAM 130 is typically volatile memory.
[0019] The additional storage device 140 is an additional storage device of the computer that contains the processor 110 as its core. Examples of the additional storage device 140 are an EEPROM (electrically erasable programmable read-only memory), a HDD (hard disk drive), and flash memory. The additional storage device 140 stores, for example, system software, application software, or similar data from the programs mentioned above. Furthermore, the additional storage device 140 stores data used when the processor 110 performs various types of processing, data generated by the processing performed by the processor 110, various settings, and the like.
[0020] Furthermore, the additional storage device 140 stores an NC program for controlling the industrial machine 200. A portion of an example of the NC program before compression is shown below. N1 G01 X1. S0 ; N2 G01 X1. S1000 ; N3 G01 X1. S0 ; N4 G01 X1. S1000 ;
[0021] In this NC program, a line represents an operation. N1 to N4 denote sequence numbers. G01 denotes the cutting feed rate. Xx (where x is any numerical value) signifies a movement of x millimeters in the X direction. Additionally, x is a numerical value that specifies the amount of tool movement. X1 signifies a movement of 1 millimeter in the X direction. Ss (where s is an integer of 0 or greater) denotes a machining output command for the laser. Furthermore, its numerical value specifies a power output value for the laser. S1000 means that a power of 1000 watts is output. S0 indicates that a power of 0 watts is output, meaning no laser power is emitted. It should be noted that a machining output command is an output command that instructs the industrial machine 200 to perform a machining operation.An output command is a command that instructs the industrial machine 200 to perform any type of operation. Every output command contained in the NC program is an output command stored by the NC program.
[0022] Thus, the first line (line N1) of this NC program specifies that the industrial machine 200 should move 1 millimeter in the X direction during laser processing. Furthermore, in this NC program, the movement corresponding to a line refers to the movement from one endpoint to the next endpoint contained within a command path.
[0023] As described at the beginning, the output command for each movement can be issued in the NC program.
[0024] Some processing output commands give instructions for flame cutting or electrical discharge machining, but not for laser processing.
[0025] The control interface 150 is an interface through which the numerical control device 100 can communicate with the industrial machine 200 or the like. The numerical control device 100 controls the industrial machine 200 or the like via the control interface 150.
[0026] The bus 160 has a control bus, an address bus, a data bus and the like, and transmits signals to be transmitted between the units of the numerical control device 100.
[0027] The Industrial Machine 200 is a machine that operates based on numerical control. Examples of Industrial Machine 200 include a manipulator, a robotic arm, a robot, and a machine tool. Examples of machine tools include an NC lathe, an NC milling machine, a laser processing machine, a flame cutting machine, and an electrical discharge machining (EDM) machine.
[0028] The operation of the numerical control system 1 according to the embodiment is described below with reference to Fig. 2 and others described. It is noted that the processing described below is merely an example, and that various processing methods that can achieve similar results may be used as needed. Fig. Figure 2 is a flowchart showing an example of processing by processor 110 of numerical control device 100. For example, processor 110 performs the processing of Fig. 2 based on a program stored in ROM 120, in the additional storage device 140 or the like.
[0029] In step ST11 from Fig. 2. Processor 110 of the numerical control device 100 determines whether the dot sequence should be compressed or not. Processor 110 determines whether to compress the dot sequence if, for example, it receives an instruction to compress the dot sequence. The instruction is entered into the numerical control device 100 via an input device. Another example is the instruction being entered into the numerical control device 100 from another device. If the additional storage device 140 contains an uncompressed NC program, processor 110 determines whether to compress the dot sequence for the NC program at a predetermined time. For example, when an NC program is read into the numerical control device 100, processor 110 determines whether to compress the dot sequence for the NC program.If processor 110 determines that the dot sequence should not be compressed, processor 110 determines in step ST11 that this is not the case and proceeds to step ST12.
[0030] In step ST12, processor 110 determines whether or not to start the numerical control (NC) for industrial machine 200. Processor 110 decides to start the NC if, for example, it has received an instruction to start the NC for industrial machine 200. This instruction might be input into the NC 100 via an input device, or from another device. Processor 110 also determines, for example, to start the NC for industrial machine 200 at a predetermined time. If processor 110 decides not to start the NC, it returns to step ST11 by selecting NO.In this way, processor 110 is put into a stand-by state in which it repeats steps ST11 and ST12 until processor 110 decides to compress the dot sequence or determines that numerical control should be started.
[0031] If processor 110 determines that the dot sequence should be compressed, when processor 110 is in the standby state of step ST11 and step ST12, processor 110 determines yes in step ST11 and proceeds to step ST13.
[0032] In step ST13, processor 110 obtains an NC program that is a target for point sequence compression. Processor 110 obtains the NC program, for example, from the additional storage device 140. Another example is that processor 110 can obtain the NC program from a different device. It is noted that the NC program obtained during the final processing of step ST13 is referred to below as the "obtained program".
[0033] In step ST14, the processor 110 compresses the point sequence for the NC program obtained in step ST13. The processor 110 can use a generally known method to compress the point sequence. For example, the processor 110 can use the compression method described in patent document 1.
[0034] The point sequence before compression and the point sequence after compression are defined with reference to Fig. 3 and Fig. 4 described. Fig. Figure 3 is a diagram showing an example of a point sequence S1 before compression. The point sequence S1 is an instruction point sequence with (n+1) endpoints from an endpoint P0 to an endpoint Pn, where n is a positive integer. It is noted that in Fig. 3. Only the endpoints P0 to P6 of the endpoints P of the point sequence S1 are shown. Furthermore, the coordinates of an endpoint Pi and the component representation of a vector Pi are represented by (Xi, Yi).
[0035] Each curve Li between the endpoints in Fig. 3 is a straight line connecting a point P(i-1) and a point Pi, where i is an integer between 0 and n inclusive. It is noted that the curve between the endpoints may be a curve that is not a straight line.
[0036] If the curve Li between the endpoints, which is a straight line, is represented by a vector, this straight line can be represented by the following expression (1). [Mathematical Formula 1] Li=Pi−Pi−1 =((Xi−Xi−1),(Yi−Yi−1))
[0037] It is noted that the bold letter denotes a vector.
[0038] It is noted that the bold line in curve L between the in Fig. Three endpoints indicate movement with an output command. A thin line in the curve L between the endpoints indicates movement without an output command.
[0039] Fig. Figure 4 is a diagram showing an example of a point sequence S2 after compression. The point sequence S2 is a point sequence obtained by compressing the point sequence S1. The point sequence S2 is a command point sequence with (m+1) endpoints from an endpoint Q0 to an endpoint Qm, where m is an integer between 1 and n inclusive. Fig. Figure 4 only shows the endpoint Q0 to the endpoint Q2 of the point sequence S2. It is noted that in Fig. 4 also shows the endpoints P before compression.
[0040] In the point sequence S2, the number of point sequences is reduced by compressing the point sequence from (n+1) to (m+1). How Fig. 3 and Fig. As can be seen from section 4, three endpoints P from endpoint P0 to endpoint P2 are compressed into two endpoints Q from endpoint Q0 and endpoint Q1. This means that two curves L consisting of curve L1 and curve L2 are compressed into a single curve M1. Furthermore, four endpoints P from endpoint P2 to endpoint P5 are compressed into two endpoints Q consisting of endpoint Q1 and endpoint Q2. This means that three curves L from curve L3 to curve L5 are compressed into a single curve M2.
[0041] Each interpolation curve Mj in Fig. 4 is a straight line connecting an endpoint Q(j-1) and an endpoint Qj, where j is an integer between 0 and m inclusive. It is noted that the interpolation curve M can be a curve that is not a straight line.
[0042] If the interpolation curve Mj, which is a straight line, is represented by a vector, this straight line can be represented by the following expression (2). [Mathematical Formula 2] Mj=Qj−Qj−1=Pk2−Pk1=((Xk2−Xk1),(Yk2−Yk1))
[0043] Here, the interpolation curve Mj is an interpolation curve M obtained by compressing an endpoint Pk1 to an endpoint Pk2. This means that endpoint Pk1 is an endpoint that coincides with endpoint Q(j-1). Furthermore, endpoint Pk2 is an endpoint that coincides with endpoint Qj. In addition, (k2 - k1) is the number of curves L between the endpoints 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.
[0044] The sequence of points before compression is an example of a first instruction point sequence. The sequence of points S1 is an example of the first instruction point sequence. The sequence of points after compression is an example of a second instruction point sequence. The sequence of points S2 is an example of the second instruction point sequence. As described earlier, processor 110 performs the processing of step ST14 to act as an example of a compression unit that compresses the first instruction point sequence to generate the second instruction point sequence.
[0045] In step ST15, the processor 110 calculates a compression ratio R for each interpolation curve M. The compression ratio R is the ratio of the length of an interpolation curve M to the sum of the lengths of the curves L between the endpoints before the compression of the interpolation curve M. Thus, a compression ratio Rj of the interpolation curve Mj can be obtained, for example, by the following expression (3). [Mathematical Formula 3] Rj=‖Mj‖∑i=k1+1k2‖Li‖
[0046] It is noted that expression (3) gives the length of the curve L between the endpoints and the length of the interpolation curve M by norms of vectors.
[0047] The processor 110 calculates a compression ratio R1 to a compression ratio Rm.
[0048] The compression ratio R1 of the interpolation curve M1 in Fig. 4 is obtained, for example, from the following expression (4). [Mathematical Formula 4] R1=‖M1‖∑i=12‖Li‖=‖P2−P0‖‖L1‖+‖L2‖=‖P2−P0‖‖P1−P0‖+‖‖P2−P1‖‖ =|(X2−X0)2+(Y2−Y0)2||(X1−X0)2+(Y1−Y0)2|+|(X2−X1)2+(Y2−Y1)2|
[0049] In step ST16, processor 110 calculates the indicator I for each curve L between the endpoints. The indicator I shows the length (distance) of a segment in which an operation instructed by an output instruction is executed. An indicator Ii of the curve Li between the endpoints can be obtained, for example, by the following expression (5). [Mathematical Formula 5] Ii=R×‖Li‖ R in expression (5) is the compression ratio R of the interpolation curve M after compression of one or more curves between the endpoints, including the curve Li between the endpoints.
[0050] The processor 110 calculates an indicator I1 to an indicator In.
[0051] The indicator I1 of the curve L1 between the endpoints in Fig. 4 is obtained, for example, as the following expression (6). [Mathematical Formula 6] I1=R1×‖L1‖=|(X2−X0)2+(Y2−Y0)2|×|(X1−X0)2+(Y1−Y0)2||(X1−X0)2+(Y1−Y0)2|+|(X2−X1)2+(Y2−Y1)2|
[0052] In step ST17, processor 110 adds an output instruction to the point sequence after compression. This added output instruction is designed to execute the same operation as the output instruction contained in the obtained program. However, the execution position of the operation in this added output instruction differs from that of the output instruction in the obtained program, as described later. Adding this output instruction causes the NC program to retain this output instruction.
[0053] The output command for issuing an instruction to execute the operation performed on curve Li between the endpoints is represented by an output command Ci. Furthermore, the interpolation curve M after the compression of curve Li between the endpoints is represented by an interpolation curve Mj. Additionally, a starting position of the operation, as instructed by the output command, is represented by a position V(i-1), and an end position thereof is represented by a position Vi.
[0054] The processor 110 adds each output instruction C after compression to the dot sequence as an instruction to start the operation at position V(i-1) and to end the operation at position Vi.
[0055] In the case of i = k1 + 1, the position V(i-1) is a position of a point Q(j-1).
[0056] In the case of i > k1 + 1, the position V(i-1) is a position that is a distance D(a-1) away from the position of the point Q(j-1) along the interpolation curve Mj. The distance D(a-1) is expressed as follows. [Mathematical Formula 7] Da−1=∑s=k1+1i−1Is
[0057] In the case i ≠ k2, the position Vi is a position that is a distance Da away from the position of the point Q(j-1) along the interpolation curve Mj. The distance Da is expressed as follows. [Mathematical Formula 8] Da=∑s=k1+1iIs
[0058] In another example, the distance Da satisfies the condition Da = D(a - 1) + Ii.
[0059] In the case of i = k2, the position Vi is a position of a point Qj.
[0060] Fig. Figure 5 is a diagram showing an example of a section in which an operation instructed by the output command is performed, in an example of the point sequence S2 after compression. Fig. Figure 5 illustrates sections in which operations are performed as directed by output commands C1, C3, and C5. A section from position V0 to position V1 is a section in which the operation directed by output command C1 is performed. A section from position V2 to position V3 is a section in which the operation directed by output command C3 is performed. A section from position V4 to position V5 is a section in which the operation directed by output command C5 is performed. It is noted that in the example of Fig. 5. The output command C2 and the output command C4 are not present in the obtained program.
[0061] Fig. Section 3 further represents the section in which the operation instructed by the output command is executed. Fig. 3 is a section from a point P0 to a point P1, i.e. a section on a curve L1 between the endpoints, a section in which the operation instructed by the output command C1 is carried out.
[0062] A section from point P2 to point P3, i.e., a section on a curve L3 between the endpoints, is a section in which the operation specified by output command C3 is executed. A section from point P4 to point P5, i.e., a section on a curve L5 between the endpoints, is a section in which the operation specified by output command C5 is executed.
[0063] As described at the beginning, during the processing of steps ST14 to ST17, the processor 110 converts the obtained program into an NC program that specifies the point sequence after compression.
[0064] As described earlier, processor 110 performs the processing from steps ST16 and ST17 to act as an example of a computation unit that calculates an execution position of the operation in the second instruction point sequence for a first output instruction held by the first instruction point sequence and instructs the industrial machine to execute the operation. Furthermore, processor 110 performs the processing from step ST17 to act as an example of a hold unit that causes the second instruction point sequence to hold a second output instruction to instruct the industrial machine to execute the operation at the execution position.
[0065] In step ST18, processor 110 stores the NC program, converted by processing steps ST14 to ST17, in the additional storage device 140. Furthermore, processor 110 can delete or move the acquired program to prevent it from being executed erroneously. Processor 110 returns to step ST11 after processing step ST18.
[0066] If processor 110 determines that the numerical control should be started while processor 110 is in the standby state of step ST11 and step ST12, processor 110 makes the determination "Yes" in step ST12 and proceeds to step ST19.
[0067] In step ST19, processor 110 obtains the NC program to be executed. The specific NC program to be obtained is determined, for example, by the input to instruct industrial machine 200 to start the numerical control. The NC program obtained in this way is, for example, the NC program stored in step ST18.
[0068] In step ST20, processor 110 executes the NC program obtained in step ST19 to perform numerical control of the industrial machine 200. After completing the processing in step ST20, processor 110 returns to step ST11.
[0069] According to the numerical control system 1 of the embodiment, the numerical control device 100 compresses the point sequence. In this way, the numerical control device 100 of the embodiment can reduce the load.
[0070] Furthermore, the numerical control device 100, according to the numerical control system 1 of the embodiment, compresses the point sequence. The numerical control device 100 of the embodiment also calculates position V as the position at which the operation in the point sequence is executed after compression. This operation is instructed by the output command held by the command point sequence before compression. The numerical control device 100 of the embodiment also causes the command point sequence after compression to hold the command point sequence that gives an instruction to execute the operation at a position based on position V. In this way, the number of times at which the output command can be executed in the point sequence after compression is the same as in the point sequence before compression.Accordingly, the numerical control device 100 of the embodiment can prevent the accuracy of the operation, for example machining, from decreasing when the point sequence is compressed.
[0071] Furthermore, the numerical control device 100 of the embodiment of the numerical control system 1 defines the position V at which the operation is performed by using a length. In this way, the numerical control device 100 of the embodiment can define the position V not only at an endpoint, but also at a position between an endpoint and an endpoint.
[0072] Furthermore, according to the numerical control system 1 of the embodiment, examples of the operation instructed by the output command are laser processing, flame cutting, and electrical discharge machining. Thus, the numerical control device 100 of the embodiment can cause the industrial machine 200 to perform laser processing, flame cutting, electrical discharge machining, or the like.
[0073] The embodiment mentioned above can be modified as follows. In the embodiment mentioned above, indicator Ii represents a movement path from position V(i-1) to position Vi along the interpolation curve M. However, the numerical control device 100 can instead use an indicator Ii that indicates a movement path from another position to position Vi. The other position is, for example, point Q(j-1), point Q0, or the like.
[0074] In the embodiment described above, the position V is defined by its length. Furthermore, in this embodiment, the indicator I specifies a length. However, the position V can also be defined by something other than length, such as time, coordinates, a ratio, or similar. The following cases (α1) to (α4) are examples of cases in which the position V is defined by something other than length. However, the description of parts similar to the embodiment described above is essentially omitted. (α1) Case 1 of determining position V using time
[0075] The time required to move from point P(i-1) to point Pi is represented by Ti. The time required to move from point Q(j-1) to point Qj is represented by Uj. Processor 110 uses the time Ti instead of the length of the curve Li between the endpoints in expression (3) and expression (4). Furthermore, Processor 110 uses the time Uj instead of the length of the interpolation curve Mj in expression (3).
[0076] In (α1), the indicator I specifies the duration of time required to advance the section in which the operation instructed by the output instruction is executed. The 110 processor uses a time E(a-1) and a time Ea in (α1) instead of the distance D(a-1) and the distance Da. Thus, in the case of i > k1 + 1, the position V(i-1) is a position advanced from the position of point Q(j-1) along the interpolation curve Mj until the elapse of time E(a-1). In the case of i ≠ k2, the position Vi is a position advanced from the position of point Q(j-1) along the interpolation curve Mj until the elapse of time Ea. (α2) Case 2, in which the position V is defined using time
[0077] Unlike in (α1), processor 110 receives a compression ratio R similar to the embodiment mentioned at the beginning. Other aspects are similar to (α1). (α3) Case in which the position V is defined using a ratio
[0078] In the case of i > k1 + 1, the position V(i-1) is a position located a distance (a ratio F(a-1) of the length of the interpolation curve Mj) (= Mj × F(a-1)) from the position of the point Q(j-1) along the interpolation curve Mj. The ratio F(a-1) is (a sum of the lengths of a curve L(k1+1) between the endpoints to a curve L(i-1) between the endpoints) corresponding to (a sum of the lengths of the curves L between the endpoints before the compression of the interpolation curve Mj). This means that the following condition is satisfied. [Mathematical Formula 9] Fa−1=∑s=k1+1i−1‖Ls‖∑s=k1+1k2‖Ls‖
[0079] In the case i ≠ k2, position Vi is a position advanced by (a ratio Fa of the length of the interpolation curve Mj) (= Mj × Fa) from the position of point Q(j-1) along the interpolation curve Mj. The ratio Fa is (a sum of the lengths of the curve L(k1 + 1) between the endpoints to the curve Li between the endpoints), which corresponds to (a sum of the lengths of the curves L between the endpoints before the compression of the interpolation curve Mj). This means that the following condition is satisfied. [Mathematical Formula 10] Fa=∑s=k1+1i‖Ls‖∑s=k1+1k2‖Ls‖
[0080] It is noted that the ratio F is a type of indicator I and is an indicator I that specifies the ratio. (α4) Case in which the position V is defined by the use of coordinates
[0081] A position closest to point P(i-1) on the interpolation curve Mj is represented by position V(i-1). A position closest to point Pi on the interpolation curve Mj is represented by position Vi. The coordinates of position V(i-1) are represented by (XV(i-1), YV(i-1)), and the coordinates of position Vi are represented by (XVi, YVi). The coordinates (XV(i-1), YV(i-1)) and (XVi, YVi) are types of indicator I and are indicators I that specify the coordinates.
[0082] As described above, according to the embodiment of the numerical control system 1, the numerical control device 100 defines the position V at which the operation is carried out by using time, coordinates, ratios, or similar parameters, with the exception of length. In this way, the numerical control device 100 of the embodiment can set the position V not only to an endpoint but also to a position between an endpoint and an endpoint.
[0083] The processor 110 can implement part or all of the processing performed by the program in the above embodiment through a hardware configuration of a circuit.
[0084] The program for executing the implementation is transferred, for example, in a state where it is stored in a device. However, this device can also be transferred in a state where the program is not stored. Furthermore, the program can be transferred separately and written to the device. The transfer of the program at this point can be accomplished, for example, by storing the program on a removable storage medium or by downloading the program over a network such as the internet or a LAN (Local Area Network).
[0085] One embodiment of the present invention has been described above, but this embodiment is described as an example and does not limit the scope of protection of the present invention. The embodiment of the present invention can be embodied in various ways without deviating from the core of the present invention. REFERENCE MARK 1 numerical control system 100 numerical control devices 110 processor 111 Program Analysis Unit 112 Point sequence compression unit 113 Interpolation processing unit 114 Drive axle control unit 115 Output control unit 116 Command Holding Unit 117 Indicator calculation unit 120 ROM 130 RAM 140 additional storage devices 150 control interface 160 Bus 200 industrial machines QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 2015-153097
[0003]
Claims
[1] Numerical control device, comprising: a compression unit that compresses a first instruction point sequence to generate a second instruction point sequence; a calculation unit that calculates an execution position of the operation in the second command point sequence for a first output command held by the first command point sequence and instructs an industrial machine to execute the operation; and a holding unit that causes the second command point sequence to hold a second output command to instruct the industrial machine to execute the operation at the execution position. [2] The numerical control device according to claim 1, wherein the calculation unit defines the execution position using a length, coordinates, a ratio, or time. [3] The numerical control device according to claim 2, wherein the calculation unit defines the execution position using a length of a section in which the operation is executed. [4] The numerical control device according to any one of claims 1 to 3, wherein the process comprises one selected from: laser machining and / or flame cutting and / or electrical discharge machining. [5] Program that causes a processor contained in a numerical control device to act as: a compression unit that compresses a first command point sequence to generate a second command point sequence; a calculation unit that calculates an execution position of the operation in the second command point sequence for a first output command held by the first command point sequence and instructs an industrial machine to execute the operation; and a holding unit that causes the second command point sequence to hold a second output command to instruct the industrial machine to execute the operation at the execution position.
Citation Information
Patent Citations
Numerical controller with command route compression function
JP2015153097A