(57)【特許請求の範囲】
【請求項１】
工作機械の数値制御装置で実行されるプログラムを処理する情報処理装置であって、
処理前のプログラムからISO 6983-1:2009またはJIS B 6315-1:2013で機能が未指定である機能コードのうちの予め設定された設定機能コードを削除または無視する処理をし、処理前のプログラムに含まれる複数のコードのうちの起点になる起点コードを検出し、前記起点コードに対応した追加コードを追加する処理をし、処理後のプログラムを生成する情報処理部を備える、情報処理装置。
【請求項２】
工作機械における加工を制御するための数値制御装置で用いられる加工プログラムを生成する情報処理装置であって、
コンピュータ支援製造システムにおいて生成された加工プログラムに含まれる複数のコードのうち、標準化されていないコードを削除するフィルタリングを行うコードフィルタ部と、
前記コードフィルタ部でフィルタリングが行われた加工プログラムに含まれる複数のコードをそれぞれ解釈する加工プログラム解釈部と、
前記加工プログラム解釈部による解釈結果に応じて、前記加工プログラムに対して、工作機械または数値制御装置に固有の機能を実現する機能コードの追加を実行する最適化処理部と、
を備えた情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
上記技術分野において、特許文献１には、ＣＡＭ（Computer Aided Manufacturing）で生成されたＣＬ（Cutter Location）データの位置決め経路を自動的に最適化するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６４３８０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記文献に記載の技術では、ＣＬデータは、ＩＳＯ（International Organization for Standardization：国際標準化機構）で標準化されたフォーマットのみならず、ＣＡＭメーカーごとに異なる独自のフォーマットで生成されている。
【０００５】
このため、ＣＬデータをＮＣプログラムへ変換するには、異なるＣＡＭ装置ごとに独自のポストプロセッサを開発しなければならず、その開発に膨大な費用や時間がかかる。
【０００６】
一方、工作機械メーカー各社から多種多様の工作機械が展開されているため、ＣＡＭ装置の販売店が、各工作機械が有する様々なオプション機能を盛り込んだＮＣプログラムへ変換可能なポストプロセッサを開発することは困難である。よって、特許文献１のようにＣＬデータにおいて、工作機械に有用な機能が実装されていても、ＣＬデータからＮＣプログラムへ変換することができず、汎用的な機能しか利用できていないという現状がある。
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る装置は、
工作機械の数値制御装置で実行されるプログラムを処理する情報処理装置であって、
処理前のプログラムからISO 6983-1:2009またはJIS B 6315-1:2013で機能が未指定である機能コードのうちのあらかじめ設定された設定機能コードを削除または無視する処理をし、処理前のプログラムに含まれる複数のコードのうちの起点になる起点コードを検出し、前記起点コードに対応した追加コードを追加する処理をし、処理後のプログラムを生成する情報処理部を備える、情報処理装置である。
【０００８】
上記目的を達成するため、本発明に係る他の装置は、
工作機械における加工を制御するための数値制御装置で用いられる加工プログラムを生成する情報処理装置であって、
コンピュータ支援製造システムにおいて生成された加工プログラムに含まれる複数のコードのうち、標準化されていないコードを削除するフィルタリングを行うコードフィルタ部と、
前記コードフィルタ部でフィルタリングが行われた加工プログラムに含まれる複数のコードをそれぞれ解釈する加工プログラム解釈部と、
前記加工プログラム解釈部による解釈結果に応じて前記加工プログラムに含まれるコードを最適化して新たな最適化加工プログラムを生成する最適化処理部と、
を備えた情報処理装置である。
【発明の効果】
【０００９】
本発明によれば、様々なＣＡＭ装置から出力された加工プログラムに基づいて、数値制御装置や工作機械のパフォーマンスをより高いレベルで実現できる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】第２実施形態に係る情報処理装置の構成を示すブロック図である。
【図３】第２実施形態に係る情報処理装置の処理の流れを説明する図である。
【図４】第２実施形態に係る情報処理装置の処理の概要を示す図である。
【図５Ａ】第２実施形態に係る情報処理装置の処理の一例を示す図である。
【図５Ｂ】第２実施形態に係る情報処理装置の処理の他の例を示す図である。
【図６】第３実施形態に係る情報処理装置の構成を示すブロック図である。
【図７】第３実施形態に係る情報処理装置の表示画面の例を示す図である。
【図８】第３実施形態に係る情報処理装置の表示画面の例を示す図である。
【図９】第３実施形態に係る情報処理装置の処理の具体例を示す図である。
【図１０】第３実施形態に係る情報処理装置の処理の具体例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１２】
［第１実施形態］
本発明の第１実施形態としての情報処理装置１００について、図１を用いて説明する。情報処理装置１００は、コンピュータ支援製造システムとしてのＣＡＭ装置１４０において生成された加工プログラム１５０に基づいて、数値制御装置１２０で用いられる加工プログラム１３０を生成するための装置である。加工プログラム１５０としては、例えばＮＣ（Numerical Control）プログラムなどが挙げられる。
【００１３】
図１に示すように、情報処理装置１００は、コードフィルタ部１０１と、加工プログラム解釈部１０２と、最適化処理部１０３と、記憶部１０４とを含む。
【００１４】
コードフィルタ部１０１は、ＣＡＭ装置１４０において生成された加工プログラム１５０に含まれる複数のコードのうち、標準化されていないコードを削除するフィルタリングを行う。
【００１５】
加工プログラム解釈部１０２は、フィルタリング後の加工プログラム１６０に含まれる複数のコードをそれぞれ解釈する。
【００１６】
加工プログラム１６０を解釈した結果は、如何なる形式で表されてもよい。例えば、ＡＰＴ（automatically programmed tools）で記述された工具経路データとしてのＣＬデータ、もしくは情報処理装置１００の内部データといった形式でもよい。ＡＰＴとは、工作機械の数値制御用に開発されたプログラミング言語であり、製作する機械部品の形状に基づいて工具経路や加工手順を自動的に決定することができる。ＡＰＴの工具経路決定機能をより精密に改良したEXAPT(extended subset of APT)を用いてもよい。また、加工プログラム解釈部１０２は、加工プログラム１６０に含まれている非標準化コード（削除されなかったもの）を標準化コードに置き換えた加工プログラムを解釈結果として出力してもよい。
【００１７】
最適化処理部１０３は、加工プログラム解釈部１０２における解釈の結果に最適化処理を実行する。具体的には、工作機械１１０や数値制御装置１２０の仕様に応じて加工プログラム１５０に含まれるコードを更新して最適化加工プログラム１３０を生成する。最適化処理を施された最適化加工プログラム１３０は、数値制御装置１２０に送信される。
【００１８】
記憶部１０４には各種プログラムモジュール１４１が保存されている。不図示のプロセッサが、各種プログラムモジュール１４１を実行することにより、コードフィルタ部１０１や加工プログラム解釈部１０２や最適化処理部１０３の機能を実現する。
【００１９】
記憶部１０４は、さらに標準化されていないコードのコードリスト１４２を記憶している。コードフィルタ部１０１がコードリスト１４２を参照することにより、非標準化コードの少なくとも一部を削除してから加工プログラム解釈部１０２での解釈に進む。
【００２０】
以上の構成によれば、様々なＣＡＭ装置から出力される加工プログラムを解釈して最適化機能を付与した新たな加工プログラムを工作機械の数値制御装置に出力できる。結果としてＣＡＭ装置の種別に依存することなく、工作機械や数値制御装置に固有の最適化機能を自動的に加工プログラムに付与することができ、工作機械や数値制御装置の機能を最大限に生かすことができる。例えば、加工時間の短縮、面品位の向上、電力やクーラントの節約、切子の効率的な除去、工程管理の可視化による効率化などを実現することができる。この際、コードフィルタ部１０１によるフィルタリング後の加工プログラムの解釈を行うため、加工プログラム解釈部の開発負荷を小さくすることができる。なお、情報処理装置１００が有する機能を工作機械１１０内部に実装させてもよい。
【００２１】
［第２実施形態］
本発明の第２実施形態としての情報処理装置２００について、図２を用いて説明する。情報処理装置２００は、数値制御装置２２０で用いられる加工プログラムとしてのＮＣプログラム２３０を生成するための装置である。数値制御装置２２０は、工作機械２１０における加工を数値制御する装置であり、ＮＣプログラム２３０を解釈するＮＣインタプリタ２２１と工作機械２１０を制御指令を出力する指令出力部２２２とを含む。
【００２２】
工作機械２１０としては、例えば、ワークに付加加工（Additive Manufacturing）を加える機械、ワークに除去加工（Subtractive Manufacturing）を加える機械、レーザなどの光を照射して加工する機械などが挙げられる。具体的には、旋盤、ボール盤、中ぐり盤、フライス盤、歯切り盤、研削盤、多軸加工機、レーザ加工機、積層加工機等のように、ＮＣプログラムに基づいて数値制御され、金属、木材、石材、樹脂等のワークに対して、旋削、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ、成形、微細加工、積層加工等の各種の加工を施す機械であればよい。さらに、工作機械は計測機能を有するものでもよく、タッチプローブやカメラ等の計測器を用いてワークの寸法等を計測可能に構成されたものでもよい。
【００２３】
工作機械２１０は、例えば３軸加工機であり、機械要素として、主軸モータ２１１および送り軸モータ２１２を含む。主軸モータ２１１は、工具を回転させ、送り軸モータ２１２は、ボールねじ等を介してテーブルをＸ，Ｙ軸方向に直線移動させたり、工具またはテーブルをＺ軸方向に直線移動させたりする。工作機械２１０はもちろん５軸加工機でもよい。
【００２４】
主軸モータサーボコントローラ２１３は、指令出力部２２２からの制御指令に基づいて主軸モータ２１１を制御する。送り軸モータサーボコントローラ２１４は指令出力部２２２からの制御指令に基づいて送り軸モータ２１２を制御する。
【００２５】
情報処理装置２００は、ＮＣプログラム取得部２０１と、コードフィルタ部２０２と、ＮＣインタプリタ２０３と、ＡＰＴ変換部２０４と、最適化処理部２０５と、プログラム送信部２０６と、記憶部２０７を含む。
【００２６】
ＮＣプログラム取得部２０１は、ＣＡＭ装置２４０において生成されたＮＣプログラム２５０を取得する。ＣＡＭ装置２４０は、メインプロセッサ部２４１とポストプロセッサ部２４２とを有する。メインプロセッサ部２４１は、ＣＡＤ（Computer-Aided Design）装置２６０から取得した形状データに基づいてＣＬデータ２４３を生成する。ポストプロセッサ部２４２は、ＣＬデータ２４３からＮＣプログラム２５０を生成する。
【００２７】
コードフィルタ部２０２は、加工プログラムに含まれているコードのうち、記憶部２０７に記憶されたＩＳＯ４３４３：２０００に非準拠のコードのリストを読み出し、ＮＣプログラムから削除する。ＩＳＯ４３４３：２０００で規定されている標準コードは、軸位置や送り速度等のＮＣ制御や、ワークの把持、クーラントのオン／オフ等のＰＬＣ（Programmable Logic Controller）制御などのためのコードである。これらはどんな数値制御装置でも解釈可能な基本的な制御指令である。
ＮＣインタプリタ２０３は、フィルタリング後のＮＣプログラムに含まれる複数のコードをそれぞれ解釈する。ＮＣインタプリタ２０３は、数値制御装置２２０が備えているＮＣインタプリタ２２１と同等の機能を実現する。ＡＰＴ変換部２０４は、解釈したＮＣプログラムからＡＰＴで記述されたＣＬデータへの逆変換を行う。通常は、ポストプロセッサ部２４２でＡＰＴ→ＮＣの変換が一般的に行われるが、ＡＰＴ変換部２０４では、ＮＣ→ＡＰＴという逆変換を行う。
【００２８】
最適化処理部２０５は、ＡＰＴで記述されたＣＬデータに対して所定のスクリプトを実行し、最適化処理を施した後、ＮＣプログラム２３０を生成する。最適化処理部２０５は、工作機械２１０または数値制御装置２２０に不要な不要コードの削除、および、工作機械２１０または数値制御装置２２０に固有の機能を実現する機能コードの追加、の少なくともいずれか一方を加工プログラム２５０に実行する。プログラム送信部２０６は、最適化されたＮＣプログラム２３０を数値制御装置２２０に送信する。
【００２９】
ここで最適化処理とは、加工時間の短縮、加工精度の向上、電力やクーラントの節約、切屑の効率的な除去、工程管理の可視化による効率化、計測処理等のように、機械加工にメリットをもたらす全ての処理を含む概念である。具体的には、最適化処理として、以下に示す（１）〜（４）のようなものが挙げられるが、これらに限定されない。
【００３０】
（１）サーボ特性の最適化
カスタムマクロによって下記（ａ）〜（ｄ）のような加工モードが実装されている場合、所望の加工モードを指定することにより、加工精度や加工時間を最適化することができる。
（ａ）時間優先モード：加工時間の短縮を最優先するモード。荒加工など要求精度が低い場合に使用する。
（ｂ）中間モード：時間優先モードと精度優先モードとの中間にあたるモード。高精度と短時間が要求される中仕上げ加工等に使用する。
（ｃ）精度優先モード：加工精度の向上を優先するモード。加工精度や仕上げ面を要求される場合に使用する。
（ｄ）精度最優先モード：精度優先モードよりも加工精度をさらに優先するモード。
【００３１】
（２）サーボ特性の自動最適化
ＰＬＣによってサーボを自動調整する機能が実装されている場合、ワークや治具の質量や慣性モーメントを計測し、そのフィードバック値に基づいて最適な加減速を設定する。具体的には、ワークや治具の質量が重く、慣性モーメントが大きい場合、加減速を抑制し、安定した位置決めを実現する。一方、ワークや治具の質量が軽く、慣性モーメントが小さい場合、加減速を最大限に引き上げ、加工時間の短縮を実現する。
【００３２】
（３）チップコンベアのオン／オフ制御の最適化
ＰＬＣによって切屑を排出するチップコンベヤのオン／オフ機能が実装されている場合、加工シミュレーションによって時間経過に伴う切屑の体積を算出し、その切屑の量に応じてチップコンベアのオン／オフ制御を最適化する。具体的には、非切削時や切屑の量が少ない時間帯にはチップコンベヤをオフにすることで、チップコンベヤの駆動電力が節約されるとともに、切削油の使用効率が向上する。
【００３３】
（４）工程管理の最適化
ＣＡＭ装置、情報処理装置、工作機械のＨＭＩのＮＣビューワー間で同一加工に対して、共通の加工工程ＩＤでタグ付けする機能が実装されている場合、以下のような機能を実現でき、工程管理が最適化される。
・後工程で変更点を表示または更新する機能
・工作機械を運転する際は変更点をハイライト表示する機能
・直前の位置決め指令で停止する機能
・送り速度や主軸回転数等の数値のみ変更されている場合は、前工程に変更点をアップデートする機能
【００３４】
記憶部２０７は、ＮＣプログラム取得部２０１、ＮＣインタプリタ２０３、ＡＰＴ変換部２０４、最適化処理部２０５、およびプログラム送信部２０６を実現するプログラムモジュールを記憶している。また、記憶部２０７は、上述の最適化処理情報の他、コマンドテーブルおよび工作機械情報を記憶している。ここでコマンドテーブルは、標準化フォーマットのコマンドおよび引数と、ＮＣプログラムのコマンド（ＮＣコード）との対応関係を示すテーブルである。
【００３５】
また、工作機械情報は、工作機械メーカや機種が異なる様々な工作機械に関する情報であり、機械原点、機種ストローク長、機械固有指令のＧコード、Ｍコード（Ｍｘｘ，Ｍｘｙ）等であり、その他、以下の情報を含む場合がある。
（１）工作機械の型番
（２）オプション情報（タレット数、主軸径、サーボ、チップコンベヤの種類や有無、計測装置の種類や有無）
（３）使用可能工具種（例：ドリル、エンドミル）
（４）マガジンのポット数やポット番号
【００３６】
図３は、ＣＡＭ装置２４０から工作機械２１０への処理の流れを概念的に説明する図である。
ＣＡＭ装置２４０において、ステップＳ３０１でモデル入力を行い、ステップＳ３０２で加工形状を提示した後、ステップＳ３０３で工程設計（切削条件設定）を行う。さらに、ステップＳ３０４では、工程設計に基づいてＣＬデータを生成する。ステップＳ３０５においてＣＬシミュレーションを行い、工具の経路において干渉が発生しないか確認すると、Ｓ３０６において、ＣＬデータからＮＣプログラムを生成する。
【００３７】
次に、情報処理装置２００は、ステップＳ３０７において、非標準化コードをフィルタリングして削除した後、ステップＳ３０８において、受け取ったＮＣプログラムを解釈し、ステップＳ３０９において、ＮＣプログラムを最適化する。具体的には、切削に関して切削力の標準化や工具送り、ＡＭ（Additive Manufacturing）に関して、積層条件、ステージ送り、レーザ出力、パウダー供給量など、あるいは計測機能などを最適化して、ＣＡＭ装置２４０からのＮＣプログラムにコードを追加する。その後、工作機械２１０では、ステップＳ３１０において実加工を行う。
【００３８】
図４は、異なるベンダのＣＡＭ装置２４０ａ〜２４０ｃがそれぞれのポストプロセッサ部２４２ａ〜２４２ｃで生成した異なる種類のＮＣプログラム２５０ａ〜２５０ｃを、情報処理装置２００が解釈して、それぞれ最適化することを説明する概念図である。図４に示すように、ＣＡＭ装置の種別に依存することなく、工作機械や数値制御装置に固有の最適化機能をＮＣプログラムに自動的に付与することができる。これにより、工作機械や数値制御装置の機能を最大限に生かすことができる。例えば、加工時間の短縮、面品位の向上、電力やクーラントの節約、切子の効率的な除去、工程管理の可視化による効率化などを実現することができる。
【００３９】
本実施形態のコードフィルタ部２０２は、非標準化コードをフィルタリングして削除することとしたが、本発明はこれに限定されるものではない。ユーザが以下の２つの選択肢から選択できる構成でもよい。Ｇ・Ｍコードフィルタは加工オペレータが編集できることが望ましい。
１.そのまま出力する
２．Ｇ・Ｍコードフィルタにあるコードは削除する
【００４０】
例えばＧ０，Ｇ１，Ｇ２，Ｇ３のようにどのＣＡＭ装置にも共通のＧコードがある（ＩＳＯで規定されている）が、最適化処理部２０４は、このようなＩＳＯ準拠のＧコードを使って、最適化機能を付与する。
【００４１】
標準化されていない複数種類のコードについて、それぞれ、加工プログラムから削除するか否かを設定する設定部をさらに備え、コードフィルタ部２０２は、設定部における設定内容に応じて、加工プログラムのフィルタリングを行ってもよい。
【００４２】
図５Ａ、図５Ｂは、ＮＣプログラムのフィルタリングから最適化までの具体例を示す図である。図５Ａにおいて、ＣＡＭ装置２４０ａのポストプロセッサ部２４２ａから出力されたＮＣプログラムの一例２５０ａに対して、コードフィルタ部２０２によって、ＩＳＯ非準拠のコードが削除される。ＩＳＯ非準拠のＧコードおよびＭコードについては、あらかじめコードリストに記録されている。コードリストに存在しないＧコードやＭコードはそのままＮＣインタプリタ２０３に出力される。ＮＣインタプリタ２０３は、ＮＣプログラムに解釈結果５０１を付与する。図５Ａ、図５Ｂの例はあくまでも概念的に示したもので、このように日本語でデータが付加されることを意味しない。
【００４３】
最適化処理部２０５は、解釈結果５０１を分析して、切削開始のコードＧ０１の直前にＧ３３２という切削モード設定のコード５０２を挿入することによって、切削開始前に加工を最適化する。Ｇ３３２は数値制御装置２２０のベンダに依存するコードであり、数値制御装置２２０に合わせた最適化を実現させる。具体的には、ＮＣインタプリタ２０３でＮＣプログラム２５０ａを逆変換して生成されたＡＰＴ形式のＣＬデータに対して所定のスクリプトを実行して最適化した後に、再度、ＮＣプログラムへの変換を行うと、Ｇ０１の前にＧ３３２が挿入される。その他のやり方として、ＮＣプログラム２５０ａのまま、Ｇ０１を検索して、Ｇ０１の直前にＧ３３２を挿入する最適化マクロを実行してもよい。この場合、挿入すべきコード（例えばＧ３３２）とその位置（例えばＧ０１直前）とが対応付けられたテーブルを備えていることが好ましい。
【００４４】
結果として、加工条件を付与したＮＣプログラム２３０ａが数値制御装置２２０に出力される。
【００４５】
図５Ｂにおいて、ＣＡＭ装置２４０ａのポストプロセッサ部２４２ａから出力された処理前のプログラムの一例２５０ａに対して、コードフィルタ部２０２によって、所定のコードが削除される。所定のＧコードおよびＭコードについては、あらかじめコードリストに記録されている。コードリストに存在しないＧコードやＭコードはそのままＮＣインタプリタ２０３に出力される。ＮＣインタプリタ２０３は、処理後のプログラムに解釈結果５０１を付与する。
【００４６】
すなわち、情報処理装置２００は、処理前のプログラムからISO 6983-1:2009またはJIS B 6315-1:2013で機能が未指定である機能コードのうちのあらかじめ設定された設定機能コードを削除または無視（コメントアウト）する処理をする。そして、処理前のプログラムに含まれる複数のコードのうちの起点になる起点コードを検出し、起点コードに対応した追加コードを追加する処理をし、処理後のプログラムを生成する情報処理部を備える。
【００４７】
JIS B 6315-1:2013で機能が指定されているコードは、G00〜G04, G06, G09, M00〜M06, M10などである。また、M07〜M09は、JIS B 6315-1:2013に機能の記載はないが、他のISO等で規定されているコードも含む。M07であれば、「ISO/TR 6983-2参照。」と記載されている。
【００４８】
JIS B 6315-1:2013で機能が未指定のコードは、G05, G07, G50〜G52,G100〜G999などである。このGコードは、JIS B 6315-1:2013に番号が記載されているが、機能が未指定と記載されている。また、JIS B 6315-1:2013で機能が未指定のコードは、M51やM59などのJIS B 6315-1:2013に記載がないコードも含まれる。
起点コードの例は、G01であり、G01に対応した追加コードがG332であり、G01の前に追加される。
【００４９】
図５Ａ、図５Ｂに示すように、出力位置や出力コードが異なる様々なＮＣプログラムに同様に対応することができ、ＩＳＯ準拠のＮＣコードを解釈することができる。加工条件を付与したＮＣプログラムを生成、出力することができる。
【００５０】
［第３実施形態］
次に本発明の第３実施形態に係る情報処理装置６００について、図６を用いて説明する。図６は、本実施形態に係る情報処理装置６００の構成を説明するための図である。本実施形態に係る情報処理装置６００は、上記第２実施形態と比べると、標準化ＣＬデータ取得部６０１と、ＮＣプログラム生成部６０２を有する点で異なる。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【００５１】
ＡＰＴを公開しているＣＡＭ装置６４０に対しては、メインプロセッサ部６４１から出力されたＣＬデータ６４３に標準化情報を追加した標準化ＣＬデータ６４５を生成する、ＣＬデータ標準化部６４４を組み込むことができる。ＣＬデータ標準化部６４４は、ＣＬデータに含まれる固有制御情報を特定し、固有制御情報に対応する標準化フォーマットでラベル付けした標準化ＣＬデータ６４５を生成する。
【００５２】
情報処理装置６００の標準化ＣＬデータ取得部６０１は、標準化ＣＬデータ６４５を取得し、ＮＣプログラム生成部６０２では、標準化情報に対応するＮＣコードとＣＬデータとに基づいてＮＣプログラム６３０を生成する。
【００５３】
このようにして生成されたＮＣプログラム６３０には、ＩＳＯ４３４３：２０００に準拠する標準化コード６３１以外に、ＣＬデータ標準化部６４４と連携した加工工程情報６３２やＮＣマクロ６３３を追加することができる。
【００５４】
ＣＬデータに含まれる制御情報以外に、以下の固有制御情報を含む固有の制御指令についてもＮＣプログラム６３０に組み込むことができる。
（ａ）工作機械の数値制御装置メーカによって独自に実装されている「数値制御装置の固有制御情報」
（ｂ）工作機械メーカによって独自に実装されている「工作機械の固有制御情報」
（ｃ）工作機械のユーザによって独自に実装されている「工作機械のユーザの固有制御情報」
【００５５】
ここで、（ａ）数値制御装置の固有制御情報としては、以下のものが挙げられる。
（１）数値制御装置の型番（例：ＲＰＦＫ）
（２）数値制御装置メーカのカスタムマクロ  例：タッピングサイクル（ＴＡＰ）、Ｇ８４ＸＹＺＲＰＦＫ（メーカＡ）、Ｇ８４ＸＹＺＰＦ，Ｒ００，Ｉ，Ｊ，Ｌ（メーカＢ）
【００５６】
また、（ｂ）工作機械の固有制御情報としては、以下のものが挙げられる。
（１）工作機械の型番（例：ＭＯＲＩ）
（２）工作機械メーカのカスタムマクロ  例：工作機械の型番に対応するドリルに関するマクロ（Ｇ４３２等）
【００５７】
一方、（ｃ）工作機械のユーザが設定できる固有制御情報としては、以下のものが挙げられる。
（１）穴あけサイクルパターン（例：ＣＹＣＬＥ）
（２）工作機械ユーザのカスタムマクロ  例：穴あけサイクルパターン（ＣＹＣＬＥ）と対応関係があるマクロ（Ｇ６５Ｐ１０００等）
【００５８】
そして、それぞれの固有制御情報について、その仕様を標準化するための標準化フォーマットなどのように、ＣＡＭ装置と数値制御装置との間で規定された規則に基づいた標準化情報を用いて標準化ＣＬデータ６４５が生成される。すなわち、本実施形態において、固有制御情報とは、ISO4343:2000で規定されている情報以外のカスタムマクロや加工工程情報等のような情報である。
【００５９】
なお、固有制御情報の一つであるＮＣマクロ６３３は、ＧコードやＭコードを拡張するためのプログラムである。ＮＣマクロ６３３により、工作機械の数値制御装置メーカ、工作機械メーカ、工作機械のユーザのそれぞれが独自に固有の機能（Ｇｘｘ，Ｇｘｙ，Ｍｘｘ，Ｍｘｙ等）を実装することが可能である。
【００６０】
また、固有制御情報の一つである加工工程情報６３２は、ＨＭＩ６１０による工程管理や各種加工情報を把握し、作業の効率化やトレーサビリティを目的とする機能を実現するための付加情報である。ＨＭＩ６１０は、工作機械を操作するためのアプリケーションプログラムや、工作機械の状態をモニターするためのアプリケーションプログラムであり、タブレットやスマートフォン等にも搭載可能となっている。このため、ＨＭＩにおける各種データを可視化することで、工作機械の操作性が向上する。
【００６１】
なお、（ａ）数値制御装置の固有制御情報、（ｂ）工作機械の固有制御情報および（ｃ）工作機械のユーザの固有制御情報は、必ずしも全て必要なわけではない。ワークの種類や加工方法によっては、少なくともいずれか一つまたは二つの固有制御情報だけを考慮してＮＣプログラムを生成すればよい場合もある。
【００６２】
標準化情報の一つである標準化フォーマットは、コマンド名と、当該コマンドにて指定可能な引数名とを含んでおり情報処理装置６００においてあらかじめ記憶されている。例えば、計測機能を示すコマンド「ＰＲＯＣＭＯＤ」に対して、仕上げ加工を示す引数「ＦＩＮ」と、荒加工を示す引数「ＲＯＵＧＨ」とが定義されている。
【００６３】
これにより、機械メーカ固有の制御であるＮＣマクロ６３３でＰＬＣ（programmable logic controller）６２０を制御することができる。
【００６４】
また、加工工程情報６３２についてＡＰＴ仕様を標準化することにより、工作機械２１０やＨＭＩ（Human Machine Interface）６１０の各種最適化機能を利用できる。
【００６５】
情報処理装置６００は、表示装置に図７に示すような機能選択ダイヤログ７００を表示し、ユーザが最適化処理を選択できる構成としてもよい。ＮＣプログラム生成部６０２は、ユーザによって選択された最適化処理を施したＮＣプログラムを出力する。標準化対応表示部分８０１で選択された最適化処理が施されたＮＣプログラムに変換される。
【００６６】
標準化ＣＬデータには、オペレーションとオペレーションとを繋ぐ動き（オペレーションリンク）に関するデータが含まれているが、ＣＡＭの機種によっては、出力されるＣＬデータに、そのようなデータが含まれていない場合がある。そこで、ＮＣプログラム生成部６０２が、オペレーションリンクを追加してもよい。例えば図８に示すような機能選択ダイヤログ７００のオペレーションリンク選択部８０１において、ユーザが選択したパスを含むＮＣプログラムを生成することも可能である。この構成により、ユーザはＣＡＭの機種に依存することなく、最適なパス生成機能を利用できる。
【００６７】
図９、図１０は、ＮＣプログラムを最適化する例を示す図である。図９において、Ａ社、Ｂ社、Ｃ社の各ＣＡＭ装置６４０ａ〜６４０ｃにＣＬデータ標準化機能を持たせてＣＡＤデータを取り込ませると、仕上げ加工を指定する標準化フォーマット（ＰＲＯＣＭＯＤ／ＦＩＮ）でラベル付けされたＣＬデータ６４５が出力される。
【００６８】
情報処理装置６００は、コマンドテーブル１００１から、標準化フォーマット（ＰＲＯＣＭＯＤ／ＦＩＮ）に対応するＮＣコード（Ｇ９１５Ｈ４２）を読出し、ＮＣプログラムに反映させて最適化されたＮＣプログラム６３０として出力する。最適化されたＮＣプログラム６３０を用いて工作機械を制御すると、仕上げ加工でのみ計測機能が自動的にオンとなり、荒加工では計測機能が自動的にオフになる。
【００６９】
このように様々なＣＡＭ装置から出力されたＣＬデータを、簡単かつ正確にＮＣプログラムに変換することができ、ＣＡＭ装置に依存することなく、固有制御情報によって特定される様々な最適化機能を利用することができる。また、情報処理装置６００が様々なＣＬデータを一元的に変換するため、最適化機能を情報処理装置６００に集約でき、システム全体の開発を効率化することができる。さらに、工作機械の特性を十分に考慮し、工作機械の様々なオプション機能を漏れなく活用したＮＣプログラムを生成でき、工作機械のパフォーマンスを向上させる。工作機械の機種ごとにポストプロセッサを用意する必要がなく、情報処理装置６００で複数の工作機械用のＮＣプログラムを生成できるため、ポストプロセッサの開発費用や開発に係る時間を削減することができる。
【００７０】
図１０においては、ユーザによる拡張機能に対応するようにＮＣプログラムを最適化する。具体的には、拡張しようとする標準機能として、Ｇコードの固定サイクルのうち、高速深穴あけサイクル（Ｇ７３）を選択する。このような穴あけ加工では、標準機能による通常の穴あけではなく、ユーザが自ら作成した穴あけ用のカスタムマクロを使用したいという要求がある。
【００７１】
そこで、図１０に示すように、ユーザによる拡張機能を指示する「ＤＲＩＬＬ１」や「ＤＲＩＬＬ２」等の標準化フォーマットをあらかじめコマンドテーブルに定義しておき、対応するＮＣコードは空欄（予約状態）とする。そして、呼び出したいカスタムマクロ（Ｇ６５Ｐ１０００）を「ＤＲＩＬＬ１」に対応する空欄に追加で実装する。
【００７２】
その後、図９で示した例と同様、ＣＬデータ生成機能を持たせたＣＡＭ装置６４０ａ〜６４０ｃにＣＡＤデータを取り込ませると、拡張機能を指定する標準化フォーマット「ＣＹＣＬＥ／ＤＲＩＬＬ１」でラベル付けされたＣＬデータ６４５が出力される。
【００７３】
つぎに、ＣＬデータ６４５を受け取った情報処理装置６００は、コマンドテーブル１１０１から、標準化フォーマットに対応するＮＣコード（Ｇ６５Ｐ１０００）を読出し、ＮＣプログラムに反映させ、最適化ＮＣプログラム６３０として出力する。
【００７４】
最適化ＮＣプログラム６３０を用いて工作機械を制御すると、ユーザによって作成されたカスタムマクロを呼び出して穴あけ加工を実行する。
【００７５】
このように、情報処理装置６００でカスタムマクロに対応するＮＣコードを標準化フォーマットに対応付けることによって、ユーザによる拡張機能に対応するようにＮＣプログラムを最適化できる。
【００７６】
以上のように、本実施形態では、最適化機能を入れ込むポストプロセッサを生成するためのフレームワークを構築した。標準化されたＡＰＴを構築し、生成された標準化ＣＬコードに基づいて多くの最適化機能を実現することができる。情報処理装置６００がＣＡＭ装置にも数値制御装置にも依存しない共通のポストプロセッサとして機能して、最適化機能を実現できる。従来機械個別に実装する必要があった最適化機能をＰＯＳＴ標準機能として利用でき、工作機械のユーザの負担を減らすことができる。
【００７７】
ＮＣプログラムの一部のコードについては既にＩＳＯで標準化されているが、それ以外の機械メーカ固有の制御についても標準化し最適化することができる。ＣＬデータ標準化部６４４でＣＬデータを標準化することで、ＮＣプログラム生成部６０２で各種最適化機能を利用することができる。
【００７８】
この際、コードフィルタ部１０１によるフィルタリング後の加工プログラムの解釈を行うため、加工プログラム解釈部の開発負荷を小さくすることができる。
【００７９】
［他の実施形態］
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の技術的範囲に含まれる。
【００８０】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に供給され、内蔵されたプロセッサによって実行される場合にも適用可能である。本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるサーバも、プログラムを実行するプロセッサも本発明の技術的範囲に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体（non-transitory computer readable medium）は本発明の技術的範囲に含まれる。
具体的には、工作機械における加工を制御するための数値制御装置で用いられる加工プログラムを生成する情報処理方法であって、
コンピュータ支援製造システムにおいて生成された加工プログラムに含まれる複数のコードのうち、標準化されていないコードを削除するフィルタリングを行うコードフィルタステップと、
前記コードフィルタステップでフィルタリングが行われた加工プログラムに含まれる複数のコードをそれぞれ解釈する加工プログラム解釈ステップと、
前記加工プログラム解釈ステップによる解釈結果に応じて前記加工プログラムに含まれるコードを最適化して新たな最適化加工プログラムを生成する最適化処理ステップと、
を含む情報処理方法や、
工作機械における加工を制御する数値制御装置で用いられる加工プログラムを生成する情報処理プログラムであって、
コンピュータ支援製造システムにおいて生成された加工プログラムに含まれる複数のコードのうち、標準化されていないコードを削除するフィルタリングを行うコードフィルタステップと、
前記コードフィルタステップでフィルタリングが行われた加工プログラムに含まれる複数のコードをそれぞれ解釈する加工プログラム解釈ステップと、
前記加工プログラム解釈ステップによる解釈結果に応じて前記加工プログラムに含まれるコードを最適化して新たな最適化加工プログラムを生成する最適化処理ステップと、
をコンピュータに実行させる情報処理プログラムも、本願発明の技術範囲に含まれる。
【要約】
【課題】様々なＣＡＭ装置から出力された加工プログラムに基づいて、数値制御装置や工作機械のパフォーマンスをより高いレベルで実現すること。
【解決手段】工作機械における加工を制御するための数値制御装置で用いられる加工プログラムを生成する情報処理装置であって、コンピュータ支援製造システムにおいて生成された加工プログラムに含まれる複数のコードのうち、標準化されていないコードを削除するフィルタリングを行うコードフィルタ部と、コードフィルタ部でフィルタリングが行われた加工プログラムに含まれる複数のコードをそれぞれ解釈する加工プログラム解釈部と、加工プログラム解釈部による解釈結果に応じて加工プログラムに含まれるコードを最適化して新たな最適化加工プログラムを生成する最適化処理部と、を備えた情報処理装置。
【選択図】  図１【図１】
0006987960.tif 000002
【図２】
0006987960.tif 000003
【図３】
0006987960.tif 000004
【図４】
0006987960.tif 000005
【図５Ａ】
0006987960.tif 000006
【図５Ｂ】
0006987960.tif 000007
【図６】
0006987960.tif 000008
【図７】
0006987960.tif 000009
【図８】
0006987960.tif 000010
【図９】
0006987960.tif 000011
【図１０】
0006987960.tif 000012