(57)【特許請求の範囲】
【請求項１】
(i)ＮＣプログラムに基づく第１シミュレーション画像を表示する第１シミュレーション表示エリアと、(ii)前記ＮＣプログラムを表示するとともに、前記第１シミュレーション画像に基づいて選択されシミュレーションが停止した時点で表示される静止画に対応するブロックまたはパートプログラムを前記ＮＣプログラムの他の部分と識別できるように表示するＮＣプログラム表示エリアと、(iii)前記選択されたブロックまたはパートプログラムに対して変更処理が施されたＮＣプログラムに基づく第２シミュレーション画像を表示する第２シミュレーション表示エリアと、(iv)前記変更処理によって短縮された加工時間帯をグラフ表示するグラフ表示エリアと、を表示手段に表示させる表示制御部を有する、情報処理装置。
【請求項２】
前記表示制御部は、前記ＮＣプログラム表示エリアに、前記第１シミュレーション画像に基づいて選択された時点に対応するブロックまたはパートプログラムを前記ＮＣプログラムの他の部分と識別できるように表示し、
互いに異なる二以上の変更処理が別々に施されたＮＣプログラムに基づく前記第２シミュレーション画像を個別に表示する複数の前記第２シミュレーション表示エリアを表示手段に表示させる、請求項１に記載の情報処理装置。
【請求項３】
(i)加工物の構造データと前記加工物を加工するために用いる工作機械の情報とをもとに生成された、前記工作機械での加工の第１シミュレーション画像を表示する第１シミュレーション表示エリアと、(ii)前記第１シミュレーション画像に基づいて選択されシミュレーションが停止した時点で表示される静止画に対応する前記加工物の構造データまたは前記工作機械の情報に対して変更処理が施され、前記変更処理後に生成された前記工作機械での加工の第２シミュレーション画像を表示する第２シミュレーション表示エリアと、(iii)前記変更処理によって短縮された加工時間帯をグラフ表示するグラフ表示エリアと、を表示手段に表示させる表示制御部を有する、情報処理装置。
【請求項４】
前記表示制御部は、前記第２シミュレーション表示エリアに、前記第１シミュレーション画像に基づいて選択された時点に対応する前記加工物の構造データまたは前記工作機械の情報に対して変更処理が施され、前記変更処理後に生成された前記工作機械での加工の第２シミュレーション画像を表示し、
互いに異なる二以上の変更処理が別々に施された前記加工物の構造データまたは前記工作機械の情報に基づく前記第２シミュレーション画像を個別に表示する複数の前記第２シミュレーション表示エリアを表示手段に表示させる、請求項３に記載の情報処理装置。
【請求項５】
(i)Ｇコードに基づく第１シミュレーション画像を表示する第１シミュレーション表示エリアと、(ii)前記Ｇコードを表示するとともに、前記第１シミュレーション画像に基づいて選択されシミュレーションが停止した時点で表示される静止画に対応するＧコードの対応部分が前記Ｇコードの他の部分と識別できるように表示するＧコード表示エリアと、(iii)前記選択されたＧコードの対応部分に対して変更処理が施された変更Ｇコードに基づく第２シミュレーション画像を表示する第２シミュレーション表示エリアと、(iv)前記変更処理によって短縮された加工時間帯をグラフ表示するグラフ表示エリアと、を表示手段に表示させる表示制御部を有する、情報処理装置。
【請求項６】
前記表示制御部は、前記Ｇコード表示エリアに、前記Ｇコードを表示するとともに、前記第１シミュレーション画像に基づいて選択された時点に対応するＧコードの対応部分が前記Ｇコードの他の部分と識別できるように表示し、
互いに異なる二以上の変更処理が別々に施されたＧコードに基づく前記第２シミュレーション画像を個別に表示する複数の前記第２シミュレーション表示エリアを表示手段に表示させる、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械に用いられるＮＣプログラムなどのプログラムを処理するための情報処理装置に関するものである。
【背景技術】
【０００２】
従来、ＮＣプログラムが新規に作成されると、これを用いた加工のシミュレーションが行われる。これにより、当該ＮＣプログラムで指定した工作機械の動作や切削条件等が適切であるか否かをチェックし、必要に応じてＮＣプログラムに修正を施す作業が行われている。
【０００３】
特許第６４３８０２３号公報には、工具の位置データ（ＣＬデータ：Cutter Location data）の非切削経路を最適化することで、加工時間を短縮できるＮＣプログラムを製造できることが開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６４３８０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１においては、最適化されたＮＣプログラムがどのようなものかを直感的に把握しにくかった。
【課題を解決するための手段】
【０００６】
そこで、本発明は、請求項に記載した、情報処理装置および情報処理プログラムを提供するものである。
【発明の効果】
【０００７】
本発明によれば、変更されたＮＣプログラムなどのプログラムがどのようなものかが直感的に把握しやすくなる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置の一実施形態を示すブロック図である。
【図２】実施形態１における第１シミュレーション表示エリアの一例を示す図である。
【図３】実施形態１における第１シミュレーション表示エリアとＮＣプログラム表示エリアを表示させた状態を示す図である。
【図４】実施形態１における第１シミュレーション表示エリア、第２シミュレーション表示エリア、および加工時間表示エリアを表示させた状態を示す図である。
【図５】実施形態１における第１シミュレーション表示エリア、複数の第２シミュレーション表示エリア、およびグラフ表示エリアを表示させた状態を示す図である。
【図６】実施形態１の情報処理装置および情報処理プログラムを用いて、ＮＣプログラムに変換処理を施す際の処理の流れを示すフローチャートである。
【図７】実施形態２における（ａ）座標を変更可能な編集画面を表示させた状態、（ｂ）ブロックを変更可能な編集画面を表示させた状態を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明に係る情報処理装置および情報処理プログラムの実施形態について図面を用いて説明する。なお、後述する実施形態の説明は例示であって個々の実施形態に制限されるものではない。各実施形態は、当業者によって変形および変更が適宜可能である。また、各実施形態は、それぞれ独立の個別形態ではなく、一つの実施形態にのみ記載された一部の機能や構成であっても他の実施形態にも当然適用することが可能である。
【００１０】
＜実施形態１＞
本実施形態の情報処理装置１は、工作機械の制御に用いられるＮＣプログラムを処理するためのものであり、数値制御装置やパーソナルコンピュータ等のコンピュータによって構成されている。具体的には、情報処理装置１は、図１に示すように、ユーザからの入力を受け付ける入力手段２と、ＮＣプログラムや後述する各種の表示エリア等を表示する表示手段３と、を備える。また、情報処理装置１は、本実施形態の情報処理プログラム１ａや各種データを記憶する記憶手段４と、各種の演算処理を実行し後述する各構成部として機能する演算処理手段５と、を備える。以下、各構成や手段について詳細に説明する。
【００１１】
入力手段２は、ユーザからの指示や情報の入力を受け付けるためのものである。本実施形態において、入力手段２は、表示手段３上で指定された位置情報や、入力されたデータ等を演算処理手段５へ出力するようになっている。
【００１２】
表示手段３は、ＮＣプログラムによって制御される工作機械での加工をシミュレートするシミュレーション画像や、ＮＣプログラム等を表示するためのものである。本実施形態において、表示手段３は、後述する表示制御部５７から入力された表示内容を表示させるようになっている。
【００１３】
本実施形態において、入力手段２および表示手段３は、タッチパッド等による入力手段２としての位置入力機能と、液晶パネル等による表示手段３としての表示機能とを兼ね備えたタッチパネルによって構成されている。そして、当該タッチパネル上のタッチ位置に基づいて、各種のデータや情報を演算処理手段５へ受け渡すようになっている。
【００１４】
なお、入力手段２および表示手段３は、タッチパネルに限定されるものではなく、マウス等のポインティングデバイスからなる入力手段２と、液晶モニタ等のディスプレイ装置からなる表示手段３とをそれぞれ別体として有していてもよい。この場合、表示手段３にはマウスポインタが表示されるため、クリックされたときのマウスポインタの位置に基づいて、各種のデータや情報を演算処理手段５へ提供することとなる。
【００１５】
記憶手段４は、各種のデータを記憶するとともに、演算処理手段５が演算処理を行う際のワーキングエリアとして機能するものである。本実施形態において、記憶手段４は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびフラッシュメモリ等によって構成されている。図１に示すように、記憶手段４は、プログラム記憶部４１と、ＮＣプログラム記憶部４２と、ＧＵＩデータ記憶部４３と、工作機械情報記憶部４４と、を有している。以下、各構成部についてより詳細に説明する。
【００１６】
プログラム記憶部４１には、本実施形態の情報処理プログラム１ａがインストールされている。そして、演算処理手段５が、情報処理プログラム１ａを実行することにより、情報処理装置１としてのコンピュータを後述する各構成部として機能させるようになっている。
【００１７】
ＮＣプログラム記憶部４２は、ＮＣプログラムを記憶するものである。本実施形態のＮＣプログラム記憶部４２は、後述する変更処理前のＮＣプログラムや変更処理をした後の変更後ＮＣプログラムなどを記憶している。本実施形態のＮＣプログラムは複数のブロックから構成されている。また、ＮＣプログラムは、パートプログラムを含んでいてもよい。各ブロックは、工作機械の主軸の回転数、移動指令における座標や送り速度などを数値制御するために、ＮＣコードによって記述されている。ＮＣコードは、アルファベット、記号（＋、＊など）、数値を含み構成されている。例えば、Ｇ９０は、アブソリュート指令コードであり、Ｍ９８は、パートプログラムやサブプログラムの呼び出すコードである。
【００１８】
なお、情報処理プログラム１ａやＮＣプログラムの利用形態は、上記構成に限られるものではない。例えば、ＣＤ−ＲＯＭやＵＳＢメモリ等のように、コンピュータで読み取り可能な記録媒体に情報処理プログラム１ａやＮＣプログラムを記憶させておき、当該記録媒体から直接読み出して実行してもよい。また、外部サーバ等からクラウドコンピューティング方式やＡＳＰ（Application Service Provider）方式で利用してもよい。
【００１９】
ＧＵＩ（Graphical User Interface）データ記憶部４３は、表示手段３上で入力手段２による直感的な操作を可能にするグラフィカルユーザインターフェース（Graphical User Interface）を表示するためのＧＵＩデータを記憶するものである。具体的には、図２から図４に示すような第１シミュレーション表示エリア、第２シミュレーション表示エリア、ＮＣプログラム表示エリア、加工時間表示エリア、グラフ表示エリア、および各種のボタン等を表示するためのＧＵＩデータが記憶されている。後述する本実施形態の第１シミュレーション画像は、第１シミュレーション表示エリアに表示され、後述する本実施形態の第２シミュレーション画像は、第２シミュレーション表示エリアに表示される。
【００２０】
工作機械情報記憶部４４は、工作機械に関する各種の情報である工作機械情報を記憶するものである。ここで、工作機械情報とは、工作機械で共通する情報と、工作機械の個々の製品に固有の情報と、を含む情報である。具体的には、工作機械が５軸加工機である場合、工作機械に共通する情報とは、例えば、５軸加工機での機械原点、５軸加工機での機械ストローク長、主軸径、５軸加工機で用いることができるＮＣプログラム用パートプログラム、５軸加工機で使用できる工具などである。また、工作機械の個々の製品固有の工作機械情報としては、工作機械の製品番号、機械原点、機械ストローク長、チップコンベアの種類、チップコンベアで用いることができるＮＣプログラム用パートプログラム、数値制御装置の種類（Ｃ社製、Ｄ社製など）などがある。
【００２１】
本実施形態では、工作機械Ａ，Ｂ，Ｃについて、下記（１）〜（４）に示すような工作機械情報が工作機械情報記憶部４４に記憶されている。
【００２２】
（１）工作機械Ａ（５軸加工機）の製品番号ＡＡＡの工作機械情報
・製品番号ＡＡＡ
・機械原点
・機械ストローク長
・タレット数
・主軸径
・チップコンベアＡＡＡ
・数値制御装置の種類
・工作機械Ａで用いることができるＮＣプログラム用パートプログラム
・チップコンベアＡＡＡで用いることができるＮＣプログラム用パートプログラム
【００２３】
（２）工作機械Ａの製品番号ＡＡＢの工作機械情報
・製品番号ＡＡＢ
・機械原点
・工作機械Ａで用いることができるＮＣプログラム用パートプログラム
・工作機械Ａの製品番号ＡＡＢで用いることができるＮＣプログラム用パートプログラム
【００２４】
（３）工作機械Ｂの製品番号ＢＡＡの工作機械情報
・製品番号ＢＡＡ
・機械原点
・機械ストローク長
・主軸頭
・チップコンベアＢＢＢ
・数値制御装置の種類
・工作機械Ｂで用いることができるＮＣプログラム用マクロ
・チップコンベアＢＢＢで用いることができるＮＣプログラム用マクロ
【００２５】
（４）工作機械Ｃ（付加加工機）の製品番号ＣＡＡの工作機械情報
・製品番号ＣＡＡ
・機械原点
・機械ストローク長
・レーザの種類
・付加する材料の種類（材料Ａと材料Ｂ）
・数値制御装置の種類
・工作機械Ｃで用いることができるＮＣプログラム用パートプログラム
・材料Ａで付加加工を行う場合に用いることができるＮＣプログラム用パートプログラム
【００２６】
つぎに、演算処理手段５は、ＣＰＵ（Central Processing Unit）等によって構成されており、記憶手段４にインストールされた情報処理プログラム１ａを実行する。図１に示すように、本実施形態の演算処理手段５は、第１生成部５１と、第２生成部５２と、選択検出部５３と、変更処理部５４と、加工時間算出部５５と、グラフ生成部５６と、表示制御部５７として機能する。なお、演算処理手段５として、ＣＰＵではなくＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）などを用いてもよい。以下、各構成部についてより詳細に説明する。
【００２７】
第１生成部５１および第２生成部５２は、ＮＣプログラムシミュレータによって構成されており、ＮＣプログラムに基づくシミュレーション画像を生成するものである。本実施形態において、第１生成部５１は、後述する変更処理前のＮＣプログラムに基づくシミュレーション画像である第１シミュレーション画像を生成する。また、第２生成部５２は、変更処理後のＮＣプログラムに基づくシミュレーション画像である第２シミュレーション画像を生成する。さらに、第２生成部５２は、互いに異なる二以上の変更処理が別々に施されたＮＣプログラムがある場合、各ＮＣプログラムに基づく第２シミュレーション画像をそれぞれ生成する。生成された第１シミュレーション画像は、表示手段３の第１シミュレーション表示エリアに表示される。第２シミュレーション画像は、表示手段３の第２シミュレーション表示エリアに表示される。
【００２８】
なお、本実施形態において、シミュレーション画像は、３次元のコンピュータグラフィックス動画像であるが、この構成に限定されるものではなく、所定時間間隔ごとの静止画像を時系列的に表示させるようにしてもよい。また、シミュレーション画像は、複数のＮＣプログラムから生成される各シミュレーション動画を繋げたものも含む。
【００２９】
選択検出部５３は、入力手段２を介してユーザから入力された表示手段３上のタッチ位置を検出するものである。本実施形態において、選択検出部５３は、表示手段３上におけるタッチ位置を監視する。そして、図２に示すように、第１シミュレーション表示エリアに表示されている第１シミュレーション画像がタッチ（選択）されたとき、当該選択された時点に対応するブロックまたはパートプログラムを特定する。また、選択検出部５３は、図３に示すように、表示手段３に表示された各種のボタンがタッチされたとき、当該タッチされたボタンを特定する。
【００３０】
変更処理部５４は、第１シミュレーション画像に基づいて選択された時点に対応するブロックまたはパートプログラムに対して、変更処理を施すものである。図３に示す実施形態において、変更処理部５４は、表示手段３に表示された「変更」ボタンがタッチ選択されたとき、選択検出部５３によって特定されたブロックまたはパートプログラムに対し、各種の変更処理を実行するようになっている。
【００３１】
図３に示すＮＣプログラム表示エリアに表示されているＮＣプログラムは、シーケンス番号（Ｎ番号）が１つのブロックになっている。ただし、これに限定されるものではない。例えば、シーケンス番号（Ｎ番号）の中に複数のブロックが含まれるＮＣプログラムでもよい。また、変更処理は、特定されたブロックだけでなく、その前後の複数のブロックを含めて変更してもよい。
【００３２】
例えば、特定されたブロック（図３のＮ２２１０）と、それ以降の複数のブロック（例えば、Ｎ２２２０からＮ２３１０の１０個のブロック）と、を変更処理してもよい。変更処理はブロックの削除も含んでいてもよく、その場合、本実施形態においては、ブロックを１つ削除すると、Ｎ番号が１つ少なくなる。他の例として、特定されたブロック（図３のＮ２２１０）と、その特定されたブロックの前の複数のブロック（例えば、Ｎ２１６０からＮ２２００の５個のブロック）と、その特定されたブロックの後の複数のブロック（例えば、５ブロック）と、を変更処理してもよい。
【００３３】
さらに、変更処理は、特定されたブロックの中にマクロプログラムやパートプログラムを呼び出すためのＭコード（例えば、Ｍ９８）を追記するような変更処理の場合もある。マクロプログラムやパートプログラムを実行中のときに、第１シミュレーション画像に基づいてユーザが所定時の画像を選択した場合には、マクロプログラム自体やパートプログラム自体をまるごと別のマクロプログラムやパートプログラムに変更する変更処理を行ってもよい。また、選択された画像に対応する部分がマクロプログラムやパートプログラムの場合に、マクロプログラムやパートプログラムの中にあるブロック、条件式、引数などを変更する変更処理を行ってもよい。
【００３４】
変更処理は、例えば、ワークを加工しない非切削経路を最短距離にするように変更前のＮＣプログラムに関連する工具位置データであるＣＬデータを解析し、最短距離にした座標位置をブロックで規定したＮＣプログラムに変更する処理を言う。ＣＬデータを必ず解析する必要はなく、変更前のＮＣプログラムに記載されている座標位置を変更して変更後のＮＣプログラムを生成してもよい。この場合は、予め所定の工具の第１移動経路（インクリメンタル座標情報やアブソリュート座標情報）がプログラムされていた場合に、そのプログラムに対応した工具の第２移動経路のテーブルが記憶されているか、機械学習が可能な人工知能的な機能を有する人工知能部などが必要になる。
【００３５】
また、工作機械ＡＡＡの過去に使用したＮＣプログラムを分析し、選択されたブロックの最適化処理を行ってもよい。例えば、ワークを曲面Ａに加工するブロックを選択し最適化処理のボタンを押した場合に、曲率が曲面Ａより大きい曲面Ｂを加工するＮＣプログラムと曲率が曲面Ａよりも小さい曲面Ｂを加工するＮＣプログラムとのデータから曲面Cに対するＮＣプログラムを生成する。生成されたＮＣプログラムと、選択されたブロックと、曲面ＡのＣＡＤデータとを比較し、生成されたＮＣプログラムが曲面ＡのＣＡＤデータとの類似度が大きければ、選択されたブロックを新たに生成したＮＣプログラムに変更し、全体のＮＣプログラムを最適化する。
【００３６】
他の変更処理の例としては、変更前のＮＣプログラムの中で、特定のワーク面を荒加工するコードが記載されている場合がある。この場合に、特定の面を一定のピッチで直線上に工具軌跡が移動するように加工した後に、前の加工の工具軌跡から半ピッチ分をずらした工具軌跡で加工するようにコードを変更する変更処理を行い、変更後のＮＣプログラムを生成する場合がある。この変更処理では、荒加工で生じやすい取り代の急変による工具の欠損を防ぎ、工具寿命を延ばすことできる最適化処理が可能になる。
【００３７】
他の変更処理の例としては、変更前のＮＣプログラムの中で、ワークをＺ軸に沿ってみた場合に直角に削るプログラムがある場合がある。この場合に、工具の移動経路を直角に削る部分に曲面（コーナ）を付けるプログラムを挿入する変更処理を行い、変更後のＮＣプログラムを生成する場合がある。この場合は、直角に削る部分で工具の食い込みを防ぐとともに、 工具負荷の急変による工具の破損を未然に防ぐ最適化処理が可能になる。
【００３８】
なお、本実施形態において、変更処理とは、加工時間の短縮、加工精度の向上、電力やクーラントの節約、切屑の効率的な除去、工程管理の可視化による効率化、工具の破損防止、工具交換頻度の低減等のように、機械加工にメリットをもたらす処理である。
【００３９】
加工時間算出部５５は、第１シミュレーション画像に基づいて選択されたブロックまたはパートプログラムについて、変更処理部５４による変更処理を施す前の加工時間と、変更処理を施した後の加工時間とを算出するものである。ここで、加工時間とは、加工開始から変更前のコードが実行された後までの時間、加工開始から変更後のコードが実行された後までの時間、プログラム実行開始から変更前のコードが実行された後までの時間、プログラム実行開始から変更後のコードが実行された後までの時間などである。また、加工時間は、変更するブロックの変更前の実行時間、変更処理された後のＮＣコードだけを実行した時間でもよい。なお、加工時間算出部５５は、変更処理を施す前の加工時間と、変更処理を施した後の加工時間との差異を算出してもよい。
【００４０】
グラフ生成部５６は、プログラムの実行時間やプログラムを実行したことによる加工時間を示すグラフであって、その中に、変更したプログラム部分に対応した対応時間を示したグラフを生成するものである。本実施形態では、後述するとおり、互いに異なる二以上の変更処理が別々に施されたＮＣプログラムに基づく第２シミュレーション画像がある場合、図５に示すとおり、各変更処理によって変更された加工時間帯を示すグラフを生成するようになっている。
【００４１】
表示制御部５７は、表示手段３の表示内容を制御するものである。本実施形態において、表示制御部５７は、第１生成部５１や第２生成部５２によって生成されたシミュレーション画像と、ＧＵＩデータ記憶部４３から読み出したＧＵＩデータとに基づいて、図２から図４に示すような第１シミュレーション表示エリアや第２シミュレーション表示エリアを表示手段３に表示させる。
【００４２】
また、表示制御部５７は、ＮＣプログラム記憶部４２から読み出したＮＣプログラムと、ＧＵＩデータとに基づいて、図３に示すようなＮＣプログラム表示エリアを表示手段３に表示させる。そして、表示制御部５７は、選択検出部５３によって選択されたブロックまたはパートプログラムをＮＣプログラムの他の部分と識別できるように表示する。識別表示としては、図３に示すような矢印を付す他に、太文字やハイライト表示をしたり、目立つ色に変更してもよい。
【００４３】
さらに、表示制御部５７は、加工時間算出部５５によって算出された加工時間と、ＧＵＩデータとに基づいて、図４に示すような加工時間表示エリアや、図５に示すようなグラフ表示エリアを表示手段３に表示させてもよい。
【００４４】
つぎに、本実施形態の情報処理装置１および情報処理プログラム１ａによる作用について説明する。
【００４５】
以下、本実施形態の情報処理装置１および情報処理プログラム１ａを用いてＮＣプログラムを最適化する処理について、表示手段３に表示されたグラフィカルユーザインターフェースを操作する際の処理に沿って図６を用いて説明する。
【００４６】
本実施形態の情報処理装置１および情報処理プログラム１ａを用いてＮＣプログラムを最適化する場合、まず、第１生成部５１が、工作機械Ａ（５軸加工機）の工作機械情報ＡをもとにＮＣプログラムに基づく第１シミュレーション画像を生成する（ステップＳ１）。図２に示すように、表示制御部５７が当該第１シミュレーション画像を第１シミュレーション表示エリアに表示する（ステップＳ２）。
【００４７】
ここで、工作機械情報Ａとは、工作機械Ａ（５軸加工機）で共通する情報と、工作機械Ａ（５軸加工機）の個々の製品に固有の情報と、を含む情報である。工作機械Ａに共通する情報とは、例えば、５軸加工機での機械原点、５軸加工機での機械ストローク長、主軸径、５軸加工機で用いることができるＮＣプログラム用パートプログラム、５軸加工機で使用できる工具などである。個々の製品固有の工作機械情報としては、工作機械Ａ（５軸加工機）の製品番号ＡＡＡ、製品番号ＡＡＡの機械原点、製品番号ＡＡＡの機械ストローク長、チップコンベアの種類（チップコンベアＡＡＡ）、チップコンベアＡＡＡで用いることができるＮＣプログラム用パートプログラム、数値制御装置の種類（Ｃ社製、Ｄ社製など）などがある。
【００４８】
つぎに、ユーザが第１シミュレーション画像を見ながら、最適化したいタイミングで第１シミュレーション画像をタッチすると、選択検出部５３が第１シミュレーション画像に基づく選択を検出する（ステップＳ３）。そして、表示制御部５７が、選択された時点に対応するブロックまたはパートプログラムをＮＣプログラムの他の部分と識別できるように表示する（ステップＳ４）。これにより、ユーザはシミュレーション画像を見ながら最適化処理を施したい箇所を直感的に選択でき、操作性が向上する。
【００４９】
つづいて、図３に示すように、ユーザが表示手段３上の「変更」ボタンをタッチすると、変更処理部５４が、第１シミュレーション画像に基づいて選択された時点に対応するブロックまたはパートプログラムに変更処理を施す（ステップＳ５）。なお、ユーザが表示手段３上の「再スタート」ボタンをタッチすると、第１シミュレーション画像の再生が再スタートされ、変更処理を施したい箇所を選択し直すことができる。
【００５０】
つぎに、第２生成部５２が、変更処理後のＮＣプログラムに基づく第２シミュレーション画像を生成するとともに（ステップＳ６）、加工時間算出部５５が、変更処理を施す前の加工時間と、変更処理を施した後の加工時間とを算出する（ステップＳ７）。これにより、表示制御部５７は、図４に示すように、第１シミュレーション画像に加えて、第２シミュレーション画像を第２シミュレーション表示エリアに表示するとともに（ステップＳ８）、各シミュレーション表示エリアに付随させた各加工時間表示エリアに変更処理を施す前後の加工時間を表示する（ステップＳ９）。
【００５１】
本実施形態においては、工具の移動経路を短くすることにより加工時間を短くしている。そのため、選択されたブロックやパートプログラムの工具の座標位置や座標位置への移動指令などのＮＣコードを変更する変更処理を施している。図４において、第１シミュレーション画像では、工具が加工領域の一度上方に退避した後に、図の左側に移動し、その後加工位置に向かって移動する動画になっている。これに対して、第２シミュレーション画像では、工具が上方に退避することなく、左側に移動し、その後加工位置に向かって移動する動画になっている。
【００５２】
ステップＳ１からステップＳ９が実行されることにより、ユーザは、変更処理を施すことによって短縮される加工時間を直感的に把握し、当該変更処理を採用するか否かを判断しやすい。そして、図４に示すように、ユーザが表示手段３上の「選択」ボタンのいずれかをタッチすると、選択検出部５３がユーザによる選択を検出し（ステップＳ１０）、当該選択された方のＮＣプログラムがＮＣプログラム記憶部４２に記憶される（ステップＳ１１）。
【００５３】
なお、本実施形態では、単一の変更処理をシミュレートする場合について説明したが、この構成に限定されるものではなく、互いに異なる二以上の変更処理が別々に施されたＮＣプログラムを同時にシミュレートしてもよい。例えば、図５に示すように、第２シミュレーション表示エリアを複数配置し、加工時間を最適化する変更処理を施したＮＣプログラムに基づく第２シミュレーション画像と、工具交換頻度を最適化する変更処理を施したＮＣプログラムに基づく第２シミュレーション画像のそれぞれを表示させてもよい。
【００５４】
また、グラフ生成部５６によって、それぞれの変更処理による加工時間帯を示すグラフを生成させ、図５に示すように、グラフ表示エリアに表示させてもよい。これにより、ユーザは各変更処理によって最適化された時間帯を直感的に把握し、いずれの変更処理を採用するか否かを判断しやすい。詳細を以下で説明する。
【００５５】
図５は、加工時間が短縮することが可能な工具の移動経路を短くする変更処理をしたＮＣプログラムの第２シミュレーション画像Ａと、工具交換頻度が少なくなるように回転数を下げる変更処理をしたＮＣプログラムの第２シミュレーション画像Ｂとを生成し、表示手段３上の第２シミュレーション画像表示エリアに表示している。
【００５６】
また、図５に示す表示手段３の表示において、下方のグラフ表示エリアに２つのグラフが表示されている。１つのグラフ（第１グラフ）は、変更処理を施していないＮＣプログラムを実行した場合の実行時間を示したグラフである。図５において、変更処理を施していないＮＣプログラムは、２０分程度でプログラムの実行が終了する帯グラフの例を示している。本実施形態のプログラムの実行時間は、ワークを加工してワークの加工が終了する時間でもあるため加工時間ともいう。
【００５７】
一方、もう１つのグラフ（第２グラフ）は、工具移動経路を短くする変更処理Ａと工具主軸の回転数を下げる変更処理Ｂとを行ったＮＣプログラムの実行時間を示した帯グラフの例である。第２グラフには、変更処理Ａに対応する部分の時間を時間Ａ１と時間Ａ２として示し、変更処理Ｂに対応する部分の時間を時間Ｂ１と時間Ｂ２として示している。同様に、第１グラフにも、変更処理前の変更処理Ａに対応する部分の時間を時間Ａ１と時間Ａ２として示し、変更処理前の変更処理Ｂに対応する部分の時間を時間Ｂ１と時間Ｂ２として示している。
【００５８】
図５においては、グラフ表示エリアに第１グラフと第２グラフとが並んで表示されているため、ＮＣプログラムの実行による加工時間が第２グラフの方が短くなっていることが直感的に分る。また、変更処理Ａは、加工時間を短縮することに寄与しているが、変更処理Ｂは、加工時間の短縮には寄与しておらず加工時間自体は長くなっている。そのため、ユーザは、表示手段３に表示されている情報をもとに、加工時間の短縮を目的として、変更処理Ａだけを行ったＮＣプログラムを選択し、ワークの加工を行うことを選択することもできる。この場合は、図５に示すＡ選択のボタンを押すかクリックする。
【００５９】
また、加工時間は少し伸びてしまうが、工具交換の頻度が少なくなるため工具を購入する費用を抑えることを目的として、変更処理Ｂだけを行ったＮＣプログラムを選択し、ワークの加工を行うことを選択することもできる。この場合は、図５に示すＢ選択のボタンを押すかクリックする。
【００６０】
図５においては、第２グラフは、変更処理Ａと変更処理Ｂとを行ったＮＣプログラムを実行した際の加工時間を示している。この第２グラフに示される加工時間は、変更処理Ｂを行っているが何も変更処理をしないＮＣプログラムを実行した際の加工時間より短い。そこで、２つの変更処理（変更処理Ａと変更処理Ｂ）を行ったＮＣプログラムを用いてワークを加工することを選択することも可能である。この場合は、図５に示すＡとＢの両方を選択のボタンを押すかクリックする。
【００６１】
以上のような実施形態１によれば、以下のような効果を奏する。
まず、
１．ユーザはシミュレーション画像を見ながら変更処理を施したい箇所を直感的に選択でき、操作性を向上することができる。
さらに、表示手段３に表示する態様によっては、次の効果を有する。
２．変更処理を施すことによって短縮される加工時間を直感的に把握し、当該変更処理を採用するか否かを判断しやすい。
３．互いに異なる二以上の変更処理をシミュレートする場合、各変更処理によって最適化される時間帯を直感的に把握し、いずれの変更処理を採用するか否かを判断しやすい。
【００６２】
＜実施形態２＞
実施形態１の図３は、変更ボタンをクリックすれば、第２シミュレーション画像を生成する形態である。それに対して、実施形態２では、図７に示すように、変更ボタンをクリックした後に、別のウィンドウが開き、モーダル指令や座標を入力できる入力欄などがある編集画面を表示する形態である。
【００６３】
例えば、図３に示す第１シミュレーション画像で変更したい工程を含む時点を選択し、シミュレーションをその時点で止め、対応するＮＣプログラムを確認する。ＮＣプログラムの確認は、図３に表示されるＮＣプログラムの一部だけでなく、上下にスクロールさせて、作業者が気になる箇所を確認することができる。ＮＣプログラムを確認し、変更したい場合は図３に示す変更ボタンを押すと、図７（ａ）に示す編集画面が表示される。
【００６４】
図７（ａ）に示す編集画面は、選択された時のモーダル指令があればそのモーダル指令が表示され、本実施形態では「Ｇ００」のモーダル指令コードが表示されている。本実施形態の編集画面では、この「Ｇ００」のモーダル指令を編集可能になっているので、「Ｇ０１」などに変更することができる。
【００６５】
さらに、図７（ａ）に示した編集画面には、第１シミュレーション画像で選択した選択画像に対応した対応ブロックが選択点として表示されている。本実施形態では、Ｘ座標、Ｙ座標、Ｚ座標の座標が表示されており、それぞれＸ座標、Ｙ座標、Ｚ座標の数字を変更することができるようになっている。また、対応ブロックに対応した対応シミュレーション画像を表示している。これにより、シミュレーション画像を確認しながら、座標の数値を変更することができる。本実施形態では、ブロックは座標に関するものだけであったが、それに限定されない。ブロックそのものを表示して、自由に編集できるような編集画面でもよい。ここでのブロックに対応したシミュレーション画像は、選択されたブロックだけのシミュレーション動画だけでなく、選択されたブロックの前後のブロックを複数含めたシミュレーション動画でもよい。複数のブロックに対応したシミュレーション動画では、選択したブロックの動画が表示されているときに、背景画像の色を変えるなど、シミュレーション動画の中でも他の動画と識別できるようにしてもよい。
【００６６】
編集画面で必要に応じて編集を行う。編集画面の内容を確認後、変更ボタンを再度押すと変更処理が行われ、変更後のＮＣプログラムに基づいた第２シミュレーション画像が生成される。生成された第２シミュレーション画像は、第２シミュレーション表示エリアに表示される。このようにすることで、作業者のニーズに応じたプログラムの変更を、作業者に直観的に分かりやすくし、プログラムをニーズに応じて正確に変更ができる。なお、編集画面は別ウィンドウであるが、別タブに表示する形でもよい。
【００６７】
図７（ｂ）においても、変更ボタンがクリックされると編集画面が別ウィンドウに表示される。編集画面では、選択された画面に対応する対応ブロックが選択点として表示されている。そのブロックの中でシリアルナンバーだけが編集可能になっている。本実施形態では、シリアルナンバーとブロックが対応しているため、対応ブロックを選択はしたものの、そこに表示されるシミュレーション画像を確認するとユーザの考えていたものと異なる場合がある。そこで、ブロック自体（本実施形態ではシリアル番号を変更）を変更する編集ができるようにしている。シリアル番号は、直接入力する形でもいいし、スクロールで選択できるようにしてもよい。シミュレーション表示エリアには、選択されたシリアル番号に対応したシミュレーション画像が表示される。
【００６８】
＜実施形態３＞
本実施形態では、ＳＴＬ形式のデータからＧコードを生成して付加加工の工作機械で加工物を作る形態について説明する。まず、ＣＡＤデータをＳＴＬ形式のデータに変換し、加工物に使用する材料の情報や付加加工機の工作機械の情報をあわせて、変更前のＧコードを作成する。Ｇコードを作成したらＧコードに基づく加工物の作成過程を示す第１シミュレーション画像を生成する。生成された第１シミュレーション画像は、第１シミュレーション表示エリアに表示される。
【００６９】
第１シミュレーション表示エリアに表示された動画を見ながら、作業者は変更したい箇所がある場合はその箇所で動画を止める。その際に表示手段３上に表示されている変更ボタンをクリックすると、対応するＧコードの部分が最適化処理され、変更されたＧコードが生成される。変更されたＧコードに基づく第２シミュレーション画像が生成され、第２シミュレーション表示エリアに表示される。
【００７０】
＜その他＞
情報処理装置１は、前述した実施形態に限定されるものではなく、適宜変更することができる。例えば、実施形態１では、第１生成部５１および第２生成部５２は、ＮＣプログラムに基づいてシミュレーション画像を生成していたが、この構成に限定されるものではなく、加工物の構造データと、当該加工物を加工するために用いる工作機械の情報とに基づいて、シミュレーション画像を生成してもよい。
【００７１】
この場合、第１生成部５１は、加工物の構造データと工作機械の情報とをもとに第１シミュレーション画像を生成し、第１シミュレーション表示エリアに表示させる。また、変更処理部５４は、第１シミュレーション画像に基づいて選択された時点に対応する加工物の構造データまたは工作機械の情報に対して、選択された加工物の構造データの該当箇所または工作機械の情報の該当箇所に変更処理を施す。そして、第２生成部５２は、変更処理部５４で変更処理された加工物の構造データと工作機械の情報とをもとに第２シミュレーション画像を生成し、第２シミュレーション表示エリアに表示させる。
【００７２】
なお、構造データとしては、ＣＡＤデータ、ＣＬ（Cutter Location）データ、ＳＴＬ形式のデータ、ＳＴＥＰ（Standard for the Exchange of Product model data）形式のデータ、ＩＧＥＳ（Initial Graphics Exchange Specification）形式のデータ、ＰＡＲＡＳＯＬＩＤ形式のデータ、ＳＡＴ形式のデータ、ＡＣＩＳ形式のデータなどがある。また、工作機械の情報とは、工具に関する情報や工具の動作情報のみならず、機械原点や機械ストローク等のように、工作機械に固有の情報も含まれる。
【符号の説明】
【００７３】
１  情報処理装置
１ａ  情報処理プログラム
２  入力手段
３  表示手段
４  記憶手段
５  演算処理手段
４１  プログラム記憶部
４２  ＮＣプログラム記憶部
４３  ＧＵＩデータ記憶部
４４  工作機械情報記憶部
５１  第１生成部
５２  第２生成部
５３  選択検出部
５４  変更処理部
５５  加工時間算出部
５６  グラフ生成部
５７  表示制御部
【図１】
0006867457.tif 000002
【図２】
0006867457.tif 000003
【図３】
0006867457.tif 000004
【図４】
0006867457.tif 000005
【図５】
0006867457.tif 000006
【図６】
0006867457.tif 000007
【図７】
0006867457.tif 000008