JPH05165514A - 数値制御装置の補間方式 - Google Patents

数値制御装置の補間方式

Info

Publication number
JPH05165514A
JPH05165514A JP35068091A JP35068091A JPH05165514A JP H05165514 A JPH05165514 A JP H05165514A JP 35068091 A JP35068091 A JP 35068091A JP 35068091 A JP35068091 A JP 35068091A JP H05165514 A JPH05165514 A JP H05165514A
Authority
JP
Japan
Prior art keywords
block
minute
straight line
interpolation
value
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
JP35068091A
Other languages
English (en)
Inventor
Takao Sasaki
隆夫 佐々木
Toshiaki Otsuki
俊明 大槻
Tomoaki Ishibe
知明 石邊
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 JP35068091A priority Critical patent/JPH05165514A/ja
Publication of JPH05165514A publication Critical patent/JPH05165514A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】 【目的】 与えられた微小直線ブロックのデータから自
由曲面の曲線や直線を正確に再生することのできる数値
制御装置の補間方式を提供すること。 【構成】 判定対象となる微小直線ブロックb−cの両
端の点b,cおよび前ブロックの始点aを結ぶ円弧ab
cと該微小直線ブロックb−cとの間の最大離間距離T
Ra、並びに、該微小直線ブロックb−cの両端の点
b,cおよび後ブロックの終点dを結ぶ円弧bcdと該
微小直線ブロックb−cとの間の最大離間距離TRbを
求める。値の大きな方の最大離間距離が設定値ε′の範
囲内にあるか否かにより、微小直線ブロックb−cを補
間する滑らかな曲線と微小直線ブロックb−cとの間の
最大離間距離が設定値ε′の範囲内に収まるか否かを判
定し、範囲内に収まれば微小直線ブロックb−cを曲線
補間する一方、収まらなければ微小直線ブロックb−c
を直線補間することにより、所期の自由曲面の曲線や直
線を正確に再生する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、数値制御装置の補間方
式の改良に関する。
【0002】
【従来の技術】数値制御装置で駆動制御される工作機械
で自由曲面の加工を行う場合、数値制御装置への加工デ
ータは所期の自由曲面を直線近似して得た微小直線ブロ
ックを連続的に加工するプログラムによって与えられる
が、この加工プログラムで工作機械をそのまま駆動する
と加工面の面粗度が劣化する。また、微小直線の屈折部
分等を加工する際に切込み量が断続的に変化することに
もなるので、工作機械の主軸等に与える衝撃も案じられ
る。このような問題は、加工プログラムで与えられた微
小直線ブロックのデータに基いて数値制御装置に曲線補
間を行わせ、所期の自由曲面の形状を再生した後、この
形状に沿って工作機械の工具を滑らかに相対移動させる
ことによって解消することができる。これらの点に鑑
み、数値制御装置に曲線補間を行わせて所期の自由曲面
の形状を再生するための方式として、判定対象となる微
小直線ブロックと該判定対象ブロックに隣接する微小直
線ブロックとの成す角の大きさ、および、該判定対象ブ
ロックの長さに基いて、この判定対象ブロックが曲線補
間すべきものであるのか直線補間すべきものであるのか
を判定するようにした数値制御装置の補間方式が、既
に、特願平1−212493として提案されている。
【0003】特願平1−212493として提案された
補間方式は、判定対象ブロックの長さが予め設定された
設定長よりも短く、かつ、判定対象ブロックとこれに隣
接する微小直線ブロックとの成す角が予め設定された設
定角よりも大きい場合に限り判定対象ブロックを曲線補
間するものと判定し、これ以外の場合には、全て直線補
間として判定するものである。例えば、図7に実線で示
されるような所期の自由曲面を定義するために点A〜点
Iで示す分割点で直線近似を行って破線で示すような微
小直線ブロックを生成し、数値制御装置のための加工デ
ータを作成したとする。図7に示す例では、点Aから点
Bを経由して点Iに至る自由曲面の区間が全て曲線で形
成されているから、この区間を全て曲線補間させるため
には、この区間内で隣接する2つの微小直線ブロックの
成す最も小さな角、即ち、微小直線ブロックD−EとE
−Fとが成す角θよりも設定角の値を小さくしなければ
ならず、また、この区間内にある最長の微小直線ブロッ
ク、即ち、微小直線ブロックA−Bの長さLよりも設定
長の値を大きくしなければならない。しかし、このよう
な設定操作を行うと、微小直線ブロックH−IとI−A
との成す角θ′が設定角の値より大きくなり、しかも、
微小直線ブロックI−Aの長さL′が設定長の値よりも
短くなるので、微小直線ブロックI−Aを判定対象ブロ
ックとしたときの判定結果が曲線補間となり、本来直線
であるべき区間I−Aが図中Sの一点鎖線で示されるよ
うな曲線補間で定義されてしまい、所期の自由曲面が正
しく再生されないといった問題が生じる。
【0004】また、自動プログラミング装置等によって
数値制御装置の加工プログラムを作成する場合には、自
由曲面を直線近似する微小直線ブロックが所期の自由曲
面から一定限度以上離れないように離間限度を設定して
分割点を指定した後、この分割点のデータ、即ち、隣接
する分割点を連絡する微小直線ブロックによって所期の
自由曲面を定義するようにしているが、数値制御装置に
入力される加工データは所期の自由曲面を直線近似して
得た微小直線ブロックでしかない。例えば、図6に実線
で示されるような所期の自由曲面を定義するために、離
間限度をεに設定して、点A〜点Mで示す分割点で直線
近似を行って破線で示すような微小直線ブロックを生成
し、数値制御装置のための加工データを作成したとす
る。これらの微小直線ブロックから図6に示されるよう
な所期の自由曲面を再生するためには点B,点G,点L
の近傍を滑らかな曲線で補間することは許されず、これ
らの点に隣接する微小直線ブロックは直線補間しなけれ
ばならないが、特願平1−212493の補間方式で
は、基本的に、ブロックの長さが短くて隣接するブロッ
クとの成す角が大きな判定対象ブロックが全て曲線補間
されてしまうため、図6に示されるように各微小直線ブ
ロックの長さが大きく異なったり自由曲面の屈曲や屈折
状態が様々に変化するような場合では、判定基準となる
値を単一の設定角や設定長で間に合わせることは困難
で、これらの設定値を各微小直線ブロック毎または微小
直線ブロックのグループ毎に設定しなければならなくな
ることもあり、設定操作が非常に面倒になる。
【0005】
【発明が解決しようとする課題】本発明の目的は、前記
従来技術の欠点を解消し、与えられた微小直線ブロック
のデータから所期の自由曲面の曲線や直線を正確に再生
することができ、しかも、簡単な設定操作でこれを行う
ことのできる数値制御装置の補間方式を提供することに
ある。
【0006】
【課題を解決するための手段】本発明の補間方式は、微
小直線ブロックを滑らかな曲線で補間した軌跡と該微小
直線ブロックとの間の最大離間距離を求め、離間距離が
予め設定された設定値の範囲内であれば該微小直線ブロ
ックを曲線補間すると共に、離間距離が設定値の範囲を
越えると前記微小直線ブロックを直線補間することによ
り前記目的を達成した。
【0007】また、補間方法の判定対象となる微小直線
ブロックの両端と該判定対象ブロックの前ブロックの始
点とを結ぶ円弧軌跡と該判定対象ブロックとの間の最大
離間距離と、判定対象ブロックの両端と該判定対象ブロ
ックの後ブロックの終点とを結ぶ円弧軌跡と該判定対象
ブロックとの間の最大離間距離とを求め、少なくとも一
方の離間距離が予め設定された設定値の範囲を越えると
該判定対象ブロックを直線補間すると共に、いずれの離
間距離も設定値の範囲内にあれば前記判定対象ブロック
を曲線補間することにより同様の目的を達成した。
【0008】
【作用】判定基準となる離間距離の設定値を予め数値制
御装置に設定しておく。自由曲面を複数個の微小直線ブ
ロックで近似したプログラムを数値制御装置に入力する
と、数値制御装置は与えられた微小直線ブロックを順次
読込み、微小直線ブロックを滑らかな曲線で補間した軌
跡を求める。数値制御装置は、更に、各微小直線ブロッ
クと該微小直線ブロックを補間した滑らかな直線との間
の最大離間距離を求め、この離間距離が予め設定された
設定値の範囲内であれば該微小直線ブロックを曲線補間
するものと判定する一方、離間距離が設定値の範囲を越
えていれば該微小直線ブロックを直線補間するものとし
て判定する。
【0009】また、微小直線ブロックを読込んだ数値制
御装置は、補間方法の判定対象となる微小直線ブロック
の両端と該判定対象ブロックの前ブロックの始点とを結
ぶ円弧と、該判定対象ブロックの両端と後ブロックの終
点とを結ぶ円弧とを生成し、各円弧軌跡と該判定対象ブ
ロックとの間の最大離間距離を求め、少なくとも一方の
円弧の離間距離が予め設定された設定値の範囲を越える
と該判定対象ブロックを直線補間するものと判定する一
方、いずれの円弧の離間距離も設定値の範囲内にあれば
前記判定対象ブロックを曲線補間するものとして判定す
る。
【0010】曲線補間するか直線補間するかの判定が判
定対象ブロックの長さに直接依存せず、自由曲面各部の
曲率に基いて行われるので、所期の自由曲面の曲線や直
線を正確に再生することができ、また、判定基準となる
離間距離の設定値は自動プログラミングの段階で用いた
離間限度に基いて設定すれば良く、しかも、設定すべき
パラメータが一種のみであるから判定基準の設定操作が
簡単になる。
【0011】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は本発明の方式を実施する一実施例の数値制
御装置(以下、CNCという)10のハードウェアを示
すブロック図である。プロセッサ11はCNC10全体
を制御するプロセッサであり、バス21を介して、RO
M12に格納されたシステムプログラムを読み出し、こ
のシステムプログラムに従って、CNC10を全体的に
制御する。RAM13には一時的な計算データや表示デ
ータおよびCRT/MDIユニット70を介してオペレ
ータが入力した各種データ等が格納される。CMOSメ
モリ14は図示しないバッテリでバックアップされ、C
NC10の電源がオフにされても記憶状態が保持される
不揮発性メモリとして構成されている。
【0012】インターフェイス15はCNC10に接続
する外部機器のためのインターフェイスであり、紙テー
プリーダや紙テープパンチャーおよび紙テープリーダ・
紙テープパンチャー(一体型のもの)等の外部機器72
が接続される。紙テープリーダからは、自動プログラミ
ング装置等の処理により自由曲面を複数個の微小直線ブ
ロックで近似した自由曲面加工のための加工プログラム
等を始め、各種の加工プログラムが読み込まれ、また、
CNC10内で編集されたプログラムは紙テープパンチ
ャーに出力することができる。
【0013】PMC(プログラマブル・マシン・コント
ローラ)16は、CNC10に内臓されたシーケンスプ
ログラムで工作機械側の補助装置、例えば、工具交換用
のロボットハンド等といったアクチュエータを制御す
る。即ち、加工プログラムで指令されたM機能,S機能
およびT機能に従って、これらシーケンスプログラムで
補助装置側で必要な信号に変換し、I/Oユニット17
から補助装置側に出力する。この出力信号により各種ア
クチュエータ等の補助装置が作動するようになってい
る。また、工作機械機本体や補助装置側のリミットスイ
ッチおよび工作機械本体に配備された操作盤の各種スイ
ッチ等の信号を受け、必要な処理をして、プロセッサ
(以下、CPUという)11に渡す。
【0014】工作機械各軸の現在位置,アラーム,パラ
メータ,画像データ等の画像信号はCRT/MDIユニ
ット70に送られ、そのディスプレイに表示される。C
RT/MDIユニット70はディスプレイやキーボード
等を備えた手動データ入力装置であり、インータフェイ
ス18はCRT/MDIユニット70のキーボードから
のデータを受けてCPU11に渡す。インターフェイス
19は手動パルス発生器71に接続され、手動パルス発
生器71からのパルスを受ける。手動パルス発生器71
は工作機械本体の操作盤に実装され、手動操作に基く分
配パルスによる各軸制御で工作機械の可動部を精密に位
置決めするために使用される。
【0015】軸制御回路30〜34はCPU11からの
各軸の移動指令を受けて、各軸の指令をサーボアンプ4
0〜44に出力する。サーボアンプ40〜44はこの指
令を受けて、各軸のサーボモータ50〜54を駆動す
る。X,Y,Z,U,V軸のサーボモータ50〜54に
は位置検出用のパルスコーダが内蔵されており、このパ
ルスコーダからの位置信号がパルス列としてフィードバ
ックされる。場合によっては、位置検出器として、リニ
アスケールが使用される。また、このパルス列をF/V
(周波数/速度)変換することにより、速度信号を生成
することができる。図ではこれらの位置信号のフィード
バック及び速度フィードバックは省略している。
【0016】スピンドル制御回路60はスピンドル回転
指令およびスピンドルのオリエンテーション等の指令を
受けて、スピンドルアンプ61にスピンドル速度信号を
出力する。スピンドルアンプ61はこのスピンドル速度
信号を受けて、スピンドルモータ62を指令された回転
速度で回転させる。また、オリエンテーション指令によ
って、所定の位置にスピンドルを位置決めする。
【0017】スピンドル制御回路60はCPU11から
の主軸回転指令を受け、スピンドルアンプ61にスピン
ドル速度信号を出力する。スピンドルアンプ61はこの
スピンドル速度信号を受けて、工作機械の工具軸を回転
するスピンドルモータ62を指令された回転速度で回転
させる。スピンドルモータ62には歯車あるいはベルト
等でポジションコーダ63が結合され、該ポジションコ
ーダ63が主軸の回転に同期して帰還パルスを出力し、
その帰還パルスはインターフェイス20を経由してCP
U11に読み取られる。実施例では5軸分の軸制御回路
とサーボアンプとを有するミリングマシンについて示し
ているが、工作機械によりサーボアンプおよびサーボモ
ータの数は様々である。
【0018】CNC10および工作機械のハードウェア
に関する構成自体は従来のものと同様であるから、細部
の説明は省略する。
【0019】図2および図3はインターフェイス15を
介して紙テープリーダ等から読込んだ加工プログラムを
解析して各軸への移動指令を出力する際にCPU11が
行う「補間動作判別処理」の概略を示すフローチャート
であり、以下、このフロチャートと図5(a)乃至図5
(e)に示す作用原理図を参照して実施例のCNC10
による処理動作を説明する。なお、直線補間を行うか曲
線補間を行うかの判定基準となる設定値ε′の値はCR
T/MDIユニット70を介して予めCNC10に設定
されおり、この場合の設定値ε′の値は微小直線ブロッ
クで自由曲面を定義するための自動プログラミングで用
いた離間限度εと同等、もしくは、僅かに大きな値であ
るとする。また、紙テープリーダ等を介して読込まれる
加工プログラムは図5(a)に示されるように微小直線
ブロックa−b,b−c,c−d,d−e,e−fで構
成されているものとする。
【0020】まず、指標iに1を設定してNCテープの
読込みを開始したCPU11は(ステップS1)、NC
テープの加工プログラムから第i=1番目の微小直線ブ
ロックa−bを読込み(ステップS2)、レジスタRp
sに当該微小直線ブロックの始点aの座標値を記憶する
一方、レジスタRnsには終点bの座標値を記憶する
(ステップS3)。
【0021】次いで、CPU11は第i+1=2番目の
微小直線ブロックb−cを読込み(ステップS4)、指
標iの現在値が1であるか否か、即ち、直線補間を行う
か曲線補間を行うかの判定対象となっている微小直線ブ
ロック(以下、判定対象ブロックという)が第1番目の
微小直線ブロックであるか否かを判別する(ステップS
5)。
【0022】この場合、指標iの値は1であるから、C
PU11は今回読込んだ微小直線ブロックの終点cの座
標値をレジスタRneに記憶し(ステップS6)、レジ
スタRps(点aを記憶),レジスタRns(点bを記
憶),レジスタRne(点cを記憶)の各々に記憶され
ている座標値に基いて、判定対象ブロックとなる第i=
1番目の微小直線ブロックa−bの両端a,bと後ブロ
ックである第i+1=第2番目の微小直線ブロックの終
点cとを結ぶ円弧の軌跡を求め、判定対象ブロックとな
る第i=1番目の微小直線ブロックと該円弧との間の最
大離間距離(以下、トレランスという)TRbを算出し
てレジスタTR2に記憶することとなる(ステップS
7)。そして、CPU11は、レジスタTR2に記憶さ
れたトレランスTRbの値と設定値ε′との大小関係を
比較し(ステップS8)、トレランスTRbの値が設定
値ε′の範囲内にあれば対象ブロックとなる第i=1番
目の微小直線ブロックを曲線補間のブロックとして記憶
する一方(ステッS9)、トレランスTRbの値が設定
値ε′の範囲を越えていれば該対象ブロックを直線補間
のブロックとして記憶した後(ステッS10)、指標i
の値を1インクリメントして(ステップS11)、再
び、ステップS4の処理に復帰する(指標iの現在値は
2となる)。即ち、図5(a)に示されるように第i=
1番目の微小直線ブロックa−bが判定対象ブロックと
なった場合には判定対象ブロックの前のブロックが存在
しないので、CPU11は、前記ステップS6乃至ステ
ップS9またはステップS10の処理により、判定対象
ブロックの両端と後ブロックの終点とを結ぶ円弧による
トレランスTRbのみを用いて直線補間か曲線補間かの
判定を行うこととなる。
【0023】そして、ステップS4の処理で第i+1=
第3番目の微小直線ブロックc−dを読込んだCPU1
1は、指標iの現在値が1であるか否かを判別するが
(ステップS5)、この場合、判定対象ブロックを示す
指標iの値は2であるから、今回読込んだ微小直線ブロ
ックの終点dの座標値をレジスタRfeに記憶し(ステ
ップS12)、レジスタRps(点aを記憶),レジス
タRns(点bを記憶),レジスタRne(点cを記
憶)の各々に記憶されている座標値に基いて、判定対象
ブロックとなる第i=2番目の微小直線ブロックb−c
の両端b,cと前ブロックである第i−1=第1番目の
微小直線ブロックの始点aとを結ぶ円弧の軌跡を求め、
判定対象ブロックとなる第i=2番目の微小直線ブロッ
クと該円弧との間のトレランスTRaを算出してレジス
タTR1に記憶する一方(ステップS13)、レジスタ
Rns(点bを記憶),レジスタRne(点cを記
憶),レジスタRfe(点dを記憶)の各々に記憶され
ている座標値に基いて、判定対象ブロックとなる第i=
2番目の微小直線ブロックb−cの両端b,cと後ブロ
ックである第i+1=第3番目の微小直線ブロックの終
点dとを結ぶ円弧の軌跡を求め、判定対象ブロックとな
る第i=2番目の微小直線ブロックと該円弧との間のト
レランスTRbを算出してレジスタTR2に記憶する
(ステップS14)。
【0024】次いで、CPU1はトレランスTRa(レ
ジスタTR1の値)とトレランスTRb(レジスタTR
2の値)の大小関係を比較し(ステップS15)、トレ
ランスTRbの値がトレランスTRaと同等以上であれ
ばトレランスTRbの値をレジスタTR2にそのまま保
持する一方、トレランスTRaの値がトレランスTRb
よりも大きければトレランスTRaの値をレジスタTR
2に移し換え(ステップS16)、レジスタTR2に常
に大きな方のトレランスの値が記憶されるようにする。
そして、CPU11は大きな方のトレランスの値(レジ
スタTR2の値)と設定値ε′との大小関係を比較し
(ステップS17)、大きな方のトレランスの値が設定
値ε′の範囲内にあれば対象ブロックとなる第i=2番
目の微小直線ブロックを曲線補間のブロックとして記憶
する一方(ステッS18)、大きな方のトレランスの値
が設定値ε′の範囲を越えていれば該対象ブロックを直
線補間のブロックとして記憶した後(ステッS19)、
今回読込んだ第i+1=第3番目の微小直線ブロックが
プログラムによって与えられた最終加工ブロックである
か否かを判別する(ステップS20)。この場合、第4
番目以降の微小直線ブロックが存在するから、ステップ
S20の判別結果は偽となり、CPU11は、レジスタ
Rns(点bを記憶),レジスタRne(点cを記
憶),レジスタRfe(点dを記憶)の記憶内容をそれ
ぞれレジスタRps,レジスタRns,レジスタRne
にシフトして記憶させ(ステップS21)、指標iの値
を1インクリメントして(ステップS11)、再び、ス
テップS4の処理に復帰する(ここで、指標iの現在値
は3となり、レジスタRps,Rns,Rneにはそれ
ぞれ点b,点c,点dの座標値が記憶される)。即ち、
図5(b)に示される第i=2番目の微小直線ブロック
b−cのように判定対象ブロックの前後に微小直線ブロ
ックが存在する場合には、前記ステップS12乃至ステ
ップS21の処理により、判定対象ブロックの両端と前
ブロックの始点とを結ぶ円弧によるトレランスTRaと
判定対象ブロックの両端と後ブロックの終点とを結ぶ円
弧によるトレランスTRbが求められて、値の大きな方
のトレランスと設定値ε′との関係に基いて、判定対象
ブロックを直線補間するか曲線補間するかの判定が行わ
れることとなる。
【0025】そして、ステップS4の処理で第i+1=
第4番目の微小直線ブロックd−eを読込んだCPU1
1は前記と同様にしてステップS5の判別処理を行った
後、今回読込んだ微小直線ブロックの終点eの座標値を
レジスタRfeに記憶し(ステップS12)、図5
(c)に示されるように、レジスタRps(点bを記
憶),レジスタRns(点cを記憶),レジスタRne
(点dを記憶)の各々に記憶されている座標値に基い
て、判定対象ブロックとなる第i=3番目の微小直線ブ
ロックc−dの両端c,dと前ブロックである第i−1
=第2番目の微小直線ブロックの始点bとを結ぶ円弧の
軌跡を求め、判定対象ブロックとなる第i=3番目の微
小直線ブロックと該円弧との間のトレランスTRaを算
出する一方(ステップS13)、レジスタRns(点c
を記憶),レジスタRne(点dを記憶),レジスタR
fe(点eを記憶)の各々に記憶されている座標値に基
いて、微小直線ブロックc−dの両端c,dと後ブロッ
クである第4番目の微小直線ブロックの終点eとを結ぶ
円弧の軌跡を求め、判定対象ブロックとなる第i=3番
目の微小直線ブロックと該円弧との間のトレランスTR
bを算出してレジスタTR2に記憶する(ステップS1
4)。
【0026】そして、前記と同様、トレランスTRaと
トレランスTRbの大小関係を比較して値の大きな方の
トレランスをレジスタTR2に保存し(ステップS1
5,ステップS16)、該トレランスと設定値ε′との
大小関係を比較して(ステップS17)、その比較結果
に応じ、第i=3番目の微小直線ブロックを曲線補間の
ブロックまたは直線補間のブロックとして記憶し(ステ
ッS18,ステップS19)、ステップS20の判別処
理を行った後、各レジスタの値をシフトさせて指標iの
値を1インクリメントし(ステップS21,ステップS
11)、ステップS4に復帰して第i+1=第5番目の
微小直線ブロックe−fを読込み、第i=第4番目の微
小直線ブロックを判定対象ブロックとしてステップS5
乃至ステップS18またはステップS19までの処理を
同様に行う(第i=4番目の微小直線ブロックd−eが
判定対象ブロックとなった時の各レジスタの記憶内容と
トレランスTRa,TRbの関係を図5(d)に示
す)。
【0027】しかし、第i=第4番目の微小直線ブロッ
クが判定対象ブロックとなったときには、第i+1番
目、即ち、第5番目の微小直線ブロックe−fが最終加
工ブロックとして検出されるため、ステップS20の判
別結果が真となり、ステップS18またはステップS1
9までの処理で第4番目の微小直線ブロックd−eの補
間方法を判定したCPU11は、レジスタレジスタRn
s(点dを記憶),レジスタRne(点eを記憶),レ
ジスタRfe(点fを記憶)の各々に記憶されている座
標値をそのまま保持し、第i+1番目の微小直線ブロッ
クe−fを判定対象ブロックとして、各レジスタRn
s,Rne,Rfeに記憶されている座標値に基いて、
微小直線ブロックe−fの両端e,fと前ブロックであ
る第4番目の微小直線ブロックの始点dとを結ぶ円弧の
軌跡を求め、判定対象ブロックとなる第i+1=5番目
の微小直線ブロックと該円弧との間のトレランスTRa
を算出してレジスタTR2に記憶し(ステップS2
2)、トレランスTRaの値と設定値ε′との大小関係
を比較して(ステップS23)、トレランスTRaの値
が設定値ε′の範囲内にあれば最終加工ブロックとなる
第i+1=5番目の微小直線ブロックを曲線補間のブロ
ックとして記憶する一方(ステッS24)、トレランス
TRaの値が設定値ε′の範囲を越えていれば該対象ブ
ロックを直線補間のブロックとして記憶し(ステッS2
5)、各微小直線ブロックの補間方法を判定するための
「補間動作判別処理」を全て終了する。即ち、図5
(e)に示されるように最終加工ブロックとなる微小直
線ブロックe−fが判定対象ブロックとなった場合には
判定対象ブロックの後のブロックが存在しないので、C
PU11は、前記ステップS22乃至ステップS24ま
たはステップS25の処理により、判定対象ブロックの
両端と前ブロックの始点とを結ぶ円弧によるトレランス
TRaのみを用いて直線補間か曲線補間かの判定を行う
こととなる。
【0028】以下、CPU11は、「補間動作判別処
理」で記憶した各微小直線ブロックの補間方法に従って
円弧や自由曲線(スプライン)等の滑らかな曲線で曲線
補間ブロックを曲線補間し、また、直線補間ブロックを
直線補間するが、曲線や直線を用いた補間方法自体は既
に公知であるから説明を省略する。また、第1番目と第
2番目の微小直線ブロックを読込んで第1番目の微小直
線ブロックの補間方法を決めた後、NCテープの読込み
を継続しながら加工プログラムを解析して各軸への移動
指令を逐次出力するようにしても良いし、NCテープか
ら幾つかの微小直線ブロックの加工プログラムを読込ん
でRAM13等に所定量ずつ格納し、RAM13等に格
納した直線微小ブロックの補間方法を決めて各軸への移
動指令を出力するようにしても良い。
【0029】前述の実施例では微小直線ブロックを滑ら
かな曲線で実際に補間した時のトレランスを求めて曲線
補間か直線補間かの判定を行う代わりに、図4に示すよ
うに、補間方法の判定対象となる微小直線ブロックの両
端b,cと前ブロックの始点aとを結ぶ円弧軌跡と判定
対象ブロックとの間のトレランスTRaと、判定対象ブ
ロックの両端b,cと後ブロックの終点dとを結ぶ円弧
軌跡との間のトレランスTRbとを求め、少なくとも一
方のトレランスTRaもしくはTRbが予め設定された
設定値ε′の範囲を越えると判定対象ブロックを直線補
間すると共に、いずれのトレランスTRaもTRbも設
定値ε′の範囲内にあれば判定対象ブロックを曲線補間
するようにしているが、前述のように、RAM13等に
一定以上の加工プログラムを格納する場合には、RAM
13等に格納された微小直線ブロックのデータに基いて
これらの微小直線を自由曲線で補間した軌跡を実際に算
出し、該軌跡と各微小直線ブロックとの関係により各微
小直線毎に各1のトレランスを算出して、該トレランス
の値に基いて各微小直線ブロックを直線補間するか曲線
補間するかを判定することも可能である。
【0030】これらの実施例によれば、判定対象ブロッ
クの長さや判定対象ブロックと隣接ブロックとが成す角
の大小に判定結果が直接依存することはなく、判定対象
ブロックを滑らかな曲線で補間する時のトレランスの最
大値(TRaまたはTRbの値)や判定対象ブロックを
滑らかな曲線で実際に補間した時のトレランスの値によ
って該微小直線ブロックを曲線補間すべきか直線補間す
べきかが判定されるので、例えば、図7に示されるよう
な例でも、設定値ε′の値を微小直線ブロックI−Aと
図中Sの一点鎖線で示される曲線とのトレランスよりも
小さく設定することにより、実線で示される所期の自由
曲面を簡単かつ確実に再生して加工作業を行わせること
ができる。
【0031】また、図6に示されるような複雑な形状の
自由曲面のように各微小直線ブロックの長さが大きく異
なったり屈曲や屈折状態が様々に変化するような場合で
も、自由曲面を定義するための自動プログラミングで用
いた離間限度εと同等、もしくは、僅かに大きな値を設
定値ε′として設定するだけで良く、判定基準の選択お
よび設定操作が非常に容易になる。図6に示される例に
従来の補間方式を適用すると、所期の自由曲面の区間E
−Fを曲線補間する必要上、判定基準となる設定長の長
さを微小直線ブロックE−Fの長さよりも長く設定しな
ければならず、直線補間すべき区間A−Bが誤って曲線
補間される可能性もあるが、本実施例によれば、図6の
形状における第1番目の微小直線ブロックA−Bの補間
方法を判定する際に微小直線ブロックA−Bの両端A,
Bと後ブロックの終点Cとを結ぶ円弧のトレランスTR
b(図8参照)と自動プログラミングで用いた離間限度
εと同等、もしくは、僅かに大きく設定された設定値
ε′との関係によって補間方法が指定されるので、設定
値ε′が正しく設定されている限り、このような誤りが
生じることはない。
【0032】
【発明の効果】本発明による数値制御装置の補間方式
は、判定対象となる微小直線ブロックを滑らかな曲線で
補間する軌跡と微小直線ブロックとの間の最大離間距
離、または、最大離間距離を近似的に求めるための円弧
と微小直線ブロックとの間の最大離間距離に基いて当該
微小直線ブロックを直線補間するか曲線補間するかを判
定するようにしたので、直線補間するか曲線補間するか
の判定は微小直線ブロックの長さや成す角に直接依存せ
ず、飽くまで、自由曲面各部の曲率と各微小直線ブロッ
クとの関係に基いて行われることとなり、所期の自由曲
面の曲線や直線を正確に再生することができる。しか
も、判定基準となる離間距離の設定値は自動プログラミ
ングの段階で用いた離間限度に基いて設定すれば良く、
設定すべきパラメータも一種となるから判定基準の選択
および設定操作が簡略化される。
【図面の簡単な説明】
【図1】本発明の方式を実施する一実施例の数値制御装
置のハードウェアを示すブロック図である。
【図2】同実施例の数値制御装置による補間動作判別処
理の概略を示すフローチャートである。
【図3】補間動作判別処理の概略を示すフローチャート
の続きである。
【図4】同実施例における補間動作判別処理の作用原理
を示す図である。
【図5】微小直線ブロックで近似された加工プログラム
を例示して同実施例における補間動作判別処理の作用原
理を示す図である。
【図6】自動プログラミング処理で直線近似された自由
曲面を例示する図である。
【図7】従来の補間方式の欠点を例示する図である。
【図8】図6に対応して本実施例の補間動作判別処理の
一例を示す図である。
【符号の説明】
10 数値制御装置(CNC) 11 プロセッサ(CPU) 12 ROM 13 RAM 15,18 インターフェイス 21 バス 70 CRT/MDIユニット 72 紙テープリーダ等

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 自由曲面を複数個の微小直線ブロックで
    近似したプログラムによって加工を行う数値制御装置の
    補間方式において、前記微小直線ブロックを滑らかな曲
    線で補間した軌跡と該微小直線ブロックとの間の最大離
    間距離を求め、離間距離が予め設定された設定値の範囲
    内であれば該微小直線ブロックを曲線補間すると共に、
    離間距離が設定値の範囲を越えると前記微小直線ブロッ
    クを直線補間することを特徴とした数値制御装置の補間
    方式。
  2. 【請求項2】 補間方法の判定対象となる微小直線ブロ
    ックの両端と該判定対象ブロックの前ブロックの始点と
    を結ぶ円弧によって前記滑らかな曲線を生成するように
    した請求項1記載の数値制御装置の補間方式。
  3. 【請求項3】 補間方法の判定対象となる微小直線ブロ
    ックの両端と該判定対象ブロックの後ブロックの終点と
    を結ぶ円弧によって前記滑らかな曲線を生成するように
    した請求項1記載の数値制御装置の補間方式。
  4. 【請求項4】 補間方法の判定対象となる微小直線ブロ
    ックの両端と該判定対象ブロックの前ブロックの始点と
    を結ぶ円弧軌跡と該判定対象ブロックとの間の最大離間
    距離と、判定対象ブロックの両端と該判定対象ブロック
    の後ブロックの終点とを結ぶ円弧軌跡と該判定対象ブロ
    ックとの間の最大離間距離とを求め、少なくとも一方の
    離間距離が予め設定された設定値の範囲を越えると該判
    定対象ブロックを直線補間すると共に、いずれの離間距
    離も設定値の範囲内にあれば前記判定対象ブロックを曲
    線補間することを特徴とした数値制御装置の補間方式。
JP35068091A 1991-12-12 1991-12-12 数値制御装置の補間方式 Pending JPH05165514A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35068091A JPH05165514A (ja) 1991-12-12 1991-12-12 数値制御装置の補間方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35068091A JPH05165514A (ja) 1991-12-12 1991-12-12 数値制御装置の補間方式

Publications (1)

Publication Number Publication Date
JPH05165514A true JPH05165514A (ja) 1993-07-02

Family

ID=18412122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35068091A Pending JPH05165514A (ja) 1991-12-12 1991-12-12 数値制御装置の補間方式

Country Status (1)

Country Link
JP (1) JPH05165514A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609045B1 (en) 1998-05-28 2003-08-19 Mitsubishi Denki Kabushiki Kaisha File conversion apparatus for machining program of numerical control system and computer readable recording medium for storing program for computer to execute file conversion process
JP2008003756A (ja) * 2006-06-21 2008-01-10 Miyachi Technos Corp レーザマーキング方法及び装置
JP6242539B1 (ja) * 2016-07-29 2017-12-06 三菱電機株式会社 数値制御装置
US10788805B2 (en) 2017-10-03 2020-09-29 Fanuc Corporation Numerical controller having tool path interpolation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609045B1 (en) 1998-05-28 2003-08-19 Mitsubishi Denki Kabushiki Kaisha File conversion apparatus for machining program of numerical control system and computer readable recording medium for storing program for computer to execute file conversion process
JP2008003756A (ja) * 2006-06-21 2008-01-10 Miyachi Technos Corp レーザマーキング方法及び装置
JP6242539B1 (ja) * 2016-07-29 2017-12-06 三菱電機株式会社 数値制御装置
US10788805B2 (en) 2017-10-03 2020-09-29 Fanuc Corporation Numerical controller having tool path interpolation

Similar Documents

Publication Publication Date Title
JP4406034B2 (ja) 5軸加工機を制御する数値制御装置
JP4847428B2 (ja) 加工シミュレーション装置およびそのプログラム
US6539275B1 (en) Machine controller and process with two-step interpolation
JP3037881B2 (ja) 数値制御装置
JPH0736514A (ja) 3次元工具径補正方式
JP2005182437A (ja) 数値制御装置及び数値制御方法
JPH0695725A (ja) Nc加工プログラムのアニメ描画方式
EP0797135A1 (en) Numerical controller
EP0417307A1 (en) Method of plotting nc program
JPH05165514A (ja) 数値制御装置の補間方式
US5276777A (en) Locus correcting method for industrial robots
JPH07152417A (ja) 数値制御装置の工具径路および送り速度制御方式
US6658317B2 (en) Method for setting a moving position in a machine tool
JP3405797B2 (ja) レーザ出力制御方式
JPH09190211A (ja) 数値制御装置の経路制御方式
JPH10301614A (ja) 数値制御装置
JP2504973B2 (ja) 数値制御装置
JPH07334223A (ja) 工具軸姿勢制御方式
JPH07104705B2 (ja) 数値制御装置
JP3263146B2 (ja) 数値制御装置
JPH0876827A (ja) 加減速制御方式
JPH0474205A (ja) 数値制御装置
JPH06324731A (ja) 数値制御装置
JPH0895623A (ja) Cncの工具移動制御方式
JPH0561516A (ja) 数値制御装置