JP5410784B2 - Processing apparatus, processing method, and program - Google Patents
Processing apparatus, processing method, and program Download PDFInfo
- Publication number
- JP5410784B2 JP5410784B2 JP2009043139A JP2009043139A JP5410784B2 JP 5410784 B2 JP5410784 B2 JP 5410784B2 JP 2009043139 A JP2009043139 A JP 2009043139A JP 2009043139 A JP2009043139 A JP 2009043139A JP 5410784 B2 JP5410784 B2 JP 5410784B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- movement
- blocks
- conversion
- movement amount
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 51
- 238000006243 chemical reaction Methods 0.000 claims description 50
- 238000007781 pre-processing Methods 0.000 claims description 36
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000003754 machining Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
Description
本発明は、工作機械の数値制御技術に関する。 The present invention relates to a numerical control technique for a machine tool.
工作機械の動作制御には数値制御装置が用いられている。数値制御装置による制御では、ブロックと呼ばれる動作指令を順次記述した数値制御プログラムを作成する。そして、この数値制御プログラムを読み込んだ数値制御装置が、工作機械に所望の動作を行わせるように制御する。複雑多様な加工形状を行う場合、数百ミクロン以下の微小な直線補間の連続で加工形状を表現する場合もある。このような場合、工具の微小な移動量を規定する複数のブロックが連続する。そうすると、次ブロックの到来よりも先に前ブロックが規定する工作機械への制御指令が終了して、本来連続的に行われるべき加工動作が停止する、いわゆるブロック間停止が発生する場合がある。 A numerical control device is used to control the operation of the machine tool. In the control by the numerical control device, a numerical control program in which operation commands called blocks are sequentially described is created. The numerical control device that has read this numerical control program controls the machine tool to perform a desired operation. When complex and various machining shapes are performed, the machining shape may be expressed by a series of minute linear interpolations of several hundred microns or less. In such a case, a plurality of blocks that define a minute movement amount of the tool are continuous. Then, the control command to the machine tool defined by the previous block ends before the next block arrives, and a so-called inter-block stop may occur in which the machining operation that should be performed continuously stops.
ブロック間停止を回避するため、特許文献1には、微小な移動量を規定するブロックは、直前又は直後のブロックに繋ぎ込み、あらたなブロックとすることが開示されている。また、特許文献2には、連続する複数のブロックの平均ブロック長から工具の許容送り速度を演算し、各ブロックの工具の送り速度が許容送り速度よりも大きい場合には、送り速度を許容速度にクランプしてブロック間停止を回避することが開示されている。
In order to avoid a stop between blocks,
しかし、特許文献1に記載のように、微小な移動量を規定するブロックを、直前又は直後のブロックに繋ぎ込んだとしても、新たなブロックが規定する移動量がやはり微小な場合があり、ブロック間停止が発生する場合がある。また、特許文献2に記載のように、工具の送り速度を減速すると加工時間が長くなるという問題がある。
However, as described in
本発明の目的は、誤差規格を優先しつつ、加工時間を長引かせることなく、ブロック間停止の発生の可能性をより低くすることにある。 An object of the present invention is to reduce the possibility of occurrence of a stop between blocks without prolonging the processing time while giving priority to the error standard .
本発明によれば、加工時間を長引かせることなく、ブロック間停止をより確実に回避する処理装置、処理方法及びプログラムが提供される。例えば、本発明の処理装置は、工具の移動軌跡を規定する、連続した複数のブロックを含む数値制御プログラムを処理する処理装置であって、各々の前記ブロックを実行した場合の工具の移動量を演算する演算手段と、前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな1つのブロックに変換する変換手段と、前記変換手段の変換対象である複数の前記ブロックが規定する工具の移動軌跡と、該移動軌跡を近似した移動軌跡との誤差が、予め定めた誤差規格に違反するか否かの誤差判定をする誤差判定手段と、を備え、前記演算手段は、前記移動量を各々の前記ブロックについて順次演算し、前記変換手段は、前記演算手段が前記移動量を演算する度に、前記合計量が前記規定移動量以上となるまで、変換済みの前記新たな1つのブロックと前記演算手段が前記移動量を演算したブロックとを、前記新たな1つのブロックに変換し、前記誤差判定手段は、前記変換手段が新たなブロックの変換を行う度に、前記誤差判定を行い、前記誤差判定手段が違反すると判定した段階での前記変換手段の変換を無効とし、前記誤差判定手段が違反すると判定した場合には、1つ前の前記新たな1つのブロックに基づいて前記工具の移動軌跡を規定する処理を行うことを特徴とする。 According to the present invention, there is provided a processing device, a processing method, and a program for more reliably avoiding a stop between blocks without prolonging the processing time. For example, the processing apparatus of the present invention is a processing apparatus that processes a numerical control program including a plurality of consecutive blocks that defines a movement trajectory of the tool, and the amount of movement of the tool when each of the blocks is executed. A calculation means for calculating, and when the movement amount calculated by the calculation means is less than a prescribed movement amount, a plurality of blocks including the block that are continuous, the total amount of the movement amounts being the prescribed amount Conversion means for converting a plurality of blocks that are greater than or equal to the movement amount into a new block that defines a movement trajectory approximating the movement trajectory of the tool defined by these blocks , and a plurality of conversion targets of the conversion means An error determination for determining whether or not an error between a movement trajectory of the tool defined by the block and a movement trajectory approximating the movement trajectory violates a predetermined error standard Includes a stage, the said computing means, said movement amount sequentially calculated for the blocks of each, and the converting means, every time the computing means calculates the movement amount, the total amount of the prescribed amount of movement Until the above, the converted one new block and the block for which the calculation means has calculated the amount of movement are converted into the new one block, and the error determination means is updated by the conversion means. The error determination is performed every time a correct block is converted, the conversion of the conversion unit is invalidated when the error determination unit determines that the error is violated, and when it is determined that the error determination unit violates, 1 A process for defining a movement trajectory of the tool is performed based on the previous one new block .
本発明によれば、誤差規格を優先しつつ、加工時間を長引かせることなく、ブロック間停止の発生の可能性をより低くすることができる。 According to the present invention, it is possible to further reduce the possibility of the occurrence of stoppage between blocks without prolonging the processing time while giving priority to the error standard .
<第1実施形態>
図1は、本発明の一実施形態に係る数値制御装置Aを用いたシステムのブロック図である。数値制御装置AはCAD/CAM装置1から送信される数値制御プログラムを受信し、受信した数値制御プログラムに基づいて工作機械2へ制御命令を出力する。CAD/CAM装置1は、例えば、CAD/CAMソフトウエアを実行するコンピュータであり、数値制御プログラムを生成する。工作機械2はフライス盤や旋盤等である。
<First Embodiment>
FIG. 1 is a block diagram of a system using a numerical controller A according to an embodiment of the present invention. The numerical controller A receives the numerical control program transmitted from the CAD /
数値制御装置Aは、前処理部10、数値制御部20、入力装置31、表示装置32、及び、駆動回路33を備える。前処理部10及び数値制御部20は、それぞれ、処理部11、21、記憶部12、22、及び、インタフェース部13、23を備える。数値制御部20は、更に、バッファ部24を備える。
The numerical control device A includes a
処理部11、21は、記憶部12、22に記憶されたプログラムを実行するCPU等である。記憶部12、24は、RAM、ROM、HDD等の記憶デバイスであり、処理部11、21が実行するプログラムやデータを記憶する。インタフェース部13、23は、処理部11、21と他のデバイスとの間に介在し、これらの間でデータの受け渡しを中継する。バッファ部24は、前処理部10から送信されるブロックを順次蓄積する記憶デバイスである。バッファ部24は記憶部22の一部の記憶領域を利用して構成してもよい。
The
入力装置31は、数値制御装置Aを利用する作業者による、数値制御装置Aに対する指示を受け付ける装置であり、例えば、キーボード、マウス等である。表示装置32は、作業者に対して情報を表示する装置であり、LCD等である。入力装置31及び表示装置32は、前処理部10に接続されており、前処理部10は入力装置31及び表示装置32による作業者に対するユーザインターフェース処理を行う。駆動回路33は、数値制御部20からの制御命令に基づいて、工作機械2に設けられたモータ等のアクチュエータに電力の供給等を行う。
The
次に、数値制御プログラムの例について説明する。数値制御プログラムは、複数のブロックからなり、これらのブロックは実行順に並んでいる。数値制御プログラムには、加工対象物を連続的に加工するために、工作機械2の工具の移動軌跡を規定する、連続した複数のブロックが含まれ得る。図2(a)は、数値制御プログラムの説明図であり、工具の移動軌跡を規定する、連続した複数のブロック(N)乃至(N+4)の例を示す。これらのブロックは、不図示の工具に加工対象物に対して切削等の加工をさせながら、該工具を位置P1から位置P6まで移動させる例を示している。ブロック(N)は位置P1から位置P2まで工具を直線的に移動させることを規定し、ブロック(N+1)は位置P2から位置P3まで工具を直線的に移動させることを規定する。以下、ブロック(N+2)乃至(N+4)も同様である。
Next, an example of a numerical control program will be described. The numerical control program is composed of a plurality of blocks, and these blocks are arranged in the order of execution. The numerical control program may include a plurality of continuous blocks that define the movement trajectory of the tool of the
ここで、本実施形態では、前処理部10から送信されるブロックを数値制御部20は順次バッファ部24に蓄積し、数値制御部20はバッファ部24に蓄積された古いブロックから順に、工作機械2への制御命令の生成等の処理を行う。このような構成の場合、例えば、ブロック(N+1)乃至(N+4)のように、工具の移動量が短いブロックが連続すると、数値制御部20による各ブロックの処理が早期に終了して、バッファ部24にブロックのストックが無くなり、ブロック間停止が生じ得る。
Here, in this embodiment, the
そこで、本実施形態では、1つのブロックの処理に数値制御部20がある程度の時間を必要とするように、連続する複数のブロックを1つの新たなブロックに変換する。元のブロックを繋ぎ込むことで、加工時間を長引かせることなく、ブロック間停止をより確実に回避することができる。新たなブロックが規定する軌跡は、元の複数のブロックが規定する移動軌跡を近似したものである。図2(b)はブロックの変換の説明図であり、図2(a)の例を元のブロックとしたものである。同図の例では、元のブロック(N+1)乃至(N+4)が新たな1つのブロックに変換されている。新たなブロックが規定する移動軌跡は、本実施形態の場合、始点を元のブロック(N+1)の始点である位置P2に、終点を元のブロック(N+4)の終点である位置P6に、それぞれ設定したもので、元の移動軌跡の始点と終点を直線補間したものとなっている。
Therefore, in the present embodiment, a plurality of consecutive blocks are converted into one new block so that the
変換対象とする元のブロックの数は、それらが規定する工具の移動量の合計量が規定移動量を超える範囲で定める。移動量の合計量と規定移動量とを基準とすることで、変換後のブロックが規定する移動量が、なお微小であり、短時間で処理が終わってしまうことを防止することができる。規定移動量は、ブロック間停止を生じないように設定し、例えば、工具の移動速度と、前処理部10から数値制御部20へのブロックの送受信時間とから、規定移動量=移動速度×ブロック送受信時間、とすることができる。
The number of original blocks to be converted is determined in a range in which the total movement amount of the tools defined by them exceeds the prescribed movement amount. By using the total movement amount and the prescribed movement amount as a reference, the movement amount defined by the converted block is still very small, and it is possible to prevent the processing from being completed in a short time. The prescribed movement amount is set so as not to cause a stop between blocks. For example, the prescribed movement amount = movement speed × block from the movement speed of the tool and the transmission / reception time of the block from the preprocessing
例えば、設定された移動速度が500kpulse/sec、ブロックの送受信時間が0.003secの時、規定移動量は、1500pulseと計算される。ブロックの送受信時間は装置固有のものであり、あらかじめ入力される。工具の移動速度は、基本的には数値制御プログラム上で規定されているが、実際の加工の際に作業者から変更指示を受ける場合がある。例えば、入力装置31を介して、数値制御装置Aに対して、X%増速或いは減速とする変更指示がなされる場合がある。このような場合は、数値制御装置Aは、作業者の指示に従って、移動速度を変更して工作機械2を制御することになるが、この場合、規定移動量も変更する。規定移動量の変更は、例えば、前処理部10の処理部11が、作業者から移動速度の変更指示があった場合に行えばよい。こうすることで、移動速度の変更指示に動的に対応できる。
For example, when the set moving speed is 500 kpulse / sec and the transmission / reception time of the block is 0.003 sec, the specified moving amount is calculated as 1500 pulses. The transmission / reception time of the block is unique to the apparatus and is input in advance. The moving speed of the tool is basically defined in the numerical control program, but there are cases where a change instruction is received from the operator during actual machining. For example, there is a case in which an instruction to change to X% speed increase or decrease is given to the numerical control device A via the
図3は、処理部11が実行する処理の例を示すフローチャートであり、前処理部10により、必要に応じて複数ブロックを1つの新たなブロックに変換して数値制御部20に送信するための処理例を示している。この処理は、図2(a)に示したように工具の移動軌跡を規定するブロックが複数連続している場合に実行される。なお、数値制御プログラムは、加工対象物の加工実行時に、CAD/CAM装置1から各ブロックが順次前処理部10へ送信されてもよいし、CAD/CAM装置1から予め数値制御プログラムが全て前処理部10へ送信され、前処理部10に記憶しておいて、加工対象物の加工実行時に読み出して処理するようにしてもよい。
FIG. 3 is a flowchart illustrating an example of processing executed by the
図3において、S1では設定の初期化を行う。ここでは、少なくとも変数I及びLを0にセットする。変数Iはブロックの繋ぎ込みの回数を示し、変数Lは各ブロック毎に演算した移動量の合計値を示す。S2ではブロックを読み込む。ブロックは数値制御プログラム上の順番で1つずつ読み込む。 In FIG. 3, the setting is initialized in S1. Here, at least variables I and L are set to zero. A variable I indicates the number of times of connecting blocks, and a variable L indicates a total value of movement amounts calculated for each block. In S2, a block is read. The blocks are read one by one in the order on the numerical control program.
S3では、処理の都合上、S2で読み込んだブロックを識別すべく、該ブロックを変数Iが示す順序のブロックに設定する。例えば、I=0のときは0番目のブロック、I=2のときは2番目のブロックとなる。S4ではS2で読み込んだブロックが規定する工具の移動軌跡の移動量を演算する。例えば、図2(a)のブロック(N)の場合、これが規定する工具の移動軌跡の移動量は、位置P1と位置P2との距離である。S4ではS4で演算した移動量を、現在の変数Lに加算し、加算後の値に変数Lを更新する(L=L+1)。 In S3, for the sake of processing, the block read in S2 is set to a block in the order indicated by the variable I in order to identify the block. For example, when I = 0, it is the 0th block, and when I = 2, it is the second block. In S4, the movement amount of the tool movement locus defined by the block read in S2 is calculated. For example, in the case of the block (N) in FIG. 2A, the movement amount of the tool movement trajectory defined by this is the distance between the position P1 and the position P2. In S4, the movement amount calculated in S4 is added to the current variable L, and the variable L is updated to the value after the addition (L = L + 1).
S6では、変数Iが0か否かを判定する。変数Iが0の場合(一つ目のブロックを処理している段階)はS7へ進み、0以外の場合はS8へ進む。S7では、変換後の新たなブロックの設定を仮に行う。ここでは、移動軌跡の始点、終点を0番目のブロックの始点、終点に設定する。つまり、S7では元のブロックの内容そのものを新たなブロックとして設定しているだけである。S8でも、変換後の新たなブロックの設定を仮に行う。ここでは、移動軌跡の始点、終点を0番目のブロックの始点、I番目のブロックの終点に設定する。つまり、S8ではブロックの繋ぎ込みを行っている。 In S6, it is determined whether or not the variable I is 0. If the variable I is 0 (the stage in which the first block is processed), the process proceeds to S7, and if it is not 0, the process proceeds to S8. In S7, a new block after conversion is set temporarily. Here, the start point and end point of the movement locus are set as the start point and end point of the 0th block. That is, in S7, the contents of the original block are set as a new block. Even in S8, a new block after conversion is temporarily set. Here, the start point and end point of the movement locus are set as the start point of the 0th block and the end point of the Ith block. That is, in S8, the blocks are connected.
S9では、変数Lが規定移動量未満か否かを判定する。該当する場合は、ブロックの繋ぎ込みを行うべくS10へ進み、該当しない場合はS11へ進む。S10では変数Iを1つ加算してS2へ戻る。S11では、その際に設定されている内容にて新たなブロックを数値制御部20へ送信する。以上により一単位の処理が終了する。
In S9, it is determined whether or not the variable L is less than the specified movement amount. If applicable, the process proceeds to S10 to connect blocks, and if not, the process proceeds to S11. In S10, the variable I is incremented by 1, and the process returns to S2. In S11, a new block is transmitted to the
このように本実施形態では、S9の処理でブロックの移動量の合計量が規定移動量に達したと判定されるまで、S2の処理でブロックが順次読み込まれ、S3で読み込まれたブロックの移動量が順次演算される。また、S4で移動量の演算がなされるたびに、前回S8で変換された変換済みの新たな1つのブロックと、今回のブロックとが繋ぎ込まれて新たな1つのブロックに変換され、最終的に複数の一連のブロックが新たな1つのブロックに変換されることになる。変換しなくても工具の移動量が規定移動量を超えているブロックについては、S7、S9、S11の処理を経由して数値制御部20へ実質的にそのまま送信されることになる。
As described above, in this embodiment, the blocks are sequentially read in the process of S2 and the movement of the blocks read in S3 until it is determined in the process of S9 that the total movement amount of the blocks has reached the specified movement amount. The quantities are calculated sequentially. Each time the amount of movement is calculated in S4, the new converted block converted in S8 last time and the current block are connected and converted into a new block, and finally A series of a plurality of blocks is converted into a new block. A block in which the movement amount of the tool exceeds the specified movement amount without conversion is substantially transmitted as it is to the
<第2実施形態>
上記第1実施形態では、ブロックの移動量の合計量が規定移動量に達するまで、ブロックを新たなブロックに変換しているが、移動軌跡を近似しているため、元のブロックが規定する移動軌跡と新たなブロックが規定する移動軌跡との間に、誤差が生じる。図4(a)は、ブロックの変換に伴う工具の移動軌跡の誤差の説明図である。実線が元ブロックが規定する移動軌跡を示し、位置P11乃至位置P17までを結ぶ6つの直線からなる。破線は、変換後の新たなブロックが規定する移動軌跡を示し位置P11と位置17とを結ぶ1つの直線である。最大で距離Dの誤差が生じている。誤差が大きくなると、必要とされた加工精度が得られない。
Second Embodiment
In the first embodiment, the block is converted to a new block until the total movement amount of the block reaches the prescribed movement amount. However, since the movement locus is approximated, the movement defined by the original block is converted. An error occurs between the locus and the movement locus defined by the new block. FIG. 4A is an explanatory diagram of the error of the tool movement locus accompanying the block conversion. A solid line indicates a movement locus defined by the original block, and is composed of six straight lines connecting positions P11 to P17. A broken line indicates a movement locus defined by the new block after conversion, and is a single straight line connecting the position P11 and the position 17. An error of distance D occurs at the maximum. If the error increases, the required machining accuracy cannot be obtained.
そこで、本実施形態では、元の移動軌跡と、これを近似した変換後の移動軌跡との誤差が、予め定めた誤差規格に違反する場合は変換を打ち切るようにする。図4(b)は移動軌跡の誤差を考慮したブロックの変換の説明図であり、図4(a)と同じ元の移動軌跡を想定している。図4(b)の例では、変換後の新たなブロックが2つになっており、一方は位置P11と位置P14とを結ぶ直線を規定し、他方は位置P14と位置P17とを結ぶ直線を規定している。このようにすることで誤差を低減できる。誤差規格は、加工対象物に要求される加工精度等にしたがって適宜設定することができる。 Therefore, in the present embodiment, if the error between the original movement trajectory and the converted movement trajectory approximating the original movement trajectory violates a predetermined error standard, the conversion is aborted. FIG. 4B is an explanatory diagram of block conversion in consideration of an error in the movement locus, and assumes the same original movement locus as that in FIG. In the example of FIG. 4B, there are two new blocks after conversion. One defines a straight line connecting the position P11 and the position P14, and the other defines a straight line connecting the position P14 and the position P17. It prescribes. By doing so, errors can be reduced. The error standard can be set as appropriate according to the machining accuracy required for the workpiece.
図5は、処理部11が実行する処理の例を示すフローチャートであり、図3に代わる処理例を示す。図5において、図3と同じ処理について同じ符号を付して説明を割愛し、異なる処理について以下に説明する。本実施形態の場合、S8の処理の後、S21で元のブロックが規定する移動経路と、S8で設定した新たなブロックが規定する移動経路との誤差(最大値)を演算する。S22では、S21で演算した誤差が誤差規格未満か否かを判定する。該当する場合はS9へ進み、該当しない場合はS23へ進む。S23では、誤差規格に違反しているとして、今回S8で設定した内容を無効にし、前回S8で設定した内容の新たなブロックを数値制御部20へ送信する。
FIG. 5 is a flowchart showing an example of processing executed by the
例えば、今回、変数I=3で3回目の処理中であった場合、2回目のS8で設定した内容の新たなブロックを数値制御部20へ送信する。こうすることで、誤差規格に違反する変換が行われることを防止し、誤差規格を優先した処理を実現できる。なお、S23で数値制御部20に送信される新たなブロックについては、その元のブロックの移動量の合計量は規定移動量に達していないことになるが、そのような新たなブロックがバッファ部24に点在している限りにおいては、ブロック間停止の発生の可能性は低いと考えられる。
For example, if the variable I = 3 is currently being processed for the third time, a new block having the content set in the second S8 is transmitted to the
<第3実施形態>
上記第1実施形態では、ブロックの変換を前処理部10で行ったが、前処理部10は変換の対象とする元のブロックの指定を行い、新たなブロックの変換は数値制御部20で行うようにしてもよい。前処理部10の負荷が高い場合に、前処理部10の負荷軽減を図れる。図6は、本実施形態において処理部11が実行する処理の例を示すフローチャートである。S31乃至S35の処理は、図3のS1乃至S5の処理と同じである。
<Third Embodiment>
In the first embodiment, the block conversion is performed by the preprocessing
S36では変数Lが規定移動量未満か否かを判定する。該当する場合は、S37へ進み、該当しない場合はS38へ進む。S37では変数Iを1つ加算してS32へ戻る。S38では、変数Iが0か否かを判定する。変数Iが0の場合(一つ目のブロックを処理している段階)はS39へ進み、0以外の場合はS40へ進む。S39では0番目のブロックを数値制御部20へ送信する。つまり、S32で最初に読み込まれたブロックがそのまま数値制御部20へ送信される。
In S36, it is determined whether or not the variable L is less than the specified movement amount. If applicable, the process proceeds to S37, and if not, the process proceeds to S38. In S37, the variable I is incremented by 1, and the process returns to S32. In S38, it is determined whether or not the variable I is zero. If the variable I is 0 (the stage in which the first block is processed), the process proceeds to S39, and if it is not 0, the process proceeds to S40. In S39, the 0th block is transmitted to the
S40では、0番目からI番目までのブロックを一括して数値制御部20へ送信する。つまり、これらのブロック群は、個々のブロックが規定する工具の移動量が規定移動量に足りないブロック群である。S40で複数のブロックを一括して送信する場合、通常の個々のブロックの送信と区別するための識別子を付加する。例えば、各ブロックの末尾に一括送信対象のものであることを示す識別子を挿入する。
In S <b> 40, the 0th to Ith blocks are transmitted to the
図7は、本実施形態における数値制御部20の処理部21の処理例を示すフローチャートであり、前処理部10から一括送信されたブロック群を受信した場合に、1つの新たなブロックに変換する処理を示す。S51では設定の初期化を行う。ここでは、少なくとも変数Iを0にセットする。変数Iの意味は、上記第1実施形態と同様でありブロックの繋ぎ込みの回数を示す。S52では受信したブロックを1つ読み込む。S53では、変換後の新たなブロックの設定を仮に行う。ここでは、移動軌跡の始点、終点を0番目のブロックの始点、I番目のブロックの終点に設定する。つまり、S8と同様の処理である。S54では、前処理部10から一括送信されたブロック群の全てについて処理したか否かを判定し、全て処理した場合は一単位の処理を終了し、そうでない場合はS52へ戻って同様の処理を繰り返す。
FIG. 7 is a flowchart illustrating a processing example of the
こうすることで、変換対象の選定は前処理部10で、変換は数値制御部20で行え、数値制御部20の処理能力が高い場合等に前処理部10の処理負担を軽減できる。なお、本実施形態を上記第2実施形態と組み合わせることも可能であり、その場合、誤差に関する処理(S21、S22、S23(1つ前の設定を採用する点))は、数値制御部20で行いことができる。
By doing so, the conversion target can be selected by the
<第4実施形態>
図6及び図7に示した上記第3実施形態の処理(以下、第1パターンの処理という。)と、図3に示した上記第1実施形態の処理(以下、第2パターンの処理という。)と、を前処理部10の負荷状況と、数値制御部20の負荷状況とに応じて選択して切り替えることもできる。図8は本発明の他の実施形態に係る数値制御装置Bを用いたシステムのブロック図である。図8において、図1に示した数値制御装置Aと同じ構成について同じ符号を付して説明を割愛し、異なる構成について以下に説明する。
<Fourth embodiment>
The process of the third embodiment shown in FIGS. 6 and 7 (hereinafter referred to as a first pattern process) and the process of the first embodiment shown in FIG. 3 (hereinafter referred to as a second pattern process). ) Can be selected and switched according to the load status of the
数値制御装置Bは、負荷監視・パターン選択部40を備える。負荷監視・パターン選択部40は、CPU等の処理部41、RAM、ROM、HDD等の記憶デバイスである記憶部42、及び、他のデバイスと処理部41の間に介在し、これらの間でデータの受け渡しを中継するインタフェース部43を備える。
The numerical controller B includes a load monitoring /
図9は処理部41が実行する処理例を示すフローチャートである。処理部41は同図の処理を定期的に実行する。S61では、前処理部10及び数値制御部20の負荷状況を示す情報を取得する。負荷状況を示す情報としては、例えば、CPUが出力するCPU使用率等が挙げられ、処理部11及び21からそれぞれ取得することができる。
FIG. 9 is a flowchart illustrating a processing example executed by the
S62では、S61で取得した情報に基づいて、前処理部10の処理部11の負荷が数値制御部20の処理部21の負荷を超えるか否かを判定する。該当する場合はS63へ進み、該当しない場合はS64へ進む。S63では第1パターンの処理を選択し、前処理部10の処理部11に対して、第1パターンの処理の実行を指示する。S63では第2パターンの処理を選択し、前処理部10の処理部11に対して、第2パターンの処理の実行を指示する。以上により一単位の処理が終了する。
In S62, based on the information acquired in S61, it is determined whether or not the load of the
このようにすることで、前処理部10の負荷が高い場合は上記第3実施形態の処理となり、低い場合は上記第1実施形態の処理となるので、前処理部10と数値制御部20の一方に負荷が集中する事態を解消できる。
By doing in this way, when the load of the
なお、パターンの選択結果は、前処理部10のみに指示したが、数値制御部20にも指示してもよい。尤も、数値制御部20は、ブロックの一括送信か否かを認識して、ブロックの変換ができればよいので、上記第3実施形態の処理を実行する機能を具備していれば、パターンの選択結果を認識する必要はない。
The pattern selection result is instructed only to the
また、本実施形態では、S62では、前処理部10の処理部11の負荷と、数値制御部20の処理部21の負荷と、を直接比較したが、処理部11が有する処理能力と処理部21が有する処理能力とに大きな差がある場合は、前処理部10の処理部11の負荷と、数値制御部20の処理部21の負荷と、の差分が規定値未満か否かでパターンを選択するようにしてもよい。
In the present embodiment, in S62, the load of the
Claims (6)
各々の前記ブロックを実行した場合の工具の移動量を演算する演算手段と、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな1つのブロックに変換する変換手段と、
前記変換手段の変換対象である複数の前記ブロックが規定する工具の移動軌跡と、該移動軌跡を近似した移動軌跡との誤差が、予め定めた誤差規格に違反するか否かの誤差判定をする誤差判定手段と、を備え、
前記演算手段は、前記移動量を各々の前記ブロックについて順次演算し、
前記変換手段は、前記演算手段が前記移動量を演算する度に、前記合計量が前記規定移動量以上となるまで、変換済みの前記新たな1つのブロックと前記演算手段が前記移動量を演算したブロックとを、前記新たな1つのブロックに変換し、
前記誤差判定手段は、前記変換手段が新たなブロックの変換を行う度に、前記誤差判定を行い、
前記誤差判定手段が違反すると判定した段階での前記変換手段の変換を無効とし、
前記誤差判定手段が違反すると判定した場合には、1つ前の前記新たな1つのブロックに基づいて前記工具の移動軌跡を規定する処理を行うことを特徴とする処理装置。 A processing device for processing a numerical control program including a plurality of continuous blocks that defines a movement trajectory of a tool,
A calculation means for calculating a movement amount of the tool when each of the blocks is executed;
A plurality of blocks including the block when the movement amount calculated by the calculation means is less than a prescribed movement amount, and a total amount of the movement amounts is equal to or greater than the prescribed movement amount; Converting means for converting the block into a new block that defines a movement trajectory approximating the movement trajectory of the tool defined by these blocks;
An error determination is made as to whether or not an error between a movement trajectory of the tool defined by the plurality of blocks to be converted by the conversion means and a movement trajectory approximating the movement trajectory violates a predetermined error standard. An error determination means ,
The calculation means sequentially calculates the movement amount for each of the blocks,
Each time the calculation means calculates the movement amount, the conversion means calculates the movement amount by the new one converted block and the calculation means until the total amount becomes equal to or greater than the specified movement amount. Converted to the new one block,
The error determination means performs the error determination each time the conversion means converts a new block,
Invalidate the conversion of the conversion means at the stage where the error determination means determines that it violates,
The processing apparatus characterized by performing the process which prescribes | regulates the movement locus | trajectory of the said tool based on the said new one previous block when it determines with the said error determination means violating .
前記前処理部は、
前記演算手段と、
前記数値制御部に前記ブロックを送信する送信手段と、を備え、
前記数値制御部は、
前記前処理部から前記ブロックを受信する受信手段と、
前記変換手段と、を備え、
前記送信手段は、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、前記数値制御部に一括送信し、
前記変換手段は、
前記受信手段が前記送信手段から一括送信された前記複数のブロックを受信した場合には、受信した前記複数のブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな1つのブロックに変換することを特徴とする請求項1又は2に記載の処理装置。 A pre-processing unit and a numerical control unit that outputs a control command to the machine tool,
The pre-processing unit is
The computing means;
Transmission means for transmitting the block to the numerical control unit,
The numerical control unit
Receiving means for receiving the block from the pre-processing unit;
The conversion means,
The transmission means includes
A plurality of blocks including the block when the movement amount calculated by the calculation means is less than a prescribed movement amount, and a total amount of the movement amounts is equal to or greater than the prescribed movement amount; The block of is sent to the numerical control unit at once,
The converting means includes
When the receiving unit receives the plurality of blocks collectively transmitted from the transmitting unit, a new block defining a movement locus approximating the movement locus of the tool defined by the received plurality of blocks is obtained. processing apparatus according to claim 1 or 2, characterized in that conversion.
前記前処理部から前記ブロックを受信する受信手段を備え、工作機械に対して制御命令を出力する数値制御部と、
前記前処理部の負荷状況と前記数値制御部の負荷状況と基づいて、第1の処理パターン又は第2の処理パターンを選択する選択手段と、を備え、
前記変換手段が、前記前処理部が備えた第1の変換手段と、前記数値制御部が備えた第2の変換手段と、を備え、
前記選択手段が第1の処理パターンを選択した場合、
前記第1の変換手段は前記変換を行わず、
前記送信手段は、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、前記数値制御部に一括送信し、
前記第2の変換手段は、
前記受信手段が前記送信手段から一括送信された前記複数のブロックを受信した場合には、受信した前記複数のブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな1つのブロックに変換し、
前記選択手段が第2の処理パターンを選択した場合、
前記第1の変換手段は、前記変換を行い、
前記第2の変換手段は、前記変換を行わないことを特徴とする請求項1又は2に記載の処理装置。 A preprocessing unit including a transmission unit that transmits the block to the arithmetic unit and the numerical control unit;
A numerical control unit comprising receiving means for receiving the block from the preprocessing unit, and outputting a control command to a machine tool;
Selecting means for selecting the first processing pattern or the second processing pattern based on the load status of the pre-processing unit and the load status of the numerical control unit;
The conversion means includes a first conversion means provided in the preprocessing unit, and a second conversion means provided in the numerical control unit,
When the selection means selects the first processing pattern,
The first conversion means does not perform the conversion,
The transmission means includes
A plurality of blocks including the block when the movement amount calculated by the calculation means is less than a prescribed movement amount, and a total amount of the movement amounts is equal to or greater than the prescribed movement amount; The block of is sent to the numerical control unit at once,
The second conversion means includes
When the receiving unit receives the plurality of blocks collectively transmitted from the transmitting unit, a new block defining a movement locus approximating the movement locus of the tool defined by the received plurality of blocks is obtained. Converted,
When the selection means selects the second processing pattern,
The first conversion means performs the conversion,
It said second converting means, the processing apparatus according to claim 1 or 2, characterized in that does not perform the conversion.
各々の前記ブロックを実行した場合の工具の移動量を演算する演算工程と、
前記演算工程で演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな1つのブロックに変換する変換工程と、
前記変換工程の変換対象である複数の前記ブロックが規定する工具の移動軌跡と、該移動軌跡を近似した移動軌跡との誤差が、予め定めた誤差規格に違反するか否かの誤差判定をする誤差判定工程と、を備え、
前記演算工程では、前記移動量を各々の前記ブロックについて順次演算し、
前記変換工程では、前記演算工程で前記移動量を演算する度に、前記合計量が前記規定移動量以上となるまで、変換済みの前記新たな1つのブロックと前記演算工程で前記移動量を演算したブロックとを、前記新たな1つのブロックに変換し、
前記誤差判定工程では、前記変換工程で新たなブロックの変換を行う度に、前記誤差判定を行い、
前記誤差判定工程で違反すると判定した段階での前記変換工程の変換を無効とし、
前記誤差判定手工程で違反すると判定した場合には、1つ前の前記新たな1つのブロックに基づいて前記工具の移動軌跡を規定する処理を行うことを特徴とする処理方法。 A processing method for processing a numerical control program including a plurality of continuous blocks that defines a movement trajectory of a tool,
A calculation step of calculating the amount of movement of the tool when each of the blocks is executed;
When the movement amount calculated in the calculation step is less than a prescribed movement amount, a plurality of the blocks including the block are continuous, and the total amount of the movement amounts is not less than the prescribed movement amount Converting the block into a new block that defines a movement locus that approximates the movement locus of the tools defined by these blocks;
It is determined whether or not an error between a movement trajectory of the tool defined by the plurality of blocks to be converted in the conversion step and a movement trajectory approximating the movement trajectory violates a predetermined error standard. An error determination step ,
In the calculation step, the movement amount is sequentially calculated for each of the blocks,
In the conversion step, every time the movement amount is calculated in the calculation step, the movement amount is calculated in the converted one new block and the calculation step until the total amount becomes equal to or greater than the specified movement amount. Converted to the new one block,
In the error determination step, each time a new block is converted in the conversion step, the error determination is performed.
Invalidate conversion of the conversion process at the stage determined to violate the error determination process,
When it is determined that the error is determined to be violated in the error determination manual process, a processing method is provided in which a process for defining a movement trajectory of the tool is performed based on the previous one new block .
各々の前記ブロックを実行した場合の工具の移動量を演算する演算手段、
前記演算手段が演算した前記移動量が規定移動量未満の場合に、そのブロックを含んで連続する複数の前記ブロックであって、それらの前記移動量の合計量が前記規定移動量以上である複数の前記ブロックを、これらのブロックが規定する工具の移動軌跡を近似した移動軌跡を規定する新たな1つのブロックに変換する変換手段、
前記変換手段の変換対象である複数の前記ブロックが規定する工具の移動軌跡と、該移動軌跡を近似した移動軌跡との誤差が、予め定めた誤差規格に違反するか否かの誤差判定をする誤差判定手段、として機能させるプログラムであり、
前記演算手段は、前記移動量を各々の前記ブロックについて順次演算し、
前記変換手段は、前記演算手段が前記移動量を演算する度に、前記合計量が前記規定移動量以上となるまで、変換済みの前記新たな1つのブロックと前記演算手段が前記移動量を演算したブロックとを、前記新たな1つのブロックに変換し、
前記誤差判定手段は、前記変換手段が新たなブロックの変換を行う度に、前記誤差判定を行い、
前記誤差判定手段が違反すると判定した段階での前記変換手段の変換を無効とし、
前記誤差判定手段が違反すると判定した場合には、1つ前の前記新たな1つのブロックに基づいて前記工具の移動軌跡を規定する処理を行うことを特徴とするプログラム。 In order to process a numerical control program including a plurality of consecutive blocks that define the movement trajectory of the tool,
Calculation means for calculating the amount of movement of the tool when each of the blocks is executed,
A plurality of blocks including the block when the movement amount calculated by the calculation means is less than a prescribed movement amount, and a total amount of the movement amounts is equal to or greater than the prescribed movement amount; Converting means for converting the block into a new block that defines a movement trajectory approximating the movement trajectory of the tool defined by these blocks;
An error determination is made as to whether or not an error between a movement trajectory of the tool defined by the plurality of blocks to be converted by the conversion means and a movement trajectory approximating the movement trajectory violates a predetermined error standard. It is a program that functions as an error determination means ,
The calculation means sequentially calculates the movement amount for each of the blocks,
Each time the calculation means calculates the movement amount, the conversion means calculates the movement amount by the new one converted block and the calculation means until the total amount becomes equal to or greater than the specified movement amount. Converted to the new one block,
The error determination means performs the error determination each time the conversion means converts a new block,
Invalidate the conversion of the conversion means at the stage where the error determination means determines that it violates,
A program for performing a process of defining a movement locus of the tool based on the previous one new block when it is determined that the error determination means violates .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043139A JP5410784B2 (en) | 2009-02-25 | 2009-02-25 | Processing apparatus, processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009043139A JP5410784B2 (en) | 2009-02-25 | 2009-02-25 | Processing apparatus, processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010198380A JP2010198380A (en) | 2010-09-09 |
JP5410784B2 true JP5410784B2 (en) | 2014-02-05 |
Family
ID=42823031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009043139A Active JP5410784B2 (en) | 2009-02-25 | 2009-02-25 | Processing apparatus, processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5410784B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6472227B2 (en) * | 2014-11-28 | 2019-02-20 | Dmg森精機株式会社 | Numerical controller |
JP6219866B2 (en) * | 2015-03-06 | 2017-10-25 | 株式会社ソディック | Numerical control device with display function and display program |
JP6267156B2 (en) | 2015-05-29 | 2018-01-24 | ファナック株式会社 | Numerical controller for wire-cut electric discharge machine for corner control of minute block |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63271505A (en) * | 1987-04-28 | 1988-11-09 | Okuma Mach Works Ltd | Position interpolating method for numerical controller |
JPH09198116A (en) * | 1996-01-17 | 1997-07-31 | Yaskawa Electric Corp | Block data processing method for numerical controller |
-
2009
- 2009-02-25 JP JP2009043139A patent/JP5410784B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010198380A (en) | 2010-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9851709B2 (en) | Numerical control device | |
US9678500B2 (en) | Machining program creating device numerical control device, machining system, machining program creating method, numerical control method, and machining program | |
US20120310405A1 (en) | Numerical controller with function to correct movement path of machining program | |
JP2009509780A (en) | Methods for optimization of machining processes in machines | |
KR100284668B1 (en) | Numerical control unit | |
JP5410784B2 (en) | Processing apparatus, processing method, and program | |
CN101261501A (en) | Method for operating controlled machines | |
JP6680731B2 (en) | Processing time prediction system | |
US6401005B1 (en) | Programmable synchronous and asynchronous block execution for a computer numerical control | |
BE1009813A3 (en) | Programmable logic controller. | |
US11086291B2 (en) | Method for operating a numerically controlled production system, and production system for same | |
WO2014013550A1 (en) | Numerical control device and numerical control system | |
JP6538754B2 (en) | Numerical control device | |
JP6316919B2 (en) | Numerical control device for machine tools | |
JP2020003958A (en) | Numerical control device | |
JP6871280B2 (en) | Numerical control device | |
CN106970652B (en) | Motion controller | |
JP5477247B2 (en) | Numerical control apparatus, moving path correcting method, moving path correcting program, and storage medium | |
JP2000163114A (en) | Intra-interpolation curve acceleration and deceleration processing method | |
JP6219866B2 (en) | Numerical control device with display function and display program | |
JP7283875B2 (en) | Numerical controller | |
WO2023073835A1 (en) | Selection device, simulation device, and communication control device | |
JPH03502143A (en) | Workstations and how to operate them | |
WO2024084706A1 (en) | Machining instruction correction device and machining instruction correction method | |
WO2019208029A1 (en) | Control device, system, and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130527 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131015 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5410784 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |