JP2022057730A - 制御装置と制御方法と制御プログラムと記憶媒体 - Google Patents
制御装置と制御方法と制御プログラムと記憶媒体 Download PDFInfo
- Publication number
- JP2022057730A JP2022057730A JP2020166125A JP2020166125A JP2022057730A JP 2022057730 A JP2022057730 A JP 2022057730A JP 2020166125 A JP2020166125 A JP 2020166125A JP 2020166125 A JP2020166125 A JP 2020166125A JP 2022057730 A JP2022057730 A JP 2022057730A
- Authority
- JP
- Japan
- Prior art keywords
- stroke
- movement
- movement command
- command
- unit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003754 machining Methods 0.000 description 11
- 239000002826 coolant Substances 0.000 description 9
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000010730 cutting oil Substances 0.000 description 2
- 239000003921 oil Substances 0.000 description 2
- 238000007599 discharging Methods 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
【課題】工作機械の動作状況に応じてストロークオーバの判断を行える制御装置と制御方法と制御プログラムと記憶媒体を提供する。【解決手段】工作機械はテーブルと主軸ヘッドを備える。制御装置のCPUは主軸ヘッドの移動を、加工プログラムが定義する移動指令に基づき制御する(S33)。CPUは移動指令について主軸ヘッドがストローク外を移動するストロークオーバとなるか否かを判断する(S23、S24、S32)。ストロークオーバ時(S23、S24、S32:YES)、CPUはエラー処理を行う(S43)。CPUは移動指令が第一移動指令であるか否かを判断する(S21、S41)。第一移動指令は加工プログラムが定義する一又は複数の移動指令の中で最初の移動指令である。移動指令が第一移動指令の時、CPUは移動指令について主軸ヘッドがストローク外から移動する時にエラー処理を実行しない(S22:YES、S42:YES)。【選択図】図8
Description
本発明は制御装置と制御方法と制御プログラムと記憶媒体に関する。
加工プログラムに基づき工作機械を制御する制御装置がある。特許文献1の数値制御装置は工作機械の移動部の移動を加工プログラムの移動指令に基づき制御する。数値制御装置は移動指令に基づく移動中の移動部の現在位置がストローク内にあるか否かを常に判定する。数値制御装置は現在位置がストロークを超えるとストロークオーバと判断する。該時、数値制御装置は移動部の移動を停止する処理等を行う。
作業者は加工プログラムに基づく制御の終了後、治具交換等の為、移動部をストローク外に移動し、その後、数値制御装置が次の加工プログラムに基づく制御を行う時がある。該時、次の加工プログラムの移動指令に基づく制御時には、移動部はストローク外から移動を開始する。該為、数値制御装置は移動指令に基づく制御開始時点でストロークオーバと判断する。故に上記数値制御装置では作業者は移動指令に基づく制御の前に、移動部をストローク内に移動する必要があった。一方、ストロークオーバを工作機械の動作状況によらず常に許可すると、安全性に問題が生じる可能性がある。
本発明の目的は、工作機械の動作状況に応じてストロークオーバの判断を行える制御装置と制御方法と制御プログラムと記憶媒体を提供することである。
請求項1の制御装置は、ワークを保持する保持部と、前記保持部に対して相対的に移動する移動部とを備えた工作機械を、加工プログラムに基づき制御する制御装置において、前記移動部の移動を、前記加工プログラムが定義する移動指令に基づき制御する移動制御部と、前記移動指令について前記移動部が前記保持部に対する所定のストローク外を移動するストロークオーバとなるか否かを判断するストローク判断部と、前記ストローク判断部による判断結果が前記ストロークオーバとなった時、所定のエラー処理を行うエラー処理部と、前記移動指令が、前記加工プログラムが定義する一又は複数の前記移動指令の中で最初の前記移動指令である第一移動指令であるか否かを判断する指令判断部とを備え、前記エラー処理部は、前記移動指令が前記第一移動指令であると前記指令判断部が判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を行わないことを特徴とする。
請求項1の制御装置によれば、移動指令が第一移動指令であるか否かに応じてストロークオーバの判断が異なる。故に制御装置は工作機械の動作状況に応じてストロークオーバの判断を行える。
請求項2の制御装置において、前記ストローク判断部は、前記移動部の移動開始位置、前記移動部の移動終了位置、及び前記移動部の前記移動開始位置から前記移動終了位置までの移動途中位置の夫々が前記ストローク内にあるか否かを判断することで、前記移動指令について前記ストロークオーバとなるか否かを判断してもよい。該時、制御装置は移動指令に基づく移動部の移動の最初から最後までストロークオーバの判断を行える。
請求項3の制御装置は、前記第一移動指令について前記移動部が前記ストローク外から移動することを許可するか否かを設定する設定部を備え、前記エラー処理部は、前記第一移動指令について前記移動部が前記ストローク外から移動することを許可すると前記設定部が設定し、且つ前記移動指令が前記第一移動指令であると前記指令判断部が判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を行わなくてもよい。該時、制御装置は例えば作業者による工作機械の使用態様に応じて、第一移動指令について移動部がストローク外から移動することを許可するか否かを設定できる。
請求項4の制御装置において、前記移動制御部は、前記保持部に対して、互いに直交するX軸方向とY軸方向とZ軸方向に相対的に移動する前記移動部の移動を、前記移動指令に基づき制御し、前記ストロークは、前記X軸方向に応じたX軸ストロークと前記Y軸方向に応じたY軸ストロークと前記Z軸方向に応じたZ軸ストロークを含み、前記設定部は、前記X軸ストローク、前記Y軸ストローク、前記Z軸ストロークの夫々に対して、前記第一移動指令について前記移動部が前記ストローク外から移動することを許可するか否かを設定してもよい。該時、制御装置は様々な機種の工作機械に対応できる。
請求項5の制御装置において、記移動部は、工具を装着可能であって、前記工作機械は、工具交換動作領域において、前記移動部が装着した前記工具を他の前記工具と交換可能な自動工具交換装置を備え、前記工具交換動作領域は、前記ストローク外に位置してもよい。該時、加工プログラムに基づく制御の終了後、作業者がATC領域に移動部を移動しても、制御装置はその後の第一移動指令に基づく移動部の移動時にはストロークオーバであってもエラー処理を行わないように動作できる。故に制御装置は作業者による工作機械の取り扱いがし易い。
請求項6の制御方法は、ワークを保持する保持部と、前記保持部に対して相対的に移動する移動部とを備えた工作機械を、加工プログラムに基づき制御する制御装置による制御方法において、前記移動部の移動を、前記加工プログラムが定義する移動指令に基づき制御する移動制御工程と、前記移動指令について前記移動部が前記保持部に対する所定のストローク外を移動するストロークオーバとなるか否かを判断するストローク判断工程と、前記ストローク判断工程での判断結果が前記ストロークオーバとなった時、所定のエラー処理を行うエラー処理工程と、前記移動指令が、前記加工プログラムが定義する一又は複数の前記移動指令の中で最初の前記移動指令である第一移動指令であるか否かを判断する指令判断工程とを備え、前記エラー処理工程は、前記移動指令が前記第一移動指令であると前記指令判断工程が判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を行わないことを特徴とする。請求項6の制御方法は請求項1の制御装置と同様の効果を奏することができる。
請求項7の制御プログラムは、ワークを保持する保持部と、前記保持部に対して相対的に移動する移動部とを備えた工作機械を、加工プログラムに基づき制御する制御装置のコンピュータに、前記移動部の移動を、前記加工プログラムが定義する移動指令に基づき制御する移動制御処理と、前記移動指令について前記移動部が前記保持部に対する所定のストローク外を移動するストロークオーバとなるか否かを判断するストローク判断処理と、前記ストローク判断処理での判断結果が前記ストロークオーバとなった時に行う所定のエラー処理と、前記移動指令が、前記加工プログラムが定義する一又は複数の前記移動指令の中で最初の前記移動指令である第一移動指令であるか否かを判断する指令判断処理と
を実行させ、前記移動指令が前記第一移動指令であると前記指令判断処理で判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を実行させないことを特徴とする。請求項7の制御プログラムは請求項1の制御装置と同様の効果を奏することができる。
を実行させ、前記移動指令が前記第一移動指令であると前記指令判断処理で判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を実行させないことを特徴とする。請求項7の制御プログラムは請求項1の制御装置と同様の効果を奏することができる。
請求項8の記憶媒体は、請求項7に記載の制御プログラムを記憶したことを特徴とする。請求項8の記憶媒体は請求項1の制御装置と同様の効果を奏することができる。
本発明の一実施形態を説明する。以下説明は図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は、夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。工作機械1の左方、右方、前方、後方、下方、上方は、夫々、工作機械1のX軸負方向、X軸正方向、Y軸負方向、Y軸正方向、Z軸負方向、Z軸正方向である。
図1、図2を参照し、工作機械1の構成を説明する。工作機械1は機械本体3と自動工具交換装置(以下、ATC20という。)を備える。機械本体3はベース2上に固定し、ワークを切削する。ATC20は機械本体3の上部に位置し、後述の主軸9(図2参照)に対して工具4の交換を行う。
機械本体3の構成を説明する。機械本体3はテーブル10、コラム5、主軸ヘッド7を備える。テーブル10はベース2上に設け、ワーク(図示略)を保持する。テーブル10はX軸モータ51(図4参照)の駆動によりX軸方向に移動し、Y軸モータ52(図4参照)の駆動によりY軸方向に移動する。コラム5はベース2上においてテーブル10後方に設け、主軸ヘッド7を昇降可能に支持する。
主軸ヘッド7はZ軸モータ53(図4参照)の駆動によりZ軸方向に移動する。主軸ヘッド7は主軸9を支持する。主軸9はZ軸方向に延び、主軸モータ54の駆動により回転する。主軸9には工具4が着脱可能に装着する。
工作機械1によるワークの加工動作を説明する。テーブル10がX軸方向とY軸方向に移動することで、テーブル10上のワークに対して、主軸ヘッド7がX軸方向とY軸方向に相対的に移動する。テーブル10上のワークに対して主軸ヘッド7が昇降することでZ軸方向に移動する。主軸9が回転することで、工具4はワークを切削する。該如く、工作機械1はワークの加工動作を行う。
ATC20の構成を説明する。ATC20は支持部28、マガジン本体21、複数のグリップアーム23を備える。支持部28はコラム5に固定し、軸25を支持する。軸25は支持部28から前斜め下方に延び、マガジン本体21に固定する。マガジン本体21はマガジンモータ55の駆動により軸25を中心として回転する。複数のグリップアーム23はマガジン本体21の外周に設け、工具4を保持できる。
工作機械1による工具4の交換動作を説明する。主軸ヘッド7が後述のATC領域D2の上端である工具交換原点まで上昇する間にグリップアーム23が主軸9に装着した工具4を保持し且つ主軸9から工具4を取り外す。その後、マガジン本体21が軸25を中心として回転する。これにより、次の工具4を保持するグリップアーム23が主軸ヘッド7の下方に移動する。その後、主軸ヘッド7がZ軸方向の加工領域D1上限(後述のZ軸ストロークの上限)位置まで移動して次の工具4を主軸9に装着する。
図3を参照し、加工領域D1と工具交換領域(以下、ATC領域D2という。)をXYZ座標系で説明する。本実施形態のXYZ座標系の原点(0,0,0)は工作機械1(図1参照)に対する絶対的な位置で規定する。加工領域D1は工作機械1による加工動作時にテーブル10と主軸ヘッド7が移動する領域である。加工領域D1はXYZ座標系においてX軸ストローク、Y軸ストローク、Z軸ストロークで規定する。
X軸ストロークはX軸方向におけるテーブル10が移動する移動可能範囲である。Y軸ストロークはY軸方向におけるテーブル10が移動する移動可能範囲である。Z軸ストロークはZ軸方向における主軸ヘッド7が移動する移動可能範囲である。
本実施形態ではX軸ストロークはX座標により-500(X軸ストロークの下限)~0(X軸ストロークの上限)で規定する。Y軸ストロークはY座標により-400(以下、Y軸ストロークの下限)~0(Y軸ストロークの上限)で規定する。Z軸ストロークはZ座標により180(Z軸ストロークの下限)~480(Z軸ストロークの上限)で規定する。尚、各座標の具体的数値は単なる一例である。
加工領域D1外の領域はストローク外領域である。本実施形態ではストローク外領域はX軸方向においてX軸負側ストローク外領域とX軸正側ストローク領域に区分し、Y軸方向においてY軸負側ストローク外領域とY軸正側ストローク領域に区分し、Z軸方向においてZ軸負側ストローク領域とZ軸正側ストローク領域に区分する。
X軸負側ストローク外領域はX軸ストロークの下限(X座標-500)よりもX軸負方向側のストローク外領域である。X軸正側ストローク外領域はX軸ストロークの上限(X座標0)よりもX軸正方向側のストローク外領域である。Y軸負側ストローク外領域はY軸ストロークの下限(Y座標-400)よりもY軸負方向側のストローク外領域である。Y軸正側ストローク外領域はY軸ストロークの上限(Y座標0)よりもY軸正方向側のストローク外領域である。Z軸負側ストローク外領域はZ軸ストロークの下限(Z座標180)よりもZ軸負方向側のストローク外領域である。Z軸正側ストローク外領域はZ軸ストロークの上限(Z座標480)よりもZ軸正方向側のストローク外領域である。
ATC領域D2はZ軸ストロークの上限(Z座標480)からZ軸正方向側の領域であり、即ちZ軸正側ストローク外領域内にある。ATC領域D2は工具4の交換動作時に主軸ヘッド7が移動する領域である。故に、ATC領域D2は加工領域D1の上方の領域であり、Z軸方向の上端が工具交換原点となる。工具交換原点でマガジン本体21は回転可能となる。
図4を参照し、工作機械1の電気的構成を説明する。工作機械1は制御装置30を備える。制御装置30はCPU31、ROM32、RAM33、記憶装置34を備える。CPU31は工作機械1の動作を制御する。ROM32は後述の主処理(図7、図8参照)をCPU31が実行する為の主プログラム等を記憶する。RAM33は主プログラムの実行に必要な各種情報等を一時的に記憶する。記憶装置34は不揮発性であり、後述の加工プログラム(図5参照)、エラー禁止設定(図6参照)等の各種情報を記憶する。
CPU31はX軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55、入力部61と接続する。X軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55は夫々エンコーダ511、521、531、541、551を備える。エンコーダ511、521、531、541、551は夫々X軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55の回転角度を検出し、検出結果をCPU31に出力する。
入力部61はタッチパネル等であり、作業者の操作に応じた情報をCPU31に出力する。例えば作業者は入力部61を操作して、加工プログラムを指定し、指定した加工プログラムの実行指示を制御装置30に入力できる。作業者は入力部61を操作して、後述のエラー禁止設定の有効と無効の変更指示を制御装置30に入力できる。
図5を参照し、加工プログラムの一例を説明する。加工プログラムは各種指令をブロック毎に定義し、ブロックNo.1から順に指令を実行する。即ちブロックNo.は各ブロックの処理順序を示す。各種指令にはクーラント指令、移動指令、工具交換指令、エンドオブプログラム指令等がある。
クーラント指令は工作機械1の油吐出装置(図示略)からワーク、工具4に向けて切削油を吐出するクーラント動作を行う為の指令である。移動指令はXYZ座標系の所定の移動終了位置に主軸ヘッド7又はテーブル10を移動する為の指令である。移動指令は移動終了位置を指定する。即ち移動終了位置は移動指令に基づく移動後のテーブル10と主軸ヘッド7の位置である。工具交換指令は工具4の交換動作を行う為の指令である。エンドオブプログラム指令は実行中の加工プログラムを終了する為の指令である。
図5に示す加工プログラムはブロックNo.1~8の八つのブロックで構成する。尚、ブロックNo.3、5、7の説明は省略する。ブロックNo.1はクーラント指令を定義する。ブロックNo.2は移動指令を定義し、移動終了位置として第一位置を指定する。ブロックNo.4は工具交換指令を定義する。ブロックNo.6は移動指令を定義し、移動終了位置として第二位置を指定する。ブロックNo.8はエンドオブプログラム指令を定義する。
以下、加工プログラムが定義する一又は複数の移動指令の中で最初の移動指令を第一移動指令といい、第一移動指令以外の移動指令を第二移動指令という。即ち第一移動指令は加工プログラムが定義する一又は複数の移動指令の中でブロックNo.が最小の移動指令である。図5に示す加工プログラムではブロックNo.1の指令種別が移動指令以外の指令(クーラント指令)なので、ブロックNo.2の移動指令が第一移動指令となる。例えばブロックNo.6よりも前に少なくともブロックNo.2の移動指令があるので、ブロックNo.6の移動指令は第二移動指令となる。
ストロークオーバの判断を説明する。ストロークオーバの判断は各移動指令についてストロークオーバとなるか否かの判断であり、加工プログラムに基づく制御中に行う。ストロークオーバは移動指令に基づく動作中に主軸ヘッド7又はテーブル10がストローク外領域を移動する状態である。ストロークオーバの判断の結果がストロークオーバとなると、制御装置30は安全の為、各モータの停止、エラー報知等の各種制御(以下、エラー処理という。)を行い、加工プログラムに基づく制御を停止する。
制御装置30は移動開始位置、移動終了位置、移動途中位置の各位置に基づきストロークオーバの判断を行う。移動開始位置は移動指令に基づく移動開始前のテーブル10と主軸ヘッド7の位置である。移動途中位置は移動開位置から移動終了位置までのテーブル10と主軸ヘッド7の位置である。
制御装置30は移動開始位置と移動終了位置については移動指令に基づく移動開始前にストロークオーバの判断を行う。移動開始前、移動開始位置がストローク外領域内にある時、制御装置30はストロークオーバとなると判断する。移動開始前、移動終了位置がストローク外領域内にある時、制御装置30はストロークオーバとなると判断する。
以下では、現在のテーブル10と主軸ヘッド7の位置を現在位置という。移動開始位置から移動終了位置までの移動経路(移動途中位置)のうち現在位置の次に通る位置を次位置という。制御装置30は移動途中位置については現在位置から次位置に移動する時にストロークオーバの判断を行う。現在位置から次位置に移動する時、現在位置と次位置の少なくとも一方がストローク外領域内にある時、制御装置30はストロークオーバとなると判断する。
図6を参照し、エラー禁止設定を説明する。エラー禁止設定は第一移動指令について主軸ヘッド7又はテーブル10がストローク外から移動する時にエラー処理を実行するか否かの設定である。本実施形態のエラー禁止設定はX軸負側ストローク外領域、X軸正側ストローク外領域、Y軸負側ストローク外領域、Y軸正側ストローク外領域、Z軸負側ストローク外領域、Z軸正側ストローク外領域の各対象領域毎に有効と無効の何れかを設定する。対象領域はエラー禁止設定について有効と無効の何れかを設定する対象のストローク外領域である。エラー禁止設定は便宜的に設定No.を各対象領域に割り当てる。
エラー禁止設定の有効は第一移動指令について主軸ヘッド7又はテーブル10がストローク外から移動する時にエラー処理を実行しないことを示す。エラー禁止設定の無効は第一移動指令について主軸ヘッド7又はテーブル10がストローク外から移動する時にエラー処理を実行することを示す。作業者は入力部61を操作することで、設定No.毎に有効と無効の何れかを設定できる。図6に示すエラー禁止設定は設定No.1~5について無効を設定し、設定No.6について有効を設定する。
以下、エラー禁止設定を有効にしたX軸ストローク外領域(X軸負側ストローク外領域、X軸正側ストローク外領域)を総称しX軸許可ストロークという。エラー禁止設定を有効にしたY軸ストローク外領域(Y軸負側ストローク外領域、Y軸正側ストローク外領域)を総称しY軸許可ストロークという。エラー禁止設定を有効にしたZ軸ストローク外領域(Z軸負側ストローク外領域、Z軸正側ストローク外領域)を総称しZ軸許可ストロークという。
制御装置30は設定No.1~6のエラー禁止設定の有効と無効の設定に応じて許可領域を設定する。許可領域はストローク外領域のうちX軸許可ストローク、Y軸許可ストローク、Z軸許可ストロークが規定する領域であり、ストローク外領域のうち第一移動指令について主軸ヘッド7の移動を許可する領域である。
図6に示すエラー禁止設定では設定No.1、2が無効なので、X軸許可ストロークはなしとなる。設定No.3、4が無効なので、Y軸許可ストロークはなしとなる。設定No.5が無効で設定No.6が有効なので、Z軸許可ストロークはZ軸正側ストローク外領域となる。故に図6に示すエラー禁止設定ではストローク外領域のうちZ軸正側ストローク外領域(Z軸許可ストローク)が規定する領域D3が許可領域となる。該時、領域D3とATC領域D2は一致する。
同様にして、例えば設定No.1~6の全部のエラー禁止設定が有効の時、ストローク外領域の全部が許可領域となる。設定No.1~6の全部のエラー禁止設定が無効の時、許可領域は存在しない。
図7、図8を参照し、主処理を説明する。作業者が制御装置30の電源を投入すると、CPU31はROM32の主プログラムに基づき主処理を実行する。主処理ではCPU31はエラー禁止設定の有効と無効の設定、加工プログラムに基づく制御等を行う。
図7に示す如く、CPU31は作業者による入力部61の操作に応じてエラー禁止設定の変更指示があったか否かを判断する(S11)。変更指示がない時(S11:NO)、CPU31は処理をS13に移行する。変更指示があった時(S11:YES)、CPU31は記憶装置34のエラー禁止設定(図6参照)において、各対象領域の有効と無効を変更指示に応じて変更する(S12)。
記憶装置34は不揮発性であり、エラー禁止設定は記憶装置34に記憶するので、制御装置30の電源投入時にはエラー禁止設定は制御装置30の電源遮断時の設定状態(有効又は無効)を保持する。尚、エラー禁止設定はRAM33に記憶し、制御装置30の電源投入時に初期設定してもよい。以下、図6に示すエラー禁止設定に基づきCPU31が動作する時を説明する。該時、許可領域は領域D3(図3参照)である。
CPU31は作業者による入力部61の操作に応じて加工プログラムの実行指示があったか否かを判断する(S13)。実行指示がない時(S13:NO)、CPU31は処理をS11に戻す。実行指示があった時(S13:YES)、CPU31は以下説明する加工プログラムに基づく制御を行う。
CPU31は加工プログラムが定義する一又は複数のブロックから対象ブロックを指定する(S14)。対象ブロックは処理対象のブロックであり、S14の実行毎にブロックNo.1から順に指定する。以下、図5に示す加工プログラムを実行指示が指定する時を説明する。
S14でCPU31がブロックNo.1(図5参照)を対象ブロックに指定した時を説明する。図7に示す如く、CPU31はブロックNo.1(対象ブロック)の指令がエンドオブプログラム指令であるか否かを判断する(S15)。ブロックNo.1の指令はクーラント指令なのでエンドオブプログラム指令でない(S15:NO)。該時、CPU31はブロックNo.1(対象ブロック)の指令が移動指令であるか否かを判断する(S16)。
ブロックNo.1の指令はクーラント指令なので移動指令でない(S16:NO)。該時、CPU31はブロックNo.1のクーラント指令に基づき、クーラント動作を行う(S17)。S17では、CPU31は油吐出装置(図示略)を制御し、ワーク、工具4に向けて切削油を吐出する。CPU31は処理をS14に戻し、ブロックNo.2を対象ブロックに指定する。
S14でCPU31がブロックNo.2(図5参照)を対象ブロックに指定した時を説明する。ブロックNo.2(対象ブロック)の指令はエンドオブプログラム指令でなく(S15:NO)、移動指令である(S16:YES)。該時、図8に示す如く、CPU31はブロックNo.2(対象ブロック)よりも前のブロックに移動指令があるか否かに基づき、ブロックNo.2(対象ブロック)の移動指令が第一移動指令であるか否かを判断する(S21)。
移動指令を指定するブロックがブロックNo.2よりも前にないので、ブロックNo.2の移動指令は第一移動指令である(S21:YES)。該時、CPU31は現在位置が領域D3(許可領域)内にあるか否かを判断する(S22)。
CPU31はエンコーダ511、521、531(図4参照)からの検出信号に基づき現在位置を特定する。主軸ヘッド7が例えば図3に示す位置P1(-400,-200,480)にある時、Z座標(480)がZ軸ストローク(180~480)内にある。該時、領域D3のZ座標はZ軸ストロークの上限(480)よりも大きいので、特定した現在位置(位置P1)は領域D3外にある(S22:NO)。該時、CPU31は移動開始位置がストローク内にあるか否かに基づきストロークオーバの判断を行う(S23)。
S23の実行時点の現在位置は移動開始位置である。CPU31はエンコーダ511、521、531からの検出信号に基づき現在位置(移動開始位置)を特定する。主軸ヘッド7が例えば位置P1(-400,-200,480)にある時、特定した移動開始位置はストローク内にある(S23:YES)。該時、ストロークオーバでないので、CPU31は処理をS24に移行する。
主軸ヘッド7が例えば位置P2(-250,-500,180)にある時、Y座標(-500)がY軸ストローク(-400~0)外にある。該時、特定した移動開始位置(位置P2)はストローク外領域にある(S23:NO)。該時、ストロークオーバなので、CPU31はエラー処理を行う(S43)。エラー処理ではCPU31は各モータの停止、エラー報知等を行う。CPU31は図5に示す加工プログラムに基づく制御を停止し、処理をS11(図7参照)に戻す。
S22において、主軸ヘッド7が例えば位置P3(-250,-200,600)にある時、特定した現在位置は領域D3内にある(S22:YES)。該時、CPU31は移動開始位置についてストロークオーバの判断を行わないことで、エラー処理を実行しない。故にCPU31は処理をS23に移行することなく、S24に移行する。
CPU31は移動終了位置がストローク内にあるか否かに基づきストロークオーバの判断を行う(S24)。CPU31はブロックNo.2の移動指令が移動終了位置として指定する第一位置を特定する。第一位置が例えば位置P2(-250,-500,180)の時、特定した移動終了位置はストローク外領域にある(S24:NO)。該時、ストロークオーバなので、CPU31はエラー処理を行う(S43)。CPU31は図5に示す加工プログラムに基づく制御を停止し、処理をS11に戻す。
第一位置が例えば位置P4(-250,-200,300)の時、特定した移動終了位置はストローク内にある(S24:YES)。該時、ストロークオーバでないので、CPU31は特定した移動開始位置と移動終了位置に基づき移動経路(移動途中位置)を解析する(S31)。
CPU31は現在位置と次位置(移動途中位置)の何れもがストローク内にあるか否かに基づきストロークオーバの判断を行う(S32)。CPU31はエンコーダ511、521、531からの検出信号に基づき現在位置を移動途中位置の一つとして特定する。CPU31は解析した移動経路に基づき次位置を移動途中位置の一つとして特定する。移動途中位置として特定した現在位置と次位置の何れもストローク内にある時(S32:YES)、ストロークオーバでないので、CPU31は処理をS33に移行する。
移動途中位置として特定した現在位置と次位置の少なくとも一方がストローク外領域内にある時(S32:NO)、CPU31はブロックNo.2(対象ブロック)の移動指令が第一移動指令であるか否かを判断する(S41)。
ブロックNo.2の移動指令は第一移動指令である(S41:YES)。該時、CPU31は移動途中位置として特定した現在位置と次位置の何れもが領域D3(許可領域)内にあるか否かを判断する(S42)。移動途中位置として特定した現在位置と次位置の少なくとも一方が領域D3外にある時(S42:NO)、ストロークオーバなので、CPU31はエラー処理を行う(S43)。
移動途中位置として特定した現在位置と次位置の何れもが領域D3内にある時(S42:YES)、CPU31は移動途中位置についてエラー処理を実行しない。故にCPU31は処理をS43に移行することなくS33に移行する。
CPU31はX軸モータ51、Y軸モータ52、Z軸モータ53を制御し、主軸ヘッド7又はテーブル10を現在位置から次位置に移動する(S33)。CPU31は主軸ヘッド7又はテーブル10が移動終了位置に到達したか否かを判断する(S34)。CPU31はエンコーダ511、521、531からの検出信号に基づき現在位置を特定する。CPU31はブロックNo.2(対象ブロック)の移動指令が移動終了位置として指定する第一位置を特定する。特定した現在位置が移動終了位置と異なる時、CPU31は主軸ヘッド7又はテーブル10が移動終了位置に到達していないと判断する(S34:NO)。該時、CPU31は処理をS32に戻し、S32以降の処理を繰り返す。
特定した現在位置が移動終了位置と一致した時、CPU31は主軸ヘッド7又はテーブル10が移動終了位置に到達したと判断する(S34:YES)。該時、CPU31はブロックNo.2(対象ブロック)の移動指令に基づく制御を終了する。CPU31は処理をS14(図7参照)に戻し、ブロックNo.3、4の順に対象ブロックに指定する。
S14でCPU31がブロックNo.4(図5参照)を対象ブロックに指定した時を説明する。図7に示す如く、ブロックNo.4(対象ブロック)の指令は工具交換指令なのでエンドオブプログラム指令でなく(S15:NO)、且つ移動指令でない(S16:NO)。該時、CPU31はブロックNo.4(対象ブロック)の工具交換指令に基づき、工具4の交換動作を行う(S17)。S17では、CPU31はZ軸モータ53を制御し、主軸ヘッド7を加工領域D1からATC領域D2まで上昇する。CPU31はマガジンモータ55を制御し、マガジン本体21を回転し、工具4の交換動作を行う。CPU31はZ軸モータ53を制御し、主軸ヘッド7をATC領域D2から加工領域D1まで下降する。CPU31は処理をS14に戻し、ブロックNo.5、6の順に対象ブロックに指定する。
S14でCPU31がブロックNo.6(図5参照)を対象ブロックに指定した時を説明する。図7に示す如く、ブロックNo.6(対象ブロック)の指令はエンドオブプログラム指令でなく(S15:NO)、移動指令である(S16:YES)。図8に示す如く、ブロックNo.2(即ちブロックNo.6よりも前のブロック)が移動指令を指定するので、ブロックNo.6(対象ブロック)の移動指令は第二移動指令である(S21:NO)。該時、CPU31は移動開始位置がストローク内にあるか否かに基づき、ストロークオーバの判断を行う(S23)。
対象ブロックの移動指令が第二移動指令の時、移動指令が第一移動指令の時とは異なり、CPU31は移動開始位置についてストロークオーバの判断を必ず行う。例えば移動開始位置が位置P3の時を説明する。ブロックNo.2の第一移動指令に基づく処理では位置P3(移動開始位置)が領域D3(許可領域)内にあるので(S22:YES)、CPU31は移動開始位置についてストロークオーバの判断を行わずに、エラー処理を行わなかった。ブロックNo.6の第二移動指令に基づく処理では位置P3(移動開始位置)が領域D3(許可領域)内にあっても、CPU31はストロークオーバと判断し(S23:NO)、エラー処理を行う(S43)。
移動開始位置がストローク内であれば(S23:YES)、以降、ブロックNo.2が対象ブロックの時と同様に、CPU31はS24、S31、S32の処理を行う。移動途中位置として特定した現在位置と次位置の少なくとも一方がストローク外領域内にある時(S32:NO)、ブロックNo.6(対象ブロック)の移動指令が第二移動指令なので(S41:NO)、CPU31はエラー処理を行う(S43)。即ち、対象ブロックの移動指令が第二移動指令の時、移動指令が第一移動指令の時とは異なり、CPU31は移動途中位置について必ずストロークオーバの判断を行い、ストロークオーバとなれば必ずエラー処理を行う。
移動途中位置として特定した現在位置と次位置の何れもストローク内にある時(S32:YES)、CPU31はブロックNo.2が対象ブロックの時と同様に、S33、S34の処理を行う。主軸ヘッド7又はテーブル10が移動終了位置に到達時(S34:YES)、CPU31はブロックNo.6(対象ブロック)の移動指令に基づく制御を終了する。CPU31は処理をS14(図7参照)に戻し、ブロックNo.7、8の順に対象ブロックに指定する。
S14でCPU31がブロックNo.8(図5参照)を対象ブロックに指定した時を説明する。図7に示す如く、ブロックNo.8(対象ブロック)の指令はエンドオブプログラム指令である(S15:YES)。該時、CPU31は図5に示す加工プログラムに基づく制御を終了し、処理をS11に戻す。
以上説明の如く、制御装置30は移動指令が第一移動指令の時、移動指令について主軸ヘッド7又はテーブル10がストローク外から移動する時にエラー処理を行わない。該為、移動指令が第一移動指令であるか否かに応じてストロークオーバの判断が異なる。故に制御装置30は工作機械1の動作状況に応じてストロークオーバの判断を行える。
制御装置30は移動開始位置、移動終了位置、移動途中位置の夫々がストローク内にあるか否かを判断することで、移動指令についてストロークオーバの判断を行う。該為、制御装置30は移動指令に基づく主軸ヘッド7又はテーブル10の移動の最初から最後までストロークオーバの判断を行える。
制御装置30はエラー禁止設定の有効と無効を設定する。該為、例えば作業者による工作機械1の使用態様に応じてエラー禁止設定の有効と無効を設定できる。
制御装置30はX軸ストローク、Y軸ストローク、Z軸ストロークの夫々に対して、エラー禁止設定の有効と無効を設定する。該為、制御装置30は主軸ヘッド7又はテーブル10の移動方向、ATC領域D2の位置等が上記実施形態の工作機械1と異なる機種にも、各軸のストロークに応じたエラー禁止設定を変更することで対応できる。故に制御装置30は様々な機種の工作機械1に対応できる。
ATC領域D2はストローク外に位置する。該時、安全等の為、加工プログラムの終了後に作業者が主軸ヘッド7をATC領域D2に移動する時がある。加工プログラムに基づく制御の終了後、作業者がATC領域D2に主軸ヘッド7を移動しても、制御装置30はその後の第一移動指令に基づく主軸ヘッド7の移動時にはストロークオーバであってもエラー処理を行わないように動作できる。故に制御装置30は作業者による工作機械1の取り扱いがし易い。
上記実施形態において、テーブル10が本発明の「保持部」に相当する。主軸ヘッド7が本発明の「移動部」に相当する。図8のS33の処理を実行するCPU31が本発明の「移動制御部」に相当する。図8のS23、S24、S32の処理を実行するCPU31が本発明の「ストローク判断部」に相当する。図8のS43の処理を実行するCPU31が本発明の「エラー処理部」に相当する。図8のS21、S41の処理を実行するCPU31が本発明の「指令判断部」に相当する。図7のS12の処理を実行するCPU31が本発明の「設定部」に相当する。
図8のS33の処理が本発明の「移動制御工程」、「移動制御処理」に相当する。図8のS23、S24、S32の処理が本発明の「ストローク判断工程」、「ストローク判断処理」に相当する。図8のS43の処理が本発明の「エラー処理工程」、「エラー処理」に相当する。図8のS21、S41の処理が本発明の「指令判断工程」、「指令判断処理」に相当する。
本発明は上記実施形態から変更できる。例えば上記実施形態では対象ブロックの移動指令が第一移動指令であり(S21:YES)、且つ現在位置が許可領域内にある時(S22:YES)、CPU31は移動開始位置がストローク内にあるか否かの判断(S23)を行わずに処理をS24に移行する。これに対し、移動開始位置がストローク外領域にある時(S23:YES)、対象ブロックの移動指令が第一移動指令であり、且つ現在位置が許可領域内にあれば、CPU31は処理をS43ではなくS24に移行してもよい。
上記実施形態では現在位置と次位置の少なくとも一方がストローク外領域にある時(S32:NO)、対象ブロックの移動指令が第一移動指令であり(S41:YES)、且つ現在位置が許可領域内にあれば(S42:YES)、CPU31は処理をS43ではなくS33に移行する。これに対し、対象ブロックの移動指令が第一移動指令であり(S41:YES)、且つ現在位置が許可領域内にある時(S42:YES)、CPU31は現在位置と次位置の少なくとも一方がストローク内にあるか否かの判断(S32)を行わずに処理をS33に移行してもよい。
上記実施形態ではCPU31は移動開始位置、移動終了位置、移動途中位置の各位置についてストロークオーバの判断を行う。これに対し、CPU31は例えば移動途中位置についてはストロークオーバの判断を行わず、移動開始位置と移動終了位置についてストロークオーバの判断を行ってもよい。
上記実施形態では制御装置30はX軸負側ストローク外領域、X軸正側ストローク外領域、Y軸負側ストローク外領域、Y軸正側ストローク外領域、Z軸負側ストローク外領域、Z軸正側ストローク外領域の各領域毎にストローク判断設定の有効と無効を設定する。これに対し、制御装置30はX軸ストローク外領域、Y軸ストローク外領域、Z軸ストローク外領域の各領域毎にストローク判断設定の有効と無効を設定してもよいし、例えばZ軸正側ストローク外領域のみストローク判断設定の有効と無効を設定してもよい。制御装置30はストローク外領域の全部について一律にストローク判断設定の有効と無効を設定してもよい。制御装置30はストローク外領域のうち一部の領域(例えばATC領域D2)についてのみストローク判断設定の有効と無効を設定してもよい。
上記実施形態では制御装置30は作業者に入力部61の操作に応じてストローク判断設定の有効と無効を変更できる。これに対し、制御装置30はストローク判断設定の有効と無効を変更不能であってもよい。
上記実施形態の工作機械1は主軸9がZ軸方向に延びる所謂縦型の機械である。これに対し、工作機械1は主軸9がX軸方向に延びる所謂横型の機械でもよい。上記実施形態では主軸ヘッド7がコラム5に対してX軸方向とY軸方向には移動しない。これに対し、主軸ヘッド7はコラム5に対してX軸方向、Y軸方向にも移動してもよい。上記実施形態では主軸ヘッド7はテーブル10に対してX軸方向、Y軸方向、Z軸方向の各方向に移動できる。これに対し、主軸ヘッド7はテーブル10に対して例えばX軸方向、Y軸方向、Z軸方向のうちZ軸方向にのみ移動できてもよい。即ちテーブル10はX軸方向、Y軸方向に移動不能であってもよい。
上記実施形態ではATC領域D2はZ軸正側ストローク外領域内に位置する。これに対し、ATC領域D2はZ軸正側ストローク外領域以外のストローク外領域内に位置してもよいし、ストローク内に位置してもよい。
上記実施形態において制御装置30は加工プログラムに基づく制御が制御装置30の電源投入後の最初の加工プログラムに基づく制御であるか否かを判断してもよい。制御装置30の電源投入後の最初の加工プログラムに基づく制御時のみCPU31はS14~S43を実行してもよい。制御装置30の電源投入後の2回目以降の加工プログラムに基づく制御にはCPU31は例えばS21、S22、S41、S42の処理を省略してもよい。即ち第一移動指令は制御装置30の電源投入後の最初の移動指令であってもよい。
上記実施形態においてワークの保持機構はテーブル10に限定しない。即ち工作機械1は例えばロボットのアームでワークを保持してもよい。主軸9は工具4を着脱不能であってもよい。該時、主軸9は工具4と一体的に形成し、工作機械1はATC20を省略してもよい。ATC20による工具4の交換動作の動作態様は上記実施形態に限定しない。
エラー処理の内容は上記実施形態に限定しない。即ち、CPU31はエラー処理でエラー報知と各モータの停止の一方だけ行ってもよいし、他の制御を行ってもよい。
1 工作機械
7 主軸ヘッド
9 主軸
10 テーブル
20 ATC
30 制御装置
31 CPU
32 ROM
33 RAM
34 記憶装置
7 主軸ヘッド
9 主軸
10 テーブル
20 ATC
30 制御装置
31 CPU
32 ROM
33 RAM
34 記憶装置
Claims (8)
- ワークを保持する保持部と、前記保持部に対して相対的に移動する移動部とを備えた工作機械を、加工プログラムに基づき制御する制御装置において、
前記移動部の移動を、前記加工プログラムが定義する移動指令に基づき制御する移動制御部と、
前記移動指令について前記移動部が前記保持部に対する所定のストローク外を移動するストロークオーバとなるか否かを判断するストローク判断部と、
前記ストローク判断部による判断結果が前記ストロークオーバとなった時、所定のエラー処理を行うエラー処理部と、
前記移動指令が、前記加工プログラムが定義する一又は複数の前記移動指令の中で最初の前記移動指令である第一移動指令であるか否かを判断する指令判断部と
を備え、
前記エラー処理部は、前記移動指令が前記第一移動指令であると前記指令判断部が判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を行わない
ことを特徴とする制御装置。 - 前記ストローク判断部は、前記移動部の移動開始位置、前記移動部の移動終了位置、及び前記移動部の前記移動開始位置から前記移動終了位置までの移動途中位置の夫々が前記ストローク内にあるか否かを判断することで、前記移動指令について前記ストロークオーバとなるか否かを判断する請求項1に記載の制御装置。
- 前記第一移動指令について前記移動部が前記ストローク外から移動することを許可するか否かを設定する設定部を備え、
前記エラー処理部は、前記第一移動指令について前記移動部が前記ストローク外から移動することを許可すると前記設定部が設定し、且つ前記移動指令が前記第一移動指令であると前記指令判断部が判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を行わないことを特徴とする請求項1又は2に記載の制御装置。 - 前記移動制御部は、前記保持部に対して、互いに直交するX軸方向とY軸方向とZ軸方向に相対的に移動する前記移動部の移動を、前記移動指令に基づき制御し、
前記ストロークは、前記X軸方向に応じたX軸ストロークと前記Y軸方向に応じたY軸ストロークと前記Z軸方向に応じたZ軸ストロークを含み、
前記設定部は、前記X軸ストローク、前記Y軸ストローク、前記Z軸ストロークの夫々に対して、前記第一移動指令について前記移動部が前記ストローク外から移動することを許可するか否かを設定することを特徴とする請求項3に記載の制御装置。 - 前記移動部は、工具を装着可能であって、
前記工作機械は、工具交換動作領域において、前記移動部が装着した前記工具を他の前記工具と交換可能な自動工具交換装置を備え、
前記工具交換動作領域は、前記ストローク外に位置することを特徴とする請求項1から4の何れか一つに記載の制御装置。 - ワークを保持する保持部と、前記保持部に対して相対的に移動する移動部とを備えた工作機械を、加工プログラムに基づき制御する制御装置による制御方法において、
前記移動部の移動を、前記加工プログラムが定義する移動指令に基づき制御する移動制御工程と、
前記移動指令について前記移動部が前記保持部に対する所定のストローク外を移動するストロークオーバとなるか否かを判断するストローク判断工程と、
前記ストローク判断工程での判断結果が前記ストロークオーバとなった時、所定のエラー処理を行うエラー処理工程と、
前記移動指令が、前記加工プログラムが定義する一又は複数の前記移動指令の中で最初の前記移動指令である第一移動指令であるか否かを判断する指令判断工程と
を備え、
前記エラー処理工程は、前記移動指令が前記第一移動指令であると前記指令判断工程が判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を行わない
ことを特徴とする制御方法。 - ワークを保持する保持部と、前記保持部に対して相対的に移動する移動部とを備えた工作機械を、加工プログラムに基づき制御する制御装置のコンピュータに、
前記移動部の移動を、前記加工プログラムが定義する移動指令に基づき制御する移動制御処理と、
前記移動指令について前記移動部が前記保持部に対する所定のストローク外を移動するストロークオーバとなるか否かを判断するストローク判断処理と、
前記ストローク判断処理での判断結果が前記ストロークオーバとなった時に行う所定のエラー処理と、
前記移動指令が、前記加工プログラムが定義する一又は複数の前記移動指令の中で最初の前記移動指令である第一移動指令であるか否かを判断する指令判断処理と
を実行させ、
前記移動指令が前記第一移動指令であると前記指令判断処理で判断した時、前記移動指令について前記移動部が前記ストローク外から移動する時に前記エラー処理を実行させない
ことを特徴とする制御プログラム。 - 請求項7に記載の制御プログラムを記憶したことを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020166125A JP2022057730A (ja) | 2020-09-30 | 2020-09-30 | 制御装置と制御方法と制御プログラムと記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020166125A JP2022057730A (ja) | 2020-09-30 | 2020-09-30 | 制御装置と制御方法と制御プログラムと記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022057730A true JP2022057730A (ja) | 2022-04-11 |
Family
ID=81110361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020166125A Pending JP2022057730A (ja) | 2020-09-30 | 2020-09-30 | 制御装置と制御方法と制御プログラムと記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022057730A (ja) |
-
2020
- 2020-09-30 JP JP2020166125A patent/JP2022057730A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5562480B2 (ja) | マシニングセンタ | |
US20080086220A1 (en) | Machine-tool controller | |
JP6229396B2 (ja) | 数値制御装置 | |
JP2015225617A (ja) | 数値制御装置と制御方法 | |
JP6051937B2 (ja) | 数値制御装置 | |
JP5079165B2 (ja) | 数値制御装置及び数値制御方法 | |
JP6651815B2 (ja) | 数値制御装置と数値制御装置の制御方法 | |
US20220168858A1 (en) | Automatic tool changer and control method therefor and machine tool including same | |
JP2011237880A (ja) | 工具交換位置の自動決定機能を備えた工作機械の制御装置 | |
US20080086221A1 (en) | Machine-tool controller | |
JP2006075916A (ja) | 工作機械の保護カバー開閉装置 | |
JP2005028522A (ja) | 工作機械及び工作機械の折損検出方法 | |
JP2022057730A (ja) | 制御装置と制御方法と制御プログラムと記憶媒体 | |
US20190202017A1 (en) | Selecting device, selecting method, and program | |
JP3699199B2 (ja) | レーザ加工機 | |
US7136718B2 (en) | Numerical control apparatus | |
JP5609731B2 (ja) | 数値制御装置及びクランプ解除方法 | |
JP2010033150A (ja) | 数値制御工作機械 | |
JP2009142915A (ja) | 工作機械およびその切削加工方法 | |
KR20200135943A (ko) | 공작 기계 | |
JP2007094458A (ja) | 数値制御装置 | |
JP2000126965A (ja) | 自動工具交換装置 | |
JP7331596B2 (ja) | 数値制御装置と制御方法 | |
WO2023189525A1 (ja) | 数値制御装置、制御方法及びプログラム | |
JP7401661B2 (ja) | 数値制御装置及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240605 |