[go: up one dir, main page]

WO2024189762A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2024189762A1
WO2024189762A1 PCT/JP2023/009784 JP2023009784W WO2024189762A1 WO 2024189762 A1 WO2024189762 A1 WO 2024189762A1 JP 2023009784 W JP2023009784 W JP 2023009784W WO 2024189762 A1 WO2024189762 A1 WO 2024189762A1
Authority
WO
WIPO (PCT)
Prior art keywords
condition
processing unit
numerical control
block
analysis processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/009784
Other languages
English (en)
French (fr)
Inventor
晶 阿賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=90526544&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2024189762(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2023546558A priority Critical patent/JP7462849B1/ja
Priority to US19/117,661 priority patent/US20260003343A1/en
Priority to CN202380074021.5A priority patent/CN120077336A/zh
Priority to DE112023004499.6T priority patent/DE112023004499B4/de
Priority to PCT/JP2023/009784 priority patent/WO2024189762A1/ja
Publication of WO2024189762A1 publication Critical patent/WO2024189762A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme

Definitions

  • This disclosure relates to a numerical control device that controls a control target by executing a numerical control program.
  • a numerical control device which controls the drive unit of a machine tool by executing a numerical control program, may suspend execution of the numerical control program until a condition is met.
  • a condition may be, for example, the input of an external signal from outside the numerical control device, or the end of operation of another system other than the system that includes the machine tool. Waiting for a condition to be met is realized, for example, by a condition waiting program with an infinite loop.
  • a condition waiting program with an infinite loop is, for example, a program that repeats a specified process until a certain condition is met.
  • the analysis of blocks that do not involve axial movement may be repeatedly executed in one cycle, for example, during the cycle in which an interrupt signal is input.
  • the time required for analysis processing in one cycle in the numerical control device becomes long, resulting in a problem that the time available for processing other than analysis processing is limited.
  • Patent Document 1 discloses a numerical control device that analyzes the processing contents of a condition waiting block, stores the analysis results, and then performs execution processing of the condition waiting block based on the stored analysis results.
  • the present disclosure has been made in consideration of the above, and aims to provide a numerical control device that reduces the load of analysis processing and does not restrict the conditions for using a condition waiting program.
  • the numerical control device includes an analysis processing unit that reads a block indicated by a program counter from a numerical control program and analyzes the block, and a control processing unit that generates a command to drive a controlled object based on the analysis result of the analysis processing unit.
  • the analysis processing unit When a condition waiting block is read in which a conditional expression indicating a condition for proceeding with the execution of the numerical control program is written, the analysis processing unit repeatedly determines whether the condition is satisfied until the condition is satisfied, and analyzes the condition waiting block before determining whether the condition is satisfied the first and second or subsequent times.
  • the numerical control device disclosed herein has the advantage of reducing the load of analysis processing and not restricting the conditions for using condition waiting programs.
  • FIG. 1 is a diagram showing a configuration example of a machine tool equipped with a numerical control device according to a first embodiment
  • 1 is a flowchart showing a procedure of a process executed by an analysis processing unit of a numerical control device according to a first embodiment
  • FIG. 13 is a diagram for explaining an example of a processing time in a numerical control device according to a comparative example of the first embodiment
  • FIG. 1 is a diagram for explaining an example of a processing time in a numerical control device according to a first embodiment
  • 1 is a flowchart showing the procedure of a process executed by an analysis processing unit when a time limit is described in a conditional wait block in the first embodiment.
  • FIG. 1 is a diagram showing a configuration example of a control circuit according to a first embodiment
  • FIG. 1 is a diagram showing an example of a configuration of a dedicated hardware circuit according to a first embodiment
  • Embodiment 1. 1 is a diagram showing an example of the configuration of a machine tool 20 including a numerical control device 1 according to a first embodiment.
  • the machine tool 20 includes the numerical control device 1, an operation panel 2, a monitor 3, and a drive unit 4.
  • the operation panel 2, the monitor 3, and the drive unit 4 are each connected to the numerical control device 1.
  • the numerical control device 1 sends commands to the drive unit 4 according to the description of a numerical control program while communicating with the operation panel 2 and the monitor 3.
  • the operation panel 2 includes input devices such as a keyboard, a mouse, a keypad, or a touch panel.
  • the operation panel 2 accepts operations by a user of the machine tool 20, and transmits information indicating the content of the operation to the numerical control device 1.
  • the monitor 3 is, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
  • the monitor 3 displays information processed by the numerical control device 1 on its screen.
  • the drive unit 4 includes a motor drive unit 11 and a servo motor 12.
  • the motor drive unit 11 drives the servo motor 12 based on commands from the numerical control device 1.
  • FIG. 1 shows two pairs of motor drive units 11 and servo motors 12, the number of pairs of motor drive units 11 and servo motors 12 provided in the drive unit 4 is arbitrary.
  • the numerical control device 1 includes 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 is composed of multiple blocks.
  • the analysis processing unit 6 sequentially analyzes the numerical control program block by block.
  • the analysis processing unit 6 reads the block indicated by the program counter from the numerical control program and analyzes the block.
  • the program counter is a register that stores the address indicating the position of the next block to be executed.
  • the analysis processing unit 6 reads the block from the position indicated by the address stored in the program counter.
  • the analysis processing unit 6 If the block loaded into the analysis processing unit 6 does not involve axial movement, the analysis processing unit 6 continues to load and analyze the next block. If the block loaded into the analysis processing unit 6 involves axial movement, the analysis processing unit 6 sends the analysis results to the control processing unit 7.
  • the control processing unit 7 generates commands to drive the drive unit 4, which is the object to be controlled, based on the analysis results from the analysis processing unit 6.
  • the control processing unit 7 generates, for example, target coordinates for movement by driving the drive unit 4, or commands for the movement speed.
  • the control processing unit 7 sends the generated commands to the drive processing unit 8.
  • the drive processing unit 8 generates commands to control each servo motor 12 based on the commands generated by the control processing unit 7.
  • the drive processing unit 8 sends the generated commands to each motor drive unit 11.
  • the input/output processing unit 9 executes processing when information is input from the operation panel 2, and processing when information is output to the operation panel 2.
  • the display processing unit 10 executes processing when information processed by the numerical control device 1 is displayed on the monitor 3.
  • the display processing unit 10 outputs information for display to the monitor 3, and receives information from the monitor 3 as input.
  • the input/output processing unit 9 or display processing unit 10 executes processing.
  • condition waiting block When a condition waiting block containing a description indicating a condition for proceeding with the execution of the numerical control program is loaded, the analysis processing unit 6 repeatedly determines whether the condition is met until the condition is met.
  • the condition waiting block describes a condition for proceeding with the execution of the numerical control program to a block following the condition waiting block.
  • the condition waiting block describes a conditional expression indicating the condition for proceeding with the execution of the numerical control program.
  • the analysis processing unit 6 analyzes the condition waiting block, which is the block in which the conditional expression is described, before determining whether the condition is met for the first and second or subsequent times.
  • the analysis processing unit 6 analyzes the block in which the condition expression is written before the first condition judgment, and then analyzes the block in which the condition expression is written before the second and subsequent condition judgments. At this time, the analysis processing unit 6 may analyze the block in which the condition expression is written every time before the second and subsequent condition judgments, or may analyze the block in which the condition expression is written at least once. The analysis processing unit 6 may analyze only the block in which the condition expression is written, or may analyze only the condition expression. When a condition waiting block is read, if the condition is not met, the analysis processing unit 6 performs the next judgment without updating the program counter, and if the condition is met, updates the program counter.
  • the conditional expression may include an operator.
  • the analysis processing unit 6 calculates the conditional expression including the operator.
  • An example of the format of a conditional wait block in which a conditional expression is written and an example of a conditional wait block including an operator are shown below.
  • FIG. 2 is a flowchart showing the procedure of the processing performed by the analysis processing unit 6 of the numerical control device 1 according to the first embodiment.
  • step S1 the analysis processing unit 6 reads the block indicated by the program counter.
  • step S2 the analysis processing unit 6 analyzes the block read in step S1.
  • the analysis processing unit 6 analyzes the contents of the instructions indicated in the block. If the conditional expression includes an operator, the analysis processing unit 6 obtains the calculation result of the conditional expression.
  • step S3 the analysis processing unit 6 judges whether the contents of the command analyzed in step S2 are a condition wait or not. That is, the analysis processing unit 6 judges whether the block read in step S1 is a condition wait block or not.
  • the condition wait block is a WAIT block shown in the format described above. If the read block is a WAIT block, the analysis processing unit 6 judges that the read block is a condition wait block. If the contents of the command are a condition wait (step S3, Yes), the analysis processing unit 6 proceeds to step S4. On the other hand, if the contents of the command are not a condition wait (step S3, No), the analysis processing unit 6 proceeds to step S5.
  • step S4 the analysis processing unit 6 judges whether or not the conditional expression is satisfied. That is, the analysis processing unit 6 performs a condition judgment. If the conditional expression is satisfied (step S4, Yes), the analysis processing unit 6 proceeds to step S6. On the other hand, if the conditional expression is not satisfied (step S4, No), the analysis processing unit 6 ends the processing according to the procedure shown in FIG. 2. If the conditional expression is not satisfied, the analysis processing unit 6 ends the analysis process without updating the program counter, and analyzes the conditional expression again in the next analysis process.
  • step S5 the analysis processing unit 6 executes the process indicated in the command for the block that is determined not to be a condition waiting block. After completing step S5, the analysis processing unit 6 advances the procedure to step S6.
  • step S6 the analysis processing unit 6 updates the program counter to the next block to be executed.
  • step S7 the analysis processing unit 6 determines whether a command involving axis movement has been reached or whether the number of analyses has reached the maximum number. The maximum number of analyses is assumed to be set in advance.
  • step S7, No If a command involving axial movement has not been reached and the number of analyses has not reached the maximum number (step S7, No), the analysis processing unit 6 returns to step S1. The analysis processing unit 6 reads and analyzes the next block. On the other hand, if a command involving axial movement has been reached or the number of analyses has reached the maximum number (step S7, Yes), the analysis processing unit 6 ends the processing according to the procedure shown in FIG. 2.
  • the numerical control device 1 executes multiple analysis processes before a condition is satisfied, the time available for executing processes other than analysis processes is limited, making it difficult to ensure real-time performance in updating the screen display, for example. Or, it makes it difficult to ensure real-time performance in communication with external devices.
  • the analysis processing unit 6 ends the analysis process without updating the program counter. Because the analysis processing unit 6 analyzes only one block in one analysis process, the numerical control device 1 can reduce the load of the analysis process compared to a case in which multiple blocks need to be analyzed in one analysis process. By being able to reduce the load of the analysis process, the numerical control device 1 can avoid a situation in which most of the processing capacity of the numerical control device 1 is spent on the analysis process. This enables the numerical control device 1 to ensure sufficient processing capacity for processes other than the analysis process.
  • FIG. 3 is a diagram for explaining an example of processing time in a numerical control device according to a comparative example of the first embodiment.
  • FIG. 4 is a diagram for explaining an example of processing time in the numerical control device 1 according to the first embodiment.
  • the horizontal axis represents time.
  • the length of time during which processing is performed is represented by hatched rectangles.
  • analysis processing, control processing or drive processing, and other processing are performed in one cycle.
  • One cycle is, for example, the cycle during which an interrupt signal is input.
  • FIG. 4 shows an example of the time when analysis processing is performed, the time when control processing or drive processing is performed, and the time when other processing is performed in embodiment 1.
  • Analysis processing is processing performed by the analysis processing unit 6.
  • Control processing is processing performed by the control processing unit 7.
  • Drive processing is processing performed by the drive processing unit 8.
  • Other processing is processing performed by the numerical control device 1 other than analysis processing, control processing, and drive processing.
  • Other processing includes input/output processing, which is processing performed by the input/output processing unit 9, and display processing, which is processing performed by the display processing unit 10.
  • Figure 3 shows an example where all blocks from the WHILE block to the END block of an infinite loop are analyzed in one analysis process.
  • Figure 3 also shows an example of the time when the analysis process is executed, the time when the control process or drive process is executed, and the time when other processes are executed.
  • the processing time during which other processing is performed is significantly shorter than the processing time during which analysis processing is performed.
  • the processing time during which analysis processing is performed is significantly reduced compared to the comparative example shown in FIG. 3. Therefore, in the first embodiment shown in FIG. 4, it is possible to increase the processing time during which other processing is performed compared to the comparative example shown in FIG. 3.
  • the numerical control device 1 can reduce the load of the analysis process, thereby making it possible to ensure sufficient processing capacity for other processes.
  • the numerical control device 1 can ensure real-time performance for other processes.
  • the numerical control device 1 can ensure real-time performance in updating the screen display, or real-time performance in communication with external devices.
  • the analysis processing unit 6 when a condition wait block is read, analyzes the contents of the command indicated in the condition wait block before a condition judgment, which is, for example, a judgment as to whether or not to continue an infinite loop.
  • the analysis processing unit 6 analyzes the condition expression described in the condition wait block before the condition judgment, and therefore can perform condition judgment for conditions that require calculations each time. This allows the numerical control device 1 to realize condition waiting for various conditions.
  • the number of blocks described in the condition wait program is reduced. Reducing the number of blocks makes it possible to improve the readability of the numerical control program and the maintainability of the numerical control program.
  • the condition wait block may also describe a time limit for waiting for the condition to be met. As shown below, the condition wait block may also have an argument for the time limit added. WAIT [condition expression, time limit]
  • the analysis processing unit 6 ends waiting for the condition to be met when the time limit has elapsed since it started waiting for the condition to be met.
  • the numerical control device 1 may notify the outside of the numerical control device 1 that the condition is not met. Alternatively, the numerical control device 1 may instruct the drive unit 4 to move the axis to a safe position if the condition is not met within the time limit. To enable such operations, the analysis processing unit 6 may execute a pre-specified program if the condition is not met within the time limit. The user can specify any program as the program to be executed if the condition is not met within the time limit. This allows the numerical control device 1 to perform any operation if the condition is not met within the time limit.
  • the analysis processing unit 6 may execute a pre-specified program when the condition is met.
  • the user can specify any program as the program to be executed when the condition is met. This allows the numerical control device 1 to perform any operation when the condition is met.
  • the analysis processing unit 6 may execute a pre-specified program at least in either the case where the condition is met or the case where the condition is not met within the time limit.
  • condition wait block An example of the format of a condition wait block in which a time limit is described and an example of a condition wait block in which a time limit is described are shown below.
  • the following examples include a command when a condition expression is satisfied and a command when the time limit has elapsed.
  • the command when a condition expression is satisfied refers to a program that has been specified in advance as a program to be executed when the condition is satisfied.
  • the command when the time limit has elapsed refers to a program that has been specified in advance as a program to be executed when the condition is not satisfied within the time limit.
  • WAITIF [condition, time limit] THEN Command when the condition is met ELSE Command when the time limit has elapsed
  • WAITIF [#1031EQ1]AND[#1032EQ1], 1000] THEN GOTO210 ELSE GOTO999 N210 : N999 (Wait for 1000 seconds until #1031 and #1032 become 1, jump to block N210 when the condition is met, and jump to block N999 when the time limit has elapsed.)
  • FIG. 5 is a flowchart showing the procedure of the process executed by the analysis processing unit 6 when a time limit is described in the condition wait block in embodiment 1.
  • FIG. 5 shows an example of a procedure added to the procedure shown in FIG. 2 when a time limit is described in the condition wait block. Also, here, it is assumed that both a program to be executed when the condition is met, and a program to be executed when the condition is not met within the time limit are specified.
  • step S11 the analysis processing unit 6 determines whether or not the condition is met.
  • Step S11 corresponds to step S4 shown in FIG. 2. If the condition is met (Yes in step S11), the analysis processing unit 6 updates the program counter to the block to be executed if the condition is met in step S12. After completing step S12, the analysis processing unit 6 ends the processing according to the procedure shown in FIG. 5. The block to be executed if the condition is met is the THEN block described above. After executing the THEN block, the analysis processing unit 6 executes the block following the THEN block.
  • step S11, No the analysis processing unit 6 determines in step S13 whether the current condition wait is the first condition wait since the condition wait block was loaded. If the current condition wait is the first condition wait (step S13, Yes), the analysis processing unit 6 starts measuring time in step S14. After completing step S14, the analysis processing unit 6 ends the processing according to the procedure shown in FIG. 5. The analysis processing unit 6 continues to measure time while repeating block analysis and condition determination.
  • step S15 determines in step S15 whether the time limit has elapsed since the start of time measurement. If the time limit has elapsed since the start of time measurement (step S15, Yes), the analysis processing unit 6 updates the program counter in step S16 to the block to be executed if the condition is not met within the time limit.
  • the block to be executed if the condition is not met within the time limit is the ELSE block described above.
  • step S15, No the analysis processing unit 6 ends the process according to the procedure shown in FIG. 5.
  • the analysis processing unit 6 continues to measure time and repeats the analysis of blocks and condition determination.
  • the command when the condition formula is satisfied and the command when the time limit has elapsed may be written on the same line as the condition waiting block as shown below. In this case, it is possible to increase the number of blocks that can be displayed at one time when the numerical control program is displayed on the screen.
  • WAITIF[condition expression, time limit]THEN Command when the condition expression is satisfied ELSE Command when the time limit has elapsed
  • the command when the condition formula is satisfied and the command when the time limit has elapsed may each be written in multiple blocks as shown below. That is, the analysis processing unit 6 may execute a condition waiting block that includes at least one of multiple blocks to be executed when the condition is satisfied and multiple blocks to be executed when the condition is not satisfied within the time limit. In this case, the analysis processing unit 6 can execute a condition waiting program that can handle a wider variety of usage situations.
  • the analysis processing unit 6 when a condition waiting block is read, the analysis processing unit 6 repeatedly judges whether the condition is satisfied until the condition is satisfied. Until the condition is satisfied, the analysis processing unit 6 analyzes only the block in which the condition expression is written or only the condition expression before performing the condition judgment.
  • the numerical control device 1 can reduce the load of the analysis process compared to a case in which multiple blocks need to be analyzed in one analysis process. Furthermore, by being able to perform condition judgment for conditions that require calculation, the numerical control device 1 eliminates the need to place restrictions on the conditions under which the condition waiting program can be used. In other words, the numerical control device 1 can realize condition waiting for various conditions. As a result, the numerical control device 1 reduces the load of the analysis process and achieves the effect of not restricting the conditions under which the condition waiting program can be used.
  • the processing units of the numerical control device 1 that is, 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, are realized by processing circuits.
  • the processing circuits may be circuits in which a processor executes software, or may be dedicated circuits.
  • FIG. 6 is a diagram showing an example of the configuration of the control circuit 30 according to the first embodiment.
  • the control circuit 30 includes an input unit 31, a processor 32, a memory 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 provides the data to the processor 32. Information is input to the input unit 31 from each of the operation panel 2 and the monitor 3.
  • the output unit 34 is an interface circuit that sends data from the processor 32 or memory 33 to outside the control circuit 30. The output unit 34 outputs information to each of the operation panel 2 and the monitor 3.
  • the processing unit of the numerical control device 1 is realized by software, firmware, or a combination of software and firmware.
  • the software or firmware is written as a program and stored in the memory 33.
  • each function is realized by the processor 32 reading and executing the program stored in the memory 33.
  • the processing circuit has a memory 33 for storing the program that will result in the processing of the numerical control device 1 being executed. It can also be said that these programs cause the computer to execute the procedures and methods of the numerical control device 1.
  • the above-mentioned program counter is provided in the processor 32.
  • the processor 32 is a CPU (Central Processing Unit), a processing device, an arithmetic unit, a microprocessor, a microcomputer, a processor, or a DSP (Digital Signal Processor).
  • the memory 33 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD (Digital Versatile Disc).
  • the program memory 5 is realized by the memory 33.
  • FIG. 6 shows an example of hardware in which each component is realized by a general-purpose processor 32 and memory 33, but each component may also be realized by a dedicated hardware circuit.
  • FIG. 7 shows an example of the configuration of a dedicated hardware circuit 35 according to the first embodiment.
  • the dedicated hardware circuit 35 includes an input unit 31, an output unit 34, and a processing circuit 36.
  • the processing circuit 36 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a circuit that combines these.
  • Each function of the numerical control device 1 may be realized by the processing circuit 36 on a function-by-function basis, or each function may be realized collectively by the processing circuit 36.
  • Each component may be realized by combining the control circuit 30 and the hardware circuit 35.

Landscapes

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

Abstract

数値制御装置(1)は、プログラムカウンタが示すブロックを数値制御プログラムから読み込み、ブロックを解析する解析処理部(6)と、解析処理部(6)での解析結果に基づいて、制御対象を駆動させる指令を生成する制御処理部(7)と、を備える。解析処理部(6)は、数値制御プログラムの実行を進める条件を示す条件式が記述されている条件待ちブロックが読み込まれた場合に、条件が成立するまで条件の成否の判定を繰り返し、条件が成立するまでにおいて、条件待ちブロックを、1回目および2回目以降の条件の成否の判定よりも前に解析する。

Description

数値制御装置
 本開示は、数値制御プログラムの実行により制御対象を制御する数値制御装置に関する。
 数値制御プログラムの実行により工作機械の駆動部を制御する数値制御装置は、条件が成立するまで数値制御プログラムの実行を中断する場合がある。条件とは、例えば、数値制御装置の外部からの信号である外部信号の入力があること、または、工作機械を含む系統以外の系統である他系統の動作が終了することなどである。条件の成立を待つ条件待ちは、例えば無限ループを有する条件待ちプログラムによって実現される。無限ループを有する条件待ちプログラムは、例えば、所定の条件が成立するまで指定された処理を繰り返すプログラムである。
 この無限ループを有する条件待ちプログラムにおいて、プログラム中のブロックに例えば駆動部の軸移動を伴うブロックがない場合、軸移動を伴わないブロックの解析が1周期、例えば割り込み信号が入力される周期の間において繰り返し実行されてしまう場合がある。この場合、数値制御装置において1周期の間における解析処理の時間が長くなり、解析処理以外の処理を実行できる時間が限られるという問題が発生する。
 このような問題に対し、特許文献1には、条件待ちブロックの処理内容を解析して解析結果を記憶し、その後条件待ちブロックの実行処理を行う際には記憶された解析結果に基づいて実行処理を行う数値制御装置が開示されている。
特開2003-108209号公報
 しかしながら、上記特許文献1に開示されている技術の場合、実行条件不成立の間において、一回の解析処理による解析結果をその後の条件待ちブロックの実行処理に繰り返し使用し続けなければならないため、条件待ちプログラムを使用できる条件が制限されることとなる。例えば、複数の外部信号を比較する場合、または、変数値を含む計算式の結果を比較する場合などのように、その都度の演算が必要となるような条件を扱うことができない。
 本開示は、上記に鑑みてなされたものであって、解析処理の負荷を低減し、かつ、条件待ちプログラムの使用条件が制限されない数値制御装置を提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本開示にかかる数値制御装置は、プログラムカウンタが示すブロックを数値制御プログラムから読み込み、ブロックを解析する解析処理部と、解析処理部での解析結果に基づいて、制御対象を駆動させる指令を生成する制御処理部と、を備える。解析処理部は、数値制御プログラムの実行を進める条件を示す条件式が記述されている条件待ちブロックが読み込まれた場合に、条件が成立するまで条件の成否の判定を繰り返し、条件が成立するまでにおいて、条件待ちブロックを、1回目および2回目以降の条件の成否の判定よりも前に解析する。
 本開示にかかる数値制御装置は、解析処理の負荷を低減し、かつ、条件待ちプログラムの使用条件が制限されないという効果を奏する。
実施の形態1にかかる数値制御装置を備える工作機械の構成例を示す図 実施の形態1にかかる数値制御装置の解析処理部が実行する処理の手順を示すフローチャート 実施の形態1の比較例にかかる数値制御装置における処理時間の例について説明するための図 実施の形態1にかかる数値制御装置における処理時間の例について説明するための図 実施の形態1において条件待ちブロックに制限時間が記述されている場合に解析処理部が実行する処理の手順を示すフローチャート 実施の形態1にかかる制御回路の構成例を示す図 実施の形態1にかかる専用のハードウェア回路の構成例を示す図
 以下に、実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1にかかる数値制御装置1を備える工作機械20の構成例を示す図である。工作機械20は、数値制御装置1と、操作盤2と、モニタ3と、駆動部4とを備える。操作盤2、モニタ3、および駆動部4の各々は、数値制御装置1に接続されている。数値制御装置1は、操作盤2およびモニタ3との通信を行いながら、数値制御プログラムの記述に従って駆動部4へ指令を送る。
 操作盤2は、例えば、キーボード、マウス、キーパッド、またはタッチパネルなどの入力機器を備える。操作盤2は、工作機械20のユーザによる操作を受け付け、操作の内容を示す情報を数値制御装置1へ送信する。モニタ3は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどである。モニタ3は、数値制御装置1によって処理された情報を画面に表示する。
 駆動部4は、モータ駆動部11とサーボモータ12とを備える。モータ駆動部11は、数値制御装置1の指令に基づいてサーボモータ12を駆動する。図1では、モータ駆動部11とサーボモータ12との組を2つ示しているが、駆動部4に設けられるモータ駆動部11とサーボモータ12との組の数は任意であるものとする。
 数値制御装置1は、プログラムメモリ5と、解析処理部6と、制御処理部7と、駆動処理部8と、入出力処理部9と、表示処理部10とを備える。数値制御プログラムは、プログラムメモリ5に記憶される。数値制御プログラムは、複数のブロックから構成される。
 解析処理部6は、数値制御プログラムをブロックごとに順次解析する。解析処理部6は、プログラムカウンタが示すブロックを数値制御プログラムから読み込み、ブロックを解析する。プログラムカウンタは、次に実行するブロックの位置を示すアドレスを記憶するレジスタである。解析処理部6は、プログラムカウンタに記憶されているアドレスにより示される位置からブロックを読み出す。
 解析処理部6に読み込まれたブロックが軸移動を伴わないブロックである場合、解析処理部6は、続けて次のブロックの読み込みおよび解析を行う。解析処理部6に読み込まれたブロックが軸移動を伴うブロックである場合、解析処理部6は、解析結果を制御処理部7へ送る。
 制御処理部7は、解析処理部6での解析結果に基づいて、制御対象である駆動部4を駆動させる指令を生成する。制御処理部7は、例えば、駆動部4の駆動による移動の目標とする座標、または、移動速度の指令などを生成する。制御処理部7は、生成した指令を駆動処理部8へ送る。駆動処理部8は、制御処理部7で生成された指令を基に、各サーボモータ12を制御する指令を生成する。駆動処理部8は、生成された指令を各モータ駆動部11へ送る。
 入出力処理部9は、操作盤2から情報が入力される際における処理と、操作盤2へ情報を出力する際における処理とを実行する。表示処理部10は、数値制御装置1で処理された情報をモニタ3で表示する際における処理を実行する。表示処理部10は、表示のための情報をモニタ3へ出力し、モニタ3からの情報が入力される。解析処理部6と制御処理部7と駆動処理部8とがいずれも処理を実行していないときに、入出力処理部9または表示処理部10の処理が実行される。
 解析処理部6は、数値制御プログラムの実行を進める条件を示す記述を含む条件待ちブロックが読み込まれた場合に、条件が成立するまで条件の成否の判定を繰り返す。条件待ちブロックには、数値制御プログラムの実行を条件待ちブロックよりも後のブロックに進める条件が記述されている。条件待ちブロックには、数値制御プログラムの実行を進める条件を示す条件式が記述されている。解析処理部6は、条件が成立するまでにおいて、条件式が記述されているブロックである条件待ちブロックを、1回目および2回目以降の条件の成否の判定よりも前に解析する。
 例えば、解析処理部6は、1回目の条件判定の前に、条件式が記述されているブロックを解析した後、2回目以降の条件判定の前においても、条件式が記述されているブロックを解析する。このとき、解析処理部6は、2回目以降の条件判定の前において、条件式が記述されているブロックを毎回解析するようにしても良いし、条件式が記述されているブロックを少なくとも1回以上解析するようにしても良い。また、解析処理部6は、条件式が記述されているブロックのみを解析するようにしても良いし、条件式のみを解析するようにしても良い。解析処理部6は、条件待ちブロックが読み込まれた場合において、条件が不成立であればプログラムカウンタを更新せずに次の判定を行い、条件が成立であればプログラムカウンタを更新する。
 条件式には、演算子が含まれていても良い。この場合、解析処理部6は、演算子を含む条件式を演算する。条件式が記述されている条件待ちブロックのフォーマットの例と、演算子が含まれる条件待ちブロックの例とを以下に示す。
  WAIT[条件式]
  (例)WAIT[#3013 EQ 1] (#3013が1になるまで待つ)
 次に、解析処理部6が実行する処理について説明する。図2は、実施の形態1にかかる数値制御装置1の解析処理部6が実行する処理の手順を示すフローチャートである。
 ステップS1において、解析処理部6は、プログラムカウンタが示すブロックを読み込む。ステップS2において、解析処理部6は、ステップS1において読み込んだブロックを解析する。解析処理部6は、ブロックに示される命令の内容を解析する。解析処理部6は、条件式に演算子が含まれている場合、解析により条件式の演算結果を取得する。
 ステップS3において、解析処理部6は、ステップS2において解析された命令の内容が条件待ちであるか否かを判断する。すなわち、解析処理部6は、ステップS1において読み込まれたブロックが条件待ちブロックであるか否かを判断する。ここで、条件待ちブロックが、上述のフォーマットに示されるWAITブロックであるとする。解析処理部6は、読み込まれたブロックがWAITブロックである場合に、読み込まれたブロックは条件待ちブロックであるものと判断する。命令の内容が条件待ちである場合(ステップS3,Yes)、解析処理部6は、ステップS4へ手順を進める。一方、命令の内容が条件待ちではない場合(ステップS3,No)、解析処理部6は、ステップS5へ手順を進める。
 ステップS4において、解析処理部6は、条件式が成立しているか否かを判断する。すなわち、解析処理部6は、条件判定を行う。条件式が成立している場合(ステップS4,Yes)、解析処理部6は、ステップS6へ手順を進める。一方、条件式が成立していない場合(ステップS4,No)、解析処理部6は、図2に示す手順による処理を終了する。解析処理部6は、条件式が成立していない場合には、プログラムカウンタを更新せずに解析処理を終了し、次回の解析処理にて再度条件式の解析を行う。
 ステップS5において、解析処理部6は、条件待ちブロックではないと判断されたブロックについて、命令に示される処理を実行する。解析処理部6は、ステップS5を終えると、ステップS6へ手順を進める。
 ステップS6において、解析処理部6は、次に実行されるブロックへプログラムカウンタを更新する。次に、ステップS7において、解析処理部6は、軸移動を伴う命令に到達したか、または、解析の回数が最大回数に到達したかを判断する。解析の回数の最大回数は、あらかじめ設定されるものとする。
 軸移動を伴う命令に到達しておらず、かつ、解析の回数が最大回数に到達していない場合(ステップS7,No)、解析処理部6は、ステップS1へ手順を戻す。解析処理部6は、次のブロックの読み込みおよび解析を行う。一方、軸移動を伴う命令に到達したか、または、解析の回数が最大回数に到達した場合(ステップS7,Yes)、解析処理部6は、図2に示す手順による処理を終了する。
 数値制御装置1は、条件が成立するまでに複数回の解析処理が実行される場合、解析処理以外の処理を実行できる時間が限られることとなるため、例えば、画面表示の更新におけるリアルタイム性を確保することが困難となる。または、外部機器との通信におけるリアルタイム性を確保することが困難となる。
 実施の形態1によると、解析処理部6は、条件が成立していない場合、プログラムカウンタを更新せずに解析処理を終了する。解析処理部6が一回の解析処理において解析を行うブロックは1個のブロックのみであることから、数値制御装置1は、一回の解析処理において複数のブロックの解析が必要である場合と比べて、解析処理の負荷を低減できる。数値制御装置1は、解析処理の負荷を低減できることによって、数値制御装置1の処理能力の殆どが解析処理に費やされる事態を回避することができる。これにより、数値制御装置1は、解析処理以外の処理のための処理能力を十分に確保することが可能となる。
 図3は、実施の形態1の比較例にかかる数値制御装置における処理時間の例について説明するための図である。図4は、実施の形態1にかかる数値制御装置1における処理時間の例について説明するための図である。図3および図4において、横軸は時間を表す。図3および図4では、処理が実行される時間の長さを、ハッチングを付した矩形により表す。図3および図4において、解析処理と、制御処理または駆動処理と、その他の処理とは、1周期において行われるものとする。1周期とは、例えば、割り込み信号が入力される周期である。
 図4には、実施の形態1において解析処理が実行される時間と、制御処理または駆動処理が実行される時間との例と、その他の処理が実行される時間の例とを示す。解析処理は、解析処理部6が実行する処理である。制御処理は、制御処理部7が実行する処理である。駆動処理は、駆動処理部8が実行する処理である。その他の処理は、数値制御装置1が実行する処理のうち、解析処理、制御処理、および駆動処理以外の処理である。その他の処理には、入出力処理部9が実行する処理である入出力処理と、表示処理部10が実行する処理である表示処理とが含まれる。
 図3には、一回の解析処理において無限ループのWHILEブロックからENDブロックまでの全てのブロックが解析される場合の例を示す。図3には、解析処理が実行される時間と、制御処理または駆動処理が実行される時間との例と、その他の処理が実行される時間の例とを示す。
 図3に示す比較例の場合、数値制御装置による処理時間の大半が解析処理により占められている。このため、その他の処理が実行される処理時間が、解析処理が実行される処理時間に比べて著しく短い。一方、図4に示す実施の形態1では、図3に示す比較例の場合と比べて、解析処理が実行される処理時間が大幅に短縮されている。このため、図4に示す実施の形態1では、図3に示す比較例の場合と比べて、その他の処理が実行される処理時間を増やすことが可能となる。
 このように、実施の形態1によると、数値制御装置1は、解析処理の負荷を低減できることによって、その他の処理のための処理能力を十分に確保することが可能となる。数値制御装置1は、処理能力の確保によって、その他の処理についてのリアルタイム性を確保可能となる。例えば、数値制御装置1は、画面表示の更新におけるリアルタイム性、または、外部機器との通信におけるリアルタイム性を確保することが可能となる。
 実施の形態1によると、解析処理部6は、条件待ちブロックが読み込まれた場合に、例えば無限ループを続けるか否かの判定である条件判定よりも前に、条件待ちブロックに示される命令の内容を解析する。解析処理部6は、条件待ちブロックに記述されている条件式を条件判定よりも前に解析するため、その都度の演算が必要となるような条件についての条件判定を行い得る。このため、数値制御装置1は、さまざまな条件についての条件待ちを実現させることができる。さらに、条件式が記述されているブロックのみまたは条件式のみが、条件判定よりも前に解析されることとなるため、条件待ちプログラムに記述されるブロックの数が削減される。ブロックの数の削減によって、数値制御プログラムの可読性の向上、および、数値制御プログラムのメンテナンス性の向上が可能となる。
 条件待ちブロックには、条件の成立を待機する時間の制限時間が記述されても良い。以下に示すように、条件待ちブロックには、制限時間の引数が追加されても良い。
  WAIT[条件式,制限時間]
 解析処理部6は、制限時間が記述される場合、条件の成立の待機を開始してから制限時間が経過した場合に、条件の成立の待機を終了する。
 数値制御装置1は、制限時間内において条件が成立しない場合において、条件不成立を数値制御装置1の外部へ通知することとしても良い。または、数値制御装置1は、制限時間において条件が成立しない場合に、安全な位置への軸移動を駆動部4へ指示することとしても良い。このような動作を可能とするために、解析処理部6は、制限時間において条件が成立しない場合において、あらかじめ指定されたプログラムを実行することとしても良い。ユーザは、制限時間において条件が成立しない場合に実行させるプログラムとして任意のプログラムを指定できる。これにより、制限時間において条件が成立しない場合に任意の動作を数値制御装置1に行わせることができる。
 または、解析処理部6は、条件が成立した場合において、あらかじめ指定されたプログラムを実行することとしても良い。ユーザは、条件が成立した場合に実行させるプログラムとして任意のプログラムを指定できる。これにより、条件が成立した場合に任意の動作を数値制御装置1に行わせることができる。このように、解析処理部6は、条件が成立した場合と、制限時間において条件が成立しない場合との少なくとも一方において、あらかじめ指定されたプログラムを実行しても良い。
 制限時間が記述されている条件待ちブロックのフォーマットの例と、制限時間が記述されている条件待ちブロックの例とを以下に示す。また、以下の例では、条件式成立時の指令と制限時間経過時の指令とが含まれるものとする。条件式成立時の指令とは、条件が成立した場合に実行させるプログラムとしてあらかじめ指定されたプログラムを表す。制限時間経過時の指令とは、制限時間において条件が成立しない場合に実行させるプログラムとしてあらかじめ指定されたプログラムを表す。
  WAITIF[条件式,制限時間]
  THEN 条件式成立時の指令
  ELSE 制限時間経過時の指令
  (例)WAITIF[[#1031EQ1]AND[#1032EQ1], 1000]
     THEN GOTO210
     ELSE GOTO999
     N210
     :
     N999
     (#1031と#1032とが1になるまで1000秒間待ち、条件成立時はN210ブロックにジャンプし、制限時間経過時はN999ブロックにジャンプする)
 次に、条件待ちブロックに制限時間が記述されている場合において解析処理部6が実行する処理について説明する。図5は、実施の形態1において条件待ちブロックに制限時間が記述されている場合に解析処理部6が実行する処理の手順を示すフローチャートである。図5には、条件待ちブロックに制限時間が記述されている場合に、図2に示される手順に追加される手順の例を示す。また、ここでは、条件が成立した場合に実行させるプログラムと、制限時間において条件が成立しない場合に実行させるプログラムとの双方が指定されているとする。
 ステップS11において、解析処理部6は、条件は成立しているか否かを判断する。ステップS11は、図2に示すステップS4に相当する。条件が成立している場合(ステップS11,Yes)、解析処理部6は、ステップS12において、条件が成立した場合に実行させるブロックへプログラムカウンタを更新する。ステップS12を終えると、解析処理部6は、図5に示す手順による処理を終了する。条件が成立した場合に実行させるブロックは、上述のTHENブロックである。解析処理部6は、THENブロックの実行後、THENブロックよりも後のブロックを実行する。
 一方、条件が成立していない場合(ステップS11,No)、解析処理部6は、ステップS13において、今回の条件待ちが、条件待ちブロックが読み込まれてから初回の条件待ちであるか否かを判断する。今回の条件待ちが初回の条件待ちである場合(ステップS13,Yes)、解析処理部6は、ステップS14において、時間の計測を開始する。ステップS14を終えると、解析処理部6は、図5に示す手順による処理を終了する。解析処理部6は、時間の計測を継続しながら、ブロックの解析と条件判定とを繰り返す。
 一方、今回の条件待ちが初回の条件待ちではない場合(ステップS13,No)、解析処理部6は、ステップS15において、時間の計測を開始してから制限時間が経過したか否かを判断する。時間の計測を開始してから制限時間が経過した場合(ステップS15,Yes)、解析処理部6は、ステップS16において、制限時間において条件が成立しない場合に実行させるブロックへプログラムカウンタを更新する。制限時間において条件が成立しない場合に実行させるブロックは、上述のELSEブロックである。
 一方、時間の計測を開始してから制限時間が経過していない場合(ステップS15,No)、解析処理部6は、図5に示す手順による処理を終了する。解析処理部6は、時間の計測を継続しながら、ブロックの解析と条件判定とを繰り返す。
 なお、条件式成立時の指令と制限時間経過時の指令とは、以下に示すように条件待ちブロックと同一の行に記載できるようにしても良い。この場合、数値制御プログラムを画面に表示する際において、一度に表示できるブロックを増やすことができる。
  WAITIF[条件式,制限時間]THEN 条件式成立時の指令 ELSE 制限時間経過時の指令
 条件式成立時の指令と制限時間経過時の指令との各々は、以下に示すように複数のブロックに記載できるようにしても良い。すなわち、解析処理部6は、条件が成立した場合に実行させる複数のブロックと制限時間において条件が成立しない場合に実行させる複数のブロックとの少なくとも一方が含まれる条件待ちブロックを実行しても良い。この場合、解析処理部6は、よりさまざまな使用状況に対応可能とする条件待ちプログラムを実行することができる。
  WAITIF[条件式,制限時間]THEN
  条件式成立時の指令1
  :
  条件式成立時の指令n
  ELSE
  制限時間経過時の指令1
  :
  制限時間経過時の指令m
  ENDIF
 実施の形態1によると、解析処理部6は、条件待ちブロックが読み込まれた場合に、条件が成立するまで条件の成否の判定を繰り返す。解析処理部6は、条件が成立するまでにおいて、条件式が記述されているブロックのみまたは条件式のみを、条件判定よりも前に解析する。数値制御装置1は、一回の解析処理において複数のブロックの解析が必要である場合と比べて、解析処理の負荷を低減できる。また、数値制御装置1は、演算が必要となるような条件についての条件判定を行い得ることによって、条件待ちプログラムを使用できる条件に制限が設けられなくても良くなる。すなわち、数値制御装置1は、さまざまな条件についての条件待ちを実現させることができる。以上により、数値制御装置1は、解析処理の負荷を低減し、かつ、条件待ちプログラムの使用条件が制限されないという効果を奏する。
 次に、実施の形態1にかかる数値制御装置1を実現するハードウェアについて説明する。数値制御装置1の処理部である、解析処理部6、制御処理部7、駆動処理部8、入出力処理部9、および表示処理部10は、処理回路により実現される。処理回路は、プロセッサがソフトウェアを実行する回路であっても良いし、専用の回路であっても良い。
 処理回路がソフトウェアにより実現される場合、処理回路は、例えば、図6に示す制御回路である。図6は、実施の形態1にかかる制御回路30の構成例を示す図である。制御回路30は、入力部31、プロセッサ32、メモリ33、および出力部34を備える。入力部31は、制御回路30の外部から入力されたデータを受信してプロセッサ32に与えるインターフェース回路である。入力部31には、操作盤2およびモニタ3の各々からの情報が入力される。出力部34は、プロセッサ32またはメモリ33からのデータを制御回路30の外部に送るインターフェース回路である。出力部34は、操作盤2およびモニタ3の各々へ情報を出力する。
 処理回路が図6に示す制御回路30である場合、数値制御装置1の処理部は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ33に格納される。処理回路では、メモリ33に記憶されたプログラムをプロセッサ32が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、数値制御装置1の処理が結果的に実行されることになるプログラムを格納するためのメモリ33を備える。また、これらのプログラムは、数値制御装置1の手順および方法をコンピュータに実行させるものであるともいえる。上述のプログラムカウンタは、プロセッサ32に備えられる。
 プロセッサ32は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはDSP(Digital Signal Processor)である。メモリ33は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disc)等が該当する。プログラムメモリ5は、メモリ33により実現される。
 図6は、汎用のプロセッサ32およびメモリ33により各構成要素を実現する場合のハードウェアの例であるが、各構成要素は、専用のハードウェア回路により実現されても良い。図7は、実施の形態1にかかる専用のハードウェア回路35の構成例を示す図である。
 専用のハードウェア回路35は、入力部31、出力部34および処理回路36を備える。処理回路36は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路である。数値制御装置1の各機能を機能別に処理回路36で実現しても良いし、各機能をまとめて処理回路36で実現しても良い。なお、各構成要素は、制御回路30とハードウェア回路35とが組み合わされて実現されても良い。
 以上の実施の形態に示した構成は、本開示の内容の一例を示すものである。実施の形態の構成は、別の公知の技術と組み合わせることが可能である。本開示の要旨を逸脱しない範囲で、実施の形態の構成の一部を省略または変更することが可能である。
 1 数値制御装置、2 操作盤、3 モニタ、4 駆動部、5 プログラムメモリ、6 解析処理部、7 制御処理部、8 駆動処理部、9 入出力処理部、10 表示処理部、11 モータ駆動部、12 サーボモータ、20 工作機械、30 制御回路、31 入力部、32 プロセッサ、33 メモリ、34 出力部、35 ハードウェア回路、36 処理回路。

Claims (5)

  1.  プログラムカウンタが示すブロックを数値制御プログラムから読み込み、前記ブロックを解析する解析処理部と、
     前記解析処理部での解析結果に基づいて、制御対象を駆動させる指令を生成する制御処理部と、を備え、
     前記解析処理部は、前記数値制御プログラムの実行を進める条件を示す条件式が記述されている条件待ちブロックが読み込まれた場合に、前記条件が成立するまで前記条件の成否の判定を繰り返し、前記条件が成立するまでにおいて、前記条件待ちブロックを、1回目および2回目以降の前記条件の成否の判定よりも前に解析することを特徴とする数値制御装置。
  2.  前記解析処理部は、演算子を含む前記条件式を演算することを特徴とする請求項1に記載の数値制御装置。
  3.  前記条件待ちブロックには、前記条件の成立を待機する時間の制限時間が記述されており、
     前記解析処理部は、前記条件の成立の待機を開始してから前記制限時間が経過した場合に、前記条件の成立の待機を終了することを特徴とする請求項1または2に記載の数値制御装置。
  4.  前記解析処理部は、前記条件が成立した場合と、前記制限時間において前記条件が不成立である場合との少なくとも一方において、あらかじめ指定されたプログラムを実行することを特徴とする請求項3に記載の数値制御装置。
  5.  前記解析処理部は、前記条件が成立した場合に実行させる複数のブロックと前記制限時間において前記条件が不成立である場合に実行させる複数のブロックとの少なくとも一方が含まれる前記条件待ちブロックを実行することを特徴とする請求項4に記載の数値制御装置。
PCT/JP2023/009784 2023-03-14 2023-03-14 数値制御装置 Ceased WO2024189762A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2023546558A JP7462849B1 (ja) 2023-03-14 2023-03-14 数値制御装置
US19/117,661 US20260003343A1 (en) 2023-03-14 2023-03-14 Numerical control device
CN202380074021.5A CN120077336A (zh) 2023-03-14 2023-03-14 数控装置
DE112023004499.6T DE112023004499B4 (de) 2023-03-14 2023-03-14 Numerisches Steuergerät
PCT/JP2023/009784 WO2024189762A1 (ja) 2023-03-14 2023-03-14 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/009784 WO2024189762A1 (ja) 2023-03-14 2023-03-14 数値制御装置

Publications (1)

Publication Number Publication Date
WO2024189762A1 true WO2024189762A1 (ja) 2024-09-19

Family

ID=90526544

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/009784 Ceased WO2024189762A1 (ja) 2023-03-14 2023-03-14 数値制御装置

Country Status (5)

Country Link
US (1) US20260003343A1 (ja)
JP (1) JP7462849B1 (ja)
CN (1) CN120077336A (ja)
DE (1) DE112023004499B4 (ja)
WO (1) WO2024189762A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108209A (ja) * 2001-09-27 2003-04-11 Toyoda Mach Works Ltd 数値制御装置
JP2014063389A (ja) * 2012-09-21 2014-04-10 Fanuc Ltd 系統間待合せ機能を有する数値制御装置
WO2022154049A1 (ja) * 2021-01-18 2022-07-21 ファナック株式会社 数値制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303355A (en) * 1991-03-27 1994-04-12 Motorola, Inc. Pipelined data processor which conditionally executes a predetermined looping instruction in hardware
JPH1031509A (ja) * 1996-07-15 1998-02-03 Mitsubishi Electric Corp 数値制御装置
GB2343973B (en) * 1998-02-09 2000-07-12 Mitsubishi Electric Corp Data processing device for scheduling conditional operation instructions in a program sequence
JP2008219425A (ja) * 2007-03-02 2008-09-18 Ricoh Co Ltd 画像処理装置および画像処理方法
CN108121566A (zh) * 2017-12-06 2018-06-05 中国航空工业集团公司西安航空计算技术研究所 一种图形指令解析设计方法
JP7260420B2 (ja) * 2019-06-28 2023-04-18 ファナック株式会社 数値制御装置
JP7380390B2 (ja) * 2020-03-31 2023-11-15 オムロン株式会社 制御装置、プログラムおよび制御方法
CN111708525B (zh) * 2020-06-24 2021-07-30 华中科技大学 一种基于xml工业机器人图形化编程系统解释器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108209A (ja) * 2001-09-27 2003-04-11 Toyoda Mach Works Ltd 数値制御装置
JP2014063389A (ja) * 2012-09-21 2014-04-10 Fanuc Ltd 系統間待合せ機能を有する数値制御装置
WO2022154049A1 (ja) * 2021-01-18 2022-07-21 ファナック株式会社 数値制御装置

Also Published As

Publication number Publication date
DE112023004499B4 (de) 2026-01-29
US20260003343A1 (en) 2026-01-01
CN120077336A (zh) 2025-05-30
JP7462849B1 (ja) 2024-04-05
DE112023004499T5 (de) 2025-08-21
JPWO2024189762A1 (ja) 2024-09-19

Similar Documents

Publication Publication Date Title
JP4311349B2 (ja) 数値制御システム
JP7462849B1 (ja) 数値制御装置
CN114665757A (zh) 电机无限旋转绝对位置计算方法、设备及存储介质
JPS58222357A (ja) 駆動制御プログラムデバツグ方式
JP2867170B2 (ja) 処理時間表示機能を備えた情報処理装置
JP2880658B2 (ja) マルチタスクプログラムの暴走検出装置
JPH0736510A (ja) プログラマブルコントローラ
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2005301334A (ja) モーションコントローラ
JP3063593B2 (ja) プログラマブルコントローラ
JP3024719B2 (ja) プログラマブルコントローラの演算処理方法
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JPH09325808A (ja) 駆動機器の制御方法
JP2000039906A (ja) プログラマブルコントローラ
JPH04275603A (ja) プログラマブル・コントローラ
JPS595354A (ja) デ−タ処理装置
KR20000015210A (ko) 복수개의 부트 프로그램을 구비하는 컴퓨터 시스템 및 그의 부팅 방법
JP2614015B2 (ja) ディスク制御装置
JPH08272405A (ja) シーケンス制御装置
JPS63195736A (ja) パイプライン制御のための分岐命令処理装置
JPH07281924A (ja) トレース装置及びこれを備えたエミュレータ
JP2004260890A (ja) 多軸モータ制御装置
JP2007219638A (ja) デバッグシステムおよびプロセッサ
JPH07160534A (ja) プログラム制御装置
JPH03105529A (ja) Psw形式エラー制御回路

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023546558

Country of ref document: JP

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

Ref document number: 23927383

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202380074021.5

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 202380074021.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112023004499

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 112023004499

Country of ref document: DE