Numerical control unit

The numerical control unit optimizes condition wait block analysis by generating instructions based on initial analysis, reducing processing load and enabling versatile condition wait programs for real-time operations and improved program readability.

DE112023004499B4Active Publication Date: 2026-01-29MITSUBISHI ELECTRIC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE112023004499
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-14
Publication Date
2026-01-29
Estimated Expiration
2043-03-14

AI Technical Summary

Technical Problem

Existing numerical control units (NCUs) face inefficiencies in analysis processing during condition wait blocks, particularly when conditions require repeated calculations, leading to limited processing capacity for other tasks and restricting the use of condition-wait programs.

Method used

A numerical control unit that analyzes condition wait blocks once and generates instructions based on the analysis result, reducing analysis processing load by determining conditions without repeated calculations, and allowing for time limits in condition wait blocks.

Benefits of technology

Reduces analysis processing load, ensuring sufficient capacity for real-time operations and enabling condition wait programs for various conditions, including those requiring calculations, with improved program readability and maintainability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Numerical control unit (1), comprising: an analysis processing unit (6) for reading a block specified by a program step counter from a numerical control program and for analyzing the block; and a control processing unit (7) for generating an instruction that drives a control target, based on an analysis result of the analysis processing unit (6), where When a condition wait block is read that describes a conditional expression specifying a condition for the numerical control program to proceed, the analysis processing unit (6) repeatedly determines whether the condition is satisfied or not until the condition is satisfied, and the analysis processing unit (6) analyzes the condition wait block until the condition is satisfied before making initial and subsequent determinations as to whether the condition is satisfied or not. The analysis processing unit (6) analyzes only one block in a single analysis operation, which is the condition wait block, and The analysis processing unit (6) computes the conditional expression that contains an operator.
Need to check novelty before this filing date? Find Prior Art

Description

Area

[0001] The present disclosure relates to a numerical control unit that controls a control target by executing a numerical control program. background

[0002] A numerical control unit (NCU) executing a numerical control program to control a drive unit of a machine tool may sometimes suspend the execution of the NC program until a condition is met. Examples of conditions include the input of an external signal (a signal from outside the NCU) and the termination of operation of another system (a system separate from the system containing the machine tool). A condition wait, which waits for the condition to be met, is implemented, for example, by a condition wait program that includes an infinite loop. Such a condition wait program with an infinite loop is, for instance, a program that repeats a specified process until a predetermined condition is fulfilled.

[0003] In a conditional wait program with an endless loop, an analysis of blocks that do not involve shaft movement can be performed repeatedly during a single cycle. This occurs, for example, if no blocks involving shaft movement by the drive unit are included in the program, such as in a cycle where an interrupt signal is input. In this case, the numerical control unit spends a longer time on the analysis processing during the single cycle, leading to a problem of limiting the time available for processing other than the analysis.

[0004] To address this problem, a numerical control unit disclosed in patent literature 1 analyzes the processing content of a condition wait block, stores an analysis result, and then performs an execution processing of the condition wait block based on the stored analysis result when the execution processing is to be carried out. Citation list of patent literature

[0005] Patent literature 1: Japanese patent application publication number 2003 - 108 209 Brief description of the invention: Problem to be solved by the invention

[0006] However, the technique disclosed in patent literature 1 requires, for subsequent execution processing of the condition-wait block, a continued and repeated use of the analysis result obtained from the initial analysis processing as long as an execution condition remains unfulfilled. Therefore, the technique limits the conditions for which the condition-wait program can be used. For example, the technique cannot handle a condition that requires a calculation each time, such as comparing multiple external signals or comparing formula results containing variable values.

[0007] The present disclosure was made in view of the foregoing, and one objective of the present disclosure is to provide a numerical control device that reduces its analysis processing load and does not restrict conditions for which a condition-waiting program can be used. Means of solving the task

[0008] To solve the problems described above and to achieve the task, a numerical control unit according to the present disclosure comprises an analysis processing unit for reading a block specified by a program step counter from a numerical control program and for analyzing the block, and a control processing unit for generating an instruction based on an analysis result of the analysis processing unit, which drives a control target. When a condition wait block is read, which contains a conditional expression (English: conditional expression), the control unit generates an instruction based on an analysis result of the analysis processing unit, which drives a control target.The conditional expression, which specifies a condition for the numerical control program to proceed, describes the analysis processing unit. It repeatedly determines whether the condition is met or not until the condition is met, and analyzes the condition wait block until the condition is met before making an initial and subsequent determination of whether the condition is met or not. Effects of the invention

[0009] The numerical control unit according to the present disclosure achieves an effect of reducing its analysis processing load and not limiting conditions for which a condition-waiting program can be used. Brief description of the drawings Fig. Figure 1 is a diagram representing an exemplary configuration of a machine tool that includes a numerical control unit according to a first embodiment. Fig. Figure 2 is a flowchart representing a processing procedure performed by an analysis processing unit of the numerical control unit according to the first embodiment. Fig. Figure 3 is a diagram that describes exemplary processing times in a numerical control unit according to a comparative example with respect to the first embodiment. Fig. Figure 4 is a diagram that describes exemplary processing times in the numerical control unit according to the first embodiment. Fig. Figure 5 is a flowchart that represents a processing procedure that is executed by the analysis processing unit when a time limit is described in a condition wait block in the first embodiment. Fig. Figure 6 is a diagram that shows an exemplary configuration of a control circuit according to the first embodiment. Fig. Figure 7 is a diagram illustrating an exemplary configuration of a dedicated hardware circuit according to the first embodiment. Description of the embodiment

[0010] With reference to the drawings, a detailed description of a numerical control unit according to one embodiment is provided below. First embodiment

[0011] Fig. Figure 1 is a diagram illustrating an exemplary configuration of a machine tool 20, which includes a numerical control unit 1 according to a first embodiment. The machine tool 20 includes the numerical control unit 1, an operator panel 2, a monitor 3, and a drive unit 4. The operator panel 2, the monitor 3, and the drive unit 4 are connected to the numerical control unit 1. The numerical control unit 1 sends commands to the drive unit 4 in accordance with descriptions in a numerical control program while communicating with the operator panel 2 and the monitor 3.

[0012] The control panel 2 contains, for example, an input device such as a keyboard, mouse, or touch panel. The control panel 2 receives operations from a user of the machine tool 20 and transmits information specifying the contents of the operations to the numerical control unit 1. Examples of monitor 3 include a liquid crystal display (LCD) and an organic electroluminescent (EL) display. The monitor 3 displays information on a screen that is processed by the numerical control unit 1.

[0013] The drive unit 4 comprises motor drive units 11 and servo motors 12. The motor drive units 11 drive the servo motors 12 based on commands from the numerical control unit 1. Even if Fig. where 1 represents two pairs of motor drive units 11 and servomotors 12, the number of pairs of motor drive units 11 and servomotors 12 in the drive unit 4 can be any number.

[0014] The numerical control unit 1 comprises a program memory 5, an analysis processing unit 6, a control processing unit 7, a drive processing unit 8, an input / output processing unit 9, and a display processing unit 10. The numerical control program is stored in the program memory 5. The numerical control program consists of several blocks.

[0015] The Analysis Processing Unit 6 (APU 6) analyzes the numerical control program sequentially, block by block. APU 6 reads a block from the numerical control program, specified by a program counter, and analyzes that block. The program counter is a register that stores an address indicating the location of the next block to be executed. APU 6 reads the block from the location specified by the address stored in the program counter.

[0016] If the block read by Analysis Processing Unit 6 is a block that does not contain any axis movement, Analysis Processing Unit 6 proceeds to read and analyze a subsequent block. If the block read by Analysis Processing Unit 6 is a block that contains an axis movement, Analysis Processing Unit 6 sends an analysis result to Control Processing Unit 7.

[0017] The control processing unit 7 generates a command based on the analysis result of the analysis processing unit 6 to drive the drive unit 4, which is a control target. Examples of the command generated by the control processing unit 7 include, among others, target coordinates for the movement by driving the drive unit 4 and the movement speed. The control processing unit 7 sends the generated command to the drive processing unit 8. Based on the command generated by the control processing unit 7, the drive processing unit 8 generates commands to control the servo motors 12. The drive processing unit 8 sends the generated commands to the motor drive units 11.

[0018] The input / output processing unit 9 performs processing when information is input from the control panel 2, and it also performs processing when information is output to the control panel 2. The display processing unit 10 performs processing when information processed by the numeric control unit 1 is displayed on the monitor 3. The display processing unit 10 outputs information to the monitor 3 and receives information input from the monitor 3. The input / output processing unit 9 or the display processing unit 10 performs processing when neither the analysis processing unit 6, the control processing unit 7, nor the drive processing unit 8 is performing its respective processing.

[0019] When a condition wait block is read that contains a description specifying a condition for the execution of the numerical control program to proceed, the analysis processing unit 6 repeatedly determines whether the condition is met or not until it is. The condition wait block describes the condition for the execution of the numerical control program to a block that follows it. Within the condition wait block, a conditional expression is described that specifies the condition for the execution of the numerical control program to proceed. Until the condition is met, the analysis processing unit 6 parses the condition wait block, which is the block that describes the conditional expression, before making its first and subsequent determinations as to whether the condition is met or not.

[0020] For example, the analysis processing unit 6 analyzes the block describing the conditional expression before making the first determination of the condition, and then analyzes the block describing the conditional expression again before any subsequent determinations of the condition. In this case, the analysis processing unit 6 can analyze the block describing the conditional expression before each of the subsequent determinations of the condition, or it can analyze the block describing the conditional expression at least once before each subsequent determination of the condition. The analysis processing unit 6 can analyze either the block describing the conditional expression alone or the conditional expression alone.When the condition wait block is read, the analysis processing unit 6 makes the following determination without updating the program step counter if the condition is not met, and updates the program step counter if the condition is met.

[0021] The conditional expression can contain an operator. In this case, the analysis processing unit 6 calculates the conditional expression that includes the operator. An example format of the conditional wait block describing the conditional expression and an example of the conditional wait block containing the operator are shown below. WAIT[conditional expression]Example: WAIT[#3013 EQ 1] (Wait until #3013 becomes 1)

[0022] Next, a description of the processing performed by the analysis processing unit 6 will follow. Fig. Figure 2 is a flowchart that represents a process flow of the processing carried out by the analysis processing unit 6 of the numerical control unit 1 according to the first embodiment.

[0023] In step S1, the analysis unit 6 reads a block specified by the program step counter. In step S2, the analysis unit 6 analyzes the block read in step S1. The analysis unit 6 analyzes the contents of a statement specified in the block. If a conditional expression includes an operator, the analysis unit 6 obtains the result of the calculation of the conditional expression.

[0024] In step S3, the analysis processing unit 6 determines whether the instruction content analyzed in step S2 is a conditional wait or not. In other words, the analysis processing unit 6 determines whether the block read in step S1 is a conditional wait block or not. The conditional wait block is assumed here to be a WAIT block, as shown in the format above.

[0025] If the read block is the WAIT block, the analysis unit 6 determines that the read block is the conditional wait block. If the statement content is a conditional wait (step S3, YES), the analysis unit 6 continues in the procedure with step S4. Conversely, if the statement content is not a conditional wait (step S3, NO), the analysis unit 6 continues in the procedure with step S5.

[0026] In step S4, the analysis processing unit 6 determines whether the conditional expression is true or false. In other words, the analysis processing unit 6 makes a determination regarding the condition. If the conditional expression is true (step S4, YES), the analysis processing unit 6 continues with step S6 in the procedure. On the other hand, if the conditional expression is false (step S4, NO), the analysis processing unit 6 terminates the processing according to the procedure described in the following. Fig. 2. Procedure shown. If the conditional expression is not satisfied, the analysis processing unit 6 terminates the analysis processing without updating the program step counter and re-analyzes the conditional expression in the subsequent analysis processing.

[0027] In step S5, the analysis processing unit 6 performs the processing specified in the instruction for the block that has been determined not to be a condition wait block. After completing step S5, the analysis processing unit 6 continues with step S6 in the procedure.

[0028] In step S6, the analysis processing unit 6 updates the program step counter to the next block to be executed. Next, in step S7, the analysis processing unit 6 determines whether an instruction involving an axis movement has been executed, or whether a maximum number of analyses has been reached. The maximum number of analyses is preset.

[0029] If an instruction involving an axis movement is not reached and the maximum number of analyses is not reached (step S7, NO), analysis processing unit 6 returns to step S1 in the procedure. Analysis processing unit 6 then reads and analyzes the next block. Conversely, if an instruction involving an axis movement is reached or the maximum number of analyses is reached (step S7, YES), analysis processing unit 6 terminates processing according to the procedure. Fig. 2. Procedure shown.

[0030] If the analysis processing is executed multiple times until the condition is met, the limited time available for other processing would make it difficult for the numerical control unit 1 to ensure, for example, a real-time update of the screen display. Alternatively, it would be difficult to ensure real-time communication with external devices.

[0031] According to the first embodiment, the analysis processing unit 6 terminates the analysis processing without updating the program step counter if the condition is not met. Since the analysis processing unit 6 analyzes only one block in each analysis processing run, the numeric control unit 1 can reduce its analysis processing load compared to when multiple blocks need to be analyzed in a single analysis processing run. By reducing the analysis processing load, the numeric control unit 1 can avoid a situation where it devotes most of its processing capacity to analysis processing. Thus, the numeric control unit 1 can ensure sufficient processing capacity for other processing activities besides analysis processing.

[0032] Fig. Figure 3 is a diagram describing exemplary processing times in a numerical control unit according to a comparative example with respect to the first embodiment. Fig. Figure 4 is a diagram that describes exemplary processing times in the numerical control unit 1 according to the first embodiment. Fig. 3 and Fig. Figure 4 represents a horizontal axis representing time. Fig. 3 and Fig. 4. Each duration during which the processing is carried out is represented by a hatched rectangle. Fig. 3 and Fig. 4. The analysis processing, control or drive processing, and other processing are performed in a single cycle. The term "single cycle" refers, for example, to a cycle during which an interrupt signal is input.

[0033] Fig. Figure 4 presents examples of the duration of analysis processing, control or drive processing, and other processing in the first embodiment. Analysis processing is the processing performed by the analysis processing unit 6. Control processing is the processing performed by the control processing unit 7. Drive processing is the processing performed by the drive processing unit 8. Other processing refers to any processing performed by the numerical control unit 1, except for analysis processing, control processing, and drive processing. Other processing includes input / output processing, which is the processing performed by the input / output processing unit 9, and display processing, which is the processing performed by the display processing unit 10.

[0034] Fig. Figure 3 represents an example where all blocks from an endless loop WHILE block to an END block are analyzed in a single analysis operation. Fig. Section 3 presents examples of the duration of analysis processing, the duration of control or drive processing, and the duration of other processing.

[0035] In the Fig. In the comparative example shown in section 3, the analysis processing takes up most of the processing time of the numerical control unit. Therefore, the processing time during which the other processing is carried out is significantly shorter than the processing time during which the analysis processing is carried out. On the other hand, the Fig. 4 first embodiment shows the processing time during which the analysis processing is carried out, compared to the one in Fig. The comparative example shown in point 3 clearly illustrates this. Therefore, the example in Fig. 4 first embodiment shown in comparison to the one in Fig. The comparative example 3 shows an increase in processing time, during which the other processing is carried out.

[0036] As described above, the numerical control unit 1 according to the first embodiment can reduce the analysis processing load, thereby ensuring sufficient processing capacity for other processing. By ensuring sufficient processing capacity, the numerical control unit 1 can guarantee real-time execution of the other processing. For example, the numerical control unit 1 can guarantee real-time execution when updating the screen display or when communicating with external devices.

[0037] According to the first embodiment, when the condition wait block is read, the analysis processing unit 6 analyzes the content of the instruction specified in the condition wait block before determining the condition, such as whether or not an infinite loop should continue. Because the analysis processing unit 6 analyzes the conditional expression described in the condition wait block before determining the condition, it can make a determination regarding each condition requiring a calculation. Therefore, the numeric control unit 1 can implement condition wait for different conditions. Furthermore, because only the block describing the conditional expression or only the conditional expression is analyzed before determining the condition, there is a reduced number of blocks described in a condition wait program.Reducing the number of blocks allows for improved readability and maintainability of the numerical control program.

[0038] The condition wait block can contain a description of a time limit to wait until the condition is met. As shown below, a time limit argument can be added to the condition wait block. WAIT [conditional expression, time limit]

[0039] When the timeout is specified, the analysis processing unit 6 stops waiting for the condition to be satisfied if the timeout expires after waiting for the condition to be satisfied has begun.

[0040] If the condition is not met within the time limit, the numerical control unit 1 can notify a unit outside of the numerical control unit 1 that the condition is not met. Alternatively, the numerical control unit 1 can instruct the drive unit 4 to perform an axis movement toward a safe position if the condition is not met within the time limit. The analysis processing unit 6 can execute a predefined program to enable such an operation if the condition is not met within the time limit. The user can specify a program of their choice as the program to be executed if the condition is not met within the time limit. This allows the user to instruct the numerical control unit 1 to perform an operation of their choice if the condition is not met within the time limit.

[0041] Alternatively, the analysis processing unit 6 can execute a predefined program when the condition is met. The user can specify a program of their choice as the program to be executed when the condition is met. This allows the user to instruct the numerical control unit 1 to perform an operation of their choice when the condition is met. Thus, the analysis processing unit 6 can execute the predefined program in a case where the condition is met within the time limit and / or in a case where the condition is not met within the time limit.

[0042] An example of a conditional wait block that describes the timeout, and an example of the conditional wait block that describes the timeout, are shown below. The following example contains a statement for when the conditional expression is true and a statement for when the timeout expires. The statement for when the conditional expression is true represents the predefined program to be executed if the condition is true. The statement for when the timeout expires represents the predefined program to be executed if the condition is not true within the timeout.WAITIF[conditional expression, timeout] THEN statement if the conditional expression is true ELSE statement if the timeout expires Example: WAITIF[[#1031EQ1]AND[#1032EQ1], 1000] THEN GOTO210 ELSE GOTO999 N210 : N999 (Wait up to 1000 seconds for #1031 and #1032 to become 1, jump to block N210 if the condition is true, and jump to block N999 if the timeout expires.) .

[0043] Next, a description of the processing that the analysis processing unit 6 performs when the time limit is specified in the condition wait block follows. Fig. Figure 5 is a flowchart that represents a process flow of processing that is executed by the analysis processing unit 6 when the time limit is described in the condition wait block in the first embodiment. Fig. Section 5 presents exemplary steps that lead to the result described in Fig. The procedure shown in section 2 can be added if a time limit is described in a conditional wait block. This block specifies both a program to be executed when the condition is met and a program to be executed if the condition is not met within the time limit.

[0044] In step S11, the analysis processing unit 6 determines whether the condition is met or not. Step S11 corresponds to step S4 of Fig. 2. If the condition is met (step S11, YES), in step S12, the analysis processing unit 6 updates the program step counter to a block to be executed when the condition is met. After step S12 is completed, the analysis processing unit 6 terminates processing according to the instructions in Fig. The procedure shown in section 5. The block to be executed when the condition is met is the THEN block mentioned above. After the THEN block is executed, the analysis processing unit 6 executes a block that follows the THEN block.

[0045] On the other hand, if the condition is not met (step S11, NO), the analysis processing unit 6 determines in step S13 whether the current condition wait is the first condition wait after the condition wait block has been read. If the current condition wait is the first condition wait (step S13, YES), the analysis processing unit 6 begins timing in step S14. After step S14 is completed, the analysis processing unit 6 terminates processing according to the parameters defined in Fig. The procedure shown in section 5. The analysis processing unit 6 continuously measures the time as it repeats the block analysis and condition determination.

[0046] On the other hand, if the current condition wait is not the first condition wait (step S13, NO), the analysis processing unit 6 determines in step S15 whether the timeout since the start of the timer has expired. If the timeout since the start of the timer has expired (step S15, YES), the analysis processing unit 6 updates the program step counter in step S16 to a block to be executed if the condition is not met within the timeout. The block to be executed if the condition is not met within the timeout is the ELSE block mentioned above.

[0047] On the other hand, if the time limit has not expired since the start of the time measurement (step S15, NO), the analysis processing unit 6 terminates the processing according to the instructions in Fig. The procedure shown in section 5. The analysis processing unit 6 continuously measures the time as it repeats the block analysis and condition determination.

[0048] The instruction for when the conditional expression is true and the instruction for when the timeout expires can be written on the same line as the conditional wait block, as shown below. In this case, more blocks can be displayed at the same time the numeric control program is shown on the screen.

[0049] WAITIF[conditional expression,time limit] THEN statement in case the conditional expression is true ELSE statement in case the time limit expires

[0050] Instructions for when the conditional expression is true and instructions for when the timeout expires can be written in multiple blocks, as shown below. In other words, the Analysis Unit 6 can execute a conditional wait block that includes multiple blocks to execute if the condition is true within the timeout, and / or multiple blocks to execute if the condition is not true within the timeout. In this case, the Analysis Unit 6 can execute a conditional wait program that can handle a wider range of applications. WAITIF[conditional expression,timeout] THEN Statement 1 if conditional expression is true : Statement n if conditional expression is true ELSE Statement 1 if timeout expires : Statement m if timeout expires ENDIF

[0051] According to the first embodiment, when the condition wait block is read, the analysis processing unit 6 repeatedly determines whether the condition is satisfied or not until the condition is satisfied. Until the condition is satisfied, the analysis processing unit 6 analyzes only the block describing the conditional expression, or only the conditional expression itself, before making its determination regarding the condition. The numeric control unit 1 can reduce its analysis processing load compared to when multiple blocks need to be analyzed in a single analysis operation. Furthermore, the numeric control unit 1 can make the determination regarding the condition requiring a calculation, eliminating the need to limit the conditions for which the condition wait program can be used. In other words, the numeric control unit 1 can implement condition wait for various conditions.As described above, the numerical control unit 1 achieves an effect of reducing its analysis processing load and not restricting the conditions for which the condition wait program can be used.

[0052] Next, a description of the hardware implementing the numerical control unit 1 according to the first embodiment is given. The analysis processing unit 6, the control processing unit 7, the drive processing unit 8, the input / output processing unit 9, and the display processing unit 10, which are the processing units of the numerical control unit 1, are implemented by a processing circuit. The processing circuit can be a circuit in which a processor executes software or a dedicated circuit.

[0053] If the processing circuit is implemented using software, the processing circuit is, for example, one in Fig. 6 control circuit shown. Fig. Figure 6 is a diagram illustrating an exemplary configuration of the control circuit 30 according to the first embodiment. The control circuit 30 comprises an input unit 31, a processor 32, a data storage unit 33, and an output unit 34. The input unit 31 is an interface circuit that receives data input from outside the control circuit 30 and transmits the data to the processor 32. Information from both the control panel 2 and the monitor 3 is input to the input unit 31. The output unit 34 is an interface circuit that sends data from the processor 32 or the data storage unit 33 to an external location outside the control circuit 30. The output unit 34 outputs information to both the control panel 2 and the monitor 3.

[0054] If the processing circuit is in Fig. In the control circuit 30 shown in Figure 6, the processing units of the numerical control unit 1 are implemented using software, firmware, or a combination of both. The software or firmware is described as programs and is stored in the data memory 33. In the processing circuit, the processor 32 reads and executes the programs stored in the data memory 33 to implement the functions. This means that the data memory 33 is included in the processing circuit to store the programs that lead to the execution of the operations of the numerical control unit 1. These programs can be said to cause a computer to execute the steps and procedures of the numerical control unit 1. The aforementioned program step counter is included in the processor 32.

[0055] The processor 32 is a central processing unit (CPU), a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, or a digital signal processor (DSP). Examples corresponding to the data memory 33 include, but are not limited to, non-volatile and volatile semiconductor memories such as random-access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), and electrically erasable programmable read-only memory (EEPROM) (registered trademark), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, and a digital versatile disc (DVD). The program memory 5 is implemented by the data memory 33.

[0056] While Fig. Figure 6 represents the example of hardware in which the universal processor 32 and the data storage 33 are used to implement the inventory elements; the inventory elements can be implemented by a dedicated hardware circuit. Fig. Figure 7 is a diagram illustrating an exemplary configuration of the dedicated hardware circuit 35 according to the first embodiment.

[0057] The dedicated hardware circuit 35 comprises the input unit 31, the output unit 34, and a processing circuit 36. The processing circuit 36 ​​can be a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination thereof. The functions of the numerical control unit 1 can be implemented individually or collectively by the processing circuit 36. The component elements can be implemented by combining the control circuit 30 with the hardware circuit 35.

[0058] The above configurations, which are shown in the embodiment, illustrate the content of this disclosure. The configurations of the embodiment can be combined with other publicly known techniques. The configurations of the embodiment can be partially omitted or modified without departing from the core of this disclosure. Reference symbol list 1 numerical control unit; 2 Control panel; 3 monitors; 4 Drive unit; 5 program memory slots; 6 Analysis processing unit; 7 Control processing unit; 8 Drive processing unit; 9 Input / output processing unit; 10 Display processing unit; 11 Motor drive unit; 12 servo motor; 20 machine tool; 30 Control circuit; 31 Input unit; 32 processor; 33 Data storage; 34 output units; 35 Hardware circuitry; 36 processing circuits.

Claims

Numerical control unit (1) comprising: an analysis processing unit (6) for reading a block specified by a program step counter from a numerical control program and for analyzing the block;and a control processing unit (7) for generating an instruction that drives a control target, based on an analysis result of the analysis processing unit (6), wherein when a condition wait block is read which describes a conditional expression that specifies a condition for the continuation of the execution of the numerical control program, the analysis processing unit (6) repeatedly determines whether the condition is satisfied or not until the condition is satisfied, and the analysis processing unit (6) analyzes the condition wait block until the condition is satisfied before making initial and subsequent determinations as to whether the condition is satisfied or not, the analysis processing unit (6) analyzes only one block in a single analysis operation, which is the condition wait block, and the analysis processing unit (6) computes the conditional expression which contains an operator.; Numerical control unit (1) according to claim 1, wherein the condition wait block contains a description of a time limit for waiting until the condition is satisfied, and the analysis processing unit (6) terminates the waiting for the condition to be satisfied when the time limit expires after the waiting for the condition to be satisfied has begun. Numerical control unit (1) according to claim 2, wherein the analysis processing unit (6) executes a predetermined program in a case where the condition is met within the time limit and / or in a case where the condition is not met within the time limit. Numerical control unit (1) according to claim 3, wherein the analysis processing unit (6) executes the condition wait block, which comprises several blocks to be executed if the condition is met within the time limit, and / or which comprises several blocks to be executed if the condition is not met within the time limit.

Citation Information

Patent Citations

  • Numerical control device

    JP2003108209A

  • Image processor and image processing method

    JP2008219425A

  • JP002003108209A

  • JP002021009425A