(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】数値制御装置と制御方法
(51)【国際特許分類】
G05B 19/4093 20060101AFI20230816BHJP
【FI】
G05B19/4093 A
(21)【出願番号】P 2019179350
(22)【出願日】2019-09-30
【審査請求日】2021-12-21
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】金田 基希
【審査官】増山 慎也
(56)【参考文献】
【文献】特開2009-075727(JP,A)
【文献】特開2009-080621(JP,A)
【文献】特開2005-319531(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-46
B23Q 15/00ー28
(57)【特許請求の範囲】
【請求項1】
加工プログラムに基づいて移動する工作機械の主軸の軌跡に対して前記主軸が延びる延伸方向の一方側にオフセット量だけ離間した位置で前記主軸を移動するドライランを実行する数値制御装置において、
前記加工プログラムは、
中心点の位置情報を有し、且つ前記中心点を中心とす
る弧状の軌道である円弧軌道に沿って前記主軸を移動させる為の円弧指令を少なくとも含み、
前記円弧軌道のうち前記延伸方向の一方側の端部が、前記円弧軌道の始点に対応し、
前記円弧軌道のうち前記延伸方向の他方側の端部が、前記円弧軌道の終点に対応し、
前記オフセット量を受け付ける受付部と、
前記受付部が受け付けた前記オフセット量だけ前記始点から前記延伸方向の一方側に離間したオフセット始点が、前記主軸の前記延伸方向の一方側へ移動可能な限界の位置である限界位置を超える場合、前記始点の前記延伸方向の位置を、前記限界位置に設定するクランプ制御部と、
前記クランプ制御部により前記延伸方向の位置を前記限界位置に設定した前記始点であるクランプ始点から前記オフセット量だけ前記延伸方向の一方側に離間したオフセット終点迄を通り、前記位置情報が示す前記中心点を、前記オフセット量だけ前記延伸方向の一方側に移動したオフセット中心点を中心とす
る弧状の軌道である第一軌道が、前記延伸方向において前記限界位置を超えて移動するか否か判断する判断部と、
前記判断部が前記限界位置を超えると判断した場合、前記クランプ始点と、前記第一軌道の前記オフセット終点との間において、前記限界位置を超えない第二軌道を決定し、前記第二軌道を前記主軸が移動する移動指示を生成する移動指示生成部と、
前記移動指示生成部が生成した前記移動指示に基づき、前記主軸を移動する実行部と
を備え
、
前記クランプ制御部は、
前記オフセット終点の前記延伸方向の位置が前記限界位置を超える場合に、前記オフセット終点の前記延伸方向の位置を、前記限界位置に設定する
ことを特徴とする数値制御装置。
【請求項2】
前記移動指示生成部は、
前記クランプ始点から前記オフセット終点迄の間を直線的に結んだ直線状の軌道を、前記第二軌道として決定する
ことを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記移動指示生成部は、
前記限界位置を超えない範囲であって、前記第一軌道より
も弧の半径が小さ
い弧状の軌道を、前記第二軌道として決定する
ことを特徴とする請求項1に記載の数値制御装置。
【請求項4】
前記第一軌道は、前記クランプ始点から所定点迄の間、前記限界位置を超えず、前記所定点から前記オフセット終点迄の間、前記限界位置を超え、
前記移動指示生成部は、
前記クランプ始点から前記所定点迄の間を前記第一軌道に沿って移動し、且つ、前記所定点から前記オフセット終点迄の間を直線状に移動する軌道を、前記第二軌道として決定する
ことを特徴とする請求項1に記載の数値制御装置。
【請求項5】
前記移動指示生成部が生成した前記移動指示に基づき、前記主軸が前記第二軌道に沿って前記クランプ始点から前記オフセット終点迄移動するのに要する時間を、前記主軸が前記円弧軌道に沿って前記始点から前記終点迄移動するのに要する時間と一致するように調整する調整部
を備えたことを特徴とする請求項1~4の何れかに記載の数値制御装置。
【請求項6】
加工プログラムに基づいて移動する工作機械の主軸の軌跡に対して前記主軸が延びる延伸方向の一方側にオフセット量だけ離間した位置で前記主軸を移動するドライランを実行する数値制御装置の制御方法において、
前記加工プログラムは、
中心点の位置情報を有し、且つ前記中心点を中心とす
る弧状の軌道である円弧軌道に沿って前記主軸を移動させる為の円弧指令を少なくとも含み、
前記円弧軌道のうち前記延伸方向の一方側の端部が、前記円弧軌道の始点に対応し、
前記円弧軌道のうち前記延伸方向の他方側の端部が、前記円弧軌道の終点に対応し、
前記オフセット量を受け付ける受付ステップと、
前記受付ステップが受け付けた前記オフセット量だけ前記始点から前記延伸方向の一方側に離間したオフセット始点が、前記主軸の前記延伸方向の一方側へ移動可能な限界の位置である限界位置を超える場合、前記始点の前記延伸方向の位置を、前記限界位置に設定するクランプ制御ステップと、
前記クランプ制御ステップにより前記延伸方向の位置を前記限界位置に設定した前記始点であるクランプ始点から前記オフセット量だけ前記延伸方向の一方側に離間したオフセット終点迄を通り、前記位置情報が示す前記中心点を、前記オフセット量だけ前記延伸方向の一方側に移動したオフセット中心点を中心とす
る弧状の軌道である第一軌道が、前記延伸方向において前記限界位置を超えて移動するか否か判断する判断ステップと、
前記判断ステップが前記限界位置を超えると判断した場合、前記クランプ始点と、前記第一軌道の前記オフセット終点との間において、前記限界位置を超えない第二軌道を決定し、前記第二軌道を前記主軸が移動する移動指示を生成する移動指示生成ステップと、
前記移動指示生成ステップが生成した前記移動指示に基づき、前記主軸を移動する実行ステップと
を備え
、
前記クランプ制御ステップは、
前記オフセット終点の前記延伸方向の位置が前記限界位置を超える場合に、前記オフセット終点の前記延伸方向の位置を、前記限界位置に設定する
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置と制御方法に関する。
【背景技術】
【0002】
特許文献1は、ドライランを実行する工作機械を開示する。工作機械は、ユーザの操作により、Z軸方向への移動量をオフセット量として受け付ける。工作機械は、ユーザが入力したオフセット量を記憶する。工作機械は、主軸をZ軸方向にオフセット量の分だけ移動する。主軸は、工具と被削物との距離を、加工プログラムの指定する距離よりもオフセット量だけ離間した状態で、加工プログラムに基づいて工具を動作する。これにより、工作機械は、加工プログラムに基づいて、オフセット量の分だけZ軸方向に移動した状態で、主軸を移動開始位置である始点から移動停止位置である終点迄移動する。
【0003】
加工プログラムで定義した始点、終点、及び、始点からの相対位置で定義した中心点に基づき、主軸を移動する時がある。該時、主軸は、始点と終点とを通り且つ中心点を中心とした円弧軌道に沿って移動する。ユーザは、ドライランを実行することで、被削材から離間した位置で、加工プログラムにおける主軸の動作を確認できる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記工作機械では、所定量を超えたオフセット量が入力されると、主軸は、上方に移動可能な範囲の上限の位置(限界位置と称す)でクランプした状態となる。該時、限界位置でクランプした主軸の実際の始点と、オフセット量に基づき移動した中心点とオフセット量に基づき移動した終点との位置関係は変化する。これにより、主軸の移動軌跡は、加工プログラムの想定する円弧軌道と異なる。この場合、主軸は、移動可能なストローク範囲を超えて移動する可能性がある。
【0006】
本発明の目的は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止できる数値制御装置と制御方法を提供することである。
【課題を解決するための手段】
【0007】
請求項1の数値制御装置は、加工プログラムに基づいて移動する工作機械の主軸の軌跡に対して前記主軸が延びる延伸方向の一方側にオフセット量だけ離間した位置で前記主軸を移動するドライランを実行する数値制御装置において、前記加工プログラムは、中心点の位置情報を有し、且つ前記中心点を中心とする円弧状の軌道である円弧軌道に沿って前記主軸を移動させる為の円弧指令を少なくとも含み、前記円弧軌道のうち前記延伸方向の一方側の端部が、前記円弧軌道の始点に対応し、前記円弧軌道のうち前記延伸方向の他方側の端部が、前記円弧軌道の終点に対応し、前記オフセット量を受け付ける受付部と、前記受付部が受け付けた前記オフセット量だけ前記始点から前記延伸方向の一方側に離間したオフセット始点が、前記主軸の前記延伸方向の一方側へ移動可能な限界の位置である限界位置を超える場合、前記始点の前記延伸方向の位置を、前記限界位置に設定するクランプ制御部と、前記クランプ制御部により前記延伸方向の位置を前記限界位置に設定した前記始点であるクランプ始点から前記オフセット量だけ前記延伸方向の一方側に離間したオフセット終点迄を通り、前記位置情報が示す前記中心点を、前記オフセット量だけ前記延伸方向の一方側に移動したオフセット中心点を中心とする円弧状の軌道である第一軌道が、前記延伸方向において前記限界位置を超えて移動するか否か判断する判断部と、前記判断部が前記限界位置を超えると判断した場合、前記オフセット始点と、前記第一軌道の前記オフセット終点との間において、前記限界位置を超えない第二軌道を決定し、前記第二軌道を前記主軸が移動する移動指示を生成する移動指示生成部と、前記移動指示生成部が生成した前記移動指示に基づき、前記主軸を移動する実行部とを備えたことを特徴とする。
【0008】
数値制御装置は、ドライランの実行時において、延伸方向の位置を限界位置に設定した始点であるクランプ始点を通り、オフセット中心点を中心とする第一軌道が、延伸方向において限界位置を超えて移動するか否か判断する。数値制御装置は、限界位置を超えると判断した場合、オフセット始点と、第一軌道のオフセット終点との間において、限界位置を超えない第二軌道を決定し、第二軌道を主軸が移動する移動指示を生成する。故に、数値制御装置は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止できる。
【0009】
請求項2の数値制御装置の前記第一記憶部は、前記移動指示生成部は、前記クランプ始点から前記オフセット終点迄の間を直線的に結んだ直線状の軌道を、前記第二軌道として決定してもよい。従って、数値制御装置は、主軸がストローク範囲を超えて移動することなくクランプ始点から終点迄の間を最短距離で移動できる。故に、数値制御装置は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止できる。
【0010】
請求項3の数値制御装置の前記決定部は、前記移動指示生成部は、前記限界位置を超えない範囲であって、前記第一軌道よりも円弧半径が小さい円弧状の軌道を、前記第二軌道として決定してもよい。従って、数値制御装置は、限界位置を超えることなく第二軌道のクランプ始点からオフセット終点迄の間を、主軸が移動できる。故に、数値制御装置は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止できる。
【0011】
請求項4の数値制御装置の前記第一軌道は、前記クランプ始点から所定点迄の間、前記限界位置を超えず、前記所定点から前記オフセット終点迄の間、前記限界位置を超え、前記移動指示生成部は、前記クランプ始点から前記所定点迄の間を前記第一軌道に沿って移動し、且つ、前記所定点から前記オフセット終点迄の間を直線状に移動する軌道を、前記第二軌道として決定してもよい。故に、数値制御装置は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止できる。
【0012】
請求項5の数値制御装置は、前記移動指示生成部が生成した前記移動指示に基づき、前記主軸が前記第二軌道に沿って前記クランプ始点から前記オフセット終点迄移動するのに要する時間を、前記主軸が前記円弧軌道に沿って前記始点から前記終点迄移動するのに要する時間と一致するように調整する調整部を備えてもよい。故に、数値制御装置は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止しつつ、且つ加工に必要な時間を正確に取得できる。
【0013】
請求項6の制御方法は、加工プログラムに基づいて移動する工作機械の主軸の軌跡に対して前記主軸が延びる延伸方向の一方側にオフセット量だけ離間した位置で前記主軸を移動するドライランを実行する数値制御装置の制御方法において、前記加工プログラムは、中心点の位置情報を有し、且つ前記中心点を中心とする円弧状の軌道である円弧軌道に沿って前記主軸を移動させる為の円弧指令を少なくとも含み、前記円弧軌道のうち前記延伸方向の一方側の端部が、前記円弧軌道の始点に対応し、前記円弧軌道のうち前記延伸方向の他方側の端部が、前記円弧軌道の終点に対応し、前記オフセット量を受け付ける受付ステップと、前記受付ステップが受け付けた前記オフセット量だけ前記始点から前記延伸方向の一方側に離間したオフセット始点が、前記主軸の前記延伸方向の一方側へ移動可能な限界の位置である限界位置を超える場合、前記始点の前記延伸方向の位置を、前記限界位置に設定するクランプ制御ステップと、前記クランプ制御ステップにより前記延伸方向の位置を前記限界位置に設定した前記始点であるクランプ始点から前記オフセット量だけ前記延伸方向の一方側に離間したオフセット終点迄を通り、前記位置情報が示す前記中心点を、前記オフセット量だけ前記延伸方向の一方側に移動したオフセット中心点を中心とする円弧状の軌道である第一軌道が、前記延伸方向において前記限界位置を超えて移動するか否か判断する判断ステップと、前記判断ステップが前記限界位置を超えると判断した場合、前記オフセット始点と、前記第一軌道の前記オフセット終点との間において、前記限界位置を超えない第二軌道を決定し、前記第二軌道を前記主軸が移動する移動指示を生成する移動指示生成ステップと、前記移動指示生成ステップが生成した前記移動指示に基づき、前記主軸を移動する実行ステップとを備えたことを特徴とする。数値制御装置は上記ステップを実行することにより、請求項1に記載の数値制御装置と同じ効果を得ることができる。
【図面の簡単な説明】
【0014】
【
図3】加工プログラム実行時における主軸の移動経路を示す図。
【
図4】X-Z平面における主軸の直線軌道B1を示す図。
【
図5】X-Z平面における主軸の円弧軌道B2を示す図。
【
図6】X-Z平面における円弧-直線軌道B3を示す図。
【発明を実施するための形態】
【0015】
<工作機械1の概要>
図1、
図2を参照し、本発明に係る工作機械1について説明する。
図1の上側、下側、左側、右側、手前側、奥側を、夫々、工作機械1の上側、下側、左側、右側、前側、後側と定義する。工作機械1の左右方向、前後方向、上下方向は、夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。
【0016】
工作機械1は、主軸(図示略)がZ軸方向に延びる縦型工作機械である。工作機械1は、基台部2、機械本体3、カバー5を備える。基台部2は鉄製土台である。機械本体3は基台部2上部に設ける。機械本体3は、工作台(図示略)上面に固定する被削材(図示略)の切削加工等を行う。工作台は基台部2上面に設置する。カバー5は基台部2上部に固定し、機械本体3の周囲を取り囲む。
【0017】
工作機械1は図示しない主軸機構、主軸移動機構、工具交換装置等を備える。主軸機構は主軸モータ54を備え、工具を装着した主軸を回転する。主軸移動機構は、Z軸モータ53、X軸モータ51、Y軸モータ52を備え、テーブル上面に支持したワークに対し相対的に主軸をXYZの各軸方向に夫々移動する。工具交換装置は、マガジンモータ55により主軸の工具交換を行う。工作機械1の動作は、数値制御装置29(
図2参照)で制御する。
【0018】
工作機械1は、更に操作盤13を備える。操作盤13はカバー5の前面5B右部に設ける。操作盤13は、表示部15と操作部24を備える。表示部15は、加工プログラムの選択、加工プログラムの加工条件の設定等を行う為の各種設定画面を表示する。操作部24は各種動作の設定等を工作機械1に入力する為に、作業者が使用する。作業者は表示部15を確認しながら操作部24を操作することで、工作機械1の各種動作、被削材の加工条件等を設定する。
【0019】
図2を参照し、工作機械1の電気的構成を説明する。
図2に示す如く、工作機械1は数値制御装置29、表示部15、操作部24、駆動回路201~205、X軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55等を備える。数値制御装置29はCPU31、ROM32、RAM33、記憶装置39、インタフェイス34、35を備える。CPU31は工作機械1の制御を司る。ROM32は後述の主処理を行うプログラムを記憶する。RAM33は被削材の加工を行う加工プログラム、種々のデータ等を一時的に記憶する。記憶装置39は、加工プログラム等を記憶する。
【0020】
表示部15、操作部24はインタフェイス34を介してCPU31に接続する。CPU31はインタフェイス35を介して駆動回路201~205に接続する。駆動回路201~205は制御対象であるX軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55に接続する。X軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55はエンコーダ51a~55aを備える。
【0021】
エンコーダ51a~55aはX軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55の駆動軸の回転位置等を検出し、検出結果を駆動回路201~205に出力する。CPU31は駆動回路201~203によるエンコーダ51a~53aの回転位置等の検出結果に基づきX軸モータ51、Y軸モータ52、Z軸モータ53のX、Y、Z軸の座標値を検出可能である。X、Y、Z軸の座標値は、主軸の位置情報である。CPU31は駆動回路204によるエンコーダ54aの回転位置等の検出結果に基づき主軸モータ54の回転位置を検出可能である。
【0022】
<円弧軌道A1>
図3(a)を参照して、加工プログラムで定義する円弧指令について説明する。加工プログラムは、主軸を円弧の軌道で移動させる為の円弧指令を含む場合がある。加工プログラム中で一行の命令に円弧指令が定義されている場合、主軸は円弧軌道A1上を移動する。例えば、円弧指令は『G02X27.992Z-15.98R3.3F1』等で定義する。円弧指令は、始点D1、終点E1、中心点C1、円弧半径R1等の位置情報、及び移動速度等を有する。上記円弧指令は現在の位置を始点、X座標が27.992、Z座標が-15.98を終点、半径が3.3の円弧であり、速度が1であることを示す。尚、始点D1の位置情報は、加工プログラム中の一行前の移動指示における終点の位置情報と対応する。
【0023】
円弧軌道A1のうちZ軸方向の正側の端部が、円弧軌道A1の始点D1に対応する。円弧軌道A1のうちZ軸方向の下方側の端部が、円弧軌道A1の終点E1に対応する。中心点C1が円弧の中心位置に対応する。円弧指令に基づき、主軸は、始点D1から終点E1までの間を、中心点C1を中心として円弧状の軌道である円弧軌道A1に沿って移動する(
図3(a)参照)。
【0024】
<ドライラン>
図3(b)を参照して、ドライランを実行した場合について説明する。ドライランとは、加工プログラムに基づいて移動する主軸の軌跡に対して、Z軸方向の上方側にオフセット量だけ離間した位置で主軸を移動することをいう。
【0025】
図3(b)に示す如く、オフセット始点D2は、始点D1のZ軸座標に対してオフセット量を加えた位置にある。オフセット量は、例えば70cmに設定する。オフセット終点E2は、終点E1(
図3(a)参照)のZ軸座標に対してオフセット量を加えた位置にある。オフセット中心点C2は、中心点C1(
図3(a)参照)のZ軸座標に対してオフセット量を加えた位置にある。主軸のオフセット始点D2、オフセット終点E2、オフセット中心点C2との相対的な位置関係は、ドライラン実行時でない場合と同じである。従って、ドライラン実行時、主軸は、円弧軌道A1に対して、オフセット量の分だけ上方側で円弧軌道A2を移動する。尚、円弧軌道A2の軌道の形状は、円弧軌道A1の軌道の形状と同じである。即ち、円弧軌道A2の円弧半径R2は、円弧軌道A1の円弧半径R1と等しい。
【0026】
<異常な円弧軌道>
図4を参照して、Z軸座標にオフセット量を加えた場合の始点が限界位置R455を超える場合について説明する。尚、Z軸方向における主軸が移動可能な限界の位置は、例えば限界位置R455とする。主軸の移動可能な範囲をストローク範囲ともいう。例えば、ユーザは、受け付けたオフセット量が70cmを超えて入力する。該時、始点D1(
図3(a)参照)からZ軸方向の正側に離間した位置が、移動可能な限界の位置である限界位置R455を超える。該時、ドライラン実行時の始点は限界位置R455に設定する。以下、主軸のZ軸方向の位置を限界位置R455に設定した始点を、クランプ始点L3という。尚、オフセット終点E3のZ軸方向における位置は、限界位置R455を超える場合には、Z軸座標を455に設定する。オフセット中心点C3のZ軸座標は、中心点C1のZ軸座標に対してオフセット量を加えた位置に設定する。
【0027】
図4に示す如く、クランプ始点L3とオフセット中心点C3とオフセット終点E3のZ-X平面における相対位置と、オフセット量を適用する前の始点D1と中心点C1と、終点E1の相対位置関係(
図3(a)参照)は異なる。故に、主軸は、オフセット量を適用した加工プログラムで定義した円弧軌道A2とは異なる軌道を移動する。例えば、主軸は第一軌道である円弧軌道Or1に沿って移動する(
図4参照)。
【0028】
図4に示す如く、円弧軌道Or1は、円弧指令が示す中心点C1のZ軸座標を、オフセット量だけ正側に移動したオフセット中心点C3を中心とする円弧状の軌道である。円弧軌道Or1は、クランプ始点L3から所定点P迄の間、Z軸方向において限界位置R455を超えない。一方、円弧軌道Or1は、所定点Pからオフセット終点E3迄の間、Z軸方向において限界位置R455を超える。円弧軌道Or1の軌道は、クランプ始点L3、オフセット中心点C3、オフセット終点E3の座標値から数値制御装置29上で特定可能である。ドライラン実行時に、数値制御装置29は、主軸のZ軸方向の位置が限界位置R455を超えて移動しようとすると、ドライランを強制停止する。
【0029】
数値制御装置29は、特定した円弧軌道Or1が、Z軸方向において限界位置R455を超えて移動するかを判断する。主軸は、円弧軌道Or1のようにZ軸方向において限界位置R455を超える場合がある。該時、数値制御装置29は、クランプ始点L3と、オフセット終点E3との間において、第二軌道である直線軌道B1、円弧軌道B2、円弧-直線軌道B3の何れかを決定する。
【0030】
<第二軌道>
第二軌道である直線軌道B1、円弧軌道B2、円弧‐直線軌道B3について説明する。直線軌道B1、円弧軌道B2、円弧-直線軌道B3のうち何れの軌道で主軸を移動するかは、ユーザの操作部24の操作により条件設定する。
【0031】
<直線軌道>
図4に示す如く、直線軌道B1は、クランプ始点L3からオフセット終点E3迄の間を直線的に結んだ直線状の軌道である。主軸は、クランプ始点L3からオフセット終点E3迄の間、直線軌道B1上を移動する。
図4においては、主軸はZ軸方向において限界位置R455上を移動する。直線軌道B1は、限界位置R455を超えない範囲の軌道である。
【0032】
<円弧軌道>
図5に示す如く、円弧軌道B2は、中心点C4を中心として、クランプ始点L3からオフセット終点E3までを円弧で繋ぐ軌道である。円弧軌道B2の円弧半径R4は、円弧軌道Or1の円弧半径R3よりも小さい。円弧軌道B2は、限界位置R455を超えない範囲の軌道である。数値制御装置29は、クランプ始点L3とオフセット終点E3に対して、適切な中心点C4を適用する。これにより、数値制御装置29は、限界位置R455を超えない円弧軌道B2を特定する。
【0033】
<円弧-直線軌道>
図6に示す如く、円弧-直線軌道B3は、クランプ始点L3から所定点P迄の間、円弧軌道Or1と同一の軌道である。円弧-直線軌道B3は、所定点Pからオフセット終点E3迄の間を直線的に結んだ直線状の軌道を含む。即ち、主軸は、クランプ始点L3から所定点迄の間を円弧軌道Or1に沿って移動し、且つ、所定点Pからオフセット終点E3迄の間を直線状に移動する。円弧-直線軌道B3は、限界位置R455を超えない範囲で移動する軌道である。
【0034】
<移動時間補正>
移動時間補正について説明する。数値制御装置29は、生成する第二軌道に沿って主軸を移動する。つまり、主軸が直線軌道B1、円弧軌道B2、円弧-直線軌道B3の何れかの軌道に沿ってクランプ始点L3からオフセット終点E3迄移動する。第二軌道を主軸が移動する距離は、第一軌道である円弧軌道Or1を主軸が移動する距離よりも短い。該時、主軸の移動速度が同じ速度の場合、直線軌道B1、円弧軌道B2、円弧-直線軌道B3で主軸が移動するのに要する時間は、円弧軌道Or1で移動する場合よりも短い。数値制御装置29は、第二軌道(直線軌道B1、円弧軌道B2、円弧-直線軌道B3)で主軸が移動するのに要する時間を、主軸が円弧軌道A1に沿って始点D1から終点E1迄移動するのに要する時間と一致するように調整する。該時、数値制御装置29は、第二軌道におけるクランプ始点L3とオフセット終点E3までの移動距離に対して、移動速度を定義し直すことで時間補正を実行する。
【0035】
<主処理>
図7を参照し、主処理について説明する。工作機械1に電源を投入すると、CPU31はROM32に記憶したプログラムを読み出し、主処理を実行する。主処理を実行すると、CPU31は、加工プログラムを受け付けたか否か判断する(S1)。ユーザの操作部24の操作により加工プログラムを入力していない場合、即ち加工プログラムを受け付けていない時(S1:NO)、CPU31は、処理をS1に戻し、加工プログラムを受け付けるまで待機する。
【0036】
操作部24の操作によりユーザが加工プログラムを入力すると(S1:YES)、CPU31は、受け付けた加工プログラム実行時の条件を受け付ける(S3)。ユーザは、操作部24の操作によりドライランの設定のON・OFF、オフセット量、ドライラン実行時の軌道補正時に直線軌道B1、円弧軌道B2、円弧-直線軌道B3の軌道のうちどの軌道で円弧指令を更新するか、及び移動時間補正の有無等について設定する。
【0037】
次いでCPU31は、ドライラン設定がONになっているか否かを判断する(S5)。ユーザによるドライラン設定がOFFであると判断した場合(S5:NO)、CPU31は、加工プログラムを一行毎に解釈し、加工プログラムを実行する(S7)。該時、CPU31は、一行毎の加工プログラムの指令に基づき主軸を移動して、被削材の加工を実行する。CPU31は処理をS1に戻す。
【0038】
一方、ドライラン設定がONの時(S5:YES)、CPU31は、操作部24の操作によりユーザが設定したオフセット量を、加工プログラムの一行分の位置情報のZ軸座標に加える(S9)。CPU31は、オフセット量をZ軸座標に加えた加工プログラムを一行分解釈する(S11)。次いで、CPU31は、オフセット量を加えた場合の主軸の始点のZ軸座標の位置が限界位置R455を超えたか否か判断する(S13)。該時、CPU31は、加工プログラム中の一行前の移動指示におけるオフセット終点が、限界位置R455にクランプしているか否かを特定する。ここで、クランプとは、S11の処理で解釈した加工プログラムの一行前の移動指示におけるオフセット終点が限界位置R455に設定していることをいう。
【0039】
主軸のオフセット始点のZ軸座標の位置が限界位置R455を超えていない、即ち一行前の加工プログラムのオフセット終点がクランプしていないと判断した時(S13:NO)、CPU31は、S17に処理を進める。CPU31は、移動指示に従って主軸が移動する際に、主軸の移動範囲がストローク範囲を超えるか否か判断する(S17)。一方、主軸のオフセット始点のZ軸座標の位置が限界位置R455を超えている、即ち一行前の加工プログラムのオフセット終点が限界位置R455にクランプすると判断した時(S13:YES)、CPU31はクランプ制御を実行する(S15)。尚、クランプ制御とは、主軸の始点、即ち一行前の加工プログラムのオフセット終点を限界位置R455に設定することをいう。これにより、例えばCPU31は、主軸の始点をクランプ始点L3に設定する。CPU31は処理をS17に進め、主軸の移動範囲がストローク範囲を超えるか否か判断する(S17)。該時、CPU31は、例えば限界位置R455にクランプしたクランプ始点L3からオフセット終点E3までの主軸の移動に依り、主軸のストローク範囲を超えるか否か判断する。
【0040】
一方、S17の処理において主軸の移動範囲がストローク範囲を超えないと判断した時(S17:YES)、CPU31は処理をS29に進め、加工プログラムが最終行であるか否か判断する(S29)。
【0041】
一方、主軸の移動範囲がストローク範囲を超えると判断した時(S17:NO)、CPU31は、加工プログラムの一行分の定義について、第二軌道による移動指示を生成する(S19)。CPU31は生成した移動指示に基づき加工プログラムを更新する(S21)。これにより、CPU31は、例えば第一軌道を第二軌道に更新する。加工プログラムの更新において、第二軌道として直線軌道B1、円弧軌道B2、円弧-直線軌道B3の何れかを行うかは、S3の処理においてユーザが予め設定している。尚、S3の処理において第二軌道として直線軌道B1又は円弧軌道B2を指定している場合、例えばCPU31は、加工プログラムの円弧指令の情報を直線軌道B1又は円弧軌道B2の情報に更新する。一方、第二軌道として円弧-直線軌道B3を指定している場合、CPU31は、円弧軌道については、クランプ始点L3から所定点P迄の円弧軌道Or1の情報に更新し、且つ、直線軌道については、所定点Pからオフセット終点E3迄の直線軌道での移動指示を新たに加工プログラムに追加する。
【0042】
次いで、CPU31は、更新された加工プログラムの円弧指令における移動時間を補正するか否か判断する(S23)。移動時間の補正を行うかは、S3の処理においてユーザにより予め設定している。移動時間の補正を行わない場合(S23:NO)、主軸の移動速度は元のままとして移動時間の補正を行わない(S25)。CPU31は処理をS29に進め、加工プログラムが最終行であるか否か判断する(S29)。
【0043】
一方、移動時間の補正を行う場合(S23:YES)、CPU31は、更新した直線軌道B1、円弧軌道B2、円弧-直線軌道B3の何れかのクランプ始点L3とオフセット終点E3迄の移動距離に応じて速度を補正する(S27)。これより、主軸はドライランを実行しない場合における始点D1から終点E1までの移動時間と同じ時間で、第二軌道に沿って主軸が移動可能となる。尚、例えば第二軌道として直線軌道B1、円弧軌道B2を指定している場合、CPU31は直線軌道B1又は円弧軌道B2の移動距離から移動速度を決定する。一方、第二軌道として円弧-直線軌道B3を指定している場合、CPU31は、例えばクランプ始点L3から所定点P迄の円弧軌道Or1の移動距離と、所定点Pからオフセット終点E3迄の移動距離との合計の移動距離から移動速度を決定する。CPU31は処理をS29に進め、加工プログラムが最終行であるか否か判断する(S29)。
【0044】
S29の処理において最終行でないと判断した場合(S29:NO)、CPU31は、処理をS11に戻し、加工プログラムの次の一行に対して、オフセット量を、一行分の位置情報のZ軸座標に加える(S9)。CPU31は、加工プログラムの最終行になるまで、一行毎にS9~S29の処理を繰り返す。一方、加工プログラムが最終行であると判断した場合(S29:YES)、CPU31は、更新した加工プログラムに基づき、ドライランを実行する(S7)。
【0045】
<作用効果>
以上説明の如く、数値制御装置29は、ドライランの実行時において、円弧軌道Or1を移動する主軸がZ軸方向において限界位置R455を超えて移動するか否か判断する(S17)。数値制御装置29は、限界位置R455を超えると判断した場合(S17:NO)、クランプ始点L3と、オフセット終点E3との間において、限界位置R455を超えない第二軌道を決定し、第二軌道を主軸が移動する移動指示を生成する(S19)。故に、数値制御装置29は、ドライランの実行時において主軸がストローク範囲を超えて移動することを防止できる。
【0046】
CPU31は、クランプ始点L3からオフセット終点E3迄の間を直線的に結んだ直線状の直線軌道B1を、第二軌道として決定する(S19)。該時、数値制御装置29は、主軸がストローク範囲を超えて移動することなくクランプ始点L3からオフセット終点E3迄の間を最短距離で移動できる。故に、数値制御装置29は、ドライランの実行時において主軸がストローク範囲を超えて移動することを防止できる。
【0047】
CPU31は、限界位置R455を超えない範囲であって、円弧軌道Or1よりも円弧半径R4が小さい円弧状の円弧軌道B2を、第二軌道として決定する(S19)。該時、数値制御装置29は、限界位置R455を超えることなく第二軌道のクランプ始点L3からオフセット終点E3迄の間を、主軸が移動できる。故に、数値制御装置29は、ドライランの実行時において主軸がストローク範囲を超えて移動することを防止できる。
【0048】
クランプ始点L3から所定点P迄の間、限界位置R455を超えず、所定点Pからオフセット終点E3迄の間、限界位置R455を超える時、CPU31は、クランプ始点L3から所定点P迄の間を円弧軌道Or1に沿って移動し、且つ、所定点Pからオフセット終点E3迄の間を直線状に移動する円弧-直線軌道B3を、第二軌道として決定する(S19)。故に、数値制御装置29は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止できる。
【0049】
CPU31は、生成した移動指示に基づき、主軸が第二軌道に沿ってクランプ始点L3からオフセット終点E3迄移動するのに要する時間を、主軸が円弧軌道A1に沿って始点からオフセット終点E3迄移動するのに要する時間と一致するように調整する(S27)。故に、数値制御装置29は、ドライランの実行時において主軸が移動可能なストローク範囲を超えて移動することを防止しつつ、且つ加工に必要な時間を正確に取得できる。
【0050】
<変形例>
本発明は上記実施形態に限らない。上記実施形態の工作機械1は、主軸がZ軸方向に延びる縦型工作機械であるが、本発明は主軸が水平方向に延びる横型工作機械にも適用できる。上記実施形態では、第二軌道は、直線軌道B1、円弧軌道B2、円弧-直線軌道B3であったがこれに限らない。主軸のストローク範囲を超えない範囲での軌道であれば、他の軌道を設定してもよい。上記実施形態では、加工プログラムの円弧指令はX-Z平面における移動指示であったがこれに限らない。例えばY-Z平面における円弧指示に対して上記加工プログラムの更新を実行してもよい。ドライランを実行する前に、移動指示を生成し加工プログラムの更新を行ったがこれに限らない。例えば、数値制御装置29は主軸の移動と共に加工プログラムを更新しながら主軸を移動してもよい。Z軸方向において主軸が移動可能な限界の位置は限界位置R455に設定したがこれに限らず、工作機械ごとに適宜設定すればよい。
【0051】
<その他>
上下方向、Z軸方向は本発明の延伸方向の一例である。上方は、本発明の一方側の一例である。S3処理を実行するCPU31は本発明の受付部の一例である。S15の処理を実行するCPU31は本発明のクランプ制御部の一例である。S17の処理を行うCPU31は本発明の判断部の一例である。S19の処理を行うCPU31は本発明の移動指示生成部の一例である。S7の処理を行うCPU31は本発明の実行部の一例である。S27の処理を行うCPU31は本発明の調整部の一例である。
【符号の説明】
【0052】
1 :工作機械
29 :数値制御装置
31 :CPU
32 :ROM
D1、D2、L3 :始点
E1、E2、E3 :終点
R1、R2、R3、R4 :円弧半径
A1、A2、B2、Or1 :円弧軌道
B1 :直線軌道
B3 :円弧-直線軌道