(57)【要約】【課題】測定動作を高速化する。【解決手段】三次元測定機を制御するための三次元測定用命令に基づく命令を生成する制御装置１と、上記の命令に基づいて三次元測定動作を実行する、三次元測定機と異なる測定装置２と、当該命令に対応する動作を測定装置２に実行させる制御装置１と、を備える。制御装置１は、測定装置２に第１動作を実行させるための第１命令を、測定装置２が参照可能な記憶部が有する命令格納領域としての第１領域に書き込み、測定装置２が第１動作を完了する前に、測定装置２に、第１動作の次に実行される第２動作を実行させるための第２命令を、命令格納領域としての第２領域に書き込むＮＣドライバ１２を有し、測定装置２は、記憶部を参照して第１命令に基づく第１動作を実行し、第１動作が完了した後に第２命令に基づく第２動作を実行するＮＣコントローラ２１を有する。【選択図】図１
2017138756.tif 000002
【特許請求の範囲】
【請求項１】
三次元測定機を制御するための三次元測定用命令に基づく命令を生成する制御装置と、前記命令に基づいて三次元測定動作を実行する、前記三次元測定機と異なる測定装置と、を備える測定システムであって、
前記制御装置は、
前記測定装置に第１動作を実行させるための第１命令を、前記測定装置が参照可能な記憶部が有する命令格納領域としての第１領域に書き込み、前記測定装置が前記第１動作を完了する前に、前記測定装置に、前記第１動作の次に実行される第２動作を実行させるための第２命令を、前記命令格納領域としての第２領域に書き込む動作制御部を有し、
前記測定装置は、
前記記憶部を参照して前記第１命令に基づく前記第１動作を実行し、前記第１動作が完了した後に前記第２命令に基づく前記第２動作を実行する動作実行部を有する、
ことを特徴とする測定システム。
【請求項２】
前記動作実行部は、命令に基づく動作が完了すると、当該動作に対応する測定結果を示す測定結果情報と、当該動作が完了したことを示す動作完了情報とを、前記記憶部に書き込み、
前記動作制御部は、前記動作完了情報が書き込まれると、前記測定結果情報を取得する、
ことを特徴とする請求項１に記載の測定システム。
【請求項３】
前記動作実行部は、命令に基づく動作が完了すると、当該命令が格納されている前記命令格納領域に、当該動作に対応する測定結果を示す測定結果情報と、当該動作が完了したことを示す動作完了情報とを書き込む、
ことを特徴とする請求項１又は２に記載の測定システム。
【請求項４】
前記動作制御部は、前記測定結果情報を取得した後に、当該測定結果情報が格納されている前記命令格納領域に新たに命令を書き込む、
ことを特徴とする請求項３に記載の測定システム。
【請求項５】
前記動作制御部は、前記測定結果情報を取得した場合において、当該測定結果情報が格納されている前記命令格納領域への書き込み対象となる命令が存在しないとき、当該命令格納領域に命令を書き込める状態であることを示す情報を当該命令格納領域に書き込む、
ことを特徴とする請求項４に記載の測定システム。
【請求項６】
前記動作制御部は、命令を書き込める状態であることを示す情報、又は前記動作完了情報が格納されている前記命令格納領域に命令を書き込む、
ことを特徴とする請求項３から５のいずれか１項に記載の測定システム。
【請求項７】
前記動作制御部は、前記測定装置が前記第１動作を完了すると、前記測定装置に、前記第２動作の後に実行される第３動作を実行させるための第３命令を前記第１領域に書き込む、
ことを特徴とする請求項１から６のいずれか１項に記載の測定システム。
【請求項８】
前記動作制御部は、命令を前記命令格納領域に書き込む場合に、当該命令格納領域に、当該命令の次の命令が格納される前記命令格納領域のアドレスを示すアドレス情報を書き込み、
前記動作実行部は、命令に基づく動作が完了すると、当該命令が格納されている命令格納領域に書き込まれている前記アドレス情報が示す前記命令格納領域を参照し、当該命令の次の命令を特定する、
ことを特徴とする請求項１から７のいずれか１項に記載の測定システム。
【請求項９】
前記動作制御部は、前記測定装置による測定結果に基づいて命令が分岐する場合、分岐後の複数の命令のそれぞれを複数の前記命令格納領域のそれぞれに予め書き込み、当該測定結果を取得した後に、分岐先の命令に対応する前記アドレス情報を、分岐する直前の命令が格納されている前記命令格納領域に書き込む、
ことを特徴とする請求項８に記載の測定システム。
【請求項１０】
前記動作制御部は、前記測定装置による測定結果に基づいて命令が分岐する場合、当該測定結果を取得した後に、分岐先の命令を、分岐する直前の命令が格納されている前記命令格納領域に格納されているアドレス情報に対応する前記命令格納領域に書き込む、
ことを特徴とする請求項８に記載の測定システム。
【請求項１１】
前記記憶部は、前記動作実行部が命令に基づく動作の実行に要する時間と、前記動作制御部が前記命令格納領域に命令を書き込むために要する時間とに基づいて定められた数の命令格納領域を有する、
ことを特徴とする請求項１から１０のいずれか１項に記載の測定システム。
【請求項１２】
三次元測定機を制御するための三次元測定用命令に基づく命令を生成し、当該命令に基づいて前記三次元測定機と異なる測定装置を制御するコンピュータを、
前記測定装置に第１動作を実行させるための第１命令を、前記測定装置が参照可能な記憶部が有する命令格納領域としての第１領域に書き込み、前記測定装置が前記第１動作を完了する前に、前記測定装置に、前記第１動作の次に実行される第２動作を実行させるための第２命令を、前記命令格納領域としての第２領域に書き込む動作制御部、
として機能させることを特徴とする測定プログラム。
【請求項１３】
三次元測定機を制御するための三次元測定用命令に基づく命令を生成する制御装置が、前記三次元測定機と異なる測定装置を制御する制御方法であって、
前記測定装置に第１動作を実行させるための第１命令を、前記測定装置が参照可能な記憶部が有する第１領域に書き込む第１書込ステップと、
前記測定装置が前記第１動作を完了する前に、前記測定装置に、前記第１動作の次に実行される第２動作を実行させるための第２命令を、前記記憶部が有する第２領域に書き込む第２書込ステップと、
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定システム、測定プログラム及び制御方法に関する。
【背景技術】
【０００２】
従来、三次元測定機を制御するための命令に基づいて、三次元測定機と異なる測定装置に三次元測定動作を実行させる測定システムが知られている。例えば、特許文献１には、ＮＣ工作機械に三次元測定用のプローブを装着させておき、端末装置が、三次元測定機を制御するための命令を、ＮＣ工作機械を動作させるための命令に変換し、変換後の命令に対応する動作を、ＮＣコントローラを介してＮＣ工作機械に実行させることにより、ＮＣ工作機械に三次元測定動作を実行させることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の測定システムでは、端末装置は、ＮＣ工作機械を動作させる命令を所定の記憶領域に書き込み、当該命令が完了すると、次の命令を当該記憶領域に書き込むことにより、ＮＣ工作機械に命令を実行させている。したがって、ＮＣ工作機械が一の命令に対応する動作を完了してから、記憶領域に次の命令が書き込まれるまでの間、ＮＣ工作機械が動作を停止してしまうという問題があった。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、測定動作を高速化することができる測定システム、測定プログラム及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る測定システムは、三次元測定機を制御するための三次元測定用命令に基づく命令を生成する制御装置と、前記命令に基づいて三次元測定動作を実行する、前記三次元測定機と異なる測定装置と、を備える測定システムであって、前記制御装置は、前記測定装置に第１動作を実行させるための第１命令を、前記測定装置が参照可能な記憶部が有する命令格納領域としての第１領域に書き込み、前記測定装置が前記第１動作を完了する前に、前記測定装置に、前記第１動作の次に実行される第２動作を実行させるための第２命令を、前記命令格納領域としての第２領域に書き込む動作制御部を有し、前記測定装置は、前記記憶部を参照して前記第１命令に基づく前記第１動作を実行し、前記第１動作が完了した後に前記第２命令に基づく前記第２動作を実行する動作実行部を有することを特徴とする。
【０００７】
前記動作実行部は、命令に基づく動作が完了すると、当該動作に対応する測定結果を示す測定結果情報と、当該動作が完了したことを示す動作完了情報とを、前記記憶部に書き込み、前記動作制御部は、前記動作完了情報が書き込まれると、前記測定結果情報を取得してもよい。
【０００８】
前記動作実行部は、命令に基づく動作が完了すると、当該命令が格納されている前記命令格納領域に、当該動作に対応する測定結果を示す測定結果情報と、当該動作が完了したことを示す動作完了情報とを書き込んでもよい。
【０００９】
前記動作制御部は、前記測定結果情報を取得した後に、当該測定結果情報が格納されている前記命令格納領域に新たに命令を書き込んでもよい。
前記動作制御部は、前記測定結果情報を取得した場合において、当該測定結果情報が格納されている前記命令格納領域への書き込み対象となる命令が存在しないとき、当該命令格納領域に命令を書き込める状態であることを示す情報を当該命令格納領域に書き込んでもよい。
【００１０】
前記動作制御部は、命令を書き込める状態であることを示す情報、又は前記動作完了情報が格納されている前記命令格納領域に命令を書き込んでもよい。
前記動作制御部は、前記測定装置が前記第１動作を完了すると、前記測定装置に、前記第２動作の後に実行される第３動作を実行させるための第３命令を前記第１領域に書き込んでもよい。
【００１１】
前記動作制御部は、命令を前記命令格納領域に書き込む場合に、当該命令格納領域に、当該命令の次の命令が格納される前記命令格納領域のアドレスを示すアドレス情報を書き込み、前記動作実行部は、命令に基づく動作が完了すると、当該命令が格納されている命令格納領域に書き込まれている前記アドレス情報が示す前記命令格納領域を参照し、当該命令の次の命令を特定してもよい。
【００１２】
前記動作制御部は、前記測定装置による測定結果に基づいて命令が分岐する場合、分岐後の複数の命令のそれぞれを複数の前記命令格納領域のそれぞれに予め書き込み、当該測定結果を取得した後に、分岐先の命令に対応する前記アドレス情報を、分岐する直前の命令が格納されている前記命令格納領域に書き込んでもよい。
【００１３】
前記動作制御部は、前記測定装置による測定結果に基づいて命令が分岐する場合、当該測定結果を取得した後に、分岐先の命令を、分岐する直前の命令が格納されている前記命令格納領域に格納されているアドレス情報に対応する前記命令格納領域に書き込んでもよい。
【００１４】
前記記憶部は、前記動作実行部が命令に基づく動作の実行に要する時間と、前記動作制御部が前記命令格納領域に命令を書き込むために要する時間とに基づいて定められた数の命令格納領域を有してもよい。
【００１５】
本発明の第２の態様に係る測定プログラムは、三次元測定機を制御するための三次元測定用命令に基づく命令を生成し、当該命令に基づいて前記三次元測定機と異なる測定装置を制御するコンピュータを、前記測定装置に第１動作を実行させるための第１命令を、前記測定装置が参照可能な記憶部が有する命令格納領域としての第１領域に書き込み、前記測定装置が前記第１動作を完了する前に、前記測定装置に、前記第１動作の次に実行される第２動作を実行させるための第２命令を、前記命令格納領域としての第２領域に書き込む動作制御部、として機能させることを特徴とする。
【００１６】
本発明の第３の態様に係る制御方法は、三次元測定機を制御するための三次元測定用命令に基づく命令を生成する制御装置が、前記三次元測定機と異なる測定装置を制御する制御方法であって、前記測定装置に第１動作を実行させるための第１命令を、前記測定装置が参照可能な記憶部が有する第１領域に書き込む第１書込ステップと、前記測定装置が前記第１動作を完了する前に、前記測定装置に、前記第１動作の次に実行される第２動作を実行させるための第２命令を、前記記憶部が有する第２領域に書き込む第２書込ステップと、を有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、測定動作を高速化することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る測定システムの構成を示す図である。
【図２】本実施形態に係る測定システムの動作の概要を説明するための図である。
【図３】ＮＣドライバが複数の命令格納領域をリングバッファとして用いる例を示す図である。
【図４】本実施形態に係る命令格納領域に書き込まれる変数の種類と、各変数が格納される領域に割り当てられているアドレスとの関係の一例を示す図である。
【図５】図４に示す変数を用いた場合の測定システムの動作例を示す図である。
【図６】プローブに四角形の頂点を移動させる動作を説明するための図である。
【図７】ワークの三次元座標を測定する場合の動作を説明するための図である。
【図８Ａ】命令格納領域に記憶されている変数の値の変化を示す図である。
【図８Ｂ】図８Ａに続く図である。
【図８Ｃ】図８Ｂに続く図である。
【発明を実施するための形態】
【００１９】
［測定システムＳの構成］
図１は、本実施形態に係る測定システムＳの構成を示す図である。
測定システムＳは、制御装置１と、測定装置２とを備える。制御装置１は、三次元測定機を制御するための命令（以下、三次元測定用命令ともいう。）に基づく命令（以下、工作機械用命令）を生成することができる装置であり、測定装置２は、ＮＣ工作機械である。測定システムＳは、制御装置１が生成する工作機械用命令に基づいて、測定装置２に三次元測定動作を実行させるシステムである。工作機械用命令は、例えば、測定装置２を動作させるためのコモン変数により構成されている。
【００２０】
制御装置１は、ＣＰＵ等の制御部と、ハードディスクやメモリ等の記憶部とを備えるコンピュータである。制御装置１は、データ処理部１１と、動作制御部としてのＮＣドライバ１２とを備えており、ＲＳ−２３２ＣやＴＣＰ／ＩＰ等の通信方式により、測定装置２と通信を行う。なお、制御装置１は、各メーカが用意している通信用のＡＰＩやクラスモジュールを利用して、測定装置２と通信を行うようにしてもよい。制御装置１は、記憶部に記憶されたプログラムを実行することにより、データ処理部１１及びＮＣドライバ１２として動作する。
【００２１】
データ処理部１１は、ユーザから、測定装置２に実行させる測定の内容を受け付ける。データ処理部１１は、例えば、測定装置２に実行させる動作内容に関する設定を受け付ける画面を制御装置１のディスプレイに表示させ、ユーザにより入力された設定情報を取得する。データ処理部１１は、取得した設定情報に基づいて三次元測定用命令を生成し、生成した三次元測定用命令をＮＣドライバ１２に通知する。また、データ処理部１１は、ＮＣドライバ１２を介して測定装置２から取得した測定結果を制御装置１のディスプレイに表示する。
【００２２】
ＮＣドライバ１２は、三次元測定用命令を、測定装置２を制御するための工作機械用命令に変換し、測定装置２に送信する。また、ＮＣドライバ１２は、測定装置２が測定した結果を取得して、取得した測定結果をデータ処理部１１に通知する。制御装置１がＮＣドライバ１２を備えることにより、制御装置１のユーザは、三次元測定機の制御に用いる制御装置１を用いて測定装置２を制御し、測定装置２を用いた三次元測定を行うことができる。
【００２３】
ＮＣドライバ１２は、三次元測定用命令に基づいて、測定装置２が備える各種動作を実行させるための工作機械用命令を生成し、生成した工作機械用命令を、測定装置２が参照可能な記憶部内の命令格納領域に格納する。ＮＣドライバ１２は、例えば、命令格納領域に含まれる各領域に対応する変数番号が割り当てられている変数の値を変化させることにより、工作機械用命令を命令格納領域に格納する。ＮＣドライバ１２は、測定装置２が、一つの命令に対応する動作を完了する前に、次の命令を命令格納領域に格納する。これにより、測定システムＳは、測定装置２が一つの命令に対応する動作を完了してから、次の命令に対応する動作を実行するまでの時間を短縮し、測定装置２における測定動作を高速化することができる。
【００２４】
ＮＣドライバ１２は、測定装置２による測定の結果を取得して、取得した測定結果を制御装置用データに変換し、変換した制御装置用データをデータ処理部１１に入力する。ＮＣドライバ１２は、例えば、一つの命令に対応する測定が完了したことを示す通知を測定装置２から受けたことに応じて、測定装置２が実行した命令が格納されていた領域の一部に格納された測定結果を取得する。
【００２５】
測定装置２は、動作実行部としてのＮＣコントローラ２１と、ＮＣ工作機械２２とを備える。
ＮＣコントローラ２１は、ＣＰＵ等の制御部、ハードディスクやメモリ等の記憶部、ＮＣ工作機械２２を動作させるための駆動制御回路、各種レジスタ、及びループカウンタを備え、ＮＣ工作機械２２の動作を制御するコンピュータである。
【００２６】
ＮＣコントローラ２１の記憶部には、ＣＰＵにより実行されるＮＣプログラムが格納されている。ＮＣコントローラ２１のＣＰＵは、ＮＣプログラムを実行することにより、ＮＣ工作機械２２の駆動制御を行う。ＮＣコントローラ２１は、例えば、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を介して、ＮＣドライバ１２と通信することにより、ＮＣドライバ１２から工作機械用命令を取得したり、ＮＣドライバ１２に測定結果を通知したりする。
なお、ＮＣコントローラ２１がフロントエンド用の一般的な計算機と同様の構成を有している場合、ＮＣプログラムが、制御装置１において実行されるプログラム及びＮＣドライバ１２の少なくとも一部のプログラムを有していてもよい。
【００２７】
ＮＣ工作機械２２は、三次元測定を行うためのプローブが装着されており、ＮＣコントローラ２１の制御に応じて、自身に載置されているワークの三次元測定を行う。ＮＣコントローラ２１は、例えば、三次元測定の測定結果として、プローブの三次元座標を、ＮＣドライバ１２が参照可能な記憶部に記憶させる。これにより、制御装置１は、当該記憶部に記憶されている測定結果を取得することができる。
【００２８】
［測定システムＳの動作概要］
図２は、本実施形態に係る測定システムＳの動作の概要を説明するための図である。
まず、データ処理部１１は、ＮＣ工作機械２２に実行させる測定の内容をユーザから受け付ける（Ｓ１）。データ処理部１１は、受け付けた測定内容に基づいて三次元測定用命令を生成する（Ｓ２）。
【００２９】
続いて、ＮＣドライバ１２は、三次元測定用命令を解析し、当該命令を、測定装置２のＮＣ工作機械２２が実行可能な工作機械用命令に変換する（Ｓ３）。例えば、ＮＣドライバ１２は、三次元測定用命令に対応する動作を、ＮＣ工作機械２２が実行可能な１以上の動作（例えば、位置決め、測定、Ａ／Ｃ軸回転、Ｂ軸回転等）に分解し、１以上の動作のそれぞれに対応する工作機械用命令を生成する。
【００３０】
続いて、ＮＣドライバ１２は、測定装置２が参照可能な記憶部（例えば、ＮＣコントローラ２１に設けられている記憶部）が有する複数の命令格納領域のいずれかに、Ｓ３で生成した工作機械用命令を書き込む（Ｓ４）。ここで、ＮＣコントローラ２１に設けられている記憶部は、ＮＣコントローラ２１が命令に基づく動作の実行に要する時間と、ＮＣドライバ１２が命令を書き込むために要する時間とに基づいて定められた数の命令格納領域を有している。例えば、ＮＣドライバ１２が、命令格納領域に命令を書き込むために要する時間が最大で２００ｍｓであり、ＮＣコントローラ２１に基づく動作の実行に要する時間が平均１０ｍｓである場合、記憶部には、２０個以上の命令格納領域が設けられていることが好ましい。このようにすることで、制御装置１は、命令の書き込み遅延が発生した場合であっても、遅延なく動作が実行される可能性を高めることができる。
【００３１】
具体的には、ＮＣドライバ１２は、測定装置２に第１動作を実行させるための工作機械用命令である第１命令を、命令格納領域内の第１領域に書き込み、測定装置２が第１動作を完了する前に、測定装置２に、第１動作の次に実行される第２動作を実行させるための工作機械用命令である第２命令を、命令格納領域内の第２領域に書き込む。
【００３２】
ＮＣコントローラ２１は、ＮＣプログラムを実行することにより、命令格納領域に書き込まれた工作機械用命令に基づいてＮＣ工作機械２２の動作を制御する（Ｓ５）。ＮＣコントローラ２１は、当該動作が完了すると、当該動作が完了したことを示す動作完了情報を、ＮＣコントローラ２１の記憶部に設けられている命令格納領域に書き込む。これにより、動作が完了したことがＮＣドライバ１２に通知される。また、ＮＣコントローラ２１は、ＮＣ工作機械２２の動作が測定動作である場合、測定結果を示す測定結果情報を、ＮＣコントローラ２１の記憶部に設けられている命令格納領域に書き込む。
【００３３】
例えば、ＮＣコントローラ２１は、以下の手順で複数の動作を連続してＮＣ工作機械２２に実行させる。まず、ＮＣコントローラ２１は、命令格納領域を参照して第１命令に基づく第１動作をＮＣ工作機械２２に実行させる。ＮＣコントローラ２１は、ＮＣ工作機械２２が第１命令に基づく第１動作を完了すると、第１動作に対応する測定結果情報と、第１動作が完了したことを示す動作完了情報とを、第１命令が格納されている命令格納領域に書き込み、その後、第２命令に基づく第２動作をＮＣ工作機械２２に実行させる。ＮＣコントローラ２１は、ＮＣ工作機械２２が第２命令に基づく第２動作を完了すると、第２動作に対応する測定結果情報と、第２動作が完了したことを示す動作完了情報とを、第２命令が格納されている命令格納領域に書き込む。このように、ＮＣコントローラ２１が、命令を実行した後に命令格納領域に測定結果情報を書き込むことで、限られたメモリ領域を有効に活用することができる。
【００３４】
ＮＣドライバ１２は、ＮＣ工作機械２２の動作が測定動作である場合において、命令格納領域に動作完了情報が書き込まれると、命令格納領域に書き込まれた測定結果情報を取得し（Ｓ６）、当該測定結果情報を制御装置用の測定結果データに変換する（Ｓ７）。
【００３５】
続いて、データ処理部１１は、ＮＣドライバ１２が変換した制御装置用の測定結果データを取得して、記憶媒体に記憶させたりディスプレイに表示させたりする（Ｓ８）。データ処理部１１が測定結果データを取得するタイミングは任意であり、全ての三次元測定用命令に基づく測定が終了してから測定結果データを取得してもよく、全ての測定が終了する前に、測定結果データを取得し、取得したデータに基づいて、測定結果を順次表示させてもよい。
【００３６】
上記のＳ４において、ＮＣドライバ１２は、ＮＣコントローラ２１に実行させる複数の工作機械用命令のうち、命令格納領域に書き込まれていない工作機械用命令が存在する場合には、測定結果情報を取得した後に、当該測定結果情報が格納されている命令格納領域に新たに工作機械用命令を書き込むことができる。このようにすることで、測定システムＳは、命令格納領域を、測定結果情報及び工作機械用命令を書き込む領域として共有することができるので、命令格納領域を有効利用することができる。
【００３７】
また、ＮＣドライバ１２は、測定装置２のＮＣ工作機械２２が第１動作を完了すると、測定装置２のＮＣ工作機械２２に、第２動作の後に実行される第３動作を実行させるための第３命令を、第１動作に対応する第１命令が格納されていた命令格納領域である第１領域に書き込むことにより、複数の命令格納領域をリングバッファとして利用することもできる。
【００３８】
図３は、ＮＣドライバ１２が、複数の命令格納領域をリングバッファとして用いる例を示す図である。図３に示す例では、命令格納領域として、第１領域、第２領域、第３領域、・・・、第（ｎ−１）領域、第ｎ領域が設けられているものとする。ただし、ｎは５以上の整数であるものとする。
【００３９】
まず、ＮＣドライバ１２は、第１領域に、第１動作を実行させるための第１命令を書き込む。同様に、ＮＣドライバ１２は、第２領域に第２動作を実行させるための第２命令、第３領域に第３動作を実行させるための第３命令、・・・、第ｎ領域に第ｎ動作を実行させるための第ｎ命令を順番に書き込む。ＮＣドライバ１２は、第１領域に書き込まれた第１命令に対応する動作が行われた後、第１領域に、（ｎ＋１）番目の動作を実行させるための第（ｎ＋１）命令を書き込むことにより、第１領域を再利用する。このように、測定システムＳは、一の命令格納領域を、複数の命令を格納する領域として繰り返し使用できるようにすることにより、複数の命令で使用される変数の数が、測定装置２で使用可能な変数の最大数を超える場合であっても、当該複数の命令を連続して測定装置２に実行させることができる。
【００４０】
［命令格納領域に格納される変数］
続いて、命令格納領域に格納される工作機械用命令について説明する。
本実施形態において、ＮＣドライバ１２は、工作機械用命令として、ＮＣ工作機械２２が実行可能な動作に対応する動作フラグの値や、当該動作の制御に用いる制御値（例えば、プローブの移動先の座標値や、プローブの移動速度）等の変数の値を含む命令を生成する。命令格納領域には、工作機械用命令に対応する変数の値を格納する領域が定められており、ＮＣドライバ１２は、生成した複数の値を、複数の変数のそれぞれに対応する領域に書き込む。以下の説明において、変数に対応する領域を特定するための情報をアドレスと称する。アドレスは、例えば、変数に割り当てられている変数番号に対応している。
【００４１】
図４は、本実施形態に係る命令格納領域に書き込まれる変数の種類と、各変数が格納される領域に割り当てられているアドレスとの関係の一例を示す図である。
図４（ａ）に示されるように、命令格納領域には、複数の工作機械用命令を一度に格納するための領域が複数設けられている。図４（ａ）においては、複数の領域のうち第１領域及び第２領域が示されている。第１領域は、アドレス＃９００から＃９１７に対応しており、第２領域は、アドレス＃９５０から＃９６７に対応している。
【００４２】
複数の領域のそれぞれには、測定装置２を制御するための情報、及び測定装置２の状態を示す情報が格納される。例えば、アドレス＃９０３及び＃９５３には、ＮＣ工作機械２２に実行させる動作の種別やＮＣ工作機械２２の状態を示す動作フラグ変数の値を格納する動作フラグ領域が設けられている。
【００４３】
図４（ｂ）は、動作フラグ変数の値と動作内容との関係を示すテーブルである。例えば、動作フラグの値「１」は、測定装置２におけるプローブの位置決め処理に対応している。また、動作フラグの値「２」は、測定装置２におけるワークの測定処理に対応している。また、動作フラグの値「５」は、測定装置２が動作終了状態であることを示す値である。
【００４４】
また、図４（ａ）に示すように、変数には、プローブの移動先の座標値に対応する変数（例えば、アドレス＃９００〜＃９０２の領域に格納される変数）や、測定装置２に次に行わせる命令が格納されている命令格納領域のアドレスを示す次命令指定変数（例えば、アドレス＃９１４の領域に格納される変数）等が設けられている。
【００４５】
本実施形態において、ＮＣドライバ１２は、工作機械用命令に対応する情報を命令格納領域に書き込む場合に、当該命令格納領域における次命令指定変数を格納する領域に、書き込まれる命令の次に測定装置２に実行させる命令が格納される命令格納領域のアドレスを書き込む。ＮＣドライバ１２は、例えば、次に実行させる命令を記憶している命令格納領域に対応する複数のアドレスのうち、最小のアドレスを書き込む。ＮＣコントローラ２１は、一の工作機械用命令に基づく動作が完了すると、次命令指定変数に対応するアドレスを参照し、動作が完了した命令の次の命令を特定する。このようにすることで、ＮＣドライバ１２は、次に実行させる命令が、複数の命令格納領域のうち、どの命令格納領域に格納されているかを、ＮＣコントローラ２１に通知することができる。
【００４６】
なお、命令格納領域に格納される動作フラグ変数や、次命令指定変数、各種動作に対応する制御値を格納する変数のアドレスは、ＮＣ工作機械２２のメーカが用意するＮＣプログラムの仕様によって異なる。したがって、ＮＣドライバ１２は、それぞれのメーカに対応するアドレスを示す情報を記憶し、各メーカのＮＣプログラムの仕様に基づいて、命令格納領域に記憶されているアドレスを特定したり、当該アドレスの変数を生成したりして、当該変数に工作機械用命令を書き込む。これにより、ＮＣドライバ１２は、各メーカのＮＣ工作機械２２に対応して、工作機械用命令を書き込むことができる。
【００４７】
［測定システムＳの詳細な動作］
続いて、測定システムＳの詳細な動作について説明する。図５は、図４に示す変数を用いた場合の測定システムＳの動作例を示す図である。
上述したように、データ処理部１１が、三次元測定用命令をＮＣドライバ１２に通知すると（Ｓ２）、ＮＣドライバ１２は、当該三次元測定用命令を解析し、一以上の工作機械用命令に変換する（Ｓ３）。ＮＣドライバ１２は、ＮＣコントローラ２１に設けられている記憶部が有する複数の命令格納領域のいずれかの領域に、Ｓ２で生成された工作機械用命令に対応する動作フラグの値や、動作の制御に用いる制御値を書き込む（Ｓ４）。
【００４８】
ここで、測定装置２の制御を開始する時点では、複数の命令格納領域のすべてに、命令を書き込める状態であることを示す情報として、例えば、命令格納領域の状態が初期状態であることを示す情報が格納されている。ＮＣドライバ１２は、初期状態であることを示す情報が格納されている命令格納領域に、工作機械用命令を書き込む。
【００４９】
例えば、ＮＣドライバ１２は、Ｓ２で生成された工作機械用命令のうち、測定装置２に最初に実行させる命令を第１領域に書き込むものとする。ＮＣドライバ１２は、動作フラグ変数に対応するアドレス＃９０３の領域に、動作フラグの値として「２」を記憶させるとともに、移動先のＸ座標の値、Ｙ座標の値、Ｚ座標の値を、それぞれ、アドレス＃９００、＃９０１、＃９０２の領域に記憶させる。
【００５０】
また、ＮＣドライバ１２は、複数の工作機械用命令を、複数の命令格納領域のそれぞれに格納する。具体的には、命令格納領域がｎ個設けられている場合、ＮＣドライバ１２は、第２領域に第２動作を実行させるための第２命令、第３領域に第３動作を実行させるための第３命令、・・・、第ｎ領域に第ｎ動作を実行させるための第ｎ命令を順番に書き込む。第ｎ動作以降の動作に対応する命令は、第１領域に格納された命令に対応する動作が実行された後に書き込まれる。
【００５１】
ＮＣコントローラ２１は、ＮＣプログラムを実行することにより、第１領域に格納されている動作フラグ変数の値をループして監視する監視処理を行う（Ｓ５１）。ＮＣコントローラ２１は、動作フラグ変数の値が１〜４、又は７のいずれかである場合、図４（ｂ）に示す情報に基づいて、ＮＣ工作機械２２に実行させる動作を特定する。ＮＣコントローラ２１は、動作フラグ変数の値が１の場合には、プローブの位置決め動作を実行させ（Ｓ５２ａ）、動作フラグ変数の値が２の場合には、ワークの測定動作を実行させ（Ｓ５２ｂ）、動作フラグ変数の値が３の場合には、Ａ／Ｃ軸回転動作を実行させ（Ｓ５２ｃ）、動作フラグ変数の値が４の場合には、Ｂ軸回転動作を実行させる（Ｓ５２ｄ）。
【００５２】
ここで、ＮＣ工作機械２２は、ワークを測定する場合には、ＮＣ工作機械２２が予め備えているブロックスキップ機能を利用して測定する。ブロックスキップ機能は、プローブを第１位置から第２位置まで移動させる途中で、プローブが物体等に接触すると、プローブのその後の移動を中止し、次の処理に移す機能である。ＮＣ工作機械２２は、プローブに物体等に接触すると、スキップ信号を出力する。ＮＣコントローラ２１は、スキップ信号を検出したことに応じて、プローブの現在位置を格納している状態データ記憶領域（アドレス＃５０６１〜＃５０６３の領域）を参照し、当該状態データ記憶領域に記憶されている当該位置を示すＸ座標の値、Ｙ座標の値、Ｚ座標の値を、測定結果を格納するアドレス＃９０４〜＃９０６の領域に記憶させる（Ｓ５３）。
【００５３】
ＮＣ工作機械２２において、動作フラグ変数の値に基づく、Ｓ５２ａ、Ｓ５２ｂ、Ｓ５２ｃ、Ｓ５２ｄのいずれかの動作が完了すると、ＮＣコントローラ２１は、第１領域内の動作フラグ変数に対応するアドレス＃９０３の領域に、動作が完了したことを示す動作完了情報として、「５」を書き込む（Ｓ５４）。
【００５４】
ＮＣコントローラ２１は、一の工作機械用命令に基づく動作が完了すると、当該命令が格納されている命令格納領域内の次命令指定変数が格納される領域に書き込まれているアドレスが示す命令格納領域を参照し、次の命令を特定する。例えば、ＮＣコントローラ２１は、第１領域におけるアドレス＃９１４の領域に格納されているアドレスに基づいて、次に実行する工作機械用命令が第２領域に格納されていることを特定する。そして、ＮＣコントローラ２１は、Ｓ４１の処理を再実行する。ＮＣコントローラ２１は、Ｓ４１の処理を再実行する場合、第２領域のアドレス＃９５３の領域に格納されている動作フラグ変数を監視し、以降の処理を実行する。
【００５５】
ＮＣドライバ１２は、測定結果を格納する領域に測定結果を示す値が格納されたことに応じて、当該値を測定結果情報として取得し（Ｓ６）、当該測定結果情報を制御装置用の測定結果データに変換する（Ｓ７）。
【００５６】
なお、ＮＣドライバ１２は、命令格納領域に書き込まれておらず、制御装置１の記憶部に一時的に記憶されている命令を、動作完了情報が格納されている命令格納領域に書き込む。ＮＣドライバ１２は、例えば、制御装置１の記憶部に一時的に記憶されている一以上の工作機械用命令のうち、最初に実行される命令である第（ｎ＋１）命令を、動作フラグ変数に動作完了情報である「５」が書き込まれた第１領域に書き込む。
【００５７】
また、ＮＣドライバ１２は、測定結果情報を取得した場合において、当該測定結果情報が格納されている命令格納領域への書き込み対象となる工作機械用命令が存在しないとき、当該命令格納領域に工作機械用命令を書き込める状態であることを示す情報を当該命令格納領域に書き込む。例えば、ＮＣドライバ１２は、命令格納領域の状態が初期状態であることを示す情報を、当該命令格納領域に書き込む。このようにすることで、新たにワークの測定等を行う場合に、命令格納領域の状態を初期状態にすることなく、速やかに測定作業を進めることができる。
【００５８】
また、ＮＣドライバ１２は、測定装置２による測定結果に基づいて命令が分岐する場合、分岐後の複数の命令のそれぞれを複数の命令格納領域のそれぞれに予め書き込み、当該測定結果を取得した後に、分岐先の命令に対応するアドレスを、分岐する直前の命令が格納されている命令格納領域に書き込むようにしてもよい。このようにすることで、制御装置１は、測定装置２に分岐後の命令を速やかに実行させることができる。
【００５９】
また、ＮＣドライバ１２は、測定装置２による測定結果に基づいて命令が分岐する場合、当該測定結果を取得した後に、分岐先の命令を、分岐する直前の命令が格納されている命令格納領域に格納されているアドレスに対応する命令格納領域に書き込むようにしてもよい。このようにすることで、制御装置１は、複数の分岐に対応する全ての命令を命令格納領域に書き込む必要がないので、命令格納領域の容量に制約がある場合であっても、分岐命令を使用することができる。
【００６０】
［動作例１］
続いて、実際の動作例について説明する。図６は、測定装置２のＮＣ工作機械２２に装着されているプローブを、四角形の頂点の位置Ｐ１〜Ｐ４に順次移動させる動作を説明するための図である。ここでは、プローブを位置Ｐ１から位置Ｐ２に移動させる第１命令、位置Ｐ２から位置Ｐ３に移動させる第２命令、位置Ｐ３から位置Ｐ４に移動させる第３命令、位置Ｐ４から位置Ｐ１の順に移動させる第４命令を順番に実行する例について説明する。
【００６１】
図６に示す例では、ＮＣコントローラ２１は、４つの工作機械用命令を一度に格納できるように、第１命令が格納される第１領域（アドレス＃５００〜＃５０４）、第２命令が格納される第２領域（アドレス＃５０５〜＃５０９）、第３命令が格納される第３領域（アドレス＃５１０〜＃５１４）、及び第４命令が格納される第４領域（アドレス＃５１５〜＃５１９）の４つの命令格納領域を備えている。アドレス＃５０４、＃５０９、＃５１４及び＃５１９の領域には、次命令指定変数が書き込まれる。ＮＣコントローラ２１は、例えばアドレス＃５０４の領域に格納されている値が５０５であることから、第１命令をＮＣ工作機械２２に実行させた後に、アドレス＃５０５から＃５０９までの第２命令を実行できる。
【００６２】
アドレス＃５００には、動作フラグ変数が格納されている。アドレス＃５０１〜＃５０３には、それぞれ、移動先のＸ座標、Ｙ座標、Ｚ座標の値が格納されている。アドレス＃５０４には、次命令指定変数が格納されている。第２領域から第４領域にも、第１領域に格納されている変数と同様の順番で、動作フラグ変数、移動先の三次元座標の値を格納する変数、次命令指定変数が格納されている。
【００６３】
図６に示す例では、測定装置２の動作フラグ変数として、プローブを移動させる「１」、三次元座標を測定させる「２」、測定装置２の動作完了情報に対応する「５」のいずれかが格納される。また、次命令指定変数として、次に実行する工作機械用命令が格納されている命令格納領域に記憶されている先頭の変数のアドレスが格納される。
【００６４】
まず、ＮＣドライバ１２は、４つの工作機械用命令に対応する動作フラグの値、三次元座標の値、次命令指定変数の値を、第１領域、第２領域、第３領域及び第４領域に書き込む。
ＮＣコントローラ２１は、第１領域に記憶されている変数の値に基づいて、ＮＣ工作機械２２を制御し、プローブを位置Ｐ１から位置Ｐ２に移動させる。ＮＣコントローラ２１は、プローブを位置Ｐ２に移動させる動作が完了すると、第１領域に格納されている動作フラグ変数の値を「５」に書き換えるとともに、第１領域に格納されている次命令指定変数の値を参照し、次に実行する工作機械用命令が格納されている領域の先頭アドレスを「＃５０５」と特定する。これにより、ＮＣコントローラ２１は、第２領域に記憶されている第２命令を実行することが可能になる。ＮＣドライバ１２は、第１領域への書き込み対象となる工作機械用命令が存在しないことから、初期状態であることを示す情報を第１領域に書き込む。例えば、ＮＣドライバ１２は、第１領域の全ての領域に「０」を書き込む初期化処理を実行する。
【００６５】
ＮＣコントローラ２１は、同様の手順で、第２領域に格納されている情報に基づいて、プローブを位置Ｐ２から位置Ｐ３に移動させ、第３領域に格納されている情報に基づいて、プローブを位置Ｐ３から位置Ｐ４に移動させ、その後、第４領域に格納されている情報に基づいて、プローブを位置Ｐ４から位置Ｐ１に移動させる。
【００６６】
［動作例２］
続いて、リング状のワークの三次元座標を測定する動作例について説明する。図７は、ワークの三次元座標を測定する場合の動作を説明するための図である。図７に示す例において、データ処理部１１は、ワーク上の４点の三次元座標を自動的に測定するための設定をユーザから受け付ける。なお、図７に示す例では、図６に示す４つの命令格納領域（第１領域〜第４領域）を利用して測定を行うものとする。
【００６７】
ＮＣドライバ１２は、データ処理部１１から取得した三次元測定用命令を工作機械用命令に変換する。ＮＣドライバ１２は、図７の（１）から（８）に示すように、８個の工作機械用命令（第１命令〜第８命令）に変換する。
【００６８】
第１命令は、プローブをワークの内側の位置Ｐ１に移動させる動作を実行させる命令である。第２命令は、プローブを位置Ｐ１からワークの外側の位置Ｐ２に移動させて、プローブをワークに接触させることにより、ワーク上の位置Ｃ１の座標を測定する動作を実行させる命令である。
第３命令は、プローブを位置Ｐ３に移動する動作を実行させる命令である。第４命令は、プローブを位置Ｐ３から位置Ｐ４に移動させることにより、ワーク上の位置Ｃ２の座標を測定する動作を実行させる命令である。
【００６９】
第５命令は、プローブを位置Ｐ５に移動させる動作を実行させる命令である。第６命令は、プローブを位置Ｐ５から位置Ｐ６に移動させることにより、ワーク上の位置Ｃ３の座標を測定する動作を実行させる命令である。
第７命令は、プローブを位置Ｐ７に移動させる動作を実行させる命令である。第８命令は、プローブを位置Ｐ７から位置Ｐ８に移動させることにより、ワーク上の位置Ｃ４の座標を測定する動作を実行させる命令である。
【００７０】
以下に、測定動作を行うときのＮＣドライバ１２及びＮＣコントローラ２１の動作について、４つの命令格納領域に記憶されている変数の状態を図示しながら説明する。図８Ａ〜図８Ｃは、４つの命令格納領域に記憶されている変数の状態を示す図である。なお、前の状態から変化した部分を、前の状態から変化していない部分とは異なる色（灰色）で示すものとする。
【００７１】
４つの命令格納領域に記憶されている各変数の値は、測定前において、図８Ａの（ａ）に示す状態であるものとする。
まず、ＮＣドライバ１２は、第１命令から第４命令に対応する動作フラグの値、三次元座標の値、次命令指定変数の値を、第１領域から第４領域に書き込む。これにより、各アドレスに格納されている値は、図８Ａの（ｂ）に示す状態となる。
【００７２】
ＮＣコントローラ２１は、まず、第１領域に記憶されている変数を参照して第１命令を実行し、プローブを位置Ｐ１に移動させる。ＮＣコントローラ２１は、位置Ｐ１に移動させる動作が完了すると、第１領域に記憶されている動作フラグ変数の値を「５」に書き換える。これにより、各変数の値は、図８Ａの（ｃ）に示す状態となる。
【００７３】
ＮＣドライバ１２は、命令格納領域に記憶されていない第５命令が存在することから、第１領域に記憶されている動作フラグ変数の値が「５」に変化した後に、第５命令に対応する値を第１領域に書き込む。なお、ＮＣドライバ１２は、ＮＣコントローラ２１が、第１領域に記憶されている次命令指定変数の値を参照することから、ＮＣコントローラ２１が次の第２命令を実行した後に、第５命令に対応する値を第１領域に書き込む。以下の説明においても、ＮＣコントローラ２１が各領域の次命令指定変数の値を参照してから、ＮＣドライバ１２が、当該領域の変数の値を書き換えるものとする。
【００７４】
ＮＣコントローラ２１は、第１領域に記憶されている次命令指定変数の値を参照し、次に実行する第２命令に対応する先頭のアドレスを「＃５０５」と特定する。これにより、ＮＣコントローラ２１は、第２領域に記憶されている変数を参照して第２命令を実行する。ＮＣコントローラ２１は、プローブが位置Ｐ２に移動する途中に、位置Ｃ１においてワークに接触すると、接触した時点のプローブの位置を示す三次元座標の値を、測定結果を格納する領域に格納させる。ここでは、ＮＣコントローラ２１は、移動先の位置Ｐ２の三次元座標の値を格納するアドレス＃５０６、＃５０７、＃５０８の領域に、プローブの位置を示す三次元座標の値を書き込む。これにより、各変数の値は、図８Ａの（ｄ）に示す状態となる。
【００７５】
ＮＣドライバ１２は、第２領域に記憶されている動作フラグ変数の値が「５」に変化したことに応じて、測定結果が格納されるアドレス＃５０６、＃５０７、＃５０８の領域を参照して、測定結果情報を取得する。
ＮＣドライバ１２は、命令格納領域に記憶されていない第６命令が存在することから、第２領域に記憶されている動作フラグ変数の値が「５」に変化した後に、第６命令に対応する値を第２領域に書き込む。
【００７６】
以下、同様の手順で、ＮＣコントローラ２１が第３命令〜第５命令を実行するとともに、ＮＣドライバ１２が第７命令及び第８命令に対応する値を第３領域及び第４領域に書き込むことにより、図８Ｂ（ｅ）〜（ｇ）のように各領域の値が遷移する。
ＮＣコントローラ２１は、図８Ｂ（ｇ）に示す状態において、第１領域に記憶されている次命令指定変数の値を参照し、次に実行する第６命令に対応する先頭の変数のアドレスを「＃５０５」と特定する。これにより、ＮＣコントローラ２１は、第２領域に記憶されている変数を参照して第６命令を実行する。ＮＣコントローラ２１は、プローブが位置Ｐ６に移動する途中に、位置Ｃ３においてワークに接触すると、接触した時点のプローブの位置を示す三次元座標の値を、測定結果を格納するアドレス＃５０６、＃５０７、＃５０８の領域に格納する。これにより、各変数の値は、図８Ｂの（ｈ）に示す状態となる。
【００７７】
なお、図８Ｂの（ｇ）に示す状態において、命令格納領域に記憶されていない工作機械用命令が存在しないことから、ＮＣドライバ１２は、第１領域に記憶されている動作フラグ変数の値が「５」に変化してから所定時間が経過すると、第１領域に「０」を書き込み、第１領域に記憶されている変数を初期化する。したがって、図８Ｂの（ｈ）においては、アドレス＃５００〜＃５０４の領域の値が０になっている。
【００７８】
以下、ＮＣコントローラ２１は、第７命令、第８命令も同様の手順で実行し、図８Ｃ（ｉ）〜図８Ｃ（ｋ）のように各領域の値が遷移する。ＮＣコントローラ２１は、第２領域、第３領域、第４領域に順次０を書き込んで、命令格納領域を初期化する。以上の手順により、４つの命令格納領域を用いて、８つの命令を連続して実行することができる。
【００７９】
［本実施形態における効果］
以上説明したように、本実施形態に係る測定システムＳにおいて、制御装置１のＮＣドライバ１２は、測定装置２に第１動作を実行させるための第１命令を、測定装置２が参照可能な記憶部が有する命令格納領域としての第１領域に書き込み、測定装置２が第１動作を完了する前に、測定装置２に、第１動作の次に実行される第２動作を実行させるための第２命令を、命令格納領域としての第２領域に書き込み、測定装置２のＮＣコントローラ２１は、記憶部を参照して第１命令に基づく第１動作を実行し、第１動作が完了した後に第２命令に基づく第２動作を実行する。
【００８０】
このようにすることで、測定システムＳは、測定装置２が一の命令に対応する動作を完了してから、次の命令に対応する動作を実行するまでの時間を短縮し、測定装置２における測定動作を高速化することができる。
【００８１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００８２】
１    制御装置
１１    データ処理部
１２    ＮＣドライバ
２    測定装置
２１    ＮＣコントローラ
２２    ＮＣ工作機械
Ｓ    測定システム
【図１】
2017138756.tif 000003
【図２】
2017138756.tif 000004
【図３】
2017138756.tif 000005
【図４】
2017138756.tif 000006
【図５】
2017138756.tif 000007
【図６】
2017138756.tif 000008
【図７】
2017138756.tif 000009
【図８Ａ】
2017138756.tif 000010
【図８Ｂ】
2017138756.tif 000011
【図８Ｃ】
2017138756.tif 000012