JPH06270037A - 数値制御装置 - Google Patents
数値制御装置Info
- Publication number
- JPH06270037A JPH06270037A JP8411993A JP8411993A JPH06270037A JP H06270037 A JPH06270037 A JP H06270037A JP 8411993 A JP8411993 A JP 8411993A JP 8411993 A JP8411993 A JP 8411993A JP H06270037 A JPH06270037 A JP H06270037A
- Authority
- JP
- Japan
- Prior art keywords
- command
- execution
- axis
- position value
- 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
Links
- 238000012790 confirmation Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 abstract description 14
- 238000003754 machining Methods 0.000 abstract description 9
- 238000004904 shortening Methods 0.000 abstract description 3
- 238000005520 cutting process Methods 0.000 description 23
- 239000002826 coolant Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002950 deficient Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 239000010730 cutting oil Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Automatic Control Of Machine Tools (AREA)
- Numerical Control (AREA)
Abstract
(57)【要約】
【目的】 どのような順序で指令がプログラムされてい
ても、高い加工精度を維持しつつ加工時間を短縮化でき
る数値制御装置を提供する。 【構成】 ステップ1においてプログラム中の1ブロッ
クの指令の種類を解析し、次にステップ2において指令
の種類に対応させて指令実行前と指令実行後とのインポ
ジション値をRAM52に設定する。指令の実行を開始
する際に、現在の位置が前記設定された指令実行前イン
ポジション値内であることを確認し(判断ステップ
3)。それから該指令の実行を開始する(ステップ
5)。そして、現在の指令の実行を終了する際に、現在
の位置が設定された指令実行後インポジション値内であ
ることを確認する(判断ステップ7)。その後、次の指
令についての処理を開始する。
ても、高い加工精度を維持しつつ加工時間を短縮化でき
る数値制御装置を提供する。 【構成】 ステップ1においてプログラム中の1ブロッ
クの指令の種類を解析し、次にステップ2において指令
の種類に対応させて指令実行前と指令実行後とのインポ
ジション値をRAM52に設定する。指令の実行を開始
する際に、現在の位置が前記設定された指令実行前イン
ポジション値内であることを確認し(判断ステップ
3)。それから該指令の実行を開始する(ステップ
5)。そして、現在の指令の実行を終了する際に、現在
の位置が設定された指令実行後インポジション値内であ
ることを確認する(判断ステップ7)。その後、次の指
令についての処理を開始する。
Description
【0001】
【産業上の利用分野】本発明は、数値制御装置に関し、
特に指令の種類に応じてインポジション値を変えること
により高速加工を行う数値制御装置に関する。
特に指令の種類に応じてインポジション値を変えること
により高速加工を行う数値制御装置に関する。
【0002】
【従来の技術】数値制御装置においては、ワークに対し
工具が進む経路をNCプログラムによって指定し、該N
Cプログラムに従って工作機械などを制御して加工を行
う。この際に、数値制御装置はNCプログラムの1ブロ
ックを読みとって、当該ブロックでの指令が位置決めや
切削などの移動指令であると、当該ブロックでの指令に
従って、各軸のサーボモータを駆動し、位置決めまたは
切削などの加工を行わせる。この時、当該ブロックで指
令された位置に達したか否かは、各軸のサーボモータを
駆動するサーボ回路内のエラーレジスタの値が所定値幅
内にあるか否か、すなわち、インポジション値内にある
か否かにより判断し、インポジション内であると次のブ
ロックの処理を開始する。これによってNCプログラム
で指定した形状の加工を行うものである。
工具が進む経路をNCプログラムによって指定し、該N
Cプログラムに従って工作機械などを制御して加工を行
う。この際に、数値制御装置はNCプログラムの1ブロ
ックを読みとって、当該ブロックでの指令が位置決めや
切削などの移動指令であると、当該ブロックでの指令に
従って、各軸のサーボモータを駆動し、位置決めまたは
切削などの加工を行わせる。この時、当該ブロックで指
令された位置に達したか否かは、各軸のサーボモータを
駆動するサーボ回路内のエラーレジスタの値が所定値幅
内にあるか否か、すなわち、インポジション値内にある
か否かにより判断し、インポジション内であると次のブ
ロックの処理を開始する。これによってNCプログラム
で指定した形状の加工を行うものである。
【0003】このインポジション値は、予め設定される
値であり、位置決めの際に小さな値が設定されている場
合には、インポジション値内に納まるまでに時間がかか
り(即ち、サーボモータにおいては、目標位置に停止す
る際に通常一旦目標位置を通り過ぎるまで回転してか
ら、逆転し、この正回転と逆回転を繰り返すことにより
目標位置に収束する、このため小さなインポジション値
が設定されている場合には収束に長い時間がかかる)、
加工時間は長くなるが位置精度は向上する。他方、イン
ポジション値に大きな値が設定されている場合には、イ
ンポジション値内に収束する時間が短くなり、次のブロ
ックでの指令の処理に素早く移れる反面、位置決め精度
が低下する。このため、数値制御装置において、上記イ
ンポジション値として大きな値と小さな値と2種類用意
して、位置精度を必要とする場合には小さなインポジシ
ョン値を用い、また、高い位置精度を必要としない場合
には大きなインポジション値を用いることにより、加工
精度を維持しつつ加工時間の短縮化を図った技術が特開
昭63−206804号に示されている。この技術にお
いては、現在のブロックと次のブロックの移動指令の組
み合わせを判断することにより、小さなインポジション
値を用いるか、大きなインポジション値を用いるかを決
定している。
値であり、位置決めの際に小さな値が設定されている場
合には、インポジション値内に納まるまでに時間がかか
り(即ち、サーボモータにおいては、目標位置に停止す
る際に通常一旦目標位置を通り過ぎるまで回転してか
ら、逆転し、この正回転と逆回転を繰り返すことにより
目標位置に収束する、このため小さなインポジション値
が設定されている場合には収束に長い時間がかかる)、
加工時間は長くなるが位置精度は向上する。他方、イン
ポジション値に大きな値が設定されている場合には、イ
ンポジション値内に収束する時間が短くなり、次のブロ
ックでの指令の処理に素早く移れる反面、位置決め精度
が低下する。このため、数値制御装置において、上記イ
ンポジション値として大きな値と小さな値と2種類用意
して、位置精度を必要とする場合には小さなインポジシ
ョン値を用い、また、高い位置精度を必要としない場合
には大きなインポジション値を用いることにより、加工
精度を維持しつつ加工時間の短縮化を図った技術が特開
昭63−206804号に示されている。この技術にお
いては、現在のブロックと次のブロックの移動指令の組
み合わせを判断することにより、小さなインポジション
値を用いるか、大きなインポジション値を用いるかを決
定している。
【0004】
【発明が解決しようとする課題】しかしながら、提案さ
れた特開昭63−206804号においては、現在のブ
ロックと次のブロックとの移動指令の組み合わせを判断
してインポジション値を決定するため、移動指令のブロ
ックの次に、実行時間の極めて短い非移動指令(例えば
クーラントオン)のブロックが置かれている場合には、
次のような事態が発生した。先ず、図5(A)に示すよ
うに、現在処理中のブロックが移動指令(位置決めX
Y)で、次に続くブロックが非移動指令(クーラントオ
ン)で、更にその次に移動指令(切削Z)が置かれてい
る場合を例に挙げる。ここで、現在処理中のブロックが
移動指令(位置決めXY)のときに上記の技術において
は、現在のブロックのインポジション値をこの組み合わ
せ(即ち、位置決めXYと、次のクーラントオン)に基
づいて決定していた。仮に、位置決めの移動指令と、非
移動指令(クーラントオン)との組み合わせに基づき大
きなインポジション値を決定したとすると、図5(A)
に示すように時間aにおいてクーラントがオンされ、ク
ーラントオンの時間は短いため時間bにおいて直ちに切
削Zが開始される。図中に示されているように時間bで
は位置決めXYの指令に基づき移動中であり、XY軸の
位置決めが正確になされいない。このため位置が不正確
なままZ軸の切削が開始され加工精度が劣化するという
問題が生じる。
れた特開昭63−206804号においては、現在のブ
ロックと次のブロックとの移動指令の組み合わせを判断
してインポジション値を決定するため、移動指令のブロ
ックの次に、実行時間の極めて短い非移動指令(例えば
クーラントオン)のブロックが置かれている場合には、
次のような事態が発生した。先ず、図5(A)に示すよ
うに、現在処理中のブロックが移動指令(位置決めX
Y)で、次に続くブロックが非移動指令(クーラントオ
ン)で、更にその次に移動指令(切削Z)が置かれてい
る場合を例に挙げる。ここで、現在処理中のブロックが
移動指令(位置決めXY)のときに上記の技術において
は、現在のブロックのインポジション値をこの組み合わ
せ(即ち、位置決めXYと、次のクーラントオン)に基
づいて決定していた。仮に、位置決めの移動指令と、非
移動指令(クーラントオン)との組み合わせに基づき大
きなインポジション値を決定したとすると、図5(A)
に示すように時間aにおいてクーラントがオンされ、ク
ーラントオンの時間は短いため時間bにおいて直ちに切
削Zが開始される。図中に示されているように時間bで
は位置決めXYの指令に基づき移動中であり、XY軸の
位置決めが正確になされいない。このため位置が不正確
なままZ軸の切削が開始され加工精度が劣化するという
問題が生じる。
【0005】そこで、例えば、上記の位置決めの移動指
令と、非移動指令(クーラントオン)との組み合わせに
小さなインポジション値を決定したとすると、図5
(A)に示す例のように非移動指令の後に切削指令が置
かれている場合には対応し得るが、この非移動指令の後
に位置決め指令が置かれている場合には下記の問題が生
じる。即ち、図5(B)に示すように小さなインポジシ
ョン値を用いた場合には、位置決めXYの指令に基づき
時間cまでかかって正確に位置決めを行うが、この例の
ようにクーラントオンの次の指令も位置決め指令(位置
決めZ)の場合には、位置精度を必要としないのに時間
cまでかけてXY軸を完全に停止させてからZ軸の位置
決め処理を開始する。このため、加工時間t2が長くな
るという問題が生じる。本発明は、上述した問題点を解
決するためになされたものであり、どのような順序で種
々の指令がプログラムされていても、高い精度を維持し
つつ加工時間を短縮できる数値制御装置を提供すること
にある。
令と、非移動指令(クーラントオン)との組み合わせに
小さなインポジション値を決定したとすると、図5
(A)に示す例のように非移動指令の後に切削指令が置
かれている場合には対応し得るが、この非移動指令の後
に位置決め指令が置かれている場合には下記の問題が生
じる。即ち、図5(B)に示すように小さなインポジシ
ョン値を用いた場合には、位置決めXYの指令に基づき
時間cまでかかって正確に位置決めを行うが、この例の
ようにクーラントオンの次の指令も位置決め指令(位置
決めZ)の場合には、位置精度を必要としないのに時間
cまでかけてXY軸を完全に停止させてからZ軸の位置
決め処理を開始する。このため、加工時間t2が長くな
るという問題が生じる。本発明は、上述した問題点を解
決するためになされたものであり、どのような順序で種
々の指令がプログラムされていても、高い精度を維持し
つつ加工時間を短縮できる数値制御装置を提供すること
にある。
【0006】
【課題を解決するための手段】この目的を達成するため
に本発明の数値制御装置は、現在の位置が設定されたイ
ンポジション値内にあるか否かを判断するためのインポ
ジション判断手段と、指令の種類に対応させて、指令実
行前と指令実行後とのインポジション値を前記インポジ
ション判断手段に設定するインポジション値設定手段
と、指令の実行を開始する際に、現在の位置が前記イン
ポジション判断手段に設定された指令実行前のインポジ
ション値内にいることを確認する実行前インポジション
確認手段と、現在の指令の実行を終了し次の指令の実行
へ移行する際に、現在の位置が前記インポジション判断
手段に設定された指令実行後のインポジション値内にい
ることを確認する実行後インポジション確認手段とを有
することを特徴とする。
に本発明の数値制御装置は、現在の位置が設定されたイ
ンポジション値内にあるか否かを判断するためのインポ
ジション判断手段と、指令の種類に対応させて、指令実
行前と指令実行後とのインポジション値を前記インポジ
ション判断手段に設定するインポジション値設定手段
と、指令の実行を開始する際に、現在の位置が前記イン
ポジション判断手段に設定された指令実行前のインポジ
ション値内にいることを確認する実行前インポジション
確認手段と、現在の指令の実行を終了し次の指令の実行
へ移行する際に、現在の位置が前記インポジション判断
手段に設定された指令実行後のインポジション値内にい
ることを確認する実行後インポジション確認手段とを有
することを特徴とする。
【0007】
【作用】上記の構成を有する本発明の数値制御装置は、
インポジション値設定手段が指令の実行に際して、指令
の種類に対応させて指令実行前と指令実行後とのインポ
ジション値を、現在位置がインポジション値内かを判断
するためのインポジション判断手段に設定する。先ず、
指令の実行を開始する際に、実行前インポジション確認
手段が現在位置は前記インポジション判断手段に設定さ
れた指令実行前インポジション値内であることを確認す
る。そして、現在の指令の実行を終了する際に、実行後
インポジション確認手段が現在位置は前記インポジショ
ン判断手段に設定された指令実行後インポジション値内
であることを確認してから当該指令を終了し、その後、
次の指令についての処理へ移行する。
インポジション値設定手段が指令の実行に際して、指令
の種類に対応させて指令実行前と指令実行後とのインポ
ジション値を、現在位置がインポジション値内かを判断
するためのインポジション判断手段に設定する。先ず、
指令の実行を開始する際に、実行前インポジション確認
手段が現在位置は前記インポジション判断手段に設定さ
れた指令実行前インポジション値内であることを確認す
る。そして、現在の指令の実行を終了する際に、実行後
インポジション確認手段が現在位置は前記インポジショ
ン判断手段に設定された指令実行後インポジション値内
であることを確認してから当該指令を終了し、その後、
次の指令についての処理へ移行する。
【0008】
【実施例】以下、本発明を具体化した一実施例を図面を
参照して説明する。図1は、本発明の1実施例に係る数
値制御装置50のブロック図である。数値制御装置50
は、制御を行うCPU60、数値制御装置50の全体の
管理プログラムなどを記憶したROM51、後述する各
軸毎の実行前インポジション値及び実行後インポジショ
ン値などのデータを一時記憶するために利用されるRA
M52、加工を行うためのNCプログラム及び後述する
各指令種類に対しての各軸毎の実行前と実行後に必要な
インポジション設定値からなるインポジションテーブル
20などのパラメータを記憶する不揮発性メモリ53、
データや前記パラメータなどを入力するためのCRT表
示装置付きデータ入力装置(CRT/MDI)54、ク
ーラントオン/オフなどの補助機能実行に際して外部に
対して信号を出力する外部I/O59、工作機械などの
機械の各軸のサーボモータMX、MY、MZを駆動する
サーボ回路57X、57Y、57Zを接続するサーボイ
ンターフェース55からなり、これら装置がバス56で
接続されている。
参照して説明する。図1は、本発明の1実施例に係る数
値制御装置50のブロック図である。数値制御装置50
は、制御を行うCPU60、数値制御装置50の全体の
管理プログラムなどを記憶したROM51、後述する各
軸毎の実行前インポジション値及び実行後インポジショ
ン値などのデータを一時記憶するために利用されるRA
M52、加工を行うためのNCプログラム及び後述する
各指令種類に対しての各軸毎の実行前と実行後に必要な
インポジション設定値からなるインポジションテーブル
20などのパラメータを記憶する不揮発性メモリ53、
データや前記パラメータなどを入力するためのCRT表
示装置付きデータ入力装置(CRT/MDI)54、ク
ーラントオン/オフなどの補助機能実行に際して外部に
対して信号を出力する外部I/O59、工作機械などの
機械の各軸のサーボモータMX、MY、MZを駆動する
サーボ回路57X、57Y、57Zを接続するサーボイ
ンターフェース55からなり、これら装置がバス56で
接続されている。
【0009】なお、本実施例では、機械はX、Y、Z軸
の3軸が制御される例を記しており、各軸のサーボ回路
57X、57Y、57Z内のエラーレジスタ58X、5
8Y、58Zには、サーボインターフェース55を介し
て、各軸に分配されたパルスが入力されるようになって
おり、また、各軸のサーボモータMX、MY、MZに設
けられた位置検出器PX、PY、PZからのフィードバ
ックパルスが前記エラーレジスタ58X、58Y、58
Zにそれぞれ入力され、該エラーレジスタ58X、58
Y、58Zの値が「0」になるように制御され、位置決
めされるようになっている。また各エラーレジスタ58
X、58Y、58Zの値、すなわちエラー量εx、ε
y、εzはサーボインターフェース55に入力され、エ
ラー量を検出できるようになっている。なお、サーボ回
路は周知のものであり、ここでは本発明に関係する必要
部分のみを示す。
の3軸が制御される例を記しており、各軸のサーボ回路
57X、57Y、57Z内のエラーレジスタ58X、5
8Y、58Zには、サーボインターフェース55を介し
て、各軸に分配されたパルスが入力されるようになって
おり、また、各軸のサーボモータMX、MY、MZに設
けられた位置検出器PX、PY、PZからのフィードバ
ックパルスが前記エラーレジスタ58X、58Y、58
Zにそれぞれ入力され、該エラーレジスタ58X、58
Y、58Zの値が「0」になるように制御され、位置決
めされるようになっている。また各エラーレジスタ58
X、58Y、58Zの値、すなわちエラー量εx、ε
y、εzはサーボインターフェース55に入力され、エ
ラー量を検出できるようになっている。なお、サーボ回
路は周知のものであり、ここでは本発明に関係する必要
部分のみを示す。
【0010】次に、本実施例の動作原理について説明す
る。前述したように、従来技術に係るインポジション値
を可変にする方法においては、現在の移動指令の種類
と、次の移動指令の種類とを比較して、現在の指令終了
時のインポジション値を大きくするか、あるいは小さく
するかを決定していた。これに対し本実施例において
は、現在の指令の種類と次の指令の種類との比較は行わ
ず、現在の指令のみに基づいてインポジション値を決定
する。この際に実行後におけるインポジション値のみで
なく、更に実行前におけるインポジション値をも定め、
指令の実行時にこの実行前のインポジション値に位置し
ていることを確認してから指令の実行に移る。この指令
実行前と指令実行後におけるインポジション値は、不揮
発性メモリ53に図2に示されるインポジションテーブ
ル20として保持されている。
る。前述したように、従来技術に係るインポジション値
を可変にする方法においては、現在の移動指令の種類
と、次の移動指令の種類とを比較して、現在の指令終了
時のインポジション値を大きくするか、あるいは小さく
するかを決定していた。これに対し本実施例において
は、現在の指令の種類と次の指令の種類との比較は行わ
ず、現在の指令のみに基づいてインポジション値を決定
する。この際に実行後におけるインポジション値のみで
なく、更に実行前におけるインポジション値をも定め、
指令の実行時にこの実行前のインポジション値に位置し
ていることを確認してから指令の実行に移る。この指令
実行前と指令実行後におけるインポジション値は、不揮
発性メモリ53に図2に示されるインポジションテーブ
ル20として保持されている。
【0011】このインポジションテーブル20の設定値
は次の基準に基づき定められている。自動運転中におい
てインポジションを小さくしなければならないのは、次
の条件(A)、(B)、(C)の場合である。 条件(A) 1軸のみの切削指令については、指令され
た軸以外の軸に対して実行前インポジション値、全軸に
対して実行後インポジション値(インポジションテーブ
ル20における、指令種類−切削、軸の組み合わせ−X
のみ、Yのみ、Zのみ)。 条件(B) 2軸以上の切削指令については、全軸に対
して実行前と実行後のインポジション値(インポジショ
ンテーブル20における、指令種類−切削、軸の組み合
わせ−その他)。 条件(C) ロボットなどワーク交換装置へのワーク交
換の補助機能指令については、全軸に対して実行前のイ
ンポジション値(インポジションテーブル20におけ
る、指令種類−補助機能ワーク交換)。
は次の基準に基づき定められている。自動運転中におい
てインポジションを小さくしなければならないのは、次
の条件(A)、(B)、(C)の場合である。 条件(A) 1軸のみの切削指令については、指令され
た軸以外の軸に対して実行前インポジション値、全軸に
対して実行後インポジション値(インポジションテーブ
ル20における、指令種類−切削、軸の組み合わせ−X
のみ、Yのみ、Zのみ)。 条件(B) 2軸以上の切削指令については、全軸に対
して実行前と実行後のインポジション値(インポジショ
ンテーブル20における、指令種類−切削、軸の組み合
わせ−その他)。 条件(C) ロボットなどワーク交換装置へのワーク交
換の補助機能指令については、全軸に対して実行前のイ
ンポジション値(インポジションテーブル20におけ
る、指令種類−補助機能ワーク交換)。
【0012】上記の条件について例を挙げて説明をすれ
ば、条件(A)について例えば、切削Zの場合、これか
らZ軸の移動を開始するので、XY軸さえ正確であれば
実行前のZ軸の位置はそれほど正確でなくてもよい。こ
のためZ軸については1000ミクロンの値が、XY軸
については10ミクロンの値が設定されている。しか
し、実行後は全軸が正確な位置にないと不良ワークを加
工する原因となるためX、Y、Z軸共に10ミクロンの
値が設定されている。条件(B)については、例えば切
削XYの場合であり、実行前、実行後ともに正確な位置
でないと不良ワークを加工することになる。このため
X、Y、Z軸共に10ミクロンの値が設定されている。
条件(C)は補助機能指令実行により、指令されたMコ
ードを外部I/O59を介してロボットなどのワーク交
換装置に伝え、ワーク交換を行うものであり、実行前は
全軸が正確な位置でないとワーク交換装置が破壊する可
能性がある。このため実施前のインポジション値として
X、Y、Z軸共に10ミクロンが設定されている。
ば、条件(A)について例えば、切削Zの場合、これか
らZ軸の移動を開始するので、XY軸さえ正確であれば
実行前のZ軸の位置はそれほど正確でなくてもよい。こ
のためZ軸については1000ミクロンの値が、XY軸
については10ミクロンの値が設定されている。しか
し、実行後は全軸が正確な位置にないと不良ワークを加
工する原因となるためX、Y、Z軸共に10ミクロンの
値が設定されている。条件(B)については、例えば切
削XYの場合であり、実行前、実行後ともに正確な位置
でないと不良ワークを加工することになる。このため
X、Y、Z軸共に10ミクロンの値が設定されている。
条件(C)は補助機能指令実行により、指令されたMコ
ードを外部I/O59を介してロボットなどのワーク交
換装置に伝え、ワーク交換を行うものであり、実行前は
全軸が正確な位置でないとワーク交換装置が破壊する可
能性がある。このため実施前のインポジション値として
X、Y、Z軸共に10ミクロンが設定されている。
【0013】本実施例においては、指令種類に対応した
実行前と実行後の軸毎のそれぞれのインポジション値
が、CRT/MDI54から入力され不揮発性メモリ5
2のインポジションテーブル20に予め記憶されてい
る。そして、自動運転実行時には、現在のブロックの指
令を実行に移す前に、指令の種類に対応したインポジシ
ョン設定値をインポジションテーブル20から読み出
し、RAM20に各軸の実行前インポジション値と実行
後インポジション値として格納する。そして、指令を実
行する際に実行前インポジション値内に位置しているこ
とを確認してから指令の実行を開始し、また、指令実行
の終了に際しても実行後インポジション値内に位置して
いることを確認してから指令を終了し、次のブロックの
指令の処理へ進むものである。
実行前と実行後の軸毎のそれぞれのインポジション値
が、CRT/MDI54から入力され不揮発性メモリ5
2のインポジションテーブル20に予め記憶されてい
る。そして、自動運転実行時には、現在のブロックの指
令を実行に移す前に、指令の種類に対応したインポジシ
ョン設定値をインポジションテーブル20から読み出
し、RAM20に各軸の実行前インポジション値と実行
後インポジション値として格納する。そして、指令を実
行する際に実行前インポジション値内に位置しているこ
とを確認してから指令の実行を開始し、また、指令実行
の終了に際しても実行後インポジション値内に位置して
いることを確認してから指令を終了し、次のブロックの
指令の処理へ進むものである。
【0014】本実施例の数値制御装置50の自動運転時
における処理を図3に示すフローチャートを参照して説
明する。自動運転が開始されると、ステップ1におい
て、CPU60はNCプログラムから1ブロックの指令
を読み込み、読み込んだブロックの指令の種類を解析す
る。そして、ステップ2にて、読み込んだブロックの指
令の種類に対応したインポジション値をインポジション
テーブル20から読み出し、各軸の実行前インポジショ
ン値と実行後インポジション値としてRAM52に設定
する。例えば、読み込まれたブロックの指令種類が位置
決めZの場合に、各軸のインポジション値は次のように
設定される。 X軸実行前インポジション値=1000(ミクロン) Y軸実行前インポジション値=1000(ミクロン) Z軸実行前インポジション値=1000(ミクロン) X軸実行後インポジション値=1000(ミクロン) Y軸実行後インポジション値=1000(ミクロン) Z軸実行後インポジション値=1000(ミクロン)
における処理を図3に示すフローチャートを参照して説
明する。自動運転が開始されると、ステップ1におい
て、CPU60はNCプログラムから1ブロックの指令
を読み込み、読み込んだブロックの指令の種類を解析す
る。そして、ステップ2にて、読み込んだブロックの指
令の種類に対応したインポジション値をインポジション
テーブル20から読み出し、各軸の実行前インポジショ
ン値と実行後インポジション値としてRAM52に設定
する。例えば、読み込まれたブロックの指令種類が位置
決めZの場合に、各軸のインポジション値は次のように
設定される。 X軸実行前インポジション値=1000(ミクロン) Y軸実行前インポジション値=1000(ミクロン) Z軸実行前インポジション値=1000(ミクロン) X軸実行後インポジション値=1000(ミクロン) Y軸実行後インポジション値=1000(ミクロン) Z軸実行後インポジション値=1000(ミクロン)
【0015】或いは、読み込まれたブロックの指令種類
が切削Zの場合には、各軸のインポジション値は次のよ
うに設定される。 X軸実行前インポジション値= 10(ミクロン) Y軸実行前インポジション値= 10(ミクロン) Z軸実行前インポジション値=1000(ミクロン) X軸実行後インポジション値= 10(ミクロン) Y軸実行後インポジション値= 10(ミクロン) Z軸実行後インポジション値= 10(ミクロン)
が切削Zの場合には、各軸のインポジション値は次のよ
うに設定される。 X軸実行前インポジション値= 10(ミクロン) Y軸実行前インポジション値= 10(ミクロン) Z軸実行前インポジション値=1000(ミクロン) X軸実行後インポジション値= 10(ミクロン) Y軸実行後インポジション値= 10(ミクロン) Z軸実行後インポジション値= 10(ミクロン)
【0016】また、読み込まれたブロックの指令種類が
クーラントオンの場合は、各軸のインポジション値は次
のように設定される。 X軸実行前インポジション値=1000(ミクロン) Y軸実行前インポジション値=1000(ミクロン) Z軸実行前インポジション値=1000(ミクロン) X軸実行後インポジション値=1000(ミクロン) Y軸実行後インポジション値=1000(ミクロン) Z軸実行後インポジション値=1000(ミクロン)
クーラントオンの場合は、各軸のインポジション値は次
のように設定される。 X軸実行前インポジション値=1000(ミクロン) Y軸実行前インポジション値=1000(ミクロン) Z軸実行前インポジション値=1000(ミクロン) X軸実行後インポジション値=1000(ミクロン) Y軸実行後インポジション値=1000(ミクロン) Z軸実行後インポジション値=1000(ミクロン)
【0017】そして、判断ステップ3において指令実行
前のインポジションの確認を行う。即ち、現在の各軸の
エラーレジスタ58X、58Y、58Zの値εx、ε
y、εzが各軸の実行前インポジション値以下であるか
を次のように確認する。 エラーレジスタ58Xの値(εx)≦X軸実行前インポ
ジション値 エラーレジスタ58Yの値(εy)≦Y軸実行前インポ
ジション値 エラーレジスタ58Zの値(εz)≦Z軸実行前インポ
ジション値 各軸のエラーレジスタ58X、58Y、58Zの値ε
x、εy、εzが各軸の実行前インポジション値より大
きい場合には判断ステップ3がNoになり、待機状態を
続ける。
前のインポジションの確認を行う。即ち、現在の各軸の
エラーレジスタ58X、58Y、58Zの値εx、ε
y、εzが各軸の実行前インポジション値以下であるか
を次のように確認する。 エラーレジスタ58Xの値(εx)≦X軸実行前インポ
ジション値 エラーレジスタ58Yの値(εy)≦Y軸実行前インポ
ジション値 エラーレジスタ58Zの値(εz)≦Z軸実行前インポ
ジション値 各軸のエラーレジスタ58X、58Y、58Zの値ε
x、εy、εzが各軸の実行前インポジション値より大
きい場合には判断ステップ3がNoになり、待機状態を
続ける。
【0018】一方、各軸のエラーレジスタ58X、58
Y、58Zの値εx、εy、εzが各軸の実行前インポ
ジション値以下であれば(判断ステップ3がYes)、
判断ステップ4に進み、移動指令か否かの判定を行い指
令の種類に応じた処理ステップに進む。例えば、指令の
種類が移動指令の場合は(判断ステップ4がYes)、
ステップ5に進み、読み込まれたブロックの移動指令値
をサーボインターフェース55を介してエラーレジスタ
58X、58Y、58Zに設定し、パルス分配処理を開
始する。これにより、サーボモータMX、MY、MZが
駆動され、それに伴い位置検出器PX、PY、PZから
発生するフィードバックパルスによりエラーレジスタ5
8X、58Y、58Zが減算され、エラーレジスタ58
X、58Y、58Zに溜まるエラー量εx、εy、εz
が「0」になるように各サーボモータMX、MY、MZ
が駆動され、目的の位置への移動がなされる。
Y、58Zの値εx、εy、εzが各軸の実行前インポ
ジション値以下であれば(判断ステップ3がYes)、
判断ステップ4に進み、移動指令か否かの判定を行い指
令の種類に応じた処理ステップに進む。例えば、指令の
種類が移動指令の場合は(判断ステップ4がYes)、
ステップ5に進み、読み込まれたブロックの移動指令値
をサーボインターフェース55を介してエラーレジスタ
58X、58Y、58Zに設定し、パルス分配処理を開
始する。これにより、サーボモータMX、MY、MZが
駆動され、それに伴い位置検出器PX、PY、PZから
発生するフィードバックパルスによりエラーレジスタ5
8X、58Y、58Zが減算され、エラーレジスタ58
X、58Y、58Zに溜まるエラー量εx、εy、εz
が「0」になるように各サーボモータMX、MY、MZ
が駆動され、目的の位置への移動がなされる。
【0019】一方指令の種類が移動指令ではない場合、
例えばクーラントオンのときは、上記判断ステップ4の
判断がNoとなりステップ6に進み、補助機能(クーラ
ントオン)が実行される。ここでは、読み込まれたブロ
ックのMコード08を外部I/O59に出力する。これ
により、クーラントバルブが開かれ切削油が吐出され
る。この数値制御装置60は、クーラントオンの他にス
テップ6における補助機能としてクーラントオフ、ワー
ク交換等の処理を行う。
例えばクーラントオンのときは、上記判断ステップ4の
判断がNoとなりステップ6に進み、補助機能(クーラ
ントオン)が実行される。ここでは、読み込まれたブロ
ックのMコード08を外部I/O59に出力する。これ
により、クーラントバルブが開かれ切削油が吐出され
る。この数値制御装置60は、クーラントオンの他にス
テップ6における補助機能としてクーラントオフ、ワー
ク交換等の処理を行う。
【0020】そして、各軸の処理の実行が終了したか否
かが次の判断ステップ7において、実行後インポジショ
ンを確認することにより行われる。即ち、現在の各軸の
エラーレジスタ58X、58Y、58Zの値εx、ε
y、εzが各軸の実行後インポジション値以下であるか
を次のように確認する。 エラーレジスタ58Xの値(εx)≦X軸実行後インポ
ジション値 エラーレジスタ58Yの値(εy)≦Y軸実行後インポ
ジション値 エラーレジスタ58Zの値(εz)≦Z軸実行後インポ
ジション値 各軸のエラーレジスタ58X、58Y、58Zの値ε
x、εy、εzが各軸の実行後インポジション値より大
きい場合は判断ステップ7がNoとなり、次のステップ
には進まない。
かが次の判断ステップ7において、実行後インポジショ
ンを確認することにより行われる。即ち、現在の各軸の
エラーレジスタ58X、58Y、58Zの値εx、ε
y、εzが各軸の実行後インポジション値以下であるか
を次のように確認する。 エラーレジスタ58Xの値(εx)≦X軸実行後インポ
ジション値 エラーレジスタ58Yの値(εy)≦Y軸実行後インポ
ジション値 エラーレジスタ58Zの値(εz)≦Z軸実行後インポ
ジション値 各軸のエラーレジスタ58X、58Y、58Zの値ε
x、εy、εzが各軸の実行後インポジション値より大
きい場合は判断ステップ7がNoとなり、次のステップ
には進まない。
【0021】そして、各軸のエラーレジスタ58X、5
8Y、58Zの値εx、εy、εzが各軸の実行後イン
ポジションジション値以下であれば、当該指令における
処理の終了を確認し、判断ステップ8に進み、全プログ
ラムが終了したか否かを判断し、プログラム終了であれ
ば(判断ステップ8がYes)自動運転を終了し、終了
していなければ(判断ステップ8がNo)ステップ1に
戻り、次のブロックの指令についての処理を開始する。
8Y、58Zの値εx、εy、εzが各軸の実行後イン
ポジションジション値以下であれば、当該指令における
処理の終了を確認し、判断ステップ8に進み、全プログ
ラムが終了したか否かを判断し、プログラム終了であれ
ば(判断ステップ8がYes)自動運転を終了し、終了
していなければ(判断ステップ8がNo)ステップ1に
戻り、次のブロックの指令についての処理を開始する。
【0022】次に本実施例の効果について縦軸に軸速度
を横軸に時間をとった図4を参照し、従来技術の説明に
おいて用いた図5の例と比較して説明する。図5(A)
に示す従来例のように、現在のブロックが移動指令(位
置決めXY)で、次のブロックが非移動指令(クーラン
トオン)で、更にその次に移動指令(切削Z)が続く場
合には、本実施例の数値制御装置50においては、位置
決めXYの実行後インポジション値、及び、クーラント
オンの実行前インポジション値が各軸について1000
ミクロンと大きいため(図2に示すインポジションテー
ブル20参照)、図4(A)に示すように位置決めXY
動作途中(残距離1000ミクロン)でクーラントオン
が実行される(時間a’)。そして、クーラントオンの
実行後インポジション値も各軸について1000ミクロ
ンと大きいため、即座に切削Zのブロックの読み込みを
開始する。ただし、切削Zの実行前インポジション値は
XY軸について10ミクロンと小さいため、実行前イン
ポジションの確認においてXY軸が完全に停止するまで
待機してからZ軸の切削を開始する(時間b’)。従っ
て、クーラントオンの後に置かれた切削Xの指令につい
ても、位置を正確に定めてから加工を開始するため高い
精度で加工が行える。
を横軸に時間をとった図4を参照し、従来技術の説明に
おいて用いた図5の例と比較して説明する。図5(A)
に示す従来例のように、現在のブロックが移動指令(位
置決めXY)で、次のブロックが非移動指令(クーラン
トオン)で、更にその次に移動指令(切削Z)が続く場
合には、本実施例の数値制御装置50においては、位置
決めXYの実行後インポジション値、及び、クーラント
オンの実行前インポジション値が各軸について1000
ミクロンと大きいため(図2に示すインポジションテー
ブル20参照)、図4(A)に示すように位置決めXY
動作途中(残距離1000ミクロン)でクーラントオン
が実行される(時間a’)。そして、クーラントオンの
実行後インポジション値も各軸について1000ミクロ
ンと大きいため、即座に切削Zのブロックの読み込みを
開始する。ただし、切削Zの実行前インポジション値は
XY軸について10ミクロンと小さいため、実行前イン
ポジションの確認においてXY軸が完全に停止するまで
待機してからZ軸の切削を開始する(時間b’)。従っ
て、クーラントオンの後に置かれた切削Xの指令につい
ても、位置を正確に定めてから加工を開始するため高い
精度で加工が行える。
【0023】図5(B)に示す従来例のように、現在の
ブロックが移動指令(位置決めXY)で、次のブロック
が非移動指令(クーラントオン)で、更にその次に移動
指令(位置決めZ)が続く場合には、本実施例の数値制
御装置50おいては、位置決めXYの実行後インポジシ
ョン値、及び、クーラントオンの実行前インポジション
値が各軸について1000ミクロンと大きいため、図4
(B)に示すように位置決めXY動作途中(残距離10
00ミクロン)でクーラントオンが実行される(時間
c’)。そして、クーラントオンの実行後インポジショ
ン値も各軸について1000ミクロンと大きいため、即
座に位置決めZのブロックの読み込みを開始する。そし
て、位置決めZの実行前インポジション値も各軸につい
て1000ミクロンと大きいため、直ちに位置決めZの
指令が実行に移される(時間d’)。このように正確な
位置決めが不要なときには即座に指令の実行に移れるた
め、図5(B)に示す従来技術の方法による加工時間t
2に比較して、この実施例の加工時間t4はc’−e’
に相当する時間が短縮されることになる。なお、上述し
た図4(B)の例では、クーラントオン指令のみが位置
決めZ指令の前に置かれていたが、位置決めZの前にク
ーラントオンに続いて更にクーラントオフの指令が置か
れていても、同様に該クーラントオフの実行後に直ちに
位置決めZ指令を実行することができる。このように、
本実施例によれば、位置決めや切削等の移動指令と、ク
ーラントオンやクーラントオフ等の実行時間の短い非移
動指令とがどのよな順序でプログラムされていても、必
要とされる精度を維持しつつ加工時間を短縮することが
できる。
ブロックが移動指令(位置決めXY)で、次のブロック
が非移動指令(クーラントオン)で、更にその次に移動
指令(位置決めZ)が続く場合には、本実施例の数値制
御装置50おいては、位置決めXYの実行後インポジシ
ョン値、及び、クーラントオンの実行前インポジション
値が各軸について1000ミクロンと大きいため、図4
(B)に示すように位置決めXY動作途中(残距離10
00ミクロン)でクーラントオンが実行される(時間
c’)。そして、クーラントオンの実行後インポジショ
ン値も各軸について1000ミクロンと大きいため、即
座に位置決めZのブロックの読み込みを開始する。そし
て、位置決めZの実行前インポジション値も各軸につい
て1000ミクロンと大きいため、直ちに位置決めZの
指令が実行に移される(時間d’)。このように正確な
位置決めが不要なときには即座に指令の実行に移れるた
め、図5(B)に示す従来技術の方法による加工時間t
2に比較して、この実施例の加工時間t4はc’−e’
に相当する時間が短縮されることになる。なお、上述し
た図4(B)の例では、クーラントオン指令のみが位置
決めZ指令の前に置かれていたが、位置決めZの前にク
ーラントオンに続いて更にクーラントオフの指令が置か
れていても、同様に該クーラントオフの実行後に直ちに
位置決めZ指令を実行することができる。このように、
本実施例によれば、位置決めや切削等の移動指令と、ク
ーラントオンやクーラントオフ等の実行時間の短い非移
動指令とがどのよな順序でプログラムされていても、必
要とされる精度を維持しつつ加工時間を短縮することが
できる。
【0024】また、本実施例においては、1軸のみの切
削指令の場合の実行前のインポジション値は、指定され
た軸を大きな値にし、指令された軸以外の軸を小さな値
にした。例えば、Z軸の切削の場合には、実行前のイン
ポジション値をZ軸のみ1000ミクロンとし、X、Y
軸を10ミクロンに設定した。このため、同じ方向での
位置決め或いは切削が繰り返されるような場合、例えば
Z軸での位置決めに続いて切削が行われるようなときに
は、ブロックの指令を素早く実行に移せ加工時間が短く
できるという利点がある。
削指令の場合の実行前のインポジション値は、指定され
た軸を大きな値にし、指令された軸以外の軸を小さな値
にした。例えば、Z軸の切削の場合には、実行前のイン
ポジション値をZ軸のみ1000ミクロンとし、X、Y
軸を10ミクロンに設定した。このため、同じ方向での
位置決め或いは切削が繰り返されるような場合、例えば
Z軸での位置決めに続いて切削が行われるようなときに
は、ブロックの指令を素早く実行に移せ加工時間が短く
できるという利点がある。
【0025】
【発明の効果】以上説明したことから明かなように、本
発明は、インポジション値設定手段が指令の実行に際し
て、指令の種類に対応させて指令実行前と指令実行後と
のインポジション値を、現在位置がインポジション値内
かを判断するためのインポジション判断手段に設定す
る。先ず、指令の実行を開始する際に、実行前インポジ
ション確認手段が現在位置は前記インポジション判断手
段に設定された指令実行前インポジション値内であるこ
とを確認する。そして、現在の指令の実行を終了する際
に、実行後インポジション確認手段が現在位置は前記イ
ンポジション判断手段に設定された指令実行後インポジ
ション値内であることを確認してから当該指令を終了
し、その後、次の指令についての処理を開始するので、
どのような順序で種々の指令がプログラムされていて
も、高い精度を維持しつつ加工時間を短縮化することが
可能となる。
発明は、インポジション値設定手段が指令の実行に際し
て、指令の種類に対応させて指令実行前と指令実行後と
のインポジション値を、現在位置がインポジション値内
かを判断するためのインポジション判断手段に設定す
る。先ず、指令の実行を開始する際に、実行前インポジ
ション確認手段が現在位置は前記インポジション判断手
段に設定された指令実行前インポジション値内であるこ
とを確認する。そして、現在の指令の実行を終了する際
に、実行後インポジション確認手段が現在位置は前記イ
ンポジション判断手段に設定された指令実行後インポジ
ション値内であることを確認してから当該指令を終了
し、その後、次の指令についての処理を開始するので、
どのような順序で種々の指令がプログラムされていて
も、高い精度を維持しつつ加工時間を短縮化することが
可能となる。
【図1】本発明の1実施例に係る数値制御装置のブロッ
ク図である。
ク図である。
【図2】図1に示す数値制御装置のインポジションテー
ブルの設定値を表す図である。
ブルの設定値を表す図である。
【図3】図1に示す数値制御装置の自動運転実行時のフ
ローチャート図である。
ローチャート図である。
【図4】本発明の実施例を説明するための、軸速度と時
間との関係を示す図である。
間との関係を示す図である。
【図5】従来技術を説明するための、軸速度と時間との
関係を示す図である。
関係を示す図である。
20 インポジションテーブル 50 数値制御装置 51 ROM 52 RAM 53 不揮発性メモリ 54 CRT/MDI 58X、58Y、58Z エラーレジスタ 60 CPU
Claims (2)
- 【請求項1】 現在の位置が設定されたインポジション
値内にあるか否かを判断するためのインポジション判断
手段と、 指令の種類に対応させて、指令実行前と指令実行後との
インポジション値を前記インポジション判断手段に設定
するインポジション値設定手段と、 指令の実行を開始する際に、現在の位置が前記インポジ
ション判断手段に設定された指令実行前のインポジショ
ン値内にいることを確認する実行前インポジション確認
手段と、 現在の指令の実行を終了し次の指令の実行へ移行する際
に、現在の位置が前記インポジション判断手段に設定さ
れた指令実行後のインポジション値内にいることを確認
する実行後インポジション確認手段とを有することを特
徴とする数値制御装置。 - 【請求項2】 前記インポジション値設定手段が、指令
の種類に対応させて、指令実行前のインポジション値と
して各軸で異なる値を前記インポジション判断手段に設
定することを特徴とする請求項1記載の数値制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8411993A JPH06270037A (ja) | 1993-03-18 | 1993-03-18 | 数値制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8411993A JPH06270037A (ja) | 1993-03-18 | 1993-03-18 | 数値制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06270037A true JPH06270037A (ja) | 1994-09-27 |
Family
ID=13821637
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8411993A Pending JPH06270037A (ja) | 1993-03-18 | 1993-03-18 | 数値制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06270037A (ja) |
-
1993
- 1993-03-18 JP JP8411993A patent/JPH06270037A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4550378A (en) | Method of numerical control and device therefor | |
| JPH07136906A (ja) | 数値制御装置 | |
| US5977736A (en) | Superposition control method using numerical controller | |
| EP0593758B1 (en) | Work exchange system | |
| US5313861A (en) | Workpiece exchanging system | |
| US10996655B2 (en) | Numerical controller | |
| JPH06270037A (ja) | 数値制御装置 | |
| JP3051576B2 (ja) | ワークの変形防止クランプ方法 | |
| JP6935606B1 (ja) | 情報処理装置および情報処理プログラム | |
| JPS63206804A (ja) | 数値制御方式 | |
| JPS62246408A (ja) | 深穴ドリルサイクル制御方式 | |
| JPH0630011B2 (ja) | 数値制御加工再開制御方式 | |
| US7136718B2 (en) | Numerical control apparatus | |
| EP0328665A1 (en) | Numerical controller | |
| US6681146B2 (en) | Method and apparatus for controlling driver mechanism in NC machine tool | |
| GB2187308A (en) | An operation program checking method for a numerical control device | |
| JP2584225B2 (ja) | 数値制御装置 | |
| JP3464894B2 (ja) | 工作機械の制御方法 | |
| JP2926524B2 (ja) | 試切削機能を有する数値制御装置 | |
| US11822317B2 (en) | Operator-defined avoidance of chatter | |
| JP2000231412A (ja) | インポジションチェック方法及びその装置 | |
| JPH08150540A (ja) | 工作機械の干渉防止装置 | |
| JP2992163B2 (ja) | 数値制御方法及び装置 | |
| JPH044405A (ja) | 数値制御装置 | |
| JPH0689109A (ja) | 数値制御装置 |