JPH0134749B2 - - Google Patents

Info

Publication number
JPH0134749B2
JPH0134749B2 JP56213567A JP21356781A JPH0134749B2 JP H0134749 B2 JPH0134749 B2 JP H0134749B2 JP 56213567 A JP56213567 A JP 56213567A JP 21356781 A JP21356781 A JP 21356781A JP H0134749 B2 JPH0134749 B2 JP H0134749B2
Authority
JP
Japan
Prior art keywords
correction
error
register
block
pitch
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.)
Expired
Application number
JP56213567A
Other languages
Japanese (ja)
Other versions
JPS58114840A (en
Inventor
Kazutaka Yamashita
Makoto Tagami
Nobuyuki Nojima
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.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine Co Ltd
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 Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Priority to JP21356781A priority Critical patent/JPS58114840A/en
Publication of JPS58114840A publication Critical patent/JPS58114840A/en
Publication of JPH0134749B2 publication Critical patent/JPH0134749B2/ja
Granted legal-status Critical Current

Links

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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33078Error table, interpolate between two stored values to correct error
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41036Position error in memory, lookup table for correction actual position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41055Kind of compensation such as pitch error compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Automatic Control Of Machine Tools (AREA)

Description

【発明の詳細な説明】 この発明は、工作機械の軸の移動量に対するそ
の移動方向と同一方向の誤差を補正するためのピ
ツチ誤差補正方法に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a pitch error correction method for correcting an error in the movement amount of a machine tool axis in the same direction as the movement direction.

刃物ないしは被加工物を担持して、移動するこ
とにより加工を行なうような工作機械にあつて
は、案内面の製作誤差や案内面と摺動台との間の
隙間等の製作誤差、加工時の切削力による変形や
摩耗その他によつて加工誤差を生じるか、かかる
加工誤差を皆無にすることは不可能であつて、加
工精度にはある限界がある。
For machine tools that perform machining by holding and moving a cutter or workpiece, manufacturing errors such as guide surface manufacturing errors, gaps between the guide surface and slide table, etc., and manufacturing errors during machining. Machining errors occur due to deformation due to cutting force, wear, etc., and it is impossible to completely eliminate such machining errors, and there is a certain limit to machining accuracy.

近年、数値制御(NC)等の電子的制御技術及
び光学的制御技術の発達により、高い精度で機械
側を制御することが可能となつてきたが、このよ
うな制御技術の機能を十分に活用した高精度の送
りや位置決めを行なうためには、機械側自身の精
度を高くする必要がある。しかしながら、1μな
いしはそれ以上の高い精度で機械自体を製作する
ことは不可能でないにしても、実際上は製作コス
トが高くなり過ぎて不経済であるし、切削力や熱
変形に基く機械系の複雑な変形をも考慮したもの
を製作することは困難である。
In recent years, with the development of electronic control technology such as numerical control (NC) and optical control technology, it has become possible to control the machine side with high precision, but it is necessary to fully utilize the functions of such control technology. In order to perform highly accurate feeding and positioning, it is necessary to improve the accuracy of the machine itself. However, although it is not impossible to manufacture the machine itself with a high precision of 1μ or more, in practice the manufacturing cost is too high and it is uneconomical, and the mechanical system is based on cutting force and thermal deformation. It is difficult to manufacture something that takes into account complex deformations.

このため、機械自体を高精度に仕上げる必要が
ないような手法として、理論的所要経路からの摺
動台等の偏差を連続的に測定し、その結果を制御
部にフイードバツクすることにより、所要の精度
を満足するように制御指令を補正するという方式
が提案されている。しかしながら、この補正方式
は測定の方法や測定値の処理が複雑になるという
問題があるため、末だ実用的なものが実現されて
いないのが実状である。また、軸の移動量に対す
る誤差を離散的に予め測定して補正テーブルを求
めておき、その軸位置に来た時に補正テーブルか
ら該当する誤差量を読出して補正する方式が提案
されている。たえば、X軸の移動量(指令値)に
対してその移動方向と同一方向の誤差(実際の位
置との偏差)Xは第1図のようになるので、X軸
位置とこれに対応する誤差X′とを順次表にして
補正テーブルを作成しておく。そして、X軸の移
動に際して補正テーブルからX軸位置に対応する
誤差データをその都度読出して、たとえばX軸位
置X1の時には誤差データX1′を読出して指令値か
ら減算し、X軸位置がX2となつた時には誤差デ
ータX2′を読出して指令値から減算して、また、
X軸位置がX3の時には誤差データX3′を読出して
指令値に加算するようにして補正する。したがつ
て、かかる補正方式では誤差量が大きい場合や軸
移動のストロークが長い場合には補正テーブルが
大きくなつてしまうといつた欠点があり、逆に補
正テーブルの大きさを制限して小さくすると、粗
い補正しかできないといつた欠点がある。
Therefore, as a method that does not require the machine itself to be finished with high precision, it is possible to continuously measure the deviation of the slide table, etc. from the theoretical required path and feed back the results to the control unit. A method has been proposed in which control commands are corrected to satisfy accuracy. However, this correction method has the problem of complicating the measurement method and processing of measured values, so the reality is that it has not yet been implemented in a practical manner. Furthermore, a method has been proposed in which a correction table is obtained by discretely measuring errors with respect to the amount of movement of an axis in advance, and when the axis position is reached, the corresponding error amount is read out from the correction table and corrected. For example, the error (deviation from the actual position) X in the same direction as the movement direction of the X-axis movement amount (command value) is as shown in Figure 1, so the X-axis position and the corresponding A correction table is created by sequentially tabulating the error X′. Then, when moving the X-axis, the error data corresponding to the X-axis position is read out from the correction table each time. For example, when the X-axis position is X 1 , the error data X 1 ' is read out and subtracted from the command value, and the X-axis position is When it reaches X 2 , read out the error data X 2 ′ and subtract it from the command value, and then
When the X-axis position is X3 , error data X3 ' is read out and added to the command value for correction. Therefore, this correction method has the disadvantage that the correction table becomes large when the amount of error is large or the stroke of axis movement is long, and conversely, if the size of the correction table is limited and reduced, However, the drawback is that only coarse corrections can be made.

よつて、この発明の目的は、軸移動のストロー
クが長い大型機械にも柔軟に対応でき、かつ高い
精度で補正を行なうとのできる工作機械における
ピツチ誤差補正方法を提供することにある。
SUMMARY OF THE INVENTION Therefore, it is an object of the present invention to provide a method for correcting pitch errors in machine tools that can be flexibly applied to large machines with long axis movement strokes and that can perform corrections with high accuracy.

以下にこの発明を説明する。 This invention will be explained below.

この発明は工作機械におけるピツチ誤差補正方
法に関し、工作機械の軸の移動量に対するその移
動方向と同一方向の誤差を順次測定し、この測定
誤差データから直線近似の誤差特性曲線を求め、
誤差特性曲線の折曲点に対応する軸の位置を示す
ブレークポイント位置と、それぞれブレークポイ
ント位置の間隔の整数分の1となり、かつ所定単
位長さの誤差に対する軸の移動量を誤差特性曲線
の各直線勾配としたピツチとを記憶させておき、
軸の移動に対して、上記ピツチに対応する補正点
を通過する毎に所定単位長さで補正を行なうと共
に、各ブレークポイント位置を通過する時には前
後の特性曲線の傾きの変化をみて、誤差が増加し
ないように補正を行なうか、行なわないかを判断
するようにしたものである。すなわち、この発明
では先ず第1図に示すようなX軸の測定移誤差デ
ータから、第2図に示すような直線近似の誤差特
性曲線l1−l2−l3−l4を求める。この場
合、所定単位長さの誤差、たとえば1μの誤差を
生じるのに必要なX軸の移動量を各誤差特性曲線
l1〜l4のピツチp1〜p4と定める。そして、
隣り合つた誤差特性曲線l1及びl2の折曲点を
CR1、誤差特性曲線l2及びl3の折曲点を
CR2、誤差特性曲線l3及びl4の折曲点をCR3
とすると共に、これら折曲点CR1〜CR3に対する
X軸の移動量をそれぞれブレークポイント位置
BP1〜BP3とし、補正の原点となる始点をSP、
補正範囲のストロークリミツトをSLとする。し
かして、始点SPとブレークポイント位置BP1と
の間をブロツク、ブレークポイント位置BP1
とBP2との間をブロツク、ブレークポイント
位置BP2とBP3との間をブロツク、ブレーク
ポイント位置BP3とストロークリミツトSLとの
間をブロツクとし、各ブロツク〜の間隔が
それぞれ対応するピツチp1〜p4で丁度割り切れ
るように調整する。つまり、ブロツク〜の間
隔が、それぞれ対応するピツチp1〜p4の整数倍
となるように誤差特性曲線l1〜l4の勾配及び
交点位置を定め、かくして決定された誤差特性曲
線l1〜l4のブレークポイント位置BP1〜BP
3及び各ブロツク〜のピツチp1〜p4を第3
図のような対応関係で、始点SPと共にメモリM
1〜M9に補正テーブルとして記憶させる。
The present invention relates to a method for correcting pitch errors in machine tools, which includes sequentially measuring the error in the same direction as the movement direction of the axis of the machine tool, and calculating a straight-line approximation error characteristic curve from this measurement error data.
The breakpoint position indicates the position of the axis corresponding to the bending point of the error characteristic curve, and the amount of movement of the axis for an error of a predetermined unit length, which is an integer fraction of the interval between the breakpoint positions, is determined on the error characteristic curve. Memorize the pitch of each straight line slope,
For the movement of the axis, each time it passes a correction point corresponding to the pitch mentioned above, it is corrected by a predetermined unit length, and when passing each breakpoint position, the change in the slope of the characteristic curve before and after is observed to check the error. It is determined whether or not to perform correction to prevent the increase. That is, in the present invention, first, a linear approximation error characteristic curve l1-l2-l3-l4 as shown in FIG. 2 is determined from X-axis measurement deviation data as shown in FIG. In this case, the amount of X-axis movement necessary to produce an error of a predetermined unit length, for example, 1 μ, is determined as pitches p1 to p4 of each error characteristic curve l1 to l4. and,
The bending point of the adjacent error characteristic curves l1 and l2 is
CR1, the bending point of error characteristic curves l2 and l3
CR2, the bending point of error characteristic curves l3 and l4 is CR3
In addition, the amount of movement of the X axis for these bending points CR1 to CR3 is the break point position.
BP1 to BP3, and the starting point that is the origin of correction is SP,
Let the stroke limit of the correction range be SL. Therefore, the block between the start point SP and the breakpoint position BP1, and the breakpoint position BP1
and BP2 as a block, between break point positions BP2 and BP3 as a block, and between break point position BP3 and stroke limit SL as a block, and the interval between each block is at the corresponding pitch p1 to p4. Adjust so that it is just divisible. In other words, the slopes and intersection points of the error characteristic curves l1 to l4 are determined so that the intervals between blocks are integral multiples of the corresponding pitches p1 to p4, and the breakpoint positions of the error characteristic curves l1 to l4 determined in this way are determined. BP1~BP
3 and the pitches p1 to p4 of each block ~ to the third
With the correspondence as shown in the figure, the memory M along with the starting point SP
1 to M9 as a correction table.

このように補正テーブルに記憶されたブロツク
位置データとその区間のピツチデータとに基き、
この発明では同一ブロツク内の移動に際しては当
該ブロツクで定められたピツチ量を移動する毎に
1μの補正を行ない、他ブロツクへの移動に際し
ては前後の特性曲線の傾きの変化をみて、誤差が
増加しないように補正を行なうか、行なわないか
の判断をし、ブロツク内では当該ブロツクで定め
られたピツチ量を移動する毎に1μの補正を行な
う。かかる補正方法の様子を第4図の例を挙げて
説明すると、この例では誤差特性曲線l3に対応
するブロツクと、誤差特性曲線l4に対応する
ブロツクとの間における移動を示している。し
かして、ブロツクにおけるピツチはp3であり、
ブロツクにおけるピツチp4であることから、
この発明ではブロツク内の移動に際してはピツ
チp3毎に補正点CM31、CM32、…を定めると共
に、ブロツク内の移動に際してはピツチp4毎
に補正点CM41,CM42,…を定め、補正点
を通過する毎に1μの補正を行なう。たとえばX
軸の現在位置がX1であり、指令値により同一ブ
ロツク内の位置X2に移動する場合を考えると、
補正点CM33及びCM32を通過するので、補正点
CM33及びCM32でそれぞれ1μずつの補正を行な
う。この場合、補正点CM33、CM32があるか否
かの検知は、現在位置よりも1つ前の補正点(現
在位置より小さい補正点のうちの最大位置の補正
点)と現在位置との差がピツチp3よりも大きい
か否かを請べることによつて行なう。したがつ
て、位置X1からX2に移動する場合、X軸が補正
点CM33に達した時に現在位置と記憶されている
1つの前の補正点(CM34)との差がピツチp3に
なるので、補正点CM33で1μの補正を行い、現在
位置に対する1つ前の補正点をCM33に更新する
ことにより、同様にX軸が補正点CM32に達した
時に、補正点CM32で1μの補正を行ない得る。
Based on the block position data stored in the correction table and the pitch data of that section,
In this invention, when moving within the same block, each time the block moves by a predetermined pitch amount,
A 1μ correction is made, and when moving to another block, the change in the slope of the characteristic curve before and after is checked to determine whether or not to make the correction so as not to increase the error. A correction of 1μ is performed each time the pitch is moved. The state of this correction method will be explained using the example of FIG. 4. This example shows movement between the block corresponding to the error characteristic curve l3 and the block corresponding to the error characteristic curve l4. Therefore, the pitch in the block is p3,
Since it is pitch p4 in the block,
In this invention, when moving within a block, correction points CM31, CM32,... are determined for each pitch p3, and when moving within a block, correction points CM41, CM42,... are determined for each pitch p4, and each time the block passes through a correction point, correction points CM41, CM42,... A 1μ correction is applied to the For example,
Considering the case where the current position of the axis is X 1 and the command value moves it to position X 2 within the same block,
Since it passes through correction points CM33 and CM32, the correction point
CM33 and CM32 are each corrected by 1μ. In this case, the detection of whether or not there are correction points CM33 and CM32 is based on the difference between the current position and the previous correction point (the correction point with the largest position among the correction points smaller than the current position). This is done by asking whether the pitch is greater than p3. Therefore , when moving from position , by performing a 1μ correction at the correction point CM33 and updating the previous correction point for the current position to CM33, similarly when the X axis reaches the correction point CM32, a 1μ correction is performed at the correction point CM32. obtain.

次に、位置X1から他のブロツクのX3へ移動す
る場合を考えると、ブロツク内とブロツク内
とではそのピツチp3、p4が異なつているが、そ
れぞれのブロツク内での補正点では上述と同様の
補正を行なう。すなわち、ブレークポイント位置
BP1〜BP3、始点SP及びストロークリミツト
SLはメモリM1〜M4に記憶されているので、X
軸位置が現在どのブロツク内にいるかを監視する
ことができ、ブロツク内については上述の如く
補正点CM33、CM32、CM31で1μずつの補正を
行なう。そして、補正点CM31を通過してブレー
クポイント位置BP3に達すると、現在位置がブ
レークポイント位置BP3であることが認識され
るので、このブレークポイント位置BP3では補
正を行なうか、行なわないかの判断をする。第4
図の場合、前後の特性曲線の勾配の符号が異なつ
ているので、補正を行なわない。しかしながら、
ブレークポイント位置BP3を通過した時点では
記憶しておくべき1つ前の補正点をCM31から
BP3に更新し、このブレークポイント位置BP3
からピツチp4だけX軸が移動した時に、その補
正点CM41で1μの補正を行なう。以後はブロツク
内の補正となる。そして、補正点CM42でも同
様の補正を行ない、X軸は指令値位置X3に1μの
誤差範囲内で達する。
Next, considering the case of moving from position X 1 to X 3 of another block, the pitches p3 and p4 are different between the blocks, but the correction points within each block are the same as described above. Perform the same correction. i.e. the breakpoint position
BP1 to BP3, starting point SP and stroke limit
Since SL is stored in memories M1 to M4,
It is possible to monitor which block the axis position is currently in, and within the block, corrections of 1 μ are performed at correction points CM33, CM32, and CM31 as described above. Then, when it passes through the correction point CM31 and reaches the breakpoint position BP3, it is recognized that the current position is the breakpoint position BP3, so it is necessary to judge whether or not to perform correction at this breakpoint position BP3. do. Fourth
In the case shown in the figure, since the signs of the slopes of the characteristic curves before and after are different, no correction is performed. however,
When passing the break point position BP3, the previous correction point that should be remembered is from CM31.
Update to BP3 and change this breakpoint position BP3
When the X-axis moves by pitch p4 from , a correction of 1μ is performed at the correction point CM41. After that, correction will be made within the block. Then, similar correction is performed at the correction point CM42, and the X-axis reaches the command value position X3 within an error range of 1 μ.

なお、ここでは下側のブロツクから上側のブ
ロツクへ移動する場合について説明したが、上
側から下側のブロツクへ移動する場合についても
同様であり、この場合も下側における1つ前の補
正点を基準にして新しい補正点の割出しを行な
う。また、第4図の例では誤差特性曲線l3及び
l4が0となる位置と、ブレークポイント位置
BP3との間隔がそれぞれのピツチp3、p4の整数
倍となつているが、必らずしもこのように整数倍
となる必要はなく、ブレークポイント位置の間隔
が各ピツチの整数倍となつていれば良い。
Note that although we have explained the case of moving from the lower block to the upper block, the same applies to moving from the upper side to the lower block, and in this case too, the previous correction point on the lower side is A new correction point is determined based on the reference. In addition, in the example of Fig. 4, the position where the error characteristic curves l3 and l4 become 0, and the break point position
The interval with BP3 is an integer multiple of each pitch p3, p4, but it does not necessarily have to be an integer multiple like this, and the interval between breakpoint positions is an integer multiple of each pitch. That's fine.

ここで、具体的な補正方法を第5図A〜Cのフ
ローチヤートを参照して、第4図の位置X1から
X2又はX3へ移動する場合を例に挙げて説明する。
Here, for the specific correction method, refer to the flowcharts in Figures 5A to 5C, and start from position X1 in Figure 4.
The case of moving to X 2 or X 3 will be explained as an example.

先ず、補正動作がスタート(ステツプS1)す
ると、第3図に示す如き補正テーブルが正しいも
のであるか否かを判断する(ステツプS2)。この
場合、ブレークポイント位置等が小さい順番に配
例されているか等の正否判断を行ない、正しくな
い場合にはリターンとし、正しい場合には初期設
定たる軸の同期(原点設定)がとれているかを判
断し(ステツプS3)、同期がとれていれば機械が
現在どのブロツクに停止しているかをメモリとし
てのレジスタ1にセツトする(ステツプS4)。こ
の例ではブロツクに機械が停止しているので、
レジスタ1には「3」がセツトされる。そして、
最後にストロークリミツトSL内にいるか否かを
確認(ステツプS5)してから、レジスタ2及び
3の内容を「0」とすると共に、レジスタ1の内
容「3」をレジスタ4にセツトし(ステツプ
S6)、レジスタ5にレジスタ4が記憶しているブ
ロツク(この例では)のピツチ(この例では
p3)をセツトしてその正負を判別する(ステツ
プS7)。しかして、当該ピツチが0の場合にはそ
のままとし、正の場合にはレジスタ3を「1」と
し(ステツプS8)、負の場合にはレジスタ5のピ
ツチを絶対値化して正すると共に、レジスタ3に
負を示す「−1」をセツトする(ステツプS9)。
この例ではピツチp3は正であるので、レジスタ
3に「1」がセツトされる。こうしてレジスタ5
の正負が判別されると、レジスタ6に現在位置の
1つ前の補正点(この例ではCM34)をセツトし
(ステツプS10)、前にいたブロツクのブレークポ
イント位置BPF(この例ではBP2)から指令位
置XN(この例ではX2、X3)を引き、その正負を
判別する(ステツプS11)。そして、その差が負
の場合には後述する下側ブロツクへの移動ルーチ
ンAとなり、0以下の場合にはレジスタ4の内容
(この例では「3」)に「1」を加算して上側のブ
ロツク(この例では)を求め(ステツプS12)、
次にそのブレークポイント位置BPRから指令位
置XNを引き、その正負を更に判別する(ステツ
プS13)。そして、その差が0以下の場合(この
例では指令位置X3の場合)には後述する上側ブ
ロツクへの移動ルーチンBとなり、正の場合(こ
の例では指令位置X2の場合)には同一ブロツク
内での移動であるとし、次に述べるような同一ブ
ロツク内での移動ルーチンに移る。このように、
現在位置に対応するブロツクのブレークポイント
位置と、当該ブロツクの1つ上側のブロツクのブ
レークポイント位置と、現在位置との大小から指
令位置が当該ブロツク内にあるか、上側のブロツ
ク又は下側のブロツクにあるかを判別する。
First, when the correction operation starts (step S1), it is determined whether the correction table as shown in FIG. 3 is correct (step S2). In this case, it is determined whether the breakpoint positions are arranged in descending order, etc., and if it is not correct, returns, and if it is correct, it is checked whether the initial setting of axis synchronization (origin setting) is achieved. It is determined (step S3), and if synchronization is achieved, the block in which the machine is currently stopped is set in register 1 as memory (step S4). In this example, the machine is stopped at the block, so
Register 1 is set to "3". and,
Finally, after confirming whether or not the stroke limit SL is within the stroke limit SL (step S5), the contents of registers 2 and 3 are set to ``0'', and the contents of register 1 to ``3'' are set to register 4 (step S5).
S6), the pitch (in this example) of the block (in this example) stored in register 4 in register 5
p3) and determine whether it is positive or negative (step S7). If the pitch is 0, it is left as is, if it is positive, register 3 is set to "1" (step S8), and if it is negative, the pitch in register 5 is converted to an absolute value and corrected, and the pitch is 3 is set to "-1" indicating a negative value (step S9).
In this example, pitch p3 is positive, so "1" is set in register 3. Thus register 5
When it is determined whether the correction point is positive or negative, the correction point immediately before the current position (CM34 in this example) is set in register 6 (step S10), and the correction point is set from the break point position BPF (BP2 in this example) of the previous block. The command position XN (X 2 , X 3 in this example) is subtracted and its sign is determined (step S11). If the difference is negative, the routine moves to the lower block (described later), and if it is less than 0, "1" is added to the contents of register 4 ("3" in this example) and the upper block is moved. Find the block (in this example) (step S12),
Next, the command position XN is subtracted from the break point position BPR, and its sign is further determined (step S13). If the difference is less than 0 (in this example, in the case of command position Assuming that the movement is within a block, we proceed to a movement routine within the same block as described below. in this way,
Based on the size of the breakpoint position of the block corresponding to the current position, the breakpoint position of the block one block above the current position, and the current position, it is possible to determine whether the command position is within the block, the upper block, or the lower block. Determine whether it is present.

しかして、現在位置X1に対して指令値X2が与
えられた場合の如く、同一ブロツク内での移動ル
ーチンに移ると、先ずレジスタ7に指令位置(こ
の例ではX2)をセツトすると共に、この指令位
置を記憶したレジスタ7から1つ前の補正点
CM34を記憶しているレジスタ6を減算してその
差をレジスタ7の内容とし(ステツプS14)、そ
の差が正となるか否かを判別する(ステツプ
S15)。そして、その差が負の場合には、レジス
タ2からレジスタ3を減算してその差をレジスタ
2にセツトすると共に、レジスタ6からレジスタ
5を減算してその差をレジスタ6にセツトし(ス
テツプS16)、上記レジスタ7における差が正の
場合には次のステツプS17に移る。しかして、こ
の例ではレジスタ7の値は正となつているのでス
テツプS17に移り、指令位置X2と補正点CM34と
の差を記憶しているレジスタ7の内容から当該ブ
ロツクのピツチ(p3)を記憶しているレジスタ
5の内容を減算し、その差をレジスタ7にセツト
して負であるか否かを調べる。そして、その差が
正又は0の場合は、レジスタ2の内容「0」とレ
ジスタ3の内容「1」とを加算してレジスタ2に
セツトすると共に、レジスタ6の内容「CM34」
とレジスタ5の内容「p3」とを加算してその加
算値をレジスタ6にセツトする(ステツプS19)。
これにより、補正量を累積するレジスタ2の内容
が「1」になると共に、現在位置に対する1つ前
の補正点がCM34からCM33に更新する。しかし
て、レジスタ7の内容が負になるまで上述の動作
が繰返されることになるので、レジスタ7が負に
なつた時点では結局レジスタ2は位置X1からX2
までの移動に際しての補正量を記憶していること
になり、レジスタ6は位置X2の1つ前の補正点
CM32を記憶していることになる。こうして、ス
テツプS18の判断が負になると、レジスタ6は現
在位置X2に対して1つ前の補正点CM32に更新し
(ステツプS20)、レジスタ2の補正量とサーボ指
令値とを加算した内容をレジスタ2にセツトし、
この補正された値を軸の指令値とする(ステツプ
S21)。したがつて、この例の場合には、指令値
X2に対して1μずつの減算補正を2回行なうよう
な指令となる。
Therefore, when moving to a movement routine within the same block, such as when command value X 2 is given for current position X 1 , first the command position (X 2 in this example) is set in register 7, and , the previous correction point from register 7 that stored this command position
The value of register 6 that stores CM34 is subtracted and the difference is set as the content of register 7 (step S14), and it is determined whether the difference is positive or not (step S14).
S15). If the difference is negative, register 3 is subtracted from register 2 and the difference is set in register 2, and register 5 is subtracted from register 6 and the difference is set in register 6 (step S16). ), if the difference in the register 7 is positive, the process moves to the next step S17. In this example, the value of register 7 is positive, so the process moves to step S17, and the pitch (p3) of the block is determined from the contents of register 7, which stores the difference between command position X2 and correction point CM34. The contents of register 5, which stores , are subtracted, the difference is set in register 7, and it is checked whether it is negative. If the difference is positive or 0, the content "0" of register 2 and the content "1" of register 3 are added and set in register 2, and the content "CM34" of register 6 is added.
and the contents "p3" of register 5 are added and the added value is set in register 6 (step S19).
As a result, the contents of the register 2 for accumulating correction amounts become "1", and the previous correction point for the current position is updated from CM34 to CM33. The above operation will be repeated until the contents of register 7 become negative, so that at the point when register 7 becomes negative, register 2 will eventually move from position X 1 to X 2
This means that the amount of correction for moving up to
This means that you will remember CM32. In this way, when the judgment in step S18 becomes negative, register 6 updates the current position is set in register 2,
This corrected value is used as the axis command value (step
S21). Therefore, in this example, the command value
This is a command to perform subtraction correction of 1μ twice for X 2 .

一方、指令位置をX3とした場合にはステツプ
S13から上側ブロツクへの移動ルーチンBとなる
が、この場合には先ず上述と同様に旧ブロツク
(この例では)内の補正を行なう(ステツプ
S40)。そして、現ブロツクの番号(この例では
「3」)を記憶しているレジスタ1に「1」を加算
して「4」とし(ステツプS41)、このブロツク
(この例では)に相当するブレークポイント位
置BP(この例ではBP3)をレジスタ6にセツト
すると共に、レジスタ4の内容を更新されたブロ
ツクに対応して「4」とする(ステツプS42)。
次に、レジスタ5にレジスタ4が記憶しているブ
ロツク(この例では)のピツチ(この例では
p4)をセツトしてその正負を判別する(ステツ
プS43)が、それが正の場合にはレジスタ8に正
を示す「1」をセツトし(ステツプS44)、負の
場合にはレジスタ5のピツチを絶対値化して正に
すると共に、レジスタ8に負を示す「−1」をセ
ツトする(ステツプS45)。0の場合には「0」
をセツトする(ステツプS44A)。この例ではピツ
チp4は負であるので、レジスタ8に「−1」が
セツトされる。そして、レジスタ3とレジスタ8
の符号が変わつたか否かを判別し(ステツプ
S46)、変化した場合にはステツプS49に飛んで補
正処理を行なわないで、新ブロツク内の補正が終
了したか否かを判別する。終了していない場合に
は、ブレークポイント位置BP3を記憶している
レジスタ6とピツチp4を記憶しているレジスタ
5とを加算し、レジスタ6にその加算値をセツト
し(ステツプS48)、レジスタ2の内容とレジス
タ8の内とを加算してレジスタ2にセツトする
(ステツプS47)。しかして、この例ではレジスタ
8に「−1」がセツトされているのでレジスタ2
の内容は「−1」となり、以下新ブロツク内の補
正が終了するまで上記処理が繰返される。なお、
レジスタ3とレジスタ8の符号が同一で変化しな
い場合にはステツプS47の処理が行なわれるの
で、レジスタ8の内容がレジスタ2に加算される
ことにより補正が行なわれることになる。かくし
て新ブロツク内の補正が終了すると、前述のステ
ツプS20以下の処理が実行される。したがつて、
この場合におけるレジスタ2の内容は、補正点
CM33で減算補正、補正点CM32で減算補正、補
正点CM31で減算補正、ブレークポイント位置
BP3では補正を行なわず、補正点CM41及び
CM42でそれぞれ加算補正を行なうようになつて
いるので、位置X1からX3に対するトータルでは
1回の減算補正を行なう内容となつている。
On the other hand, if the command position is set to X 3 , the step
From S13, routine B moves to the upper block, but in this case, the correction in the old block (in this example) is first performed in the same way as described above.
S40). Then, add "1" to register 1 that stores the number of the current block ("3" in this example) to make it "4" (step S41), and set the breakpoint corresponding to this block (in this example). The position BP (BP3 in this example) is set in the register 6, and the contents of the register 4 are set to "4" corresponding to the updated block (step S42).
Next, the pitch (in this example) of the block (in this example) stored in register 4 is stored in register 5.
p4) and determines whether it is positive or negative (step S43). If it is positive, "1" indicating positive is set in register 8 (step S44), and if it is negative, the pitch of register 5 is set. is converted into an absolute value and made positive, and "-1" indicating a negative value is set in register 8 (step S45). "0" if 0
(step S44A). In this example, pitch p4 is negative, so "-1" is set in register 8. And register 3 and register 8
Determine whether the sign of has changed (step
S46), if there has been a change, the process jumps to step S49 to determine whether or not the correction in the new block has been completed without performing correction processing. If the breakpoint position BP3 has not been completed, register 6 that stores the breakpoint position BP3 is added to register 5 that stores the pitch p4, and the added value is set in register 6 (step S48). The contents of and the contents of register 8 are added and set in register 2 (step S47). However, in this example, since "-1" is set in register 8, register 2
The content becomes "-1", and the above process is repeated until the correction in the new block is completed. In addition,
If the signs of register 3 and register 8 are the same and do not change, the process of step S47 is performed, so that the contents of register 8 are added to register 2, thereby performing correction. When the correction in the new block is completed in this way, the processes from step S20 described above are executed. Therefore,
The contents of register 2 in this case are the correction point
Subtraction correction at CM33, subtraction correction at correction point CM32, subtraction correction at correction point CM31, breakpoint position
No correction is performed in BP3, and correction points CM41 and
Since addition correction is performed for each CM42, one subtraction correction is performed in total for positions X 1 to X 3 .

さらに、下側ブロツクへ移動するルーチンは第
5図Bに示すように、上側ブロツクへ移動する場
合の動作と逆となつているだけで、その原理は全
く同一である。
Furthermore, as shown in FIG. 5B, the routine for moving to the lower block is simply the reverse of the operation for moving to the upper block, but the principle is exactly the same.

以上のようにこの発明の補正方法によれば、軸
の移動における誤差を直線で近似し、その交点及
び直線勾配をパラメータとして記憶させておき、
これに基づいて補正するようにしているので、軸
移動のストロークが長い大型機械に対してもメモ
リ容量が小さくて済み、パラメータの変更も容易
となり、かつ高い精度を保証できるという利点が
ある。
As described above, according to the correction method of the present invention, the error in the movement of the axis is approximated by a straight line, and the intersection point and the straight line gradient are stored as parameters,
Since correction is performed based on this, there are advantages in that the memory capacity is small even for large machines with long axis movement strokes, parameters can be easily changed, and high accuracy can be guaranteed.

なお、上述ではX軸の補正について述べたが、
他の軸についても同様の補正を行ない得る。ま
た、各誤差特性曲線のピツチを定めるのに誤差
1μとしているが、単位の長さは任意に決めるこ
とができる。
In addition, although the above mentioned the correction of the X axis,
Similar corrections can be made for other axes. In addition, the error is required to determine the pitch of each error characteristic curve.
Although it is assumed to be 1μ, the length of the unit can be arbitrarily determined.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は工作機械のX軸の移動量に対するその
移動方向と同一方向X′の誤差の測定例を示す誤
差グラフ、第2図はこの発明による誤差特性曲線
の一例を示す図、第3図はこの発明による補正テ
ーブルの一例を示す図、第4図はこの発明による
補正方式の原理を説明するための図、第5図A〜
Cはこの発明の具体的な補正方法の一例を示すフ
ローチヤートである。 l1〜l4……誤差特性曲線、SP……始点、
SL……ストロークリミツト、BP1〜BP3……
ブレークポイント位置、M1〜M9……メモリ。
Fig. 1 is an error graph showing an example of measuring the error in the same direction X' as the moving direction of the machine tool against the amount of movement of the X-axis, Fig. 2 is a diagram showing an example of the error characteristic curve according to the present invention, and Fig. 3 is a diagram showing an example of the correction table according to the present invention, FIG. 4 is a diagram for explaining the principle of the correction method according to the present invention, and FIGS.
C is a flowchart showing an example of a specific correction method of the present invention. l1 to l4...error characteristic curve, SP...starting point,
SL……Stroke limit, BP1~BP3……
Breakpoint position, M1 to M9...memory.

Claims (1)

【特許請求の範囲】[Claims] 1 工作機械の軸の移動量に対するその移動方向
と同一方向の誤差を順次測定し、この測定誤差デ
ータから直線近似の誤差特性曲線を求め、前記誤
差特性曲線の折曲点に対応する前記軸の位置を示
すブレークポイント位置と、それぞれ前記ブレー
クポイント位置の間隔の整数分の1となり、かつ
所定単位長さの誤差に対する前記軸の移動量を前
記誤差特性曲線の各直線勾配としたピツチとを記
憶させておき、前記軸の移動に対して、前記ピツ
チに対応する補正点を通過する毎に前記所定単位
長さで補正を行なうと共に、前記各ブレークポイ
ント位置を通過する時には、誤差が増えないよう
に前後の特性曲線の傾きの変化に基づいて補正を
行なうか行なわないかを判断するようにしたこと
を特徴とする工作機械におけるピツチ誤差補正方
法。
1. Sequentially measure the error in the same direction as the movement direction of the axis of the machine tool with respect to the amount of movement, obtain an error characteristic curve of linear approximation from this measurement error data, and find the error characteristic curve of the axis corresponding to the bending point of the error characteristic curve. A breakpoint position indicating a position and a pitch which is an integer fraction of the interval between the breakpoint positions and whose movement amount of the axis for a predetermined unit length error is each linear slope of the error characteristic curve are stored. Then, the movement of the axis is corrected by the predetermined unit length each time it passes a correction point corresponding to the pitch, and when passing each break point position, the error is not increased. A pitch error correction method for a machine tool, characterized in that whether or not to perform correction is determined based on a change in the slope of a characteristic curve before and after the pitch error.
JP21356781A 1981-12-28 1981-12-28 Correcting system of pitch error in machine tool Granted JPS58114840A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21356781A JPS58114840A (en) 1981-12-28 1981-12-28 Correcting system of pitch error in machine tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21356781A JPS58114840A (en) 1981-12-28 1981-12-28 Correcting system of pitch error in machine tool

Publications (2)

Publication Number Publication Date
JPS58114840A JPS58114840A (en) 1983-07-08
JPH0134749B2 true JPH0134749B2 (en) 1989-07-20

Family

ID=16641342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21356781A Granted JPS58114840A (en) 1981-12-28 1981-12-28 Correcting system of pitch error in machine tool

Country Status (1)

Country Link
JP (1) JPS58114840A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6119540A (en) * 1984-07-05 1986-01-28 Niigata Eng Co Ltd Compensating method of feed screw pitch error in numerically controlled machine tool
JPS6294251A (en) * 1985-10-17 1987-04-30 Toshiba Mach Co Ltd Device for controlling position
JPS6434632A (en) * 1987-07-29 1989-02-06 Okuma Machinery Works Ltd Positioning error compensator

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5135673A (en) * 1974-09-21 1976-03-26 Shimadzu Corp NETSUSHORISOCHI
JPS5341317A (en) * 1973-07-17 1978-04-14 Sakai Jiike Goushi Mold supporting apparatus in glass molding machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5341317A (en) * 1973-07-17 1978-04-14 Sakai Jiike Goushi Mold supporting apparatus in glass molding machine
JPS5135673A (en) * 1974-09-21 1976-03-26 Shimadzu Corp NETSUSHORISOCHI

Also Published As

Publication number Publication date
JPS58114840A (en) 1983-07-08

Similar Documents

Publication Publication Date Title
KR102123173B1 (en) Automatic conversion device for thermal displacement compensation parameters and conversion method for machine tools
US5237509A (en) Method and apparatus for compensating positional errors
EP0318557B1 (en) Workpiece inspection method
CN1214895C (en) Mfg. system and method
US4393449A (en) Numerically controlled machine tool
JP4803491B2 (en) Position correction device for machine tool
EP0078856B2 (en) Numerical control device
CN107664985B (en) CAD/CAM-CNC integrated system
US20180088554A1 (en) Numerical controller
US8473092B2 (en) Complete round working method and complete round working device in NC machine tool
JPH0134749B2 (en)
JPH0150544B2 (en)
EP0451795A2 (en) Numerical control unit with compensation for offset error
JP2673810B2 (en) Drawing method using spinning machine
KR102498237B1 (en) The Manufacturing system of rolling dies for making screw
JP2000099119A (en) Correcting method for ball screw pitch error
JPH05187868A (en) Calculation method of straightness error and correction method of measured value in detector feed direction of rotation-direct-acting function type circularity measurement machine
JP2886253B2 (en) Scale device used for error correction of drive system etc. in NC processing machine
KR100458453B1 (en) A correction apparatus and correction method for a automatic lathe
JPS6195853A (en) Automatic measuring device of numerical control machine tool
JPH0646848U (en) Tool breakage detector
KR0155777B1 (en) Pitch error compensation device and pitch error compensation data setting method using laser measuring instrument
KR100198525B1 (en) Automatic tool compsensation device and method for a nc machine tool
JP2753724B2 (en) Compensation method for machine tools
JP2886219B2 (en) Error correction device such as drive system in NC machine