JP2022014562A - 工作機械、工作機械の制御方法、および、工作機械の制御プログラム - Google Patents

工作機械、工作機械の制御方法、および、工作機械の制御プログラム Download PDF

Info

Publication number
JP2022014562A
JP2022014562A JP2020116933A JP2020116933A JP2022014562A JP 2022014562 A JP2022014562 A JP 2022014562A JP 2020116933 A JP2020116933 A JP 2020116933A JP 2020116933 A JP2020116933 A JP 2020116933A JP 2022014562 A JP2022014562 A JP 2022014562A
Authority
JP
Japan
Prior art keywords
pulse signal
measuring instrument
control device
timing
distance
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.)
Granted
Application number
JP2020116933A
Other languages
English (en)
Other versions
JP6800368B1 (ja
Inventor
静雄 西川
Shizuo Nishikawa
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.)
DMG Mori Co Ltd
Original Assignee
DMG Mori Seiki Co Ltd
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 DMG Mori Seiki Co Ltd filed Critical DMG Mori Seiki Co Ltd
Priority to JP2020116933A priority Critical patent/JP6800368B1/ja
Application granted granted Critical
Publication of JP6800368B1 publication Critical patent/JP6800368B1/ja
Publication of JP2022014562A publication Critical patent/JP2022014562A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Machine Tool Sensing Apparatuses (AREA)
  • Numerical Control (AREA)

Abstract

Figure 2022014562000001
【課題】制御装置および測定器を同期する技術を提供する。
【解決手段】工作機械は、測定器を装着することが可能な主軸を備える。測定器は、測定対象物までの距離を測定可能に構成されている。工作機械は、測定器の位置を変化させる駆動装置と、測定器の位置を検知する検知部と、駆動装置と通信可能に構成される制御装置とを備える。制御装置は、第1パルス信号に従って上記位置の検知タイミングを制御し、同期パルス信号を生成し、同期パルス信号を測定器に送信する。測定器は、同期パルス信号と同周期の第2パルス信号を生成し、制御装置と通信可能な場合には同期パルス信号に従って上記距離の測定タイミングを制御し、制御装置と通信不能な場合には第2パルス信号に従って上記距離の測定タイミングを制御する。制御装置は、測定器と通信不能な状態が所定時間以上継続した場合に、測定器と通信可能な位置まで駆動装置に主軸を駆動させる。
【選択図】図4

Description

本開示は、工作機械に備えられている主軸の駆動を制御するための技術に関する。
主軸に装着された測定器を用いてワーク表面の形状を測定することが可能な工作機械が普及している。当該工作機械は、測定器が装着された主軸を駆動しながらワーク表面形状を測定する。したがって、ワーク表面の形状を正確に測定するためには、当該工作機械は、各測定時点で測定器の位置を正確に認識する必要がある。
特開2011-167787号公報(特許文献1)は、測定ヘッドの測定結果を測定ヘッドの位置データと同期させるための工作機械を開示している。当該工作機械は、NC(Numerical Control)装置から測定ヘッドへの測定指令の出力タイミングを、NC装置による測定ヘッドの位置の取得タイミングよりも、一定時間早める。これにより、当該工作機械は、測定ヘッドによる測定タイミングと、測定ヘッドの位置の取得タイミングとを一致させる。
特開2011-167787号公報
工作機械の制御装置は、測定器と通信することで測定器から測定結果を定期的に受信する。このとき、工作機械は、測定器と通信不能になることがある。一例として、ワークなどの障害物によって測定器と受信機との通信が遮られることで、制御装置は、測定器と通信不能となる。このような通信障害が生じた場合でも、制御装置および測定器を同期させることが可能な技術が望まれている。
本開示の一例では、工作機械は、測定器を装着することが可能な主軸を備える。上記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されている。上記工作機械は、上記主軸を駆動することで、上記測定器の位置を変化させるための駆動装置と、上記測定器の位置を検知するための検知部と、上記駆動装置と通信可能に構成され、かつ上記駆動装置の駆動を制御するための制御装置とを備える。上記制御装置は、第1パルス信号を生成する処理と、上記第1パルス信号に従って、上記検知部による上記位置の検知タイミングを制御する処理と、上記測定器による上記距離の測定タイミングと上記検知部による上記位置の検知タイミングとを同期させるための同期パルス信号を生成する処理と、上記同期パルス信号を上記測定器に送信する処理とを実行する。上記測定器は、上記同期パルス信号と同周期の第2パルス信号を生成する処理と、上記制御装置と通信可能な場合には、上記同期パルス信号に従って上記距離の測定タイミングを制御する処理と、上記制御装置と通信不能な場合には、上記第2パルス信号に従って上記距離の測定タイミングを制御する処理とを実行する。上記制御装置は、さらに、上記測定器と通信不能な状態が第1の所定時間以上継続した場合に、上記測定器と通信可能な位置まで上記駆動装置に上記主軸を駆動させる処理を実行する。
本開示の一例では、上記同期パルス信号は、上記第1パルス信号と同周期である。上記第1パルス信号は、第1パルスを含む。上記同期パルス信号は、上記第1パルスに対応する同期パルスを含む。上記同期パルスの立ち上がりタイミングは、上記第1パルスの立ち上がりタイミングよりも予め設定された時間だけ早い。
本開示の一例では、上記第2パルス信号は、上記第1パルスに対応する第2パルスを含む。上記制御装置は、上記駆動させる処理の実行により上記制御装置との通信が回復したことに基づいて、上記第1パルスの立ち上がりタイミングと上記第2パルスの立ち上がりタイミングとの差を算出する処理と、上記差の絶対値が所定時間以上である場合に、予め定められた処理を実行する処理とを実行する。
本開示の一例では、上記予め定められた処理は、警告を出力する処理を含む。
本開示の一例では、上記予め定められた処理は、上記差に基づいて、上記制御装置と上記測定器とが通信不能な間に測定された上記距離を補正する処理を含む。
本開示の一例では、上記測定器は、上記駆動させる処理の実行により上記制御装置との通信が回復したことに基づいて、上記第2パルス信号を上記第1パルス信号に同期させる。
本開示の一例では、上記測定器は、上記制御装置と通信不能な間に測定した上記距離を上記測定器内のバッファにバッファリングする処理と、上記駆動させる処理の実行により上記制御装置との通信が回復したことに基づいて、上記バッファにバッファリングされた上記距離を上記制御装置に送信する処理とを実行する。
本開示の一例では、上記制御装置は、さらに、上記測定器と通信不能な状態が上記第1の所定時間以上継続した際の加工条件を記憶する処理と、上記記憶した加工条件と同条件で加工が行われた場合において、上記測定器と通信不能な状態が第2の所定時間以上継続したときには、上記測定器と通信可能な位置まで上記駆動装置に上記主軸を駆動させる処理を実行する。上記第2の所定時間は、上記第1の所定時間よりも短い。
本開示の他の例では、工作機械は、測定器を装着することが可能な主軸を備える。上記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されている。上記工作機械は、上記主軸を駆動することで、上記測定器の位置を変化させるための駆動装置と、上記測定器の位置を検知するための検知部と、上記駆動装置と通信可能に構成され、上記駆動装置の駆動を制御するための制御装置とを備える。上記測定器は、第1パルス信号を生成する処理と、上記第1パルス信号に従って、上記距離の測定タイミングを制御する処理と、上記測定器による上記距離の測定タイミングと上記検知部による上記位置の検知タイミングとを同期させるための同期パルス信号を生成する処理と、上記同期パルス信号を上記制御装置に送信する処理とを実行する。上記制御装置は、上記同期パルス信号と同周期の第2パルス信号を生成する処理と、上記測定器と通信可能な場合には、上記同期パルス信号に従って上記検知タイミングを制御する処理と、上記測定器と通信不能な場合には、上記第2パルス信号に従って上記検知タイミングを制御する処理と、上記測定器と通信不能な状態が所定時間以上継続した場合に、上記測定器と通信可能な位置まで上記駆動装置に上記主軸を駆動させる処理とを実行する。
本開示の他の例では、工作機械の制御方法が提供される。上記工作機械は、測定器を装着することが可能な主軸を備える。上記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されている。上記工作機械は、さらに、上記主軸を駆動することで、上記測定器の位置を変化させるための駆動装置と、上記測定器の位置を検知するための検知部と、上記駆動装置と通信可能に構成され、かつ上記駆動装置の駆動を制御するための制御装置とを備える。上記制御方法は、第1パルス信号を生成するステップと、上記第1パルス信号に従って、上記検知部による上記位置の検知タイミングを制御するステップと、上記測定器による上記距離の測定タイミングと上記検知部による上記位置の検知タイミングとを同期させるための同期パルス信号を生成するステップと、上記同期パルス信号を上記測定器に送信するステップと、上記同期パルス信号と同周期の第2パルス信号を生成するステップと、上記制御装置と通信可能な場合には、上記同期パルス信号に従って上記距離の測定タイミングを制御するステップと、上記制御装置と通信不能な場合には、上記第2パルス信号に従って上記距離の測定タイミングを制御するステップと、上記測定器と通信不能な状態が所定時間以上継続した場合に、上記測定器と通信可能な位置まで上記駆動装置に上記主軸を駆動させるステップとを備える。
本開示の他の例では、工作機械の制御プログラムが提供される。上記工作機械は、測定器を装着することが可能な主軸を備え、上記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されている。上記工作機械は、さらに、上記主軸を駆動することで、上記測定器の位置を変化させるための駆動装置と、上記測定器の位置を検知するための検知部と、上記駆動装置と通信可能に構成され、かつ上記駆動装置の駆動を制御するための制御装置とを備える。上記制御プログラムは、上記工作機械に、第1パルス信号を生成するステップと、上記第1パルス信号に従って、上記検知部による上記位置の検知タイミングを制御するステップと、上記測定器による上記距離の測定タイミングと上記検知部による上記位置の検知タイミングとを同期させるための同期パルス信号を生成するステップと、上記同期パルス信号を上記測定器に送信するステップと、上記同期パルス信号と同周期の第2パルス信号を生成するステップと、上記制御装置と通信可能な場合には、上記同期パルス信号に従って上記距離の測定タイミングを制御するステップと、上記制御装置と通信不能な場合には、上記第2パルス信号に従って上記距離の測定タイミングを制御するステップと、上記測定器と通信不能な状態が所定時間以上継続した場合に、上記測定器と通信可能な位置まで上記駆動装置に上記主軸を駆動させるステップとを実行させる。
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
工作機械の外観を示す図である。 工作機械における駆動機構の構成例を示す図である。 測定器の内部構造を示す断面図である。 測定器による距離データの測定過程を時系列で示す図である。 制御装置と測定器との同期処理を実現するための機能構成の一例を示す図である。 第1パルス信号と同期パルス信号と第2パルス信号とを示す図である。 第1パルス信号に基づいた主軸位置の検知タイミングと、同期パルス信号に基づいた距離データの測定タイミングと、第2パルス信号に基づいた距離データの測定タイミングとを概略的に示す図である。 位置データベースのデータ構造の一例を示す図である。 距離データベースへの距離データの書込処理を概略的に示す概念図である。 位置データベースと距離データベースとのマージ処理を概略的に示す概念図である。 制御装置と測定器との通信復帰処理を実現するための機能構成の一例を示す図である。 第1パルス信号と同期パルス信号と第2パルス信号とを示す図である。 第1パルス信号と第2パルス信号とを示す図である。 補正前の距離データと補正後の距離データとを示す図である。 加工プログラムの一例を示す図である。 測定器のハードウェア構成の一例を示す図である。 CPU(Central Processing Unit)ユニットのハードウェア構成の一例を示す図である。 CNC(Computerized Numerical Control)ユニットのハードウェア構成の一例を示す図である。 情報処理装置のハードウェア構成の一例を示す図である。 主軸位置の取得処理の流れを示すフローチャートである。 距離データの測定処理の流れを示すフローチャートである。 制御装置と測定器との通信状態の監視処理の流れを示すフローチャートである。 制御装置と測定器との同期処理を実現するための機能構成の他の例を示す図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
<A.工作機械100の構成>
まず、図1を参照して、工作機械100の構成について説明する。図1は、工作機械100の外観を示す図である。
工作機械100は、ワークの加工機である。一例として、工作機械100は、ワークの除去加工(SM(Subtractive manufacturing)加工)を行う工作機械である。あるいは、工作機械100は、ワークの付加加工(AM(Additive manufacturing)加工)を行う工作機械であってもよい。また、工作機械100は、立形のマシニングセンタであってもよいし、横形のマシニングセンタであってもよいし、ターニングセンタであってもよい。あるいは、工作機械100は、旋盤であってもよいし、その他の切削機械や研削機械であってもよい。さらに、工作機械は、これらを組み合わせた複合機であってもよい。
工作機械100は、加工エリアAR1と、工具エリアAR2とを有する。加工エリアAR1および工具エリアAR2は、それぞれカバーによって区画化されている。加工エリアAR1には、主軸頭130が設けられている。工具エリアAR2には、ATC160と、マガジン170とが設けられている。マガジン170は、ワークの加工に用いられる種々の工具を収納する。マガジン170に収納されている工具は、加工エリアAR1と工具エリアAR2との間の仕切に設けられているドアDを介して主軸頭130に取り付けられる。ドアDは、スライド式のドアであり、モータなどの駆動源により開閉される。
<B.工作機械100の駆動機構>
次に、図2を参照して、工作機械100における各種の駆動機構について説明する。図2は、工作機械100における駆動機構の構成例を示す図である。
図2に示されるように、工作機械100は、制御装置5と、回転駆動部110Aと、位置駆動部110Bと、ATCドライバ111Nと、主軸頭130と、ATC160とを含む。
本明細書でいう「制御装置5」とは、工作機械100を制御する装置を意味する。制御装置5の装置構成は、任意である。制御装置5は、単体の制御ユニットで構成されてもよいし、複数の制御ユニットで構成されてもよい。図2の例では、制御装置5は、CPUユニット20と、CNCユニット30と、情報処理装置40とで構成されている。
CPUユニット20およびCNCユニット30は、たとえば、バスBを介して互いに通信を行う。CNCユニット30および情報処理装置40は、たとえば、通信経路NW(たとえば、無線LAN、有線LAN、フィールドネットワークなど)を介して互いに通信を行う。
CPUユニット20は、PLC(Programmable Logic Controller)である。CPUユニット20は、予め設計されているPLCプログラムに従って、制御装置5を構成する各種ユニットを制御する。当該PLCプログラムは、たとえば、ラダープログラムで記述されている。CPUユニット20は、当該PLCプログラムに従ってATCドライバ111Nを制御し、ATC160の送り駆動および回転駆動を制御する。
ATC160は、中心軸165と、アーム166とを含む。図2の例では、中心軸165は、Z軸に平行に設けられている。アーム166は、中心軸165の軸方向に直交する一方向に中心軸165から延出している工具把持部166Aと、当該一方向の反対方向に中心軸165から延出している工具把持部166Bとを含む。
ATCドライバ111Nは、たとえば、2軸一体型のドライバであり、ATC160に接続される第1,第2サーボモータ(図示しない)の駆動を制御する。より具体的には、ATCドライバ111Nは、第1サーボモータの目標回転速度の入力と、第2サーボモータの目標回転速度の入力とのそれぞれをCPUユニット20から受け、第1,第2サーボモータ(図示しない)のそれぞれを制御する。
上記第1サーボモータは、ATCドライバ111Nからの出力電流に従ってATC160のアーム166を送り駆動し、Z軸方向の任意の位置にアーム166を駆動する。上記第2サーボモータは、ATCドライバ111Nからの出力電流に従ってATC160のアーム166を回転駆動し、Z軸を中心とした回転方向(すなわち、C軸方向)の任意の回転角度にアーム166を駆動する。
ATC160は、工具の交換命令を受けたことに基づいて、マガジン170から次使用工具T2を取得する。その後、ATC160は、使用済工具T1を主軸132から抜き取るとともに、次使用工具T2を主軸132に装着する。その後、ATC160は、主軸132から抜き取った使用済工具T1をマガジン170に収納する。
CNCユニット30は、CPUユニット20からの加工開始指令を受けたことに基づいて、予め設計されている加工プログラムの実行を開始する。当該加工プログラムは、たとえば、NC(Numerical Control)プログラムで記述されている。CNCユニット30は、当該加工プログラムに従って、回転駆動部110Aおよび位置駆動部110Bを制御し、主軸頭130を駆動する。
主軸頭130は、主軸筒131と、主軸132とを含む。主軸132は、主軸筒131により回転可能に支持されている。主軸132にはマガジン170から選択された一の工具が装着される。工具は、主軸132と連動して回転する。
回転駆動部110Aは、主軸132の角度を変えるための駆動機構である。一例として、回転駆動部110Aは、X軸方向を回転軸中心とした回転方向(以下、「A軸方向」ともいう。)、Y軸方向を回転軸中心とした回転方向(以下、「B軸方向」ともいう。)、および、Z軸方向を回転軸中心とした回転方向(以下、「C軸方向」ともいう。)の少なくとも1つの角度を調整する。回転駆動部110Aの装置構成は、任意である。回転駆動部110Aは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。図2の例では、回転駆動部110Aは、サーボドライバ111B、111Cで構成されている。
位置駆動部110Bは、主軸132の位置を変えるための駆動機構である。一例として、位置駆動部110Bは、X軸方向、Y軸方向およびZ軸方向の少なくとも1つの位置を調整する。位置駆動部110Bの装置構成は、任意である。位置駆動部110Bは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。図2の例では、位置駆動部110Bは、サーボドライバ111X~111Zで構成されている。
サーボドライバ111Bは、CNCユニット30から目標回転速度の入力を逐次的に受け、B軸方向に主軸頭130を回転駆動するためのサーボモータ112Bを制御する。
より具体的には、サーボドライバ111Bは、サーボモータ112Bの回転角度を検知するためのエンコーダ113Bのフィードバック信号からサーボモータ112Bの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合にはサーボモータ112Bの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合にはサーボモータ112Bの回転速度を下げる。このように、サーボドライバ111Bは、サーボモータ112Bの回転速度のフィードバックを逐次的に受けながらサーボモータ112Bの回転速度を目標回転速度に近付ける。これにより、サーボドライバ111Bは、B軸方向における主軸頭130の回転速度を調整する。また、サーボドライバ111Bは、当該回転速度を時間で積分することでB軸方向における主軸132の回転角度を得ることができる。
サーボドライバ111Cは、CNCユニット30から目標回転速度の入力を逐次的に受け、主軸132の軸方向を中心とした回転方向に主軸132を回転駆動するためのサーボモータ112Cを制御する。
より具体的には、サーボドライバ111Cは、サーボモータ112Cの回転角度を検知するためのエンコーダ113Cのフィードバック信号からサーボモータ112Cの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合にはサーボモータ112Cの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合にはサーボモータ112Cの回転速度を下げる。このように、サーボドライバ111Cは、サーボモータ112Cの回転速度のフィードバックを逐次的に受けながらサーボモータ112Cの回転速度を目標回転速度に近付ける。これにより、サーボドライバ111Cは、主軸132の回転速度を調整する。また、サーボドライバ111Cは、当該回転速度を時間で積分することでC軸方向における主軸132の回転角度を得ることができる。
サーボドライバ111Xは、CNCユニット30から目標位置の入力を逐次的に受け、サーボモータ112Xを制御する。サーボモータ112Xは、主軸頭130が取り付けられている移動体をボールネジ(図示しない)を介して送り駆動し、X軸方向の任意の位置に主軸頭130を移動する。
より具体的には、サーボドライバ111Xは、サーボモータ112Xの回転角度を検知するためのエンコーダ113Xのフィードバック信号からサーボモータ112Xの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合にはサーボモータ112Xの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合にはサーボモータ112Xの回転速度を下げる。このように、サーボドライバ111Xは、サーボモータ112Xの回転速度のフィードバックを逐次的に受けながらサーボモータ112Xの回転速度を目標回転速度に近付ける。これにより、サーボドライバ111Xは、主軸132の回転速度を調整する。また、サーボドライバ111Xは、当該回転速度を時間で積分することでX軸方向における主軸132の位置を得ることができる。
サーボドライバ111Yは、CNCユニット30から目標位置の入力を逐次的に受け、サーボモータ112Yを制御する。サーボモータ112Yは、主軸頭130が取り付けられている移動体をボールネジ(図示しない)を介して送り駆動し、Y軸方向の任意の位置に主軸頭130を移動する。
より具体的には、サーボドライバ111Yは、サーボモータ112Yの回転角度を検知するためのエンコーダ113Yのフィードバック信号からサーボモータ112Yの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合にはサーボモータ112Yの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合にはサーボモータ112Yの回転速度を下げる。このように、サーボドライバ111Yは、サーボモータ112Yの回転速度のフィードバックを逐次的に受けながらサーボモータ112Yの回転速度を目標回転速度に近付ける。これにより、サーボドライバ111Yは、主軸132の回転速度を調整する。また、サーボドライバ111Yは、当該回転速度を時間で積分することでY軸方向における主軸132の位置を得ることができる。
サーボドライバ111Zは、CNCユニット30から目標位置の入力を逐次的に受け、サーボモータ112Zを制御する。サーボモータ112Zは、主軸頭130が取り付けられている移動体をボールネジ(図示しない)を介して送り駆動し、Z軸方向の任意の位置に主軸頭130を移動する。
より具体的には、サーボドライバ111Zは、サーボモータ112Zの回転角度を検知するためのエンコーダ113Zのフィードバック信号からサーボモータ112Zの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合にはサーボモータ112Zの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合にはサーボモータ112Zの回転速度を下げる。このように、サーボドライバ111Zは、サーボモータ112Zの回転速度のフィードバックを逐次的に受けながらサーボモータ112Zの回転速度を目標回転速度に近付ける。これにより、サーボドライバ111Zは、主軸132の回転速度を調整する。また、サーボドライバ111Zは、当該回転速度を時間で積分することでZ軸方向における主軸132の位置を得ることができる。
なお、上述では、回転駆動部110Aがサーボドライバで構成されている例について説明を行ったが、回転駆動部110Aは、その他のモータドライバで構成されてもよい。一例として、回転駆動部110Aは、ステッピングモータ用の1つ以上のモータドライバで構成されてもよい。同様に、位置駆動部110Bは、ステッピングモータ用の1つ以上のモータドライバで構成されてもよい。
情報処理装置40は、汎用のコンピュータである。一例として、情報処理装置40は、デスクトップ型のコンピュータであってもよいし、ノート型のコンピュータであってもよいし、タブレット端末であってもよい。
情報処理装置40は、ワークの形状を測定するための測定器10と無線で通信を行う。測定器10は、非使用時にはマガジン170(図1参照)に収納されており、使用時にはATC160によって主軸132に装着される。測定器10は、ワークの加工前、ワークの加工中、およびワークの加工後において、主軸132に装着された状態でワークの形状を測定する。
一例として、測定器10は、距離センサとして機能する。より具体的には、測定器10は、レーザ光をワークの表面に向けて照射し、ワークWの表面により反射されたレーザ光を受光してワークWの表面との間の距離を算出する。測定器10による測定結果は、情報処理装置40に送信される。情報処理装置40は、測定器10の測定結果に基づいて、種々の処理を実行する。
<C.測定器10の内部構成>
次に、図3を参照して、図2に示される測定器10の内部構成について説明する。図3は、測定器10の内部構造を示す断面図である。
図3を参照して、測定器10は、筐体150を含む。筐体150は、その内部に、制御回路101と、レーザ発振器161と、CCDカメラ162と、プリズム163と、反射鏡164と、絞り167と、凸レンズ168,169とを有する。筐体150の上端には、主軸132との接続機構146が設けられる。
レーザ発振器161は、ワークWの表面にレーザ光を照射する。CCDカメラ162は、レーザ発振器161から照射されワークWの表面で反射したレーザ光を受光して2次元画像データを生成する。プリズム163および反射鏡164は、レーザ発振器161とワークWとの間に配置され、レーザ発振器161からのレーザ光をワークWの表面に導く。凸レンズ168,169は、CCDカメラ162とワークWとの間に配置され、ワークWの表面で反射したレーザ光をCCDカメラ162の撮像面162A上に結像させる。絞り167は、CCDカメラ162と凸レンズ169との間に配置される。
<D.概要>
次に、図4を参照して、測定器10による距離データの測定タイミングと、制御装置5による測定器10の位置データの取得タイミングとの同期処理について説明する。図4は、測定器10による距離データの測定過程を時系列で示す図である。
図4に示されるように、工作機械100は、上述の制御装置5と、駆動装置110と、検知部113と、主軸頭130とを備える。
駆動装置110は、主軸頭130を駆動するための構成である。一例として、上述の回転駆動部110A(図2参照)と、上述の位置駆動部110B(図2参照)とを含む。主軸頭130の主軸132には、上述の測定器10が装着されている。制御装置5は、駆動装置110を制御することで主軸頭130を駆動し、任意の位置および任意の角度に測定器10を駆動する。
検知部113は、主軸頭130の位置(以下、「主軸位置」ともいう。)を検知するための構成である。検知部113は、測定器10の位置を検知する機能を有するものであれば特に限定されないが、たとえば、上述のエンコーダ113X~113Z,113Cの少なくとも1つで構成される。
より具体的な処理として、まず、制御装置5は、所定周期のパルス信号PS1(第1パルス信号)を生成し、パルス信号PS1に従って、検知部113による主軸132の位置の取得タイミングを制御する。一例として、制御装置5は、パルス信号PS1がオフからオンに変化したタイミングで主軸位置の取得指令を検知部113に出力する。
検知部113は、制御装置5から取得指令を受けて、主軸位置を取得する。主軸位置は、たとえば、X軸方向の主軸132の座標値と、Y軸方向の主軸132の座標値と、Z軸方向の主軸132の座標値と、B軸方向の主軸132の角度とで示される。
X軸方向の主軸132の座標値は、たとえば、エンコーダ113X(図2参照)のフィードバック信号から特定される。Y軸方向の主軸132の座標値は、たとえば、エンコーダ113Y(図2参照)のフィードバック信号から特定される。Z軸方向の主軸132の座標値は、たとえば、エンコーダ113Z(図2参照)のフィードバック信号から特定される。B軸方向の主軸132の座標値は、たとえば、エンコーダ113B(図2参照)のフィードバック信号から特定される。
検知部113によって検知された主軸位置は、制御装置5に出力される。制御装置5は、検知部113によって検知された主軸位置に基づいて、測定器10の位置を算出する。
より具体的には、主軸132の軸方向における測定器10の長さ(以下、「測定器長」ともいう。)は既知であり、制御装置5は、B軸方向の主軸132の角度と、主軸位置と、測定器長とに基づいて、工作機械100内における測定器10の位置を算出する。このように、測定器10の位置は、主軸位置から特定できるため、「測定器10の位置」は、「主軸位置」と同義である。
また、制御装置5は、同期パルス信号PS0を生成する。同期パルス信号PS0は、測定器10による距離の測定タイミングを検知部113による主軸位置の検知タイミングと同期させるための信号である。同期パルス信号PS0の周期は、パルス信号PS1の周期と同じである。一例として、同期パルス信号PS0の周期は、16msecである。
制御装置5は、同期パルス信号PS0に従って、測定器10による距離データの測定タイミングを制御する。一例として、制御装置5は、同期パルス信号PS0がオフからオンに変化したタイミングで距離データの測定指令を測定器10に送信する。
このとき、ワークなどの障害物によって測定器10と制御装置5との通信が遮られることで、制御装置5は、測定器10と通信不能になることがある。この場合には、測定器10は、制御装置5から測定指令を受信することができないので、距離データの測定タイミングを判断することができない。そのため、測定器10は、パルス信号PS1および同期パルス信号PS0と同期が取られているパルス信号PS2(第2パルス信号)を自身で生成する。パルス信号PS2は、パルス信号PS1および同期パルス信号PS0と同周期である。
測定器10は、制御装置5と通信可能な場合には、同期パルス信号PS0に従って距離データの測定タイミングを制御し、制御装置5と通信不能な場合には、パルス信号PS2に従って距離データの測定タイミングを制御する。ステップS1においては、測定器10は、制御装置5と通信可能な場所に位置しているため、同期パルス信号PS0に従って距離データを測定する。ステップS2においては、測定器10は、制御装置5と通信不能な場所に位置しており、自身で生成したパルス信号PS2に従って距離データを測定する。
パルス信号PS2は、測定器10の内部クロックに従って生成されているため、制御装置5と測定器10とが通信不能な状態が長時間継続すると、制御装置5および測定器10が非同期になる可能性がある。そこで、制御装置5は、測定器10と通信不能状態な状態が所定時間(たとえば、1~10分)以上継続した場合に、測定器10と通信可能な位置まで駆動装置110に主軸132を駆動させる(ステップS2→S3参照)。
これにより、測定器10は、制御装置5との通信が回復し、制御装置5および測定器10が同期しているか否かを確認することができる。制御装置5および測定器10の同期が維持できている場合には、測定器10は、前回中断した場所から距離データの測定処理を再び開始する。一方で、制御装置5および測定器10が非同期となっている場合には、測定器10は、パルス信号PS2をパルス信号PS1または同期パルス信号PS0と同期させる。その後、測定器10は、前回中断した場所から距離データの測定処理を再び開始する。
<E.同期処理を実現するための機能構成>
次に、図5~図10を参照して、工作機械100の機能構成について説明する。図5は、制御装置5と測定器10との同期処理を実現するための機能構成の一例を示す図である。
工作機械100は、上述の制御装置5(図2参照)と、上述の測定器10(図2参照)とを備える。制御装置5は、機能構成として、第1パルス生成部52と、位置取得部54と、同期パルス生成部57と、書込部68と、マージ部69とを含む。測定器10は、機能構成として、第1距離取得部61と、第2パルス生成部64と、第2距離取得部65とを含む。以下では、制御装置5および測定器10の各機能構成について順に説明する。
なお、制御装置5に備えられる各機能構成の配置は、任意である。一例として、制御装置5に備えられる各種機能は、上述のCPUユニット20(図2参照)に実装されてもよいし、上述のCNCユニット30(図2参照)に実装されてもよいし、上述の情報処理装置40(図2参照)に実装されてもよい。あるいは、制御装置5に備えられる機能構成の一部がCPUユニット20に実装され、残りの機能構成の一部がCNCユニット30に実装され、残りの機能構成が情報処理装置40に実装されてもよい。あるいは、制御装置5に備えられる機能構成の一部は、サーバーなどの外部装置に実装されてもよいし、専用のハードウェアに実装されてもよい。
一例として、第1パルス生成部52と、位置取得部54と、同期パルス生成部57とは、CNCユニット30に実装される。書込部68と、マージ部69とは、情報処理装置40に実装される。
(E1.第1パルス生成部52)
まず、図6を参照して、図5に示される第1パルス生成部52の機能について説明する。図6は、パルス信号PS1と、同期パルス信号PS0と、パルス信号PS2とを示す図である。
第1パルス生成部52は、第1クロック51から出力されるクロック信号に基づいて、パルス信号PS1を生成する。第1クロック51は、タイマーとして機能し、制御装置5内での時間の基準となる。典型的には、第1クロック51は、規則的な信号を一定の時間間隔ごとに出力する。第1パルス生成部52は、第1クロック51から出力されるクロック信号を基準として、一定の時間間隔ΔTごとにパルスP1を出力する。時間間隔ΔTは、たとえば、16msecである。生成されたパルス信号PS1は、位置取得部54および同期パルス生成部57のそれぞれに出力される。
(E2.位置取得部54)
次に、図7および図8を参照して、図5に示される位置取得部54の機能について説明する。
図7は、パルス信号PS1に基づいた主軸位置の検知タイミングと、同期パルス信号PS0に基づいた距離データの測定タイミングと、パルス信号PS2に基づいた距離データの測定タイミングとを概略的に示す図である。
図7に示されるように、位置取得部54は、パルス信号PS1に従って、主軸位置の検知タイミングを制御する。一例として、位置取得部54は、パルス信号PS1がオフからオンに変化したタイミングで主軸位置の取得指令を上述の検知部113(図4参照)に出力する。
検知部113は、制御装置5から取得指令を受けて、主軸位置を検知する。当該主軸位置は、たとえば、X軸方向の主軸132の座標値と、Y軸方向の主軸132の座標値と、Z軸方向の主軸132の座標値と、B軸方向の主軸132の角度とで示される。
位置取得部54は、カウンタ55を有する。カウンタ55は、パルス信号PS1のパルスP1の数をカウントする機能を有する。一例として、カウンタ55は、パルス信号PS1がオフからオンに変化したタイミングでカウント値をインクリメントする。
位置取得部54は、検知部113から取得した主軸位置を、カウンタ55による現在のカウント値に対応付けた上で、図8に示される位置データベースDB1に書き込む。
図8は、位置データベースDB1のデータ構造の一例を示す図である。図8に示されるように、位置データベースDB1において、各主軸位置は、当該主軸位置の検知時点におけるカウント値に対応付けられている。好ましくは、位置データベースDB1において、各主軸位置は、当該主軸位置の検知時点における第1クロック51の時間情報(たとえば、時刻)がさらに対応付けられる。
(E3.同期パルス生成部57)
次に、上述の図6を参照して、図5に示される同期パルス生成部57の機能について説明する。
同期パルス生成部57は、同期パルス信号PS0を生成する。同期パルス信号PS0は、測定器10による距離の測定タイミングを検知部113による主軸位置の検知タイミングと同期させるための信号である。同期パルス信号PS0は、パルス信号PS1に基づいて生成されてもよいし、第1クロック51から出力されるクロック信号に基づいて生成されてもよい。
図6に示されるように、同期パルス信号PS0は、パルス信号PS1と同周期である。一例として、同期パルス信号PS0の周期は、16msecである。
好ましくは、同期パルス信号PS0は、パルス信号PS1よりも所定時間Δnだけ早い。所定時間Δnは、測定指令が制御装置5から測定器10に送信されてから、測定器10が距離データを測定するまでの遅れ時間に相当する。
より具体的には、パルス信号PS1は、パルスP1(第1パルス)を含む。同期パルス信号PS0は、パルスP1に対応するパルスP0を含む。パルスP0の各々の立ち上がりタイミングは、対応するパルスP1の立ち上がりタイミングよりも所定時間Δnだけ早い。立ち上がりタイミングとは、パルスP1がオフからオンに変化したタイミングを表わす。また、パルスP0の各々の立ち下がりタイミングは、対応するパルスP1の立ち下がりタイミングよりも所定時間Δnだけ早い。立ち下がりタイミングとは、パルスP1がオンからオフに変化したタイミングを表わす。
同期パルス生成部57は、パルス信号PS1よりも所定時間Δnだけ同期パルス信号PS0を早く出力することで、測定器10による測定タイミングを主軸位置の取得タイミングと一致または略一致させることができる。
同期パルス生成部57は、生成した同期パルス信号PS0を測定器10に送信する。なお、同期パルス生成部57は、同期パルス信号PS0を測定器10に送信する代わりに、同期パルス信号PS0がオフからオンに変化したタイミングで測定指令を測定器10に送信してもよい。
なお、上述では、同期パルス信号PS0がパルス信号PS1と同周期である前提で説明を行ったが、同期パルス信号PS0は、パルス信号PS1と必ずしも同周期である必要は無い。一例として、同期パルス信号PS0およびパルス信号PS1の一方の周期は、他方の周期の整数倍であってのよい。
(E4.第1距離取得部61)
次に、上述の図7を参照して、図5に示される第1距離取得部61の機能について説明する。
図7に示されるように、第1距離取得部61は、制御装置5と通信可能な場合には、制御装置5から受信した同期パルス信号PS0に従って、測定器10による距離データの測定タイミングを制御する。一例として、第1距離取得部61は、同期パルス信号PS0がオフからオンに変化したタイミングで距離データの測定指令を距離測定ユニット105に出力する。
距離測定ユニット105は、上述のレーザ発振器161(図3参照)や上述のCCDカメラ162(図3参照)などで構成される。距離測定ユニット105は、第1距離取得部61から測定指令を受けて、測定器10からワーク表面までの距離データを測定する。
上述のように、同期パルス信号PS0は、パルス信号PS1よりも所定時間Δnだけ早い。これにより、測定指令が測定器10に送信されてから測定器10が距離データを測定するまでの遅れ時間が所定時間Δnで相殺され、測定器10による距離データの取得タイミングは、制御装置5による主軸位置の取得タイミングと一致または略一致する。
第1距離取得部61は、カウンタ62を有する。カウンタ62は、同期パルス信号PS0のパルスP0の数をカウントする機能を有する。一例として、カウンタ62は、同期パルス信号PS0がオフからオンに変化したタイミングでカウント値をインクリメントする。
カウンタ62におけるカウント値は、制御装置5と通信可能な所定のタイミングにおいて、カウンタ55におけるカウント値と定期的に同期されている。同期パルス信号PS0は、パルス信号PS1と同周期であるため、カウンタ62によるカウント値は、カウンタ55によるカウント値と同じとなる。
第1距離取得部61は、距離測定ユニット105から取得した距離データD1を、カウンタ62による現在のカウント値に対応付けた上で、測定器10のバッファ67に順次格納する。バッファ67に格納された距離データD1は、制御装置5と通信可能な際に制御装置5に定期的に送信される。
(E5.第2パルス生成部64)
次に、上述の図6を参照して、図5に示される第2パルス生成部64の機能について説明する。
第2パルス生成部64は、第2クロック63から出力されるクロック信号に基づいて、パルス信号PS2を生成する。第2クロック63は、タイマーとして機能する。第2クロック63は、制御装置5の第1クロック51とは独立して設けられており、測定器10内での時間の基準となる。
第2クロック63は、制御装置5と通信可能な所定のタイミングにおいて第1クロック51と定期的に同期される。典型的には、第2クロック63のクロック周期は、第1クロック51と同じであり、第1クロック51と同じ時間間隔で規則的な信号を出力する。
図6に示されるように、第2パルス生成部64は、第2クロック63から出力されるクロック信号を基準として、一定の時間間隔ΔTごとにパルスP2を出力する。その結果、パルス信号PS2は、パルス信号PS1および同期パルス信号PS0と同周期となる。時間間隔ΔTは、たとえば、16msecである。
典型的には、パルス信号PS2は、パルス信号PS1と完全に同期している。より具体的には、パルス信号PS1は、パルスP1(第1パルス)を含む。パルス信号PS2は、パルスP1に対応するパルスP2(第2パルス)を含む。パルスP2の各々の立ち上がりタイミングは、対応するパルスP1の立ち上がりタイミングと同じである。また、パルスP2の各々の立ち下がりタイミングは、対応するパルスP1の立ち下がりタイミングと同じである。
(E6.第2距離取得部65)
次に、図7を参照して、図5に示される第2距離取得部65の機能について説明する。
図7に示されるように、第2距離取得部65は、制御装置5と通信不能な場合に、第2パルス生成部64によって生成されたパルス信号PS2に従って、測定器10による距離データの測定タイミングを制御する。一例として、第2距離取得部65は、パルス信号PS2がオフからオンに変化したタイミングで距離データの測定指令を距離測定ユニット105に出力する。
上述のように、パルス信号PS2は、パルス信号PS1と同期している。その結果、測定器10による距離データの取得タイミングは、制御装置5による主軸位置の取得タイミングと一致または略一致する。
第2距離取得部65は、カウンタ66を有する。カウンタ66は、パルス信号PS2のパルスP2の数をカウントする機能を有する。一例として、カウンタ66は、パルス信号PS2がオフからオンに変化したタイミングでカウント値をインクリメントする。
カウンタ66におけるカウント値は、制御装置5と通信可能な所定のタイミングにおいて、カウンタ55におけるカウント値と定期的に同期されている。パルス信号PS2は、パルス信号PS1と同周期であるため、カウンタ66によるカウント値は、カウンタ55によるカウント値と同じとなる。
第2距離取得部65は、距離測定ユニット105から取得した距離データD2を、カウンタ66による現在のカウント値に対応付けた上で、測定器10のバッファ67に格納する。第2距離取得部65は、制御装置5と通信不能な間、距離データD2をバッファ67に順次バッファリングする。その後、第2距離取得部65は、制御装置5との通信が回復したことに基づいて、バッファ67にバッファリングされた距離データD2を制御装置5に送信する。典型的には、バッファ67に格納された距離データD2は、後述の通信復帰処理が完了したことに基づいて、測定器10から制御装置5に送信される。
(E7.書込部68)
次に、図9を参照して、図5に示される書込部68の機能について説明する。図9は、距離データベースDB2への距離データD1,D2の書込処理を概略的に示す概念図である。
書込部68は、測定器10が制御装置5と通信可能な間に測定された距離データD1と、測定器10が制御装置5と通信不能な間に測定された距離データD2とを距離データベースDB2に書き込む。
上述のように、カウンタ62とカウンタ66とは互いに同期しており、距離データD1に対応付けられているカウント値と、距離データD2に対応付けられているカウント値とは、同じ時間基準のカウント値である。このような同じ時間基準の距離データD1,D2が書込部68によって距離データベースDB2に書き込まれる。
(E8.マージ部69)
次に、図10を参照して、図5に示されるマージ部69の機能について説明する。図10は、位置データベースDB1と距離データベースDB2とのマージ処理を概略的に示す概念図である。
上述のように、カウンタ55とカウンタ62,66とは互いに同期しており、位置データベースDB1に規定されるカウント値と、距離データベースDB2に規定されるカウント値とは、同じ時間基準でのカウント値を示す。
マージ部69は、カウント値に基づいて、位置データベースDB1と距離データベースDB2とをマージし、マージデータDB3を生成する。より具体的には、マージ部69は、位置データベースDB1に規定される主軸位置データと、距離データベースDB2に規定される距離データとの内、同じカウント値に対応付けられているデータ同士を関連付ける。これにより、同一のタイミングに取得された主軸位置データと距離データとが対応付けられる。
なお、上述では、カウンタ55とカウンタ62とカウンタ66との各カウント値が同じ時間基準のカウント値である前提で説明を行ったが、各カウンタのカウント値は、一定値ずれていてもよい。この場合、マージ部69は、位置データベースDB1に規定されるカウント値と、距離データベースDB2に規定されるカウント値とのいずれか一方に、上記一定値を加算(または減算)し、各カウンタのカウント値を同じ時間基準に揃える。その上で、マージ部69は、位置データベースDB1と距離データベースDB2とをマージする。
<F.通信復帰処理を実現するための機能構成>
次に、図11~図15を参照して、工作機械100の機能構成についてさらに説明する。図11は、制御装置5と測定器10との通信復帰処理を実現するための機能構成の一例を示す図である。
工作機械100は、上述の制御装置5(図2参照)と、上述の測定器10(図2参照)とを備える。制御装置5は、機能構成として、通信監視部70と、駆動制御部72と、異常検知部74と、異常処理部76とを含む。以下では、これらの機能構成について順に説明する。
なお、制御装置5に備えられる各機能構成の配置は、任意である。一例として、制御装置5に備えられる各種機能は、上述のCPUユニット20(図2参照)に実装されてもよいし、上述のCNCユニット30(図2参照)に実装されてもよいし、上述の情報処理装置40(図2参照)に実装されてもよい。あるいは、制御装置5に備えられる機能構成の一部がCPUユニット20に実装され、残りの機能構成の一部がCNCユニット30に実装され、残りの機能構成が情報処理装置40に実装されてもよい。あるいは、制御装置5に備えられる機能構成の一部は、サーバーなどの外部装置に実装されてもよいし、専用のハードウェアに実装されてもよい。
(F1.通信監視部70)
まず、図12を参照して、図11に示される通信監視部70の機能について説明する。図12は、パルス信号PS1と、同期パルス信号PS0と、パルス信号PS2とを示す図である。
通信監視部70は、制御装置5と測定器10との通信状態を監視するための機能モジュールである。より具体的には、通信監視部70は、距離データの測定指令に対する応答を測定器10から受信しなかったことに基づいて、通信不能時間のカウントを開始する。図12の例では、通信監視部70は、時刻t1において通信不能時間のカウントを開始する。
その後、通信監視部70は、通信不能時間が所定時間ΔTthを超えたことに基づいて、通信復帰指令を駆動制御部72に出力する。図12の例では、通信監視部70は、時刻t1から所定時間ΔTthが経過した時刻t2において、通信復帰指令を駆動制御部72に出力している。
(F2.駆動制御部72)
次に、引き続き図12を参照して、図11に示される駆動制御部72の機能について説明する。
駆動制御部72は、通信監視部70から通信復帰指令を受けたことに基づいて、上述の駆動装置110(図4参照)を制御し、制御装置5と測定器10とが通信可能な位置(以下、「通信可能位置」ともいう。)まで主軸132を駆動する。これにより、測定器10が制御装置5に近付き、制御装置5と測定器10との通信が回復する。
当該通信可能位置は、制御装置5との通信可能範囲内にある。プログラムに規定されていてもよいし、設定ファイルなどに規定されていてもよい。
駆動制御部72は、通信可能位置への主軸132の駆動が完了したことに基づいて、駆動完了通知を異常検知部74に出力する。
(F3.異常検知部74)
次に、図13を参照して、図11に示される異常検知部74の機能について説明する。図13は、パルス信号PS1とパルス信号PS2とを示す図である。
上述のように、パルス信号PS1は、第1クロック51を基準として生成されている。一方で、パルス信号PS2は、第1クロック51とは別の第2クロック63を基準として生成されている。そのため、制御装置5と測定器10との間の通信不能状態が長時間続くと、パルス信号PS1およびパルス信号PS2が非同期の状態になる可能性がある。異常検知部74は、このような非同期の状態を異常として検知する。
より具体的な処理として、まず、異常検知部74は、パルス信号PS2を測定器10から受信する。その後、異常検知部74は、パルス信号PS1,PS2から、通信不能状態が回復した直後のパルスP1,P2を比較対象として抽出する。あるいは、異常検知部74は、通信不能状態が回復した後において、立ち上がりタイミング(または立ち下がりタイミング)が最も近いパルスP1,P2を比較対象としてパルス信号PS1,PS2から抽出する。
次に、異常検知部74は、比較対象として抽出されたパルスP1,P2を用いて、パルスP1の立ち上がりタイミングと、パルス信号PS2のパルスP2の立ち上がりタイミングとの時間差Δmを算出する。時間差Δmは、パルス信号PS1およびパルス信号PS2の間のずれ量を示す。異常検知部74は、算出した時間差Δmの絶対値が所定時間以上(たとえば、1~16msec以上)である場合に、同期異常を検知する。
好ましくは、異常検知部74は、制御装置5と測定器10との間の通信遅れの分、パルス信号PS1,PS2の一方をずらした上で上述の時間差Δmを算出する。
なお、上述では、異常検知部74がパルスP1,P2の立ち上がりタイミングに基づいて時間差Δmを算出する例について説明を行ったが、異常検知部74は、パルスP1,P2の立ち下がりタイミングに基づいて、時間差Δmを算出してもよい。
また、上述では、パルス信号PS1,PS2に基づいて、同期異常が検知される例について説明を行ったが、異常検知部74は、パルス信号PS1の時間基準となる上述の第1クロック51(図5参照)と、パルス信号PS2の時間基準となる上述の第2クロック63(図5参照)とを用いて、同期異常を検知してもよい。より具体的には、異常検知部74は、第1クロック51が示す現クロック(現時刻)と、第2クロック63が示す現クロック(現時刻)との時間差Δmを算出する。その後、異常検知部74は、算出した時間差Δmの絶対値が所定時間以上(たとえば、1~16msec以上)である場合に、同期異常を検知する。
(F4.異常処理部76)
次に、図14および図15を参照して、図11に示される異常処理部76の機能について説明する。
異常処理部76は、異常検知部74が同期異常を検知したことに基づいて、予め定められた異常対処処理を実行する。以下では、異常対処処理の具体例について説明する。
(a)異常対処処理の具体例1
異常対処処理の一例として、異常処理部76は、警告を出力する。当該警告によって、パルス信号PS1,PS2が非同期になっていることが報知される。警告の出力態様は、任意である。一例として、当該警告は、工作機械100のディスプレイ上に表示されてもよいし、音声で出力されてもよいし、レポート形式でデータとして出力されてもよい。
(b)異常対処処理の具体例2
異常対処処理の他の例として、異常処理部76は、上述の時間差Δmに基づいて、制御装置5と測定器10とが通信不能な間に測定された距離データD2を補正する。図14は、通信不能時間ΔTth(図12参照)に検知された補正前の距離データD2と、補正後の距離データD3とを示す図である。
まず、異常処理部76は、通信不能時間ΔTthに検知された距離データD2と、対応付けられているカウント値との相関関係を表わす近似式「d(c)」を算出する。当該近似式は、たとえば、多項式近似または線形近似などによって生成される。
次に、パルス信号PS2がパルス信号PS1よりも時間差Δmだけ早い場合(図14参照)、異常処理部76は、下記式(1),(2)に基づいて、補正後の近似式「d(c)’」を算出する。
d(c)=d(c’)・・・(1)
c’=c-(c-c)・(ΔTth-Δm)/ΔTth・・・(2)
式(1)に示される「d(c)」は、カウント値「c」における補正後の距離データを示す。式(1)に示される「d(c’)」は、カウント値「c’」における補正前の距離データを示す。「c」は、カウント値を示す説明変数である。「c」は、制御装置5と測定器10とが通信不能になった時点でのカウント値を示す。
一方で、パルス信号PS2がパルス信号PS1よりも時間差Δmだけ遅れている場合には、上記式(1)と下記式(3)とに基づいて、補正後の近似式「d(c)’」を算出する。
c’=c+(c-c)・(ΔTth+Δm)/ΔTth・・・(3)
(c)異常対処処理の具体例3
異常対処処理の他の例として、異常処理部76は、制御装置5と測定器10との通信が回復したことに基づいて、パルス信号PS2をパルス信号PS1に同期させる。パルス信号PS2をパルス信号PS1に同期させる方法は任意である。ある局面において、異常処理部76は、パルス信号PS1に合うように、上記時間差Δm(図14参照)の分、パルス信号PS2をずらす。他の局面において、異常処理部76は、パルス信号PS2を生成するための第2クロック63のクロック(時刻)を、同期パルス信号PS0を生成するための第2クロック63のクロック(時刻)に合わせる。
(d)異常対処処理の具体例4
異常対処処理の他の例として、異常処理部76は、制御装置5と測定器10との通信が回復したことに基づいて、パルス信号PS2をパルス信号PS1に同期させる。パルス信号PS2をパルス信号PS1に同期させる方法は任意である。
ある局面において、異常処理部76は、上記時間差Δm(図14参照)だけパルス信号PS2の出力をずらすように第2パルス生成部64に指令を送る。これにより、パルス信号PS2がパルス信号PS1と同期する。
他の局面において、異常処理部76は、第2クロック63の現クロック(時刻)を、第1クロック51の現クロック(時刻)に合わせる。これにより、パルス信号PS2を生成基準となる第2クロック63が、パルス信号PS1の生成基準となる第1クロック51と同期する。その結果、パルス信号PS2がパルス信号PS1に同期する。
<G.所定時間ΔTthの調整処理>
上述のように、制御装置5は、測定器10との通信不能時間が所定時間ΔTth(図12参照)を超えたことに基づいて、通信復帰指令を駆動制御部72に出力する。このとき、制御装置5は、通信不能状態時におけるワークの加工条件を記憶する。そして、制御装置5は、記憶した加工条件と同条件で次に加工が行われた場合において、測定器10との通信不能な状態が所定時間ΔTth2以上継続したときには、測定器10と通信可能な位置まで駆動装置110に主軸132を駆動させる処理を実行する。当該所定時間ΔTth2は、上記所定時間ΔTthよりも短い。これにより、制御装置5は、早期に通信復帰処理を実行することができる。
記憶対象の加工条件は、制御装置5と測定器10との通信に影響を与える種々の加工条件を含む。一例として、当該加工条件は、主軸132の駆動命令を規定している加工プログラムを含む。図15は、記憶対象となり得る加工プログラム324を示す図である。
制御装置5は、測定器10との通信不能時間が所定時間ΔTthを超えたことに基づいて、当該所定時間ΔTthの間に実行された加工プログラムの内容(たとえば、ファイル名や実行行など)を記憶する。そして、制御装置5は、同内容の加工プログラムが次に実行された場合には、測定器10との通信不能な状態が所定時間ΔTth2以上継続したことに基づいて、測定器10との通信復帰処理を実行する。
好ましくは、制御装置5は、測定器10との通信不能時間が所定時間ΔTth(図12参照)を超え、かつ、異常検知部74によって同期異常が検知された場合に、加工条件を記憶する処理を実行してもよい。その結果、制御装置5は、異常検知部74によって同期異常が検知された場合にのみ、所定時間Tth2に基づいて、測定器10との通信復帰処理を実行するか否かを判断することになる。
<H.測定器10のハードウェア構成>
次に、図16を参照して、図2に示される測定器10のハードウェア構成について説明する。図16は、測定器10のハードウェア構成の一例を示す図である。
測定器10は、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、通信インターフェイス104と、距離測定ユニット105とを含む。これらのコンポーネントは、内部バスB1に接続される。
制御回路101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成され得る。
制御回路101は、制御プログラム122などの各種プログラムを実行することで測定器10の動作を制御する。より具体的には、制御回路101は、制御プログラム122の実行命令を受け付けたことに基づいて、ROM102からRAM103に制御プログラム122を読み出す。RAM103は、ワーキングメモリとして機能し、制御プログラム122の実行に必要な各種データを一時的に格納する。また、RAM103は、上述のバッファ67(図5参照)を含む。
通信インターフェイス104は、WLAN(Wireless LAN)、またはBluetooth(登録商標)などを用いた無線通信を実現するための通信ユニットである。一例として、測定器10は、通信インターフェイス204を介して、情報処理装置40(図2参照)などの外部機器との通信を実現する。測定器10による測定結果は、たとえば、通信インターフェイス104を介して情報処理装置40に送信される。
距離測定ユニット105は、ワークの形状の測定機構である。一例として、距離測定ユニット105は、上述のレーザ発振器161(図3参照)や上述のCCDカメラ162(図3参照)などで構成される。
<I.CPUユニット20のハードウェア構成>
次に、図17を参照して、図2に示されるCPUユニット20のハードウェア構成について説明する。図17は、CPUユニット20のハードウェア構成の一例を示す図である。
CPUユニット20は、制御回路201と、ROM202と、RAM203と、通信インターフェイス204,205と、補助記憶装置220とを含む。これらのコンポーネントは、内部バスB2に接続される。
制御回路201は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
制御回路201は、制御プログラム222などの各種プログラムを実行することでCPUユニット20の動作を制御する。制御プログラム222は、工作機械100内の各種装置を制御するための命令を規定している。制御回路201は、制御プログラム222の実行命令を受け付けたことに基づいて、補助記憶装置220またはROM202からRAM203に制御プログラム222を読み出す。RAM203は、ワーキングメモリとして機能し、制御プログラム222の実行に必要な各種データを一時的に格納する。
通信インターフェイス204は、LAN(Local Area Network)ケーブル、WLAN、またはBluetoothなどを用いた通信を実現するための通信ユニットである。一例として、CPUユニット20は、通信インターフェイス204を介して、ATCドライバ111N(図2参照)などの外部機器との通信を実現する。
通信インターフェイス205は、フィールドバスに接続される各種ユニットとの通信を実現するための通信ユニットである。当該フィールドバスに接続されるユニットの一例として、CNCユニット30やI/Oユニット(図示しない)などが挙げられる。
補助記憶装置220は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置220は、制御プログラム222などを格納する。制御プログラム222の格納場所は、補助記憶装置220に限定されず、制御回路201の記憶領域(たとえば、キャッシュメモリ)、ROM202、RAM203、外部機器(たとえば、サーバー)などに格納されていてもよい。
なお、制御プログラム222は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う各種の処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム222の趣旨を逸脱するものではない。さらに、制御プログラム222によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム222の処理の一部を実行する所謂クラウドサービスのような形態でCPUユニット20が構成されてもよい。
<J.CNCユニット30のハードウェア構成>
次に、図18を参照して、図2に示されるCNCユニット30のハードウェア構成について説明する。図18は、CNCユニット30のハードウェア構成の一例を示す図である。
CNCユニット30は、制御回路301と、ROM302と、RAM303と、通信インターフェイス304,305と、フィールドバスコントローラ306と、補助記憶装置320とを含む。これらのコンポーネントは、内部バスB3に接続される。
制御回路301は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
制御回路301は、制御プログラム322や加工プログラム324などの各種プログラムを実行することでCNCユニット30の動作を制御する。制御回路301は、制御プログラム322の実行命令を受け付けたことに基づいて、ROM302からRAM303に制御プログラム322を読み出す。RAM303は、ワーキングメモリとして機能し、制御プログラム322の実行に必要な各種データを一時的に格納する。
通信インターフェイス304,305には、LAN、WLAN、またはBluetoothなどを用いた通信を実現するための通信ユニットである。CNCユニット30は、通信インターフェイス304を介して外部機器(たとえば、CPUユニット20)とデータをやり取りする。また、CNCユニット30は、通信インターフェイス305を介して外部機器(たとえば、情報処理装置40)とデータをやり取りする。
フィールドバスコントローラ306は、フィールドバスに接続される各種ユニットとの通信を実現するための通信ユニットである。当該フィールドバスに接続されるユニットの一例として、上述の回転駆動部110A(図2参照)や上述の位置駆動部110B(図2参照)などが挙げられる。
補助記憶装置320は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置320は、制御プログラム322および加工プログラム324などを格納する。これらの格納場所は、補助記憶装置320に限定されず、制御回路301の記憶領域(たとえば、キャッシュメモリ)、ROM302、RAM303、外部機器(たとえば、サーバー)などに格納されていてもよい。
なお、制御プログラム322は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う各種の処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム322の趣旨を逸脱するものではない。さらに、制御プログラム322によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム322の処理の一部を実行する所謂クラウドサービスのような形態でCNCユニット30が構成されてもよい。
<K.情報処理装置40のハードウェア構成>
次に、図19を参照して、図2に示される情報処理装置40のハードウェア構成について説明する。図19は、情報処理装置40のハードウェア構成の一例を示す図である。
情報処理装置40は、制御回路401と、ROM402と、RAM403と、通信インターフェイス404,405と、補助記憶装置420とを含む。これらのコンポーネントは、内部バスB4に接続される。
制御回路401は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
制御回路401は、制御プログラム422などの各種プログラムを実行することで情報処理装置40の動作を制御する。制御回路401は、各種プログラムの実行命令を受け付けたことに基づいて、補助記憶装置420またはROM402からRAM403に実行対象のプログラムを読み出す。RAM403は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
通信インターフェイス404,405には、LAN、WLAN、またはBluetoothなどを用いた通信を実現するための通信ユニットである。情報処理装置40は、通信インターフェイス404を介して外部機器(たとえば、CNCユニット30)とデータをやり取りする。また、情報処理装置40は、通信インターフェイス405を介して外部機器(たとえば、測定器10)とデータをやり取りする。
補助記憶装置420は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置420は、上述の位置データベースDB1と、上述の距離データベースDB2と、上述のマージデータDB3と、制御プログラム422となどを格納する。これらの格納場所は、補助記憶装置420に限定されず、制御回路401の記憶領域(たとえば、キャッシュメモリなど)、ROM402、RAM403、外部機器(たとえば、サーバー)などに格納されていてもよい。
なお、制御プログラム422は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う工作機械100の趣旨を逸脱するものではない。さらに、本実施の形態に従う制御プログラム422によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、工作機械100とサーバーとが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも1つのサーバーが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態で情報処理装置40が構成されてもよい。
<L.主軸位置の取得フロー>
次に、図20を参照して、制御装置5による主軸位置の取得フローについて説明する。図20は、主軸位置の取得処理の流れを示すフローチャートである。
図20に示される処理は、たとえば、工作機械100の制御装置5(典型的には、CNCユニット30)が上述の制御プログラム322(図18参照)を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS110において、制御装置5は、上述の第1パルス生成部52(図5参照)として機能し、第1クロック51のクロック信号に従って、パルス信号PS1を出力する。これにより、制御装置5は、所定時間ΔTごとにパルスP1を出力する。
ステップS112において、制御装置5は、上述の同期パルス生成部57(図5参照)として機能し、第1クロック51のクロック信号に従って、同期パルス信号PS0を出力する。これにより、制御装置5は、所定時間ΔTごとにパルスP0を出力する。典型的には、制御装置5は、ステップS110で出力されるパルスP1よりも所定時間Δnだけ早くパルスP0を出力する。
ステップS114において、制御装置5は、ステップS112で出力される同期パルス信号PS0を測定器10に送信する。
ステップS120において、制御装置5は、ステップS110で出力されるパルス信号PS1が主軸位置の取得タイミングの到来を示すか否かを判断する。一例として、制御装置5は、パルス信号PS1がオフからオンに変化したタイミングにおいて主軸位置の取得タイミングが到来したと判断する。制御装置5は、パルス信号PS1が主軸位置の取得タイミングの到来を示すと判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、制御装置5は、制御をステップS110に戻す。
ステップS122において、制御装置5は、上述の位置取得部54(図5参照)として機能し、主軸位置の取得指令を上述の検知部113(図4参照)に出力する。これにより、制御装置5は、検知部113から主軸位置を取得する。取得された主軸位置は、上述の位置データベースDB1(図8参照)に格納される。
<M.距離データの測定フロー>
次に、図21を参照して、測定器10による距離データの測定フローについて説明する。図21は、距離データの測定処理の流れを示すフローチャートである。
図21に示される処理は、たとえば、測定器10の制御回路101(図16参照)が上述の制御プログラム122(図16参照)を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS130において、制御回路101は、上述の第2パルス生成部64(図5参照)として機能し、第2クロック63のクロック信号に従って、パルス信号PS2を出力する。これにより、制御装置5は、所定時間ΔTごとにパルスP2を出力する。
ステップS132において、制御回路101は、制御装置5との通信が可能であるか否かを判断する。制御回路101は、制御装置5との通信が可能であると判断した場合(ステップS132においてYES)、制御をステップS140に切り替える。そうでない場合には(ステップS132においてNO)、制御回路101は、制御をステップS150に切り替える。
ステップS140において、制御回路101は、制御装置5から受信した同期パルス信号PS0が測定器10による測定タイミングの到来を示すか否かを判断する。一例として、制御回路101は、同期パルス信号PS0がオフからオンに変化したタイミングにおいて測定タイミングが到来したと判断する。制御回路101は、同期パルス信号PS0が測定タイミングの到来を示すと判断した場合(ステップS140においてYES)、制御をステップS142に切り替える。そうでない場合には(ステップS140においてNO)、制御装置5は、制御をステップS130に戻す。
ステップS142において、制御回路101は、上述の第1距離取得部61(図5参照)として機能し、距離データの測定指令を距離測定ユニット105に出力する。これにより、測定器10からワークまでの距離を示す距離データD1が取得される。取得された距離データD1は、測定器10のバッファ67に格納される。
ステップS150において、制御回路101は、ステップS130で出力されるパルス信号PS2が測定器10による測定タイミングの到来を示すか否かを判断する。一例として、制御回路101は、パルス信号PS2がオフからオンに変化したタイミングにおいて測定タイミングが到来したと判断する。制御回路101は、パルス信号PS2が測定タイミングの到来を示すと判断した場合(ステップS150においてYES)、制御をステップS152に切り替える。そうでない場合には(ステップS150においてNO)、制御装置5は、制御をステップS130に戻す。
ステップS152において、制御回路101は、上述の第2距離取得部65(図5参照)として機能し、距離データの測定指令を距離測定ユニット105に出力する。これにより、測定器10からワークまでの距離を示す距離データD2が取得される。取得された距離データD2は、測定器10のバッファ67に格納される。
ステップS160において、制御回路101は、距離データの送信タイミングが到来したか否かを判断する。当該送信タイミングは、制御装置5と通信可能な一タイミングにおいて定期的に到来する。あるいは、当該送信タイミングは、制御装置5との通信が回復したタイミングにおいて到来する。制御回路101は、距離データの送信タイミングが到来したと判断した場合(ステップS160においてYES)、制御をステップS162に切り替える。そうでない場合には(ステップS160においてNO)、制御回路101は、制御をステップS130に戻す。
ステップS162において、制御回路101は、測定器10のバッファ67に格納されている距離データD1,D2を制御装置5に送信する。当該送信が正常に完了したことに基づいて、制御回路101は、バッファ67に格納されている距離データD1,D2を削除する。
<N.通信監視フロー>
次に、図22を参照して、制御装置5と測定器10との通信状態の監視フローについて説明する。図22は、制御装置5と測定器10との通信状態の監視処理の流れを示すフローチャートである。
図22に示される処理は、たとえば、工作機械100の制御装置5(典型的には、情報処理装置40)が上述の制御プログラム422(図19参照)を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
ステップS170において、制御装置5は、上述の通信監視部70(図11参照)として機能し、測定器10との通信が不能であるか否かを判断する。制御装置5は、測定器10との通信が不能であると判断した場合(ステップS170においてYES)、制御をステップS172に切り替える。そうでない場合には(ステップS170においてNO)、制御装置5は、制御をステップS174に切り替える。
ステップS172において、制御装置5は、上述の通信監視部70として機能し、通信不能時間をカウントする。
ステップS174において、制御装置5は、上述の通信監視部70として機能し、通信不能時間のカウントをゼロに初期化する。
ステップS180において、制御装置5は、上述の通信監視部70として機能し、カウントしている通信不能時間が所定時間ΔTth(図11参照)を超えたか否かを判断する。制御装置5は、通信不能時間が所定時間ΔTthを超えたと判断した場合(ステップS180においてYES)、制御をステップS182に切り替える。そうでない場合には(ステップS180においてNO)、制御装置5は、制御をステップS170に戻す。
ステップS182において、制御装置5は、上述の駆動制御部72(図11参照)として機能し、上述の駆動装置110を制御し、測定器10と通信可能な位置まで主軸132を駆動する。
ステップS184において、制御装置5は、上述の通信監視部70として機能し、通信不能時間のカウントをゼロに初期化する。
ステップS190において、制御装置5は、上述の異常検知部74(図11参照)として機能し、同期異常が発生しているか否かを判断する。異常検知部74による同期異常の検知方法については上述の通りであるので、その説明については繰り返さない。制御装置5は、同期異常が発生していると判断した場合(ステップS190においてYES)、制御をステップS192に切り替える。そうでない場合には(ステップS190においてNO)、制御装置5は、制御をステップS170に戻す。
ステップS192において、制御装置5は、上述の異常処理部76(図11参照)として機能し、所定の異常対処処理を実行する。異常対処処理については上述の通りであるので、その説明については繰り返さない。
<O.変形例>
次に、図23を参照して、変形例に従う工作機械100について説明する。図23は、制御装置5と測定器10との同期処理を実現するための機能構成の他の例を示す図である。
上述の説明では、制御装置5が同期パルス信号PS0を生成し、測定器10は、当該同期パルス信号PS0に従って距離データの測定タイミングを制御していた。これに対して、本変形例では、同期パルス信号PS0は、制御装置5ではなく測定器10によって生成される。
より具体的には、工作機械100は、制御装置5と、測定器10とを備える。制御装置5は、機能構成として、第1位置取得部54Aと、第2位置取得部54Bと、第2パルス生成部64と、書込部68Aと、マージ部69とを含む。測定器10は、機能構成として、第1パルス生成部52と、同期パルス生成部57と、距離取得部65Aとを含む。
上述の図5の例では、第1クロック51と、第1パルス生成部52と、同期パルス生成部57とが制御装置5に実装されていたのに対して、本変形例では、これらの構成が測定器10に実装される。また、上述の図5の例では、第2クロック63と、第2パルス生成部64とが測定器10に実装されていたのに対して、本変形例では、これらの構成が制御装置5に実装される。
また、本変形例では、制御装置5は、位置取得部54の代わりに第1位置取得部54Aと第2位置取得部54Bとを含み、書込部68の代わりに書込部68Aを含む。また、本変形例では、測定器10は、第1距離取得部61と第2距離取得部65との代わりに、距離取得部65Aを含む。
第1位置取得部54A、第2位置取得部54B、距離取得部65A、および書込部68A以外の機能構成については上述の通りであるので、以下では、これら以外の機能構成の説明については繰り返さない。
(O1.距離取得部65A)
まず、図23に示される距離取得部65Aの機能について説明する。
距離取得部65Aは、第1パルス生成部52によって生成されたパルス信号PS1に従って、測定器10による距離データの測定タイミングを制御する。一例として、距離取得部65Aは、パルス信号PS1がオフからオンに変化したタイミングで距離データの測定指令を距離測定ユニット105に出力する。
距離取得部65Aは、カウンタ66Aを有する。カウンタ66Aは、パルス信号PS1のパルスP1の数をカウントする機能を有する。一例として、カウンタ66Aは、パルス信号PS1がオフからオンに変化したタイミングでカウント値をインクリメントする。
距離取得部65Aは、距離測定ユニット105から取得した距離データを、カウンタ66Aによる現在のカウント値に対応付けた上で、バッファ67に順次格納する。バッファ67に格納された距離データD1は、制御装置5と通信可能な際に制御装置5に定期的に送信される。
(O2.第1位置取得部54A)
次に、図23に示される第1位置取得部54Aの機能について説明する。
第1位置取得部54Aは、測定器10と通信可能な場合には、測定器10から受信した同期パルス信号PS0に従って、主軸位置の取得タイミングを制御する。一例として、第1位置取得部54Aは、同期パルス信号PS0がオフからオンに変化したタイミングで主軸位置データの取得指令を上述の検知部113に出力する。
第1位置取得部54Aは、カウンタ55Aを有する。カウンタ55Aは、同期パルス信号PS0のパルスP0の数をカウントする機能を有する。一例として、カウンタ55Aは、同期パルス信号PS0がオフからオンに変化したタイミングでカウント値をインクリメントする。
カウンタ55Aにおけるカウント値は、測定器10と通信可能な所定のタイミングにおいて、カウンタ66Aにおけるカウント値と定期的に同期されている。同期パルス信号PS0は、パルス信号PS1と同周期であるため、カウンタ55Aによるカウント値は、カウンタ66Aによるカウント値と同じとなる。
第1位置取得部54Aは、取得した主軸位置データD4を、カウンタ55Aによる現在のカウント値に対応付けた上で、書込部68Aに順次出力する。
(O3.第2位置取得部54B)
次に、図23に示される第2位置取得部54Bの機能について説明する。
図7に示されるように、第2位置取得部54Bは、測定器10と通信不能な場合に、第2パルス生成部64によって生成されたパルス信号PS2に従って、主軸位置の取得タイミングを制御する。一例として、第2位置取得部54Bは、パルス信号PS2がオフからオンに変化したタイミングで主軸位置の取得指令を上述の検知部113に出力する。
パルス信号PS2は、パルス信号PS1と同期している。その結果、制御装置5による主軸位置の取得タイミングは、測定器10による距離データの取得タイミングと一致または略一致する。
第2位置取得部54Bは、カウンタ55Bを有する。カウンタ55Bは、パルス信号PS2のパルスP2の数をカウントする機能を有する。一例として、カウンタ55Bは、パルス信号PS2がオフからオンに変化したタイミングでカウント値をインクリメントする。
カウンタ55Bにおけるカウント値は、制御装置5と通信可能な所定のタイミングにおいて、カウンタ66Aにおけるカウント値と定期的に同期される。パルス信号PS2は、パルス信号PS1と同周期であるため、カウンタ55Bによるカウント値は、カウンタ66Aによるカウント値と同じとなる。
第2位置取得部54Bは、取得した主軸位置データD5を、カウンタ55Bによる現在のカウント値に対応付けた上で、書込部68Aに順次出力する。
(O4.書込部68A)
次に、図23に示される書込部68Aの機能について説明する。
書込部68Aは、測定器10が制御装置5と通信可能な間に取得した主軸位置データD4と、測定器10が制御装置5と通信不能な間に取得した主軸位置データD5とを位置データベースDB1に書き込む。
カウンタ55Aとカウンタ55Bとは互いに同期しており、主軸位置データD4に対応付けられているカウント値と、主軸位置データD5に対応付けられているカウント値とは、同じ時間基準でのカウント値を示す。そのため、主軸位置データD4,D5は、カウント値の順に並べられると時系列の順に並ぶことになる。
<P.まとめ>
以上のようにして、工作機械100は、制御装置5と測定器10との通信不能状態が所定時間継続した場合に、制御装置5と通信可能な位置まで主軸132を駆動する。これにより、制御装置5および測定器10の通信が回復し、工作機械100は、制御装置5および測定器10が非同期の状態になっていないかを確認することができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
5 制御装置、10 測定器、20 CPUユニット、30 CNCユニット、40 情報処理装置、51 第1クロック、52 第1パルス生成部、54 位置取得部、54A 第1位置取得部、54B 第2位置取得部、55,55A,55B,62,66,66A カウンタ、57 同期パルス生成部、61 第1距離取得部、63 第2クロック、64 第2パルス生成部、65 第2距離取得部、65A 距離取得部、67 バッファ、68,68A 書込部、69 マージ部、70 通信監視部、72 駆動制御部、74 異常検知部、76 異常処理部、100 工作機械、101,201,301,401 制御回路、102,202,302,402 ROM、103,203,303,403 RAM、104,204,205,304,305,404,405 通信インターフェイス、105 距離測定ユニット、110 駆動装置、110A 回転駆動部、110B 位置駆動部、111B,111C,111X,111Y,111Z サーボドライバ、111N ATCドライバ、112B,112C,112X,112Y,112Z サーボモータ、113 検知部、113B,113C,113X,113Y,113Z エンコーダ、122,222,322,422 制御プログラム、130 主軸頭、131 主軸筒、132 主軸、146 接続機構、150 筐体、160 ATC、161 レーザ発振器、162 CCDカメラ、162A 撮像面、163 プリズム、164 反射鏡、165 中心軸、166 アーム、166A,166B 工具把持部、168,169 凸レンズ、170 マガジン、220,320,420 補助記憶装置、306 フィールドバスコントローラ、324 加工プログラム。

Claims (11)

  1. 測定器を装着することが可能な主軸を備え、前記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されており、
    前記主軸を駆動することで、前記測定器の位置を変化させるための駆動装置と、
    前記測定器の位置を検知するための検知部と、
    前記駆動装置と通信可能に構成され、かつ前記駆動装置の駆動を制御するための制御装置とを備え、
    前記制御装置は、
    第1パルス信号を生成する処理と、
    前記第1パルス信号に従って、前記検知部による前記位置の検知タイミングを制御する処理と、
    前記測定器による前記距離の測定タイミングと前記検知部による前記位置の検知タイミングとを同期させるための同期パルス信号を生成する処理と、
    前記同期パルス信号を前記測定器に送信する処理とを実行し、
    前記測定器は、
    前記同期パルス信号と同周期の第2パルス信号を生成する処理と、
    前記制御装置と通信可能な場合には、前記同期パルス信号に従って前記距離の測定タイミングを制御する処理と、
    前記制御装置と通信不能な場合には、前記第2パルス信号に従って前記距離の測定タイミングを制御する処理とを実行し、
    前記制御装置は、さらに、前記測定器と通信不能な状態が第1の所定時間以上継続した場合に、前記測定器と通信可能な位置まで前記駆動装置に前記主軸を駆動させる処理を実行する、工作機械。
  2. 前記同期パルス信号は、前記第1パルス信号と同周期であり、
    前記第1パルス信号は、第1パルスを含み、
    前記同期パルス信号は、前記第1パルスに対応する同期パルスを含み、
    前記同期パルスの立ち上がりタイミングは、前記第1パルスの立ち上がりタイミングよりも予め設定された時間だけ早い、請求項1に記載の工作機械。
  3. 前記第2パルス信号は、前記第1パルスに対応する第2パルスを含み、
    前記制御装置は、
    前記駆動させる処理の実行により前記制御装置との通信が回復したことに基づいて、前記第1パルスの立ち上がりタイミングと前記第2パルスの立ち上がりタイミングとの差を算出する処理と、
    前記差の絶対値が所定時間以上である場合に、予め定められた処理を実行する処理とを実行する、請求項2に記載の工作機械。
  4. 前記予め定められた処理は、警告を出力する処理を含む、請求項3に記載の工作機械。
  5. 前記予め定められた処理は、前記差に基づいて、前記制御装置と前記測定器とが通信不能な間に測定された前記距離を補正する処理を含む、請求項3または4に記載の工作機械。
  6. 前記測定器は、前記駆動させる処理の実行により前記制御装置との通信が回復したことに基づいて、前記第2パルス信号を前記第1パルス信号に同期させる、請求項1~5のいずれか1項に記載の工作機械。
  7. 前記測定器は、
    前記制御装置と通信不能な間に測定した前記距離を前記測定器内のバッファにバッファリングする処理と、
    前記駆動させる処理の実行により前記制御装置との通信が回復したことに基づいて、前記バッファにバッファリングされた前記距離を前記制御装置に送信する処理とを実行する、請求項1~6のいずれか1項に記載の工作機械。
  8. 前記制御装置は、さらに、
    前記測定器と通信不能な状態が前記第1の所定時間以上継続した際の加工条件を記憶する処理と、
    前記記憶した加工条件と同条件で加工が行われた場合において、前記測定器と通信不能な状態が第2の所定時間以上継続したときには、前記測定器と通信可能な位置まで前記駆動装置に前記主軸を駆動させる処理を実行し、
    前記第2の所定時間は、前記第1の所定時間よりも短い、請求項1~7のいずれか1項に記載の工作機械。
  9. 測定器を装着することが可能な主軸を備え、前記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されており、
    前記主軸を駆動することで、前記測定器の位置を変化させるための駆動装置と、
    前記測定器の位置を検知するための検知部と、
    前記駆動装置と通信可能に構成され、前記駆動装置の駆動を制御するための制御装置とを備え、
    前記測定器は、
    第1パルス信号を生成する処理と、
    前記第1パルス信号に従って、前記距離の測定タイミングを制御する処理と、
    前記測定器による前記距離の測定タイミングと前記検知部による前記位置の検知タイミングとを同期させるための同期パルス信号を生成する処理と、
    前記同期パルス信号を前記制御装置に送信する処理とを実行し、
    前記制御装置は、
    前記同期パルス信号と同周期の第2パルス信号を生成する処理と、
    前記測定器と通信可能な場合には、前記同期パルス信号に従って前記検知タイミングを制御する処理と、
    前記測定器と通信不能な場合には、前記第2パルス信号に従って前記検知タイミングを制御する処理と、
    前記測定器と通信不能な状態が所定時間以上継続した場合に、前記測定器と通信可能な位置まで前記駆動装置に前記主軸を駆動させる処理とを実行する、工作機械。
  10. 工作機械の制御方法であって、
    前記工作機械は、測定器を装着することが可能な主軸を備え、前記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されており、
    前記工作機械は、さらに、
    前記主軸を駆動することで、前記測定器の位置を変化させるための駆動装置と、
    前記測定器の位置を検知するための検知部と、
    前記駆動装置と通信可能に構成され、かつ前記駆動装置の駆動を制御するための制御装置とを備え、
    前記制御方法は、
    第1パルス信号を生成するステップと、
    前記第1パルス信号に従って、前記検知部による前記位置の検知タイミングを制御するステップと、
    前記測定器による前記距離の測定タイミングと前記検知部による前記位置の検知タイミングとを同期させるための同期パルス信号を生成するステップと、
    前記同期パルス信号を前記測定器に送信するステップと、
    前記同期パルス信号と同周期の第2パルス信号を生成するステップと、
    前記制御装置と通信可能な場合には、前記同期パルス信号に従って前記距離の測定タイミングを制御するステップと、
    前記制御装置と通信不能な場合には、前記第2パルス信号に従って前記距離の測定タイミングを制御するステップと、
    前記測定器と通信不能な状態が所定時間以上継続した場合に、前記測定器と通信可能な位置まで前記駆動装置に前記主軸を駆動させるステップとを備える、制御方法。
  11. 工作機械の制御プログラムであって、
    前記工作機械は、測定器を装着することが可能な主軸を備え、前記測定器は、当該測定器から測定対象物までの距離を測定可能に構成されており、
    前記工作機械は、さらに、
    前記主軸を駆動することで、前記測定器の位置を変化させるための駆動装置と、
    前記測定器の位置を検知するための検知部と、
    前記駆動装置と通信可能に構成され、かつ前記駆動装置の駆動を制御するための制御装置とを備え、
    前記制御プログラムは、前記工作機械に、
    第1パルス信号を生成するステップと、
    前記第1パルス信号に従って、前記検知部による前記位置の検知タイミングを制御するステップと、
    前記測定器による前記距離の測定タイミングと前記検知部による前記位置の検知タイミングとを同期させるための同期パルス信号を生成するステップと、
    前記同期パルス信号を前記測定器に送信するステップと、
    前記同期パルス信号と同周期の第2パルス信号を生成するステップと、
    前記制御装置と通信可能な場合には、前記同期パルス信号に従って前記距離の測定タイミングを制御するステップと、
    前記制御装置と通信不能な場合には、前記第2パルス信号に従って前記距離の測定タイミングを制御するステップと、
    前記測定器と通信不能な状態が所定時間以上継続した場合に、前記測定器と通信可能な位置まで前記駆動装置に前記主軸を駆動させるステップとを実行させる、制御プログラム。
JP2020116933A 2020-07-07 2020-07-07 工作機械、工作機械の制御方法、および、工作機械の制御プログラム Active JP6800368B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020116933A JP6800368B1 (ja) 2020-07-07 2020-07-07 工作機械、工作機械の制御方法、および、工作機械の制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020116933A JP6800368B1 (ja) 2020-07-07 2020-07-07 工作機械、工作機械の制御方法、および、工作機械の制御プログラム

Publications (2)

Publication Number Publication Date
JP6800368B1 JP6800368B1 (ja) 2020-12-16
JP2022014562A true JP2022014562A (ja) 2022-01-20

Family

ID=73740938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020116933A Active JP6800368B1 (ja) 2020-07-07 2020-07-07 工作機械、工作機械の制御方法、および、工作機械の制御プログラム

Country Status (1)

Country Link
JP (1) JP6800368B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115121451A (zh) * 2022-06-17 2022-09-30 深圳研控自动化科技股份有限公司 点胶机驱控方法、装置、终端设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0589397A (ja) * 1991-03-29 1993-04-09 Renishaw Metrology Ltd 信号伝送装置
JP2006511860A (ja) * 2002-12-23 2006-04-06 レニショウ パブリック リミテッド カンパニー 測定器用信号送信システム
JP2010221314A (ja) * 2009-03-20 2010-10-07 Mori Seiki Co Ltd 工作機械における工作物測定装置およびその方法
JP2018106332A (ja) * 2016-12-26 2018-07-05 株式会社東京精密 無線測定システム及び工作機械の測定装置
JP2020508227A (ja) * 2017-01-18 2020-03-19 レニショウ パブリック リミテッド カンパニーRenishaw Public Limited Company 工作機械装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0589397A (ja) * 1991-03-29 1993-04-09 Renishaw Metrology Ltd 信号伝送装置
JP2006511860A (ja) * 2002-12-23 2006-04-06 レニショウ パブリック リミテッド カンパニー 測定器用信号送信システム
JP2010221314A (ja) * 2009-03-20 2010-10-07 Mori Seiki Co Ltd 工作機械における工作物測定装置およびその方法
JP2018106332A (ja) * 2016-12-26 2018-07-05 株式会社東京精密 無線測定システム及び工作機械の測定装置
JP2020508227A (ja) * 2017-01-18 2020-03-19 レニショウ パブリック リミテッド カンパニーRenishaw Public Limited Company 工作機械装置

Also Published As

Publication number Publication date
JP6800368B1 (ja) 2020-12-16

Similar Documents

Publication Publication Date Title
US6701212B2 (en) Lost motion correction system and lost motion correction method for numerical control machine tool
EP1742128B1 (en) Servo controller
US5006999A (en) Real-time robot control system tracking based on a standard path
US7215089B2 (en) Threading/tapping control apparatus
JP4653824B2 (ja) 機上計測装置にて計測対象物の形状を計測する工作機械システム
US7571669B2 (en) Machining apparatus for noncircular shapes
EP2377645A1 (en) Apparatus for and method of measuring workpiece on machine tool
US10359266B2 (en) Position measurement method of object in machine tool and position measurement system of the same
JP2009279722A (ja) 数値制御装置と機上計測装置を有する工作機械
NO842324L (no) Automatisk, dynamisk feilkompensator
JP2801064B2 (ja) Nc装置
WO2018101268A1 (ja) 三次元測定装置
JP6800368B1 (ja) 工作機械、工作機械の制御方法、および、工作機械の制御プログラム
JP2012213840A (ja) 工作機械
EP1203632A2 (en) Machine tool with tool position control
JP2015006721A (ja) 測定装置を備えた工作機械
CN112207629A (zh) 一种运动控制机构开环动态误差的补偿方法
JPS63233403A (ja) 数値制御装置
US4983899A (en) Numerical control apparatus for controlling a feed shaft and main shaft of a machine tool
JP2008070143A (ja) 光学式測定システム
CN100496837C (zh) 螺纹切削控制方法及其装置
US6628097B2 (en) Machine tool and control method therefor
JP3171770B2 (ja) Nc工作機械の移動位置誤差補正方法および移動位置誤差補正確認方法
JPH04323705A (ja) 回転軸同期繰り返し制御方法及び装置
CN212873274U (zh) 一种基于pmac的五轴高精度定位控制系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200708

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200708

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201124

R150 Certificate of patent or registration of utility model

Ref document number: 6800368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150