(58)【調査した分野】(Int.Cl.,DB名)
前記工程表は、工具の種類、サブプログラム、加工面角度、座標系指定、主軸回転速度、切削送り速度、工具長補正値、工具径補正値に関する情報を含む請求項1に記載の制御装置。
前記加工プログラム中に記載されている指令と、前記工具の種類、サブプログラム、加工面角度、座標系指定、主軸回転速度、切削送り速度、工具長補正値、工具径補正値に関する情報とが矛盾する場合に、前記工程表中にエラー表示をするようにした請求項3に記載の制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載のNC加工システムおよび方法によれば、現場ノウハウ、テストカットあるいはシミュレーションによってのみ得られるプログラムの修正編集を含めた加工条件を確実に抽出してデータベース化することが可能となり、データベース作成に極めて有用な知識データベースを容易に構築することが可能となる。然しながら、上述したように、NCプログラムはGコード等で記述され一般的には非常に分かりにくいため、プログラムの事前チェックは、オペレーターの熟練と注意力に加え時間を要する作業である。
【0006】
従って、特許文献1のNC加工システムおよび方法のように、単にNCプログラムを解析してデータベース化しただけでは、加工プログラム(NCプログラム)中に記載された主軸回転速度、切削送り速度、座標系、工具の種類等が正しくプログラムされているのか、或いは、設定に漏れがないのか、設定値が正しいのか、通常のオペレーターが事前にチェックすることは非常に困難である。
【0007】
本発明は、こうした従来技術の問題を解決することを技術課題としており、オペレーターが、加工内容を容易に理解し、加工プログラムの設定の過誤を容易に発見し、加工プログラムを修正できるようにした工作機械の制御装置を提供することを目的としている。
【課題を解決するための手段】
【0008】
上述の課題を解決するために、本発明によれば、加工プログラムに基づいて工作機械を制御する制御装置において、入力された加工プログラムを解析するプログラム解析部と、前記プログラム解析部で解析した解析結果に基づいて、各工程を前記加工プログラムの実行順に並べ、前記加工プログラム中の工具交換の指令
であるか否かを判定して工具交換毎に、または前記加工プログラムの中の加工面の角度に変化させる指令
であるか否かを判定して加工面変更毎に段落分けした工程表を作成する工程表作成部と、前記工程表作成部で作成した工程表を表示する表示部とを具備する工作機械の制御装置が提供される。
【発明の効果】
【0009】
本発明によれば、加工プログラムを解析し、解析結果に基づいた工程表を表示するようにしたので、オペレーターが、加工内容を容易に理解し、加工プログラムの設定の過誤を容易に発見し、加工プログラムを修正できるようになる。
【図面の簡単な説明】
【0010】
【
図1】本発明による工作機械の制御装置の一例を示すブロック図である。
【
図2A】工程表作成方法を説明するためのフローチャートである。
【
図2B】工程表作成方法を説明するためのフローチャートである。
【
図2C】工程表作成方法を説明するためのフローチャートである。
【
図2D】工程表作成方法を説明するためのフローチャートである。
【
図3A】
図1の制御装置の表示部に表示される工程表の一例である。
【
図3C】
図1の制御装置の表示部に表示されるプレビューウィンドウの一例である。
【
図4A】
図1の制御装置の表示部に表示される使用工具データの一例である。
【
図4B】
図1の制御装置の表示部に表示される使用工具一覧表の一例である。
【
図5A】
図1の制御装置の表示部に表示される座標系設定画面の一例である。
【
図5B】
図1の制御装置の表示部に表示される使用座標系一覧表の一例である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の実施の形態を説明する。
図1において、本発明の実施形態による工作機械20の制御装置10は、工作機械20のNC装置を含む構成とすることができ、入力部12、読取解釈部14、補間部16、サーボ制御部18、プログラム解析部22、記憶部24、工程表作成部26および表示部28を具備している。入力部12は、LANのようなネットワーク手段、キーボード、タッチパネル等より構成することができる。表示部28は、工作機械20のNC装置に付属しているディスプレイによって構成することができる。
【0012】
入力部12へは加工プログラム30、工具データ32、ワークデータ34が入力される。加工プログラム30は例えばCAMシステムによって生成することができる。工具データ32は、エンドミル、ドリル、タップのような工具の種類、工具半径、工具長、刃数のような工具の情報を各工具の工具番号に関連付けてデータ化したものである。工具データ32は、工場内で用いられる全ての工具についてサーバー内に格納しておき該サーバーからLAN経由で入力部12へ送出したり、或いは、CAMオペレーターまたは工作機械20のオペレーターによって手入力したりすることができる。ワークデータ34は、加工プログラム30に従って加工されるワークのどの面のどの点を原点とするかのワーク座標系データである。ワークデータ34は、CADシステム(図示せず)からLAN経由で入力部12へ送出したり、或いは、CAMオペレーターまたは工作機械20のオペレーターによって手入力したりすることができる。
【0013】
入力部12へ入力された加工プログラム30は、矢印12aで示すように、読取解釈部14へ出力され、読取解釈部14は、この加工プログラムを読取り解釈して動作指令14aを出力する。この動作指令は、X軸、Y軸、Z軸方向の送り量と送り速度とを含んでいる。読取解釈部14が出力した動作指令14aは補間部16へ送出される。
【0014】
補間部16は、受け取ったX軸、Y軸、Z軸方向の動作指令14aを補間関数に基づいて補間演算し、送り速度に合ったX軸、Y軸、Z軸の位置指令(パルス位置指令)16aをサーボ制御部18に出力する。サーボ制御部18は、受け取ったX軸、Y軸、Z軸の各位置指令16aから工作機械20のX軸、Y軸、Z軸の各送り軸を駆動するための電流値18aが、工作機械20のX軸、Y軸、Z軸のサーボモータ(図示せず)に出力される。
【0015】
加工プログラム30は、また、矢印12bで示すように、プログラム解析部22へ送出される。プログラム解析部22では、Gコード等で記載されている加工プログラムが解析され、矢印22aで示すように、加工プログラムが1ワード毎に工程表作成部26へ送出される。また、工程表作成部26へは、矢印14bで示すように、読取解釈部14から実行中のプログラムブロックの情報が送出される。工程表作成部26は、プログラム解析部22から1ワード毎に読み取った加工プログラムと、記憶部24からの工具データとに基づいて、工程表を作成する。該工程表は表示部26に表示される。
【0016】
図3Aを参照すると、表示部28に表示される工程表の一例が図示されている。
図3Aにおいて、ウインドウ100は、工程表の領域102と加工プログラムの領域104とを含んでいる。工程表と加工プログラムとを同時に表示することにより、オペレーターは工程表と加工プログラムとを同時に参照して、加工プログラム中の間違いを見つけやすくなる。また、工程表の一部をポインティングデバイスやカーソルまたはタップして選択することによって、加工プログラムの該当箇所がハイライト等で表示され、カーソルが加工プログラムの該当箇所に移動する。更に、加工プログラム実行中は、読取解釈部14からの実行中のプログラムブロック情報に基づいて現在実行されている工程を強調表示する。これにより、工程表と実際の加工プログラムとの対応が容易に理解できる。
【0017】
図3Bを参照すると、領域102に表示される工程表の全体が示されている。本例において、工程表200は、加工プログラム中の各工程を実行順に並べて作成されており、工具交換または加工面変更毎に段落分けされている。工程表200は、また、工具の種類202、サブプログラム204、加工面角度206、座標系指定208、主軸回転速度210、切削送り速度212、工具長補正値214、工具径補正値216の項目を含んでいる。
【0018】
図3Bでは、工具の種類202として、1:フェースミル、2:ドリルおよび3:エンドミルが示されている。サブプログラム204の詳細は、参照符号204aにて示す部分に記載されている。更に、
図3Bの例では、加工面角度206としてA軸、C軸の回転送り軸の角度0.0°が示され、通常G54〜G59のコードで指示されるワーク座標系指定208としてG54、G55、G56が示され、主軸回転速度210として、4000(1/min)、6000(1/min)、8000(1/min)が示され、切削送り速度212として2400(mm/min)、エラー、12000(mm/min)が示され、工具長補正値214として80.1234(mm)、234.5678(mm)、111.2222(mm)が示され、工具径補正値216として62.5(mm)、4.0(mm)が示されている。エラー表示は、該当する値が加工プログラム中に記載されていないことを意味している。
【0019】
図3Aの工程表102を作成するプログラムは、制御装置10の加工データを管理するプログラムのサブルーチンとして構成することができるので、工程表102を加工データと関連付けて保存することによって、この工程表102を後日再利用する際に、例えば
図3Cに示すようなプレビューウィンドウとして表示することによって、加工プログラムの内容を容易に理解することが可能となる。一例として
図3Cに示す加工データ管理のプレビューウィンドウ300は、工程表を表示する領域302と加工プログラムのファイル名を列挙して表示する領域304とを含み、領域304内の任意のプログラム名をクリックまたはタップすることによって、該加工プログラムに対応した過去に作成した工程表が領域302に表示される。
【0020】
図3Bに示した工程表200は、工具の種類202、サブプログラム204、加工面角度206、座標系指定208、主軸回転速度210、切削送り速度212、工具長補正値214、工具径補正値216を含んでいたが、これらの項目のうち特定の項目のみを表示するようにしてもよい。例えば、
図4Aに示すように、特定の加工プログラムで使用される工具のみのデータが表示するようにできる。
図4Aの例では、加工プログラムO300で使用する工具の工具番号400、工具ポットの有無402、工具の種類404、工具径406、工具長408、刃数410が表示されている。このように、特定の加工プログラムで用いる工具に関連したデータのみを表示することによって、設定ミスを低減できる。更に、特定の1つの加工プログラムではなく、
図4Bに示すように、実行する可能性のある複数の加工プログラムで使用される工具の全てを抽出して一覧表示するようにもできる。
図4Bの例では、プログラム番号500に対して使用する工具の番号502−1〜502−14が○印で示されている。これによって、使用する可能性のある工具を過誤により工具マガジンから取り出してしまうことが防止可能となる。
【0021】
更に、
図5Aに示すように、特定の加工プログラムで使用される座標系のみを表示するようにしてもよい。
図5Aの例では、プログラム番号O100の加工プログラムで用いられるワーク座標系指令G54、G55、G54.1の定義が表示されている。このように、特定の加工プログラムで用いる座標系のみを表示することによって、設定ミスを低減できる。更に、特定の1つの加工プログラムではなく、
図5Bに示すように、実行する可能性のある複数の加工プログラムで使用される座標系の全てを抽出して一覧表示するようにもできる。
図5Bの例では、ワーク座標系指令G54およびG54.1が加工プログラムO100とO200で重複していることを示している。そうした場合に、ワーク座標系指令が複数の加工プログラムで重複している旨の警告600を表示するようにできる。これによって、過誤により座標系を重複して使用してしまうことが防止可能となる。
【0022】
以下、
図2A〜
図2Dのフローチャートを参照して、工程表の作成方法を説明する。
工程表作成プログラムが起動すると(ステップS10)、先ず、工程表作成部26がプログラム解析部22から加工プログラムの1ワードを読み取る(ステップS12)。次いで、ステップS14〜ステップS26で、この1ワードが工具番号、主軸回転速度、切削送り速度、加工面割出し、工具長補正量、工具径補正量、傾斜面指定の何れかであるかが判定される。前記1ワードが工具番号、主軸回転速度、切削送り速度、加工面割出し、工具長補正量、工具径補正量、傾斜面指定の何れかである場合、つまりステップS14〜ステップS26の何れかでYesの場合、指令値がメモリーの所定領域に保存または格納され(ステップS28)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0023】
ステップS14〜ステップS26の何れもNoの場合、ステップS30において、前記1ワードがサブプログラムの呼び出し指令であるか否かが判定される。前記1ワードがサブプログラムの呼び出し指令である場合(ステップS30でYesの場合)、工程表にサブプログラムの指令値が書き出され(ステップS34)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0024】
前記1ワードがサブプログラムの呼び出し指令でない場合(ステップS30のでNoの場合)、ステップS32において、前記1ワードがワークの座標系指定の指令であるか否かが判定される。前記1ワードがワークの座標系指定の指令である場合(ステップS32でYesの場合)、工程表にワークの座標系指定の指令値が書き出され(ステップS34)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0025】
前記1ワードがワークの座標系指定の指令でない場合(ステップS32でNoの場合)、ステップS34において、前記1ワードが工具交換指令であるか否かが判定される。前記1ワードが工具交換指令である場合(ステップS34でYesの場合)、前記メモリー領域に工具番号の値が格納されているか否かが判定される(ステップS36)。ステップS36において、前記メモリー領域に工具番号が格納されていない場合(ステップS36でYesの場合)、工程表に警告(エラー)が表示される(ステップS40)。工具番号が前記メモリー領域に格納されている場合(ステップS36でNoの場合)、メモリーに格納されている値(工具番号)が工程表に書き込まれ、該メモリー領域がクリアされ(ステップS38)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0026】
前記1ワードが工具交換指令でない場合(ステップS34でNoの場合)、ステップS42において、前記1ワードが主軸起動指令であるか否かが判定される。前記1ワードが主軸起動指令である場合(ステップS42でYesの場合)、所定のメモリー領域に主軸回転速度の値が格納されているか否かが判定される(ステップS44)。ステップS44において、前記メモリー領域に主軸回転速度が格納されていない場合(ステップS44でYesの場合)、工程表に警告(エラー)が表示される(ステップS46)。工具番号が前記メモリー領域に格納されている場合(ステップS44でNoの場合)、メモリーに格納されている値(主軸回転速度)が工程表に書き込まれ、該メモリー領域がクリアされ(ステップS38)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0027】
前記1ワードが主軸起動指令でない場合(ステップS42でNoの場合)、ステップS48において、前記1ワードが工具長補正指令であるか否かが判定される。前記1ワードが工具長補正指令である場合(ステップS48でYesの場合)、所定のメモリー領域に工具長補正値が格納されているか否かが判定される(ステップS50)。ステップS50において、前記メモリー領域に工具長補正値が格納されていない場合(ステップS50でYesの場合)、工程表に警告(エラー)が表示される(ステップS52)。工具長補正値が前記メモリー領域に格納されている場合(ステップS50でNoの場合)、メモリーに格納されている値(工具長補正値)が工程表に書き込まれ、該メモリー領域がクリアされ(ステップS38)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0028】
前記1ワードが工具長補正指令でない場合(ステップS48でNoの場合)、ステップS54において、前記1ワードが工具径補正指令であるか否かが判定される。前記1ワードが工具径補正指令である場合(ステップS54でYesの場合)、所定のメモリー領域に工具径補正値が格納されているか否かが判定される(ステップS56)。ステップS56において、前記メモリー領域に工具径補正値が格納されていない場合(ステップS56でYesの場合)、工程表に警告(エラー)が表示される(ステップS60)。工具径補正値が前記メモリー領域に格納されている場合(ステップS56でNoの場合)、メモリーに格納されている値(工具径補正値)が工程表に書き込まれ、該メモリー領域がクリアされ(ステップS58)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0029】
前記1ワードが工具径補正指令でない場合(ステップS54でNoの場合)、ステップS62において、前記1ワードが傾斜面割出し指令であるか否かが判定される。前記1ワードが傾斜面割出し指令である場合(ステップS62でYesの場合)、所定のメモリー領域に傾斜面指定値が格納されているか否かが判定される(ステップS64)。ステップS64において、前記メモリー領域に傾斜面指定値が格納されていない場合(ステップS64でYesの場合)、工程表に警告(エラー)が表示される(ステップS66)。傾斜面指定値が前記メモリー領域に格納されている場合(ステップS64でNoの場合)、メモリーに格納されている値(傾斜面指定値)が工程表に書き込まれ、該メモリー領域がクリアされ(ステップS58)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0030】
前記1ワードが傾斜面割出し指令でない場合(ステップS62のでNoの場合)、ステップS68において、前記1ワードが切削モード切換指令であるか否かが判定される。前記1ワードが切削モード切換指令ではない場合(ステップS68でNoの場合)、ステップS70で前記1ワードがプログラム終了指令であるか否かが判定される。プログラム終了指令である場合(ステップS70でYesの場合)、工程表作成プログラムは終了し(ステップS72)、プログラム終了指令ではない場合(ステップS70Noの場合)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0031】
前記1ワードが切削モード切換指令である場合(ステップS68でYesの場合)、ステップS74において早送りモードから切削送りモードへの変更指令であるか否か判定される。前記1ワードが早送りモードから切削送りモードへの変更指令ではない場合(ステップS74でNoの場合)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0032】
前記1ワードが早送りモードから切削送りモードへの変更指令である、つまり切削開始が指令されている場合(ステップS74でYesの場合)、加工面の角度に変化があれば加工面の角度情報を工程表に書き込む(ステップS76)。次に、切削送り速度が所定のメモリー領域に格納されているか否かが判定される(ステップS78)。ステップS78で前記メモリー領域に切削送り速度が格納されていない場合(ステップS78でYesの場合)、工程表に警告(エラー)が表示され(ステップS82)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。ステップS78で前記メモリー領域に切削送り速度が格納されている場合(ステップS78でNoの場合)、切削送り速度が工程表に書き込まれ(ステップS80)、フローはステップS12へ帰還して加工プログラムの次の1ワードが読み込まれる。
【0033】
図3Aの工程表は、使用工具を基準として表示されており、「どの工具で、どの加工プログラムを使用して、どの加工面のどの座標系で、どのような加工条件で」加工しているのかが明確になる。また工程表を工具を基準とするのではなく、加工面を基準として表示することによって、「どの加工面を、どの工具を使用し、どの加工プログラム使用し、どのような加工条件で」加工するのかが明確になる。
【0034】
既述したように、必要なプログラム関連情報が加工プログラム中に記載されていなかったり、呼び出される場所にサブプログラムが存在しない場合に警告(エラー)を表示することによって、加工プログラムの修正が容易になる。