(57)【要約】【課題】            仮想機械座標上のクランプ速度が、実機械座標上のクランプ速度より小さくなってしまうことがない数値制御装置を提供する。【解決手段】        実機械座標と、この実機械座標に対して、設定された回転角度及びシフト量だけ回転及びシフトした仮想機械座標とを有する数値制御装置において、仮想機械座標上で動作している場合、実機械座標上でのクランプ速度を計算し、この計算したクランプ速度に基づいて移動軸の速度を制限する仮想座標制御クランプ速度処理手段９０５を設けた。【選択図】          図１
2010102733.tif 000002
【特許請求の範囲】
【請求項１】
実機械座標と、この実機械座標に対して、設定された回転角度及びシフト量だけ回転及びシフトした仮想機械座標とを有する数値制御装置において、仮想機械座標上で動作している場合、実機械座標上でのクランプ速度を計算し、この計算したクランプ速度に基づいて移動軸の速度を制限する仮想座標制御クランプ速度処理手段を備えたことを特徴とする数値制御装置。
【請求項２】
仮想機械座標上の移動軸可動領域を監視する仮想座標制御稼動領域チェック手段を備えたことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記仮想座標制御稼動領域チェック手段は、仮想機械座標上で指定された移動軸可動領域と実機械座標で指定された移動軸可動領域の共通領域または合成領域で移動軸の移動軸可動領域を監視するものであることを特徴とする請求項２に記載の数値制御装置。
【請求項４】
移動軸可動領域を関数で定義する稼動領域関数定義手段を備えたことを特徴とする請求項２または請求項３に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は数値制御装置に係り、特に仮想機械座標上での制御が前提で製作されている機械の制御に好適な数値制御装置に関するものである。
【背景技術】
【０００２】
数値制御装置は紙テープ等から指令された加工プログラムに基づいて数値制御処理を実行し、該処理結果により工作機械を駆動してワークに指令どおりの加工を施すものである。
【０００３】
図１３は従来の数値制御装置を示す要部ブロック図である。１０１は数値制御装置を表しており、解析処理部１０３と、補間処理部１０４と、機械制御信号処理部１０６と、ＰＬＣ回路１０５と、ＮＣ軸制御部１８０と、データ入出力回路１２０と、メモリ１０７と、パラメータ設定部１０８と、画面処理部１０９とから構成されている。また、数値制御装置１０１は、データ入出力回路１２０を介して、サーボ駆動装置２０１と結合され、ＮＣ軸２０４を駆動する。
【０００４】
１０２は加工プログラムであり、テープリーダ等から読み込まれた加工プログラム１０２はメモリ１０７に格納される。加工プログラム１０２を実行する際には、メモリ１０７から１ブロックずつ加工プログラム１０２が読み出され、解析処理部１０３で各々解析される。１ブロック毎に解析されたコードは、補間処理部１０４に渡され、該コードに従い、１ブロック毎の補間制御、主軸制御、補助機能制御等を行う。ＮＣ軸制御部１８０は、ＮＣ軸に対して、補間データに従った位置決めや補間送り等を施すための制御を行う。
【０００５】
サーボ駆動装置２０１は、サーボモータ２０２と結合され、検出器２０５からの位置フィードバックによる位置制御により、ギヤ、ボールネジ等を介して、ＮＣ軸２０４を駆動する。
【０００６】
また一般に数値制御装置では、プログラム座標回転という機能を持っている。  図１４に示すように、ＧコードとしてＧ６８（モーダルデータ、キャンセルはＧ６９）を用い、座標の回転中心の座標（α、β）と回転角度Ｒを指定することによって、新たな座標系を構築する。本座標系を繰り返し使うことによって、例えば、座標系に対して回転した位置にある複雑な形状を加工する場合、回転前の座標系で元となる加工形状のプログラムを作成し、本プログラム座標回転指令によって回転中心・回転角度を指定することにより、任意のパスをプログラムすることが可能になる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、従来の数値制御装置においては、サーボモータ２０２の回転速度に限界があるため、この限界速度を超えてサーボモータ２０２を回転させないよう、通常、クランプ速度を決める。これは、パラメータ設定部１０８よりメモリ１０７に設定される。図１６では、実機械座標上のＡ点、Ｂ点が実Ｘ軸のクランプ速度を、Ｃ点、Ｄ点が実Ｙ軸のクランプ速度を示している。即ち、点線で示されたところが、実Ｘ軸、実Ｙ軸のクランプ速度を示している。従って、Ｅ方向のＸ軸、Ｙ軸の直線補間を考えた場合、実機械座標上ではＦ点がクランプ速度となるが、仮想機械座標の場合には、仮想Ｘ軸の計算上のクランプ速度は座標変換によってＨ点になり（実際にクランプされる速度はＪ点）、また仮想Ｙ軸の計算上のクランプ速度は座標変換によってＩ点になる。
このため、仮想機械座標のＥ方向の直線補間クランプ速度はＧ点となり、実機械座標のクランプ速度より小さくなってしまい、サーボモータ２０２の性能を充分発揮させることができなかった。
【０００８】
また、図１５に示すような仮想機械座標上での制御が前提で製作されている機械では、仮想機械座標上でのストアードストロークチェック機能（ＣＮＣに工具の進入禁止領域を設定し、工具が進入禁止領域に入る時、工具を減速停止させ、アラームを表示する機能）が必要になるが、仮想機械座標上でのストアードストロークチェック機能がなかった。
【０００９】
本発明は上述のような課題を解決するためになされたもので、仮想機械座標上のクランプ速度が、実機械座標上のクランプ速度より小さくなってしまうことがない数値制御装置を提供することを目的とする。
【００１０】
また本発明は、仮想機械座標上でのストアードストロークチェック機能を有する数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る数値制御装置は、  また、本発明における数値制御装置は、仮想機械座標上で動作している場合、実機械座標上でのクランプ速度を計算し、この計算したクランプ速度に基づいて移動軸の速度を制限する仮想座標制御クランプ速度処理手段を備えるものである。
【００１２】
また、本発明における数値制御装置は、仮想機械座標上の移動軸可動領域を監視する仮想座標制御稼動領域チェック手段を備えるものである。
【００１３】
また、本発明における数値制御装置は、前記仮想座標制御稼動領域チェック手段を、仮想機械座標上で指定された移動軸可動領域と実機械座標で指定された移動軸可動領域の共通領域または合成領域で移動軸の移動軸可動領域を監視するものとしたものである。
【００１４】
また、本発明における数値制御装置は、移動軸可動領域を関数で定義する稼動領域関数定義手段を備えたものである。
【発明の効果】
【００１５】
この発明による数値制御装置によれば、  また発明によれば、仮想機械座標上のクランプ速度が、実機械座標上のクランプ速度より小さくなってしまうことはない。即ち、実機械座標上で計算されたクランプ速度と同じ速度で制御することができる。
【００１６】
また発明によれば、仮想機械座標上でもストアードストロークチェックを行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１に係わる仮想座標制御に関する要部ブロック図である。
【図２】本発明の実施の形態１に係わる仮想座標制御の運転モードに関する情報を示す図である。
【図３】本発明の実施の形態１に係わる仮想機械座標と実機械座標の関係を示す図である。
【図４】本発明の実施の形態１に係わる仮想座標制御設定情報説明図である。
【図５】本発明の実施の形態１に係わる仮想座標制御へ切り換えたときのカウンタ表示の変化を示す図である。
【図６】本発明の実施の形態１に係わる仮想座標制御のストアードストロークリミット（稼動領域）説明図である。
【図７】本発明の実施の形態１に係わる仮想座標制御の稼動領域を含む仮想座標制御の設定動作を説明するフローチャートである。
【図８】本発明の実施の形態１に係わる仮想座標制御の稼動領域を関数で定義するための処理を説明するフローチャートである。
【図９】本発明の実施の形態１に係わる仮想座標制御動作を説明するフローチャートである。
【図１０】本発明の実施の形態１に係わる仮想座標制御のストアードスロークリミット（稼動領域）を関数で定義するための説明図である。
【図１１】本発明の実施の形態１に係わる仮想座標制御時のＰＬＣ回路の入出力信号一覧表である。
【図１２】本発明の実施の形態１に係わる仮想座標制御時のＰＬＣ回路の信号入出力動作を説明するフローチャートである。
【図１３】従来の数値制御装置の要部ブロック図である。
【図１４】従来のプログラム座標回転説明図である。
【図１５】仮想機械座標制御が前提として作成された機械の説明図である。
【図１６】座標回転のクランプ速度計算の問題点を示す説明図である
【発明を実施するための形態】
【００１８】
実施の形態１．
以下、本発明の実施の形態１を図１〜図１２に基づいて説明する。
図１は数値制御装置の実施の形態１を示す要部ブロック図である。本発明の実施の形態１は、図１３に示す従来のブロック図と比較して、補間処理部１０４に、仮想座標制御切り換え判定手段９０１と、仮想座標変換手段９０２と、仮想座標制御稼動領域チェック手段９０３と、稼動領域関数定義手段９０４と、仮想座標制御クランプ速度処理手段９０５とが付加されており、また機械制御信号処理部１０６に、仮想座標制御情報検出手段９０８と仮想座標制御対応入出力信号処理手段９０９とが付加されており、またメモリ７に、仮想座標制御条件設定エリア９０７と仮想座標カウンタ９１１とが付加されており、更にまた画面処理部１０９に、仮想座標カウンタ表示手段９１２が付加されたことが特徴である。なお、前記各手段はソフトウエアで構成されており、また従来例と符号が同じものは従来例で説明したものと同じものを表している。
【００１９】
次に仮想座標制御の条件設定処理について、図１のブロック図と、図２の仮想座標制御の運転モードに関する情報と、図３の仮想機械座標と実機械座標の関係図と、図４の条件設定内容説明図と、図６の仮想座標制御のストアードストロークリミット説明図と、図７の動作説明フローチャートとを使って説明する。
【００２０】
図７のフローチャートにおいて、ステップ１では、ＰＬＣ回路１０５と機械制御信号処理部１０６との共有メモリ９１０に、ＰＬＣ回路１０５が仮想座標制御の条件を設定する。仮想座標制御の条件は、例えば図４に示すように、制御信号１、制御信号２、ステータス、エラー要因、仮想座標対象第１軸シフト量、仮想座標対象第２軸シフト量及び仮想機械座標回転角度がある。
【００２１】
前記制御信号１は、メモリ運転（メモリ１０７に記憶された加工プログラムの実行による自動運転）、原点復帰、ＪＯＧ等の各運転モードで、数値制御装置を実機械座標か仮想機械座標かの何れで動作させるかを指定するものである。
指定方法は、図２に示すような共有メモリ９１０に設けられたテーブルの各ビットに運転モードを割り付け、この運転モードが実機械座標で制御するか仮想機械座標で制御するかを決める。例えば、ビット情報が「０」の時は実機械座標、ビット情報が「１」の時は仮想機械座標とした場合、図２の原点復帰モードは実機械座標、メモリ運転は仮想機械座標で制御することを意味する。
【００２２】
ここで、ハンドルに関する信号が、ハンドル信号１、ハンドル信号２の２種類がある理由は、次のとおりである。
即ち、通常、図１５に示すような仮想機械座標が前提で製作されている機械では、オペレータがハンドルを用いて手動でツールを動かす場合、仮想機械座標上でＸ軸、Ｙ軸が制御されてなければ、オペレータが意図する位置にツールを移動させることができない。従ってこのときは、オペレータはハンドル１の信号を使用すれば、機械を仮想機械座標上で動かすことが可能になる。
また、機械のメンテナンスを行うサービスエンジニア等は機械調整等で機械をハンドルによって実機械座標上で動かしたいケース（例えば図１５の機械で、ツールが保持されたホルダを、実Ｘ軸、実Ｙ軸方向に動かしたいケース）がある。従ってこのときは、機械のメンテナンスを行うサービスエンジニア等はハンドル２の信号を使用すれば、機械を実機械座標上で動かすことが可能になる。
以上の理由によりハンドルに関する信号を２種類設けている。
【００２３】
また、多軸多系統旋盤のようなプログラム系統が複数ある機械では、仮想機械座標を使用する系統を指定する必要がある。図４の制御信号２は、前述のプログラム系統番号と仮想機械座標の対象となる２軸を指定する。ＰＬＣ回路１０５と機械制御信号処理部１０６の共有メモリ９１０に設定された内容を、ＰＬＣ回路１０５が機械制御信号処理部１０６に要求信号をオンすることによって、機械制御信号処理部１０６に通知するが、このとき、ステータスには機械制御信号処理部１０６が通知を正常に受け付けたかどうかをセットする。正常に受け付けられなかった場合には（エラーであった場合には）、エラー要因の項目にエラー番号をセットする。例えば、制御信号２で存在しない系統番号を通知した場合、ステータスにはエラーを意味する「１」を、エラー要因には、系統番号指定不正を意味する「８」がセットされる。なお、エラーとなった場合には、数値制御装置１０１の表示装置のエラー画面（図示せず）に、その内容を表示することにより、プログラマがそのエラーを修正する。
【００２４】
図３は、図４の仮想座標対象第１軸シフト量にＸ軸シフト量；１２０．０００ｍｍ、図４の仮想座標対象第２軸シフト量にＹ軸シフト量；６０．０００ｍｍ、図４の仮想機械座標回転角度に回転角度；時計回り４５°を設定した場合の仮想機械座標系と実機械座標系との関係を示している。このように設定された場合、仮想座標対象第１軸シフト量、仮想座標対象第２軸シフト量及び仮想機械座標回転角度の情報から、実機械座標を４５°時計回りに回転させ、回転させたＸ軸方向に１２０．０００ｍｍ、また、回転させたＹ軸方向に６０．０００ｍｍシフトしたところに仮想機械座標の原点が設定される。
【００２５】
以上、仮想座標制御情報検出手段９０８は、ＰＬＣ回路１０５からの上述の情報をメモリ１０７の仮想座標制御条件設定エリア９０７に書き込む。
なお、例えば図１５に示すような複数のツールが仮想Ｘ座標上で動作する機械を制御する場合、各工具に対応した仮想座標対象第１軸シフト量、仮想座標対象第２軸シフト量、仮想機械座標回転角度等が、仮想座標制御条件設定エリア９０７に予め書き込まれる。
【００２６】
次にステップ２では、図６に示すような、実機械座標上の移動軸可動領域(2)と、仮想機械座標上の移動軸可動領域(1)を、パラメータとして、パラメータ設定部１０８よりメモリ１０７の仮想座標制御条件設定エリア９０７に予め登録しておく。
移動軸可動領域について図６を例に説明すると、実機械座標の移動軸可動領域(2)は、実Ｘ軸のＢ点の座標値と、実Ｘ軸のＡ点の座標値と、実Ｙ軸のＣ点の座標値と、実Ｙ軸のＤ点の座標値とを指定する。
【００２７】
また、仮想機械座標の移動軸可動領域(1)は、仮想機械座標上のＸ軸のａ点の座標値と、仮想機械座標上のＸ軸のｂ点の座標値と、仮想機械座標上のＹ軸のｃ点の座標値と、仮想機械座標上のＹ軸のｄ点の座標値とを指定する。
なお図６においては、仮想機械座標の移動軸可動領域(1)を、実機械座標の移動軸可動領域(2)とは異なった面積に設定している。これは、機械によって、仮想機械座標の移動軸可動領域(1)と実機械座標の移動軸可動領域(2)とが異なる場合が往々にしてあるため、実際の機械に対応して描いてあるからである。
【００２８】
仮想座標制御稼動領域チェック手段９０３は、ステップ１で設定された仮想座標対象第１軸シフト量、仮想座標対象第２軸シフト量及び仮想機械座標回転角度から、仮想機械座標上に設定された移動軸可動領域、即ち図６に示されたＡ点、Ｂ点、Ｃ点、Ｄ点の座標値を式（１）によって実機械座標に変換する。なお本データは、仮想座標制御稼動領域チェック手段９０３が後述のストアードストロークチェックを行うときに使われる。
Ｘｒ＝（Ｘｖ−Ｘｓ）×ｃｏｓθ−（Ｙｖ−Ｙｓ）×ｓｉｎθ
Ｙｒ＝（Ｘｖ−Ｘｓ）×ｓｉｎθ＋（Ｙｖ−Ｙｓ）×ｃｏｓθ
・・・・・（式１）
ここで、Ｘｒ、Ｙｒは実機械座標値を、Ｘｖ、Ｙｖは仮想機械座標値を、θは仮想機械座標回転角度を示している。また、Ｘｓは仮想座標対象第１軸シフト量、Ｙｓは仮想座標対象第２軸シフト量を示している。
【００２９】
次に図８のフローチャートを使って、実機械座標から仮想機械座標の切り換え、クランプ速度、仮想機械座標表示及びストアードストロークチェックについて説明する。
まず、ステップ１１で、ＰＬＣ回路１０５が機械制御信号処理部１０６に運転モード信号を入力すると、機械制御信号処理部１０６の仮想座標制御情報検出手段９０８が仮想座標制御切り換え判定手段９０１に運転モード信号を通知する。  なお、運転モード信号でない場合は仮想座標制御切り換え判定手段９０１は何もせず処理を終了する。
【００３０】
次にステップ１２では、仮想座標制御切り換え判定手段９０１が仮想座標制御条件設定エリア９０７に設定された運転モード信号に対応するテーブル（図２のテーブル）を参照し、このテーブルの内容と仮想座標制御情報検出手段９０８から通知された入力信号とを比較する。そして例えば、運転モード信号としてメモリ運転、ＪＯＧ、ハンドル１の何れかの信号が入力されている場合は、図２のテーブルを参照すると、仮想機械座標を意味する「１」が設定されているため、仮想座標変換手段９０２に実機械座標から仮想機械座標への変換を通知する。
【００３１】
次にステップ１３で、仮想座標変換手段９０２が、仮想座標制御切り換え判定手段９０１からの実機械座標から仮想機械座標への変換要求を受けて仮想座標制御条件設定エリア９０７の情報に基づき式（２）を使って座標変換する。
Ｘｖ＝Ｘｒ×ｃｏｓθ＋Ｙｒ×ｓｉｎθ＋Ｘｓ
Ｙｖ＝Ｘｒ×ｓｉｎθ−Ｙｒ×ｃｏｓθ＋Ｙｓ
・・・・・・・・・・・（式２）
ここで、Ｘｒ、Ｙｒは実機械座標値を、Ｘｖ、Ｙｖは仮想機械座標値を、θは仮想機械座標回転角度を示している。また、Ｘｓは仮想座標対象第１軸シフト量、Ｙｓは仮想座標対象第２軸シフト量を示している。
そして仮想座標変換手段９０２は、計算したＸｖ、Ｙｖを仮想座標カウンタ９１１にセットする。
【００３２】
なお、例えば図１５に示すような複数のツールが仮想Ｘ軸座標上で動作する場合、各工具に対応した仮想座標対象第１軸シフト量、仮想座標対象第２軸シフト量、仮想機械座標回転角度等が、仮想座標制御条件設定エリア９０７に予め書き込まれているので、解析処理部１０３が工具交換指令を解析する毎に、前記仮想座標変換手段９０２は、その交換される工具に対応した仮想座標対象第１軸シフト量、仮想座標対象第２軸シフト量、仮想機械座標回転角度等を用いて前記演算を行う。
【００３３】
次にステップ１４では、画面処理部１０９の仮想座標カウンタ表示手段９１２が、仮想座標カウンタ９１１の仮想機械座標値を数値制御装置１０１の画面に表示する。即ち、図５（ａ）に示すように、〔カウンタ表示〕画面が実機械座標値から仮想機械座標値に切り替わる。
例えば、原点復帰モード中（実機械座標値で動作する）にオペレータがメモリ運転（仮想機械座標値で動作する）に切り換えると、図５（ｂ）に示すように、実機械座標がＸｒ：３０．０００ｍｍ、Ｙｒ：３０．０００ｍｍであって、仮想機械座標がＸ軸シフト量：１２０．０００ｍｍ、Ｙ軸シフト量：６０．０００ｍｍ、回転角度：４５°に設定されている場合、前記実機械座標における仮想機械座標値は、Ｘｖ：１６２．４２６、Ｙｖ：６０．０００となり、図５（Ａ）に示すように、〔カウンタ表示〕画面にその仮想機械座標値を表示する。
【００３４】
次にステップ１５では加工プログラム１０２の指令を解析処理部１０３で解析し、仮想座標制御切り換え判定手段９０１を介して仮想座標制御クランプ速度処理手段９０５に通知する。次に、仮想座標制御クランプ速度処理手段９０５が、解析処理部１０３で解析された速度を実機械座標上の速度に変換する。例えば図１６に示すＥ方向の変換を行う場合には、式（３）を使用する。
VＸｒ＝Ｖｖ×ｓｉｎ（−θ＋γ）
VＹｒ＝Ｖｖ×ｃｏｓ（−θ＋γ）
・・・・・・・・・・・・・・・・・（式３）
ここで、VＸｒ、VＹｒは実機械座標上でのＸ軸、Ｙ軸の速度を、Ｖｖは仮想機械座標での速度を、θは仮想機械座標回転角度を示している。また、γは軸の移動方向の仮想機械座標に対する角度（−側の仮想Ｙ軸を基点とするＣＣＷ方向の角度を＋方向の角度とする軸の移動方向の仮想機械座標に対する角度）を示している。
【００３５】
次にステップ１６では、仮想座標制御クランプ速度処理手段９０５が、ステップ１５で計算された実機械座標上での速度と、パラメータで設定された実機械座標上でのクランプ速度（パラメータ設定部１０８より設定されメモリ１０７に記憶されたクランプ速度）とを比較し、計算された実機械座標上での速度が、パラメータで設定された実機械座標上でのクランプ速度を超えた場合には、ステップ１７に進む。超えていない場合はステップ１８に進む。
【００３６】
ステップ１７では、仮想座標制御クランプ速度処理手段９０５が計算された実機械座標上での速度をパラメータで設定された実機械座標上でのクランプ速度に置き換え、また、補間の場合、クランプ速度を超えた軸以外の軸には、クランプ速度を超えた軸のクランプ速度／クランプ速度を超えた軸の計算された実機械座標上での速度の比率を乗ずることによってクランプ速度を超えた軸以外の軸の速度を計算し、補間処理部１０４に通知する。
【００３７】
この結果、図１６において説明したように、例えば仮想座標上の指令合成移動方向Ｅにおいて、仮想座標上で計算するとクランプ速度がＧ点となってしまうが、上述の通り実機械座標上の速度に変換しているので、クランプ速度をＦ点まで増加させることができるようになる。
【００３８】
次にステップ１８では、補間処理部１０４が速度情報をもとに仮想機械座標上の次の移動指令（ＦΔｔ）を作成する。
次に仮想座標制御稼動領域チェック手段９０３が仮想機械座標上の次の移動指令（ＦΔｔ）を補間処理部１０４から取得し、次の仮想機械座標上のＸ軸、Ｙ軸の機械座標値を計算し、仮想機械座標上で定義された移動軸可動領域と実機械座標上で定義された移動軸可動領域をチェックする。まず、実機械座標上の移動軸可動領域のチェックは次のように行う。仮想座標制御中は、仮想座標制御稼動領域チェック手段９０３が、仮想機械座標上のＸ軸、Ｙ軸の機械座標値を実機械座標上に前述の式（１）を使って、実機械座標値を計算する。そしてこの座標値が、まず、実機械座標上で定義された移動軸可動領域以外のエリアになるかをチェックし、また、移動軸可動領域以外であればステップ１９に進み、移動指令を中止してアラーム表示する。
【００３９】
また、移動軸可動領域以内であれば、次に仮想機械座標上で定義された移動軸可動領域をチェックする。本チェックは次のようにして行う。仮想座標制御稼動領域チェック手段９０３がステップ２で仮想機械座標から変換された実機械座標上で定義された移動軸可動領域のデータをメモリ１０７から読み出し、移動軸可動領域以外かをチェックし、移動軸可動領域以外であれば同様にステップ１９に進み、移動指令を中止してアラーム表示する。また、範囲以内であれば処理を終了する。
【００４０】
以上のチェックによって、図６に示す仮想機械座標上で定義された移動軸可動領域と、実機械座標上で定義された移動軸可動領域との共通領域（ＡＮＤ領域）である網掛けされた移動軸可動領域（仮想機械座標上で動作している時における機械の実際の移動軸可動領域）を、チェックすることができる。また、本チェックは、仮想機械座標上で定義された移動軸可動領域と、実機械座標上で定義された移動軸可動領域との合成領域（ＯＲ領域）でも、アルゴリズムをかえることによってチェック可能である。
【００４１】
また、前記については、実Ｘ軸のＢ点の座標値と、実Ｘ軸のＡ点の座標値と、実Ｙ軸のＣ点の座標値と、実Ｙ軸のＤ点の座標値とを指定することにより、実機械座標の移動軸可動領域(2)を設定し、また仮想機械座標上のＸ軸のａ点の座標値と、仮想機械座標上のＸ軸のｂ点の座標値と、仮想機械座標上のＹ軸のｃ点の座標値と、仮想機械座標上のＹ軸のｄ点の座標値とを指定することにより、仮想機械座標の移動軸可動領域(1)を設定し、そしてこの移動軸可動領域(2)と移動軸可動領域(1)とのＡＮＤ領域またはＯＲ領域をチェックすることにより、仮想機械座標上で動作している時における機械の実際の移動軸可動領域のチェックを行うものについて説明したが、このような手段を用いることなく、前記ＡＮＤ領域の境界を条件式（広義の意味で以下関数と称する）で定義することも可能である。
【００４２】
次に、前記ＡＮＤ領域の境界を関数で定義した場合の処理について、図９のフローチャートと図１０のストアードストロークリミット説明図を使って説明する。なお図１０においても、図６と同様に、仮想機械座標の移動軸可動領域を、実機械座標の移動軸可動領域とは異なった面積に設定している。これは、機械によって、仮想機械座標の移動軸可動領域と実機械座標の移動軸可動領域とが異なる場合が往々にしてあるため、実際の機械に対応して描いてあるからである。
【００４３】
まず、ステップ３は前述のステップ１と同じ動作であるため説明を省略する。ステップ４では、稼動領域関数定義手段９０４が前記領域の境界を実Ｘ軸、実Ｙ軸上の関数で定義する。例えば、図１０に示す網掛けの移動軸可動領域の場合（仮想座標対象第１軸シフト量＝０、仮想座標対象第２軸シフト量＝０、仮想機械座標回転角度＝４５°で、各座標値が図１０に記載の場合）、以下のように定義する。実Ｙ軸を基準に考えると実Ｘ軸が０以上の場合は、
（a）Ｙ＜(1)（−８）            ：常時エラー
（b）(1)（−８）≦  Ｙ  ＜  (2)  ：Ｘ  ＞  Ｙ  ＋  ２８．２８４（２０×
√２）の時エラー
（c）(2)  ≦  Ｙ  ＜  (3)        ：Ｘ  ＞  ３５．０００の時エラー
（d）(3)  ≦  Ｙ  ＜  (4)（２０）：Ｘ  ＞  −Ｙ  ＋  ４２．４２６（３０×√２）の時エラー
（Ｅ）(4)（２０）  ≦  Ｙ        ：常時エラー
と定義し、実Ｘ軸が０未満の場合は
（ｆ）Ｙ＜(5)（−８）              ：常時エラー
（ｇ）(5)（−８）≦  Ｙ  ＜  (6)    ：Ｘ  ＜  −Ｙ  −  １０．０００の時エラー
（ｈ）(6)  ≦  Ｙ  ＜  (7)          ：Ｘ  ＜  −１０．０００の時エラー
（ｉ）(7)  ≦  Ｙ  ＜  (8)（２０）  ：Ｘ  ＜  Ｙ  −  ２０．０００の時エラー
（ｊ）(8)（２０）  ≦  Ｙ          ：常時エラー
と定義する。
【００４４】
仮想座標制御稼動領域チェック手段９０３は仮想機械座標上の次の移動指令（ＦΔｔ）を補間処理部１０４から取得し、次の仮想機械座標上のＸ軸、Ｙ軸の機械座標値を計算し、該機械座標を上述の式（１）を使って実機械座標上の値に変換する。変換された値を式（a）〜（ｊ）に代入して、移動軸可動領域内か移動軸可動領域外かを判定する。例えば、仮想機械座標上のＸ軸、Ｙ軸の機械座標値が（２８、０）：e点で次の移動指令（ＦΔｔ）後の機械座標値が（２９，０）：f点の場合、この値を実機械座標に変換すると、実Ｘ軸、実Ｙ軸は各々（２０．５０６、２０．５０６）になる。まず、実Ｘ軸の値が０以上であるから、式（e）にあてはまる。
即ち、移動軸可動領域外になるため、次の移動指令はＮＣ軸制御部１８０に出力せず、アラーム処理する。アラーム処理は前述のステップ２０のアラーム処理と同じである。なお前記説明は実機械座標と仮想機械座標で定義された移動軸可動領域の共通領域（ＡＮＤ領域）についてのチェック方法を説明したが、合成領域（ＯＲ領域）でも関数を定義することによって同様にチェックすることが可能である。
【００４５】
次に仮想座標制御中のＰＬＣ信号処理について図１１及び図１２を用いて説明する。
図１１は仮想座標制御中のＰＬＣ信号の取り扱いについて表にしたものである。例えば、軸移動中信号＋または軸移動中信号−は、仮想座標制御中にＸ軸のみに移動指令が与えられたとき、実機械座標上では、Ｘ軸、Ｙ軸の両方の軸が移動するが、ＰＬＣ回路１０５にはＸ軸のみの軸移動中信号＋または軸移動中信号−を出力することを意味し、また、ＰＬＣ回路１０５からの入力信号であるサーボオフ信号の場合は、例え仮想座標制御中であっても、実軸のサーボ駆動装置２０１に対して数値制御装置１０１がサーボオフ信号を出力することを意味している。
【００４６】
次に動作について図１２のフローチャートを使って説明する。
ステップ３１で、仮想座標制御対応入出力信号処理手段９０９が、仮想座標制御切り換え判定手段９０１に対して仮想座標制御中かどうかを問い合わせる。仮想座標制御切り換え判定手段９０１から仮想座標制御中でないという応答があった場合、ステップ３４に進む。
ステップ３４では仮想座標制御対応入出力信号処理手段９０９は処理を何もせず、機械制御信号処理部１０６が通常のＰＬＣ信号処理を行う。仮想座標制御切り換え判定手段９０１から仮想座標制御中の応答があった場合、ステップ３２に進む。
【００４７】
ステップ３２では、例えば、加工プログラムを運転することによって、Ｘ軸が移動している場合、仮想座標制御中であるため、実際にはＸ軸とＹ軸の両方の軸が移動しているので、仮想座標制御切り換え判定手段９０１からはＸ軸、Ｙ軸の軸移動情報が仮想座標制御対応入出力信号処理手段９０９に入力される。
次に仮想座標制御対応入出力信号処理手段９０９は仮想座標制御条件設定エリア９０７から仮想座標制御関連軸（例えば実Ｘ軸、実Ｙ軸）を特定し、また、解析処理部１０３の情報から現在の加工プログラムで指令されている指令移動軸を特定する。
【００４８】
次にステップ３３では、仮想座標制御対応入出力信号処理手段９０９がステップ３２で、指令移動軸が例えばＸ軸であり、かつ、仮想座標制御切り換え判定手段９０１からの軸移動情報が仮想座標制御関連軸（例えば実Ｘ軸、実Ｙ軸）であった場合、ＰＬＣ回路１０５に対して、Ｘ軸、Ｙ軸の軸移動中信号＋または軸移動中信号−をＰＬＣ回路１０５に出力せずＸ軸のみの軸移動中信号＋または軸移動中信号−（軸移動方向によって＋になるか−になるかが決まる）を出力する。      
【００４９】
また、例えば軸取り外し信号（軸を制御対象外とする信号で、例えば主軸を駆動するモータが主軸駆動用モータと位置決め用モータの２種類のモータがあり、このモータを切り換えて使用する場合の信号として用いられる）については、オペレータの操作によって例えばＸ軸に対する軸取り外し信号がＰＬＣ回路１０５から入力されると、仮想座標制御中、仮想座標制御中でない場合にかかわらず、ステップ３４で、仮想座標制御対応入出力信号処理手段９０９が実Ｘ軸に対して軸取り外し信号を仮想座標制御切り換え判定手段９０１、ＮＣ軸制御部１８０及びデータ入出力回路１２０を介してサーボ駆動装置２０１に出力する。
【産業上の利用可能性】
【００５０】
この発明に係る数値制御装置は、図１５に示すような機械（複数のツールが、Ｘ軸サーボモータ及びＹ軸サーボモータによりＸ軸方向及びＹ軸方向に移動可能なツール取付け台に、ワークの周囲に放射状に位置するように取付けられ、ツールが仮想Ｘ軸上を移動してワークを加工する機械。即ち、仮想座標系での制御が前提で製作されている機械）を制御する数値制御装置として用いられるのに適している。
【符号の説明】
【００５１】
１０１  数値制御装置、１０２  加工プログラム、１０３  解析処理部、１０４  補間処理部、１０５  ＰＬＣ回路、１０６  機械制御信号処理部、１０７  メモリ、１０８  パラメータ設定部、１０９  画面処理部、１２０  データ入出力回路、１８０  ＮＣ軸制御部、２０１  サーボ駆動装置、２０２  サーボモータ、２０４  ＮＣ軸、２０５  検出器、９０１  仮想座標制御切り換え判定手段、９０２  仮想座標変換手段、９０３  仮想座標制御稼動領域チェック手段、９０４  稼動領域関数定義手段、９０５  仮想座標制御クランプ速度処理手段、９０７  仮想座標制御条件設定エリア、９０８  仮想座標制御情報検出手段、９０９  仮想座標制御対応入出力信号処理手段、９１１  仮想座標カウンタ、９１２  仮想座標カウンタ表示手段。
【図１】
2010102733.tif 000003
【図２】
2010102733.tif 000004
【図３】
2010102733.tif 000005
【図４】
2010102733.tif 000006
【図５】
2010102733.tif 000007
【図６】
2010102733.tif 000008
【図７】
2010102733.tif 000009
【図８】
2010102733.tif 000010
【図９】
2010102733.tif 000011
【図１０】
2010102733.tif 000012
【図１１】
2010102733.tif 000013
【図１２】
2010102733.tif 000014
【図１３】
2010102733.tif 000015
【図１４】
2010102733.tif 000016
【図１５】
2010102733.tif 000017
【図１６】
2010102733.tif 000018