以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
実施の形態1にかかる数値制御装置1iについて説明する前に、基本の形態にかかる数値制御装置1の概略構成について図17及び図18を用いて説明する。図17(a)及び図17(b)は、それぞれ、基本の形態にかかる数値制御装置1により制御される工作機械900の外観構成を示す斜視図及び正面図である。図18は、基本の形態にかかる数値制御装置1の構成を示すブロック図である。
工作機械900は、図17(a)、(b)に示すように、タレット906、及びワーク支持部907を有する。工作機械900は、X軸、Z軸、H軸、C軸、及び主軸を有する。X軸は、タレット906を移動させる移動軸である。Z軸は、ワークWを移動させる移動軸である。H軸は、Z軸に平行な回転中心線の周りにタレット906を回転させることで、工具9061,9062を旋回させる回転軸である。工具9061,9062の中心軸は、H軸の回転中心線から放射状に延びている。C軸は、Z軸に平行な回転中心線の周りにワークWを回転させる回転軸である。主軸は、Z軸に平行な回転中心線の周りにワーク支持部907を回転させる回転軸である。
なお、図17には、X軸、Z軸に垂直なY軸を破線で図示している。Y軸はユーザが作成する加工プログラム中の仮想Y軸制御モード内で使用される仮想的な移動軸である。ユーザは、仮想Y軸制御モード内では、X軸、Y軸、Z軸、H軸およびC軸の座標位置を指定して所要の加工プログラムを作成する。
工作機械900は、図18に示すように、さらに、X軸、H軸、Z軸、C軸サーボモータ901、902、903、904及び主軸モータ905を有する。X軸サーボモータ901、H軸サーボモータ902は、タレット906に対して、X軸の移動、H軸の回転を行う。Z軸サーボモータ903、C軸サーボモータ904は、ワーク支持部907に対して、Z軸の移動、C軸の回転を行う。主軸モータ905は、主軸の回転を行う。
数値制御装置1は、表示部10、入力操作部20、制御演算部30、及び駆動部90を備える。例えば、ユーザによる加工プログラム53の自動起動ボタンの操作に応じて、加工プログラム53の自動起動の信号が制御演算部30へ供給される。これに応じて、制御演算部30は、加工プログラム53を起動して、加工プログラム53に従い、X軸の移動量指令、H軸の回転量指令、Z軸の移動量指令、C軸の回転量指令を生成して駆動部90へ供給する。駆動部90は、X軸サーボ制御部91、H軸サーボ制御部92、Z軸サーボ制御部93、C軸サーボ制御部94、及び主軸制御部95を有し、制御演算部30から入力されたX軸の移動量指令、H軸の回転量指令、Z軸の移動量指令、C軸の回転量指令に従い、X軸サーボモータ901、H軸サーボモータ902、Z軸サーボモータ903、C軸サーボモータ904、及び主軸モータ905を駆動する。
制御演算部30は、PLC36、機械制御信号処理部34、記憶部50、解析処理部40、補間処理部70、仮想Y軸制御切換処理部38、スイッチ35、加減速処理部37、仮想Y軸制御処理部60、軸データ出力部39、入力制御部32、画面処理部31、及びパラメータ設定部33を有する。
加工プログラム53の自動起動の信号は、PLC36経由で機械制御信号処理部34に入力される。機械制御信号処理部34は、記憶部50経由で解析処理部40に指示して加工プログラム53を起動させる。
記憶部50は、パラメータ51、工具補正データ52、加工プログラム53、画面表示データ54を記憶するとともに、ワークスペースとしての共有エリア55を有している。
解析処理部40は、工具補正量を計算して記憶部50に工具補正データ52として記憶させる。解析処理部40は、加工プログラム53の起動指示に応じて、記憶部50から加工プログラム53を読み出し、加工プログラム53の各ブロック(各行)について解析処理を行う。解析処理部40は、解析したブロック(行)にMコード(例えば、Mコード「M111」、「M101」など)が含まれていれば、その解析結果を記憶部50、機械制御信号処理部34経由でPLC36へ渡す。解析処理部40は、解析した行にMコード以外のコード(例えば、Gコード「G0」、「G1」など)が含まれていれば、その解析結果に工具補正量を加味して補間処理部70へ渡す。
PLC36は、仮想Y軸制御モードONの解析結果(例えば、Mコード「M111」)を受けた場合、機械制御信号処理部34内の仮想Y軸制御モード信号処理部34aが有する仮想Y軸制御モード信号をON状態にして記憶部50の共有エリア55に一時記憶させる。これにより、数値制御装置1では、仮想Y軸制御モードが開始され、各部が共有エリア55の仮想Y軸制御モード信号(ON状態)を参照することにより仮想Y軸制御モード中であることを認識する。PLC36は、仮想Y軸制御モードOFFの解析結果(例えば、Mコード「M101」)を受けた場合、機械制御信号処理部34内の仮想Y軸制御モード信号処理部34aが有する仮想Y軸制御モード信号をOFF状態にして共有エリア55に一時記憶させる。これにより、数値制御装置1では、仮想Y軸制御モードがキャンセルされ、仮想Y軸制御モード以外の制御モードになる。
補間処理部70は、解析処理部40から解析結果(位置指令)を受け取り、解析結果(位置指令)に対する補間処理を行い、補間処理の結果(移動量、回転量)を加減速処理部37へ供給する。
加減速処理部37は、補間処理部70から供給された補間処理の結果に対して加減速処理を行う。加減速処理部37は、X軸、Y軸、C軸、H軸、主軸に関する加減速処理結果をスイッチ35に出力し、Z軸に関する加減速処理結果を軸データ出力部39に直接出力する。
スイッチ35は、仮想Y軸制御切換処理部38からの切り替え信号に基づき加減速処理結果を仮想Y軸制御処理部60及び軸データ出力部39の何れかに出力する。仮想Y軸制御切換処理部38は、共有エリア55の仮想Y軸制御モード信号がONになっている仮想Y軸制御モードにおいて、加減速処理部37と仮想Y軸制御処理部60とを接続するようにスイッチ35を切り換え、共有エリア55の仮想Y軸制御モード信号がOFFになっている仮想Y軸制御モード以外の制御モードにおいて、加減速処理部37と軸データ出力部39とを接続するようにスイッチ35を切り換える。
仮想Y軸制御処理部60は、仮想Y軸制御モード下において、加減速処理部37から入力されたX−Y軸の移動量指令をX−H−C座標系での指令に変換する。すなわち、仮想Y軸制御処理部60は、加減速処理部37から入力されたX−Y軸の移動量指令を移動位置指令(X1,Y1)に変換し、変換した移動位置指令を、実座標系としての機械座標系の移動位置指令であるX軸の移動位置指令とH軸の回転位置指令とC軸の回転位置指令とに座標変換し、X軸、H軸、C軸の各移動位置(Xr,Hr,Cr)を求める。これにより、仮想Y軸制御処理部60は、駆動部90を介して、X軸、H軸およびC軸を連動駆動させる。
例えば、数値制御装置1は、図19及び図20に示すようなワークWの加工を制御する。図19は、数値制御装置1の動作を示す図である。図20は、数値制御装置1の動作を示すフローチャートである。
図20に示すステップS901では、数値制御装置1が、加工に用いるべき工具としてフライス加工用の工具9061を選択し、工具9061に交換させる。
ステップS902では、数値制御装置1が、C軸モードを選択する。
ステップS903では、数値制御装置1が、工具9061の中心軸と仮想平面におけるX軸方向とが平行になる位置に、タレット906及びワークWの位置決めを行う(図19に示す(1)参照)。仮想平面は、X軸と仮想Y軸とによって形成される平面であり、プログラム座標系におけるXY平面に対応した平面である。
ステップS904では、数値制御装置1が、加工プログラム53におけるMコードの記述(例えば、Mコード「M111」)に従って、仮想Y軸制御モードを有効にする。
ステップS905では、数値制御装置1が、加工プログラム53の記述(例えば、Gコード「G0」)に従って、工具9061を加工開始位置に移動させる(図19に示す(2)参照)。
ステップS906では、数値制御装置1が、加工プログラム53の記述(例えば、Gコード「G1」)に従ってX軸、H軸およびC軸を連動駆動させることにより、加工開始位置から加工終了位置までY軸に沿った方向(例えば、Y軸に平行な方向)に工具9061を移動させて、工具9061によるフライス加工を行わせる(図19に示す(3)参照)。
ステップS907では、数値制御装置1が、加工プログラム53におけるMコードの記述(例えば、Mコード「M101」)に従って、仮想Y軸制御モードをキャンセルする。
基本の形態では、図19及び図20に示されるように、Y軸を持たない工作機械900に対して、ワークのC軸、タレットのX軸、タレットのH軸により仮想Y軸制御を行うため、X軸に垂直な面に対してY軸に沿った加工を行うことが前提となっている。すなわち、基本の形態では、X軸及びZ軸から傾斜した傾斜面に対してY軸に沿った加工を行うことが困難である。
そこで、実施の形態1では、数値制御装置1iにおいて、X軸及びZ軸から傾斜した傾斜面Wa(図1(a)参照)に対してY軸に沿った加工を行うために、以下の工夫を行う。図1(a)及び図1(b)は、それぞれ、実施の形態1にかかる数値制御装置1iにより制御される工作機械900iをZX平面及びXY平面に垂直な方向から見た場合の外観構成を示す図である。図2は、実施の形態1にかかる数値制御装置1iのスタートアップモード時の動作に関連した構成を示すブロック図である。図3は、実施の形態1にかかる数値制御装置1iの仮想Y軸傾斜面モード時の動作に関連した構成を示すブロック図である。以下では、基本の形態と異なる部分を中心に説明する。
工作機械900iは、図1(a)、(b)に示すように、タレット906i、及びワーク支持部907iを有する。工作機械900iは、C軸を有さず、B軸をさらに有する。B軸は、X軸及びZ軸に垂直な回転中心線の周りに、すなわちY軸に平行な回転中心線の周りにタレット906iを回転させることで、工具9061の中心軸をX軸及びZ軸に対して傾斜させる回転軸である。また、工具9061i、9062iの中心軸は、H軸の回転中心線に平行に延びている。
なお、H軸の回転中心線は、工具9061i、9062iの中心軸に平行で且つB軸の回転中心線に垂直な状態に維持されながら、B軸の回転に伴い傾く。すなわち、H軸は、B軸の回転中心線に垂直な回転中心線の周りにタレット906iを回転させる回転軸である。
工作機械900iは、図2及び図3に示すように、C軸サーボモータ904(図18参照)を有さず、B軸サーボモータ908iをさらに有する。B軸サーボモータ908iは、タレット906iに対して、B軸の回転を行う。これにより、工作機械900iは、X軸及びZ軸から傾斜した傾斜面Waに対して中心軸が垂直になるように工具9061iを傾けた状態にすることができる。
なお、それに応じて、駆動部90iは、C軸サーボ制御部94(図18参照)を有さず、B軸サーボ制御部96iをさらに有する。
数値制御装置1iは、X軸及びZ軸から傾斜した傾斜面Wa(図1(a)参照)に対してY軸に沿った加工を行うための制御モードとして、仮想Y軸傾斜面加工モードを有する。仮想Y軸傾斜面加工モードは、スタートアップモード及び仮想Y軸傾斜面モードを含む。仮想Y軸傾斜面加工モードにおいて、スタートアップモード及び仮想Y軸傾斜面モードは、順次に選択的にON状態にされる。
例えば、数値制御装置1iは、制御演算部30(図18参照)に代えて、制御演算部30iを備える。制御演算部30iは、機械制御信号処理部34、記憶部50、解析処理部40、仮想Y軸制御切換処理部38、スイッチ35、仮想Y軸制御処理部60に代えて、それぞれ、機械制御信号処理部34i、記憶部50i、解析処理部40i、仮想Y軸傾斜面加工切換処理部38i、スイッチ35i、仮想Y軸傾斜面加工処理部60iを有する。
記憶部50iは、機械構成パラメータ56iをさらに記憶している。機械構成パラメータ56iは、例えば、工具9061iの工具長t、工具9061iの根元位置からB軸回転中心までの距離を示すパラメータ(R,L)などを含む(図5参照)。
解析処理部40iは、仮想Y軸傾斜面加工指令手段41i、仮想Y軸傾斜面加工スタートアップ手段42i(図2参照)を有する。仮想Y軸傾斜面加工指令手段41iは、加工プログラム53中における仮想Y軸傾斜面加工を有効にすることを示すMコード(例えば、図8(b)に示すMコード「M37」)が含まれていれば、その解析結果を記憶部50i、機械制御信号処理部34iの仮想Y軸傾斜面加工モード信号処理手段34ai経由でPLC36へ渡す。また、仮想Y軸傾斜面加工指令手段41iは、加工プログラム53中における仮想Y軸傾斜面加工を有効にすることを示すMコードに含まれる傾斜面角度、傾斜面回転中心座標の情報(例えば、図8(b)に示す「B45. X0. Z0.」)を、記憶部50iの共有エリア55に一時記憶させる。
PLC36は、仮想Y軸傾斜面加工モードONの解析結果(例えば、図8(b)に示すMコード「M37」)を受けた場合、機械制御信号処理部34i内の仮想Y軸傾斜面加工モード信号処理手段34aiが有するスタートアップモード信号をON状態にして記憶部50iの共有エリア55に一時記憶させる。これにより、数値制御装置1iでは、仮想Y軸傾斜面加工モードにおけるスタートアップモードが開始され、各部が共有エリア55のスタートアップモード信号(ON状態)を参照することによりスタートアップモード中であることを認識する。
仮想Y軸傾斜面加工切換処理部38iは、スタートアップモード中であることに応じて、加減速処理部37と軸データ出力部39とを接続するようにスイッチ35iを切り換える(図2参照)。
仮想Y軸傾斜面加工スタートアップ手段42iは、スタートアップモード中であることに応じて、加工プログラム53中のX−Y−Z軸移動指令に応じた移動開始位置をX−Z−H−B座標系での指令に変換し、変換した指令に従ってX軸、Z軸、H軸、及びB軸を連動駆動させて、スタートアップ動作を行う。スタートアップ動作は、ワークWの傾斜面Waに対して中心軸が垂直になるように工具9061iを傾けた状態にするとともに、工具9061iをワークWの加工開始位置に移動させる動作である(図5参照)。なお、スタートアップ動作は、非補間で行われる。
例えば、仮想Y軸傾斜面加工スタートアップ手段42iは、仮想平面極座標変換手段42i1、工具長処理手段42i2、及び傾斜面座標回転変換手段42i3を行う。仮想平面極座標変換手段42i1は、加工プログラム53中のX−Y−Z軸移動指令に応じた移動開始位置に応じて、プログラム座標系におけるH軸の極座標を算出する。H軸の極座標は、H軸の回転中心座標とH軸の回転角度とを含む。H軸の回転中心座標は、プログラム座標系におけるH軸の回転中心の座標を示すものである。H軸の回転角度は、H軸の回転中心を中心にしてH軸の基準回転位置からの回転角度を示す回転座標である。例えば、仮想平面極座標変換手段42i1は、プログラム座標系において、X−Y−Z軸指令位置をH軸の極座標へ変換する(図5参照)。
工具長処理手段42i2は、算出されたH軸の回転中心座標に対して、工具9061iの工具長を考慮した補正を施し、補正されたH軸の回転中心座標に応じたパラメータを傾斜面座標回転変換手段42i3へ供給する。
傾斜面座標回転変換手段42i3は、記憶部50iの共有エリア55を参照して、指令された傾斜面角度及び傾斜面回転中心を取得する。傾斜面座標回転変換手段42i3は、プログラム座標系における補正されたH軸の回転中心座標に応じたパラメータを用いて、指令された傾斜面角度及び傾斜面回転中心に従ってB軸を回転させた場合におけるX軸の移動位置指令とZ軸の移動位置指令を求める。すなわち、傾斜面座標回転変換手段42i3は、プログラム座標系における補正されたH軸の回転中心座標と、指令された傾斜面角度及び傾斜面回転中心とに応じて、実座標系としての機械座標系の移動位置指令であるX軸の移動位置指令とZ軸の移動位置指令とH軸の回転位置指令とB軸の回転位置指令とを求め、X軸、Z軸、H軸、B軸の各移動位置(Xr,Zr,Hr,Br)を求める。これにより、解析処理部40iは、駆動部90iを介して、X軸、Z軸、H軸、及びB軸を連動駆動させる。
仮想Y軸傾斜面加工切換処理部38iは、その連動駆動(スタートアップ動作)が完了したことを認識すると、機械制御信号処理部34i内の仮想Y軸傾斜面加工モード信号処理手段34aiが有するスタートアップ信号をOFF状態にするとともに仮想Y軸傾斜面モード信号をON状態にして記憶部50iの共有エリア55に一時記憶させる。これにより、数値制御装置1iでは、仮想Y軸傾斜面加工モードにおける仮想Y軸傾斜面モードが開始され、各部が共有エリア55の仮想Y軸傾斜面モード信号(ON状態)を参照することにより仮想Y軸傾斜面モード中であることを認識する。
仮想Y軸傾斜面加工切換処理部38iは、仮想Y軸傾斜面モード中であることに応じて、加減速処理部37と仮想Y軸傾斜面加工処理部60iとを接続するようにスイッチ35iを切り換える(図3参照)。
解析処理部40i及び仮想Y軸傾斜面加工処理部60iは、仮想Y軸傾斜面モード中であることに応じて、加工プログラム中のX−Y−Z軸移動指令をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸、Z軸、及びH軸を連動駆動させるための仮想Y傾斜面補間を行う。
例えば、解析処理部40iは、仮想Y軸傾斜面指令位置作成手段43i(図3参照)をさらに有する。仮想Y軸傾斜面指令位置作成手段43iは、補間処理部70を制御して、加工プログラム53中のX−Y−Z軸移動指令に応じて、プログラム座標系におけるX−Y−Z軸位置を補間する。プログラム座標系における補間されたX−Y−Z軸位置は、加減速処理部37経由で仮想Y軸傾斜面加工処理部60iへ供給される。
例えば、仮想Y軸傾斜面加工処理部60iは、仮想平面極座標変換手段61i、工具長処理手段62i、及び傾斜面座標回転変換手段63iを有する。仮想平面極座標変換手段61iは、プログラム座標系における補間されたX−Y−Z軸位置を受ける。仮想平面極座標変換手段61iは、プログラム座標系における補間されたX−Y−Z軸位置に応じて、プログラム座標系におけるH軸の極座標を算出する。H軸の極座標は、H軸の回転中心座標とH軸の回転角度とを含む。H軸の回転中心座標は、プログラム座標系におけるH軸の回転中心の座標を示すものである。H軸の回転角度は、H軸の回転中心を中心にしてH軸の基準回転位置からの回転角度を示す回転座標である。例えば、仮想平面極座標変換手段61iは、プログラム座標系において、補間されたX−Y−Z軸位置をH軸の極座標へ変換する(図6参照)。
工具長処理手段62iは、算出されたH軸の回転中心座標に対して、工具9061iの工具長を考慮した補正を施す。例えば、工具長処理手段62iは、「工具先端→B軸回転中心ベクトル算出手段」62i1を有する。工具長処理手段62iは、「工具先端→B軸回転中心ベクトル算出手段」62i1を用いてH軸の回転中心座標に工具長補正を施し、補正されたH軸の回転中心座標に応じたパラメータを傾斜面座標回転変換手段63iへ供給する。
傾斜面座標回転変換手段63iは、記憶部50iの共有エリア55を参照して、指令された傾斜面角度及び傾斜面回転中心を取得する。傾斜面座標回転変換手段63iは、プログラム座標系における補正されたH軸の回転中心座標に応じたパラメータを用いて、指令された傾斜面角度及び傾斜面回転中心に従ってB軸を回転させた場合におけるX軸の移動位置指令とZ軸の移動位置指令を求める。すなわち、傾斜面座標回転変換手段63iは、プログラム座標系における補正されたH軸の回転中心座標と、指令された傾斜面角度及び傾斜面回転中心とに応じて、実座標系としての機械座標系の移動位置指令であるX軸の移動位置指令とZ軸の移動位置指令とH軸の回転位置指令とを求め、X軸、Z軸、H軸の各移動位置(Xr,Zr,Hr)を求める。例えば、傾斜面座標回転変換手段63iは、仮想座標指令位置座標回転変換手段63i1、「工具先端→B軸回転中心座標回転変換手段」63i2、及び合成手段63i3を有し、仮想座標指令位置座標回転変換手段63i1、「工具先端→B軸回転中心座標回転変換手段」63i2、及び合成手段63i3を用いて、X軸、Z軸、H軸の各移動位置(Xr,Zr,Hr)を求める。これにより、解析処理部40iは、駆動部90iを介して、X軸、Z軸、及びH軸を連動駆動させる。
そして、PLC36は、仮想Y軸傾斜面加工モードOFFの解析結果(例えば、図8(b)に示すMコード「M38」)を受けた場合、機械制御信号処理部34i内の仮想Y軸制御モード信号処理部351が有する仮想Y軸傾斜面モード信号をOFF状態にして共有エリアに一時記憶させる。これにより、数値制御装置1iでは、仮想Y軸傾斜面加工モードがキャンセルされ、仮想Y軸傾斜面加工モード以外の制御モードになる。
次に、実施の形態1にかかる数値制御装置1iの動作について図4及び図8(b)を用いて説明する。図4は、実施の形態1にかかる数値制御装置1iの動作を示すフローチャートである。図8(b)は、数値制御装置1iの記憶部50iに記憶された加工プログラム53における記述内容を示す図である。
ステップS1では、数値制御装置1iが、加工に用いるべき工具として例えばフライス加工用の工具9061iを選択し交換させる。例えば、数値制御装置1iが、図8(b)に示す加工プログラム53における「T1010」の記述に従って、加工に用いるべき工具をフライス加工用の工具9061iに交換させる。
ステップS2では、数値制御装置1iが、傾斜面角度、傾斜面の回転中心を指令して、仮想Y軸傾斜面加工モードを有効にする。例えば、数値制御装置1iが、図8(b)に示す加工プログラム53における「M37 B45. X0. Z0.」の記述に従って、傾斜面角度としてB軸の回転角度45度を指令し、傾斜面の回転中心としてプログラム座標系における位置(Xp,Zp)=(0,0)を指令し、仮想Y軸傾斜面加工モードにおけるスタートアップモードをONする。
ステップS3では、数値制御装置1iが、スタートアップモード中であることに応じて、スタートアップ動作を行う。スタートアップ動作の詳細については後述する。そして、数値制御装置1iが、スタートアップ動作を完了したことに応じて、仮想Y軸傾斜面加工モードにおけるスタートアップモードをOFFするとともに、仮想Y軸傾斜面加工モードにおける仮想Y軸傾斜面モードをONする。
ステップS4では、数値制御装置1iが、仮想Y軸傾斜面モード中であることに応じて、仮想Y傾斜面加工動作(例えば、フライス加工)を行う。仮想Y傾斜面加工動作の詳細については後述する。
ステップS5では、数値制御装置1iが、仮想Y軸傾斜面加工モードをキャンセルする。例えば、数値制御装置1iが、図8(b)に示す加工プログラム53における「M38」の記述に従って、仮想Y軸傾斜面加工モードにおける仮想Y軸傾斜面モードをOFFする。
次に、スタートアップ動作(ステップS3)の詳細について図5及び図8(b)を用いて説明する。図5は、スタートアップ動作(ステップS3)の詳細を示すフローチャートである。
ステップS31では、数値制御装置1iが、ブロック終点の仮想座標位置、すなわちプログラム座標系における加工開始位置(Xp,Yp,Zp)=(xp,yp,zp)を算出する。例えば、数値制御装置1iが、図8(b)に示す加工プログラム53における「G0 X50. Y50. Z0.」の記述に従って、プログラム座標系における加工開始位置(Xp,Yp,Zp)=(50,50,0)を算出する。
ステップS32では、数値制御装置1iにおける仮想平面極座標変換手段42i1(図2参照)が、加工プログラム53中のX−Y−Z軸移動指令に応じた移動開始位置(xp,yp,zp)に応じて、プログラム座標系におけるH軸の極座標(xh,h)に算出する。例えば、仮想平面極座標変換手段42i1は、次の数式1により、プログラム座標系における移動開始のX−Y軸位置(xp,yp)をプログラム座標系におけるH軸の極座標(xh,h)へ変換する。すなわち、仮想平面極座標変換手段42i1は、次の数式1により、仮想極座標変換を行う。
(xh,h)=fr(xp,yp)・・・数式1
数式1において、frは、座標変換に用いられる関数を示す。H軸の極座標(xh,h)は、H軸の回転中心座標xhとH軸の回転角度hとを含む。H軸の回転中心座標xhは、プログラム座標系におけるH軸の回転中心の座標(xh,0,zh)を示すものである。H軸の回転角度hは、H軸の回転中心(xh,0,zh)を中心にしてH軸の基準回転位置(回転中心から原点へ向かう位置)からの回転角度を示す回転座標である。仮想平面極座標変換手段42i1は、算出されたH軸の極座標(xh,h)を工具長処理手段42i2(図2参照)へ供給する。
ステップS33では、工具長処理手段42i2が、仮想座標上の工具長補正量を考慮した、プログラム座標系におけるB軸回転中心位置(Xp,Zp)=(xb,zb)を算出する。例えば、工具長処理手段42i2が、次の数式2により、H軸の回転中心座標xh及び移動開始のZ軸位置(zp)に対して、工具長補正量を考慮したB軸回転中心位置(xb,zb)を算出する。
(xb,zb)=(xh,zp)+(R−r,L+t)・・・数式2
数式2において、tは工具の工具長を表し、rはタレット906iにおけるH軸の回転半径を表し、Rはタレット906iにおける工具の根元からB軸回転中心までX軸方向の距離を表し、Lはタレット906iにおける工具の根元からB軸回転中心までZ軸方向の距離を表す。工具長処理手段42i2が、工具長補正量を考慮したB軸回転中心位置(xb,zb)を、補正されたH軸の回転中心座標に応じたパラメータとして傾斜面座標回転変換手段42i3へ供給する。
ステップS34では、傾斜面座標回転変換手段42i3が、指令された傾斜面角度及び傾斜面回転中心に応じて、プログラム座標系におけるB軸回転中心位置を機械座標系におけるB軸回転中心位置に座標変換する。例えば、傾斜面座標回転変換手段42i3が、プログラム座標系における工具長補正量を考慮したB軸回転中心位置(Xp,Zp)=(xb,zb)から、機械座標系におけるB軸回転中心位置fb(xb,zb)に座標変換する。fbは、座標変換に用いられる関数を示す。
ステップS35では、傾斜面座標回転変換手段42i3が、機械構成パラメータ(R,L)を用いて実軸(Xr,Zr,Hr)の座標を算出する。例えば、傾斜面座標回転変換手段42i3が、次の数式3により、機械座標系におけるB軸回転中心位置fb(xb,zb)から、機械座標系におけるX−Z軸の座標(xr,zr)を求める。
(xr,zr)=fb(xb,zb)−(R,L)・・・数式3
そして、傾斜面座標回転変換手段42i3が、このX−Z軸の座標(xr,zr)と、ステップS32で求めたH軸の回転座標(h)と、ステップS34で求めた指令された傾斜面角度、すなわちB軸の回転座標(br)とを用いて、機械座標系における移動開始位置(Xr,Zr,Hr,Br)=(xr,zr,h,br)を求める。解析処理部40iは、補間処理部70及び加減速処理部37を介して、移動開始位置(xr,zr,h,br)の指令を駆動部90iへ供給する。これにより、駆動部90iは、移動開始位置(xr,zr,h,br)の指令に従って、X軸、Z軸、H軸、及びB軸を連動駆動させる。
次に、仮想Y傾斜面加工動作(ステップS4)の詳細について図6、図7及び図8(b)を用いて説明する。図6は、仮想Y傾斜面加工動作(ステップS4)の詳細を示すフローチャートである。図7は、数値制御装置1iの仮想Y軸傾斜面モード時の各軸の動作を示す図である。
ステップS41では、数値制御装置1iにおける仮想Y軸傾斜面指令位置作成手段43i(図3参照)が、例えば、加工プログラム53における現在の処理対象のブロックの始点と終点との位置を算出し、加工プログラム53中のX−Y−Z軸移動指令を求める。補間処理部70は、加工プログラム53中のX−Y−Z軸移動指令に応じて、補間周期毎に、プログラム座標系におけるX−Y−Z軸位置を補間する。
例えば、仮想Y軸傾斜面指令位置作成手段43iによりブロックの始点P1と終点P3とが算出された場合、すなわち、加工プログラム53中のX−Y−Z軸移動指令が図7(c)〜(e)に示すようなP1→P3の移動指令である場合を考える。この場合、補間処理部70は、補間周期毎に補間処理を行い、プログラム座標系におけるX−Y−Z軸の指令位置P1,P11,P12,P2,P21,P22,P3を求める。この指令位置P1〜P3は、図7(a)、(b)に示すように、仮想軸であるY軸に沿ったものである。
なお、図7(a)は、ZX平面に垂直な方向から見た場合における指令位置P1,P2,P3に従った工作機械900iの動作を示す。図7(b)は、XY平面に垂直な方向から見た場合における指令位置P1,P2,P3に従った工作機械900iの動作を示す。図7(c)は、YZ平面におけるプログラム座標系で指令された経路と機械座標系における実際の移動経路とをそれぞれ示す。図7(c)において、縦軸はY軸の座標を示し、横軸はZ軸の座標を示す。図7(d)は、XY平面におけるプログラム座標系で指令された経路と機械座標系における工作機械の移動経路とをそれぞれ示す。図7(d)において、縦軸はX軸の座標を示し、横軸はY軸の座標を示す。図7(e)は、HY平面におけるプログラム座標系で指令された経路と機械座標系における工作機械の移動経路とをそれぞれ示す。図7(e)において、縦軸はH軸の回転座標(h)を示し、横軸はY軸の座標を示す。
例えば、数値制御装置1iが、加工プログラム53における「G1 X50. Y−50. F100」の記述(図8(b)参照)に従って、工具9061iをプログラム座標系における加工開始位置(Xp,Yp,Zp)=(50,50,0)から加工終了位置(Xp,Yp,Zp)=(50,−50,0)まで、補間周期毎に、補間位置を求め、加減速処理を施して、例えば、プログラム座標系における指令位置(Xp,Yp,Zp)=(xp,yp,zp)を算出する。例えば、この場合、補間処理部70は、図7(c)〜(e)におけるP1=(50,50,0)とし、P2=(50,−50,0)とした場合の補間処理を行い、プログラム座標系におけるX−Y−Z軸の指令位置P1,P11,P12,P2,P21,P22,P3を求める。
ステップS42では、数値制御装置1iにおける仮想平面極座標変換手段61i(図3参照)が、加工プログラム53中のX−Y軸移動指令に応じた指令位置(xp,yp,zp)に応じて、プログラム座標系におけるH軸の極座標(xh,h)に算出する。例えば、仮想平面極座標変換手段61iは、上記の数式1により、プログラム座標系における指令位置(xp,yp)をプログラム座標系におけるH軸の極座標(xh,h)へ変換する。すなわち、仮想平面極座標変換手段61iは、上記の数式1により、仮想極座標変換を行う。仮想平面極座標変換手段61iは、算出されたH軸の回転中心座標(xh)を工具長処理手段62i(図3参照)へ供給する。
ステップS43では、工具長処理手段62iにおける工具先端→B軸回転中心ベクトル算出手段62i1(図3参照)が、仮想座標上の工具長補正量を考慮した、プログラム座標系における工具先端からB軸回転中心位置までのベクトルを算出する。例えば、工具先端→B軸回転中心ベクトル算出手段62i1が、上記の数式2により、プログラム座標系におけるB軸回転中心位置(xb,zb)を算出し、次の数式4により、プログラム座標系における工具先端(xp,zp)からB軸回転中心位置(xb,zb)までのベクトル(Vx,Vz)を算出する。
(Vx,Vz)=(xb,zb)−(xp,zp)・・・数式4
工具先端→B軸回転中心ベクトル算出手段62i1が、算出されたベクトル(Vx,Vz)を、補正されたH軸の回転中心座標に応じたパラメータとして傾斜面座標回転変換手段63iへ供給する。
ステップS44では、傾斜面座標回転変換手段63iにおける仮想座標指令位置座標回転変換手段63i1が、指令された傾斜面角度及び傾斜面回転中心に応じて、プログラム座標系における指令位置(xp,yp)を機械座標系における指令位置(xr’,yr’)に座標変換する。例えば、仮想座標指令位置座標回転変換手段63i1が、次の数式5により、プログラム座標系における指令位置(xp,yp)から、機械座標系における指令位置(xr’,yr’)に座標変換する。
(xr’,yr’)=fb(xp,yp)・・・数式5
ステップS45では、傾斜面座標回転変換手段63iにおける工具先端→B軸回転中心座標回転変換手段63i2が、指令された傾斜面角度及び傾斜面回転中心に応じて、プログラムにおける補正されたH軸の回転中心座標に応じたパラメータを機械座標系におけるパラメータに座標変換する。例えば、工具先端→B軸回転中心座標回転変換手段63i2が、ステップS43で求めたベクトル(Vx,Vz)を、指令された傾斜面角度(B軸の加減速後の角度)だけ回転して、機械座標系におけるベクトルfb’(Vx,Vz)に座標変換する。fb’は、ベクトルに対する座標変換に用いられる関数を示す。
ステップS46では、傾斜面座標回転変換手段63iにおける合成手段63i3が、ステップS44で求めた機械座標系における指令位置(xr’,yr’)と、ステップS45で求めた機械座標系におけるパラメータとを合成する。例えば、合成手段63i3が、ステップS44で求めた機械座標系における指令位置(xr’,yr’)に、ステップS45で求めた機械座標系におけるベクトルfb’(Vx,Vz)を加算して、機械座標系におけるB軸回転中心座標fb’(Vx,Vz)+(xr’,yr’)を求める。
ステップS47では、傾斜面座標回転変換手段63iが、機械構成パラメータ(R,L)から実軸(Xr,Zr,Hr)の座標を算出する。例えば、傾斜面座標回転変換手段63iが、次の数式6により、機械座標系におけるX−Z軸の座標(xr,zr)を求める。
(xr,zr)=fb’(Vx,Vz)+(xr’,yr’)−(R,L)・・・数式6
そして、傾斜面座標回転変換手段63iが、このX−Z軸の座標(xr,zr)と、ステップS42で求めたH軸の座標(h)とを用いて、機械座標系における指令位置(Xr,Zr,Hr)=(xr,zr,h)を求める。すなわち、解析処理部40iで解析され補間処理部70で補間され加減速処理部37で加減速処理が施されたプログラム座標系上の指令位置に対して、仮想Y軸傾斜面加工処理部60iで機械座標系上の指令位置への変換が行われ、機械座標系上の指令位置が駆動部90iへ供給される。これにより、駆動部90iは、機械座標系上の指令位置に従って、X軸、Z軸、及びH軸を連動駆動させる。
例えば、加工プログラム53中のX−Y−Z軸移動指令が図7(c)〜(e)に示すようなP1→P3の移動指令である場合を考える。この場合、傾斜面座標回転変換手段63iは、機械座標系におけるX−Z−H軸の指令位置P1r,P11r,P12r,P2r,P21r,P22r,P3rを求める。機械座標系におけるX−Z−H軸の指令位置P1r,P11r,P12r,P2r,P21r,P22r,P3rは、プログラム座標系におけるX−Y−Z軸の指令位置P1,P11,P12,P2,P21,P22,P3にそれぞれ対応したものである。この指令位置P1r〜P3rは、図7(a)、(b)に示すように、駆動部90iによる、X軸、Z軸、及びH軸の連動駆動により実現される。
次に、実施の形態1にかかる数値制御装置1iを用いたワークWの加工手順について、図8を用いて説明する。図8(a)は、数値制御装置1iを用いたワークWの加工手順に従ったタレット906i及びワークWの動作を示す図である。図8(b)は、数値制御装置1iの記憶部50iに記憶された加工プログラム53における記述内容を示す図である。図8(c)は、ワークWの加工手順を示す図である。
手順(1)では、数値制御装置1iが、加工プログラム53における「G0 Z30. C0」の記述に従って、タレット906iを基準位置に移動させる。
手順(2)では、数値制御装置1iが、加工プログラム53における「T1010」の記述に従って、加工に用いるべき工具をフライス加工用の工具9061iに交換させる。
手順(3)では、数値制御装置1iが、加工プログラム53における「M37 B45. X0. Z0.」の記述に従って、傾斜面角度としてB軸の回転角度45度を指令し、傾斜面の回転中心としてプログラム座標系における位置(Xp,Zp)=(0,0)を指令し、仮想Y軸傾斜面加工モードにおけるスタートアップモードをONする。
手順(4)では、数値制御装置1iが、加工プログラム53における「G0 X50. Y50. Z0.」の記述に従って、スタートアップ動作を行う。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して中心軸が垂直になるように工具9061iを傾けた状態にするとともに、工具9061iをワークWの加工開始位置(Xp,Yp,Zp)=(50,50,0)に移動させる。そして、数値制御装置1iは、工具9061iの移動が完了したら、仮想Y軸傾斜面加工モードにおけるスタートアップモードをOFFするとともに仮想Y軸傾斜面モードをONする。
手順(5)では、数値制御装置1iが、加工プログラム53における「G1 X50. Y−50. F100」の記述に従って、仮想Y傾斜面加工動作を行う。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して工具9061iを相対的にY軸(−)方向に移動させて切削加工を行う。例えば、数値制御装置1iが、加工プログラム53中のX−Y軸移動指令「X50. Y−50.」をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸、Z軸、及びH軸を連動駆動させる。
手順(6)では、数値制御装置1iが、加工プログラム53における「G1 X−50. Y−50.」の記述に従って、仮想Y傾斜面加工動作を行う。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して工具9061iを相対的にX軸(−)方向に移動させて切削加工を行う。例えば、数値制御装置1iが、加工プログラム53中のX−Y軸移動指令「X−50. Y−50.」をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸及びZ軸を連動駆動させる。
手順(7)では、数値制御装置1iが、加工プログラム53における「G1 X−50. Y50.」の記述に従って、仮想Y傾斜面加工動作を行う。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して工具9061iを相対的にY軸(+)方向に移動させて切削加工を行う。例えば、数値制御装置1iが、加工プログラム53中のX−Y軸移動指令「X−50. Y50.」をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸、Z軸、及びH軸を連動駆動させる。
手順(8)では、数値制御装置1iが、加工プログラム53における「G1 X50. Y50.」の記述に従って、仮想Y傾斜面加工動作を行う。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して工具9061iを相対的にX軸(+)方向に移動させて切削加工を行う。例えば、数値制御装置1iが、加工プログラム53中のX−Y軸移動指令「X50. Y50.」をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸及びZ軸を連動駆動させる。
手順(9)では、数値制御装置1iが、加工プログラム53における「G0 Z30.」の記述に従って、工具9061iを退避させる。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して工具9061iを相対的にZ軸方向に移動させて傾斜面Waから退避させる。
手順(10)では、数値制御装置1iが、加工プログラム53における「M38」の記述に従って、仮想Y軸傾斜面加工モードをキャンセルする。例えば、数値制御装置1iは、仮想Y軸傾斜面加工モードにおける仮想Y軸傾斜面モードをOFFする。
以上のように、実施の形態1では、数値制御装置1iにおいて、仮想Y軸傾斜面加工処理部60iが、仮想Y軸傾斜面加工モード中に、X軸及びZ軸から傾斜した傾斜面Waに対して中心軸が垂直になるように工具9061iを傾けた状態で傾斜面Waに対して工具9061iを相対的にY軸に沿って移動させる仮想Y傾斜面加工を行う。例えば、仮想Y軸傾斜面加工処理部60iは、加工プログラム中のX−Y−Z軸移動指令をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸、Z軸、及びH軸を連動駆動させるための仮想Y傾斜面補間を行う。これにより、Y軸を有さない工作機械900iによりX軸及びZ軸から傾斜した傾斜面Waに対してY軸に沿った加工を行うことができる。
また、実施の形態1では、数値制御装置1iにおいて、仮想Y軸傾斜面指令位置作成手段43iが、加工プログラム53中のX−Y−Z軸移動指令の始点と終点とを求め、補間処理部70が、加工プログラム53中のX−Y−Z軸移動指令に基づいて、プログラム座標系におけるX−Y−Z軸位置を補間する。仮想平面極座標変換手段61iが、プログラム座標系における補間されたX−Y−Z軸位置に応じて、プログラム座標系におけるH軸の回転中心座標とH軸の回転角度とを含む極座標を算出する。傾斜面座標回転変換手段63iが、プログラム座標系における算出された極座標に応じて、機械座標系におけるX−Z−H軸位置を補間する。これにより、加工プログラム53中のX−Y−Z軸移動指令を機械座標系でのX−Z−H軸移動指令に変換できる。
また、実施の形態1では、数値制御装置1iにおいて、仮想Y軸傾斜面加工スタートアップ手段42iが、加工プログラム53中のX−Y−Z軸移動指令に応じた移動開始位置をX−Z−H−B座標系での指令に変換し、変換した指令に従ってX軸、Z軸、H軸、及びB軸を連動駆動させて、傾斜面Waに対して中心軸が垂直になるように工具9061iを傾けた状態にするとともに工具9061iをワークWの加工開始位置に移動させるスタートアップ動作を行う。これにより、Y軸を有さない工作機械900iによりX軸及びZ軸から傾斜した傾斜面Waに対してY軸に沿った加工が可能な状態にすることができる。
なお、実施の形態1では、斜面角度、傾斜面回転中心座標の情報を加工プログラムから指令する場合を例示しているが、PLC36から指令してもよい。
あるいは、仮想Y軸傾斜面加工モード中、B軸に対して指令してもよい。例えば、図8(b)に示す加工プログラムが下記のように変更されてもよい。
G0 Z30. C0
T1010
M37 B45. X0. Z0.
G0 X50. Y50. Z0.
G1 X50. Y−50. F100
G1 X−25. Y−50. F75
M37 B55. X0. Z0.
G0 X−25. Y−50. Z0.
G1 X−50. Y−50. F25
G1 X−50. Y50. F100
G1 X−25. Y50. F25
M37 B45. X0. Z0.
G1 X50. Y50. F75
G0 Z30.
M38
この場合、例えば、図4に示すフローチャートでスタートアップ動作(ステップS3)及び仮想Y傾斜面加工動作(ステップS4)の処理を1つのルーチンとして、この1つのルーチンを複数回(上記の場合、3回)繰り返してから、仮想Y軸傾斜面加工モードのキャンセル(ステップS5)の処理を行うことになる。このとき、上記のように、各回のスタートアップ動作(ステップS3)において、B軸の回転角度として異なる角度を指令できる。
このように、B軸に対して繰り返し指令することで工具先端位置を中心にタレットが加工面の傾斜角が違う傾斜面に対して連続的に加工することができる。
あるいは、実施の形態1では、仮想Y傾斜面加工としてフライス加工を例示しているが、仮想Y傾斜面加工は、穴あけ、同期タップなどであってもよい。例えば、仮想Y傾斜面加工が穴あけである場合、数値制御装置1iを用いたワークWの加工手順は、例えば図9に示すようになる。図9(a)は、数値制御装置1iを用いたワークWの加工手順に従ったタレット906i及びワークWの動作を示す図である。図9(b)は、数値制御装置1iの記憶部50iに記憶された加工プログラム53における記述内容を示す図である。図9(c)は、ワークWの加工手順を示す図である。
図9に示す実施の形態1の変形例では、手順(2),(4)〜(9)に代えて、手順(11),(12),(13)が行われる。
手順(11)では、数値制御装置1iが、加工プログラム53における「T1111」の記述に従って、加工に用いるべき工具を穴あけ加工用の工具9062iに交換させる。
手順(12)では、数値制御装置1iが、加工プログラム53における「G0 X30. Y15. Z30.」の記述に従って、スタートアップ動作を行う。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して中心軸が垂直になるように工具9062iを傾けた状態にするとともに、工具9062iをワークWの加工開始位置(Xp,Yp,Zp)=(30,15,30)に移動させる。そして、数値制御装置1iは、工具9062iの移動が完了したら、仮想Y軸傾斜面加工モードにおけるスタートアップモードをOFFするとともに仮想Y軸傾斜面モードをONする。
手順(13)では、数値制御装置1iが、加工プログラム53における「G84 Z−10. S100 F1. D5」の記述に従って、仮想Y傾斜面加工動作を行う。例えば、数値制御装置1iが、ワークWの傾斜面Waに対して工具9062iを相対的にZ軸(−)方向に移動させて穴あけ加工を行う。例えば、数値制御装置1iが、加工プログラム53中のZ軸移動指令「Z−10.」をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸、Z軸、及びH軸を連動駆動させる。
あるいは、図10に示す数値制御装置1jは、仮想Y軸傾斜面加工モード中に、工具をワークWの加工開始位置に移動させる第1の動作と、工具を複数の工具における他の工具に交換する第2の動作とを同時並行的に行ってもよい。
具体的には、数値制御装置1jは、図10に示すように、仮想Y軸傾斜面加工処理部60jが、指令軸判定部64j及び指令合成部65jをさらに有する。
指令軸判定部64jは、仮想Y軸傾斜面加工モード中においては、記憶部50iに記憶された加工プログラム53を1ブロック(1行)毎に参照し、各ブロック(各行)の指令がX−Y−Z軸の移動量指令であるのか、それともH軸の単独回転量指令であるのかを判定する。指令軸判定部64jは、加工プログラム53による指令がX−Y−Z軸の移動量指令(例えば、図11に示す「G0 X−50. Y50. Z0.」による移動量指令)である場合、加減速処理部37から入力されたX−Y−Z軸の移動量指令(すなわち、補間周期毎の位置指令)を仮想平面極座標変換手段61iへ供給し、H軸の単独回転量指令(例えば、図11に示す「T0202」)である場合、加減速処理部37から入力されたH軸の単独回転量指令を指令合成部65jへ供給する。別言すれば、指令軸判定部64jは、プログラム座標系で作成された加工プログラム53の指令を、1ブロック毎に、X−Y−Z軸の移動量指令を含む第1移動量指令(すなわち、補間周期毎の位置指令)と、H軸単独移動量指令を含む第2移動量指令とに分離し、第1移動量指令は仮想平面極座標変換手段61iへ供給し、第2移動量指令は指令合成部65jへ供給する。
指令合成部65jは、下記の数式7に示すように、H軸の単独回転指令ΔHr2(=ΔH2)を、傾斜面座標回転変換手段63iにより生成されたH軸の回転量指令ΔHr1と合成し、H軸の回転量指令ΔHrを生成する。
ΔHr=ΔHr1+ΔHr2・・・数式7
指令合成部65jは、合成したH軸の回転量指令ΔHrを軸データ出力部39へ供給する。
この場合、数値制御装置1jを用いたワークWの加工手順は、例えば図11に示すようになる。図11(a)は、数値制御装置1jを用いたワークWの加工手順に従ったタレット906i及びワークWの動作を示す図である。図11(b)は、数値制御装置1jの記憶部50iに記憶された加工プログラム53における記述内容を示す図である。図11(c)は、ワークWの加工手順を示す図である。
図11に示す実施の形態1の変形例では、手順(6)〜(8)に代えて、手順(21)〜(23)が行われる。
手順(21)では、数値制御装置1jが、加工プログラム53における「G0 Z30.」の記述に従って、工具9061iを退避させる。例えば、数値制御装置1jが、ワークWの傾斜面Waに対して工具9061iを相対的にZ軸方向に移動させて傾斜面Waから退避させる。
手順(22)では、数値制御装置1jが、加工プログラム53における「G0 X−50. Y50. Z0. T0202」の記述に従って、加工に用いられるべき工具を穴あけ加工用の工具9062iに交換させるとともに、工具9062iを加工開始位置に移動させる。
手順(23)では、数値制御装置1jが、加工プログラム53における「G1 X50. Y−50. F100」の記述に従って、仮想Y傾斜面加工動作を行う。例えば、数値制御装置1jが、ワークWの傾斜面Waに対して工具9061iを相対的にY軸(−)方向に移動させて切削加工を行う。例えば、数値制御装置1jが、加工プログラム53中のX−Y軸移動指令「X50. Y−50.」をX−Z−H座標系での指令に変換し、変換された指令に従ってX軸、Z軸、及びH軸を連動駆動させる。
このように、加工開始位置決めと工具交換とを同時に行うことによって、加工時間を短縮できる。
実施の形態2.
次に、実施の形態2にかかる数値制御装置1kについて図12〜図15を用いて説明する。図12(a)及び図12(b)は、それぞれ、実施の形態2にかかる数値制御装置1kにより制御される工作機械900kをZX平面及びXY平面に垂直な方向から見た場合の外観構成を示す図である。図13は、実施の形態2にかかる数値制御装置1kのスタートアップモード時の動作に関連した構成を示すブロック図である。図14は、実施の形態2にかかる数値制御装置1kの仮想Y軸傾斜面モード時の動作に関連した構成を示すブロック図である。図15は、実施の形態2にかかる数値制御装置の仮想Y軸傾斜面モード時の各軸の動作を示す図である。以下では、実施の形態1と異なる部分を中心に説明する。
実施の形態1では、X軸、Z軸、及びH軸を連動駆動させることで仮想的なY軸方向の移動を実現させているが、実施の形態2では、X軸、Z軸、及びC軸を連動駆動させることで仮想的なY軸方向の移動を実現させる。
工作機械900kは、図12(a)、(b)に示すように、タレット906k、及びワーク支持部907kを有する。工作機械900kは、H軸を有さず、C軸をさらに有する。C軸は、Z軸に平行な回転中心線の周りにワークWを回転させる回転軸である。タレット906kには、例えば、1つの工具9061iが取り付けられている。
工作機械900kは、図13,14に示すように、H軸サーボモータ902を有さず、C軸サーボモータ904をさらに有する。C軸サーボモータ904は、ワークWに対して、C軸の回転を行う。それに応じて、駆動部90kは、H軸サーボ制御部92を有さず、C軸サーボ制御部94をさらに有する。
また、数値制御装置1kでは、図13に示すように、スタートアップモード中において、解析処理部40kの仮想Y軸傾斜面加工スタートアップ手段42kは、スタートアップモード中であることに応じて、加工プログラム53中のX−Y−Z軸移動指令に応じた移動開始位置をX−Z−C−B座標系での指令に変換し、変換した指令に従ってX軸、Z軸、C軸、及びB軸を連動駆動させて、スタートアップ動作を行う。
例えば、仮想平面極座標変換手段42k1は、加工プログラム53中のX−Y−Z軸移動指令に応じた移動開始位置に応じて、プログラム座標系におけるC軸の極座標に算出する。C軸の極座標は、C軸の回転中心座標とC軸の回転角度とを含む。C軸の回転中心座標は、プログラム座標系におけるC軸の回転中心の座標を示すものである。C軸の回転角度は、C軸の回転中心を中心にしてC軸の基準回転位置からの回転角度を示す回転座標である。例えば、仮想平面極座標変換手段42k1は、プログラム座標系において、X−Y−Z軸指令位置をC軸の極座標へ変換する。
工具長処理手段42k2は、算出されたC軸の回転中心座標に対して、工具9061iの工具長を考慮した補正を施し、補正されたC軸の回転中心座標に応じたパラメータを傾斜面座標回転変換手段42k3へ供給する。
傾斜面座標回転変換手段42k3は、記憶部50iの共有エリア55を参照して、指令された傾斜面角度及び傾斜面回転中心を取得する。傾斜面座標回転変換手段42k3は、プログラム座標系における補正されたC軸の回転中心座標に応じたパラメータを用いて、指令された傾斜面角度及び傾斜面回転中心に従ってB軸を回転させた場合におけるX軸の移動開始位置とZ軸の移動開始位置を求める。すなわち、傾斜面座標回転変換手段42k3は、プログラム座標系における補正されたC軸の回転中心座標と、指令された傾斜面角度及び傾斜面回転中心とに応じて、実座標系としての機械座標系の移動開始位置の指令であるX軸の移動位置指令とZ軸の移動位置指令とC軸の回転位置指令とB軸の回転位置指令とを求め、X軸、Z軸、C軸、B軸の各移動開始位置(Xr,Zr,Cr,Br)を求める。解析処理部40kは、補間処理部70及び加減速処理部37を介して、移動開始位置(Xr,Zr,Cr,Br)の指令を駆動部90kへ供給する。これにより、駆動部90kは、移動開始位置(Xr,Zr,Cr,Br)の指令に従って、X軸、Z軸、C軸、及びB軸を連動駆動させる。
また、数値制御装置1kでは、図14に示すように、仮想Y軸傾斜面モード中において、解析処理部40kの仮想Y軸傾斜面指令位置作成手段43kが、例えば、加工プログラム53における現在の処理対象のブロックの始点と終点との位置を算出し、加工プログラム53中のX−Y−Z軸移動指令を求める。補間処理部70は、加工プログラム53中のX−Y−Z軸移動指令に応じて、補間周期毎に、プログラム座標系におけるX−Y−Z軸位置を補間する。
例えば、仮想Y軸傾斜面指令位置作成手段43kは、加工プログラム53における現在の処理対象のブロックの始点と終点との位置を算出し、加工プログラム53中のX−Y−Z軸移動指令を求める。補間処理部70は、加工プログラム53中のX−Y−Z軸移動指令に応じて、補間周期毎に、プログラム座標系におけるX−Y−Z軸位置を補間する。
例えば、仮想Y軸傾斜面指令位置作成手段43kによりブロックの始点P1’と終点P3’とが算出された場合、すなわち、加工プログラム53中のX−Y−Z軸移動指令が図15(c)〜(e)に示すようなP1’→P3’の移動指令である場合を考える。この場合、補間処理部70は、補間周期毎に補間処理を行い、プログラム座標系におけるX−Y−Z軸の指令位置P1’,P11’,P12’,P2’,P21’,P22’,P3’を求める。この指令位置P1’〜P3 ’は、図15(a)、(b)に示すように、仮想軸であるY軸に沿ったものである。
なお、図15(a)は、ZX平面に垂直な方向から見た場合における指令位置P1’,P2’,P3’に従った工作機械900kの動作を示す。図15(b)は、XY平面に垂直な方向から見た場合における指令位置P1’,P2’,P3’に従った工作機械900kの動作を示す。図15(c)は、YZ平面におけるプログラム座標系で指令された経路と機械座標系における工作機械の移動経路とをそれぞれ示す。図15(c)において、縦軸はY軸の座標を示し、横軸はZ軸の座標を示す。図15(d)は、XY平面におけるプログラム座標系で指令された経路と機械座標系における工作機械の移動経路とをそれぞれ示す。図15(d)において、縦軸はX軸の座標を示し、横軸はY軸の座標を示す。図15(e)は、CY平面におけるプログラム座標系で指令された経路と機械座標系における工作機械の移動経路とをそれぞれ示す。図15(e)において、縦軸はC軸の回転座標(c)を示し、横軸はY軸の座標を示す。
そして、仮想Y軸傾斜面加工処理部60kの仮想平面極座標変換手段61kは、プログラム座標系における補間されたX−Y−Z軸位置に応じて、プログラム座標系におけるC軸の極座標を算出する。C軸の極座標は、C軸の回転中心座標とC軸の回転角度とを含む。C軸の回転中心座標は、プログラム座標系におけるC軸の回転中心の座標を示すものである。C軸の回転角度は、C軸の回転中心を中心にしたC軸の基準回転位置からの回転角度を示す回転座標である。例えば、仮想平面極座標変換手段61kは、プログラム座標系において、補間されたX−Y−Z軸位置をC軸の極座標へ変換する。
工具長処理手段62kは、算出されたC軸の回転中心座標に対して、工具9061iの工具長を考慮した補正を施す。例えば、工具長処理手段62kは、工具先端→B軸回転中心ベクトル算出手段62k1を有する。工具長処理手段62kは、工具先端→B軸回転中心ベクトル算出手段62k1を用いてC軸の回転中心座標に工具長補正を施し、補正されたC軸の回転中心座標に応じたパラメータを傾斜面座標回転変換手段63kへ供給する。
傾斜面座標回転変換手段63kは、記憶部50iの共有エリア55を参照して、指令された傾斜面角度及び傾斜面回転中心を取得する。傾斜面座標回転変換手段63kは、プログラム座標系における補正されたC軸の回転中心座標に応じたパラメータを用いて、指令された傾斜面角度及び傾斜面回転中心に従ってB軸を回転させた場合におけるX軸の移動位置指令とZ軸の移動位置指令を求める。すなわち、傾斜面座標回転変換手段63kは、プログラム座標系における補正されたC軸の回転中心座標と、指令された傾斜面角度及び傾斜面回転中心とに応じて、実座標系としての機械座標系の移動位置指令であるX軸の移動位置指令とZ軸の移動位置指令とC軸の回転位置指令とを求め、X軸、Z軸、C軸の各移動位置(Xr,Zr,Cr)を求める。例えば、傾斜面座標回転変換手段63kは、仮想座標指令位置座標回転変換手段63k1、工具先端→B軸回転中心座標回転変換手段63k2、及び合成手段63k3を有し、仮想座標指令位置座標回転変換手段63k1、工具先端→B軸回転中心座標回転変換手段63k2、及び合成手段63k3を用いて、X軸、Z軸、C軸の各移動位置(Xr,Zr,Cr)を求める。すなわち、解析処理部40kで解析され補間処理部70で補間され加減速処理部37で加減速処理が施されたプログラム座標系上の指令位置に対して、仮想Y軸傾斜面加工処理部60kで機械座標系上の指令位置への変換が行われ、機械座標系上の指令位置が駆動部90kへ供給される。これにより、駆動部90kは、機械座標系上の指令位置に従って、X軸、Z軸、及びC軸を連動駆動させる。
例えば、加工プログラム53中のX−Y−Z軸移動指令が図15(c)〜(e)に示すようなP1’→P3’の移動指令である場合を考える。この場合、傾斜面座標回転変換手段63kは、機械座標系におけるX−Z−C軸の指令位置P1r’,P11r’,P12r’,P2r’,P21r’,P22r’,P3r’を求める。機械座標系におけるX−Z−C軸の指令位置P1r’,P11r’,P12r’,P2r’,P21r’,P22r’,P3r’は、プログラム座標系におけるX−Y−Z軸の指令位置P1’,P11’,P12’,P2’,P21’,P22’,P3’にそれぞれ対応したものである。この指令位置P1r’〜P3r ’は、図15(a)、(b)に示すように、駆動部90kによる、X軸、Z軸、及びC軸の連動駆動により実現される。
以上のように、実施の形態2では、数値制御装置1kにおいて、仮想Y軸傾斜面加工処理部60kが、仮想Y軸傾斜面加工モード中に、X軸及びZ軸から傾斜した傾斜面Waに対して中心軸が垂直になるように工具9061iを傾けた状態で傾斜面Waに対して工具9061iを相対的にY軸に沿って移動させる仮想Y傾斜面加工を行う。例えば、仮想Y軸傾斜面加工処理部60kは、加工プログラム中のX−Y−Z軸移動指令をX−Z−C座標系での指令に変換し、変換された指令に従ってX軸、Z軸、及びC軸を連動駆動させるための仮想Y傾斜面補間を行う。これにより、Y軸を有さない工作機械900kによりX軸及びZ軸から傾斜した傾斜面Waに対してY軸に沿った加工を行うことができる。
また、実施の形態2では、数値制御装置1kにおいて、仮想Y軸傾斜面指令位置作成手段43kが、加工プログラム53中のX−Y−Z軸移動指令の始点と終点とを求め、補間処理部70が、加工プログラム53中のX−Y−Z軸移動指令に基づいて、プログラム座標系におけるX−Y−Z軸位置を補間する。仮想平面極座標変換手段61kが、プログラム座標系における補間されたX−Y−Z軸位置に応じて、プログラム座標系におけるC軸の回転中心座標とC軸の回転角度とを含む極座標を算出する。傾斜面座標回転変換手段63kが、プログラム座標系における算出された極座標に応じて、機械座標系におけるX−Z−C軸位置を補間する。これにより、加工プログラム53中のX−Y−Z軸移動指令を機械座標系でのX−Z−C軸移動指令に変換できる。
また、実施の形態2では、数値制御装置1kにおいて、仮想Y軸傾斜面加工スタートアップ手段42kが、加工プログラム53中のX−Y−Z軸移動指令に応じた移動開始位置をX−Z−C−B座標系での指令に変換し、変換した指令に従ってX軸、Z軸、C軸、及びB軸を連動駆動させて、傾斜面Waに対して中心軸が垂直になるように工具9061iを傾けた状態にするとともに工具9061iをワークWの加工開始位置に移動させるスタートアップ動作を行う。これにより、Y軸を有さない工作機械900iによりX軸及びZ軸から傾斜した傾斜面Waに対してY軸に沿った加工が可能な状態にすることができる。
なお、工作機械900pは、H軸及びC軸の両方を有していてもよい。このとき、工作機械900pは、図16に示すように、H軸サーボモータ902及びC軸サーボモータ904の両方を有する。それに応じて、駆動部90pは、H軸サーボ制御部92及びC軸サーボ制御部94の両方を有する。なお、タレット906kは、実施の形態1と同様であってもよい。
このとき、数値制御装置1pは、仮想Y軸傾斜面加工モード中に、工具をワークWの加工開始位置に移動させる第1の動作と、工具を複数の工具における他の工具に交換する第2の動作、及びワークの位置決めを行う第3の動作の少なくとも一方の動作とを同時並行的に行ってもよい。
具体的には、数値制御装置1pは、図16に示すように、仮想Y軸傾斜面加工処理部60pが、仮想平面極座標変換手段61p、工具長処理手段62p、傾斜面座標回転変換手段63p、指令軸判定部64p及び指令合成部65pをさらに有する。
仮想平面極座標変換手段61pは、例えば、仮想平面極座標変換手段61i(図3参照)の機能と仮想平面極座標変換手段61k(図14参照)の機能とを併せ持つ。
工具長処理手段62pは、例えば、工具長処理手段62i(図3参照)の機能と工具長処理手段62k(図14参照)の機能とを併せ持つ。工具長処理手段62pは、工具先端→B軸回転中心ベクトル算出手段62p1を有する。工具先端→B軸回転中心ベクトル算出手段62p1は、例えば、工具先端→B軸回転中心ベクトル算出手段62i1(図3参照)の機能と工具先端→B軸回転中心ベクトル算出手段62k1(図14参照)の機能とを併せ持つ。
傾斜面座標回転変換手段63pは、例えば、傾斜面座標回転変換手段63i(図3参照)の機能と傾斜面座標回転変換手段63k(図14参照)の機能とを併せ持つ。傾斜面座標回転変換手段63pは、仮想座標指令位置座標回転変換手段63p1、工具先端→B軸回転中心座標回転変換手段63p2、及び合成手段63p3を有する。仮想座標指令位置座標回転変換手段63p1は、例えば、仮想座標指令位置座標回転変換手段63i1(図3参照)の機能と仮想座標指令位置座標回転変換手段63k1(図14参照)の機能とを併せ持つ。工具先端→B軸回転中心座標回転変換手段63p2は、例えば、工具先端→B軸回転中心座標回転変換手段63i2(図3参照)の機能と工具先端→B軸回転中心座標回転変換手段63k2(図14参照)の機能とを併せ持つ。合成手段63p3は、例えば、合成手段63i3(図3参照)の機能と工具先端→合成手段63k3(図14参照)の機能とを併せ持つ。
指令軸判定部64pは、仮想Y軸傾斜面加工モード中においては、記憶部50iに記憶された加工プログラム53を1ブロック(1行)毎に参照し、各ブロック(各行)の指令(例えば、「G0 X−50. Y50. Z0. T0202 C180」)がX−Y−Z軸の移動量指令であるのか、それともH軸又はC軸の単独回転量指令であるのかを判定する。指令軸判定部64pは、加工プログラム53による指令がX−Y−Z軸の移動量指令(例えば、「G0 X−50. Y50. Z0.」による移動量指令)である場合、加減速処理部37から入力されたX−Y−Z軸の移動量指令(すなわち、補間周期毎の位置指令)を仮想平面極座標変換手段61pへ供給し、H軸又はC軸の単独回転量指令(例えば、「T0202」や「C180」)である場合、加減速処理部37から入力されたH軸又はC軸の単独回転量指令を指令合成部65pへ供給する。別言すれば、指令軸判定部64pは、プログラム座標系で作成された加工プログラム53の指令を、1ブロック毎に、X−Y−Z軸の移動量指令を含む第1移動量指令(すなわち、補間周期毎の位置指令)と、H軸単独移動量指令及び/又はC軸単独移動量指令を含む第2移動量指令とに分離し、第1移動量指令は仮想平面極座標変換手段61pへ供給し、第2移動量指令は指令合成部65pへ供給する。
指令合成部65pは、下記の数式8に示すように、H軸の単独回転指令ΔHr2’(=ΔH2)を、傾斜面座標回転変換手段63pにより生成されたH軸の回転量指令ΔHr1’と合成し、H軸の回転量指令ΔHrを生成する。
ΔHr=ΔHr1’+ΔHr2’・・・数式8
同様に、指令合成部65pは、下記の数式9に示すように、C軸の単独回転量指令ΔCr2(=ΔC2)を、傾斜面座標回転変換手段63pにより生成されたC軸の回転量指令ΔCr1と合成し、C軸の回転量指令ΔCrを生成する。
ΔCr=ΔCr1+ΔCr2・・・数式9
指令合成部65pは、合成したH軸の回転量指令ΔHr及びC軸の回転量指令ΔCrを軸データ出力部39へ供給する。
この場合、例えば、数値制御装置1pは、仮想Y軸傾斜面加工モード中に、加工プログラム53における「G0 X−50. Y50. Z0. T0202 C180」の記述に従って、加工に用いられるべき工具を穴あけ加工用の工具9062iに交換させるとともに、工具9062iを加工開始位置に移動させながら、ワークWを180°反転させることができる。
このように、加工開始位置決めと工具交換とワークの位置決めとを同時に行うことによって、加工時間をさらに短縮できる。
あるいは、仮想Y軸傾斜面加工モード中、B軸に対して指令してもよい。例えば、加工プログラムが下記のように変更されてもよい。
G0 Z30. C0
T1010
M37 B45. X0. Z0.
G0 X50. Y50. Z0.
G1 X50. Y−50. F100
G1 X−25. Y−50. F75
M37 B55. X0. Z0.
G0 X−25. Y−50. Z0.
G1 X−50. Y−50. F25
G1 X−50. Y50. F100
G1 X−25. Y50. F25
M37 B45. X0. Z0.
G1 X50. Y50. F75
G0 Z30.
M38
この場合、例えば、図4に示すフローチャートでスタートアップ動作(ステップS3)及び仮想Y傾斜面加工動作(ステップS4)の処理を1つのルーチンとして、この1つのルーチンを複数回(上記の場合、3回)繰り返してから、仮想Y軸傾斜面加工モードのキャンセル(ステップS5)の処理を行うことになる。このとき、上記のように、各回のスタートアップ動作(ステップS3)において、B軸の回転角度として異なる角度を指令できる。
このように、B軸に対して繰り返し指令することで工具先端位置を中心にタレットが加工面の傾斜角が違う傾斜面に対して連続的に加工することができる。