(57)【要約】【課題】スキップ機能を使用した計測プログラムが正しく動作するかを確認可能な計測プログラムのシミュレーション装置を提供すること。【解決手段】シミュレーション装置１は、表示装置３とシミュレーション装置本体２を有する。シミュレーション装置本体２には、計測プログラムを解析してプローブの動作指令データ（位置情報など）を作成する、実際の工作機械の数値制御装置と同一の処理機能を有する演算処理部６、データを記憶するデータ記憶部５、表示制御部４を備えている。演算制御部６は、計測プログラムを解析し、プローブＰの動作指令がスキップ機能を指令するものであるときには、ワークＷとプローブＰとが表示装置３の表示画面中で接触したか否かを判断する。この接触したか否かの判断結果を、計測プログラムのシミュレーションにおけるスキップ機能の外部信号として用いる。【選択図】図１
2010086252.tif 000002
【特許請求の範囲】
【請求項１】
プローブが移動してワークに接触した時に信号を出力してプローブを停止させ、該プローブの停止位置でプローブの位置を検出することによってワークの計測を行う計測プログラムのプローブの動作を表示装置に描画してシミュレーションを行う装置において、
ワークの形状および設置される位置のデータ、ならびに、プローブの形状データを定義し、記憶する記憶手段と、
前記記憶手段に記憶されたデータおよび前記計測プログラムに基づいてプローブおよびワークの描画を行う表示装置と、
プローブをワークに接触させる指令ブロックの描画を行う際に、前記表示装置の画面上におけるプローブの位置がワークの位置と重なるか、あるいは、所定の距離以内にあるかを判断する判断手段と、
画面上でプローブが前記ワークの形状と重なるか、あるいは、所定の距離以内にあると判断された時、当該指令ブロックのプローブの移動描画を停止し、次の指令ブロックの描画を行う手段と、
を有することを特徴とする計測プログラムのシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測プログラムのシミュレーション装置に関する。
【背景技術】
【０００２】
一般に、工作機械を制御する数値制御装置は、被対象物（以下、「ワーク」という）上のある特定位置を検出することができるスキップ機能を備えている。このスキップ機能は、スキップ指令に基づいて工作機械の送り機構を所定の距離だけ移動させ、外部入力であるスキップ信号がオンとなった場合、送り機構の移動を停止させてその停止位置をシステム変数に記憶した後、該スキップ指令に基づく送り機構の残りの移動をキャンセルして次のブロックを実行する機能である。
【０００３】
したがって、ワーク上のある特定位置が不明確な場合には、スキップ機能を利用することによりその特定位置を検出することができる。つまり、スキップ指令に基づいて送り機構が移動中に計測機器がワーク上の特定位置に接触してスキップ信号がオンとなることにより、送り機構の移動が停止されてその停止位置が記憶されることにより、特定位置を検出することができる。
【０００４】
特許文献１には、検出手段が指令手段からの指令信号を受けて、検出された距離から求められる変化量が所定の変化量を超えた場合はスキップ信号を出力し、被測定物の複数の位置を測定する工作機械の制御装置の技術が開示されている。
【０００５】
【特許文献１】特開平６−１１０５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
計測プログラムはスキップ機能（Ｇ３１）を使用するが、計測プログラムのシミュレーション装置では、外部入力であるスキップ信号が入力されない。そのため、計測プログラムが正しく作成されているか否かをシミュレーション装置で確認することができなかった。
【０００７】
そこで本発明の目的は、プローブの動作をシミュレーションすることにより描画をし、実際にプローブを動作させずにスキップ機能を使用した計測プログラムが正しく動作するかを確認可能な計測プログラムのシミュレーション装置を提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、プローブが移動してワークに接触した時に信号を出力してプローブを停止させ、該プローブの停止位置でプローブの位置を検出することによってワークの計測を行う計測プログラムのプローブの動作を表示装置に描画してシミュレーションを行う装置において、ワークの形状および設置される位置のデータ、ならびに、プローブの形状データを定義し、記憶する記憶手段と、前記記憶手段に記憶されたデータおよび前記計測プログラムに基づいてプローブおよびワークの描画を行う表示装置と、プローブをワークに接触させる指令ブロックの描画を行う際に、前記表示装置の画面上におけるプローブの位置がワークの位置と重なるか、あるいは、所定の距離以内にあるかを判断する判断手段と、画面上でプローブが前記ワークの形状と重なるか、あるいは、所定の距離以内にあると判断された時、当該指令ブロックのプローブの移動描画を停止し、次の指令ブロックの描画を行う手段と、を有することを特徴とする計測プログラムのシミュレーション装置。
【発明の効果】
【０００９】
本発明により、プローブの動作をシミュレーションすることにより描画をし、実際にプローブを動作させずにスキップ機能を使用した計測プログラムが正しく動作するかを確認可能な計測プログラムのシミュレーション装置を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図面を用いて説明する。  
図１は、本発明の一実施形態のシミュレーション装置の要部ブロック図である。  
シミュレーション装置１はパーソナルコンピュータ（以下、「ＰＣ」という）で構成され、表示装置３とシミュレーション装置本体（ＰＣ本体）２を有する。シミュレーション装置本体（ＰＣ本体）２には、計測プログラムを解析してプローブの動作指令データ（位置情報など）を作成する、実際の工作機械の数値制御装置と同一の処理機能を有する演算処理部６、データを記憶するデータ記憶部５、表示制御部４を備えている。
【００１１】
計測プログラムをシミュレーションする場合、該計測プログラムが演算処理部６に入力される。演算処理部６は、計測プログラムを解析し、該計測プログラムに含まれるワークＷの形状データおよび位置のデータを取得し、データ記憶部５に格納する。同様に、演算処理部６は、計測プログラムに含まれるプローブＰの形状データを取得し、データ記憶部５に格納する。
【００１２】
そして、演算処理部６は、計測プログラムを実行する工作機械の制御装置と同様に計測プログラムを解析し、プローブＰの動作指令データ（位置情報）を求める。表示制御部４は、プローブＰの動作指令データ（位置情報）、データ記憶部５に格納されているプローブＰの形状データ、および、ワークＷの形状データと位置データとに基づいて表示用の信号を作成し、表示装置３の表示画面中でプローブＰの動作をシミュレーションする。
【００１３】
演算処理部６は、計測プログラムを解析し、プローブＰの動作指令がスキップ機能を指令するものであるときには、ワークＷとプローブＰとが表示画面中で接触したか否かを判断する。この接触したか否かの判断結果を、計測プログラムのシミュレーションにおけるスキップ機能の外部信号として用いる。
【００１４】
次にその判断方法について説明する。図２は、本発明におけるプローブＰとワークＷが接触したか否かを判断する方法を説明する図である。図２（ｂ）、図２（ｃ）、及び図２（ｄ）は、図２（ａ）の一部分を拡大した図である。図２の例では、プローブＰのモデルの最左端点のドットと最右端点のドットは図２（ｂ）〜図２（ｄ）に示されるとおりである。なお、図２では理解し易いように２次元を例として説明する。実際のシミュレーション装置においては３次元データを扱う。
【００１５】
シミュレーション装置１のデータ記憶部５に画面全体のドット数分のメモリを用意する。例えば、４８０＊６４０（＊は乗算の意味）のメモリ空間を用意する。計測プログラムを解析し、ワークＷの形状および位置のデータ、ならびに、プローブＰの形状データを抽出し、抽出した前記データをデータ記憶部５に格納する。ワークＷの形状を表示装置３の画面上に描画する。そして、描画する周期毎にプローブＰの形状を表示装置３の画面上に描画する。
【００１６】
演算制御部６は、プローブＰがワークＷと重なるか、あるいは、所定の距離以内にあるかを判断する。この判断は、プローブＰの形状を描画した画面のドットが、ワークＷの形状を描画した画面のドットから所定のドット数以内にあるとき、プローブＰがワークＷに接触したと判断する。  
●プローブＰの形状を描画した画面のドットがワークＷの形状を描画したドットに接した時、接触したと判断する場合  
（ａ）プローブＰが＋Ｘ方向に移動中である場合、プローブＰの形状の最右端のドットとワークの形状のドットが接するか否かを判断する。図２では、プローブＰがＣ’の位置に移動して来た時、プローブＰの最右端がワークＷと接触していることが示されている。  
（ｂ）プローブが−Ｘ方向に移動中の場合、プローブＰの形状の最左端のドットとワークＷの形状のドットが接するか否かを判断する。
【００１７】
●プローブＰの形状を描画した画面のドットがワークＷの形状を描画したドットから２ドット以内になった時、接触したと判断する場合  
（ｃ）プローブＰが＋Ｘ方向に移動中である場合、プローブＰの形状の最右端のドットがワークＷの形状のドットから２ドット以内であるか否かを判断する。  
（ｄ）プローブが−Ｘ方向に移動中の場合、プローブＰの形状の最左端のドットがワークＷの形状のドットから２ドット以内であるか否かを判断する。
【００１８】
●プローブＰの形状を描画した画面のドットが、ワークＷの形状を描画した画面のドットと重なった時、接触したと判断する場合  
ここでは、プローブＰの形状を描画したドットがワークＷの形状を描画した画面のドットから２ドット行き過ぎたと判断する場合に接触したと判断する。  
（ｅ）プローブＰが＋Ｘ方向に移動中である場合、プローブＰの形状の最右端のドットがワークＷの形状のドットから２ドット行き過ぎたか否かを判断する。  
（ｆ）プローブが−Ｘ方向に移動中の場合、プローブＰの形状の最左端のドットがワークＷの形状のドットから２ドット行き過ぎたか否かを判断する。
【００１９】
次に、図３に示される、本発明での計測プログラムをシミュレーションするアルゴリズムを示すフローチャートを説明する。各ステップに従って説明する。  
●[ステップＳ１]計測プログラムからワークの形状と位置、プローブの形状を指定するブロックを読み込み解析する。  
●[ステップＳ２]ステップＳ１で解析されて求めた、ワークの形状データと位置のデータ、および、プローブの形状データをデータ記憶部に記憶する。  
●[ステップＳ３]計測プログラムのブロックを読み込み、解析し実行する。読み込まれるブロックはプローブの移動を指令するブロックである。実行は補間処理を意味する。
●[ステップＳ４]ステップＳ３で読み込まれ解析されたブロックがスキップ機能指令のブロックであるか否かを判断し、スキップ機能指令である場合にはステップＳ５に移行し、そうでない場合にはステップＳ１１へ移行する。  
●[ステップＳ５]表示装置上へワークのモデルとプローブのモデルを描画する処理をおこなう。
【００２０】
●[ステップＳ６]ワークのモデルとプローブのモデルが重なるか、あるいは、所定の距離以内かを演算処理する。具体的には、前述したように、プローブＰの移動方向の最も右端あるいは左端の点とワークＷとの関係を演算して算出する。  
●[ステップＳ７]ステップＳ６での演算処理の結果、ワークのモデルとプローブのモデルが重なるか、あるいは、所定の距離以内の場合には、ステップＳ８へ移行し、そうでない場合には、ステップＳ１０へ移行する。ステップＳ８への移行はスキップ機能が働いたことを意味する。  
●[ステップＳ８]表示装置上のプローブのモデルの描画処理を中断する。つまり、ステップＳ３で読み込んだブロックの処理（直線補間動作の動作）を中断する。  
●[ステップＳ９]プログラムエンドか否か判断し、プログラムエンドでない場合には、ステップＳ３へ戻り、次のブロックを読み込み処理を継続する。プログラムエンドの場合には、計測プログラムのシミュレーションを終了する。  
●[ステップＳ１０]ブロックの終了か否か判断し、ブロックの終了でない場合にはステップＳ５へ戻り、ブロックの終了の場合にはステップＳ９へ移行する。ステップＳ５〜ステップＳ７、およびステップＳ１０の処理は、描画する周期毎に実行する。  
●[ステップＳ１１]この描画処理はスキップ機能が指定されていないブロックでのワークのモデルとプローブのモデルの描画処理を実行する。
【００２１】
図４は、スキップ機能を使用した計測プログラムの一部である。この計測プログラムを図３で説明した計測プログラムの処理を実行すると、図５に示されるようにプローブのモデルは画面上をシミュレーションされて移動する。
【００２２】
図４に示される計測プログラムを説明すると、ブロックＮ１はワークの形状データと位置を記憶させる指令ブロックである。Ｂは直方体のＸ軸方向の長さ、Ｄは直方体のＹ軸方向の長さ、Ｈは直方体のＺ軸方向の高さである。また、Ｉは直方体の基準点からＸ０までの距離、Ｊは直方体の基準点からＹ０までの距離、Ｋは直方体の基準点からＺ０までの距離を表す。なお、単位はｍｍである。
【００２３】
ブロックＮ２はプローブの形状データを記憶させる指令ブロックである。ブロックＮ３はプローブＰを地点Ａから地点Ｂへ移動させる指令である（図５参照）。ブロックＮ４はプローブＰをスキップ機能を指令して、プローブＰを地点Ｂから地点Ｃへ移動させる指令である（図５参照）。プローブＰのモデルがワークＷのモデルと接する地点Ｃ’の位置で停止する。ブロックＮ５はプローブＰをＣ’からＤへ移動させる指令である。このように、スキップ機能が指令された場合、プローブＰのモデルがワークＷのモデルと接したとき、スキップ機能によりプローブＰのモデルは現在のブロック処理を中断し、次のブロックの処理に進む。
【００２４】
次に、図６を用いて、工作機械を制御する数値制御装置によりシミュレーション装置を構成する実施形態を説明する。  
図６は工作機械を制御する数値制御装置の概略ブロック図である。数値制御装置３０のプロセッサ１１は、ＲＯＭ１２に格納されたシステムプログラムに従って数値制御装置３０全体を制御する。ＲＡＭ１３にはＳＲＡＭなどが使用され、各種のデータが格納される。不揮発性メモリ１４には計測プログラムなどのデータが格納される。表示制御回路２１はデジタル信号を表示用の信号に変換し表示装置２２に渡す。表示装置２２は液晶表示装置などが使用される。キーボード２３は加工データや図形データなどを入力する入力手段である。ソフトウェアキー２４はシステムプログラムなどにより機能が変更できるキーである。
【００２５】
軸制御回路１５はプロセッサ１１から軸の移動指令を受けて、軸の指令をサーボアンプ１６に出力する。サーボアンプ１６はこの軸の指令を受けて、工作機械４０内に設けられたサーボモータを駆動する。インタフェース１７は例えばＡ／Ｄコンバータなどのインタフェース回路であって、工作機械４０に設けられたセンサ４１からのスキップ信号を受けてプロセッサ１１へ送る。上記構成は表示装置２２およびサーボアンプ１６を除き、バス１８を介してお互いに接続されている。
【００２６】
プロセッサ１１をシミュレーション装置１の演算処理部６として用い、ＲＡＭ１３をシミュレーション装置１のデータ記憶部５として用い、表示制御回路２１をシミュレーション装置１の表示制御部４として用い、表示装置２２をシミュレーション装置１の表示装置３として用いることにより、数値制御装置をシミュレーション装置として構成できる。このように構成することで、計測プログラムをモデルでシミュレーションして、計測プログラムが正しく作成されているか確認した上で、実際にプローブを動作させることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態のシミュレーション装置の要部ブロック図である。
【図２】本発明におけるプローブとワークが接触したか否かを判断する方法を説明する図である。
【図３】本発明である計測プログラムをシミュレーションするアルゴリズムを示すフローチャートである。
【図４】スキップ機能を使用した計測プログラムの一部である。
【図５】スキップ機能を使用した計測プログラムによりシミュレーションされるプローブの動作を説明する図である。
【図６】工作機械を制御する数値制御装置の概略ブロック図である。
【符号の説明】
【００２８】
Ｐ  プローブ
Ｗ  ワーク
１  シミュレーション装置
２  シミュレーション装置本体
３  表示装置
４  表示制御部
５  データ記憶部
６  演算処理部
１１  プロセッサ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５  軸制御回路
１６  サーボアンプ
１７  インタフェース
１８  バス
２１  表示制御回路
２２  表示装置
２３  キーボード
２４  ソフトウェアキー
３０  数値制御装置
４０  工作機械
４１  センサ
【図１】
2010086252.tif 000003
【図２】
2010086252.tif 000004
【図３】
2010086252.tif 000005
【図４】
2010086252.tif 000006
【図５】
2010086252.tif 000007
【図６】
2010086252.tif 000008