IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ DMG森精機株式会社の特許一覧

<>
  • 特許-情報処理装置およびプログラム 図1
  • 特許-情報処理装置およびプログラム 図2
  • 特許-情報処理装置およびプログラム 図3
  • 特許-情報処理装置およびプログラム 図4
  • 特許-情報処理装置およびプログラム 図5
  • 特許-情報処理装置およびプログラム 図6
  • 特許-情報処理装置およびプログラム 図7
  • 特許-情報処理装置およびプログラム 図8
  • 特許-情報処理装置およびプログラム 図9
  • 特許-情報処理装置およびプログラム 図10
  • 特許-情報処理装置およびプログラム 図11
  • 特許-情報処理装置およびプログラム 図12
  • 特許-情報処理装置およびプログラム 図13
  • 特許-情報処理装置およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-06-23
(45)【発行日】2023-07-03
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
   G05B 19/4093 20060101AFI20230626BHJP
【FI】
G05B19/4093 H
【請求項の数】 3
(21)【出願番号】P 2022028305
(22)【出願日】2022-02-25
【審査請求日】2022-04-25
(31)【優先権主張番号】P 2021208246
(32)【優先日】2021-12-22
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000146847
【氏名又は名称】DMG森精機株式会社
(74)【代理人】
【識別番号】110002273
【氏名又は名称】弁理士法人インターブレイン
(72)【発明者】
【氏名】國府田 頼人
【審査官】小川 真
(56)【参考文献】
【文献】特開2003-005811(JP,A)
【文献】特許第6868161(JP,B1)
【文献】特開平10-320027(JP,A)
【文献】特開2012-150728(JP,A)
【文献】特開2009-053736(JP,A)
【文献】特開2001-147709(JP,A)
【文献】特開平07-295619(JP,A)
【文献】特許第6987960(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/408-19/4097
B23Q 15/00
(57)【特許請求の範囲】
【請求項1】
工作機械で用いられる第1NCプログラムを生成する情報処理装置であって、
第2NCプログラムのコードのうち対応するCLデータがある対応コードをCLデータに変換する第1変換部と、
前記CLデータを解釈する解釈部と、
前記工作機械で実行可能な実行コードの入力を受け付ける受付部と、
前記CLデータの解釈をもとに、前記受付部で受け付けた実行コードを含む第1NCプログラムに前記CLデータを変換する第2変換部と、を備え、
前記第1変換部は、前記第2NCプログラムのコードのうち対応するCLデータがない非対応コードに対して前記対応コードと異なる処理を行い、
前記第2変換部は、前記CLデータを前記第1NCプログラムに変換する際に前記非対応コードが含まれる場合に、前記非対応コードをそのまま残すか、前記非対応コードを削除するかの処理を行う、情報処理装置。
【請求項2】
前記受付部は、前記非対応コードの処理に際してユーザの選択入力を受け付け、
前記第2変換部は、前記選択入力に基づき、前記第1NCプログラムに前記CLデータを変換する、請求項1に記載の情報処理装置。
【請求項3】
工作機械で用いられる第1NCプログラムを生成するプログラムであって、
第2NCプログラムのコードのうち対応するCLデータがある対応コードをCLデータに変換する第1変換手段と、
前記CLデータを解釈する解釈手段と、
前記工作機械で実行可能な実行コードの入力を受け付ける受付手段と、
前記CLデータの解釈をもとに、前記受け付けた実行コードを含む第1NCプログラムに前記CLデータを変換する第2変換手段と、を有し、
前記第1変換手段は、前記第2NCプログラムのコードのうち対応するCLデータがない非対応コードに対して前記対応コードと異なる処理を行い、
前記第2変換手段は、前記CLデータを前記第1NCプログラムに変換する際に前記非対応コードが含まれる場合に、前記非対応コードをそのまま残すか、前記非対応コードを削除するかの処理を行う、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械で用いられるNCプログラムを生成する情報処理装置に関する。
【背景技術】
【0002】
上記技術分野において、特許文献1には、CAM(Computer Aided Manufacturing)で生成されたCL(Cutter Location)データの工具経路を修正し、ポストプロセッサでGコードとして出力することが開示されている。
【0003】
このCLデータは、ISO(International Organization for Standardization:国際標準化機構)で標準化されたフォーマットのみならず、CAMメーカごとに異なる独自のフォーマットで生成することができる。そのため、CLデータをNCプログラムへ変換するには、CAMごとに独自のポストプロセッサを開発しなければならず、その開発に費用や時間がかかる。
【0004】
また、工作機械メーカ各社から多種多様の工作機械が展開されているが、CAMの販売店が、各工作機械が有する様々なオプション機能を盛り込んだNCプログラムへ変換可能なポストプロセッサを開発することは困難である。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2021-39533号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
そのため、工作機械に有用な機能が実装されていても、NCプログラムへ変換することができず、汎用的な機能しか利用できていない場合がある。
【課題を解決するための手段】
【0007】
そこで、本発明は、工作機械で用いられる第1NCプログラムを生成する情報処理装置であって、第2NCプログラムを変換してCLデータに変換する第1変換部と、CLデータを解釈する解釈部と、工作機械で実行可能な実行コードの入力を受け付ける受付部と、CLデータの解釈をもとに、受付部で受け付けた実行コードを含む第1NCプログラムにCLデータを変換する第2変換部と、を備える。
また、本発明は、情報処理装置、工作機械、プログラム等を提供するものである。
【発明の効果】
【0008】
本発明によれば、工作機械のパフォーマンスをより高いレベルで実現できるプログラムの生成が可能ある。
【図面の簡単な説明】
【0009】
図1】第1実施形態に係る情報処理装置の構成を示すブロック図である。
図2】変形例に係る情報処理装置の構成を示すブロック図である。
図3】第2実施形態に係る情報処理装置の構成を示すブロック図である。
図4】NCプログラムの処理の具体例を示す図である。
図5】変形例1に係るNCプログラムの処理の具体例を示す図である。
図6】変形例2に係るNCプログラムの処理の具体例を示す図である。
図7】変形例3に係るNCプログラムの処理の具体例を示す図である。
図8】変形例4に係る実行コード設定画面を表す図である。
図9】実行コード設定画面の具体的操作方法を表す図である。
図10】実行コード設定画面の具体的操作方法を表す図である。
図11】実行コード設定画面の具体的操作方法を表す図である。
図12】実行コード設定画面の具体的操作方法を表す図である。
図13】実行コード設定画面の具体的操作方法を表す図である。
図14】実行コード設定画面の具体的操作方法を表す図である。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【0011】
[第1実施形態]
図1は、第1実施形態に係る情報処理装置の構成を示すブロック図である。
情報処理装置100は、工作機械で用いられるプログラムとしての第1NCプログラム130を生成するための装置である。情報処理装置100は、NCコード受け部101、第1変換部102、CLデータ受け部103、CLデータ解釈部104、入力受付部105、第2変換部106、コード送信部107および記憶部108を含む。プログラムは、加工(加工プログラム)、工具やワークの搬送(搬送プログラム)、計測、撮影など工作機械で用いられるプログラムが好ましい。
【0012】
NCコード受け部101は、外部から第2NCプログラム150を受け付ける。第1変換部102は、その第2NCプログラム150をCLデータ153に変換する。CLデータ受け部103がそのCLデータ153を取得し、CLデータ解釈部104がそのCLデータ153を解釈する。
【0013】
入力受付部105は、GUI画面170を介したユーザの操作入力に基づき、工作機械で実行可能なコード(実行コード)の選択を受け付ける。GUI画面170として、例えば図示の機能選択ダイアログを表示させる。この機能選択ダイアログにおいて、図示のように精度優先(1つの機能)が選択されると、精度優先に対応した実行コード(PROCMOD/FIN,G332R3などの仕上げ加工を指定するコード)の入力を受け付けたことになる。ここで、「PROCMOD/FIN」はCLデータでの実行コードの一例であり、「G332R3」はNCコードでの実行コードの一例である。
【0014】
第2変換部106は、CLデータ解釈部104によるCLデータ153の解釈をもとに、実行コードを含むCLデータ153や実行コードを含むNCプログラムに変換する。第2変換部106は、実行コードを含むCLデータ153に変換した場合は、さらに、そのCLデータ153を第1NCプログラム130に変換する。もちろん、第2変換部106は、実行コードを含むCLデータ153に変換せず、直接、実行コードを含むNCプログラムに変換する形態でもよい。記憶部108は、その第1NCプログラム130を記憶するが、外部から挿入された他のNCプログラムも記憶していてもよい。コード送信部107は、第1NCプログラム130を工作機械の数値制御装置に送信する。なお、コード送信部107がない構成でもよく、例えば、USBなどの記憶媒体にNCプログラムが出力できるような構成でもよい。
【0015】
本実施形態では、情報処理装置で説明したが、CLデータ解釈手段と工作機械で実行可能な実行コードの入力をもとに実行コードを含むNCプログラムに変換する変換手段とがあればよい。つまり、情報処理装置でなくプログラムやアプリでも実現できる。
また、本実施形態では、情報処理装置がGUI画面を備える形態で説明したが、インターネットを介して末端PCの画面にGUI画面を表示し、末端PCとは別に情報処理装置がある形態でもよい。本実施形態の情報処理装置の記憶部は、別の第2情報処理装置内に備える形態でもよい。外部に記憶部がある場合は、外部の記憶部にプログラムの取得要求を送信し、記憶部に要求されたプログラムがあれば、記憶部からプログラムが情報処理装置に送信される形態でもよい。
【0016】
図2は、変形例に係る情報処理装置の構成を示すブロック図である。
第1実施形態では、外部からNCプログラム(第2NCプログラム)のみ取得し、そのNCプログラムを逆変換して得たCLデータを解釈する構成を例示した。本変形例では、外部からNCプログラムやCLデータを取得することも可能である。すなわち、CLデータ受け部103は、外部からCLデータ145を取得できる。CLデータ解釈部104は、NCプログラムから変換されたCLデータだけでなく、外部から送信などされたCLデータ145についても解釈する。
【0017】
[第2実施形態]
図3は、第2実施形態に係る情報処理装置の構成を示すブロック図である。
情報処理装置200は、数値制御装置220で用いられるNCプログラム230(第1NCプログラム)を生成するための装置である。数値制御装置220は、工作機械210における加工を主に数値制御する装置であり、NCプログラム230を解釈するNCコード解釈部221と工作機械210に制御指令を出力する指令出力部222とを含む。
【0018】
工作機械210としては、例えば、ワークに付加加工(Additive Manufacturing)を加える機械、ワークに除去加工(Subtractive Manufacturing)を加える機械、レーザなどの光を照射して加工する機械などが挙げられる。具体的には、旋盤、ボール盤、中ぐり盤、フライス盤、歯切り盤、研削盤、多軸加工機、レーザ加工機、積層加工機等のように、NCプログラムに基づいて数値制御され、金属、木材、石材、樹脂等のワークに対して、旋削、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ、成形、微細加工、積層加工等の各種の加工を施す機械であればよい。さらに、工作機械は計測機能を有するものでもよく、タッチプローブやカメラ等の計測器を用いてワークの寸法等を計測可能に構成されたものでもよい。
【0019】
工作機械210は、例えば3軸加工機であり、機械要素として、主軸モータ211および送り軸モータ212を含む。主軸モータ211は、工具を回転させ、送り軸モータ212は、ボールねじ等を介してテーブルをX,Y軸方向に直線移動させたり、工具またはテーブルをZ軸方向に直線移動させたりする。工作機械210はもちろん5軸加工機でもよい。
【0020】
主軸モータサーボコントローラ213は、指令出力部222からの制御指令に基づいて主軸モータ211を制御する。送り軸モータサーボコントローラ214は指令出力部222からの制御指令に基づいて送り軸モータ212を制御する。
【0021】
情報処理装置200の各構成要素は、CPU(Central Processing Unit)および各種コンピュータプロセッサなどの演算器に処理命令を供給するソフトウェアによって実現される。以下に説明するコードフィルタ部やCLデータ解釈部などの各ブロックは、機能単位のブロックを示している。
情報処理装置200は、NCコード取得部201、コードフィルタ部202、第1変換部203、CLデータ解釈部204、変更受付部205、第2変換部206、コード送信部207、記憶部208および表示部209を含む。
【0022】
NCコード取得部201は、CAM装置240において生成されたNCプログラム250(第2NCプログラム)を取得する。CAM装置240は、メインプロセッサ部241とポストプロセッサ部242とを有する。メインプロセッサ部241は、CAD装置260(Computer-Aided Design)から取得した形状データに基づいてCLデータ243を生成する。ポストプロセッサ部242は、CLデータ243からNCプログラム250を生成する。
【0023】
記憶部208は、各種プログラムモジュールを格納する。情報処理装置200のプロセッサが、各種プログラムモジュールを実行することにより各部の機能を実現する。また、記憶部208は、NCコードとCLデータとの対応関係を記憶している。コードフィルタ部202は、NCプログラム250に含まれるNCコードのうち、対応するCLデータがないコード(「非対応コード」ともいう)を削除するフィルタリングを実行する。その後、後述する第1変換部203によるCLデータへの逆変換や、CLデータ解釈部204によるCLデータの解釈が実行される。本実施形態では、コードフィルタ部202と第1変換部203とが別の機能として説明しているが、第1変換部203にコードフィルタ機能が含まれる形態でもよい。例えば、第1変換部203は、NCプログラムのコードを順次CLデータに変換する処理を行う。第1変換部203は、その処理の過程で、非対応コードの順番に到達すると、非対応コードを削除する。そして、第1変換部203は、NCプログラム中の非対応コードの次のコードに到達し、次のコードが対応コードであれば、CLデータに変換する処理を行う。第1変換部203は、非対応コードが変換順番に到達すると、上述の処理を順番に到達した非対応コードごとに繰り返し行うことで、コードフィルタ機能を含む形態になる。
【0024】
NCコードとCLデータとの対応関係は、本実施形態では情報処理装置200の記憶部208に記憶されているが、情報処理装置200以外の外部に記憶されていてもよい。NCコードとCLデータとの対応関係は、予め準備されている形態が好ましい。例えば、ISO 6983-1:2009またはJIS B 6315-1:2013で機能が指定されているG00、G01、G06などは、対応するCLデータと予め関連付けることができる。また、ISO 6983-1:2009またはJIS B 6315-1:2013で機能が指定されていないG100~G999であっても、一部のGコードには、工作機械で実行可能な機能を指定し、対応するCLデータを作成し、NCコードとCLデータとを関連付けておくことができる。参考までに、JIS B 6315-1:2013で機能が指定されているコードは、G00~G04,G06,G09などがある。JIS B 6315-1:2013で機能が未指定のコードは、G100~G999などがある。さらに、JIS B 6315-1:2013でコードが割り当てられていないコードは、G1000~G1100などがある。
【0025】
なお、本実施形態のように削除するフィルタリングであれば、NCコードとCLデータとの対応関係のデータを用いないで、削除するNCコードの一覧を記憶させておき、該当コードを削除するフィルタリングを行う処理でもよい。
【0026】
第1変換部203は、フィルタリング後のNCプログラム250をAPT(Automatically Programmed Tools)で記述されたCLデータ253に逆変換する。APTとは、工作機械の数値制御用に開発されたプログラミング言語であり、製作する機械部品の形状に基づいて工具経路や加工手順を自動的に決定することができる。APTの工具経路決定機能をより精密に改良したEXAPT(extended subset of APT)を用いてもよい。通常は、ポストプロセッサでAPT→NCの変換が一般的に行われるが、第1変換部203では、NC→APTという逆変換を行う。
【0027】
また、NCプログラムをCLデータに変換する場合に、ある一定のソースごと分類して変換することが好ましい。例えば、加工と計測とを実行するNCプログラムがあるとする。第1変換部203は、加工のCLデータと、計測のCLデータと、をグループ化し、それぞれ識別できるような形でCLデータへの変換を行う。このようにすれば、GUI画面で計測箇所や計測回数の変更入力を受けた場合に、どのCLデータを変更する処理を行うのか決定するまでの時間が短縮できる。また、このようなグループ化や工程分割などを行うことにより、グループや工程の情報から使用される工作機械で最適化できるプログラムの変更オプションを提示する処理もできる。
【0028】
CLデータ解釈部204は、逆変換後のCLデータ253、つまりAPTで記述されたCLデータ(以下「APTデータ」ともいう)を解釈する。
【0029】
変更受付部205は、APTデータに対して工作機械210で実行可能な実行コードの入力を受け付ける。工作機械210で実行可能な実行コードは、工作機械210または数値制御装置220に固有の機能を実現する機能コード、仕上げ加工などの加工やカメラ撮影に計測などの特定の機能を実現する機能コード、などである。表示部209は、その実行コードの受け付けに際して後述するGUI画面を表示する。
【0030】
第2変換部206は、CLデータ253(APTデータ)を変更受付部205で受け付けた実行コードを含むNCプログラム230に変換する。このNCプログラムは、最適化処理されたプログラムとも言うことができる。コード送信部207は、NCプログラム230を数値制御装置220に送信する。
【0031】
ここで最適化処理とは、加工時間の短縮、加工精度の向上、電力やクーラントの節約、切屑の効率的な除去、工程管理の可視化による効率化、計測処理等のように、機械加工にメリットをもたらす全ての処理を含む概念である。具体的には、最適化処理として、以下に示す(1)~(4)のようなものが挙げられるが、これらに限定されない。
【0032】
(1)サーボ特性の最適化
カスタムマクロによって下記(a)~(d)のような加工モードが実装されている場合、所望の加工モードを指定することにより、加工精度や加工時間を最適化することができる。
(a)時間優先モード:加工時間の短縮を最優先するモード。荒加工など要求精度が低い場合に使用する。
(b)中間モード:時間優先モードと精度優先モードとの中間にあたるモード。高精度と短時間が要求される中仕上げ加工等に使用する。
(c)精度優先モード:加工精度の向上を優先するモード。加工精度や仕上げ面を要求される場合に使用する。
(d)精度最優先モード:精度優先モードよりも加工精度をさらに優先するモード。
【0033】
(2)サーボ特性の自動最適化
PLCによってサーボを自動調整する機能が実装されている場合、ワークや治具の質量や慣性モーメントを計測し、そのフィードバック値に基づいて最適な加減速を設定する。具体的には、ワークや治具の質量が重く、慣性モーメントが大きい場合、加減速を抑制し、安定した位置決めを実現する。一方、ワークや治具の質量が軽く、慣性モーメントが小さい場合、加減速を最大限に引き上げ、加工時間の短縮を実現する。
【0034】
(3)チップコンベアのオン/オフ制御の最適化
PLCによって切屑を排出するチップコンベヤのオン/オフ機能が実装されている場合、加工シミュレーションによって時間経過に伴う切屑の体積を算出し、その切屑の量に応じてチップコンベアのオン/オフ制御を最適化する。具体的には、非切削時や切屑の量が少ない時間帯にはチップコンベヤをオフにすることで、チップコンベヤの駆動電力が節約されるとともに、切削油の使用効率が向上する。
【0035】
(4)工程管理の最適化
CAM装置、情報処理装置、工作機械のHMIのNCビューワー間で同一加工に対して、共通の加工工程IDでタグ付けする機能が実装されている場合、以下のような機能を実現でき、工程管理が最適化される。
・後工程で変更点を表示または更新する機能
・工作機械を運転する際は変更点をハイライト表示する機能
・直前の位置決め指令で停止する機能
・送り速度や主軸回転数等の数値のみ変更されている場合は、前工程に変更点をアップデートする機能
【0036】
記憶部208は、NCコード取得部201、第1変換部203、CLデータ解釈部204、変更受付部205、第2変換部206およびコード送信部207を実現するプログラムモジュールを記憶している。また、記憶部208は、上述のNCコードとCLデータとの対応関係情報、コマンドテーブル、工作機械情報、数値制御装置情報などを記憶している。ここでコマンドテーブルは、標準化フォーマットのコマンドおよび引数と、NCコードとの対応関係を示すテーブルである。
【0037】
また、工作機械情報は、工作機械メーカや機種が異なる様々な工作機械に関する情報であり、機械原点、機種ストローク長、機械固有指令のGコード、Mコード(Mxx,Mxy)等であり、その他、以下の情報を含む場合がある。
(1)工作機械の型番
(2)オプション情報(タレット数、主軸径、サーボ、チップコンベヤの種類や有無、計測装置の種類や有無)
(3)使用可能工具種(例:ドリル、エンドミル)
(4)マガジンのポット数やポット番号
【0038】
また、最適化処理は、ISOで規定されるGコードに基づいて処理するものであってもよい。例えば、G00,G01,G02,G03のようにどのCAM装置にも共通のGコードがある(ISOで規定されている)。変更受付部205は、このようなISO準拠のGコードに基づいて最適化機能を付与する最適化処理をすることもできる。
【0039】
本実施形態のコードフィルタ部202は、非対応コードをフィルタリングして削除することとしたが、本発明はこれに限定されるものではない。ユーザが以下の2つの選択肢から選択できる構成でもよい。G・Mコードフィルタはオペレータが編集できる形態が望ましい。
選択1:そのまま出力する
選択2:G・Mコードフィルタにあるコードは削除する
【0040】
情報処理装置200は、非対応コードについて、NCプログラムから削除するか否かを設定する設定部をさらに備えてもよい。コードフィルタ部202は、設定部における設定内容に応じて、NCプログラムのフィルタリングを行ってもよい。
【0041】
図4は、NCプログラムの最適化までの処理の具体例を示す図である。
この例では、CAM装置240aのポストプロセッサ部242aから第2NCプログラム250aが出力される。第1変換部203は、コードフィルタ部に相当するコードフィルタ手段を有し、第2NCプログラム250aから非対応コード(対応するAPTデータがないコード)を削除する。図4では、M51が非対応コードに該当しているためCLデータ変換前にM51を削除している例を示している。非対応コードに該当するGコードおよびMコードについては、あらかじめコードリストに記憶されている。
【0042】
第1変換部203は、さらに、フィルタリング後のNCプログラム250aをCLデータ253(APTデータ)に逆変換する。CLデータ解釈部204は、CLデータ253に解釈結果501を付与する。なお、図4の例はあくまでも概念的に示したもので、このように日本語でデータが付加されることを意味しない。CLデータ解釈部204では、CLデータを解釈するが、処理の流れが分かり易いように、表示はNCコードのままである。
【0043】
変更受付部205は、最適化のために切削開始のコードG01の直前にG332という切削モード設定のコード502を挿入するか否かをユーザに選択させるためのGUI画面270を表示させる。GUI画面270は、例えば図示のような機能選択ダイアログとして表示させることができ、工作機械で実行可能なコードの選択を受け付け可能である。図示の機能選択ダイアログで精度優先が選択されると、G332R3(後述)の入力を受け付けたことになる。
【0044】
変更受付部205は、GUI画面270を介してユーザの選択を受け付ける。それにより、切削開始前に加工を最適化する。なお、ここでいうコードG01,G332は、NCプログラムのコードそのものであってもよいし、NCプログラムのコードに対応するCLデータのコードであってよい。
【0045】
例えば、G332は、上述した(a)~(d)の加工モード(切削モード)を選択するためのNCコードである。具体的には、NCプログラムにおいて「G332R1」「G332R2」「G332R3」「G332R4」のいずれかが、切削開始のコードG01の直前に挿入される。引数であるR1~R4はそれぞれ以下の場合に設定される。
R1:荒加工の時に設定(時間優先モード)
R2:中仕上げ加工の時に設定(中間モード)
R3:仕上げ加工の時に設定(精度優先モード)
R4:設定したい場合のみユーザが手動で設定(精度最優先モード)
【0046】
例えば、APTデータにおいて実行コードとしてOPTYPE/ROUGH(荒加工)が設定された場合には、G332R1というGコードおよび引数が挿入される。一方、APTデータにおいて実行コードとしてOPTYPE/FINISH(仕上げ加工)が設定された場合には、G332R3というGコードおよび引数が挿入される。
【0047】
この例では、NCプログラムのコードがG332R1のとき、NCプログラムのコードに対応するCLデータのコードは、OPTYPE/ROUGH(荒加工)になる。同様に、NCプログラムのコードがG332R3のとき、NCプログラムのコードに対応するCLデータのコードは、OPTYPE/FINISH(仕上げ加工)になる。
【0048】
G332は、前述したようにJISでは未指定のコードである。そのため、工作機械や数値制御装置のベンダが個々の用途で機能を指定することができる。そこで、特定の工作機械に固有の機能指定や特定の数値制御装置に固有の機能指定ができる。今回は、このG332の実行コードを含むNCプログラムを生成することにより、使用する工作機械に合わせた最適化を実現させることができる。
【0049】
情報処理装置200は、処理前のプログラムからISO 6983-1:2009またはJIS B 6315-1:2013で機能が未指定である機能コードのうちのあらかじめ設定された設定機能コードを削除または無視(コメントアウト)する処理をする。そして、処理前のプログラムに含まれる複数のコードのうちの起点になる起点コード(起点データ)を検出し、その起点コードに対応したコードを実行コード(追加コード)としてユーザに提示する。GUI画面270を介してユーザによる選択がなされれば、変更受付部205は、起点コードに対応した実行コードを追加する処理をする。
第2変換部206は、実行コードが追加される前の処理前CLデータ253(処理前CLデータ)に、その実行コードが追加された処理後CLデータ(処理後CLデータ)をもとに、NCプログラム230に変換する。
【0050】
参考までに、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参照。」と記載される。
【0051】
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に記載がないコードも含まれる。
【0052】
[変形例]
図5は、変形例1に係るNCプログラムの処理の具体例を示す図である。
本変形例では、NCプログラム250a(第2NCプログラム)を第1変換部203である変換手段で逆変換する。そして変換されたCLデータ253(APTデータ)をCLデータ解釈部204である解釈手段で解釈する。CLデータ解釈部204では、工程、コードと工程との対応、各コードの意味、起点コードなどの検出も行う。第2変換部206である変換手段では、GUI画面でユーザの選択入力に対応したコードをCLデータ解釈部204で検出された起点コードと関連する箇所に追加してNCプログラムを生成する。
【0053】
本変形例では、変更受付部205で受け付けた入力に対応したCLデータのコードを追加したCLデータを生成せず、直接、NCプログラムに変換するものである。つまり、第2変換部206は、実行コードが追加される前の処理前CLデータ253(処理前CLデータ)と、変更受付部205で受け付けた入力と、に基づいてNCプログラムを生成するものである。
【0054】
図6は、変形例2に係るNCプログラムの処理の具体例を示す図である。
第2実施形態では、NCプログラム250a(第2NCプログラム)から非対応コード(対応するAPTデータがないコード)を削除し、NCプログラム230a(第1NCプログラム)には組み込まない例を示した。
【0055】
本変形例では、NCプログラム250aにおいて非対応コードを検出した場合に、これを一旦無視(コメントアウト)する。図6では、M51が非対応コードであるため、第1変換部203では、M51の前に「//」を付してコメントアウトしている例を示している。一方、第2実施形態と同様に、変更受付部205がGUI画面270を介してユーザの選択を受け付ける。さらに、表示部209が、変更処理後のCLデータ253をNCプログラム230aに変換する際にGUI画面272を表示させる。図6では、GUI画面272が実行コード選択ダイアログであり、第1変換処理でコメントアウトされたコードが表示されている。図6の実行コード選択ダイアログには、M51、M59、G05、G22のコードが表示されており、本実施例においてはすべて非対応コードとしてコメントアウトされ無視されているものである。ユーザは、無視されたコード(無視コード)を、このGUI画面272を介して復活させることができる。
【0056】
このとき、第2変換部206は、ユーザにより無視コードが選択された場合、CLデータ253をNCプログラム230aに変換する際に、NCコード(実行コード)として無視コード(図示の例ではM51)を組み込み、NCプログラムを生成する。一方で、G05、G22、M59は選択されなかったため、復活させる入力がないため、第2変換部は、G05、G22、M59を含むNCプログラムを生成しなかった。
【0057】
図7は、変形例3に係るNCプログラムの処理の具体例を示す図である。
本変形例では、変形例2における変更受付部205の一部であるGUI画面270の表示は行わない。CLデータ解釈部204は、CLデータ253(APTデータ)を解釈して起点コードG01を検出する。第2変換部206は、その起点コードG01に対応した実行コードG332を挿入したNCプログラムを生成する。図7に示す第2変換部206は、まず、実行コードG332に対応したCLデータ(対応CLデータ)を挿入した処理後CLデータを生成する。そして、第2変換部206は、対応CLデータが挿入された処理後CLデータをもとに変換処理を行い、実行コード選択ダイアログで選択されたNCコード(図示の例ではM51)をさらに挿入して、第1NCプログラム230aを生成している。
【0058】
図8は、変形例4に係る実行コード設定画面を表す図である。
本変形例では、変更受付部205は、実行コード設定画面600を介してユーザの操作入力を受け付ける。それにより、切削開始前に加工プログラム(NCプログラム)を最適化する。実行コード設定画面600は、上部にワーク表示画面602を含み、下部に工程設定画面604を含む。
【0059】
ワーク表示画面602には、CADデータに基づくワークの形状が表示され、その形状に沿って重ねるようにfeature番号が付されている。ここでいう「feature」は加工や計測などの処理工程を表し、加工工程を特徴づける形状的特徴を含む。加工工程に対応するfeature番号に丸枠、計測工程に対応するfeature番号に四角枠が付されることで互いに識別可能に表示されている。
【0060】
工程設定画面604には、NCプログラム又はCLデータを解析した結果がfeature単位で分割して表示され、feature番号(No.)、feature内容、機能、機能アドバイザなどの各欄が設けられている。各欄に表示される項目は、ユーザによる画面上のタップやマウスのクリックなどの操作入力により任意に選択できる。
【0061】
各feature番号は処理工程の番号に対応する。「feature内容」の欄は、加工や計測などの処理の種別とその詳細を示す。「機能」の欄は、最適化処理に関する設定を示す。「機能アドバイザ」の欄は、フィルタリング機能でフィルタリングされたコードを表示する。また、そのフィルタリングされたコードのうち、該当工作機械で使用できるコードである場合には、入力支援として機能の説明とフィルタリングされたコードとを表示する。
【0062】
図8の例では、第1工程としてfeature1~8、第2工程としてfeature9~12、第3工程としてfeature13,14が設定されている。feature1は、ワークを端面右から旋削して設定された外径に加工する工程であり(feature内容)、最適化処理として「時間優先」が設定されている(機能)。feature1については、フィルタリングされたコードとしてM59が表示され、その機能の説明として「高圧チャックON」が示されている。M59は、該当工作機械で使用できるコードであるが、図示の状態ではフィルタリングされている。
【0063】
feature8は、工具収納に際して工具計測を実行する工程である(feature内容)。feature8については、フィルタリングされたコードとしてG523が表示され、その機能の説明として「画像計測」が示されている。G523も該当工作機械で使用できるコードであるが、図示の状態ではフィルタリングされている。
【0064】
feature9は、ワークを端面右から旋削して設定された内径に加工する工程であり(feature内容)、最適化処理として「時間優先」が設定されている(機能)。feature9については、フィルタリングされたコードとしてG22が表示されている。G22は、該当工作機械に対応していないコードであるため、機能の説明が表示されていない。
【0065】
「機能」の欄には、時間優先、中間および精度優先のいずれかが表示される。「時間優先」は上述した時間優先モードに対応し、「中間」は中間モードに対応し、「精度優先」は精度優先モードに対応する。なお、さらに精度最優先モードに対応する「精度最優先」を設定できるようにしてもよい。
【0066】
工程設定画面604の下方には、編集ボタン610、保存ボタン612、追加ボタン614、削除ボタン616、無効ボタン618および再構成ボタン620が設けられている。ユーザの操作入力によりfeature単位で設定内容の項目が選択された場合、これらのボタンをタップすることによりその設定内容の修正等ができる(詳細後述)。
【0067】
図9図14は、実行コード設定画面の具体的操作方法を表す図である。
なお、各図における人の手を模したマーク(指差しマーク)は、ユーザによる項目の選択を表すイメージであり、画面上に実際に表れるものではない。指差しマークに付された番号(図10等)はユーザによる選択順序を示す。ユーザが操作入力を行う際、指差しマークの位置にカーソルを表示させてもよい。
【0068】
図9に示すように、「feature内容」の欄は、左欄、中央欄および右欄の3列が設けられている。左欄には処理の概要(大枠)が表示され、中央欄には実行される処理が表示され、右欄には処理の具体的内容が表示される。
【0069】
左欄の「端面右」はワークを端面右から削ることを意味し、「端面左」はワークを端面左から削ることを意味する。ユーザが「端面右」にタッチすると「端面左」に変更される。その場合、変更されたfeatureよりも加工位置が左側にあるfeatureは「端面左」に自動的に変更される。図9の例では、ユーザのタッチによりfeature6が「端面左」に変更されたため、feature7が自動的に「端面左」に変更されている。「端面左」にタッチすると「端面右」に変更される。その場合、変更されたfeatureよりも加工位置が右側にあるfeatureは、端面右から削るように自動的に変更される。
【0070】
中央欄には、加工や計測などの処理の種別が表示され、加工処理については「旋削」や「穴あけ」などの加工種別が表示される。右欄には、加工処理に関して「外径」や「内径」などの加工箇所、「外径溝」や「内径溝」などの加工形状が表示される。計測処理に関して「溝」や「穴」などの計測対象が表示される。例えば、feature12は、特定パターンの穴あけ加工を行う工程である。feature13は、端面右に形成された溝を計測する工程である。feature14は、特定パターンで加工された穴を計測する工程である。
【0071】
「機能」の欄の項目をタッチすると、最適化処理の内容が順次切り替わる。すなわち、「時間優先」にタッチすると「中間」に表示が変更され、「中間」にタッチすると「精度優先」に表示が変更される。「精度優先」にタッチすると「時間優先」に表示が変更される。これらの表示により、ユーザはどのfeatureの最適化処理をどのように変更しているかを把握し易い。これらの設定を保存すると、その設定がNCプログラムに反映される。なお、実際には内部のCLデータが変更される。
【0072】
「機能アドバイザ」の欄では、表示されている項目をタッチすると、無効化や無視されていた機能が復活する。図9の例では、feature1の「高圧チャックON(M59)」と、feature13,14の「画像計測(G523)」が一旦はフィルタリングされたものの、ユーザのタッチによりその機能が復活している(下線および太文字参照)
【0073】
図10に示すように、個々のfeatureを直接編集することも可能である。例えば、feature8を選択し、編集ボタン610をタップすると、そのfeatureに対応するポップアップウィンドウ622が表示され、具体的なNCコードやCLデータなどが表示される。なお、図10の例では、NCコードとそのコメントが表示されている。ユーザは、そのコードを直接編集できる。本図の上側のポップアップウィンドウ(622)が編集前のコードを示し、下側のポップアップウィンドウ622が編集後のコードを示す。編集後に保存ボタン612をタップすると、その編集状態を保存できる。それにより、NCプログラムの設定は、その編集後の設定となる。
【0074】
図10に示すfeature8では、「機能アドバイザ」の欄においてフィルタリングがかかったG523の項目が表示されている。ユーザがこの項目を選択すると、図11に示すようにG523が強調表示され、そのコードが復活したことが示される。図11の例では、この強調表示を下線付き太字で示しているが、ハイライトその他の態様で示してもよい。なお、図10の例では、feature8においてコードの編集がなされ、「M33 R1」から「M33 R2」へ変更されたため、G523にあった「画面計測」との説明が図11の例では消去されている。なお、G22については該当工作機械に対応していないが、コード編集を行うことにより復活させることもできる。
【0075】
図12(A)に示すように、工程設定画面604では、feature単位(つまり工程)を上下で移動することもできる。この移動は、featureの右端にある矢印ボタンをタップすることで行うことができる。図示の例では、feature7およびfeature6を下方に移動し、feature13を上方に移動している。すなわち、featureの順番を入れ替えることができる。
【0076】
なお、第1工程や第2工程といったまとまり(複数のfeature)を移動することも可能である。その場合には、第1工程等の右端にある矢印ボタンをタップする。なお、図12(A)の例では、図10の画面と比較して、feature7とfeature6の順序が入れ替わっている。これは、feature6,7が「端面左」に切り替えられた結果、より左側に位置する端面から旋削がなされることによる。
【0077】
図12(B)に示すように、全工程の一部を折りたたんで非表示にすることもできる。図示の例では、工程設定画面604において第1工程および第2工程が折りたたまれ、第1工程のfeature2~8と、第2工程のfeature10~14が非表示とされている。この折りたたみ処理は、各工程の右側にある三角印のボタン(「折りたたみボタン」ともいう)をタップすることにより実行できる。折りたたみ処理がなされると、折りたたみボタンの三角印の向きが反転し、その表記が変化する。
【0078】
なお、第1工程におけるfeature1、第2工程におけるfeature9のように、折りたたまれる工程の中で1番目のfeatureはそのまま表示される。特に、加工の場合には、どのような加工から開始することが分かれば、その工程にどのような加工が含まれるか予測しやすいためである。折りたたみボタンを再度タップすることにより、このように折りたたまれた工程を展開して再表示させることもできる。
【0079】
図13に示すように、使用しないfeature単位を無効化することもできる。図示の例では、feature12およびfeature14を選択して無効ボタン618を選択することにより、これらの工程が無効化されている。なお、無効化後に再構成ボタン620をタップすると、無効化された工程は削除され、最適化されたfeature構成にてNCプログラムが構築される。なお、追加ボタン614をタップすることにより新たなfeatureを追加することもできる。いずれかのfeatureを選択して削除ボタン616をタップすることにより、そのfeatureを削除することもできる。
【0080】
図14に示すように、変更受付部205は、上述のような編集に基づいて新たなプログラムのfeature構成を構築する。各featureは、編集後の工程の順序であるシーケンス番号に置き換えられる。第2変換部206は、その情報をもとにNCプログラムに変換する。
【0081】
本変形例では、第1変換部203がNCプログラム250をCLデータ253(処理前CLデータ)に変換した後、CLデータ解釈部204がCLデータ253を解釈してfeatureごとに分解する。変更受付部205は、工程設定画面604(実行コード設定画面600)を表示させ、ユーザの操作入力に基づいてfeatureを編集する。第2変換部206は、そのfeatureの編集結果に基づく実行コードを含むCLデータ(処理後CLデータ)をNCプログラム230に変換する。
【0082】
他の変形例においては、CLデータではなくNCプログラムを解釈して実行コードを編集してもよい。すなわち、プログラム解釈部がNCプログラム250(処理前NCプログラム)を解釈してfeatureごとに分解してもよい。変更受付部は、工程設定画面604を表示させ、ユーザの操作入力に基づいてfeatureを編集する。プログラム変換部は、そのfeatureの編集結果に基づく実行コードを含むようNCプログラム230(処理後NCプログラム)を生成する。
【0083】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。また、本発明は、システム、装置、方法、プログラム、記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インターフェイス機器、webアプリケーション等)から構成されるシステムに適用しても良いし、また、1つの機器からなる装置に適用しても良い。
【0084】
上述の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に供給し、システムあるいは装置のコンピュータ(CPU、MPU)が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。この場合、記憶媒体から読み出されたプログラムコード自体が上述の実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は上述の装置を構成することになる。
【0085】
また、コンピュータが読み出したプログラムコードを実行することにより、上述の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(Operating System)が実際の処理の一部または全部を行い、上述の機能を実現してもよい。
【0086】
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、そのプログラムコードの指示に基づき、機能拡張ボードや機能拡張ユニットに備わるCPUが実際の処理の一部または全部を行い、上述の機能を実現してもよい。
【0087】
上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0088】
100 情報処理装置、101 NCコード受け部、102 第1変換部、103 CLデータ受け部、104 CLデータ解釈部、105 入力受付部、106 第2変換部、107 コード送信部、108 記憶部、130 第1NCプログラム、145 CLデータ、150 第2NCプログラム、153 CLデータ、170 GUI画面、200 情報処理装置、201 NCコード取得部、202 コードフィルタ部、203 第1変換部、204 CLデータ解釈部、205 変更受付部、206 第2変換部、207 コード送信部、208 記憶部、209 表示部、210 工作機械、220 数値制御装置、221 NCコード解釈部、222 指令出力部、230 NCプログラム、240 CAM装置、243 CLデータ、250 NCプログラム、253 CLデータ、260 CAD装置、270 GUI画面、272 GUI画面、501 解釈結果、502 コード、600 実行コード設定画面、602 ワーク表示画面、604 工程設定画面、610 編集ボタン、612 保存ボタン、614 追加ボタン、616 削除ボタン、618 無効ボタン、620 再構成ボタン、622 ポップアップウィンドウ。
【要約】
【課題】工作機械などの機械のパフォーマンスをより高いレベルで実現できるプログラムの生成を可能にする。
【解決手段】本発明のある態様は、工作機械で用いられる第1NCプログラムを生成する情報処理装置である。この情報処理装置は、第2NCプログラムを変換してCLデータに変換する第1変換部と、CLデータを解釈する解釈部と、工作機械で実行可能な実行コードの入力を受け付ける受付部と、CLデータの解釈をもとに、受付部で受け付けた実行コードを含む第1NCプログラムにCLデータを変換する第2変換部と、を備える。
【選択図】図4
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14