JP2007164509A - Numeric controller - Google Patents

Numeric controller Download PDF

Info

Publication number
JP2007164509A
JP2007164509A JP2005360470A JP2005360470A JP2007164509A JP 2007164509 A JP2007164509 A JP 2007164509A JP 2005360470 A JP2005360470 A JP 2005360470A JP 2005360470 A JP2005360470 A JP 2005360470A JP 2007164509 A JP2007164509 A JP 2007164509A
Authority
JP
Japan
Prior art keywords
speed
command
program
blocks
movement
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.)
Pending
Application number
JP2005360470A
Other languages
Japanese (ja)
Inventor
Eiji Genma
栄治 弦間
Katsuhiro Endo
勝博 遠藤
Takahiko Endo
貴彦 遠藤
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.)
Fanuc Corp
Original Assignee
Fanuc 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
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2005360470A priority Critical patent/JP2007164509A/en
Publication of JP2007164509A publication Critical patent/JP2007164509A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a numeric controller achieving stable movement even when blocks for commanding minute movement are continued. <P>SOLUTION: A temporary program which does not perform axial movement is executed. In the execution of the temporary program, the number N of blocks to be prefetched within a time for current distribution processing is obtained (S15), distance of a movement command in each block is integrated until the number N of blocks to be prefetched is reached to obtain an integrated moving distance L (S7 to S10). A possible output velocity Va is obtained from the integrated moving distance L (S11). This is repeated and a minimum possible output velocity Va is obtained (S12 and S13). The smaller one out of the minimum possible output velocity and a velocity command commanded by a program is used as a velocity command when executing the program (S16 to S19). Thus, even when an small of movement is commanded in each block, the movement does not stop but stable movement is achieved. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、工作機械等の各種機械を制御する数値制御装置に関する。   The present invention relates to a numerical controller that controls various machines such as machine tools.

数値制御装置においては、加工プログラムで指令された指令ブロックを1つずつ読み込んで解釈し実行可能なデータに変換する先読み処理を行う。この先読み処理で得られた実行データに基づいて補間処理部で補間分配処理して各軸サーボモータの制御部に移動指令を出力する。
しかし、短い距離の移動指令が連続するときなど、補間分配処理が終了したにも拘わらず、次のブロックの指令に対する先読み処理が終了していない場合には、補間分配処理ができず、動作が停止する場合がある。
In the numerical control device, a pre-read process is performed in which command blocks instructed by the machining program are read one by one, interpreted, and converted into executable data. Based on the execution data obtained by the pre-reading process, the interpolation processing unit performs interpolation distribution processing and outputs a movement command to the control unit of each axis servo motor.
However, if the pre-reading process for the next block command is not completed despite the completion of the interpolation distribution process, such as when a short distance movement command is continued, the interpolation distribution process cannot be performed and the operation May stop.

指令速度が一定で、短い距離の移動指令のブロックが連続するような場合において、1つのブロックで指令された移動距離をプログラム指令速度で移動させる処理時間は、指令移動距離を指令速度で割った時間である。この時間が、次のブロックの前処理等に要する許容最小移動時間より小さいと、モータの移動が停止してしまい、断続的な移動となる。   When the command speed is constant and a short distance movement command block continues, the processing time for moving the movement distance commanded by one block at the program command speed is calculated by dividing the command movement distance by the command speed. It's time. If this time is smaller than the minimum allowable movement time required for the preprocessing of the next block, the movement of the motor is stopped, resulting in intermittent movement.

そこで、特許文献1に記載された発明は、ブロックの指令移動距離を許容最小移動時間で割って許容最大送り速度を求め、加工プログラムで指令された送り速度がこの許容最大送り速度よりも大きいときには、実際の送り速度を求めた許容最大送り速度とし補間処理を行っている。   Therefore, the invention described in Patent Document 1 calculates the allowable maximum feed speed by dividing the command travel distance of the block by the permissible minimum travel time, and when the feed speed commanded by the machining program is larger than the permissible maximum feed speed. The interpolation processing is performed with the allowable maximum feed speed obtained from the actual feed speed.

しかし、この方法では、各ブロック毎に速度が変化し、滑らかな移動ができないという問題がある。そのため、先読み処理部の先読み処理時間に対応して1ブロックで指令された移動距離だけ移動するときに停止することなく移動できる許容最小移動時間をtaとし、先読み処理部において予め設定されたブロックnをプログラムより読み取り、総移動距離Lと速度制御係数Kから許容最大送り速度Vaを
Va=(L/(ta・n))・K
として求め、指令送り速度Fが許容最大送り速度Vaよりも大きいときには、実際の送り速度を許容最大送り速度Vaとする方法が提案されている(特許文献2参照)。
However, this method has a problem that the speed changes for each block and smooth movement is impossible. Therefore, the allowable minimum movement time that can be moved without stopping when moving by the movement distance commanded in one block corresponding to the prefetch processing time of the prefetch processing section is set to ta, and the block n set in advance in the prefetch processing section is set. Is read from the program, and the allowable maximum feed speed Va from the total movement distance L and the speed control coefficient K is Va = (L / (ta · n)) · K
When the command feed speed F is larger than the permissible maximum feed speed Va, a method is proposed in which the actual feed speed is set to the permissible maximum feed speed Va (see Patent Document 2).

特開平7−191728号公報JP-A-7-191728 特許第3188396号公報Japanese Patent No. 3188396

しかしながら、先読みブロック数は実行中のブロックの処理時間によって変動するため、予め指定するブロック数を適切に決定することが難しいという問題がある。
そこで、本発明の目的は、短い距離の移動指令のブロックが連続するような加工プログラムにおいても、移動が停止することなく滑らかに移動して安定した加工を可能にする数値制御装置を提供することにある。
However, since the number of prefetch blocks varies depending on the processing time of the block being executed, there is a problem that it is difficult to appropriately determine the number of blocks designated in advance.
Accordingly, an object of the present invention is to provide a numerical control device that enables smooth machining by smoothly moving without stopping movement even in a machining program in which blocks of movement commands for a short distance are continuous. It is in.

本発明は、加工プログラムを軸移動なしに実行する仮プログラム実行手段を備え、該仮プログラム実行手段は、加工プログラムを実行し、加工プログラムの各ブロック実行中に先読み可能なブロック数毎の移動量を積算する移動距離算出手段と、該移動距離算出手段によって求められた移動量と数値制御装置の分配周期から、該先読みブロック数毎の出力可能な速度を求める出力可能速度算出手段と、該出力可能速度算出手段によって求められた速度の中で、最低の速度を求める実加工速度算出手段と、該実加工速度算出手段によって求められた送り速度とプログラム指令速度を比較して、プログラム指令速度が大きい場合、プログラム指令速度を該実加工速度算出手段によって求められた最低の速度指令に置換える速度指令調整手段とを有し、該仮プログラム実行手段で求められた速度指令で軸移動を伴う実際の加工プログラムの実行を可能としたものである。又、加工プログラム中に速度指令の変更がある毎に速度指令の置き換えを実行するようにした。さらに、予め設定された速度調整領域を設定しておき、この設定された速度調整領域毎に指令速度の置き換えを実行するようにした。   The present invention includes provisional program execution means for executing a machining program without moving the axis, and the provisional program execution means executes the machining program, and the amount of movement for each number of blocks that can be prefetched during execution of each block of the machining program. A travel distance calculation means for summing up, a possible output speed calculation means for obtaining a speed that can be output for each number of prefetch blocks from the travel amount obtained by the travel distance calculation means and the distribution cycle of the numerical controller, and the output The actual machining speed calculation means for obtaining the lowest speed among the speeds obtained by the possible speed calculation means, the feed speed obtained by the actual machining speed calculation means and the program command speed are compared, and the program command speed is In the case of a larger value, there is a speed command adjusting means for replacing the programmed command speed with the lowest speed command obtained by the actual machining speed calculating means. It is obtained by allowing the execution of actual machining program with the shaft moves at a speed command obtained in the temporary program executing means. In addition, each time the speed command is changed in the machining program, the speed command is replaced. Furthermore, a preset speed adjustment area is set, and the command speed is replaced for each set speed adjustment area.

微小の移動量を指令するブロックが連続している場合で、移動を停止させることなく安定した移動を実現できる。   A stable movement can be realized without stopping the movement in a case where blocks for commanding a minute movement amount are continuous.

以下、本発明の一実施形態を図面と共に説明する。
図1は、本発明の各実施形態の数値制御装置の要部ブロック図である。本発明は、仮プログラム実行手段を備える点で従来の数値制御装置と相違するものであり、この各実施形態では、仮プログラム実行モード、すなわち仮プログラム実行手段を選択する選択スイッチ7と安定した加工をするための加工速度指令を求める速度算出手段8が従来の数値制御装置に追加されているものである。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a principal block diagram of a numerical controller according to each embodiment of the present invention. The present invention is different from the conventional numerical control device in that it includes provisional program execution means. In each of the embodiments, a provisional program execution mode, that is, a selection switch 7 for selecting provisional program execution means and stable machining are provided. A speed calculation means 8 for obtaining a machining speed command for performing the above is added to the conventional numerical control device.

従来の数値制御装置では、選択スイッチ7,速度算出手段8はなく、先読み処理部2で記憶装置に記憶された加工プログラム1から順次ブロックの指令を先読みし、そのブロックの指令を解釈して実行データを作成する。この先読み処理部2で作成された実行データに基づいて補間部3は、補間分配処理を行いX,Y,Z軸のサーボ制御部4,5,6に移動指令を分配するものである。   In the conventional numerical control device, there is no selection switch 7 and speed calculation means 8, and the prefetch processing unit 2 prefetches block commands sequentially from the machining program 1 stored in the storage device, and interprets and executes the block commands. Create data. Based on the execution data created by the prefetch processing unit 2, the interpolation unit 3 performs interpolation distribution processing and distributes the movement command to the servo control units 4, 5, and 6 on the X, Y, and Z axes.

本各実施形態では、X,Y,Z軸のサーボ制御部4,5,6に移動指令を出力して軸を移動させることなく、加工プログラムを実行し安定した加工ができる速度指令を得る仮プログラム実行手段が設けられているものであり、この仮プログラム実行手段は、先読み処理部2及び速度算出手段8で構成されるものである。   In each of the embodiments, a temporary command for obtaining a speed command capable of executing a machining program and performing stable machining without outputting a movement command to the servo control units 4, 5, and 6 for the X, Y, and Z axes and moving the axes. A program execution unit is provided, and the temporary program execution unit includes the prefetch processing unit 2 and the speed calculation unit 8.

仮プログラム実行モードが選択されると選択スイッチ7は先読み処理部2と速度算出手段8を接続するように選択され、加工プログラム1を仮実行する。すなわち、先読み処理部2で加工プログラム1よりブロックを順次読み出し実行データに変換する。速度算出手段8では、この実行データより、安定した加工ができる指令速度を求め記憶する。そして、実際に加工プログラムを実行するときには、補間部3はこの記憶した指令速度に基づいて、補間分配処理を実行するようにしたものである。   When the temporary program execution mode is selected, the selection switch 7 is selected so as to connect the prefetch processing unit 2 and the speed calculation means 8, and the machining program 1 is temporarily executed. That is, the prefetch processing unit 2 sequentially reads blocks from the machining program 1 and converts them into execution data. The speed calculation means 8 obtains and stores a command speed capable of stable machining from the execution data. When the machining program is actually executed, the interpolation unit 3 executes the interpolation distribution process based on the stored command speed.

図2、図3は、第1の実施形態の数値制御装置が仮プログラム実行時において速度算出手段8として実行する処理のフローチャートである。
仮プログラム実行指令が入力されると数値制御装置のプロセッサは、まず、指令ブロック長を積算するレジスタをクリアし、かつ読み出しブロック数を計数するカウンタをクリアする(ステップS1)。次に、加工プログラムを読み出し、読み出しブロック数のカウンタに1加算する(ステップS2)。そして読み出したブロックで指令された移動距離を積算し積算移動距離Lを求める(ステップS3)。次に、読み出したブロック数が予め設定されている先読みブロック数Nsに達したか判断し(ステップS4)、達してなければステップS2に戻りステップS2〜S4の処理を繰り返し実行する。なお、読み込んだブロックの指令が移動指令ではない場合には読み出しブロック数を計数のカウンタに1加算しない。
2 and 3 are flowcharts of processing executed by the numerical control device of the first embodiment as the speed calculation means 8 when the temporary program is executed.
When a temporary program execution command is input, the processor of the numerical controller first clears a register that accumulates command block lengths and clears a counter that counts the number of read blocks (step S1). Next, the machining program is read, and 1 is added to the counter of the number of read blocks (step S2). Then, the movement distances commanded by the read block are integrated to obtain an integrated movement distance L (step S3). Next, it is determined whether the number of read blocks has reached a preset number of prefetched blocks Ns (step S4). If not reached, the process returns to step S2 and the processes of steps S2 to S4 are repeatedly executed. If the read block command is not a movement command, the number of read blocks is not incremented by 1 in the counting counter.

読み出したブロック数を計数するカウンタの値が予め設定された数Nsに達している場合には、ステップS3で求めた積算移動距離Lと前処理時間とプログラム指令速度より先読み可能なブロック数Nを求め、先読み可能ブロック数を記憶するレジスタに記憶する(ステップS5)。すなわち、積算移動距離Lをプログラム指令速度で割れば、プログラム指令速度で積算移動距離Lを移動したときに要する時間が求められ、この時間を各ブロックの前処理時間で割れば、先読み可能なブロック数Nが求まり、これをレジスタに記憶する。   When the value of the counter that counts the number of read blocks has reached a preset number Ns, the number N of blocks that can be prefetched from the integrated movement distance L, the preprocessing time, and the program command speed determined in step S3 is calculated. It is obtained and stored in a register for storing the number of prefetchable blocks (step S5). That is, if the accumulated movement distance L is divided by the program command speed, the time required when the accumulated movement distance L is moved at the program command speed is obtained. If this time is divided by the preprocessing time of each block, a pre-readable block is obtained. The number N is obtained and stored in a register.

次に、出力可能速度を記憶するレジスタAに記憶できる最大値を格納し(ステップS6)、指令ブロック長の積算値を記憶するレジスタ及び読み出しブロック数を計数するカウンタをクリアし(ステップS7)、加工プログラムより次の1ブロックを読み出し、読み出しブロック数のカウンタに1加算する(ステップS8)。なお、この場合もブロックの指令が移動指令でない場合には、読み出しブロック数のカウンタに1加算しない。読み出したブロックで指令された移動距離を、指令ブロック長の積算値を記憶するレジスタに加算して積算移動距離Lを求める(ステップS9)。また、読み出しブロック数を計数するカウンタの値がレジスタに記憶されている先読み可能ブロック数Nに達したか、さらにプログラム終了かを判断する(ステップS10)。最初は、このレジスタにはステップS5で求めた先読み可能ブロック数Nが格納されており、この先読み可能ブロック数Nと読み出しブロック数が比較されることになる。   Next, the maximum value that can be stored in the register A that stores the output speed is stored (step S6), the register that stores the integrated value of the command block length and the counter that counts the number of read blocks are cleared (step S7). The next block is read from the machining program, and 1 is added to the counter of the number of read blocks (step S8). In this case, if the block command is not a movement command, 1 is not added to the counter of the number of read blocks. The travel distance commanded in the read block is added to a register that stores the cumulative value of the command block length to determine the cumulative travel distance L (step S9). Further, it is determined whether the value of the counter for counting the number of read blocks has reached the number N of prefetchable blocks stored in the register, and further whether the program is finished (step S10). Initially, this register stores the number of prefetchable blocks N obtained in step S5, and the number of prefetchable blocks N is compared with the number of read blocks.

読み出しブロック数を計数するカウンタの値が先読み可能ブロック数Nに達していなければステップS8に戻りステップS8〜S10の処理を繰り返し実行し、積算移動距離Lを更新し求める。そして、読み出しブロック数が先読み可能ブロック数Nに達すると、またはプログラム終了であると、積算移動距離Lに基づいて出力可能速度Vaを求める(ステップS11)。すなわち、読み出したブロック数に分配周期を掛けた値で積算移動距離Lを割ることによって出力可能速度Vaを求める。   If the value of the counter for counting the number of read blocks has not reached the number of pre-readable blocks N, the process returns to step S8 and the processes of steps S8 to S10 are repeatedly executed to update and calculate the integrated movement distance L. When the number of read blocks reaches the number N of prefetchable blocks or when the program ends, the output possible speed Va is obtained based on the integrated movement distance L (step S11). That is, the output possible speed Va is obtained by dividing the integrated movement distance L by the value obtained by multiplying the number of read blocks by the distribution period.

次に、出力可能速度を記憶するレジスタAの値と算出した出力可能速度Vaを比較し(ステップS12)、レジスタAの値より出力可能速度Vaの方が小さければ、レジスタAにこの出力可能速度Vaを格納する(ステップS13)。なお、出力可能速度VaがレジスタAの値以上であれば、レジスタAの値は更新されない。最初はステップS6でレジスタAには最大値が設定されているので、ステップS11で求めた出力可能速度VaがレジスタAに格納されることになる。   Next, the value of the register A that stores the output possible speed is compared with the calculated output possible speed Va (step S12). If the output possible speed Va is smaller than the value of the register A, the output possible speed is stored in the register A. Va is stored (step S13). If the output possible speed Va is equal to or higher than the value of the register A, the value of the register A is not updated. Initially, since the maximum value is set in the register A in step S6, the output possible speed Va obtained in step S11 is stored in the register A.

そして、プログラム終了か判断し(ステップS14)、終了でなければ、現在の分配処理に要する時間と1ブロック当たりの前処理時間に基づいて、先読み可能なブロック数Nを求め、レジスタ格納し更新する(ステップS15)。すなわち、このステップS15の処理を実行する前にレジスタに記憶するブロック数Nの分配処理に要する時間(N×分配周期時間)を1ブロック当たりの前処理時間で割ることによって、このレジスタに記憶するブロック数の各指令に対する分配補間処理に要する時間内に、先読み可能なブロック数を求めてレジスタに格納し更新し、このレジスタに格納された新たな先読み可能なブロック数Nを次の先読みブロック数とするものである。   Then, it is determined whether or not the program is finished (step S14). If it is not finished, the number N of prefetchable blocks is obtained based on the current time required for distribution processing and the preprocessing time per block, stored in the register and updated. (Step S15). That is, the time required for the distribution processing of N blocks to be stored in the register before executing the processing of step S15 (N × distribution cycle time) is divided by the preprocessing time per block and stored in this register. Within the time required for the distribution interpolation processing for each command of the number of blocks, the number of prefetchable blocks is obtained, stored in the register and updated, and the new prefetchable block number N stored in this register is changed to the next prefetch block number. It is what.

その後、ステップS7に戻り、ステップS7以下の前述した処理を実行するが、ステップS10での判断処理は、ステップS15で求めたレジスタに格納されている先読み可能なブロック数Nと先読みブロック数とが比較判断されることになる。また、ステップS12,S13の処理によって、レジスタAには、ステップS11で求められた出力可能速度Vaの最小値が格納されることになる。   Thereafter, the process returns to step S7, and the above-described processing from step S7 onward is executed. In the determination processing in step S10, the prefetchable block number N and the prefetch block number stored in the register obtained in step S15 are determined. A comparative judgment will be made. In addition, the minimum value of the output possible speed Va obtained in step S11 is stored in the register A by the processing in steps S12 and S13.

ステップS14でプログラム終了と判別されると、レジスタAに格納した最小の出力可能速度Vaとプログラム指令速度を比較し(ステップS16)、プログラム指令速度が小さければ、指令速度Fをプログラム指令速度とし(ステップS17)、最小の出力可能速度Vaがプログラム指令速度以下であれば、指令速度FをレジスタAに記憶する最小の出力可能速度Vaとする(ステップS18)。そして、こうして求めた指令速度Fを記憶し仮プログラム処理は終了する。   If it is determined in step S14 that the program has ended, the minimum output speed Va stored in the register A is compared with the program command speed (step S16). If the program command speed is small, the command speed F is set as the program command speed ( Step S17) If the minimum output possible speed Va is equal to or lower than the program command speed, the command speed F is set to the minimum output possible speed Va stored in the register A (Step S18). Then, the command speed F thus obtained is stored, and the temporary program process ends.

実際に加工を行うために加工プログラム1を実行するときには(選択スイッチ7が補間部3に接続)、数値制御装置のプロセッサは、プログラムで指令された速度指令の代わりに上述した仮プログラム処理によって求められ記憶している指令速度Fによって補間分配処理を実行することになる。   When the machining program 1 is executed to actually perform machining (the selection switch 7 is connected to the interpolation unit 3), the processor of the numerical controller is obtained by the above-described temporary program process instead of the speed command commanded by the program. The interpolation distribution process is executed according to the stored command speed F.

最小の出力可能速度Vaで補間分配処理が行われることになるから、先読み処理が間に合わず実行データが作成されないという事態は避けられ、安定した速度で加工が実行されることになる。   Since the interpolation distribution process is performed at the minimum output possible speed Va, the situation where the pre-read process is not in time and execution data is not created is avoided, and the machining is executed at a stable speed.

上述した第1の実施形態では、1つの加工プログラムに対して安定した加工ができる1つの速度指令Fを求める例を示したが、加工プログラムの途中で指令速度が変わるような場合、仮プログラム実行処理によって、そのプログラム速度指令毎に、上述した安定した加工ができる速度指令を求めて、求められた速度指令Fで補間分配処理を実行するようにしてもよい。この第2の実施形態における仮プログラム実行による速度指令Fを求める処理は、第1の実施形態と比較し、図2に示す処理は第1の実施形態と同一であり、図3に示す処理が相違する。この相違する処理部分を図4に示す。   In the first embodiment described above, an example in which one speed command F that can perform stable machining with respect to one machining program is shown. However, when the command speed changes in the middle of the machining program, a temporary program is executed. For each program speed command, a speed command capable of performing stable machining may be obtained for each program speed command, and the interpolation distribution process may be executed with the obtained speed command F. The process for obtaining the speed command F by the provisional program execution in the second embodiment is the same as that in the first embodiment as compared with the first embodiment, and the process shown in FIG. Is different. This different processing portion is shown in FIG.

すなわち、第2の実施形態においては、仮プログラム実行で図2の処理を実行した後図4の処理を行うものであり、第1の実施形態と相違する点は、ステップS10、S14が相違し、ステップS20が加わった点である。ステップS10がステップS10’に変わり、先読みブロック数Nに達したかの判断と速度指令変更が読み出されたかの判断に変わった点と、ステップS14がステップS14’に変わり、プログラム終了か又は速度指令変更かの判断に変わったこと、ステップS19がステップS19’に変わりプログラム指令速度に対応して安定した加工ができる速度指令に代えるようにしたこと、及びステップS20が加わり、最後にプログラム終了かの判断をしてプログラム終了でなければステップS15に移行するようにした点である。   That is, in the second embodiment, the processing of FIG. 2 is performed after the processing of FIG. 2 is executed by the temporary program execution. Steps S10 and S14 are different from the first embodiment. Step S20 is added. Step S10 is changed to step S10 ′ to determine whether the number of prefetched blocks N has been reached and to determine whether a speed command change has been read, and whether step S14 has changed to step S14 ′, whether the program has ended or the speed command has been changed. In step S19, step S19 'is changed to step S19' so that it is replaced with a speed command capable of stable machining corresponding to the program command speed, and step S20 is added. If the program is not finished, the process proceeds to step S15.

第1の実施形態と同様に、ステップS1〜ステップS7の処理を実行した後、先読み可能ブロック数Nに達するまで移動指令のブロックを読み出されるか又は速度指令がなされたブロックが読み出されるまで、ブロックを読み出し移動距離を積算し移動距離Lを求める(ステップS8〜S10’)。
先読み可能ブロック数Nに達するまで移動指令のブロックを読み出すか又は速度指令がなされたブロックが読み出されると、第1の実施形態と同様に出力可能速度Vaを求めレジスタAの値と比較しレジスタAの値より出力可能速度Vaの方が小さい場合には該出力可能速度VaをレジスタAに格納する(ステップS11〜S13)。そして読み出したブロックの指令がプログラム終了か、又は速度指令を変更するブロックか判断し(ステップS14’)、プログラム終了でも、速度指令を変更するブロックでもなければ、ステップS15に移行し、先読み可能ブロック数Nを更新し、ステップS7に戻る。
以下、ステップS7〜S15の処理を繰り返し、レジスタAに同一速度指令内において、出力可能速度Vaの最小値を格納する。
As in the first embodiment, after executing the processing of step S1 to step S7, the block of the movement command is read until the number of prefetchable blocks N is reached or the block for which the speed command is made is read. And the movement distance is integrated to obtain the movement distance L (steps S8 to S10 ′).
When the movement command block is read until the number of prefetchable blocks N is reached or the block for which the speed command is issued is read, the output possible speed Va is obtained and compared with the value of the register A as in the first embodiment. When the output possible speed Va is smaller than the value of the value, the output possible speed Va is stored in the register A (steps S11 to S13). Then, it is determined whether the command of the read block is a program end or a block for changing the speed command (step S14 '). If the block is not a program end or a block for changing the speed command, the process proceeds to step S15, and a pre-readable block The number N is updated, and the process returns to step S7.
Thereafter, the processes of steps S7 to S15 are repeated, and the minimum value of the output possible speed Va is stored in the register A within the same speed command.

ステップS14’で、速度指令のブロックが読み込まれ速度指令の変更があったと判断されたときには、第1の実施形態と同様にステップS16〜S18の処理を実行し、レジスタAに記憶する出力可能速度Vaか、当該プログラム指令速度の小さい方を採用し、このプログラム速度指令に対応するものとしてメモリに記憶する(ステップS19’)。
その後、プログラム終了か判断し(ステップS20)、プログラム終了でなければ、ステップS15に移行する。又、プログラム終了であれば、ステップS14’から、ステップS16〜S20の処理をした後、この仮プログラム処理を終了する。
When it is determined in step S14 'that the speed command block has been read and the speed command has been changed, the processing of steps S16 to S18 is executed as in the first embodiment, and the output possible speed stored in the register A Va or the smaller one of the program command speeds is adopted and stored in the memory as corresponding to the program speed command (step S19 ′).
Thereafter, it is determined whether the program is finished (step S20). If the program is not finished, the process proceeds to step S15. If the program is to be terminated, the provisional program processing is terminated after the processing from step S14 'to steps S16 to S20.

次に第3の実施形態について説明する。この第3の実施形態は、同じ速度が指令された加工プログラムにおいても、微小ブロックが連続する場合、先読みブロックの積算移動距離が短くなり第1の実施形態で求められる速度指令Fが非常に遅くなる場合がある。そこで、速度指令を安定した加工ができる速度指令に変更する領域をプログラムのシーケンス番号をプログラム指令又はパラメータ指令で指定しておき、この領域だけ速度指令の変更処理を行うものである。速度指令に変更する領域を、例えばNxx〜Nyyとしてシーケンス番号によって指定する。   Next, a third embodiment will be described. In the third embodiment, even in the machining program in which the same speed is commanded, when the minute blocks are continuous, the integrated movement distance of the prefetch block is shortened, and the speed command F required in the first embodiment is very slow. There is a case. Therefore, the area where the speed command is changed to a speed command capable of stable machining is designated by the program command or parameter command, and the speed command changing process is performed only in this area. A region to be changed to a speed command is designated by a sequence number as, for example, Nxx to Nyy.

図5、図6は、この第3の実施形態の仮プログラム処理を示すフローチャートである。 数値制御装置のプロセッサは、仮プログラム処理を開始すると、まず、指令ブロック長を積算するレジスタをクリアし、かつ読み出しブロック数を計数するカウンタをクリアする(ステップT1)。次に、加工プログラムを読み出し(ステップT2)、読み出したブロックのシーケンス番号が速度指令調整処理を開始するように設定されたシーケンス番号か判断する(ステップT3)。以下、速度指令調整処理を開始するように設定されたシーケンス番号が読み出されるまで、ステップT2,T3を繰り返す。   5 and 6 are flowcharts showing the temporary program processing of the third embodiment. When the processor of the numerical controller starts the temporary program process, it first clears the register that accumulates the command block length and clears the counter that counts the number of read blocks (step T1). Next, the machining program is read (step T2), and it is determined whether the sequence number of the read block is a sequence number set to start the speed command adjustment process (step T3). Thereafter, steps T2 and T3 are repeated until the sequence number set to start the speed command adjustment process is read.

速度指令調整処理を開始するように設定されたシーケンス番号が読み出されると、読み出しブロック数のカウンタに1加算する(ステップT4)。そして読み出したブロックで指令された移動距離を積算し積算移動距離Lを求める(ステップT5)。次に、読み出したブロック数が予め設定されている先読みブロック数Nsに達したか判断し(ステップT6)、達してなければ加工プログラムより次の1ブロックを読み出し(ステップT7)、ステップT4に戻りステップT4〜T7の処理を繰り返し実行する。読み出したブロック数を計数するカウンタの値が予め設定された数Nsに達した場合には、第1の実施形態と同様に、ステップT5で求めた積算移動距離Lと各ブロックの前処理時間とプログラム指令速度より先読み可能なブロック数Nを求め、先読み可能ブロック数を記憶するレジスタに記憶する(ステップT8)。   When the sequence number set to start the speed command adjustment process is read, 1 is added to the counter of the number of read blocks (step T4). Then, the movement distances commanded by the read block are integrated to obtain an integrated movement distance L (step T5). Next, it is determined whether the number of read blocks has reached the preset number Ns of pre-read blocks (step T6). If not, the next block is read from the machining program (step T7), and the process returns to step T4. Steps T4 to T7 are repeatedly executed. When the value of the counter that counts the number of read blocks reaches a preset number Ns, as in the first embodiment, the integrated movement distance L obtained in step T5 and the preprocessing time of each block The number of prefetchable blocks N is obtained from the program command speed and stored in a register for storing the number of prefetchable blocks (step T8).

次に、出力可能速度を記憶するレジスタAに記憶できる最大値を格納し(ステップT9)、指令ブロック長の積算値を記憶するレジスタ及び読み出しブロック数を計数するカウンタをクリアし(ステップT10)、加工プログラムより次の1ブロックを読み出し、読み出しブロック数のカウンタに1加算する(ステップT11)。読み出したブロックで指令された移動距離を、指令ブロック長の積算値を記憶するレジスタに加算して積算移動距離Lを求める(ステップT12)。また、読み出しブロック数を計数するカウンタの値がレジスタに記憶されている先読み可能ブロック数Nに達したか、さらに速度調整の終了シーケンス番号のブロックが読み込まれたかを判断する(ステップT13)。最初は、このレジスタにはステップT8で求めた先読み可能ブロック数Nが格納されており、この先読みブロック数Nと読み出しブロック数が比較されることになる。   Next, the maximum value that can be stored in the register A that stores the output possible speed is stored (step T9), the register that stores the integrated value of the command block length and the counter that counts the number of read blocks are cleared (step T10). The next block is read from the machining program, and 1 is added to the counter of the number of read blocks (step T11). The travel distance commanded in the read block is added to a register that stores the cumulative value of the command block length to obtain the cumulative travel distance L (step T12). Further, it is determined whether the value of the counter for counting the number of read blocks has reached the number N of pre-readable blocks stored in the register, and further whether the block having the speed adjustment end sequence number has been read (step T13). Initially, this register stores the number of prefetchable blocks N obtained in step T8, and the number of prefetched blocks N is compared with the number of read blocks.

読み出しブロック数を計数するカウンタの値が先読み可能ブロック数Nに達してなく、かつ終了シーケンス番号のブロックの読み出しでなければステップT11に戻りステップT11〜T13の処理を繰り返し実行し、積算移動距離Lを更新し求める。そして、読み出しブロック数が先読み可能ブロック数Nに達すると、または終了シーケンス番号のブロックの読み出しであると、第1の実施形態と同様に、積算移動距離Lに基づいて出力可能速度Vaを求め(ステップT14)、出力可能速度を記憶するレジスタAの値と算出した出力可能速度Vaを比較し(ステップT15)、レジスタAの値より出力可能速度Vaの方が小さければ、レジスタAにこの出力可能速度Vaを格納する(ステップT16)。   If the value of the counter for counting the number of read blocks does not reach the number of pre-readable blocks N and if the block of the end sequence number is not read, the process returns to step T11 and the processes of steps T11 to T13 are repeated, and the integrated movement distance L Update and ask for. Then, when the number of read blocks reaches the number N of prefetchable blocks, or when reading the block of the end sequence number, the output possible speed Va is obtained based on the accumulated movement distance L as in the first embodiment ( In step T14), the value of the register A that stores the output possible speed is compared with the calculated output possible speed Va (step T15). If the output possible speed Va is smaller than the value of the register A, this output is possible to the register A. The speed Va is stored (step T16).

そして、プログラム終了か速度調整の領域の終了を示す終了シーケンス番号か判断し(ステップT17)、プログラム終了でも、終了シーケンス番号でもなければ、第1の実施形態と同様に、先読み可能なブロック数Nを求め、レジスタ格納して更新し(ステップT18)、ステップT10に戻り、ステップT10以下の前述した処理を実行する。   Then, it is determined whether it is an end sequence number indicating the end of the program or the end of the speed adjustment area (step T17). If it is neither the end of the program nor the end sequence number, the number N of prefetchable blocks is the same as in the first embodiment. Is stored in the register and updated (step T18), the process returns to step T10, and the above-described processing from step T10 onward is executed.

ステップT17で終了シーケンス番号のブロックが読み出されたと判別されると、第1の実施形態と同様に、レジスタAに格納した最小の出力可能速度Vaとプログラム指令速度を比較し(ステップT19)、プログラム指令速度が小さければ、指令速度Fをプログラム指令速度とし(ステップT20)、最小の出力可能速度Vaがプログラム指令速度以下であれば、指令速度FをレジスタAに記憶する最小の出力可能速度Vaとする(ステップT21)。そして、こうして求めた指令速度Fを当該速度調整領域の速度指令として記憶し(ステップT22)、プログラム終了でなければ(ステップT23)、ステップT1に戻り、前述した処理を実行することになる。   When it is determined in step T17 that the block having the end sequence number has been read, the minimum output possible speed Va stored in the register A is compared with the program command speed as in the first embodiment (step T19). If the program command speed is low, the command speed F is set as the program command speed (step T20). If the minimum output speed Va is less than the program command speed, the minimum output speed Va stored in the register A is stored in the register A. (Step T21). Then, the command speed F thus obtained is stored as a speed command for the speed adjustment area (step T22). If the program is not finished (step T23), the process returns to step T1 to execute the above-described processing.

本発明の各実施形態の数値制御装置の要部ブロック図である。It is a principal part block diagram of the numerical control apparatus of each embodiment of this invention. 本発明の第1の実施形態の仮プログラム処理のフローチャートの一部である。It is a part of flowchart of the temporary program process of the 1st Embodiment of this invention. 本発明の第1の実施形態の仮プログラム処理のフローチャートにおける図2の続きである。FIG. 3 is a continuation of FIG. 2 in the flowchart of the temporary program process according to the first embodiment of this invention. 本発明の第2の実施形態の仮プログラム処理のフローチャート要部である。It is a flowchart principal part of the temporary program process of the 2nd Embodiment of this invention. 本発明の第3の実施形態の仮プログラム処理のフローチャートの一部である。It is a part of flowchart of the temporary program process of the 3rd Embodiment of this invention. 本発明の第3の実施形態の仮プログラム処理のフローチャートにおける図5の続きである。FIG. 10 is a continuation of FIG. 5 in the flowchart of the temporary program process according to the third embodiment of the present invention.

符号の説明Explanation of symbols

1 加工プログラム
2 先読み処理部
3 補間部
4 X軸サーボ制御部
5 Y軸サーボ制御部
6 Z軸サーボ制御部
7 選択スイッチ
8 速度算出手段
DESCRIPTION OF SYMBOLS 1 Processing program 2 Prefetch processing part 3 Interpolation part 4 X-axis servo control part 5 Y-axis servo control part 6 Z-axis servo control part 7 Selection switch 8 Speed calculation means

Claims (3)

加工プログラムを軸移動なしに実行する仮プログラム実行手段を備え、
該仮プログラム実行手段は、加工プログラムを実行し、加工プログラムの各ブロック実行中に先読み可能なブロック数毎の移動量を積算する移動距離算出手段と、
該移動距離算出手段によって求められた移動量と数値制御装置の分配周期から、該先読みブロック数毎の出力可能な速度を求める出力可能速度算出手段と、
該出力可能速度算出手段によって求められた速度の中で、最低の速度を求める実加工速度算出手段と、
該実加工速度算出手段によって求められた送り速度とプログラム指令速度を比較して、プログラム指令速度が大きい場合、プログラム指令速度を該実加工速度算出手段によって求められた最低の速度指令に置換える速度指令調整手段とを有し、
該仮プログラム実行手段で求められた速度指令で軸移動を伴う実際の加工プログラムの実行を可能としたことを特徴とする数値制御装置。
Provisional program execution means for executing the machining program without moving the axis,
The temporary program execution means executes a machining program, and moves distance calculation means for integrating movement amounts for each number of blocks that can be prefetched during execution of each block of the machining program;
Outputable speed calculation means for obtaining a speed that can be output for each number of the prefetch blocks from the movement amount obtained by the movement distance calculation means and the distribution cycle of the numerical control device;
Of the speeds determined by the output speed calculation means, an actual machining speed calculation means for obtaining the lowest speed;
The feed speed obtained by the actual machining speed calculation means is compared with the program command speed, and when the program command speed is large, the speed at which the program command speed is replaced with the lowest speed command obtained by the actual machining speed calculation means Command adjusting means,
A numerical control apparatus characterized by enabling execution of an actual machining program accompanied by axis movement by a speed command obtained by the temporary program execution means.
前記仮プログラム実行手段は、加工プログラム中に速度指令の変更がある毎に速度指令の置き換えを実行する請求項1に記載の数値制御装置。   The numerical control device according to claim 1, wherein the temporary program execution unit executes the replacement of the speed command every time the speed command is changed in the machining program. 前記仮プログラム実行手段は、予め設定された速度調整領域毎に指令速度の置き換えを実行する請求項1に記載の数値制御装置。
The numerical controller according to claim 1, wherein the temporary program execution unit executes replacement of a command speed for each preset speed adjustment region.
JP2005360470A 2005-12-14 2005-12-14 Numeric controller Pending JP2007164509A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005360470A JP2007164509A (en) 2005-12-14 2005-12-14 Numeric controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005360470A JP2007164509A (en) 2005-12-14 2005-12-14 Numeric controller

Publications (1)

Publication Number Publication Date
JP2007164509A true JP2007164509A (en) 2007-06-28

Family

ID=38247324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005360470A Pending JP2007164509A (en) 2005-12-14 2005-12-14 Numeric controller

Country Status (1)

Country Link
JP (1) JP2007164509A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038482A (en) * 2012-08-16 2014-02-27 Fanuc Ltd Working time prediction device in view of processing capacity of numerical control device
DE102014015007A1 (en) 2013-10-18 2015-04-23 Fanuc Corporation Numerical control with program prefetching function
JP2020071728A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071696A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071695A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071697A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071727A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020170470A (en) * 2019-04-05 2020-10-15 ファナック株式会社 Numerical controller

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038482A (en) * 2012-08-16 2014-02-27 Fanuc Ltd Working time prediction device in view of processing capacity of numerical control device
DE102014015007A1 (en) 2013-10-18 2015-04-23 Fanuc Corporation Numerical control with program prefetching function
US10191472B2 (en) 2013-10-18 2019-01-29 Fanuc Corporation Numerical controller provided with program pre-reading function
JP2020071728A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071696A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071695A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071697A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
JP2020071727A (en) * 2018-10-31 2020-05-07 ファナック株式会社 Numerical controller
US11003161B2 (en) 2018-10-31 2021-05-11 Fanuc Corporation Numerical controller
US11402824B2 (en) 2018-10-31 2022-08-02 Fanuc Corporation Numerical controller
JP2020170470A (en) * 2019-04-05 2020-10-15 ファナック株式会社 Numerical controller
JP6997131B2 (en) 2019-04-05 2022-01-17 ファナック株式会社 Numerical control device

Similar Documents

Publication Publication Date Title
JP2007164509A (en) Numeric controller
JP4980458B2 (en) Machining time prediction device for numerically controlled machine tools
JP5192578B2 (en) Numerical control device with a function to correct the movement path of machining programs
JP4891528B2 (en) Machining time calculation device
JP5715217B2 (en) Numerical control device with program prefetching function
JP2007094936A (en) Numerical value controller
CN102768507B (en) Numerical controller having function of operation based on table format data
JP6646027B2 (en) Post-processor device, machining program generation method, CNC machining system, and machining program generation program
JP2009509780A (en) Methods for optimization of machining processes in machines
EP1918796A2 (en) Numerical controller with machining resume function
JP2009098982A (en) Working simulation device and its program
JP4796936B2 (en) Processing control device
JP4802170B2 (en) Machining time calculation device and program thereof
JP2011158982A (en) Controller for machine tool
JP2007025945A (en) Machining time prediction method, machining time predictor, and nc data editor with machining time prediction function
JP6068414B2 (en) Numerical control device that can specify the shape of arcs and curved surfaces with small curvature
WO2018042704A1 (en) Command value generating device
JP7376260B2 (en) numerical control device
JP5573664B2 (en) Numerical control apparatus, movement control method, movement control program, and storage medium
JP6356658B2 (en) Numerical control device with easy press adjustment
CN112865750A (en) Numerical control system multiplying power change smooth control method and device based on FIR filter
JP2016081470A (en) Numerical control device that smoothly changes feeding rate at time of shutdown
JP6077601B2 (en) Numerical control device that shortens the cycle time of machining programs
CN106483935A (en) Numerical control device
JP3945507B2 (en) Numerical controller